:root{color-scheme:dark;--bg:#0e1915;--panel:#142119;--line:#304330;--ink:#d2ddc4;--muted:#91a18a;--green:#b4c78a;--gold:#d0b47b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:12px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer;color:inherit}button{border:1px solid var(--line);background:#1e3021;border-radius:4px;padding:7px 11px}button:hover{background:#304331;border-color:#6c8057}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}header{height:76px;display:flex;align-items:center;gap:26px;padding:0 25px;background:#142017;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none!important}.brand-icon{font-size:47px;color:#b4c78a;line-height:1}.brand>span:last-child{font-size:25px;font-weight:650;letter-spacing:-1.2px;line-height:1}.brand small{display:block;font-size:6px;letter-spacing:1.4px;margin-top:10px;font-weight:400;color:#819274}.edition{display:flex;gap:11px;align-items:center;border-left:1px solid #3a4d33;padding-left:23px;line-height:1.2;letter-spacing:2px;font-size:12px;font-weight:600}.edition i{display:block;width:19px;height:28px;background:linear-gradient(90deg,#56856b 33%,#c9d4bc 33%,#c9d4bc 66%,#56856b 66%);opacity:.8}.edition small{display:block;font-size:6px;letter-spacing:1.1px;color:#8b9a80;margin-top:7px}nav{display:flex;gap:4px;flex:1;margin-left:10px}nav button{border:0;background:none;color:#91a485;font-size:11px;padding:10px 14px}nav button.active{background:#2c4029;color:#d3dfbc}.wallet{padding-left:20px;border-left:1px solid var(--line);text-align:right;white-space:nowrap}.wallet span{font-size:6px;letter-spacing:1.2px;color:#819476;display:block}.wallet b{font:16px ui-monospace,monospace;color:#c5d5a0}#mobile-layers{display:none}.app{height:calc(100dvh - 76px);display:grid;grid-template-columns:254px minmax(0,1fr)}aside{background:#131f17;border-right:1px solid var(--line);overflow:auto;scrollbar-width:thin;scrollbar-color:#3b5033 transparent}.side-heading{padding:27px 22px 16px}.eyebrow{font:7px ui-monospace,monospace;letter-spacing:1.4px;color:#8ea47b}h1{font-size:24px;font-weight:500;letter-spacing:-.8px;line-height:1.25;margin:12px 0 15px}.side-heading p{font-size:10px;line-height:1.8;color:#8c9e81;margin:0}.presets{display:flex;flex-wrap:wrap;gap:5px;padding:0 20px 19px;border-bottom:1px solid var(--line)}.presets button{font-size:8px;padding:5px 8px;background:#1b2b1b}.presets button.active{color:#d2dfb7;border-color:#6d8050;background:#304027}.layer-group{padding:17px 20px 7px;font-size:7px;letter-spacing:1.5px;color:#7c9470}.layer{display:flex;align-items:center;gap:10px;padding:9px 13px;margin:3px 10px;border:1px solid transparent;border-radius:5px;cursor:pointer}.layer.enabled{border-color:#34482b;background:#20301f}.layer-icon{width:22px;text-align:center;color:var(--accent);font-size:17px}.layer>span:nth-child(2){flex:1;font-size:10px}.layer small{display:block;color:#7f9671;font-size:7px;margin-top:2px}.layer input{width:12px;height:12px;accent-color:var(--accent)}.crop-control{padding:20px;border-top:1px solid var(--line);margin-top:15px}.crop-control label,.side-search label{font-size:7px;letter-spacing:1.1px;color:#91a67f;display:block;margin-bottom:9px}select,input{background:#112017;border:1px solid #3a5231;color:#bfd0ad;border-radius:4px;padding:7px;min-width:0}.crop-control select{width:100%;font-size:11px}.crop-control small{display:block;font-size:8px;color:#819773;line-height:1.8;margin-top:10px}#crop-legend{display:flex;align-items:center;gap:5px;font-size:6px;color:#93a482;margin-top:12px}#crop-legend i{height:5px;flex:1;background:linear-gradient(90deg,#23342b,#a7bf78)}.side-search{padding:0 20px 18px}.side-search input{width:100%;font-size:10px}.search-result{display:block;width:100%;margin-top:6px;font-size:9px;text-align:left;background:#1a2a1c}.search-result small{display:block;color:#809a74;font-size:7px}.side-foot{padding:19px 20px;border-top:1px solid var(--line);font:6px ui-monospace,monospace;color:#91aa7d;letter-spacing:.5px}.status-dot{display:inline-block;width:4px;height:4px;background:#b2c78c;border-radius:50%;margin-right:3px}.side-foot p{font:8px/1.8 system-ui;color:#7d9172;letter-spacing:0}.side-foot a,.side-foot button{display:block;font:8px/1.8 system-ui;margin-top:10px;padding:0;border:0;background:none;letter-spacing:0}main{min-width:0;min-height:0}#map-view{height:100%;display:flex;flex-direction:column}.map-strip{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 18px;background:#16241a;border-bottom:1px solid var(--line);height:47px;flex-shrink:0;font:7px ui-monospace,monospace;color:#9cb18b;letter-spacing:.5px}.map-strip b{background:#32472d;color:#c5d4aa;padding:4px 7px;margin-right:9px}.traffic-controls{display:flex;align-items:center;gap:8px;white-space:nowrap}.traffic-controls button,.traffic-controls select{font-size:8px;padding:4px 8px}#clock{font-size:7px;color:#9aab88;margin-left:8px}.map-layout{display:flex;flex:1;min-height:0;position:relative}.map-stage{position:relative;flex:1;overflow:hidden;min-width:0;background:radial-gradient(ellipse at 45% 45%,#22372a,#0b1819 75%)}#atlas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}#atlas:active{cursor:grabbing}#state-shapes path{fill:#24372b;stroke:#66805d;stroke-opacity:.35;stroke-width:.8;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .2s}#state-shapes path:hover{fill:#38503a;stroke:#bac98d;stroke-opacity:.8}#state-shapes path.selected{stroke:#d1dba7;stroke-opacity:1;stroke-width:1.5}#state-labels text{fill:#92a17b;opacity:.55;font:10px ui-monospace,monospace;letter-spacing:.9px;pointer-events:none;text-anchor:middle}#water path{fill:none;stroke:#7099a1;stroke-opacity:.55;stroke-width:1.2;vector-effect:non-scaling-stroke}#road-network path{fill:none;stroke:#a6aa78;stroke-opacity:.38;stroke-width:1.05;vector-effect:non-scaling-stroke}#rail-network path{fill:none;stroke:#d3a78c;stroke-opacity:.7;stroke-width:1.15;stroke-dasharray:2 2;vector-effect:non-scaling-stroke}.route{cursor:pointer}.route .ink{fill:none;stroke:var(--accent);stroke-opacity:.40;stroke-width:1.2;vector-effect:non-scaling-stroke}.route.selected .ink{stroke-width:2.8;stroke-opacity:1}.route .hit{fill:none;stroke:transparent;stroke-width:10;vector-effect:non-scaling-stroke}.place{cursor:pointer}.place text{fill:#bdcda9;font:7px system-ui;paint-order:stroke;stroke:#142219;stroke-width:2px;pointer-events:none}.place:hover text{fill:#eff5d7}.place.selected text{fill:#edf4ce}.vehicle{cursor:pointer;outline:none}.vehicle:hover,.vehicle:focus{filter:drop-shadow(0 0 4px #d3e7ae)}.vehicle text{pointer-events:none}#map-annotations text{fill:#849080;opacity:.35;font:12px ui-monospace,monospace;letter-spacing:4px;text-anchor:middle;pointer-events:none}#map-annotations .sea-label{font-size:11px;fill:#82a3a4;letter-spacing:3px}.map-tools{position:absolute;top:16px;left:17px;display:flex;gap:4px}.map-tools button{background:#15261bdc;font-size:10px;padding:6px 10px;box-shadow:0 2px 10px #0002}.north{position:absolute;right:21px;top:20px;font:8px ui-monospace,monospace;color:#9eaf8a;text-align:center;pointer-events:none}.north span{display:block;font-size:24px;line-height:1.3}.map-key{position:absolute;left:17px;bottom:12px;font-size:7px;color:#8fa184;display:flex;gap:17px;align-items:center;background:#102019bd;padding:6px 8px;border-radius:3px;pointer-events:none}.map-key span{white-space:nowrap}.map-key i{display:inline-block;width:16px;border-top:1px solid #a5b887;margin:0 5px 2px 0}.map-key .dashed{border-top-style:dashed}#loading{position:absolute;inset:0;display:grid;place-content:center;background:#0f1e19;font:10px ui-monospace,monospace;letter-spacing:2px;color:#a5b986}.map-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 17px;border-block:1px solid var(--line);font:6px ui-monospace,monospace;color:#92a582;background:#132119;flex-shrink:0}.map-bottom a{color:#819275;font-size:6px;text-align:right}#inspector{width:286px;flex-shrink:0;border-left:1px solid var(--line);background:#142119;overflow:auto;padding:24px 21px;scrollbar-width:thin;scrollbar-color:#405438 transparent}.inspect-title{display:flex;align-items:center;justify-content:space-between}.inspect-title button{font-size:13px;background:none;border:0;padding:0 0 0 7px;color:#849c76}#inspector h2{font-size:23px;line-height:1.2;letter-spacing:-.6px;font-weight:500;margin:13px 0 12px}#inspector p{font-size:10px;line-height:1.9;color:#91a285}#inspector .intro-title{font-size:29px;line-height:1.15}.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:22px 0}.insight-grid>div{padding:12px 10px;border:1px solid #3b5031;background:#1b2c1d;border-radius:4px}.insight-grid b{display:block;font:20px ui-monospace,monospace;color:#b8ca92}.insight-grid small{font-size:7px;color:#8ca179}.section-label{font-size:7px;letter-spacing:1.2px;color:#91a97d;margin:23px 0 9px}.manifest{padding:15px;background:#273a23;border:1px solid #465a36;border-left:2px solid var(--accent,#b7cb8d);border-radius:4px;margin:17px 0}.manifest span{display:block;font:7px ui-monospace,monospace;letter-spacing:.7px;color:#95ac7d}.manifest b{display:block;font-size:18px;line-height:1.5;font-weight:500;color:#cbdcb4;margin-top:6px}.stat{display:flex;justify-content:space-between;align-items:baseline;gap:14px;border-bottom:1px solid #30422c;padding:10px 0;font-size:9px}.stat>span{color:#859b75}.stat>b{font-weight:450;text-align:right;color:#c2d3ac;max-width:65%}.action{display:block;width:100%;margin-top:10px;padding:10px;font-size:10px;background:#2c4228;border-color:#4f683f}.action.primary{background:#aabc81;color:#18251a;border-color:#aabc81;font-weight:600}.source-note{margin-top:20px;padding-top:12px;border-top:1px solid #35482f}.source-note .eyebrow{font-size:6px}.source-note p{font-size:8px!important;line-height:1.8!important}.source-note a{font-size:8px}.progress{height:4px;border-radius:2px;background:#30412a;margin:13px 0 5px;overflow:hidden}.progress i{height:100%;display:block;background:var(--accent,#afc583)}.phase{font:7px ui-monospace,monospace;color:#a5b68e}.quest-dock{display:flex;align-items:center;gap:19px;padding:17px 20px;background:#16241b;flex-shrink:0;min-height:122px}.quest-dock>div:first-child{width:175px;flex-shrink:0}.quest-dock b{display:block;font-size:12px;font-weight:500;margin:5px 0}.quest-dock small{font-size:8px;color:#8a9f7d;line-height:1.6;display:block}#quest-cards{display:flex;gap:9px;overflow:auto;flex:1;scrollbar-width:thin}.mini-quest{min-width:180px;width:180px;padding:12px 14px;text-align:left;background:#1d2e20;border:1px solid #3e5233;border-top:2px solid var(--accent);border-radius:4px}.mini-quest span{font-size:6px;letter-spacing:.6px;color:#9cb286}.mini-quest b{font-size:10px;color:#c3d4ab}.mini-quest small{font:8px ui-monospace,monospace;color:#96ac7f}.dock-all{border:0;background:none;padding:0;font-size:9px;white-space:nowrap}#panel-view{height:100%;overflow:auto;padding:35px;max-width:1500px;margin:auto}#panel-view .back{font-size:9px;background:none;padding:0;border:0;color:#b2c992}.page-header{display:flex;align-items:end;justify-content:space-between;gap:25px;margin:25px 0}.page-header h1{font-size:38px;margin:5px 0}.page-header p{color:#8fa180;max-width:600px;font-size:12px}.quest-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:17px}.quest-card{border:1px solid #3b5031;border-top:2px solid var(--accent);padding:24px;border-radius:5px;background:#19291c}.quest-card h2{font-size:24px;font-weight:500;margin:10px 0;letter-spacing:-.5px}.quest-card p{color:#8c9f7d;font-size:11px;min-height:60px}.quest-card .tag{font-size:7px;letter-spacing:1px;color:#9eb588}.quest-card small{display:block;font-size:9px;color:#9bb188;margin:12px 0}.quest-card .bottom{display:flex;align-items:center;justify-content:space-between;margin-top:22px}.quest-card .bottom b{font:14px ui-monospace,monospace;color:#c4d4a6}.board-metrics{display:flex;gap:30px;padding:19px 0;border-block:1px solid #33472d;margin-bottom:25px}.board-metrics b{font:22px ui-monospace,monospace;display:block;color:#b6ca92}.board-metrics span{font-size:8px;color:#8fa47d}.modal-shade{position:fixed;inset:0;z-index:50;background:#070f0bcc;backdrop-filter:blur(5px);display:grid;place-items:center;padding:20px}.modal{width:710px;max-width:100%;max-height:90dvh;overflow:auto;background:#17271b;border:1px solid #536b40;border-radius:7px;padding:32px;box-shadow:0 30px 100px #0008}.modal-head{display:flex;justify-content:space-between;gap:15px}.modal-head h2{font-size:33px;line-height:1.2;letter-spacing:-.8px;font-weight:500;margin:11px 0}.modal-head button{align-self:start;background:none;border:0;font-size:21px;padding:0}.modal p{color:#97ab87;line-height:1.9}.quest-steps{margin:25px 0}.quest-step{display:flex;gap:15px;padding:15px 0;border-bottom:1px solid #344a2e}.quest-step>span{display:grid;place-content:center;border:1px solid #546d41;width:27px;height:27px;border-radius:50%;font:10px ui-monospace,monospace;flex-shrink:0}.quest-step.active>span{background:#b3c78b;color:#16221a}.quest-step b{font-size:12px;font-weight:500}.quest-step small{display:block;font-size:9px;color:#829c72;margin-top:4px}.join-controls{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:19px;background:#21341f;border:1px solid #3b5231;border-radius:5px}.join-controls label{font-size:8px;color:#8da57b}.join-controls select{display:block;width:100%;margin-top:7px}.join-controls button{grid-column:1/-1}.notice{font-size:8px!important;color:#80976e!important}.data-table{width:100%;border-collapse:collapse;margin:20px 0;font-size:11px}.data-table th{text-align:left;font-size:8px;color:#8fa67d;letter-spacing:1px;padding:12px 8px;border-bottom:1px solid #49613a}.data-table td{padding:14px 8px;border-bottom:1px solid #2f4429;color:#b6cba2}.data-table td:last-child{text-align:right}.data-table th:last-child{text-align:right}.source-card{padding:20px;background:#1a2a1d;border:1px solid #384f2f;border-radius:4px;margin-bottom:10px}.source-card h3{font-size:14px;font-weight:500;margin:0 0 8px}.source-card p{font-size:11px;color:#8fa780}.source-card small{font-size:8px;color:#b0c593}.source-links{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.factions{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}.faction{padding:20px;background:#1a2c1d;border:1px solid #3e5632;border-top:2px solid var(--accent);border-radius:5px}.faction b{font-size:15px;font-weight:500}.faction p{font-size:10px;color:#8ea77b}.faction strong{font:27px ui-monospace,monospace;color:var(--accent)}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);padding:11px 20px;border:1px solid #68834f;border-radius:4px;background:#2b4327;color:#d1e2bb;z-index:100;opacity:0;pointer-events:none;transition:.2s;font-size:11px}#toast.show{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}.crop-table{font-size:8px;margin:15px 0;width:100%;border-collapse:collapse}.crop-table td{padding:6px 0;border-bottom:1px solid #30452b}.crop-table td:last-child{text-align:right;font:8px ui-monospace,monospace}.crop-table th{font-size:7px;text-align:left;color:#8fa87c;padding-bottom:7px}.crop-table th:last-child{text-align:right}.crop-table button{font-size:8px;padding:0;background:none;border:0;color:#b5c997}.flag{color:#d2b17d!important}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #bbd399}#state-shapes path:focus-visible,.place:focus-visible,.vehicle:focus-visible{outline:none;filter:drop-shadow(0 0 3px #d7e6b5)}
@media(min-width:1600px){#inspector{width:330px;padding:30px}.app{grid-template-columns:280px minmax(0,1fr)}.side-heading{padding:29px 26px}h1{font-size:28px}}
@media(max-width:1150px){header{gap:15px;padding:0 18px}.brand small{display:none}.brand>span:last-child{font-size:23px}.edition{padding-left:16px}nav{margin:0}nav button{padding:8px;font-size:10px}.wallet{padding-left:13px}.app{grid-template-columns:225px minmax(0,1fr)}#inspector{width:250px;padding:19px 17px}.quest-dock>div:first-child{display:none}.map-key span:last-child{display:none}.map-bottom{font-size:5px}.map-bottom a{font-size:5px}}
@media(max-width:850px){header{height:65px;gap:13px}.brand-icon{font-size:35px}.brand>span:last-child{font-size:21px}.edition{font-size:9px;padding-left:13px;letter-spacing:1px}.edition small{font-size:5px}.edition i{width:13px;height:23px}nav{margin-left:auto;flex:0}nav button{display:none}nav button.active{display:block}.wallet{margin-left:auto}.wallet span{font-size:5px}.wallet b{font-size:13px}#mobile-layers{display:block;padding:4px 9px;font-size:17px}.app{display:block;height:calc(100dvh - 65px)}aside{position:fixed;top:65px;left:0;bottom:0;z-index:30;width:270px;transform:translateX(-100%);transition:transform .2s;box-shadow:15px 0 50px #0005}body.layers-open aside{transform:none}main{height:100%}.map-strip{height:43px;padding:7px 11px;font-size:6px}.map-strip>span{font-size:6px}.traffic-controls{gap:4px}.traffic-controls button,.traffic-controls select{font-size:7px;padding:4px 6px}#clock{font-size:6px;margin-left:3px}#inspector{position:absolute;right:12px;bottom:43px;width:258px;max-height:70%;border:1px solid #435b35;border-radius:5px;background:#142119f2;backdrop-filter:blur(10px);padding:18px;box-shadow:0 15px 40px #0004;z-index:5}#inspector.is-home{width:220px;bottom:38px;padding:14px}#inspector.is-home h2{font-size:19px;margin:5px 0}#inspector.is-home p{font-size:8px;margin:5px 0}#inspector.is-home .insight-grid,#inspector.is-home .home-extra{display:none}.quest-dock{min-height:110px;padding:12px;gap:10px}.mini-quest{min-width:175px;width:175px}.dock-all{font-size:8px;white-space:normal;width:40px}.map-key{font-size:6px;left:10px;gap:10px}.map-bottom{padding:5px 10px}.map-bottom a{max-width:40%;font-size:5px}.map-tools{top:12px;left:11px}.map-tools button{font-size:9px;padding:5px 8px}.north{right:14px;top:15px}.page-header{display:block}#panel-view{padding:23px}.page-header h1{font-size:31px}.board-metrics{gap:20px}.board-metrics b{font-size:18px}.factions{grid-template-columns:1fr}.modal{padding:24px}.modal-head h2{font-size:28px}.join-controls{padding:14px}.data-table{font-size:9px}.data-table td{padding:10px 5px}.data-table th{font-size:6px;padding:10px 5px}}
@media(max-width:480px){header{padding:0 12px;gap:11px}.brand-icon{font-size:31px}.brand>span:last-child{font-size:19px}.brand{gap:7px}.edition{border:0;padding:0;gap:7px}.edition small{display:none}.edition i{width:12px;height:19px}nav{display:none}.wallet span{font-size:4px}.wallet b{font-size:11px}#mobile-layers{margin-left:0}#clock{display:none}.map-strip>span{font-size:5px;letter-spacing:0}.map-strip b{margin-right:4px;padding:3px 4px}.quest-dock{min-height:105px}.map-key{bottom:8px}.join-controls{grid-template-columns:1fr}.join-controls button{grid-column:auto}}

.mobile-pages{display:none}@media(max-width:850px){.mobile-pages{display:flex;gap:4px;padding:15px 16px;border-bottom:1px solid var(--line)}.mobile-pages button{font-size:8px;padding:6px 7px}}

/* Definite map layout prevents intrinsic SVG size from collapsing its flex row. */
.map-layout{flex:1 1 0;min-height:160px}.map-stage{min-height:160px}#atlas{position:absolute;inset:0;width:100%;height:100%}

/* Keep both desktop panes in a single explicit grid row at every breakpoint. */
.app{grid-template-rows:minmax(0,1fr);overflow:hidden}
.app>aside{grid-column:1;grid-row:1;min-height:0}
.app>main{grid-column:2;grid-row:1;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden}
