:root{color-scheme:dark;--bg:#10191e;--panel:#172329;--line:#2c3b40;--ink:#e7eade;--muted:#8c9e9d;--mint:#abd6b5;--gold:#ddbd82;font-family:Inter,'Noto Sans KR',system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:13px}button,input{font:inherit}button{cursor:pointer;color:inherit;background:none;border:1px solid var(--line);border-radius:7px;transition:.18s}button:hover{background:#2a3c3e;border-color:#729485}button:disabled{opacity:.4;cursor:not-allowed}input{background:#101c21;border:1px solid var(--line);border-radius:6px;color:var(--ink);outline:none}input:focus{border-color:var(--mint)}button:focus-visible{outline:2px solid var(--mint);outline-offset:3px}header{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:60px;padding:0 35px}.brand{font-size:29px;font-weight:850;letter-spacing:-1.8px;color:var(--mint);text-decoration:none;display:flex;align-items:center}.brand span{color:var(--ink)}.brand i{font-size:9px;font-style:normal;color:var(--muted);letter-spacing:1px;border:1px solid var(--line);border-radius:4px;padding:5px 7px;margin-left:14px;font-weight:500}nav{font-size:12px;color:#b7c4be}nav b{font-weight:400;padding:0 14px;color:#50686a}.status{margin-left:auto;display:flex;align-items:center;gap:20px;font-size:11px;color:var(--muted)}#connection{color:var(--mint)}#help-btn{width:28px;height:28px;border-radius:50%;font-weight:700}main{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;padding:24px 30px 16px;max-width:1800px;margin:auto}.game-shell{height:calc(100vh - 152px);min-height:580px;position:relative;overflow:hidden;border:1px solid #344842;border-radius:12px;background:#1b302b}.world-title{position:absolute;z-index:2;top:26px;left:26px;right:26px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.eyebrow{font-size:10px;color:var(--mint);letter-spacing:2px;font-weight:650}h1{margin:9px 0;font-size:23px;font-weight:650;letter-spacing:-1px}h1 span{font-size:11px;color:#b9c6ac;border:1px solid #72907b65;padding:4px 7px;border-radius:4px;vertical-align:middle;margin-left:8px}.coords{font:11px monospace;color:#d0d5bc;text-align:right}.coords small{display:block;font:11px system-ui;color:#a0b7a3;margin-top:7px}canvas{width:100%;height:100%;display:block;image-rendering:pixelated;touch-action:none}.vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 110px 35px #0d1b2288;background:linear-gradient(#0d1b2270,transparent 25%,transparent 70%,#0d1b2299)}.world-badge{position:absolute;top:120px;left:26px;background:#0c1b1cbb;border:1px solid #61887555;border-radius:5px;padding:8px 10px;font-size:9px;letter-spacing:1.3px;color:#bcc9b2;display:flex;gap:8px;align-items:center}.world-badge b{color:#709b83;margin-left:10px}.live-dot{width:5px;height:5px;display:inline-block;border-radius:50%;background:var(--mint);box-shadow:0 0 9px #abd6b555}.game-bottom{position:absolute;bottom:57px;left:22px;right:22px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.player-card{display:flex;gap:12px;padding:13px;background:#0e1d21e8;border:1px solid #52736666;border-radius:8px;width:204px}.avatar{width:39px;height:44px;background:#415f4e;display:grid;place-content:center;font-size:27px;color:#c6d9a8;border:1px solid #89a57855;border-radius:5px}.player-card strong{font-size:12px}.player-card small{display:block;font-size:9px;color:#8fa49b;margin:4px 0 7px}.hp{height:5px;width:120px;border-radius:3px;background:#26352e;overflow:hidden}.hp>div{background:#afc886;height:100%;transition:width .2s}#hp-text{display:block;font-size:8px;color:#acbca7;margin-top:4px}.hotbar{display:flex;gap:7px}.hotbar button{width:62px;height:76px;background:#112326ed;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid #617b6855}.hotbar button.selected{border-color:#d7bf89;background:#3f4932e8;box-shadow:0 0 0 2px #d7bf8920}.hotbar button>span{font-size:24px;color:#cfb485}.hotbar small{font-size:9px;color:#c6d2bb}.hotbar kbd{position:absolute;top:4px;left:5px;font-size:8px;background:none;border:0;color:#84947e}.save-status{font-size:9px;color:#9fb29e;background:#132326af;padding:7px;border-radius:4px}.controls{position:absolute;bottom:16px;left:25px;right:25px;display:flex;justify-content:center;gap:20px;color:#b1bfae;font-size:10px}kbd{font:9px system-ui;background:#d2dccb12;border:1px solid #a7b59f33;border-radius:3px;padding:2px 4px;color:#c5ceba;margin-right:4px}aside{display:flex;flex-direction:column;gap:14px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:19px}.panel-title{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:650}.panel-title>span:last-child{font-size:9px;color:var(--muted);font-weight:400}.tag{letter-spacing:1px}h2{font-size:25px;font-weight:600;line-height:1.45;letter-spacing:-1px;margin:19px 0 10px}.expedition h2{font-size:22px}.panel p{line-height:1.8;color:var(--muted);font-size:11px;margin:0 0 16px}.quest{display:flex;gap:10px;align-items:center;margin:16px 0}.quest i{border:1px solid #52664e;width:20px;height:20px;border-radius:50%;font:10px system-ui;font-style:normal;display:grid;place-content:center;color:var(--muted)}.quest.done i{background:var(--mint);border-color:var(--mint);color:#1a3027}.quest>div{flex:1}.quest strong{font-size:11px;font-weight:500}.quest small{color:#7f918a;font-size:10px;float:right}.quest-progress{margin-top:7px;height:2px;background:#2b3c3c}.quest-progress span{display:block;height:100%;background:var(--mint);transition:width .3s}.tip{color:#a7b49d;font-size:10px;border-top:1px solid var(--line);padding-top:14px;margin-top:18px}#inventory{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:16px}.slot{height:57px;position:relative;display:flex;align-items:center;justify-content:center;background:#101d22;border:1px solid #31413f;border-radius:5px}.slot .icon{font-size:22px}.slot .count{position:absolute;right:6px;bottom:4px;font-size:10px;color:#c7cbb7}.slot .item-name{position:absolute;left:4px;top:4px;font-size:8px;color:#78928c}.equipment{font-size:9px;color:#84988d;text-align:center;margin:12px 0}.craft-open{width:100%;padding:10px 12px;text-align:left;background:#a9c9a80b;color:var(--mint);border-color:#88bba54a;font-size:11px}.craft-open kbd{float:right}.chat{display:flex;flex-direction:column;flex:1;min-height:170px;padding-bottom:12px}#chat-log{height:100px;flex:1;overflow:auto;margin-top:14px;max-height:190px}#chat-log p{font-size:10px;margin:0 0 6px;overflow-wrap:anywhere}#chat-log b{color:var(--mint);margin-right:6px;font-weight:500}#chat-log .system{color:#728984;font-size:10px}#chat-form{display:flex;margin-top:12px;border-top:1px solid var(--line);padding-top:12px}#chat-input{width:100%;border:0;background:none;padding:3px 0;font-size:10px}#chat-form button{border:0;color:var(--mint);font-size:18px}footer{max-width:1800px;margin:auto;padding:0 32px 15px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.2px;color:#6c8380}footer b{padding:0 10px}#toast{position:absolute;top:26%;left:50%;transform:translateX(-50%) translateY(-10px);background:#101f22ee;color:var(--mint);border:1px solid #6f997a;padding:12px 22px;border-radius:7px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:5}#toast.visible{opacity:1;transform:translateX(-50%)}#target-label{position:absolute;left:50%;top:18%;transform:translateX(-50%);font-size:11px;color:#dfd5ac;pointer-events:none}.overlay{position:fixed;inset:0;background:#071519d9;backdrop-filter:blur(9px);display:flex;align-items:center;justify-content:center;z-index:20;padding:20px}.hidden{display:none!important}.dialog{position:relative;width:480px;max-width:100%;padding:36px;background:#17262b;border:1px solid #4c625a;border-radius:14px;box-shadow:0 30px 120px #0007}.dialog h2{font-size:31px;margin:14px 0}.dialog p{font-size:12px;color:var(--muted);line-height:1.9}.dialog label{display:block;font-size:11px;color:#abb8ad;margin:22px 0 9px}.dialog input:not([type=checkbox]){padding:13px 15px;width:100%;font-size:13px}.primary{background:var(--mint);color:#183329;border:0;width:100%;padding:15px;text-align:left;margin-top:12px;font-weight:700}.primary:hover{background:#c6e9c9}.primary span{float:right;font-size:18px}.welcome-dialog{border-radius:0 14px 14px 0;border-left:none;width:430px;min-height:510px}.welcome-dialog h2{font-size:39px;line-height:1.35}.welcome-dialog h2 em{font-style:normal;color:var(--mint)}.welcome-art{position:relative;width:250px;min-height:510px;border-radius:14px 0 0 14px;border:1px solid #4c625a;background:radial-gradient(ellipse at 50% 70%,#abbf7544,transparent 40%),repeating-linear-gradient(90deg,transparent 0 28px,#14262560 28px 50px),linear-gradient(160deg,#3d6955,#142d2b);overflow:hidden;display:grid;place-content:center}.welcome-art:after{content:'';position:absolute;inset:45% -30% -20%;background:repeating-linear-gradient(0deg,transparent 0 30px,#8cb07811 30px 60px);transform:rotate(-25deg)}.welcome-art>span{font-size:140px;font-weight:900;color:#c3d5a5;text-shadow:8px 8px 0 #183f35;z-index:1;font-family:monospace}.welcome-art>i{position:absolute;top:22%;left:43%;color:#d8be7f;font-size:38px;text-shadow:0 0 40px #e5c67a}.new-character{display:flex!important;align-items:center;gap:7px;font-size:10px!important;margin:16px 0!important}.new-character small{font-size:8px;color:#728b80}.welcome-meta{display:flex;justify-content:space-between;color:#718f80;font-size:9px;border-top:1px solid var(--line);padding-top:17px;margin-top:16px}.error{color:#f2a797!important;margin:6px 0 0!important}.close{position:absolute;right:17px;top:14px;border:0;font-size:25px;color:var(--muted)}.recipe{padding:15px 0;border-top:1px solid var(--line);display:flex;align-items:center;gap:15px}.recipe-icon{font-size:28px;color:var(--gold);width:36px;text-align:center}.recipe-info{flex:1}.recipe strong{font-size:12px;font-weight:600}.recipe small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.recipe .cost{font-size:10px;margin-top:7px;color:var(--gold)}.recipe button{padding:8px 14px;font-size:11px;color:var(--mint)}@media(min-width:1500px){main{grid-template-columns:minmax(0,1fr) 330px}.panel{padding:23px}.expedition h2{font-size:26px}}@media(max-height:850px) and (min-width:1000px){.expedition h2{font-size:18px;margin-top:14px}.expedition p{display:none}.quest{margin:12px 0}.panel{padding:15px}.tip{margin-top:10px;padding-top:10px}#inventory{margin-top:12px}.slot{height:48px}.game-shell{min-height:590px}}@media(max-width:1000px){header{padding:0 18px;gap:20px}nav{display:none}main{padding:16px;grid-template-columns:1fr}.game-shell{height:70vh;min-height:480px}aside{display:grid;grid-template-columns:1fr 1fr}.chat{grid-column:1/-1}.save-status{display:none}.controls{gap:10px;font-size:8px}.welcome-art{display:none}.welcome-dialog{border-left:1px solid #4c625a;border-radius:14px}footer{padding:0 18px 16px}.status{gap:10px}.game-bottom{left:12px;right:12px}.player-card{width:180px}.hotbar button{width:48px}.coords{display:none}}@media(max-width:500px){aside{grid-template-columns:1fr}.chat{grid-column:auto}.brand{font-size:25px}.brand i{display:none}.controls span:nth-child(n+3){display:none}.world-title{left:18px}.game-bottom{bottom:50px}.player-card{width:159px;padding:9px;gap:8px}.avatar{width:26px}.hp{width:98px}.hotbar{gap:4px}.hotbar button{width:43px;height:66px}footer span:last-child{display:none}}

/* Mosswood art pass — bitmap atlases, warmer daylight, room for the world. */
:root { --bg: #111b1b; --panel: #1a2727; --line: #35433d; --ink: #ecebdb; --muted: #96a69a; --mint: #bdd39b; --gold: #d9bc83; }
header { height: 68px; }
main { height: calc(100dvh - 104px); min-height: 565px; padding-top: 18px; gap: 18px; }
.game-shell { height: 100%; min-height: 0; background: #425d3e; border-color: #56644b; }
canvas:focus { outline: none; }
.vignette { box-shadow: inset 0 0 100px 8px #15271b40; background: linear-gradient(#15271b6b, transparent 24%, transparent 70%, #12211e99); }
aside { min-height: 0; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #52614b transparent; }
.world-title h1 { text-shadow: 0 2px 10px #1c2e1b; }
.world-badge { top: 113px; border-color: #91a27855; background: #1a2e21c9; }
.panel { border-color: #35433d; background: linear-gradient(135deg, #1d2c2b, #192727); }
.panel-title { color: #d9dfcc; }
.expedition h2 { color: #e0dfbd; }
.hotbar button { background: #182b24ef; width: 67px; height: 79px; }
.hotbar button.selected { background: #566043d9; border-color: #e0c891; }
.hotbar button > span { width: 43px; height: 43px; display: grid; place-items: center; }
.asset-icon { width: 40px; height: 40px; object-fit: contain; image-rendering: pixelated; pointer-events: none; }
.slot { height: 64px; background: #13211e; border-color: #405044; }
.slot .asset-icon { width: 43px; height: 43px; margin-top: 7px; }
.slot .item-name { top: 5px; left: 6px; font-size: 8px; color: #97aa8b; }
.slot .count { right: 7px; bottom: 5px; color: #e5dfc2; font-size: 11px; text-shadow: 0 1px 3px #000; }
.avatar { width: 42px; height: 52px; padding: 0; background: linear-gradient(#6c7950, #344b38); overflow: hidden; }
.avatar img { width: 42px; height: 52px; object-fit: contain; image-rendering: pixelated; }
.player-card { background: #14251de8; border-color: #9baa7366; }
.hp > div { background: linear-gradient(90deg, #96b36e, #d2cf8c); }
.recipe-icon { width: 47px; height: 47px; object-fit: contain; image-rendering: pixelated; }
.dialog { background: #1a2b27; border-color: #6d7e5c; }
.dialog input:not([type=checkbox]) { background: #13211f; }
.welcome-art { width: 290px; min-height: 535px; background: radial-gradient(ellipse at 48% 48%, #b3c06e55, transparent 65%), linear-gradient(155deg, #426e47, #1b392b 70%, #10291f); }
.welcome-art::after { inset: 0; background: linear-gradient(transparent 55%, #10271f55); transform: none; pointer-events: none; }
.welcome-sprites { position: absolute; inset: 0; width: 100%; height: 100%; image-rendering: pixelated; object-fit: cover; }
.welcome-dialog { min-height: 535px; }
.welcome-dialog h2 { color: #f0ead4; }
.welcome-dialog h2 em { color: #c4d29f; }
.welcome-dialog .eyebrow { color: #aebe89; font-size: 9px; }
#focus-btn { padding: 6px 9px; font-size: 10px; color: #c4d0b5; }
#target-label { top: auto; bottom: 162px; background: #18271fd9; border-radius: 5px; padding: 7px 11px; color: #ead7aa; }
#target-label:empty { display: none; }
#toast { top: 19%; background: #1a2d21ed; border-color: #adc18977; color: #e2e4ba; }
.focus-mode main { grid-template-columns: 1fr; }
.focus-mode aside { display: none; }
.focus-mode .game-shell { max-width: 1500px; width: 100%; margin: auto; }
footer { padding-top: 0; font-size: 8px; }
@media (max-height:850px) and (min-width:1000px) {
  .panel { padding: 14px 16px; }
  .expedition h2 { font-size: 19px; margin: 13px 0; }
  .quest { margin: 12px 0; }
  .slot { height: 56px; }
  .slot .asset-icon { width: 36px; height: 36px; }
  .inventory .equipment { margin: 9px 0; }
  .chat { min-height: 155px; }
  .tip { margin-top: 12px; }
}
@media (max-width:1000px) {
  main { height: auto; min-height: 0; }
  .game-shell { height: 70dvh; min-height: 480px; }
  aside { overflow: visible; }
  .welcome-dialog { min-height: 0; }
  .hotbar button { width: 55px; }
  .focus-mode .game-shell { height: calc(100dvh - 135px); }
}
@media (max-width:600px) {
  #focus-btn { display: none; }
  .hotbar button { width: 44px; height: 71px; }
  .hotbar .asset-icon { width: 32px; height: 32px; }
  .hotbar button > span { width: 34px; height: 34px; }
  .avatar { width: 27px; }
  .avatar img { width: 27px; }
  .welcome-dialog h2 { font-size: 33px; }
}
/* Twelve sanctuaries — expedition, party and collection */
.journey-panel{background:linear-gradient(145deg,#22382d,#172820)}.journey-count{display:flex;align-items:center;gap:20px;margin:18px 0}.journey-count>strong{font:44px Georgia;color:#e3d5ad}.journey-count strong small{font:20px Georgia;color:#809683}.journey-count>span{font-size:13px;line-height:1.8}.journey-count small{color:#93ab98;font-size:11px}.journey-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.journey-actions button{padding:10px 4px;border:1px solid #78977b38;background:#a3bd8810;font-size:11px;border-radius:6px;color:#dce6ce}.journey-actions kbd{margin-left:4px;font-size:9px}#party-mini{color:#96b49e;font-size:11px;margin-top:14px}#last-reward:empty{display:none}#last-reward{margin-top:14px;border-top:1px solid #a9bb8d22;padding-top:10px;display:grid;grid-template-columns:34px 1fr;gap:4px;color:#d7c696;font-size:11px}#last-reward>small,#last-reward>span{grid-column:1/-1;color:#9eae91}#last-reward img{width:30px;height:30px}#last-reward strong{align-self:center}.expedition-dialog{width:min(1080px,94vw)!important;max-width:1080px!important;max-height:88vh;overflow:auto;padding:30px!important;background:#17271f!important}.expedition-dialog h2{font-size:29px;margin:8px 0 12px}.expedition-dialog p{font-size:12px;line-height:1.7}.expedition-dialog .close{position:sticky;float:right;top:0;margin:-10px -8px 0 0;z-index:2;background:#253c30}.party-dialog{max-width:540px!important}.modal-intro{color:#a5b6a3;max-width:720px}.boss-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.boss-card{padding:16px;border:1px solid #b6c29525;border-radius:10px;background:radial-gradient(ellipse at 50% 30%,color-mix(in srgb,var(--boss-color) 12%,transparent),transparent 65%),#11221b}.boss-card-top{display:flex;justify-content:space-between;font:9px monospace;color:#899d88;letter-spacing:.5px}.boss-card-top .cleared{color:#a9d9a2}.boss-portrait{width:135px;height:135px;object-fit:contain;display:block;margin:8px auto;image-rendering:pixelated}.biome-name{color:var(--boss-color);font-size:10px}.boss-card h3{font-size:18px;margin:5px 0;color:#efe6cb}.boss-card .pattern-hint{color:#a8baab;font-size:11px;min-height:38px;margin:8px 0}.boss-meta{font-size:11px;color:#b7c4ad}.set-preview{display:block;color:#d4bf9b;font-size:10px;margin-top:6px}.card-actions{display:flex;gap:6px;margin-top:14px}.expedition-dialog button:not(.close){border:1px solid #b4c5a438;border-radius:5px;background:#9dbc8a15;color:#e0dfbd;padding:9px 12px;font-size:11px;cursor:pointer}.expedition-dialog button:disabled{opacity:.4;cursor:default}.expedition-dialog button:hover:not(:disabled){background:#a3c38f30}.card-actions button:first-child{flex:1}.card-actions button:last-child{padding:8px}.loadout-stats{color:#d6c598;background:#aab9850d;padding:12px;border-radius:7px;font-size:12px}.loadout{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0 20px}.loadout-slot{border:1px solid #aabc8a25;border-radius:7px;min-height:114px;padding:10px;display:flex;align-items:center;flex-direction:column;gap:5px}.loadout-slot>small{font-size:10px;color:#9eb39e}.loadout-slot img{height:40px;width:40px}.loadout-slot strong{font-size:11px;color:#ddcfac}.loadout-slot button{padding:3px 12px!important}.empty-slot{padding:24px 0;opacity:.35}.set-tabs{display:flex;gap:6px;flex-wrap:wrap}.set-tabs button.active{border-color:#c4c58b;background:#a9bc8130}.set-summary{display:flex;gap:18px;align-items:center;border-bottom:1px solid #a4b18b22;margin:15px 0}.set-boss-icon{height:112px;width:112px;object-fit:contain;image-rendering:pixelated}.set-summary h3{color:var(--boss-color);font-size:19px;margin:0 0 10px}.set-summary p{margin:2px 0;color:#7f9282}.set-summary p.bonus-active{color:#c6df9c}.set-summary small{font-size:11px;color:#c4bc9d}.gear-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gear-card{background:#0d1c1690;border:1px solid #8c9a7a30;border-radius:7px;padding:13px;display:flex;align-items:stretch;flex-direction:column;gap:6px}.gear-card.owned{border-color:#b6b98170}.gear-art{height:110px;width:110px;align-self:center;object-fit:contain;image-rendering:pixelated}.gear-card>small{font-size:10px;color:#a6b397}.gear-card h3{font-size:13px;margin:3px 0;color:#e1d2aa}.gear-card p{font-size:10px;color:#a1b4a3;min-height:34px;margin:0 0 5px}.collection-note{color:#8f9f8b;font-size:11px!important}.invite-code{background:#0f2018;border:1px dashed #96b68575;text-align:center;padding:20px;margin:12px 0 20px;border-radius:8px}.invite-code small{display:block;color:#9dac92;font-size:11px}.invite-code strong{font:32px monospace;letter-spacing:8px;color:#e4d5a5;display:block;margin-top:12px}.party-member{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #a2b28e22;font-size:13px}.party-member small{color:#a4b69e}#party-state>button{margin:16px 0}#party-create{width:100%;margin:8px 0 20px}#party-form label{display:block;color:#a2b299;font-size:11px;margin-bottom:8px}.code-row{display:flex;gap:8px}.code-row input{min-width:0;flex:1;background:#0e2018;border:1px solid #a3ba8945;color:#e9dfbd;padding:12px;border-radius:5px;letter-spacing:4px;font:18px monospace}.reward-rule{margin-top:25px;border-top:1px solid #9fb18b30;padding-top:18px}.reward-rule>b{font-size:15px;color:#d5c594}.reward-rule p{font-size:11px;color:#91a58e}.encounter-hud{position:absolute;top:92px;left:50%;transform:translateX(-50%);width:min(470px,60%);padding:12px 16px;background:#112019e8;border:1px solid #c7ca9d55;border-radius:8px;pointer-events:none;z-index:4}.encounter-hud>div:first-child{display:flex;justify-content:space-between;gap:10px;align-items:center}.encounter-hud b{font-size:14px;color:var(--boss-color)}.encounter-hud span{font-size:9px;color:#c1c9b2}.encounter-hud small{font-size:10px;color:#d0d4b8;display:block;margin-top:5px}.boss-life{height:7px;background:#080e0b;margin-top:9px;border-radius:5px;overflow:hidden}.boss-life i{display:block;height:100%;background:var(--boss-color)}#dash-btn>span{font-size:27px;color:#afd8d1}#dash-btn:disabled{opacity:.55}.hotbar{gap:5px}.hotbar button{min-width:48px}.controls{gap:12px}.hidden{display:none!important}@media(max-width:950px){.boss-grid{grid-template-columns:repeat(2,1fr)}.gear-grid{grid-template-columns:repeat(2,1fr)}.encounter-hud{top:92px;left:18px;transform:none;width:60%}}@media(max-width:560px){.boss-grid{grid-template-columns:1fr}.loadout{grid-template-columns:repeat(2,1fr)}.set-summary{align-items:flex-start}.set-boss-icon{width:70px;height:80px}.expedition-dialog{padding:18px!important}.gear-art{width:85px;height:85px}.encounter-hud{width:84%;top:82px}.encounter-hud span{display:none}}
.voyage-panel{background:linear-gradient(140deg,#17323a,#172922)}.voyage-panel>p{font-size:11px;color:#9cbdba;margin:10px 0}.voyage-panel #voyage-status{font-size:11px;line-height:1.7;margin-top:12px;color:#a0c2b6}#board-button{width:100%;margin-top:10px;padding:8px;border:1px solid #8cc0b138;background:#91c3b410;border-radius:6px;color:#d6e7d7;font-size:11px}.vehicle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.vehicle-card{padding:15px;border:1px solid color-mix(in srgb,var(--vehicle-color) 40%,transparent);border-radius:9px;background:radial-gradient(ellipse at 50% 20%,color-mix(in srgb,var(--vehicle-color) 13%,transparent),transparent 70%),#10231f;display:flex;flex-direction:column;gap:8px}.vehicle-art{width:100%;height:130px;object-fit:contain;image-rendering:pixelated}.vehicle-card h3{color:var(--vehicle-color);font-size:17px;margin:0}.vehicle-spec{font-size:12px;color:#e4dfb9}.vehicle-card>small{font-size:10px;line-height:1.6;color:#a7c0b3}.vehicle-card p{font-size:11px!important;line-height:1.7;min-height:38px;color:#adc0b2;margin:0}.vehicle-card .material{color:var(--vehicle-color)}.speed-meter{height:5px;background:#081712;border-radius:3px;overflow:hidden}.speed-meter i{display:block;height:100%;background:var(--vehicle-color)}.build-cost{margin-top:auto}.station-actions{display:flex;gap:8px;margin:16px 0;flex-wrap:wrap}.rider-list{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:13px;background:#6f9e8220;border:1px solid #94b58c30;border-radius:7px;margin:12px 0;font-size:12px}.rider-list span{color:#b5d5c0}.voyage-strip{position:absolute;bottom:140px;left:26px;display:flex;gap:10px;flex-wrap:wrap;max-width:85%;font-size:10px;pointer-events:none;z-index:3}.voyage-strip span{background:#10261fdc;border:1px solid #a5c19d38;border-radius:5px;padding:5px 9px;color:#c6d6bd}#mana-readout{color:#c6b2ee}.world-map-layout{display:grid;grid-template-columns:minmax(200px,640px) minmax(170px,1fr);gap:18px}#world-map{width:100%;height:auto;border:1px solid #99b49c50;border-radius:8px;image-rendering:pixelated;cursor:crosshair}#map-legend button{width:100%;margin:0 0 9px}#map-legend p{color:#a4b8a5}#skill-button>span{color:#c5a1ef;font-size:25px}#skill-button small{font-size:9px}.hotbar button{width:49px;min-width:44px}.encounter-hud{top:18px;width:min(430px,50%)}#toast{top:112px}.voyage-dialog{max-height:90vh}@media(max-width:1000px){.vehicle-grid{grid-template-columns:repeat(2,1fr)}.voyage-strip{bottom:145px}.world-map-layout{grid-template-columns:1fr}}@media(max-width:560px){.vehicle-grid{grid-template-columns:1fr}.voyage-strip{bottom:150px;left:12px;gap:4px;font-size:9px}.encounter-hud{top:88px;width:84%}.hotbar button{width:42px;min-width:38px}.station-actions button{flex:1}.world-map-layout{gap:10px}}
.life-heading{margin:24px 0 12px;color:#eadbb5}.life-crops,.bench-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.bench-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.life-card{display:flex;flex-direction:column;align-items:center;gap:9px;padding:18px;background:#263b30;border:1px solid #53634a;border-radius:10px}.life-card img{width:60px;height:60px}.life-card small,#life-status{font-size:11px;line-height:1.6;color:#b6c7ac}#life-status{margin-top:8px}.bench-card .vehicle-art{height:110px}.bench-card h3{font-size:14px}.bench-card small{font-size:11px}.upgrade-list{display:grid;gap:8px}.upgrade-row{display:grid;grid-template-columns:48px 1fr;gap:6px 12px;align-items:center;padding:12px;background:#263b30;border-radius:8px}.upgrade-row img{grid-row:span 3;width:44px;height:44px}.upgrade-row small{color:#b6c7ac}.upgrade-row button{justify-self:start}.mineral-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mineral-grid button{display:flex;align-items:center;text-align:left;gap:10px}.mineral-grid img{width:32px;height:32px}.food-active,.bite{color:#ffe295!important}.bite{border-color:#ffe295!important;background:#66532b!important}.voyage-panel .journey-actions{flex-wrap:wrap}.voyage-panel button{font-size:12px}#fish-button{margin-top:6px;width:100%}.set-tabs{flex-wrap:wrap}@media(max-width:720px){.bench-grid,.life-crops{grid-template-columns:repeat(2,minmax(0,1fr))}.mineral-grid{grid-template-columns:1fr}}
.refining-queue{padding:16px;margin:14px 0;background:#263b30;border:1px solid #53634a;border-radius:10px}.refining-job{display:flex;gap:12px;align-items:center;margin:8px 0}.refining-job img{width:36px;height:36px}.refining-job span{margin-left:auto;color:#eadbb5;font-size:12px}.refining-recipes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.refining-recipes .life-card{padding:12px}.refining-recipes .life-card button{width:100%}.refining-recipes .build-cost{min-height:34px}@media(max-width:720px){.refining-recipes{grid-template-columns:repeat(2,minmax(0,1fr))}}

.refinery-summary{display:flex;align-items:center;gap:20px;padding:12px 18px;border:1px solid #53634a;border-radius:10px;background:#263b30}.refinery-summary .vehicle-art{width:120px;height:100px;flex:none}.refinery-summary p{margin:6px 0}.refinery-summary button{display:block;margin-top:10px}

#world-input{width:100%;min-height:44px;padding:10px 12px;background:#202b2b;color:#e4e9dc;font:inherit;border:0;border-radius:4px}#world-input:focus-visible{outline:2px solid #b7c4a2;outline-offset:2px}.world-status{display:block;font-size:11px;line-height:1.5;color:#a4b4a4;margin:0 0 8px}.world-switch{position:fixed;left:12px;bottom:12px;z-index:15;font:inherit;font-size:11px;padding:7px 10px;border:0;border-radius:4px;background:#24312de8;color:#d8e0d2}body:has(#welcome:not(.hidden)) .world-switch{display:none}@media(max-width:640px){.world-switch{bottom:calc(148px + env(safe-area-inset-bottom));left:8px}}
