.life-controls{position:absolute;top:65px;left:101px;right:75px;z-index:3;display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:11px}
.life-controls button,.life-controls label{border:1px solid #cbbf9f;border-radius:8px;background:#fff9e9ee;padding:8px 10px;min-height:34px;display:flex;align-items:center;gap:5px}
.life-controls button[aria-pressed=true]{background:#2f5948;color:#fff9e7}.life-controls input{accent-color:#2f5948}
#pace-status{background:#fff9e9ee;border-radius:6px;padding:4px}#pace-status:empty{display:none}
.map-caption{top:110px}.map-caption span:first-child{font-size:10px}
.quick-bar{position:absolute;bottom:119px;left:201px;right:75px;z-index:4;display:flex;gap:7px;background:#fff9e9ee;padding:8px;border:1px solid #cabd98;border-radius:12px;box-shadow:0 3px 10px #35452b14}
#quick-actions{display:flex;flex:1;gap:6px;min-width:0}#quick-actions button{flex:1;min-width:0}
.quick-bar button{border:1px solid #c4bea2;background:#f9f5e5;border-radius:7px;padding:9px 8px;min-height:45px;font-size:12px;font-weight:600;white-space:nowrap}
.quick-bar button:hover:not(:disabled){background:#e1ebce}.quick-bar button:disabled{opacity:.45}.quick-bar small{display:block;font-weight:400;font-size:10px;margin-top:3px}
#meet-next{background:#315b48;color:#fff7de;border-color:#315b48}.story{bottom:194px;left:201px;right:75px;min-height:58px}.minimap{bottom:119px}.goals{bottom:265px}
.encounter-card{position:absolute;right:18px;top:123px;width:318px;max-height:calc(100% - 390px);overflow:auto;padding:18px;border-radius:14px;border:1px solid #b8ac87;background:#fffaebf7;box-shadow:0 8px 28px #2b3d3026;z-index:6}
.encounter-card[hidden]{display:none}.encounter-card h2{font:600 21px Fraunces,Georgia,serif;margin:4px 24px 9px 0}.encounter-card p{font-size:14px;line-height:1.5;margin:10px 0 14px}
#encounter-art{float:left;width:52px;height:57px;margin-right:8px}#encounter-art svg{width:100%;height:100%}#encounter-choices{clear:both;display:grid;gap:7px}
#encounter-choices button{padding:11px;text-align:left;border:1px solid #c5b997;border-radius:8px;background:#f6f1df;font-size:13px;font-weight:600}#encounter-choices small{display:block;font-weight:400;font-size:11px;margin-top:5px;line-height:1.5}#encounter-choices button:disabled{opacity:.5}.encounter-note{display:block;font-size:10px;color:#6c755f;margin-top:13px}
.map-actor{cursor:pointer;outline:none}.actor-scale{transform:scale(var(--actor-scale,1));transform-origin:0 0}.actor-target{fill:transparent;stroke:transparent;stroke-width:2}.map-actor:hover .actor-target,.map-actor:focus .actor-target{fill:#ffe4a644;stroke:#987536}.actor-bubble{opacity:0;pointer-events:none;transition:opacity .2s}.map-actor.talking .actor-bubble,.map-actor:hover .actor-bubble,.map-actor:focus .actor-bubble{opacity:1}.map-actor.met .actor-offer{display:none}
.npc-body{animation:npc-step var(--step-duration,.65s) ease-in-out infinite alternate}.map-actor:nth-child(2n) .npc-body{animation-delay:-.3s}.chairlift>g{animation:chair-travel var(--chair-duration,4s) ease-in-out infinite alternate}
.life-paused .npc-body,.life-paused .chairlift>g,.life-paused .snowflake,.life-paused .smoke{animation-play-state:paused}
#resource-pop{position:absolute;bottom:267px;left:50%;transform:translateX(-50%);pointer-events:none;background:#244e3f;color:#fff9df;border-radius:20px;padding:9px 17px;font-weight:700;font-size:14px;z-index:7;opacity:0;white-space:nowrap}#resource-pop.show{animation:resource-pop 2.5s both}
@keyframes npc-step{to{translate:0 -2px}}@keyframes chair-travel{to{translate:14px -10px}}@keyframes resource-pop{0%{opacity:0;translate:0 8px}12%,75%{opacity:1;translate:0 0}100%{opacity:0;translate:0 -15px}}
@media(max-width:1000px){.quick-bar{left:90px;right:65px}.story{left:90px;right:65px}.minimap{bottom:265px;width:100px;height:65px}.quick-bar button{font-size:10px}.quick-bar small{font-size:9px}}
@media(max-width:700px){.life-controls{top:48px;left:68px;right:9px;gap:4px;font-size:10px}.life-controls button,.life-controls label{padding:6px;min-height:32px}.map-caption{display:none}.world-rail{top:130px;max-height:31%}.quick-bar{left:10px;right:10px;bottom:122px;overflow-x:auto;padding:6px;gap:6px}#quick-actions{flex:none}.quick-bar button{padding:7px 9px;min-height:44px}.story{left:10px;right:10px;bottom:187px;min-height:48px;max-height:81px;overflow:auto}.minimap{bottom:280px;left:10px;width:87px;height:57px}.map-tools{bottom:280px}.encounter-card{top:132px;right:9px;left:68px;width:auto;max-height:calc(100% - 410px);padding:13px}.encounter-card h2{font-size:18px}.encounter-card p{font-size:12px}#encounter-choices button{font-size:12px;padding:9px}#resource-pop{bottom:276px;font-size:12px;max-width:90%;white-space:normal;text-align:center}.goals{bottom:277px}.controls{top:132px;max-height:calc(100% - 410px)}}
@media(prefers-reduced-motion:reduce){.npc-body,.chairlift>g{animation:none}.actor-bubble{transition:none}#resource-pop.show{animation:none;opacity:1}.player-mover{transition:none!important}}

.scene[data-season=autumn]{background:radial-gradient(ellipse at center,#e6d3a0,#f6eddb 75%)}
.scene[data-season=winter]{background:radial-gradient(ellipse at center,#d2e2ec,#f0f5f8 75%)}
.scene[data-season=summer]{background:radial-gradient(ellipse at center,#ded8b6,#f6f0df 75%)}

@media(min-width:701px){.story{left:auto;width:min(500px,calc(100% - 290px))}}
