body{background:radial-gradient(ellipse at 70% 0,#607a5b55,transparent 60%),#243e36}.masthead,#app{max-width:1390px}.masthead{padding-top:22px;padding-bottom:20px}#app{padding-bottom:105px}.hex-shell{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px}.map-card{background:#e9e3cc;border:1px solid #b9c1a0;border-radius:12px;overflow:hidden;box-shadow:0 8px 0 #162e2555}.world-heading{padding:21px 24px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px}.world-heading h1{font-size:26px;margin:4px 0 0;letter-spacing:-1px;color:#365442}.world-heading .chapter{font:45px Georgia,serif;color:#9eaa7c}.world-status{display:flex;align-items:center;gap:14px;padding:12px 24px;border-top:1px solid #d3d0b4;background:#e0e1c4;font-size:11px;color:#687a5e}.world-status strong{color:#415d46}.chaos-meter{margin-left:auto;display:flex;gap:4px;align-items:center}.chaos-meter i{height:9px;width:9px;border:1px solid #aab18e;border-radius:50%;background:#ccd3b1}.chaos-meter i.on{background:#ac6d55;border-color:#9f604d}.chaos-meter small{margin-left:5px;font-size:9px}.hex-viewport{overflow:auto;background:#4c7166;max-height:650px;scrollbar-width:thin;scrollbar-color:#c4c9a0 #4a6b60;touch-action:pan-x pan-y}.hex-map{display:block;min-width:100%;height:auto;max-width:none;user-select:none}.hex-tile{cursor:pointer}.hex-tile.fog{cursor:default}.hex-surface{stroke:#526f5444;stroke-width:1.4;transition:filter .12s}.hex-tile.known:hover .hex-surface{filter:brightness(1.1)}.hex-tile:focus{outline:none}.hex-tile:focus .hex-surface{stroke:#faedb5;stroke-width:4}.hex-label{font:9px "Malgun Gothic",sans-serif;fill:#f3eed2;paint-order:stroke;stroke:#4d6656bb;stroke-width:3;stroke-linejoin:round}.selection-ring{stroke:#f5eab2;stroke-width:3;fill:none;stroke-dasharray:7 4}.rumored{opacity:.55}.route-line{fill:none;stroke:#f7e6a7;stroke-width:4;stroke-linecap:round;stroke-dasharray:7 8;filter:drop-shadow(0 2px 1px #456651)}.route-cost circle{fill:#f0e4b3;stroke:#647d56;stroke-width:1.5}.route-cost text{font:9px "Segoe UI",sans-serif;fill:#456344;font-weight:700}.route-cost.later circle{fill:#668471;stroke:#b4bf98}.route-cost.later text{fill:#ebedc6}.map-knight,.map-knight .knight-assembly{width:58px;height:70px}.map-inscription{font:11px Georgia,serif;letter-spacing:4px;fill:#bbc9b0;opacity:.7}.compass text{font:10px Georgia,serif;fill:#dde1bd}.map-controls{display:flex;justify-content:space-between;align-items:center;padding:11px 18px;gap:8px;background:#e4e1c8;border-top:1px solid #bac49d;color:#808b6c;font-size:10px}.map-controls>div{display:flex;gap:5px}.map-controls button{font-size:12px;padding:5px 12px}.hex-side{min-width:0}.hero-card,.mission-card,.location-card{background:#eae5ce;border:1px solid #b5bfa0;border-radius:10px;padding:19px;margin-bottom:15px;box-shadow:0 5px 0 #192f2633}.hero-card .hero-heading{float:none;width:100%;height:auto;position:relative}.hero-card .hero-heading .knight-assembly{position:static;width:59px;height:59px;margin:0}.hero-card .hero-heading h2{font-size:19px}.hero-card .vitals{margin:6px 0 12px;height:auto;padding:0}.hero-card .eyebrow{font-size:8px;letter-spacing:1px}.hero-card .wallet{margin:12px 0 0}.mission-card h2,.location-card h2{font-size:16px;margin:5px 0 10px;color:#416047}.mission-card p{font-size:11px;color:#7b8468;line-height:1.8;margin:7px 0 12px}.mission-row{display:flex;gap:10px;align-items:center;padding:10px 0;border-top:1px solid #c9ceb033;font-size:12px;color:#5e7655}.mission-row.done{color:#949879}.mission-row span{font-size:20px;color:#a89458}.mission-row small{display:block;font-size:9px;color:#8c9276;margin-top:3px}.mission-row button{margin-left:auto;padding:5px 8px;font-size:9px;background:transparent}.location-card .eyebrow{font-size:8px;letter-spacing:1px}.location-card p{font-size:11px;color:#7b8369;line-height:1.8}.location-card .detail-head{margin-bottom:10px}.location-card .detail-head h2{margin:0;font-size:18px}.location-card .primary{width:100%;font-size:12px;margin-top:8px}.location-card .enemy-preview b{font-size:11px}.location-card .choice{padding:8px}.location-card .choice .pixel-icon{width:31px;height:31px}.world-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:10px;color:#a7b89a;margin:18px 5px}.world-legend span{display:flex;gap:6px;align-items:center}.world-legend i{width:10px;height:10px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.world-legend .grass{background:#b1c98a}.world-legend .forest{background:#759b69}.world-legend .water{background:#81b1bd}.world-legend .fog{background:#53766a;border:1px solid #839d80}.hex-toolbar{position:fixed;z-index:6;bottom:0;left:0;right:0;background:#243e36f5;backdrop-filter:blur(12px);border-top:1px solid #7a966a66;color:#ece5c1;padding:12px max(24px,calc((100% - 1338px)/2)) calc(12px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:0 -9px 35px #162e2933}.travel-budget{display:flex;gap:15px;align-items:center;flex:none}.travel-budget>b{font:35px Georgia,serif;color:#e0d39c}.travel-budget span{display:block;font-size:11px;color:#c6cdb0}.travel-budget small{display:block;font-size:9px;color:#92a98b;margin-top:4px}.travel-decision{display:flex;align-items:center;gap:13px;flex:1;min-width:0;justify-content:center}.travel-decision div{min-width:0;max-width:380px}.travel-decision b{font-size:12px}.travel-decision small{display:block;font-size:10px;color:#a8ba98;margin-top:4px;line-height:1.5}.travel-decision button{font-size:12px;white-space:nowrap;background:#c6c99b;color:#36573e;border-color:#b0bb8e;min-height:39px}.turn-buttons{display:flex;gap:7px}.turn-buttons button{font-size:11px;padding:10px 13px;border-color:#708669;background:#3a5944;color:#dbdfb7;white-space:nowrap}.turn-buttons button:last-child{background:#adbd89;color:#304f38}.hex-subnav{display:flex;gap:6px;margin-bottom:13px}.hex-subnav button{flex:1;font-size:10px;background:#466448;border-color:#708762;color:#cbd2aa;padding:8px}.hex-subnav button.active{background:#b5c493;color:#35543e}.hex-journal{color:#8fa18a;font-size:11px;margin:14px 2px;line-height:1.7}.hex-help{color:#9fae91;font-size:9px;line-height:1.8;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.hex-help a{color:#b8c4a0}.location-cost{display:flex;gap:7px;flex-wrap:wrap;margin:9px 0}.location-cost span{font-size:9px;color:#60774f;background:#d4ddbb;border:1px solid #bac69c;padding:4px 7px;border-radius:4px}.world-status.night{background:#c9d3c5;color:#62796b}.world-status.night strong{color:#496b60}.empty-route{font-size:12px;color:#b4c2a3}.full-panel{grid-column:1/-1}.hex-shell .battle-page{grid-column:1/-1;width:100%}.hex-battle-note{font-size:11px;color:#768369}.hex-shell .journal{max-height:440px;overflow:auto}.hex-shell .detail-head small{line-height:1.7}
@media(min-width:1500px){.hex-viewport{max-height:690px}.hex-map{max-height:690px}.hex-viewport.zoomed .hex-map{max-height:none}}
@media(max-width:1000px){.hex-shell{grid-template-columns:minmax(0,1fr) 270px;gap:13px}.hero-card,.mission-card,.location-card{padding:16px}.world-heading{padding:18px}.world-heading h1{font-size:23px}.world-status{padding:11px 17px;gap:8px}.chaos-meter{gap:3px}.chaos-meter small{display:none}.hex-toolbar{padding-left:20px;padding-right:20px;gap:10px}.travel-budget{gap:9px}.travel-budget>b{font-size:30px}.travel-decision small{font-size:9px}.turn-buttons button{padding:9px 10px}}
@media(max-width:760px){.masthead{padding:16px 15px}#app{padding:0 12px 158px}.hex-shell{grid-template-columns:1fr;gap:15px}.world-heading{padding:16px 17px 12px}.world-heading h1{font-size:23px}.world-heading .chapter{font-size:37px}.world-heading .eyebrow{font-size:7px;letter-spacing:1.5px}.world-status{font-size:10px;padding:10px 15px}.chaos-meter i{width:7px;height:7px}.hex-viewport{max-height:none}.hex-viewport.zoomed{max-height:500px}.map-controls{padding:8px 13px;font-size:9px}.map-controls button{padding:5px 10px}.world-legend{font-size:9px;margin:13px 3px;gap:9px}.hero-card{padding:13px 16px;display:grid;grid-template-columns:39% 1fr;column-gap:15px}.hero-card .hero-heading{align-items:center;gap:4px}.hero-card .hero-heading h2{font-size:16px}.hero-card .hero-heading .knight-assembly{width:45px;height:45px}.hero-card .hero-heading .eyebrow{font-size:6px;letter-spacing:.5px}.hero-card .vitals{margin:0}.hero-card .wallet{grid-column:1/-1;margin-top:9px;padding-top:5px;border-top:1px solid #c0c9a333}.hero-card .wallet b{font-size:12px}.mission-card{padding:15px 17px}.mission-row{padding:8px 0}.location-card{padding:17px}.hex-side{display:flex;flex-direction:column}.location-card{order:0}.mission-card{order:1}.hex-help{order:2}.hex-toolbar{display:grid;grid-template-columns:1fr auto;padding:9px 13px calc(9px + env(safe-area-inset-bottom));gap:8px 10px}.travel-budget{gap:9px}.travel-budget>b{font-size:26px}.travel-budget span{font-size:10px}.travel-budget small{font-size:8px}.turn-buttons{gap:5px}.turn-buttons button{font-size:10px;padding:9px}.travel-decision{grid-row:2;grid-column:1/-1;justify-content:space-between;border-top:1px solid #7a966a44;padding-top:9px;min-height:47px}.travel-decision b{font-size:11px}.travel-decision small{font-size:9px;margin-top:2px}.travel-decision button{font-size:11px;padding:9px 15px;min-height:36px}.travel-decision div{max-width:70%}.empty-route{font-size:10px}.hex-journal{font-size:10px}.hex-subnav{margin-bottom:10px}.hex-help{font-size:8px}}
@media(max-width:360px){.world-heading h1{font-size:21px}.world-status{gap:7px;padding:9px 11px;font-size:9px}.chaos-meter{gap:2px}.chaos-meter i{height:6px;width:6px}.hero-card{grid-template-columns:43% 1fr;padding:13px;gap:9px}.hero-card .hero-heading h2{font-size:15px}.hero-card .hero-heading .knight-assembly{width:35px;height:40px}.turn-buttons button{font-size:9px;padding:9px 7px}.travel-budget small{font-size:7px}.map-controls{font-size:8px}.travel-decision b{font-size:10px}.travel-decision small{font-size:8px}}
@media(prefers-reduced-motion:reduce){.hex-surface{transition:none}}
/* Keep the sprite layers relative to their own square and the whole map in view. */
.hero-card .hero-heading .knight-assembly{position:relative;right:auto;top:auto}
.hex-viewport:not(.zoomed) .hex-map{max-height:650px}
.map-controls>div{flex:none}.map-controls button{white-space:nowrap}
.world-heading .region-objective{font-size:11px;color:#79876b;margin:8px 0 0}
@media(max-width:760px){.map-controls button{font-size:10px;padding:7px 9px}.world-heading .region-objective{font-size:10px}}
