.game{max-width:1300px}.game .card{background:linear-gradient(135deg,#272a25ee,#141e20f5);border-color:#b89d6338;box-shadow:inset 0 1px #eee0bd0b}.game .resource-strip{background:linear-gradient(120deg,#292a23,#152324);border-color:#bd9e6360}.scene-shell{position:relative;overflow:hidden;border:1px solid #d4b27670;border-radius:14px;background:#293a35 url('/idle-meadow.png') center 55%/cover;margin:18px 0 26px;box-shadow:0 18px 55px #0004}.scene-shell:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 -70px 80px -35px #071511bb}.scene-shell canvas{display:block;width:100%;aspect-ratio:16/9;max-height:590px;object-fit:contain}.scene-top,.scene-bottom{position:absolute;z-index:1;left:22px;right:22px;display:flex;align-items:center;justify-content:space-between;gap:12px}.scene-top{top:14px}.scene-bottom{bottom:16px}.scene-top span,.scene-bottom p{background:#0b1a18bb;border:1px solid #d6c69c40;border-radius:5px;padding:8px 12px;color:#e8dec2;font-size:.8rem;margin:0;backdrop-filter:blur(5px)}.game .scene-shell button{background:#172821cc;border-color:#bba57788;font-size:.8rem;padding:8px 12px}.game .scene-shell button.primary{background:#d3b681;color:#17201c}.game .warband-card{border-color:#bc9a6366}.warband-stats{display:flex;flex-wrap:wrap;gap:12px 24px;padding:16px 0;border-top:1px solid #ffffff15;border-bottom:1px solid #ffffff15;color:#e1d4b8}.warband-stats strong{display:block;font:1.6rem Georgia,serif}.warband-stats span{font-size:.8rem;color:#b4bcb3}.gear-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:15px 0}.gear-actions button{text-align:left;font-size:.85rem;line-height:1.7}.boss-layout{display:grid;grid-template-columns:1fr 1fr;gap:28px}.chance-box{padding:18px;background:#0c1917;border:1px solid #a3b08c44;border-radius:8px;margin:15px 0}.chance-box strong{color:#e7ca8e;font:2rem Georgia,serif}.chance-box p{font-size:.86rem}.expedition-progress{width:100%;height:12px;accent-color:#d4b475}.battle-report{border-left:3px solid #b69b6a;padding:12px 18px;background:#ad845c0b;margin:12px 0}.battle-report.defeat{border-color:#b36556}.battle-report.victory{border-color:#8da976}.battle-report h3{color:#ecd9b4}.game .expedition-warning{color:#e5b5a4}.game dialog{max-width:540px;background:#14211f;color:#eadfc8;border:1px solid #bda36b;border-radius:12px;padding:26px}.game dialog::backdrop{background:#030c0bc9}.game #partySize{max-width:180px}.game .expedition-active{padding:22px;background:#121f1b;border:1px solid #cfb27177;border-radius:10px}.game .expedition-active h3{font:1.4rem Georgia,serif}.game #battleReports{max-height:380px;overflow:auto}.game .gathering{border-top:2px solid #c7a76f}.game .primary{box-shadow:0 3px 12px #0004}@media(max-width:760px){.scene-shell canvas{aspect-ratio:4/3;object-fit:cover}.scene-top,.scene-bottom{left:10px;right:10px;gap:8px}.scene-top{top:8px}.scene-bottom{bottom:8px}.scene-top span{font-size:.65rem}.scene-bottom p{max-width:58%;font-size:.65rem;padding:6px}.game .scene-shell button{font-size:.7rem;padding:7px}.gear-actions,.boss-layout{grid-template-columns:1fr}.gear-actions{gap:0}.scene-shell{border-radius:10px}.warband-stats{gap:12px}.game .scene-top button{margin:0}}@media(prefers-reduced-motion:reduce){.game *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.inventory-items,.skill-cards{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.inventory-items span{padding:8px 12px;border:1px solid #b9a56a40;border-radius:8px}.skill-cards article{flex:1 1 230px}.food-packing{display:grid;gap:10px;margin:16px 0}.food-packing label,.mead-packing{display:flex;align-items:flex-start;gap:10px}.food-packing input,.mead-packing input{width:auto;min-height:0;margin-top:5px}#crafting select{width:100%}#recipeLock,#tripLock{color:#e6bc7e}
.workshop-dashboard{margin:18px 0 22px;padding:22px;border:1px solid #b89d6345;border-radius:14px;background:radial-gradient(circle at 90% 0,#b58d4930,transparent 32%),linear-gradient(145deg,#1d2b26,#101a1a)}.workshop-route-head{display:flex;justify-content:space-between;gap:24px;align-items:end}.workshop-route-head h3,.workshop-dashboard>h3{margin:4px 0 8px}.workshop-route-head>strong{max-width:560px;color:#efd095;font:600 1rem/1.55 'Segoe UI',sans-serif}.workshop-steps{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr));gap:8px;margin:18px 0 28px}.workshop-step{position:relative;min-height:92px;padding:12px;border:1px solid #ffffff18;border-radius:10px;background:#0e1919}.workshop-step strong,.workshop-step small{display:block}.workshop-step strong{margin:8px 0 3px;font-size:.78rem}.workshop-step small{font-size:.68rem;color:#9ba9a2}.workshop-step.done{border-color:#8cad7955;background:#54734a16}.workshop-step.current{border-color:#e0b86f;background:#b68d4422;box-shadow:inset 0 0 0 1px #e0b86f30}.workshop-step .item-rune{font-size:1.25rem}.gear-wall{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.gear-card,.recipe-card{appearance:none;text-align:left;margin:0;padding:14px;border:1px solid #ffffff1c;border-radius:11px;background:#0d1819;color:#d8ded7;cursor:pointer}.gear-card:hover,.recipe-card:hover,.gear-card:focus-visible,.recipe-card:focus-visible{border-color:#d7b875;transform:translateY(-1px)}.gear-card.owned,.recipe-card.owned{border-color:#81a87566;background:#45633f18}.gear-card.ready,.recipe-card.ready{border-color:#d7b87588;background:#9c74351c}.gear-card.locked,.recipe-card.locked{opacity:.72}.gear-card-head{display:flex;gap:11px;align-items:center}.item-rune{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid #d4b46d66;border-radius:50%;background:#b48b3c18;color:#efd391;font:700 1.1rem Georgia}.gear-card strong,.gear-card small,.recipe-card strong,.recipe-card small{display:block}.gear-card small,.recipe-card small{margin-top:7px;color:#a9b4ad;line-height:1.45}.gear-status{color:#e8c47d!important;text-transform:uppercase;letter-spacing:.09em;font-size:.62rem!important}.recipe-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 18px}.recipe-card{padding:11px}.inventory-items{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.inventory-group{grid-column:1/-1;margin:10px 0 0;color:#d8bd83;font:600 .72rem/1.3 'Segoe UI',sans-serif;letter-spacing:.12em;text-transform:uppercase}.inventory-item{display:flex!important;align-items:center;gap:8px;background:#0d1819}.inventory-item .item-rune{width:28px;height:28px;flex-basis:28px;font-size:.8rem}
/* A compact resource bar and four focused views replace the growing page stack. */
.game{max-width:1300px;padding-top:28px}.game-heading h1{margin-bottom:6px}.game #gameNotice{min-height:0;margin:12px 0}.game #gameNotice:empty{display:none}.game .resource-strip{position:sticky;top:0;z-index:10;height:84px;box-sizing:border-box;border-radius:12px 12px 0 0;background:#15211ff5;backdrop-filter:blur(12px)}.game .resource-strip>div{padding:9px 18px;min-width:0}.game .resource-strip strong{font-size:1.5rem;line-height:1.35}.game .resource-strip small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:0}.game-navigation{position:sticky;top:84px;z-index:10;background:#101a1af5;backdrop-filter:blur(12px);border:1px solid #b89d6338;border-top:0;border-radius:0 0 12px 12px;margin-bottom:26px;scroll-margin-top:84px}.game-tabs{display:grid;grid-template-columns:repeat(4,1fr);padding:6px;gap:6px}.game .game-tabs button{margin:0;border-color:transparent;background:transparent;color:#aebbb4;padding:12px 8px;font-size:.9rem}.game .game-tabs button[aria-selected=true]{background:#bda26e20;border-color:#c2a77370;color:#f1dcad}.game .game-tabs button:focus-visible,.game a:focus-visible{outline:2px solid #edce8f;outline-offset:3px}#activitySummary{font-size:.75rem;color:#9ea99f;margin:0;padding:0 14px 10px;display:flex;gap:20px;flex-wrap:wrap}#activitySummary a{color:#d9c398}.game-panel{scroll-margin-top:180px;outline:none}.game-panel .card{margin:18px 0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-heading h2{font-size:1.8rem;margin:4px 0}.panel-heading .kicker{margin:0;font-size:.7rem}.panel-intro{color:#aebbb3;max-width:760px}.panel-heading .button{font-size:.8rem;color:#e1c58d;white-space:nowrap}.next-step{border-left:2px solid #a4b481;background:#9cad7f0c;padding:12px 16px;font-size:.88rem;color:#c8d0c0;margin:18px 0}.scene-shell{margin:18px 0}.scene-shell canvas{max-height:none;aspect-ratio:16/8;object-fit:cover}.gather-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid #ffffff18}.gather-toolbar p{margin:5px 0;font-size:.82rem;max-width:480px}.gather-toolbar button{font-size:.82rem}.settlement-columns{display:grid;grid-template-columns:1.5fr 1fr;gap:24px}.settlement-columns h2{margin-top:0}.workshop-body>.boss-layout>div{padding:0 8px}.workshop-body>.boss-layout>div+div{border-left:1px solid #ffffff18;padding-left:28px}.workshop-body details{border-top:1px solid #ffffff18;padding-top:18px;margin-top:26px}.inventory-items span{font-size:.8rem}.roster-card .warband-stats{border-top:0;padding-top:0;justify-content:space-between}.roster-card .gear-actions{margin-bottom:0}.roster-card .gear-actions button{font-size:.78rem;padding:12px;line-height:1.5;margin:0}.expedition-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:32px}.destination-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.destination-fields label{grid-column:1/-1;margin-top:12px}.destination-fields select,.destination-fields input,.destination-fields p{grid-column:1/-1}.destination-fields p{font-size:.83rem;margin:8px 0}.packing-heading{border-top:1px solid #ffffff18;padding-top:22px;margin-top:22px!important}.expedition-choices>p{font-size:.83rem}.expedition-review{border-left:1px solid #ffffff18;padding-left:26px}.expedition-review .chance-box{background:#101d19}.expedition-review #sendExpedition{width:100%;margin-right:0}.food-packing{grid-template-columns:1fr 1fr;gap:8px}.game .food-packing label{margin:0;padding:10px;background:#0e191b;border:1px solid #ffffff18;border-radius:8px;font-size:.74rem;line-height:1.5;cursor:pointer}.food-packing label:has(input:checked){border-color:#bda26e;background:#a58e5d17}.game .food-packing input{margin:4px 0 0;flex-shrink:0}.mead-packing{font-size:.83rem}#preparationEffects{color:#bccab4;line-height:1.7}#meadStock{font-size:.75rem;color:#a5b1a5}.records-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.records-columns h3{margin-top:0}.records-columns #battleReports{max-height:440px}.game #records .skill-cards{margin-bottom:0}.game .expedition-active{margin-top:0}.game .card details summary{font-size:.9rem}
@media(max-width:760px){.game{padding:20px 14px}.game-heading h1{font-size:2rem}.game .resource-strip>div{padding:10px}.game .resource-strip strong{font-size:1.35rem}.game .resource-strip span{font-size:.6rem;letter-spacing:0}.game .resource-strip small{font-size:.65rem}.game-tabs{gap:2px}.game .game-tabs button{font-size:.78rem;padding:11px 4px}#activitySummary{font-size:.68rem;gap:10px}.game-navigation{margin-bottom:20px}.panel-heading{align-items:flex-start}.panel-heading h2{font-size:1.45rem}.panel-heading .button{font-size:.72rem}.game .card{padding:18px}.gather-toolbar{display:block}.gather-toolbar button{margin-bottom:0}.settlement-columns,.records-columns,.expedition-grid{grid-template-columns:1fr;gap:0}.workshop-body>.boss-layout>div{padding:0}.workshop-body>.boss-layout>div+div{padding:22px 0 0;border-left:0;border-top:1px solid #ffffff18}.expedition-review{border-left:0;padding:22px 0 0;border-top:1px solid #ffffff18;margin-top:20px}.food-packing{grid-template-columns:1fr}.roster-card .gear-actions{gap:8px}.scene-shell canvas{aspect-ratio:4/3;object-fit:cover}.panel-heading .kicker{font-size:.6rem}}

/* Distinct silhouettes and accents make game sections easier to recognize. */
.game-tabs #tab-settlement{--tab-accent:#e7c786}.game-tabs #tab-crafting{--tab-accent:#e0a476}.game-tabs #tab-warband{--tab-accent:#a6bfac}.game-tabs #tab-records{--tab-accent:#a8bed4}.game .game-tabs button{position:relative;display:flex;justify-content:center;align-items:center;gap:10px;border:1px solid #ffffff14;background:#ffffff03;min-height:52px;transition:background .15s,border-color .15s}.game-tabs .tab-symbol{width:23px;height:23px;flex-shrink:0;color:var(--tab-accent)}.game .game-tabs button:hover:not(:disabled){background:#ffffff09;border-color:var(--tab-accent)}.game .game-tabs button[aria-selected=true]{background:#c9b37e18;border-color:var(--tab-accent);color:#f4e8cd;box-shadow:inset 0 -3px var(--tab-accent);font-weight:600}.game .game-tabs button:focus-visible{outline:2px solid var(--tab-accent);outline-offset:2px}@media(max-width:760px){.game .game-tabs button{flex-direction:column;gap:5px;min-height:64px;padding:8px 3px;font-size:.73rem}.game-tabs .tab-symbol{width:21px;height:21px}.game-panel{scroll-margin-top:200px}}
.game-tabs #tab-settlement{--tab-accent:#e7c786}.game-tabs #tab-guide{--tab-accent:#efcf95}.game-tabs #tab-crafting{--tab-accent:#e0a476}.game-tabs #tab-warband{--tab-accent:#a6bfac}.game-tabs #tab-records{--tab-accent:#a8bed4}.game .game-tabs button{position:relative;display:flex;justify-content:center;align-items:center;gap:10px;border:1px solid #ffffff14;background:#ffffff03;min-height:52px;transition:background .15s,border-color .15s}.game-tabs .tab-symbol{width:23px;height:23px;flex-shrink:0;color:var(--tab-accent)}.game .game-tabs button:hover:not(:disabled){background:#ffffff09;border-color:var(--tab-accent)}.game .game-tabs button[aria-selected=true]{background:#c9b37e18;border-color:var(--tab-accent);color:#f4e8cd;box-shadow:inset 0 -3px var(--tab-accent);font-weight:600}.game .game-tabs button:focus-visible{outline:2px solid var(--tab-accent);outline-offset:2px}@media(max-width:760px){.game .game-tabs button{flex-direction:column;gap:5px;min-height:64px;padding:8px 3px;font-size:.73rem}.game-tabs .tab-symbol{width:21px;height:21px}.game-panel{scroll-margin-top:200px}}
/* Warband actions have a visual hierarchy: purpose, cost, requirement, action. */
.crew-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.crew-heading .kicker{margin:0 0 6px;font-size:.68rem}.crew-emblem svg{width:46px;height:46px;color:#a9c3b0}.crew-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}.crew-action{display:flex;flex-direction:column;align-items:flex-start;padding:20px;border:1px solid #b6ac7d32;border-radius:12px;background:linear-gradient(145deg,#23322a,#101c1b);transition:transform .2s,border-color .2s}.crew-action:hover{border-color:#c4ab6a88;transform:translateY(-2px)}.action-symbol{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;background:#bba87513;border:1px solid #c9b57840;border-radius:12px;color:#dcb985;margin-bottom:14px}.action-symbol svg{width:27px;height:27px}.armor-card .action-symbol{color:#a9c7b4}.weapon-card .action-symbol{color:#deb093}.crew-action h3{font:1.15rem Georgia,serif}.crew-action .action-effect{font-size:.8rem;line-height:1.6;color:#b6c1b7;min-height:3.2em}.action-title{font-size:.85rem;color:#e4d8bb;line-height:1.5}.crew-action .action-cost{color:#e2c594;font-size:.82rem;border-top:1px solid #ffffff12;padding-top:12px;width:100%;line-height:1.7}.crew-action .action-reason{font-size:.78rem;line-height:1.6;color:#bdc9bf;flex:1}.game .crew-action button.primary{width:100%;margin:10px 0 4px;font-size:.84rem}.game .crew-action .text-action{border:0;background:none;box-shadow:none;color:#d6bc8b;font-size:.76rem;padding:8px 0;margin:0;text-align:left}.training-card{display:grid;grid-template-columns:54px 1fr auto;gap:18px;align-items:start;background:linear-gradient(120deg,#24342c,#162321);border:1px solid #91b29655;border-radius:12px;padding:24px;margin:20px 0}.training-card .kicker{font-size:.65rem;margin:0 0 6px}.training-card h3{font:1.25rem Georgia,serif}.training-card p{font-size:.84rem;line-height:1.6}.training-card small{font-size:.75rem;color:#aebcaf}.training-card .button{font-size:.8rem;align-self:center;white-space:nowrap}.training-meter{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.training-meter progress{width:min(330px,100%);height:10px;accent-color:#b6ce9c}.training-meter span{font-size:.75rem;color:#d4dfc9}.training-symbol{color:#bdd4a5}.game #expeditionBrief,.game #crewRoster{scroll-margin-top:200px}.readiness-hint{font-size:.83rem;line-height:1.7;border-left:2px solid #c6aa72;padding-left:12px;color:#e3cfaa}.party-picker{grid-column:1/-1;display:flex;align-items:center;gap:8px}.game .party-picker button{margin:0;min-width:38px;padding:10px}.game .party-picker #partySize{max-width:85px;text-align:center}.game .party-picker #partyAll{font-size:.77rem;margin-left:5px}.party-assignment{color:#b7cdb9}.party-figures{display:flex;flex-wrap:wrap;gap:7px;grid-column:1/-1;padding:8px 0 18px}.party-figure{position:relative;width:15px;height:25px;opacity:.2}.party-figure:before{content:'';position:absolute;left:4px;top:0;width:7px;height:7px;border-radius:50%;background:#d8c194}.party-figure:after{content:'';position:absolute;left:1px;top:9px;width:13px;height:16px;border-radius:5px 5px 2px 2px;background:#9db9a5}.party-figure.assigned{opacity:1;animation:crewJoin .28s ease-out}.game .scaling-note{font-size:.79rem;color:#c4d2bf;line-height:1.7}.game-panel{animation:panelReveal .2s ease-out}.crew-action:not(:has(button.primary:disabled)) .action-symbol{animation:readyGlow 2s ease-in-out 2}@keyframes panelReveal{from{opacity:.55;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes crewJoin{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes readyGlow{50%{box-shadow:0 0 18px #d5b57322;border-color:#d5b57399}}html[data-idle-motion=paused] .game *{animation:none!important;transition:none!important}@media(max-width:900px){.crew-actions{grid-template-columns:1fr}.crew-action .action-effect{min-height:0}.training-card{grid-template-columns:46px 1fr}.training-card .button{grid-column:2;justify-self:start}}@media(max-width:760px){.training-card{padding:18px;gap:12px}.party-picker{flex-wrap:wrap}.party-figure{width:12px}.crew-action{padding:18px}.training-card .button{white-space:normal}}

.warband-shortcuts{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.warband-shortcuts a{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #c6ad773d;border-radius:8px;background:#bd9e6910;color:#e2cfaa;font-size:.8rem;text-decoration:none}.warband-shortcuts a:hover{background:#bd9e6924}.warband-shortcuts span{font-size:1.15rem;color:#e5bd77}#warbandTraining{scroll-margin-top:200px}
.camp-roster-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:16px 0}.game .camp-roster-card{display:grid;grid-template-columns:1fr auto;gap:4px;padding:13px 14px;margin:0;text-align:left;border-color:#b9a36b44;background:linear-gradient(145deg,#1d3028,#10201d)}.camp-roster-card span{color:#cad8c9}.camp-roster-card strong{color:#edcf91}.camp-roster-card small{grid-column:1/-1;color:#92a99a}
/* Confirmed action feedback: bounded, non-blocking, and motion-preference aware. */
.action-feedback{position:fixed;z-index:100;bottom:24px;right:24px;display:flex;align-items:center;gap:14px;width:min(420px,calc(100vw - 32px));box-sizing:border-box;padding:16px 18px;border:1px solid #b99a59;border-radius:14px;background:linear-gradient(120deg,#253d32,#10201e);color:#f5dba1;box-shadow:0 12px 45px #0009;pointer-events:none;animation:actionArrive .3s ease-out}
.action-feedback[hidden]{display:none}.action-feedback strong,.action-feedback span{display:block}.action-feedback strong{font:700 19px Georgia,serif;margin-bottom:6px}.action-feedback span{font-size:14px;line-height:1.4;color:#d0ddd5}.action-feedback button{pointer-events:auto;align-self:flex-start;border:0;background:transparent;color:#d0ddd5;padding:6px;font-size:24px;line-height:1;min-width:36px}.action-art{position:relative;flex:0 0 68px;height:68px;overflow:hidden;border-radius:12px;background:#ffffff08}.action-art svg{width:64px;height:64px;overflow:visible}.arrival-viking{animation:vikingArrives 1.6s ease-out both}.step-left{transform-origin:29px 43px;animation:arrivalStep .24s alternate 6}.step-right{transform-origin:35px 43px;animation:arrivalStep .24s alternate-reverse 6}.working-hammer{transform-origin:31px 45px;animation:forgeStrike .4s ease-in-out 3}.action-art i{position:absolute;left:32px;top:43px;width:4px;height:4px;background:#efd38f;border-radius:50%;animation:actionSpark 1s ease-out 2}.action-art i:nth-of-type(2){--drift:22px;animation-delay:.12s}.action-art i:nth-of-type(3){--drift:-22px;animation-delay:.24s}.recruit .action-art i,.depart .action-art i,.defeat .action-art i{display:none}.defeat{border-color:#ad8279;background:linear-gradient(120deg,#3c2b2b,#201c1d);color:#dfbbb0}.action-confirmed{animation:confirmedGlow 1s ease-out!important}
@keyframes actionArrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes vikingArrives{from{transform:translateX(-45px)}to{transform:translateX(0)}}
@keyframes arrivalStep{from{transform:rotate(-18deg)}to{transform:rotate(18deg)}}
@keyframes forgeStrike{0%,100%{transform:rotate(0)}50%{transform:rotate(-35deg)}}
@keyframes actionSpark{from{opacity:1;transform:translate(0,0)}to{opacity:0;transform:translate(var(--drift,10px),-32px)}}
@keyframes confirmedGlow{0%,100%{box-shadow:0 0 0 0 transparent}30%{box-shadow:0 0 0 2px #d9ba77,0 0 26px #d9ba7735}}
@media(max-width:600px){.action-feedback{bottom:12px;right:16px;padding:12px;gap:10px}.action-feedback strong{font-size:17px}.action-art{flex-basis:58px}.action-art svg{width:58px}}
@media(prefers-reduced-motion:reduce){.action-feedback,.action-feedback *,.action-confirmed{animation:none!important;transition:none!important}}
html[data-idle-motion=paused] .action-feedback,html[data-idle-motion=paused] .action-feedback *,html[data-idle-motion=paused] .action-confirmed{animation:none!important;transition:none!important}
.hunting-card{border-color:#9b8651!important;background:linear-gradient(130deg,#20382e,#142320)!important}.hunting-card canvas{display:block;width:100%;height:auto;border:1px solid #798563;border-radius:12px;touch-action:none;cursor:crosshair;background:#1c3028}.hunting-card canvas:focus-visible{outline:3px solid #edd39a;outline-offset:3px}.hunt-meter{display:flex;align-items:center;gap:12px;margin:16px 0;flex-wrap:wrap}.hunt-meter progress{flex:1;min-width:120px;accent-color:#dcb96e;height:18px}.hunt-meter span{font-size:13px;color:#cfccac}#huntHud{color:#efd797;font-weight:700}#huntStatus{min-height:1.5em;color:#e6d7b5}.hunting-card .panel-heading{gap:16px;flex-wrap:wrap}
.independence-notice{margin-top:32px;font-size:13px;line-height:1.6;color:#bfc9c4}.independence-notice h2{font-size:18px}
/* A shared game stage, activity rail, and tools beneath the map. */
.game{max-width:1580px}.game #gameWorkspace{display:grid;grid-template-columns:minmax(0,1fr) 260px;grid-template-areas:"stage rail" "panels panels";gap:20px;align-items:start;scroll-margin-top:95px}.workspace-stage{grid-area:stage;min-width:0;overflow:hidden;border-radius:14px;background:#172c24}.workspace-stage .scene-shell{margin:0;border-radius:14px}.workspace-stage .scene-shell canvas{aspect-ratio:16/9;max-height:none;object-fit:contain}.workspace-stage>#huntCanvas{display:block;width:100%;height:auto;aspect-ratio:2/1;touch-action:none;cursor:crosshair;border:1px solid #ac9b69;border-radius:14px}.workspace-stage>[hidden]{display:none!important}.game .workspace-sidebar{grid-area:rail;position:static;margin:0;padding:18px;border:1px solid #b89d6338;border-radius:14px;background:linear-gradient(160deg,#23312b,#101c1b)}.workspace-sidebar>.kicker{margin-bottom:12px}.workspace-sidebar .game-tabs{display:flex;flex-direction:column;padding:0;gap:6px}.game .workspace-sidebar .game-tabs button{display:grid;grid-template-columns:28px 1fr;column-gap:10px;row-gap:0;text-align:left;min-height:64px;padding:10px 12px;align-items:center}.workspace-sidebar .game-tabs .tab-symbol{grid-row:span 2;width:24px;height:24px}.workspace-sidebar .game-tabs small{grid-column:2;font:400 11px/1.4 'Segoe UI',sans-serif;color:#aeb9b1}.workspace-sidebar #activitySummary{padding:16px 0;margin-top:12px;border-top:1px solid #ffffff12}.workspace-guide{border-top:1px solid #ffffff12;padding-top:16px}.workspace-guide #progressionNext{font-size:12px;line-height:1.65;color:#c3ccb9;margin:0}.workspace-panels{grid-area:panels;min-width:0;border-top:1px solid #b89d6338;padding-top:18px}.workspace-panels>.game-panel{animation:none;scroll-margin-top:100px}.workspace-panels #hunting{margin:0}.workspace-panels .panel-heading{margin-bottom:12px}.workspace-panels #settlement>.panel-heading .kicker{display:none}.workspace-panels #settlement>.panel-heading h2{font-size:1.5rem}.workspace-panels #settlement>.panel-heading a{font-size:.8rem}.game .resource-strip{border-radius:12px;margin-bottom:18px}.game #hunting .hunt-meter{max-width:760px}.game #tab-hunting{--tab-accent:#c3c889}.workspace-stage #huntCanvas:focus-visible{outline:3px solid #efd49c;outline-offset:-4px}
@media(max-width:1050px){.game #gameWorkspace{grid-template-columns:minmax(0,1fr) 220px;gap:14px}.game .workspace-sidebar{padding:12px}}
@media(max-width:800px){.game #gameWorkspace{grid-template-columns:minmax(0,1fr);grid-template-areas:"rail" "stage" "panels"}.game .workspace-sidebar{padding:8px}.workspace-sidebar>.kicker,.workspace-sidebar .game-tabs small{display:none}.workspace-sidebar .game-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px}.game .workspace-sidebar .game-tabs button{display:flex;flex-direction:column;justify-content:center;text-align:center;min-height:62px;padding:6px 2px;font-size:.67rem;gap:5px}.workspace-sidebar #activitySummary{margin:4px 0 0;padding:6px;font-size:.7rem;border:0}.workspace-stage .scene-top,.workspace-stage .scene-bottom{left:8px;right:8px}.workspace-stage .scene-shell canvas{aspect-ratio:16/9}.workspace-panels{padding-top:12px}.game{padding-left:14px;padding-right:14px}}
/* Keep the activity rail reachable while browsing the tools below the map. */
@media(min-width:801px){.game #gameWorkspace{grid-template-areas:"stage rail" "panels rail"}.game .workspace-sidebar{position:sticky;top:102px}.workspace-panels .crew-actions{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.workspace-panels .training-card{grid-template-columns:46px 1fr}.workspace-panels .training-card>.button{grid-column:2;justify-self:start}}
.workspace-stage>#battleCanvas{display:block;width:100%;height:auto;aspect-ratio:9/5;touch-action:none;outline-offset:-4px}.battle-controls{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.battle-controls button{touch-action:none;user-select:none;min-width:44px;margin:0!important}.battle-controls button:active{background:#b49864!important}#battleHud{color:#e5cf99}#battleStatus{min-height:2em}.game #tab-battles{--tab-accent:#d6ac91}@media(max-width:800px){.workspace-sidebar .game-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.game .workspace-sidebar .game-tabs button{min-height:50px}}
.battle-surface #battleCanvas{display:block;width:100%;height:auto;aspect-ratio:9/5;touch-action:none;outline-offset:-4px}.battle-surface .battle-controls{padding:10px;margin:0;background:#12271f;justify-content:center}.game .battle-surface .battle-controls button{padding:9px 12px;font-size:12px;min-height:40px}@media(max-width:800px){.game .battle-surface .battle-controls button{padding:8px;min-width:38px;font-size:11px}.battle-surface .battle-controls{gap:5px}}

/* The current objective is a primary wayfinding element, not secondary helper text. */
.workspace-guide{display:block;width:100%;position:relative;margin-top:14px;padding:16px 15px 15px 18px;overflow:hidden;border:1px solid #d9b86f8c;border-left:4px solid #e8c878;border-radius:10px;background:radial-gradient(circle at 100% 0,#e1ba6330,transparent 48%),linear-gradient(145deg,#2b3025,#17231f);box-shadow:0 8px 24px #0003,inset 0 1px #fff1;text-align:left;font:inherit;cursor:pointer;transition:border-color .18s,transform .18s,box-shadow .18s}.workspace-guide:hover,.workspace-guide:focus-visible{border-color:#f0cf86;transform:translateY(-1px);box-shadow:0 11px 28px #0005,0 0 0 2px #f0cf8638}.workspace-guide:before{content:'\2192';position:absolute;right:12px;top:8px;color:#efd18c99;font:700 32px/1 Georgia,serif}.workspace-guide .kicker{display:block;position:relative;margin:0 34px 8px 0;color:#f1cf84;font-size:10px;letter-spacing:.14em}.workspace-guide #progressionNext{display:block;position:relative;margin:0;color:#f3ead5;font-size:13px;font-weight:600;line-height:1.6}.workspace-guide #progressionNext:before{content:'CURRENT OBJECTIVE';display:block;margin-bottom:4px;color:#b8c3b9;font-size:9px;font-weight:700;letter-spacing:.12em}.next-step-focus{animation:next-step-focus 2.5s ease-out;position:relative;z-index:3}@keyframes next-step-focus{0%,24%{outline:4px solid #f4d27d;outline-offset:5px;box-shadow:0 0 0 10px #f4d27d38,0 0 30px #f4d27d99}100%{outline:1px solid transparent;outline-offset:10px;box-shadow:none}}
@media(max-width:800px){.workspace-guide{margin:8px 2px 2px;padding:11px 42px 11px 14px;border-left-width:3px}.workspace-guide .kicker{margin-bottom:4px;font-size:9px}.workspace-guide #progressionNext{font-size:11px;line-height:1.45}.workspace-guide #progressionNext:before{display:none}.workspace-guide:before{right:12px;top:50%;transform:translateY(-50%);font-size:26px}}

/* A visible combat path explains why active fights matter and what comes next. */
.battle-purpose{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,.7fr);gap:22px;align-items:stretch;margin-bottom:20px}.battle-purpose h2{margin:4px 0 10px}.battle-purpose p{margin-bottom:0}.battle-selected{display:flex;flex-direction:column;justify-content:center;gap:7px;padding:18px;border:1px solid #d0ad6b88;border-radius:12px;background:radial-gradient(circle at 85% 15%,#bd7a5940,transparent 48%),#101d19;box-shadow:inset 0 1px #fff1,0 10px 30px #0003}.battle-selected>span{font-size:.65rem;letter-spacing:.18em;color:#d4b47d}.battle-selected>strong{font:1.25rem Georgia,serif;color:#f2ddb0}.game .battle-start-cta{width:100%;margin:5px 0 0;padding:15px 18px;font-size:1rem;background:linear-gradient(135deg,#e0bd78,#bb7a55);color:#12201c;border-color:#f0d49b;box-shadow:0 7px 22px #0006}.game .battle-start-cta:not(:disabled):hover{transform:translateY(-1px);filter:brightness(1.07)}.battle-selected small{color:#aebcaf}.battle-path{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:18px 0 22px}.battle-biome{padding:14px;border:1px solid #ffffff18;border-radius:10px;background:#0d1918}.battle-biome h3{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px;font-size:.95rem}.battle-biome h3 span{font:600 .62rem sans-serif;letter-spacing:.12em;color:#9fad9e}.battle-encounters{display:grid;gap:7px}.game .battle-choice{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:9px;width:100%;margin:0;padding:9px;text-align:left;border-color:#ffffff16;background:#17231f;color:#c5cec2}.game .battle-choice:not(:disabled):hover{border-color:#c7a96d88;background:#1c2b25}.game .battle-choice[aria-pressed=true]{border-color:#d0ae70;background:#aa895d20;color:#f1ddb0}.battle-choice .battle-mark{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#ffffff0c;color:#91a394}.battle-choice.won .battle-mark{background:#83a1692b;color:#b9d39d}.battle-choice small{font-size:.62rem;color:#9daaa0}.battle-choice:disabled{opacity:.45;cursor:not-allowed}.battle-biome.locked{opacity:.64}#battleTip{padding:12px 14px;border-left:3px solid #c09b62;background:#b78c5610;color:#bdc8bb}
@media(max-width:800px){.battle-purpose{grid-template-columns:1fr}.battle-path{grid-template-columns:1fr}.battle-selected{padding:14px}.game .battle-start-cta{padding:13px}.battle-biome{padding:11px}.battle-encounters{grid-template-columns:repeat(3,minmax(0,1fr))}.game .battle-choice{grid-template-columns:22px 1fr;padding:7px;font-size:.68rem}.battle-choice small{grid-column:2}.battle-choice .battle-mark{width:20px;height:20px}}
@media(max-width:460px){.battle-encounters{grid-template-columns:1fr}.game .battle-choice{grid-template-columns:24px 1fr auto}.battle-choice small{grid-column:auto}}

/* The guide translates Valheim's survival loop into this game's progression. */
.beginner-guide{color:#c5cec5}.guide-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,.75fr);gap:24px;align-items:center;padding:26px;border:1px solid #d4b47b55;border-radius:14px;background:linear-gradient(125deg,#2b352b,#142420)}.guide-hero h2{margin:5px 0 10px;font-size:2rem;color:#f0dfbc}.guide-hero p{max-width:790px;margin:0;line-height:1.75}.guide-principle{display:grid;gap:7px;padding:18px;border-left:3px solid #d2b577;background:#0d1b18}.guide-principle strong{font:400 1.15rem/1.3 Georgia,serif;color:#f1dcae}.guide-principle span{font-size:.82rem;line-height:1.65}.guide-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0;padding:0;list-style:none}.guide-steps li{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:18px;border:1px solid #ffffff18;border-radius:10px;background:#0e1b19}.guide-steps li>span{display:grid;place-items:center;width:34px;height:34px;border:1px solid #c8aa6d;border-radius:50%;font:700 .8rem/1 'Segoe UI',sans-serif;color:#ebd6aa;background:#af92551c}.guide-steps h3{margin:0 0 6px;font-size:1rem;color:#e7d9bb}.guide-steps p{margin:0;font-size:.82rem;line-height:1.65}.guide-steps a,.guide-columns a{color:#e0c486}.guide-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.guide-columns .card{margin:0}.guide-columns h3{margin-top:0}.guide-columns p{font-size:.84rem;line-height:1.7}.guide-glossary{display:grid;gap:10px;margin:0}.guide-glossary div{display:grid;grid-template-columns:100px 1fr;gap:12px;padding-top:10px;border-top:1px solid #ffffff12}.guide-glossary div:first-child{padding-top:0;border:0}.guide-glossary dt{font-weight:700;color:#e6cf9e}.guide-glossary dd{margin:0;font-size:.8rem;line-height:1.55}@media(max-width:800px){.guide-hero,.guide-steps,.guide-columns{grid-template-columns:1fr}.guide-hero{padding:20px}.guide-hero h2{font-size:1.6rem}.guide-steps{gap:9px}.guide-steps li{padding:14px}.guide-glossary div{grid-template-columns:82px 1fr}}
.game #gameWorkspace[data-section="guide"],.game #gameWorkspace[data-section="inventory"]{grid-template-areas:"panels rail"}.game #gameWorkspace[data-section="guide"] .workspace-panels,.game #gameWorkspace[data-section="inventory"] .workspace-panels{padding-top:0;border-top:0}@media(max-width:800px){.game #gameWorkspace[data-section="guide"],.game #gameWorkspace[data-section="inventory"]{grid-template-areas:"rail" "panels"}}
@media(max-width:760px){.workshop-route-head{display:block}.workshop-route-head>strong{display:block;margin-top:12px}.workshop-steps{display:flex;overflow-x:auto;padding-bottom:8px}.workshop-step{flex:0 0 135px}.gear-wall,.recipe-gallery,.inventory-items{grid-template-columns:1fr 1fr}}
.workshop-dashboard{box-sizing:border-box;min-width:0;max-width:100%;overflow:hidden}.workshop-steps{max-width:100%;min-width:0}.gear-card,.recipe-card,.gear-card-head,.gear-card-head>span{min-width:0}.gear-card strong,.recipe-card strong{overflow-wrap:anywhere}@media(min-width:761px) and (max-width:1100px){.workshop-steps{grid-template-columns:repeat(4,minmax(0,1fr))}.gear-wall{grid-template-columns:repeat(3,minmax(0,1fr))}}
#crafting,.workshop-body,.workshop-body>.boss-layout,.workshop-body>.boss-layout>div{box-sizing:border-box;min-width:0;max-width:100%}@media(max-width:760px){#crafting{overflow-x:hidden}.workshop-dashboard{padding:18px}.gear-wall,.recipe-gallery{grid-template-columns:1fr}.inventory-items{grid-template-columns:1fr 1fr}}

/* Shared Meadows world: a readable atlas now, and a stable spatial foundation for future PvP. */
.world-legend .water{background:#486f72}
.world-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(230px,.65fr);gap:22px;align-items:center;padding:26px;margin-bottom:18px;border:1px solid #c9b4744d;border-radius:14px;background:radial-gradient(circle at 82% 20%,#aac68220,transparent 38%),linear-gradient(125deg,#2c412f,#13241f)}.world-hero h2{margin:4px 0 10px;color:#f0dfb9}.world-hero p{margin:0;line-height:1.7}.world-rule{display:grid;gap:7px;padding:17px;border-left:3px solid #d1b46e;background:#0d1d19}.world-rule strong{font:1.08rem Georgia,serif;color:#f1d9a8}.world-rule span{font-size:.8rem;line-height:1.6}.world-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:start}.world-map-card{min-width:0;overflow:hidden;border:1px solid #a9935b66;border-radius:14px;background:#13251f;box-shadow:0 14px 40px #0004}.world-map-card canvas{display:block;width:100%;height:auto;aspect-ratio:5/3;cursor:crosshair;touch-action:none}.world-map-card canvas:focus-visible{outline:3px solid #f1d99a;outline-offset:-4px}.world-legend{display:flex;gap:18px;flex-wrap:wrap;padding:12px 16px;background:#10211d;color:#c7d1c6;font-size:.73rem}.world-legend span{display:flex;align-items:center;gap:7px}.world-legend i{width:12px;height:12px;border-radius:3px;border:1px solid #eee5c6}.world-legend .own{background:#f1cb77}.world-legend .other{background:#b9d5bb}.world-legend .open{background:#849667}.world-choice{margin:0!important;position:sticky;top:102px}.world-choice h3{color:#ead7ad}.world-choice hr{border:0;border-top:1px solid #ffffff16;margin:20px 0}.game #tab-world{--tab-accent:#91bb83}.game #gameWorkspace[data-section="world"]{grid-template-areas:"panels rail"}.game #gameWorkspace[data-section="world"] .workspace-panels{padding-top:0;border-top:0}@media(max-width:900px){.world-layout,.world-hero{grid-template-columns:1fr}.world-choice{position:static}}@media(max-width:800px){.game #gameWorkspace[data-section="world"]{grid-template-areas:"rail" "panels"}.world-hero{padding:18px}.world-map-card{border-radius:9px}.world-legend{gap:10px}}

/* First-session coachmark disappears after the first successful manual gather. */
.game button.first-step{position:relative;background:#efc66f;color:#152018;border-color:#fff0bd;box-shadow:0 0 0 4px #efc66f35,0 8px 28px #0008;font-weight:800;letter-spacing:.035em;animation:first-step-pulse 1.6s ease-in-out infinite}.game button.first-step:after{content:'→';display:inline-block;margin-left:9px;font-size:1.15em}.scene-bottom #sceneCaption{max-width:520px}@keyframes first-step-pulse{50%{transform:translateY(-2px);box-shadow:0 0 0 8px #efc66f18,0 10px 32px #0009}}@media(prefers-reduced-motion:reduce){.game button.first-step{animation:none}}

/* Gathering trips have their own destination-focused workspace. */
.game #tab-gathering{--tab-accent:#91b89b}.gathering-panel{max-width:980px}.gathering-trip-card{position:relative;max-width:760px;padding:26px!important;border-color:#91b89b66!important;background:radial-gradient(circle at 100% 0,#91b89b1e,transparent 40%),linear-gradient(145deg,#1d3028,#101d1a)!important}.gathering-trip-copy{display:flex;align-items:center;gap:15px;margin-bottom:22px}.gathering-trip-copy h3,.gathering-trip-copy p{margin:0}.gathering-trip-copy p{margin-top:5px;color:#aebbb3;font-size:.86rem}.gathering-rune{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border:1px solid #b7cf9f77;border-radius:50%;background:#8faf7220;color:#dce8b7;font:700 1.45rem Georgia,serif}.gathering-trip-card select{width:100%;max-width:620px}.gathering-trip-card #tripDetails{max-width:680px;color:#d4ddd1;line-height:1.65}.gathering-trip-card #tripLock{color:#e6bc7e;font-weight:600}.gathering-trip-active{margin-top:20px;padding:16px 18px;border:1px solid #d1b46b55;border-radius:10px;background:#0c1816}.gathering-trip-active #tripTime{color:#ead8ad;font-weight:600}@media(max-width:800px){.gathering-trip-card{padding:18px!important}.gathering-trip-copy{align-items:flex-start}.gathering-rune{flex-basis:42px;width:42px;height:42px}}
.gathering-party-picker{display:grid;grid-template-columns:48px minmax(80px,120px) 48px auto;align-items:center;gap:8px;max-width:500px}.game .gathering-party-picker button,.gathering-party-picker input{margin:0;height:48px}.game .gathering-party-picker button{padding:8px 12px}.gathering-party-picker input{text-align:center}.gathering-party-picker.is-empty{opacity:.45;filter:saturate(.35)}.gathering-party-picker.is-empty button,.gathering-party-picker.is-empty input{cursor:not-allowed}.gathering-empty{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:680px;margin:12px 0 16px;padding:16px 18px;border:1px solid #d5b66d80;border-left:4px solid #e4c273;border-radius:10px;background:linear-gradient(135deg,#2c3026,#14231f);box-shadow:0 9px 24px #0003}.gathering-empty[hidden]{display:none}.gathering-empty div{display:grid;gap:5px}.gathering-empty strong{color:#f0d498}.gathering-empty span{color:#c5cec5;font-size:.78rem;line-height:1.5}.game .gathering-empty button{flex:0 0 auto;margin:0;background:#b77552;color:#fff3dd;border-color:#d9a47d}.gathering-risk{max-width:680px;padding:12px 14px;border-left:3px solid #d7b568;background:#d7b5680d;color:#e3d2a9;line-height:1.55}.gathering-report{max-width:760px;margin-top:16px!important;border-color:#b48e6655!important;background:linear-gradient(145deg,#2b2c24,#14201d)!important}.gathering-report h3{margin-top:4px}.gathering-report #tripCasualties p{margin:7px 0;color:#e2b2a3}.gathering-report #tripLoot{color:#c9d9c7;font-weight:650}@media(max-width:560px){.gathering-party-picker{grid-template-columns:44px minmax(70px,1fr) 44px}.gathering-party-picker #gatherPartyAll{grid-column:1/-1}.game .gathering-party-picker button,.gathering-party-picker input{height:44px}.gathering-empty{display:block}.game .gathering-empty button{width:100%;margin-top:12px}}

/* Hunting v2: cinematic stage, clearer feedback, and a more tactile field-kit panel. */
.workspace-stage>#huntCanvas{border-color:#d2b77299;box-shadow:inset 0 0 0 1px #fff1,0 18px 50px #0006;background:#102019}.game #gameWorkspace[data-section="hunting"] .workspace-stage{box-shadow:0 0 0 1px #d2b77240,0 18px 60px #0006}.hunting-card{position:relative;overflow:hidden;background:radial-gradient(circle at 92% 0,#d9b96d1c,transparent 36%),linear-gradient(135deg,#20352d,#101c1a)!important}.hunting-card:before{content:'ᚢ';position:absolute;right:24px;bottom:-24px;color:#dabb6a0c;font:160px/1 Georgia;pointer-events:none}.hunt-meter{position:relative}.hunt-meter progress{height:22px;accent-color:#e0bd70;filter:drop-shadow(0 2px 7px #0006)}#huntHud{padding:10px 13px;border-left:3px solid #d7b86f;background:#0b171477;color:#f0d79b}#huntStatus{font-weight:600;color:#ece0c1}

/* Passive production coachmark. */
.production-callout{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:18px 0 6px;padding:18px 20px;border:1px solid #d5b66d80;border-left:4px solid #e4c273;border-radius:12px;background:radial-gradient(circle at 0 50%,#d4ad5224,transparent 42%),linear-gradient(135deg,#242d25,#14221f);box-shadow:0 10px 26px #0003}.production-callout>div{display:flex;align-items:center;gap:16px}.production-callout-rune{display:grid;place-items:center;flex:0 0 48px;height:48px;border:1px solid #d4b66b66;border-radius:50%;color:#efd18b;background:#0e1a17;font:700 25px/1 Georgia,serif}.production-callout .kicker{margin:0 0 4px;color:#edca7d;font-size:10px;letter-spacing:.16em}.production-callout h3{margin:0 0 5px;color:#f4ead6;font:600 18px/1.3 Georgia,serif}.production-callout p:last-child{max-width:690px;margin:0;color:#bdc8bd;font-size:13px;line-height:1.55}.production-callout .button{flex:0 0 auto;white-space:nowrap;color:#f0d49c}#productionBuildings{scroll-margin-top:105px}@media(max-width:760px){.production-callout{display:block;padding:16px}.production-callout>div{align-items:flex-start}.production-callout-rune{flex-basis:40px;height:40px}.production-callout .button{display:block;margin:14px 0 0;text-align:center}.production-callout h3{font-size:16px}}

/* Mobile battle controller: desktop retains the existing keyboard and mouse inputs. */
.battle-dpad,.battle-actions{display:contents}.dpad-center{display:none}@media (max-width:800px), (hover:none) and (pointer:coarse){.battle-surface .battle-controls{display:grid;grid-template-columns:minmax(164px,190px) minmax(164px,1fr);align-items:center;gap:14px;padding:14px;background:linear-gradient(180deg,#10231e,#0a1715);border-top:1px solid #c7ad6d55}.battle-dpad{display:grid;grid-template-columns:repeat(3,52px);grid-template-rows:repeat(3,52px);gap:4px;justify-content:center}.battle-dpad .dpad-up{grid-area:1/2}.battle-dpad .dpad-left{grid-area:2/1}.battle-dpad .dpad-center{display:grid;grid-area:2/2;place-items:center;border:1px solid #9c89564d;border-radius:13px;background:#071310;color:#d6b97166;font:700 19px Georgia,serif}.battle-dpad .dpad-right{grid-area:2/3}.battle-dpad .dpad-down{grid-area:3/2}.game .battle-surface .battle-dpad button{width:52px;height:52px;min-width:52px;min-height:52px;padding:0;border-radius:13px;background:linear-gradient(145deg,#263d37,#12231f);border-color:#bca76f80;color:#f1ddb2;font-size:18px;box-shadow:inset 0 1px #fff2,0 4px 9px #0005}.battle-actions{display:grid;grid-template-columns:repeat(2,minmax(72px,1fr));gap:8px}.game .battle-surface .battle-action{min-height:62px;margin:0;padding:8px;border-radius:50%;border-color:#bca76f88;background:linear-gradient(145deg,#334a3d,#172923);color:#f4dfb5;font-weight:700}.game .battle-surface .battle-action span{display:block;font-size:20px;line-height:1.1}.game .battle-surface .battle-action.attack{min-height:72px;background:linear-gradient(145deg,#87543d,#4e2f29);border-color:#d59b72}.game .battle-surface .battle-pause{grid-column:1/-1;min-height:40px;margin:0;padding:7px;border-radius:10px;background:#12221f;color:#bfc9c1}.game .battle-surface .battle-controls button:active{transform:translateY(2px);filter:brightness(1.3);box-shadow:inset 0 3px 8px #0008}}
@media(max-width:430px){.battle-surface .battle-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}.battle-dpad{grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,44px);gap:3px}.game .battle-surface .battle-dpad button{width:44px;height:44px;min-width:44px;min-height:44px}.game .battle-surface .battle-action{min-width:0;font-size:10px}}

/* Always present the on-screen combat controls as a controller, never a linear row. */
.battle-surface .battle-controls{display:grid;grid-template-columns:minmax(164px,190px) minmax(164px,240px);align-items:center;justify-content:center;gap:18px;padding:14px;background:linear-gradient(180deg,#10231e,#0a1715);border-top:1px solid #c7ad6d55;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.battle-controls *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.battle-dpad{display:grid;grid-template-columns:repeat(3,52px);grid-template-rows:repeat(3,52px);gap:4px;justify-content:center;touch-action:none}.battle-dpad .dpad-up{grid-area:1/2}.battle-dpad .dpad-left{grid-area:2/1}.battle-dpad .dpad-center{display:grid;grid-area:2/2;place-items:center;border:1px solid #9c89564d;border-radius:13px;background:#071310;color:#d6b97166;font:700 19px Georgia,serif}.battle-dpad .dpad-right{grid-area:2/3}.battle-dpad .dpad-down{grid-area:3/2}.game .battle-surface .battle-dpad button{width:52px;height:52px;min-width:52px;min-height:52px;padding:0;border-radius:13px;background:linear-gradient(145deg,#263d37,#12231f);border-color:#bca76f80;color:#f1ddb2;font-size:18px;box-shadow:inset 0 1px #fff2,0 4px 9px #0005}.battle-actions{display:grid;grid-template-columns:repeat(2,minmax(72px,1fr));gap:8px;touch-action:none}.game .battle-surface .battle-action{min-height:62px;margin:0;padding:8px;border-radius:50%;border-color:#bca76f88;background:linear-gradient(145deg,#334a3d,#172923);color:#f4dfb5;font-weight:700}.game .battle-surface .battle-action span{display:block;font-size:20px;line-height:1.1}.game .battle-surface .battle-action.attack{min-height:72px;background:linear-gradient(145deg,#87543d,#4e2f29);border-color:#d59b72}.game .battle-surface .battle-pause{grid-column:1/-1;min-height:40px;margin:0;padding:7px;border-radius:10px;background:#12221f;color:#bfc9c1}.game .battle-surface .battle-controls button:active,.game .battle-surface .battle-controls button.touch-held{transform:translateY(2px);filter:brightness(1.3);box-shadow:inset 0 3px 8px #0008}
@media(max-width:430px){.battle-surface .battle-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}.battle-dpad{grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,44px);gap:3px}.game .battle-surface .battle-dpad button{width:44px;height:44px;min-width:44px;min-height:44px}.game .battle-surface .battle-action{min-width:0;font-size:10px}}

/* Keep combat XP visible before roster management. */
#warbandCrewView:not([hidden]){display:flex;flex-direction:column}#warbandCrewView .crew-mode-intro{order:0}#warbandCrewView .training-card{order:1}#warbandCrewView .roster-card{order:2}.game #warband .training-card{margin:12px 0 0;border-color:#d2b56f70;border-left:4px solid #dabe76;background:radial-gradient(circle at 0 0,#cda95020,transparent 36%),linear-gradient(120deg,#29372d,#162321);box-shadow:0 9px 25px #0003}.game #warband .training-card .kicker{color:#edc979!important}.game #warband .training-card .button{background:#71513b;border-color:#d3a77f}

/* Compact Warband workspace: planning and crew management are separate views. */
.game #warband>.panel-heading{margin-bottom:10px}.game #warband .warband-view-tabs{max-width:none;margin:10px 0 16px}.warband-mode-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 20px;border:1px solid #aebd9c38;border-radius:12px;background:linear-gradient(135deg,#21322a,#101c1a)}.warband-mode-intro .kicker{margin:0 0 5px;font-size:9px}.warband-mode-intro h3{margin:0 0 5px;color:#f0e1c2;font:600 18px/1.3 Georgia,serif}.warband-mode-intro p:last-child{max-width:720px;margin:0;color:#adbbb2;font-size:12px;line-height:1.55}.warband-mode-intro .button{flex:0 0 auto;margin:0;white-space:nowrap}.boss-mode-intro{border-color:#c9a96755;background:radial-gradient(circle at 0 0,#cda9531d,transparent 42%),linear-gradient(135deg,#2d3025,#151d1b)}.game #warband .roster-card{margin-top:12px}.game #warband .crew-heading{margin-bottom:14px}.game #warband .warband-stats{padding:12px 0}.game #warband .crew-actions{gap:12px;margin-top:14px}.game #warband .crew-action{padding:17px}.game #warband .action-symbol{width:40px;height:40px;margin-bottom:10px}.game #warband .training-card{padding:18px;margin-top:12px}.game #warband .expedition-primer{margin:12px 0}.game #warband .expedition-card{margin-top:12px}@media(max-width:760px){.warband-mode-intro{display:block;padding:16px}.warband-mode-intro .button{display:block;margin-top:12px;text-align:center;white-space:normal}.game #warband .crew-actions{grid-template-columns:1fr}}
.warband-view-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:620px;margin:18px 0 10px;padding:5px;border:1px solid #bda66e42;border-radius:11px;background:#0d1917}.game .warband-view-tabs button{margin:0;padding:11px 16px;border-color:transparent;background:transparent;color:#abb9b0;font-weight:650}.game .warband-view-tabs button[aria-selected=true]{border-color:#cbb07177;background:#c4a76d20;color:#f2ddb0;box-shadow:inset 0 -2px #d5b878}.warband-view[hidden]{display:none}.expedition-primer{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.expedition-primer div{display:flex;flex-direction:column;gap:5px;padding:13px 15px;border:1px solid #9eb49538;border-radius:9px;background:linear-gradient(135deg,#203027,#111e1b)}.expedition-primer strong{color:#e4c98e;font-size:.8rem}.expedition-primer span{color:#b8c4ba;font-size:.74rem;line-height:1.5}.game .expedition-card{padding:22px}.game .expedition-grid{grid-template-columns:minmax(230px,1fr) minmax(250px,1.05fr) minmax(240px,.9fr);gap:20px}.expedition-choices,.expedition-provisions,.expedition-review{min-width:0}.expedition-choices h3,.expedition-provisions h3,.expedition-review h3{margin:0 0 12px;font-size:1.05rem}.game .packing-heading{border-top:0;padding-top:0;margin-top:0!important}.game .destination-fields label{margin-top:8px}.game .destination-fields p{line-height:1.5}.game .party-figures{padding:4px 0 8px}.game .food-packing{grid-template-columns:1fr 1fr;gap:6px}.game .food-packing label{padding:8px;font-size:.7rem}.expedition-provisions>p,.expedition-provisions>.small,.expedition-provisions #preparationEffects{font-size:.75rem;line-height:1.5;margin:8px 0}.expedition-review{position:sticky;top:190px;padding-left:20px}.expedition-review .chance-box{margin:0 0 12px;padding:15px}.expedition-review .chance-box strong{font-size:1.8rem}.expedition-review .chance-box p{margin:8px 0}.expedition-outcome-note{padding:11px 13px;border:1px solid #ffffff17;border-radius:8px;background:#ffffff05;color:#b9c6bc;font-size:.75rem;line-height:1.55}.expedition-outcome-note strong{display:block;color:#dfc88f;margin-bottom:3px}.game .expedition-review #sendExpedition{margin-bottom:0}.warband-view .training-card{margin-bottom:0}@media(max-width:1050px){.game .expedition-grid{grid-template-columns:1fr 1fr}.expedition-review{position:static;grid-column:1/-1;padding:18px 0 0;border-left:0;border-top:1px solid #ffffff18;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.expedition-review h3,.expedition-review #sendExpedition{grid-column:1/-1}.expedition-review .chance-box{grid-row:2/5}.expedition-review .readiness-hint{margin-top:0}}@media(max-width:760px){.warband-view-tabs,.expedition-primer,.game .expedition-grid,.expedition-review{grid-template-columns:1fr}.expedition-primer{gap:7px}.expedition-review{display:block}.game .food-packing{grid-template-columns:1fr}.game .expedition-card{padding:18px}.warband-shortcuts{margin-top:10px}}
.self-reset-panel{margin-top:24px;padding:18px 20px;border:1px solid #b96b5c55;border-radius:10px;background:#6d2b2214}.self-reset-panel h3{margin:0 0 6px;color:#efc2b7}.self-reset-panel p{max-width:780px}.game .reset-confirm-check{display:flex;align-items:flex-start;gap:10px;margin:18px 0}.game .reset-confirm-check input{width:auto;margin-top:6px}
.starter-coach{margin:18px 0 22px;padding:22px;border:1px solid #d8b96b88;border-radius:14px;background:radial-gradient(circle at 0 0,#d9af4c24,transparent 40%),linear-gradient(135deg,#263329,#132320);box-shadow:0 12px 30px #0003}.starter-coach>header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.starter-coach h3{margin:3px 0 7px;color:#f2e3c4;font:600 21px/1.3 Georgia,serif}.starter-coach header p:last-child{max-width:760px;margin:0;color:#c1cbc2;font-size:13px;line-height:1.6}.starter-coach header>a{flex:0 0 auto;color:#e7ca89;font-size:12px}.idle-loop{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0}.idle-loop div{display:grid;grid-template-columns:28px 1fr;gap:2px 9px;padding:12px;border:1px solid #ffffff18;border-radius:9px;background:#0c1917}.idle-loop span{grid-row:1/3;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#c9a75c24;border:1px solid #d5b87466;color:#efd596;font-weight:800;font-size:11px}.idle-loop strong{color:#ead8b0;font-size:12px}.idle-loop small{color:#aebbb1;font-size:10px;line-height:1.45}.starter-progress{display:grid;grid-template-columns:minmax(190px,.75fr) minmax(280px,1.3fr) auto;align-items:center;gap:18px;padding-top:16px;border-top:1px solid #ffffff17}.starter-progress p{margin:5px 0 0;color:#c9d0c6;font-size:12px;line-height:1.5}.starter-progress ol{display:grid;gap:4px;margin:0;padding:0;list-style:none}.starter-progress li{color:#89988e;font-size:11px}.starter-progress li.complete{color:#91ad85}.starter-progress li.current{color:#f0d18f;font-weight:700}.game .starter-progress button{margin:0;white-space:nowrap}.building-row{scroll-margin-top:130px}.building-row button{min-width:210px}.building-shortage{display:block;margin-top:5px;color:#d5aa8f}.guide-wide{grid-column:1/-1}.guide-wide strong{color:#ead4a6}@media(max-width:900px){.idle-loop{grid-template-columns:1fr 1fr}.starter-progress{grid-template-columns:1fr}.game .starter-progress button{width:100%}}@media(max-width:560px){.starter-coach{padding:17px}.starter-coach>header{display:block}.starter-coach header>a{display:inline-block;margin-top:10px}.idle-loop{grid-template-columns:1fr}.building-row button{min-width:0;width:100%}}
.game .workspace-sidebar>.workspace-guide{margin:0 0 14px}.game .workspace-sidebar>.workspace-guide+.game-tabs{padding-top:2px}@media(max-width:800px){.game .workspace-sidebar>.workspace-guide{margin:2px 2px 10px}}
.hunt-wait{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:10px 0;padding:13px 16px;border:1px solid #d9b86f88;border-left:4px solid #e2c174;border-radius:9px;background:linear-gradient(135deg,#2b3025,#13211d);color:#d5ded3}.hunt-wait strong{color:#ffe2a2}.hunt-wait span{font-size:12px}@media(max-width:650px){.hunt-wait{display:block}.hunt-wait span{display:block;margin-top:4px}}
.hunt-loadout{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0 8px;padding:11px 14px;border:1px solid #d8b96b55;border-radius:9px;background:#d8b96b0d}.hunt-loadout strong{color:#f0d494}.hunt-loadout span{color:#b8c5bb;font-size:12px}@media(max-width:650px){.hunt-loadout{display:block}.hunt-loadout span{display:block;margin-top:4px}}
.game #tab-inventory{--tab-accent:#d5c17f}.inventory-ledger{min-height:260px;background:radial-gradient(circle at 100% 0,#cfb66018,transparent 34%),linear-gradient(145deg,#1d2d27,#111d1a)}.inventory-ledger-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff17;padding-bottom:14px;margin-bottom:16px}.inventory-ledger-heading h3{margin:3px 0 0}.inventory-ledger-heading>span{display:grid;place-items:center;width:48px;height:48px;border:1px solid #d2b76c55;border-radius:12px;color:#e5c67d;font:700 25px Georgia,serif;background:#d2b76c10}.inventory-panel .inventory-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.inventory-panel .inventory-group{grid-column:1/-1;margin:14px 0 2px;color:#efcf8d}.inventory-panel .inventory-item{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 12px;border:1px solid #ffffff18;border-radius:9px;background:#0a1715}.inventory-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:150px;color:#aebbb2;text-align:center}.inventory-empty strong{color:#ead5a7;font:600 20px Georgia,serif;margin-bottom:7px}.idle-update-ready{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 16px;padding:13px 16px;border:1px solid #d0b16d88;border-left:4px solid #e3c477;border-radius:10px;background:linear-gradient(135deg,#2b3025,#15231f);color:#dbe3d8}.idle-update-ready[hidden]{display:none}.idle-update-ready strong,.idle-update-ready span{display:block}.idle-update-ready strong{color:#ffe1a0}.idle-update-ready span{font-size:12px;margin-top:3px}.game .idle-update-ready button{margin:0;white-space:nowrap}@media(max-width:600px){.idle-update-ready{display:block}.game .idle-update-ready button{width:100%;margin-top:10px}}
.scene-tools{display:flex;align-items:center;gap:.45rem}.scene-tool{display:grid;grid-template-columns:1.45rem auto;align-items:center;gap:.4rem;min-height:2.45rem;padding:.38rem .65rem;border:1px solid #d8bd7666;border-radius:.55rem;background:#0b1b19d9;color:#f1deb0;font:700 .78rem/1 var(--sans);box-shadow:0 5px 18px #02080755}.scene-tool svg{width:1.45rem;height:1.45rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.scene-tool:hover,.scene-tool:focus-visible{border-color:#efd186;background:#193027}.scene-tool[aria-selected="true"]{box-shadow:0 0 0 2px #d3b86d99}
.equipment-dialog{width:min(46rem,calc(100vw - 1.5rem));border:1px solid #d5bd735f;border-radius:1rem;background:linear-gradient(145deg,#14231e,#091511);color:#f2ead3;padding:1.35rem;box-shadow:0 24px 80px #000b}.equipment-dialog::backdrop{background:#020807b8;backdrop-filter:blur(3px)}.equipment-dialog header{max-width:34rem}.equipment-close{position:absolute;right:1rem;top:1rem;width:2.4rem;height:2.4rem;border-radius:50%;font-size:1.5rem}.equipment-paper-doll{display:grid;grid-template-columns:1fr minmax(9rem,12rem) 1fr;grid-template-areas:"body body body" "weapon avatar offhand" ". utility .";align-items:center;gap:1rem;margin:1.2rem 0}.equipment-slot{min-height:6.2rem;padding:.8rem;border:1px solid #9e956355;border-radius:.7rem;background:#07120e99;text-align:center;display:flex;flex-direction:column;justify-content:center;gap:.3rem}.equipment-slot span{color:#cdbd8b;font:700 .72rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase}.equipment-slot strong{font-family:var(--serif);font-size:1.05rem}.equipment-slot button{align-self:center;padding:.35rem .65rem;font-size:.75rem}.equipment-slot:not(.filled) button{display:none}.body-slot{grid-area:body;justify-self:center;width:min(18rem,100%)}.weapon-slot{grid-area:weapon}.offhand-slot{grid-area:offhand}.utility-slot{grid-area:utility}.equipment-avatar{grid-area:avatar;display:grid;place-items:center;aspect-ratio:.72;border:1px solid #d8bd7666;border-radius:48% 48% 38% 38%;background:radial-gradient(circle at 50% 24%,#b8a36f33 0 15%,transparent 16%),linear-gradient(160deg,#243b32,#101d18);box-shadow:inset 0 0 35px #0008}.equipment-avatar span{font-size:5rem;color:#dfc77b;text-shadow:0 0 20px #dac16d44}.inventory-item button{margin-left:auto;padding:.35rem .6rem;font-size:.76rem}.inventory-item button:disabled{opacity:.62}
.game .backpack-dialog{box-sizing:border-box;width:min(64rem,calc(100vw - 1.5rem));max-width:64rem;max-height:min(48rem,calc(100vh - 1.5rem));overflow:auto;padding:1.5rem;background:radial-gradient(circle at 92% 5%,#c6a85018,transparent 28%),linear-gradient(145deg,#162820,#08130f)}.backpack-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;padding:0 3rem 1rem 0;border-bottom:1px solid #ffffff1a}.equipment-dialog .backpack-heading{max-width:none}.backpack-heading h2{margin:.2rem 0}.backpack-heading p{margin-bottom:0}.backpack-heading>span{flex:0 0 auto;padding:.4rem .65rem;border:1px solid #d2b76c44;border-radius:999px;color:#d9c58f;font-size:.75rem}.backpack-resources{display:grid;grid-template-columns:repeat(2,minmax(9rem,14rem));gap:.65rem;margin:1rem 0}.backpack-resources>span{display:grid;grid-template-columns:2rem 1fr auto;align-items:center;gap:.65rem;padding:.65rem .8rem;border:1px solid #a79a6544;border-radius:.6rem;background:#07130f99}.backpack-resources b{grid-row:1/3;display:grid;place-items:center;color:#dfc575;font-size:1.15rem}.backpack-resources small{color:#9eaca2}.backpack-resources strong{grid-column:3;grid-row:1/3;color:#f0ddb2;font:700 1.1rem var(--serif)}.backpack-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.25rem,1fr));gap:.55rem;margin:.4rem 0 1rem}.backpack-grid .inventory-group{grid-column:1/-1;margin:1rem 0 .1rem;color:#e2c681;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.backpack-grid .inventory-item{position:relative;display:flex!important;min-height:8rem;padding:.8rem;border:1px solid #ffffff18;border-radius:.65rem;background:linear-gradient(145deg,#10201a,#091510);align-items:center;justify-content:center;flex-direction:column;gap:.35rem;text-align:center;box-shadow:inset 0 0 0 1px #0006}.backpack-grid .inventory-item:hover{border-color:#d3b77366;background:linear-gradient(145deg,#182a22,#0d1a15)}.backpack-grid .inventory-item .item-rune{width:2.5rem;height:2.5rem;flex-basis:2.5rem;font-size:1rem}.backpack-grid .inventory-item>strong{font:600 .86rem/1.25 var(--serif);color:#eadab8}.backpack-grid .inventory-item>small{color:#d4bd82;font-weight:700}.backpack-grid .inventory-item button{margin:.2rem 0 0;padding:.28rem .55rem;font-size:.7rem}.backpack-actions{position:sticky;bottom:-1.5rem;display:flex;justify-content:flex-end;gap:.6rem;margin:0 -1.5rem -1.5rem;padding:.8rem 1.5rem;background:#091511ed;border-top:1px solid #ffffff1a;backdrop-filter:blur(8px)}.backpack-actions button{margin:0}.backpack-dialog .inventory-empty{grid-column:1/-1;min-height:12rem;border:1px dashed #b9a56a44;border-radius:.75rem;background:#07120e66}
@media(max-width:680px){.scene-tool{grid-template-columns:1.35rem;padding:.45rem}.scene-tool span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.scene-tools{gap:.3rem}.equipment-paper-doll{grid-template-columns:1fr 7.5rem 1fr;gap:.55rem}.equipment-slot{min-height:5.4rem;padding:.55rem}.equipment-avatar span{font-size:3.8rem}}
@media(max-width:680px){.game .backpack-dialog{padding:1rem}.backpack-heading{display:block;padding-right:2.5rem}.backpack-heading>span{display:inline-block;margin-top:.65rem}.backpack-resources{grid-template-columns:1fr 1fr}.backpack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.backpack-grid .inventory-item{min-height:7.4rem;padding:.65rem}.backpack-actions{bottom:-1rem;margin:0 -1rem -1rem;padding:.75rem 1rem}.backpack-actions button{flex:1}}
.backpack-grid .inventory-item .item-rune{padding:0}
.game .backpack-dialog{width:min(42rem,calc(100vw - 3rem));max-width:42rem;max-height:min(42rem,80vh)}

/* Settlement raids: urgent without turning a loss into a save wipe. */
.raid-milestone{width:min(46rem,calc(100vw - 2rem));padding:1.5rem;border:1px solid #d5a56e88;border-radius:1rem;background:radial-gradient(circle at 50% 0,#8d342638,transparent 42%),linear-gradient(145deg,#19251f,#0a1311);color:#e9e1ca;box-shadow:0 28px 90px #000d}.raid-milestone::backdrop{background:#030706c7;backdrop-filter:blur(4px)}.raid-milestone h2{margin:.25rem 0 .6rem;color:#ffe3b0;font:600 2rem/1.1 var(--serif)}.raid-milestone>p{line-height:1.6}.raid-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin:1.25rem 0}.raid-rules span{display:flex;min-height:6.4rem;flex-direction:column;gap:.45rem;padding:1rem;border:1px solid #ce9a6250;border-radius:.7rem;background:#080f0db0;color:#bbc7bd;font-size:.78rem;line-height:1.45}.raid-rules b{color:#f0c989;font-size:.86rem}.raid-milestone>button{width:100%;margin:0}
.raid-alert{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.1rem;margin:0 0 1rem;padding:1rem 1.15rem;overflow:hidden;border:1px solid #db795f99;border-left:5px solid #ed8969;border-radius:.8rem;background:radial-gradient(circle at 0 50%,#b1483433,transparent 34%),linear-gradient(120deg,#301c19,#14221e 68%);box-shadow:0 10px 28px #0005,inset 0 0 0 1px #ffd2a20b;animation:raid-alert-pulse 2.4s ease-in-out infinite}.raid-alert[hidden]{display:none}.raid-alert::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 35%,#ffb07b0b 50%,transparent 65%);transform:translateX(-100%);animation:raid-alert-sweep 4s linear infinite}.raid-alert-sigil{display:grid;place-items:center;width:3.2rem;height:3.2rem;border:1px solid #e8936f88;border-radius:50%;background:#491f19;color:#ffd09b;font:700 1.55rem var(--serif);box-shadow:0 0 22px #db644344}.raid-alert .kicker{margin:0 0 .2rem;color:#f29a77}.raid-alert h2{margin:0;color:#ffe1b4;font:600 1.25rem/1.2 var(--serif)}.raid-alert p{margin:.3rem 0;color:#c8d0c8;font-size:.78rem}.raid-stake{display:flex;flex-wrap:wrap;gap:.45rem 1.2rem}.raid-stake span{color:#aebbb2;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}.raid-stake strong{margin-left:.25rem;color:#f2c888;font-size:.78rem}.game .raid-alert>button{position:relative;z-index:1;min-width:9rem;margin:0;background:linear-gradient(145deg,#9b4d38,#633026);border-color:#e49b75}
.raid-defense .battle-selected{border-color:#dc8065;background:radial-gradient(circle at 50% 0,#a63f2d2b,transparent 52%),linear-gradient(145deg,#2d201b,#111b18)}.raid-defense #battleCanvas{border-color:#d7775d;box-shadow:0 0 0 1px #d7775d55,0 15px 40px #0008}.raid-defense #battleBiomeKicker{color:#f09271}.raid-defense #battleStart{background:linear-gradient(145deg,#9b4d38,#592a23);border-color:#e49b75}
@keyframes raid-alert-pulse{50%{border-color:#f19a76;box-shadow:0 10px 28px #0005,0 0 20px #b54a3030}}@keyframes raid-alert-sweep{to{transform:translateX(100%)}}
@media(max-width:700px){.raid-rules{grid-template-columns:1fr}.raid-rules span{min-height:0}.raid-alert{grid-template-columns:auto 1fr;padding:.9rem}.raid-alert-sigil{width:2.7rem;height:2.7rem}.raid-alert>div:nth-child(2){min-width:0}.game .raid-alert>button{grid-column:1/-1;width:100%}.raid-stake{display:grid;grid-template-columns:1fr;gap:.25rem}.raid-alert h2{font-size:1.1rem}}
@media(prefers-reduced-motion:reduce){.raid-alert,.raid-alert::after{animation:none}}

.game .settlement-dialog{box-sizing:border-box;width:min(76rem,calc(100vw - 1.5rem));max-width:76rem;max-height:calc(100vh - 1.5rem);overflow:auto;overflow-x:hidden;padding:0;background:radial-gradient(circle at 92% 4%,#d4ae5520,transparent 27%),linear-gradient(145deg,#182820,#091510)}.settlement-dialog-heading{position:sticky;z-index:3;top:0;padding:1.35rem 4rem 1.05rem 1.35rem;border-bottom:1px solid #ffffff1a;background:linear-gradient(180deg,#17271ff7,#111e19f2);backdrop-filter:blur(10px)}.settlement-dialog-heading h2{margin:.2rem 0;color:#f0dfbc}.settlement-dialog-heading p:last-child{margin:.35rem 0 0;color:#b9c5bc}.settlement-dialog #settlementDialogBody{padding:0 1.35rem 1.35rem}.settlement-dialog #settlement{margin:0}.settlement-dialog #settlement>.panel-heading{padding-top:1.2rem}.settlement-dialog .equipment-close{position:sticky;z-index:5;float:right;top:1rem;margin:1rem 1rem -3.4rem 0}.scene-hall-hint{position:absolute;z-index:5;left:50%;bottom:4.5rem;display:flex;align-items:center;gap:.55rem;max-width:min(23rem,calc(100% - 2rem));padding:.55rem .8rem;border:1px solid #dfc17499;border-radius:.55rem;background:#0a1713e8;color:#e8ddc4;box-shadow:0 8px 24px #0008;transform:translateX(-50%);pointer-events:none;animation:hall-hint-in .28s ease-out}.scene-hall-hint[hidden]{display:none}.scene-hall-hint strong{color:#f0cc7c;font-size:.72rem;white-space:nowrap}.scene-hall-hint span{font-size:.7rem}.scene-hall-hint::before{content:'↑';color:#f0cc7c;font-weight:800}@keyframes hall-hint-in{from{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translateX(-50%)}}@media(max-width:680px){.game .settlement-dialog{width:calc(100vw - .5rem);max-height:calc(100vh - .5rem)}.settlement-dialog-heading{padding:1rem 3.5rem .85rem 1rem}.settlement-dialog #settlementDialogBody{padding:0 1rem 1rem}.settlement-dialog #settlement>.panel-heading{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.settlement-dialog #settlement>.panel-heading>div{grid-column:1/-1}.settlement-dialog #settlement>.panel-heading .button{min-width:0;padding:.7rem .35rem;white-space:normal;text-align:center}.scene-hall-hint{bottom:4rem;width:max-content;justify-content:center;flex-wrap:wrap;gap:.25rem .45rem}.scene-hall-hint span{font-size:.66rem}}@media(max-width:420px){.settlement-dialog #settlement>.panel-heading{grid-template-columns:1fr}.settlement-dialog #settlement>.panel-heading>div{grid-column:auto}}@media(prefers-reduced-motion:reduce){.scene-hall-hint{animation:none}}

/* The settlement scene is becoming the primary game menu. */
.game .scene-shell .scene-building-action{position:absolute;z-index:4;left:52.7%;top:39%;display:flex;width:clamp(8.5rem,15vw,12rem);height:clamp(8rem,16vw,12rem);transform:translate(-50%,-18%);flex-direction:column;align-items:center;justify-content:flex-end;gap:.15rem;margin:0;padding:0 0 .55rem;border:0!important;background:transparent!important;color:#fff0c9;text-shadow:0 2px 5px #000;box-shadow:none!important;cursor:pointer;appearance:none;-webkit-tap-highlight-color:transparent}.game .scene-shell .scene-building-action:hover,.game .scene-shell .scene-building-action:active,.game .scene-shell .scene-building-action:focus{border:0!important;background:transparent!important;box-shadow:none!important}.game .scene-building-action[hidden]{display:none}.scene-building-action .scene-building-ring{position:absolute;inset:5% 8% 20%;opacity:0;border:2px solid #e8c774aa;border-radius:48%;background:transparent;box-shadow:none;transition:opacity .18s,background .18s,border-color .18s,box-shadow .18s}.scene-building-action>span:not(.scene-building-ring),.scene-building-action small{position:relative;opacity:0;padding:.2rem .5rem;border-radius:.35rem;background:#07110dcc;backdrop-filter:blur(3px);transform:translateY(3px);transition:opacity .18s,transform .18s}.scene-building-action>span:not(.scene-building-ring){font:700 .77rem/1 var(--sans);letter-spacing:.04em}.scene-building-action small{color:#d1d9ce;font-size:.62rem}.game .scene-building-action:hover,.game .scene-building-action:focus-visible{transform:translate(-50%,-20%);outline:none}.scene-building-action:hover .scene-building-ring,.scene-building-action:focus-visible .scene-building-ring{opacity:1;border-color:#ffe29a;background:#f0cb7217;box-shadow:0 0 0 5px #efcd7430,0 0 28px #f0bd5845}.scene-building-action:hover>span:not(.scene-building-ring),.scene-building-action:hover small,.scene-building-action:focus-visible>span:not(.scene-building-ring),.scene-building-action:focus-visible small{opacity:1;transform:none}.aio-return-home{margin:0 0 1rem!important;padding:.55rem .8rem!important;border-color:#bca36966!important;background:#12221e!important;color:#ddc994!important;font-size:.76rem!important}.game-tabs>[hidden]{display:none!important}
@media(max-width:800px){.game .scene-building-action{top:37%;width:8.5rem;height:8.5rem}.scene-building-action>span:not(.scene-building-ring){font-size:.68rem}.scene-building-action small{font-size:.57rem}.game .scene-tools{max-width:72%;flex-wrap:wrap;justify-content:flex-end}.game .scene-tools #motionToggle{min-height:2.2rem;padding:.35rem .5rem;font-size:.62rem}}
@media(max-width:520px){.game .scene-building-action{top:35%;width:7.2rem;height:7.2rem}.game .scene-tools{max-width:76%;gap:.2rem}.game .scene-tool{min-height:2.15rem;padding:.35rem}.game .scene-tool svg{width:1.15rem;height:1.15rem}.game .scene-tools #motionToggle{max-width:4.3rem;line-height:1.05}}

/* Map work sites open focused production windows without obscuring the art. */
.game .scene-shell .scene-industry-action{position:absolute;z-index:4;top:72%;width:clamp(7.5rem,14vw,11rem);height:clamp(5rem,11vw,8rem);margin:0;padding:0;border:0!important;background:transparent!important;box-shadow:none!important;transform:translate(-50%,-50%);cursor:pointer;appearance:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.game .scene-shell .scene-industry-action[hidden]{display:none}.game .scene-shell .scene-industry-action:hover,.game .scene-shell .scene-industry-action:active,.game .scene-shell .scene-industry-action:focus{border:0!important;background:transparent!important;box-shadow:none!important}.scene-wood-yard{left:27%}.scene-mine{left:75.5%}.scene-industry-action span{position:absolute;left:50%;bottom:-.15rem;display:grid;min-width:8.25rem;gap:.18rem;padding:.42rem .62rem;border:1px solid #d9bb7285;border-radius:.45rem;background:linear-gradient(145deg,#13251feF,#07120fee);color:#f0d899;white-space:nowrap;transform:translateX(-50%);box-shadow:0 6px 18px #0008;transition:border-color .18s,transform .18s}.scene-industry-action span strong{font:700 .7rem/1.1 var(--sans);letter-spacing:.025em}.scene-industry-action span small{color:#c6d0c7;font:.6rem/1.2 var(--sans)}.scene-industry-action:hover span,.scene-industry-action:focus-visible span{border-color:#f0ce7b;transform:translate(-50%,-2px)}.game .scene-industry-action:focus-visible{outline:2px solid #f0ce7b;outline-offset:-6px;border-radius:48%}.game .industry-dialog{box-sizing:border-box;width:min(32rem,calc(100vw - 1.25rem));max-width:32rem;padding:1.4rem;background:radial-gradient(circle at 90% 0,#d2ad4e1d,transparent 35%),linear-gradient(145deg,#192a22,#091510)}.industry-dialog header{padding-right:2.8rem}.industry-dialog h2{margin:.2rem 0;color:#f1dfb9}.industry-dialog header p:last-child{color:#b9c6bd;line-height:1.55}.industry-ledger{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin:1.2rem 0}.industry-ledger span{display:flex;min-height:4.5rem;flex-direction:column;justify-content:center;padding:.8rem 1rem;border:1px solid #bca16845;border-radius:.65rem;background:#081611aa}.industry-ledger small{color:#aab8ae;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.industry-ledger strong{margin-top:.25rem;color:#ecd39c;font:700 1.25rem var(--serif)}.industry-shortage{min-height:2.8rem;margin:.8rem 0;color:#c8d1c8;font-size:.8rem;line-height:1.5}.game .industry-dialog>button{width:100%;margin:.45rem 0 0}.game .industry-dialog #industryTownHall{background:#11231c}.game .industry-dialog .equipment-close{position:absolute;width:2.4rem;margin:0}@media(max-width:680px){.game .scene-shell .scene-industry-action{top:73%;width:6.8rem;height:5.3rem}.scene-industry-action span{min-width:6.9rem;padding:.34rem .45rem}.scene-industry-action span strong{font-size:.62rem}.scene-industry-action span small{font-size:.53rem}.game .industry-dialog{padding:1rem}.industry-ledger{grid-template-columns:1fr}.industry-ledger span{min-height:3.8rem}}@media(prefers-reduced-motion:reduce){.scene-industry-action span{transition:none}}
/* The campfire is the map entrance to the complete Warband workspace. */
.game .scene-shell .scene-warband-action{position:absolute;z-index:5;left:50.5%;top:81%;width:clamp(8rem,15vw,11.5rem);height:clamp(4.8rem,9vw,7rem);margin:0;padding:0;border:0!important;background:transparent!important;box-shadow:none!important;transform:translate(-50%,-50%);cursor:pointer;appearance:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.game .scene-shell .scene-warband-action[hidden]{display:none}.game .scene-shell .scene-warband-action:hover,.game .scene-shell .scene-warband-action:active,.game .scene-shell .scene-warband-action:focus{border:0!important;background:transparent!important;box-shadow:none!important}.scene-warband-action span{position:absolute;left:50%;bottom:-.1rem;display:grid;min-width:9rem;gap:.18rem;padding:.42rem .62rem;border:1px solid #d9bb7285;border-radius:.45rem;background:linear-gradient(145deg,#1b2b24ef,#081510ee);color:#f0d899;white-space:nowrap;transform:translateX(-50%);box-shadow:0 6px 18px #0008;transition:border-color .18s,transform .18s}.scene-warband-action span strong{font:700 .7rem/1.1 var(--sans);letter-spacing:.025em}.scene-warband-action span small{color:#c6d0c7;font:.6rem/1.2 var(--sans)}.scene-warband-action:hover span,.scene-warband-action:focus-visible span{border-color:#f0ce7b;transform:translate(-50%,-2px)}.game .scene-warband-action:focus-visible{outline:2px solid #f0ce7b;outline-offset:-6px;border-radius:48%}
.game .warband-dialog{box-sizing:border-box;width:min(76rem,calc(100vw - 1.5rem));max-width:76rem;max-height:calc(100vh - 1.5rem);overflow:auto;overflow-x:hidden;padding:0;background:radial-gradient(circle at 92% 4%,#9dbb9420,transparent 28%),linear-gradient(145deg,#172820,#08140f)}.warband-dialog-heading{position:sticky;z-index:3;top:0;padding:1.35rem 4rem 1.05rem 1.35rem;border-bottom:1px solid #ffffff1a;background:linear-gradient(180deg,#17271ff7,#111e19f2);backdrop-filter:blur(10px)}.warband-dialog-heading h2{margin:.2rem 0;color:#f0dfbc}.warband-dialog-heading p:last-child{margin:.35rem 0 0;color:#b9c5bc}.warband-dialog #warbandDialogBody{padding:0 1.35rem 1.35rem}.warband-dialog #warband{margin:0}.warband-dialog #warband>.panel-heading{padding-top:1.2rem}.warband-dialog .equipment-close{position:sticky;z-index:5;float:right;top:1rem;margin:1rem 1rem -3.4rem 0}.warband-dialog .expedition-review{top:1rem}
@media(max-width:680px){.game .scene-shell .scene-warband-action{top:79%;width:7.4rem;height:5.2rem}.scene-warband-action span{min-width:7.5rem;padding:.34rem .45rem}.scene-warband-action span strong{font-size:.62rem}.scene-warband-action span small{font-size:.53rem}.game .warband-dialog{width:calc(100vw - .5rem);max-height:calc(100vh - .5rem)}.warband-dialog-heading{padding:1rem 3.5rem .85rem 1rem}.warband-dialog #warbandDialogBody{padding:0 1rem 1rem}.warband-dialog #warband>.panel-heading{display:block}.warband-dialog #warband>.panel-heading .button{display:inline-flex;margin-top:.65rem;white-space:normal}.warband-dialog .warband-view-tabs{position:sticky;z-index:2;top:7.7rem;background:#0d1917f5;backdrop-filter:blur(8px)}}@media(prefers-reduced-motion:reduce){.scene-warband-action span{transition:none}}

/* A shared 25-minute world clock keeps the settlement visibly alive. */
.scene-clock{position:absolute;z-index:3;left:50%;top:.9rem;display:flex;align-items:center;gap:.42rem;min-height:2rem;padding:.3rem .65rem;border:1px solid #d6c69c55;border-radius:999px;background:#091713d9;color:#ece3ca;box-shadow:0 5px 18px #0007;transform:translateX(-50%);backdrop-filter:blur(7px);pointer-events:none}.scene-clock span{color:#f2d27f;font-size:1rem;line-height:1}.scene-clock b{font:700 .75rem/1 var(--sans);font-variant-numeric:tabular-nums;letter-spacing:.06em}.scene-clock small{color:#bfc9c0;font:.6rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase}.scene-clock[data-phase="night"]{border-color:#9eb8c977;background:#07111ddd}.scene-clock[data-phase="night"] span{color:#d9e8ec}.scene-clock[data-phase="dusk"]{border-color:#d39a7077;background:#211511dc}
@media(max-width:900px){.scene-clock{top:4.35rem}}
@media(max-width:520px){.scene-clock{top:5.15rem;padding:.27rem .5rem;gap:.3rem}.scene-clock span{font-size:.85rem}.scene-clock b{font-size:.66rem}.scene-clock small{font-size:.52rem}}

/* Mobile settlement: lead with the map and keep every overlay in its own lane. */
.workspace-sidebar #tab-warband{display:none!important}
@media(max-width:800px){.game #gameWorkspace{grid-template-areas:"stage" "rail" "panels"}.game .workspace-stage{order:0}.game .workspace-sidebar{order:1;margin-top:0}.workspace-stage .scene-top>span{max-width:7.2rem;padding:.38rem .5rem;font-size:.57rem;line-height:1.35}.game .scene-tools{max-width:none;flex-wrap:nowrap;gap:.22rem}.game .scene-tools #motionToggle{width:2.2rem;max-width:none;min-height:2.15rem;padding:.35rem;font-size:0}.game .scene-tools #motionToggle:after{content:'Ⅱ';font:700 .8rem/1 var(--sans)}html[data-idle-motion="paused"] .game .scene-tools #motionToggle:after{content:'▶'}.scene-clock{top:3.3rem}.workspace-stage .scene-bottom{left:.45rem;right:.45rem;bottom:.4rem;justify-content:stretch}.workspace-stage .scene-bottom #sceneGather{width:100%;margin:0;padding:.42rem .65rem;font-size:.65rem;line-height:1.2}.game .scene-shell .scene-industry-action,.game .scene-shell .scene-warband-action{top:64%;width:6.7rem;height:3.4rem}.scene-wood-yard{left:18%}.scene-mine{left:82%}.game .scene-shell .scene-warband-action{left:50.5%}.scene-industry-action span,.scene-warband-action span{min-width:6.25rem;max-width:6.7rem;padding:.3rem .35rem;white-space:normal}.scene-industry-action span strong,.scene-warband-action span strong{font-size:.55rem;white-space:nowrap}.scene-industry-action span small,.scene-warband-action span small{font-size:.47rem;white-space:nowrap}.game .scene-building-action{top:33%;width:6.6rem;height:6.6rem}}
@media(max-width:390px){.game{padding-left:8px;padding-right:8px}.game .scene-shell .scene-industry-action,.game .scene-shell .scene-warband-action{width:6.1rem}.scene-industry-action span,.scene-warband-action span{min-width:5.75rem;padding:.27rem .25rem}.scene-industry-action span strong,.scene-warband-action span strong{font-size:.51rem}.scene-industry-action span small,.scene-warband-action span small{font-size:.43rem}.workspace-stage .scene-top>span{max-width:6.4rem;font-size:.52rem}.scene-clock{top:3.15rem}}

/* Scalable map markers replace large plaques and leave the settlement visible. */
.scene-top{justify-content:flex-end}.scene-top>span{margin-right:auto}.scene-top .scene-clock{position:static;left:auto;top:auto;flex:0 0 auto;min-height:2.45rem;box-sizing:border-box;transform:none}.scene-top .scene-clock span{padding:0;border:0;background:none;backdrop-filter:none}.game .scene-shell .scene-industry-action,.game .scene-shell .scene-warband-action{width:4.25rem;height:4.25rem}.game .scene-shell .scene-industry-action{top:67%}.scene-wood-yard{left:28%}.scene-mine{left:76%}.game .scene-shell .scene-warband-action{left:50.5%;top:79%}.scene-marker-icon{position:absolute;left:50%;top:50%;display:grid;width:2.65rem;height:2.65rem;place-items:center;border:1px solid #e1c47d99;border-radius:50%;background:linear-gradient(145deg,#193128f5,#081510f5);color:#efd48e;box-shadow:0 6px 18px #0009,0 0 0 3px #07120f66;transform:translate(-50%,-50%);transition:transform .18s,border-color .18s,box-shadow .18s}.scene-marker-icon svg{width:1.45rem;height:1.45rem;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.scene-industry-action .scene-marker-copy,.scene-warband-action .scene-marker-copy{bottom:-1.35rem;min-width:5.6rem;max-width:6.4rem;box-sizing:border-box;gap:.05rem;padding:.23rem .35rem;border-color:#cfb16b66;border-radius:999px;background:#081510e8;line-height:1.1}.scene-industry-action .scene-marker-copy strong,.scene-warband-action .scene-marker-copy strong{font-size:.55rem;white-space:nowrap}.scene-industry-action .scene-marker-copy small,.scene-warband-action .scene-marker-copy small{font-size:.46rem;white-space:nowrap}.scene-industry-action:hover .scene-marker-icon,.scene-industry-action:focus-visible .scene-marker-icon,.scene-warband-action:hover .scene-marker-icon,.scene-warband-action:focus-visible .scene-marker-icon{border-color:#ffe09a;box-shadow:0 8px 22px #000a,0 0 0 4px #e6c36d32;transform:translate(-50%,-54%) scale(1.06)}.scene-industry-action:hover .scene-marker-copy,.scene-industry-action:focus-visible .scene-marker-copy,.scene-warband-action:hover .scene-marker-copy,.scene-warband-action:focus-visible .scene-marker-copy{transform:translate(-50%,-2px)}.scene-hall-hint{left:64%;top:57%;bottom:auto;max-width:13rem;padding:.42rem .58rem}.scene-hall-hint strong{font-size:.65rem}.scene-hall-hint span{font-size:.6rem}.workspace-stage .scene-bottom{justify-content:flex-start}.workspace-stage .scene-bottom #sceneGather{width:auto;margin:0;padding:.55rem .8rem;font-size:.7rem}
@media(max-width:800px){.workspace-stage .scene-top{left:.45rem;right:.45rem;justify-content:space-between;gap:.3rem}.workspace-stage .scene-top>span{display:none}.scene-top .scene-clock{min-height:2.15rem;padding:.25rem .42rem;gap:.28rem}.scene-top .scene-clock span{font-size:.82rem}.scene-top .scene-clock b{font-size:.64rem}.scene-top .scene-clock small{font-size:.48rem}.game .scene-tools{margin-left:auto}.game .scene-shell .scene-industry-action,.game .scene-shell .scene-warband-action{width:3.5rem;height:3.5rem}.game .scene-shell .scene-industry-action{top:62%}.scene-wood-yard{left:23%}.scene-mine{left:77%}.game .scene-shell .scene-warband-action{left:50%;top:72%}.scene-marker-icon{width:2.15rem;height:2.15rem}.scene-marker-icon svg{width:1.15rem;height:1.15rem}.scene-industry-action .scene-marker-copy,.scene-warband-action .scene-marker-copy{bottom:-1rem;min-width:4.65rem;max-width:5rem;padding:.2rem .25rem}.scene-industry-action .scene-marker-copy strong,.scene-warband-action .scene-marker-copy strong{font-size:.47rem}.scene-industry-action .scene-marker-copy small,.scene-warband-action .scene-marker-copy small{font-size:.4rem}.workspace-stage .scene-bottom{left:auto;right:.45rem;bottom:.4rem}.workspace-stage .scene-bottom #sceneGather{width:auto;padding:.4rem .55rem;font-size:.58rem}.scene-hall-hint{left:50%;top:50%;bottom:auto;width:auto;max-width:9rem;padding:.32rem .45rem;white-space:nowrap}.scene-hall-hint strong{font-size:.55rem}.scene-hall-hint span{font-size:.5rem}}

/* Resource counters belong to the world they describe, not in a full-width page bar. */
.scene-top .scene-resources{position:static;z-index:auto;display:flex;flex:0 0 auto;width:auto;height:auto;margin:0;padding:0;gap:.35rem;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none}.scene-top .scene-resources>div{display:grid;grid-template-columns:1.7rem auto;align-items:center;min-width:6.7rem;min-height:2.45rem;box-sizing:border-box;padding:.28rem .55rem;gap:.4rem;border:1px solid #d6c69c55;border-radius:.6rem;background:#091713dc;color:#ece3ca;box-shadow:0 5px 18px #0007;backdrop-filter:blur(7px)}.scene-top .scene-resources svg{width:1.35rem;height:1.35rem;fill:none;stroke:#e5c77c;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.scene-top .scene-resources span{display:grid;grid-template-columns:auto auto;align-items:baseline;padding:0;border:0;border-radius:0;background:none;color:inherit;line-height:1;backdrop-filter:none}.scene-top .scene-resources small{grid-column:1/-1;color:#abb8af;font:600 .5rem/1 var(--sans);letter-spacing:.09em;text-transform:uppercase}.scene-top .scene-resources strong{color:#f1deb0;font:700 .78rem/1.15 var(--serif);font-variant-numeric:tabular-nums}.scene-top .scene-resources em{max-width:5.8rem;margin-left:.35rem;overflow:hidden;color:#9fada5;font:400 .47rem/1 var(--sans);font-style:normal;text-overflow:ellipsis;white-space:nowrap}.scene-top .scene-location{flex:0 1 auto;margin-right:auto;white-space:nowrap}
@media(max-width:1280px){.scene-top .scene-location{display:none}.scene-top .scene-resources em{display:none}.scene-top .scene-resources>div{min-width:5.4rem}}
@media(max-width:1050px){.game .scene-tool{grid-template-columns:1.35rem;padding:.45rem}.game .scene-tool span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.scene-top .scene-resources small{display:none}.scene-top .scene-resources>div{grid-template-columns:1.35rem auto;min-width:4.45rem;padding:.3rem .42rem}.scene-top .scene-resources strong{font-size:.68rem}}
@media(max-width:800px){.workspace-stage .scene-top{flex-wrap:nowrap}.scene-top .scene-resources{gap:.18rem}.scene-top .scene-resources>div{grid-template-columns:1.05rem auto;min-width:0;min-height:2.15rem;padding:.25rem .32rem;gap:.22rem;border-radius:.45rem}.scene-top .scene-resources svg{width:1rem;height:1rem}.scene-top .scene-resources strong{font:700 .59rem/1 var(--sans)}.scene-top .scene-clock{position:absolute;top:2.55rem;right:0}.game .scene-tools{flex:0 0 auto}}
@media(max-width:390px){.scene-top .scene-resources>div{padding:.22rem .25rem;gap:.16rem}.scene-top .scene-resources strong{font-size:.54rem}.game .scene-tools{gap:.14rem}.game .scene-tool,.game .scene-tools #motionToggle{width:1.95rem;min-width:1.95rem;padding:.3rem}}

/* The forest edge and outbound trail are now destinations on the settlement map. */
.game .scene-shell .scene-activity-action{position:absolute;z-index:4;width:4.25rem;height:4.25rem;margin:0;padding:0;border:0!important;background:transparent!important;box-shadow:none!important;transform:translate(-50%,-50%);cursor:pointer;appearance:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.scene-hunting-action{left:10%;top:48%}.scene-gathering-action{left:90%;top:45%}.scene-activity-action .scene-marker-copy{position:absolute;left:50%;bottom:-1.35rem;display:grid;min-width:6rem;max-width:7.2rem;box-sizing:border-box;gap:.05rem;padding:.23rem .38rem;border:1px solid #cfb16b66;border-radius:999px;background:#081510e8;color:#f0d899;line-height:1.1;white-space:nowrap;transform:translateX(-50%);box-shadow:0 6px 18px #0008;transition:transform .18s,border-color .18s}.scene-activity-action .scene-marker-copy strong{font:700 .55rem/1.1 var(--sans)}.scene-activity-action .scene-marker-copy small{color:#c6d0c7;font:.46rem/1.15 var(--sans)}.scene-activity-action:hover .scene-marker-icon,.scene-activity-action:focus-visible .scene-marker-icon{border-color:#ffe09a;box-shadow:0 8px 22px #000a,0 0 0 4px #e6c36d32;transform:translate(-50%,-54%) scale(1.06)}.scene-activity-action:hover .scene-marker-copy,.scene-activity-action:focus-visible .scene-marker-copy{border-color:#f0ce7b;transform:translate(-50%,-2px)}.game .scene-activity-action:focus-visible{outline:2px solid #f0ce7b;outline-offset:-6px;border-radius:48%}
.game .gathering-dialog{box-sizing:border-box;width:min(58rem,calc(100vw - 1.5rem));max-width:58rem;max-height:calc(100vh - 1.5rem);overflow:auto;overflow-x:hidden;padding:0;background:radial-gradient(circle at 90% 3%,#a7c28b20,transparent 30%),linear-gradient(145deg,#172a21,#08140f)}.gathering-dialog-heading{position:sticky;z-index:3;top:0;padding:1.35rem 4rem 1.05rem 1.35rem;border-bottom:1px solid #ffffff1a;background:linear-gradient(180deg,#17291ff7,#101d18f2);backdrop-filter:blur(10px)}.gathering-dialog-heading h2{margin:.2rem 0;color:#f0dfbc}.gathering-dialog-heading p:last-child{margin:.35rem 0 0;color:#b9c5bc}.gathering-dialog #gatheringDialogBody{padding:0 1.35rem 1.35rem}.gathering-dialog #gathering{margin:0}.gathering-dialog #gathering>.panel-heading{padding-top:1.2rem}.gathering-dialog .equipment-close{position:sticky;z-index:5;float:right;top:1rem;margin:1rem 1rem -3.4rem 0}.stage-return{position:absolute;z-index:6;left:.8rem;top:.8rem;margin:0!important;padding:.48rem .7rem!important;border-color:#dfc17499!important;background:#081510e8!important;color:#f0ddb2!important;box-shadow:0 7px 20px #0008!important;backdrop-filter:blur(8px)}
@media(max-width:800px){.game .scene-shell .scene-activity-action{width:3.35rem;height:3.35rem}.scene-hunting-action{left:11%;top:42%}.scene-gathering-action{left:89%;top:40%}.scene-activity-action .scene-marker-copy{bottom:-1rem;min-width:4.8rem;max-width:5.3rem;padding:.2rem .25rem}.scene-activity-action .scene-marker-copy strong{font-size:.47rem}.scene-activity-action .scene-marker-copy small{font-size:.4rem}.game .gathering-dialog{width:calc(100vw - .5rem);max-height:calc(100vh - .5rem)}.gathering-dialog-heading{padding:1rem 3.5rem .85rem 1rem}.gathering-dialog #gatheringDialogBody{padding:0 1rem 1rem}.gathering-dialog #gathering>.panel-heading{display:block}.gathering-dialog #gathering>.panel-heading .button{display:inline-flex;margin-top:.65rem;white-space:normal}.stage-return{left:.45rem;top:.45rem;padding:.38rem .5rem!important;font-size:.62rem!important}}
@media(max-width:420px){.scene-hunting-action{left:12%;top:44%}.scene-gathering-action{left:88%;top:42%}.scene-activity-action .scene-marker-copy{min-width:4.4rem}.scene-activity-action .scene-marker-copy small{display:none}}
@media(prefers-reduced-motion:reduce){.scene-activity-action .scene-marker-copy{transition:none}}

/* Keep the resource HUD physically inside the scene at every desktop width. */
.scene-top .scene-location{display:none}.scene-top .scene-resources{position:absolute;left:0;top:0;display:flex;flex-direction:column;width:7.7rem;gap:.25rem}.scene-top .scene-resources>div{grid-template-columns:1.35rem minmax(0,1fr);width:100%;min-width:0;min-height:2.25rem;padding:.28rem .45rem;gap:.35rem}.scene-top .scene-resources svg{width:1.15rem;height:1.15rem}.scene-top .scene-resources span{grid-template-columns:1fr auto;min-width:0}.scene-top .scene-resources small{grid-column:1;color:#abb8af;font-size:.45rem}.scene-top .scene-resources strong{grid-column:2;grid-row:1;color:#f1deb0;font:700 .67rem/1 var(--sans)}.scene-top .scene-resources em{grid-column:1/-1;max-width:none;margin:.13rem 0 0;font-size:.42rem}.scene-top{padding-left:8.2rem;box-sizing:border-box}.scene-top .scene-clock{margin-left:auto}
@media(max-width:1050px){.scene-top{padding-left:0}.scene-top .scene-resources{position:static;flex-direction:row;width:auto}.scene-top .scene-resources>div{width:auto;min-width:0}.scene-top .scene-resources small,.scene-top .scene-resources em{display:none}.scene-top .scene-resources span{display:block}.scene-top .scene-resources strong{font-size:.62rem}.scene-top .scene-clock{margin-left:0}}
@media(max-width:800px){.scene-top .scene-resources{position:static}.scene-top .scene-resources>div{width:auto}.scene-top{padding-left:0}}

/* Workshop joins the physical settlement and opens as a focused crafting window. */
.scene-workshop-action{left:39%;top:62%}.game .workshop-dialog{box-sizing:border-box;width:min(76rem,calc(100vw - 1.5rem));max-width:76rem;max-height:calc(100vh - 1.5rem);overflow:auto;overflow-x:hidden;padding:0;background:radial-gradient(circle at 91% 3%,#d2a25d24,transparent 29%),linear-gradient(145deg,#29231c,#0b1512)}.workshop-dialog-heading{position:sticky;z-index:3;top:0;padding:1.35rem 4rem 1.05rem 1.35rem;border-bottom:1px solid #ffffff1a;background:linear-gradient(180deg,#28231df8,#171b17f3);backdrop-filter:blur(10px)}.workshop-dialog-heading h2{margin:.2rem 0;color:#f0dfbc}.workshop-dialog-heading p:last-child{margin:.35rem 0 0;color:#c7beb0}.workshop-dialog #workshopDialogBody{padding:0 1.35rem 1.35rem}.workshop-dialog #crafting{margin:0}.workshop-dialog #crafting>.panel-heading{padding-top:1.2rem}.workshop-dialog .equipment-close{position:sticky;z-index:5;float:right;top:1rem;margin:1rem 1rem -3.4rem 0}.workshop-dialog .workshop-body{margin-bottom:0}
@media(max-width:800px){.scene-workshop-action{left:39%;top:58%}.game .workshop-dialog{width:calc(100vw - .5rem);max-height:calc(100vh - .5rem)}.workshop-dialog-heading{padding:1rem 3.5rem .85rem 1rem}.workshop-dialog #workshopDialogBody{padding:0 1rem 1rem}.workshop-dialog #crafting>.panel-heading{display:block}.workshop-dialog #crafting>.panel-heading .button{display:inline-flex;margin-top:.65rem;white-space:normal}}
@media(max-width:420px){.scene-workshop-action{left:38%;top:59%}}
.legacy-scene-hook{display:none!important}
#play[data-founding="required"] .scene-industry-action,#play[data-founding="required"] .scene-hunting-action,#play[data-founding="required"] .scene-gathering-action,#play[data-founding="required"] .scene-bottom,#play[data-founding="required"] .hall-services{display:none!important}#play[data-founding="required"] .scene-building-action{filter:drop-shadow(0 0 12px #e6c36d88);animation:founding-hall-pulse 1.8s ease-in-out infinite}@keyframes founding-hall-pulse{50%{transform:translate(-50%,-50%) scale(1.035)}}@media(prefers-reduced-motion:reduce){#play[data-founding="required"] .scene-building-action{animation:none}}
.settlement-dialog #settlement>.panel-heading{display:none!important}#play[data-founding="required"] .gather-toolbar,#play[data-founding="required"] .production-callout,#play[data-founding="required"] .settlement-columns>div,#starterCoach[data-founding="required"] .idle-loop,#starterCoach[data-founding="required"] header>a{display:none!important}
.hall-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:1rem 1.35rem;border-bottom:1px solid #ffffff17;background:#0c1814}.game .hall-services button{display:grid;grid-template-columns:2.5rem 1fr;align-items:center;gap:.05rem .75rem;margin:0;padding:.85rem 1rem;text-align:left;background:linear-gradient(145deg,#203128,#111e19);border-color:#c9a96766}.hall-services button>span{grid-row:1/3;display:grid;width:2.35rem;height:2.35rem;place-items:center;border:1px solid #d9ba7480;border-radius:50%;color:#efd48e}.hall-services strong{color:#f1dfbd}.hall-services small{color:#aebbb2}.founding-gate{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;margin:1.2rem 0;padding:1.1rem;border:1px solid #e0bd6d88;border-radius:.8rem;background:radial-gradient(circle at 0 0,#d8ad4b2b,transparent 48%),#13221c;box-shadow:0 12px 30px #0004}.founding-gate-icon,.founding-seal{display:grid;width:3.5rem;height:3.5rem;place-items:center;border:1px solid #e5c87b;border-radius:50%;background:#0b1713;color:#f4d991;font-size:1.6rem}.founding-gate h2{margin:.1rem 0 .3rem;color:#f1dfbd}.founding-gate p{margin:0;color:#c1cbc3;line-height:1.5}.game .founding-gate button{margin:0;white-space:nowrap}.game .founding-unlock-dialog{max-width:42rem;text-align:center;padding:2rem;background:radial-gradient(circle at 50% 0,#d6aa4933,transparent 42%),linear-gradient(145deg,#1b2c24,#091510);border-color:#dfc174}.founding-unlock-dialog .founding-seal{margin:0 auto 1rem}.founding-unlock-dialog h2{margin:.25rem 0;color:#f3dfb9;font-size:2rem}.founding-unlock-dialog>p:not(.kicker){color:#c4cec6}.founding-unlocks{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin:1.25rem 0}.founding-unlocks article{display:grid;gap:.35rem;padding:1rem;border:1px solid #ffffff1c;border-radius:.65rem;background:#0b1814}.founding-unlocks article>span{color:#efd18a;font-size:1.5rem}.founding-unlocks strong{color:#eadbbd}.founding-unlocks small{color:#aebbb2;line-height:1.45}.game .founding-unlock-dialog>button{width:100%;margin:0}@media(max-width:680px){.hall-services{grid-template-columns:1fr;padding:.8rem 1rem}.founding-gate{grid-template-columns:auto 1fr}.founding-gate button{grid-column:1/-1;width:100%}.founding-unlocks{grid-template-columns:1fr}.game .founding-unlock-dialog{padding:1.25rem}.founding-unlock-dialog h2{font-size:1.6rem}}

/* Local light is an explicit worksite upgrade, with its economy visible before purchase. */
.industry-lighting{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.85rem 1.15rem;align-items:center;margin:1rem 0;padding:1rem;border:1px solid #d6b66855;border-radius:.75rem;background:radial-gradient(circle at 100% 0,#f2b74b20,transparent 45%),#0c1915}.industry-lighting .kicker{margin:0 0 .22rem;color:#d8b76f}.industry-lighting h3{margin:0;color:#f0ddb5}.industry-lighting p:not(.kicker){max-width:34rem;margin:.35rem 0 0;color:#b9c5bc;font-size:.77rem;line-height:1.55}.industry-lighting-status{display:grid;min-width:7rem;text-align:center}.industry-lighting-status strong{color:#ffd77e;font:700 1.65rem/1 var(--serif)}.industry-lighting-status small{margin-top:.2rem;color:#aab8af;text-transform:uppercase;letter-spacing:.08em}.industry-lighting-status span{margin-top:.45rem;color:#e4d3aa;font-size:.67rem}.game .industry-lighting>button{grid-column:1/-1;width:100%;margin:0;background:linear-gradient(145deg,#6b4b25,#2a251b);border-color:#d9b869;color:#f7e4b7}.game .industry-lighting>button:disabled{filter:saturate(.4);opacity:.55}
@media(max-width:560px){.industry-lighting{grid-template-columns:1fr;padding:.85rem}.industry-lighting-status{grid-template-columns:auto auto;justify-content:start;align-items:baseline;gap:.25rem .5rem;text-align:left}.industry-lighting-status span{grid-column:1/-1;margin-top:0}}

/* Hunting owns the stage while active; popup exits share one centered control. */
.workspace-stage{position:relative}.workspace-stage[data-view="hunting"]>.scene-shell,.workspace-stage:not([data-view="hunting"])>#huntCanvas,.stage-return[hidden]{display:none!important}.stage-return{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.75rem;padding:.55rem .85rem!important;font-weight:700!important}.stage-return span{font-size:1.15em;line-height:1}.equipment-close{display:grid!important;place-items:center;width:2.75rem!important;height:2.75rem!important;margin:0!important;padding:0!important;border-radius:.55rem!important;font:800 1.15rem/1 Arial,sans-serif!important;text-align:center;text-indent:0}

/* The map is the game hub: battles live on its notice board and the rail is the guide. */
.scene-battle-action{left:64%;top:78%}.scene-battle-action .scene-marker-icon{background:linear-gradient(145deg,#3b2b20f5,#101813f5);border-color:#e3b86da8}.game .hall-services{grid-template-columns:repeat(3,minmax(0,1fr))}
.game .records-dialog{box-sizing:border-box;width:min(72rem,calc(100vw - 1.5rem));max-width:72rem;max-height:calc(100vh - 1.5rem);overflow:auto;overflow-x:hidden;padding:0;background:radial-gradient(circle at 92% 4%,#8eb0cc1d,transparent 30%),linear-gradient(145deg,#172622,#091510)}.records-dialog-heading{position:sticky;z-index:3;top:0;padding:1.35rem 4rem 1.05rem 1.35rem;border-bottom:1px solid #ffffff1a;background:linear-gradient(180deg,#17271ff7,#111e19f2);backdrop-filter:blur(10px)}.records-dialog-heading h2{margin:.2rem 0;color:#f0dfbc}.records-dialog-heading p:last-child{margin:.35rem 0 0;color:#b9c5bc}.records-dialog #recordsDialogBody{padding:0 1.35rem 1.35rem}.records-dialog #records{margin:0}.records-dialog #records>.panel-heading{padding-top:1.2rem}.records-dialog .equipment-close{position:sticky;z-index:5;float:right;top:1rem;margin:1rem 1rem -3.4rem 0}.records-dialog #records>.panel-heading .button{display:none}
.workspace-sidebar .sidebar-identity{display:grid;gap:.75rem;margin:0 0 1rem;padding:0 0 1rem;border-bottom:1px solid #ffffff17}.sidebar-identity>div:first-child{min-width:0}.sidebar-identity .kicker{margin:0 0 .25rem;font-size:.58rem;letter-spacing:.12em}.sidebar-identity h1{margin:0;color:#f3e7cf;font-size:1.65rem;line-height:1.05}.sidebar-identity .game-heading-status{display:grid;grid-template-columns:1fr;gap:.45rem}.sidebar-identity .online-badge,.sidebar-identity .save-badge{justify-content:center;box-sizing:border-box;width:100%;padding:.48rem .55rem;font-size:.67rem;text-align:center}.workspace-sidebar #gameNotice{margin:0 0 .75rem;padding:.5rem .65rem;border-left:2px solid #d0b36e;background:#09161288;color:#decfae;font-size:.7rem;line-height:1.45}.workspace-sidebar #gameNotice:empty{display:none}.workspace-sidebar>.sidebar-guide-heading{display:block;margin:.1rem 0 .6rem;color:#e4ba7c;font-size:.68rem}.workspace-sidebar>.game-tabs[hidden]{display:none!important}.workspace-guide-open{display:grid;grid-template-columns:2.3rem 1fr;gap:.05rem .65rem;align-items:center;width:100%;margin:0 0 .8rem;padding:.75rem;text-align:left;background:#14241f;border-color:#9eaa8655}.workspace-guide-open>span{grid-row:1/3;display:grid;width:2.15rem;height:2.15rem;place-items:center;border:1px solid #cdb37255;border-radius:50%;color:#e7c77d}.workspace-guide-open strong,.workspace-guide-open small{display:block}.workspace-guide-open strong{color:#eadabb;font-size:.76rem}.workspace-guide-open small{color:#aebbb2;font-size:.62rem}.workspace-sidebar #activitySummary{margin-top:.35rem;padding:.65rem;border:1px solid #ffffff12;border-radius:.55rem;background:#0a171377}.battle-surface{position:relative}.battle-surface>#battleCanvas{display:block;width:100%;height:auto;aspect-ratio:9/5;touch-action:none;outline-offset:-4px}
#play[data-founding="required"] .scene-battle-action{display:none!important}
@media(max-width:800px){.scene-battle-action{left:64%;top:70%}.game .hall-services{grid-template-columns:1fr}.game .records-dialog{width:calc(100vw - .5rem);max-height:calc(100vh - .5rem)}.records-dialog-heading{padding:1rem 3.5rem .85rem 1rem}.records-dialog #recordsDialogBody{padding:0 1rem 1rem}.records-dialog #records>.panel-heading{display:block}.workspace-sidebar .sidebar-identity{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.45rem .75rem;margin:0 .15rem .65rem;padding:.45rem .35rem .65rem}.sidebar-identity .kicker{font-size:.48rem}.sidebar-identity h1{font-size:1.25rem}.sidebar-identity .game-heading-status{grid-template-columns:auto auto}.sidebar-identity .online-badge,.sidebar-identity .save-badge{width:auto;padding:.38rem .48rem;font-size:.58rem}.workspace-sidebar>.sidebar-guide-heading{margin-left:.2rem}.workspace-guide-open{margin:0 .15rem .45rem;width:calc(100% - .3rem)}.workspace-sidebar #activitySummary{margin:.35rem .15rem 0}.battle-surface .battle-controls{padding:0 .45rem .45rem}.battle-surface+.stage-return{top:.45rem}}
@media(max-width:480px){.sidebar-identity{grid-template-columns:1fr!important}.sidebar-identity .game-heading-status{grid-template-columns:1fr 1fr}.workspace-stage .scene-top{align-items:flex-start}.game .scene-tools{position:absolute;top:2.45rem;right:0}.scene-top .scene-clock{left:0;right:auto;top:2.45rem}.game .scene-tools #motionToggle:after{content:'Ⅱ';color:#eef0e8;font:700 .75rem/1 var(--sans)}html[data-idle-motion="paused"] .game .scene-tools #motionToggle:after{content:'▶'}.scene-hunting-action{left:12%;top:55%}.scene-gathering-action{left:88%;top:53%}.scene-battle-action{left:54%;top:75%}.scene-industry-action .scene-marker-copy,.scene-warband-action .scene-marker-copy,.scene-activity-action .scene-marker-copy{display:none!important}.workspace-stage .scene-bottom #sceneGather{padding:.36rem .45rem;font-size:.52rem}}

/* A compact identity leaves the guide room to explain the world. */
.workspace-sidebar .sidebar-identity{gap:.45rem;margin-bottom:.7rem;padding-bottom:.7rem}.sidebar-identity .kicker{margin-bottom:.12rem;font-size:.5rem;line-height:1.35}.sidebar-identity h1{font-size:1.35rem}.sidebar-identity .game-heading-status{grid-template-columns:1fr 1fr;gap:.35rem}.sidebar-identity .online-badge,.sidebar-identity .save-badge{min-width:0;min-height:2rem;padding:.35rem .4rem;font-size:.56rem;white-space:nowrap}.sidebar-identity .save-badge{position:relative;padding-left:1.35rem}.sidebar-identity .save-badge:before{content:'';position:absolute;left:.42rem;top:50%;width:.72rem;height:.72rem;border:1px solid #a9e8ba;border-radius:.08rem;opacity:0;transform:translateY(-50%) scale(.65);box-shadow:inset 0 -.22rem #a9e8ba55}.sidebar-identity .save-badge:after{content:'';position:absolute;left:.6rem;top:calc(50% - .22rem);width:.32rem;height:.2rem;border:1px solid #d9f4df;opacity:0}.sidebar-identity .save-badge.save-pulse:before,.sidebar-identity .save-badge.save-pulse:after{animation:saved-floppy 1.45s ease-out}.workspace-guide-notes{display:grid;gap:.38rem;margin:.15rem 0 .55rem;padding:.7rem;border:1px solid #ffffff14;border-radius:.65rem;background:#09161277}.workspace-guide-notes h3{margin:0 0 .2rem;color:#e4c987;font:700 .68rem/1.3 var(--sans);text-transform:uppercase;letter-spacing:.08em}.workspace-guide-notes>div{display:grid;grid-template-columns:1.65rem 1fr;align-items:center;gap:.45rem;padding:.4rem;border-radius:.45rem;background:#ffffff05}.workspace-guide-notes>div>span{display:grid;width:1.55rem;height:1.55rem;place-items:center;border:1px solid #cfb46e55;border-radius:50%;color:#e8ca7e;font-size:.7rem}.workspace-guide-notes p,.workspace-guide-notes strong,.workspace-guide-notes small{display:block;margin:0}.workspace-guide-notes strong{color:#e9ddc3;font-size:.62rem}.workspace-guide-notes small{margin-top:.08rem;color:#aab8af;font-size:.52rem;line-height:1.35}.game .scene-shell .scene-battle-action{width:9rem;height:7rem}.scene-battle-action .scene-marker-icon{display:none}.scene-battle-action .scene-marker-copy{top:calc(100% + .1rem);bottom:auto;min-width:6.6rem}.scene-battle-action:hover,.scene-battle-action:focus-visible{border-radius:.6rem!important;outline:2px solid #f0ce7b!important;outline-offset:-.4rem!important}.scene-battle-action:hover .scene-marker-copy,.scene-battle-action:focus-visible .scene-marker-copy{transform:translate(-50%,2px)}
@keyframes saved-floppy{0%{opacity:0;transform:translateY(-50%) scale(.65)}18%,62%{opacity:1;transform:translateY(-50%) scale(1)}100%{opacity:0;transform:translateY(-50%) scale(.8)}}
@media(max-width:800px){.workspace-guide-notes{grid-template-columns:repeat(3,minmax(0,1fr));padding:.5rem}.workspace-guide-notes h3{grid-column:1/-1}.workspace-guide-notes>div{grid-template-columns:1.4rem 1fr;padding:.35rem}.workspace-guide-notes>div>span{width:1.3rem;height:1.3rem}.game .scene-shell .scene-battle-action{width:6rem;height:4.8rem}}
@media(max-width:520px){.workspace-guide-notes{grid-template-columns:1fr}.workspace-guide-notes h3{grid-column:auto}.workspace-guide-notes>div{grid-template-columns:1.65rem 1fr}.scene-battle-action .scene-marker-copy{display:none!important}.sidebar-identity .online-badge,.sidebar-identity .save-badge{font-size:.53rem}}
@media(prefers-reduced-motion:reduce){.sidebar-identity .save-badge.save-pulse:before,.sidebar-identity .save-badge.save-pulse:after{animation:none;opacity:1}}

/* The status rail now uses visual instruments instead of explanatory chrome. */
.sidebar-identity .idle-title-mark{display:flex;align-items:center;gap:.42rem}.sidebar-identity .idle-title-mark img{width:1.55rem;height:1.55rem;flex:0 0 auto;object-fit:contain;filter:drop-shadow(0 2px 5px #0008)}.sidebar-identity .idle-title-mark span{display:block}.sidebar-identity .game-heading-status{grid-template-columns:1fr auto}.sidebar-identity .save-badge{display:grid;width:2rem;min-width:2rem;height:2rem;min-height:2rem;padding:0;place-items:center;border-radius:.5rem}.sidebar-identity .save-badge svg{width:1rem;height:1rem;fill:none;stroke:#b8d9c3;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.sidebar-identity .save-badge:before,.sidebar-identity .save-badge:after{content:none}.save-status-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.sidebar-identity .save-badge[data-state="saving"] svg{color:#f0cd78;animation:save-working .7s ease-in-out infinite alternate}.sidebar-identity .save-badge.save-pulse svg{animation:saved-floppy-svg 1.45s ease-out}.scene-clock .analog-clock{--clock-hour:0deg;--clock-minute:0deg;position:relative;display:block;width:1.42rem;height:1.42rem;flex:0 0 auto;box-sizing:border-box;padding:0;border:1.5px solid #f2d27f;border-radius:50%;background:radial-gradient(circle,#173027 54%,#0a1713 56%);box-shadow:inset 0 0 0 2px #ffffff0d}.scene-clock .analog-clock:before{content:'';position:absolute;inset:2px;border-radius:50%;background:repeating-conic-gradient(from -1deg,#e8d59c 0 2deg,transparent 2deg 30deg);opacity:.75}.scene-clock .analog-clock i{position:absolute;left:50%;bottom:50%;display:block;width:1.5px;border-radius:2px;background:#f5df9e;transform-origin:50% 100%}.scene-clock .analog-hour{height:.34rem;transform:translateX(-50%) rotate(var(--clock-hour))}.scene-clock .analog-minute{height:.48rem;transform:translateX(-50%) rotate(var(--clock-minute));background:#f8efd2!important}.scene-clock .analog-pin{left:50%;bottom:50%;width:.17rem!important;height:.17rem;border-radius:50%;background:#efb85f!important;transform:translate(-50%,50%)}.scene-clock[data-phase="night"] .analog-clock{border-color:#d9e8ec;background:radial-gradient(circle,#17263c 54%,#07111d 56%)}.scene-clock[data-phase="dusk"] .analog-clock{border-color:#efb27e;background:radial-gradient(circle,#42251d 54%,#211511 56%)}
@keyframes save-working{to{opacity:.4;transform:translateY(-1px)}}@keyframes saved-floppy-svg{0%{opacity:.35;transform:scale(.7)}20%,65%{opacity:1;transform:scale(1.22);filter:drop-shadow(0 0 5px #77e19a)}100%{opacity:.8;transform:scale(1)}}
@media(max-width:520px){.sidebar-identity .idle-title-mark img{width:1.4rem;height:1.4rem}.scene-clock .analog-clock{width:1.2rem;height:1.2rem}.scene-clock .analog-hour{height:.28rem}.scene-clock .analog-minute{height:.39rem}}
@media(prefers-reduced-motion:reduce){.sidebar-identity .save-badge[data-state="saving"] svg,.sidebar-identity .save-badge.save-pulse svg{animation:none}}

/* Keep the board's touch target aligned with its smaller in-world proportions. */
.game .scene-shell .scene-battle-action{width:7.5rem;height:6.25rem}
@media(max-width:800px){.game .scene-shell .scene-battle-action{width:5.25rem;height:4.5rem}}
/* Battles use a focused workspace instead of stacking beneath the settlement map. */
.game .battle-dialog{box-sizing:border-box;width:min(96vw,80rem);height:min(94dvh,58rem);max-width:none;max-height:none;padding:0;overflow:hidden;border-color:#c5a86866;background:radial-gradient(circle at 86% 0,#9d5d3922,transparent 28%),linear-gradient(145deg,#172720,#081310)}
.battle-dialog::backdrop{background:#030908dc;backdrop-filter:blur(8px)}
.battle-dialog>form{position:absolute;z-index:10;right:1rem;top:1rem}
.battle-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:4.65rem;box-sizing:border-box;padding:.65rem 5rem .65rem 1.2rem;border-bottom:1px solid #ffffff1a;background:#101f1bf2}
.battle-dialog-heading .kicker,.battle-dialog-heading h2,.battle-dialog-heading p{margin:0}
.battle-dialog-heading h2{margin:.12rem 0;color:#f1dfba;font-size:1.4rem}
.battle-dialog-heading p:last-child{color:#aebbb2;font-size:.72rem}
.battle-dialog-heading>span{font-size:2rem;color:#d7b86f}
#battleDialogBody{height:calc(100% - 4.65rem);min-height:0;overflow:hidden}
.game .battle-workspace{display:flex!important;flex-direction:column;box-sizing:border-box;height:100%;min-height:0;margin:0;padding:1rem;border:0;background:transparent}
.battle-purpose{display:grid;grid-template-columns:minmax(0,1fr) minmax(19rem,.72fr);gap:.65rem;margin:0 0 .65rem}
.battle-intro{padding:.8rem 1rem;border:1px solid #ffffff1a;border-radius:.65rem;background:#ffffff05}
.battle-intro .kicker,.battle-intro h2,.battle-intro p{margin:0}
.battle-intro h2{margin:.18rem 0 .32rem;font-size:1.25rem;color:#f0dfbc}
.battle-intro p:last-child{color:#b8c4bb;font-size:.72rem;line-height:1.45}
.battle-selected{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.16rem .65rem;padding:.58rem .75rem}
.battle-selected>span,.battle-selected>strong,.battle-selected>small{grid-column:1}
.game .battle-start-cta{grid-column:2;grid-row:1/4;align-self:stretch;width:auto;min-width:9.5rem;margin:0;padding:.5rem .7rem;font-size:.74rem}
.battle-view-tabs{display:none}
.battle-workspace-grid{display:grid;grid-template-columns:minmax(16rem,.68fr) minmax(0,1.65fr);gap:.75rem;min-height:0;flex:1}
.battle-roster-pane,.battle-arena-pane{box-sizing:border-box;min-width:0;min-height:0;border:1px solid #ffffff1a;border-radius:.7rem;background:#091612aa}
.battle-roster-pane{overflow:auto;padding:.8rem;scrollbar-gutter:stable}
.battle-roster-pane>header{display:grid;gap:.12rem;margin-bottom:.6rem}
.battle-roster-pane>header span{color:#dcbf7a;font-size:.55rem;letter-spacing:.13em}
.battle-roster-pane>header strong{color:#eee2c9;font-size:.8rem}
.battle-roster-pane .battle-path{grid-template-columns:1fr;gap:.55rem;margin:0}
.battle-roster-pane .battle-biome{padding:.65rem}
.battle-roster-pane .battle-biome h3{font-size:.78rem}
.battle-roster-pane .battle-encounters{gap:.35rem}
.battle-roster-pane .battle-choice{padding:.45rem .5rem}
.battle-loadout{margin-top:.7rem;border:1px solid #ffffff1a;border-radius:.55rem;background:#ffffff05}
.battle-loadout summary{padding:.65rem;color:#dbc183;font-size:.7rem;cursor:pointer}
.battle-loadout p{margin:0;padding:0 .7rem .7rem;color:#aebbb2;font-size:.63rem;line-height:1.5}
.battle-arena-pane{display:flex;flex-direction:column;overflow:hidden}
.battle-arena-pane #battleHud{flex:0 0 auto;margin:0;padding:.45rem .7rem;border-bottom:1px solid #ffffff1a;background:#0e201b;color:#ead69e;font-size:.68rem}
.battle-frame{display:flex;align-items:center;justify-content:center;flex:1;min-height:0;background:#030907}
.battle-frame #battleCanvas{display:block;width:auto;height:100%;max-width:100%;max-height:100%;aspect-ratio:9/5;outline-offset:-4px}
.battle-arena-pane .battle-controls{flex:0 0 auto;margin:0}
.battle-feedback{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:2.2rem;padding:.35rem .7rem;border-top:1px solid #ffffff1a;background:#0b1815}
.battle-feedback #battleStatus{min-height:0;margin:0;color:#d6ddce;font-size:.67rem}
.battle-feedback #battleClaim{margin:0;padding:.4rem .65rem}
.battle-arena-pane #battleTip{margin:0;padding:.45rem .7rem;border:0;background:#0a1513;color:#9fada4;font-size:.6rem;line-height:1.45}
.battle-arena-pane .battle-controls{grid-template-columns:minmax(6.5rem,7rem) minmax(8rem,10rem);gap:.55rem;padding:.4rem}
.battle-arena-pane .battle-dpad{grid-template-columns:repeat(3,2rem);grid-template-rows:repeat(3,2rem);gap:.12rem}
.game .battle-arena-pane .battle-dpad button{width:2rem;height:2rem;min-width:2rem;min-height:2rem;border-radius:.45rem;font-size:.68rem}
.game .battle-arena-pane .battle-action{min-height:2.2rem;border-radius:.55rem;font-size:.6rem}
.game .battle-arena-pane .battle-action.attack{min-height:2.45rem}
.game .battle-arena-pane .battle-action span{font-size:.9rem}

/* Desktop combat uses mouse and keyboard, so keep the fallback controls to one
   compact row and reserve the arena height for the battlefield itself. */
@media (min-width:801px) and (hover:hover) and (pointer:fine){
 .battle-arena-pane .battle-controls{display:flex;align-items:center;justify-content:center;gap:.45rem;padding:.3rem .5rem}
 .battle-arena-pane .battle-dpad,.battle-arena-pane .battle-actions{display:flex;align-items:center;gap:.3rem}
 .battle-arena-pane .battle-dpad .dpad-up,.battle-arena-pane .battle-dpad .dpad-left,.battle-arena-pane .battle-dpad .dpad-right,.battle-arena-pane .battle-dpad .dpad-down,.battle-arena-pane .battle-actions>*{grid-area:auto}
 .battle-arena-pane .battle-dpad .dpad-center{display:none}
 .game .battle-arena-pane .battle-dpad button{width:2rem;height:2rem;min-width:2rem;min-height:2rem}
 .game .battle-arena-pane .battle-action,.game .battle-arena-pane .battle-action.attack,.game .battle-arena-pane .battle-pause{width:auto;min-width:auto;height:2rem;min-height:2rem;margin:0;padding:.25rem .55rem;border-radius:.45rem}
 .game .battle-arena-pane .battle-action span{display:inline;font-size:.75rem}
 .game .battle-arena-pane .battle-pause{grid-column:auto}
}
@media (min-width:801px) and (max-height:800px){
 .battle-intro p:last-child,.battle-arena-pane #battleTip{display:none}
 .battle-intro{display:flex;flex-direction:column;justify-content:center}
 .game .battle-workspace{padding:.65rem}
}
.game .battle-arena-pane .battle-pause{min-height:1.65rem}

@media(max-width:760px){
 .game .battle-dialog{width:100vw;height:100dvh;border:0;border-radius:0}
 .battle-dialog-heading{height:4.5rem;padding:.55rem 3.8rem .55rem .75rem}
 .battle-dialog-heading h2{font-size:1.1rem}
 .battle-dialog-heading p:last-child,.battle-dialog-heading>span{display:none}
 #battleDialogBody{height:calc(100% - 4.5rem)}
 .game .battle-workspace{padding:.5rem}
 .battle-purpose{display:block;margin-bottom:.45rem}
 .battle-intro{display:none}
 .battle-selected{display:grid;grid-template-columns:1fr auto;gap:.18rem .5rem;padding:.55rem .65rem}
 .battle-selected>span,.battle-selected>strong,.battle-selected>small{grid-column:1}
 .game .battle-start-cta{grid-column:2;grid-row:1/4;margin:0;align-self:stretch}
 .battle-view-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.3rem;margin-bottom:.45rem}
 .battle-view-tabs button{margin:0;padding:.6rem;border-radius:.5rem;background:#10201b}
 .battle-view-tabs button[aria-selected=true]{border-color:#d6b76f;background:#2a3327;color:#f1d99d}
 .battle-workspace-grid{display:block;min-height:0;flex:1}
 .battle-roster-pane,.battle-arena-pane{height:100%}
 .battle-workspace[data-battle-pane="roster"] .battle-arena-pane,.battle-workspace[data-battle-pane="arena"] .battle-roster-pane{display:none}
 .battle-arena-pane{overflow:auto}
 .battle-frame{flex:0 0 auto}
 .battle-frame #battleCanvas{width:100%;height:auto;aspect-ratio:9/5}
 .battle-arena-pane .battle-controls{grid-template-columns:minmax(8rem,9rem) minmax(8rem,1fr)}
 .battle-arena-pane .battle-dpad{grid-template-columns:repeat(3,2.75rem);grid-template-rows:repeat(3,2.75rem)}
 .game .battle-arena-pane .battle-dpad button{width:2.75rem;height:2.75rem;min-width:2.75rem;min-height:2.75rem}
 .game .battle-arena-pane .battle-action{min-height:2.75rem}
 .battle-arena-pane #battleTip{display:none}
}
@media(max-width:430px){
 .battle-selected>small{display:none}
 .battle-dialog-heading .kicker{font-size:.48rem}
 .battle-dialog-heading h2{font-size:1rem}
 .battle-feedback{display:block}
}
