:root{color-scheme:dark;--bg:#0c2020;--panel:#132c2c;--line:#35504a;--cream:#f1e9cd;--mint:#b9d9b3;--gold:#eac182;--muted:#adc0b6}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#28413b,var(--bg) 65%);color:var(--cream);font:15px/1.5 system-ui,sans-serif}main{max-width:1320px;margin:auto;padding:32px}h1,h2,h3,p{margin:0}h1{font:52px/1 Georgia,serif;letter-spacing:-2px}h1 span{display:block;font:13px/2 system-ui;letter-spacing:4px;text-transform:uppercase;color:var(--gold)}h2{font:25px Georgia,serif}h3{font:18px Georgia,serif}.eyebrow{color:var(--gold);font-size:10px;font-weight:700;letter-spacing:3px;margin-bottom:10px}header,nav,.campaign,.panel-title,footer{display:flex;align-items:center;justify-content:space-between;gap:16px}nav{flex-wrap:wrap;justify-content:flex-end}button{font:inherit;border:1px solid var(--line);background:#203d37;color:var(--cream);border-radius:8px;padding:10px 14px;cursor:pointer;transition:background .15s,transform .15s}button:hover:not(:disabled){background:#3e6251;transform:translateY(-1px)}button:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:disabled{opacity:.4;cursor:not-allowed}.campaign{margin:28px 0 20px;padding-top:22px;border-top:1px solid var(--line)}.campaign p{color:var(--muted);margin-top:8px}#chapter{font-size:11px;letter-spacing:2px;color:var(--gold)}.day{text-align:right;min-width:160px}.day strong{font:32px Georgia;display:block}.day span{display:block;color:var(--muted);font-size:12px}#stars{color:var(--gold);letter-spacing:3px;margin-top:4px}.resources{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:22px}.resource{background:#1b3530;border:1px solid var(--line);border-radius:12px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:8px}.resource strong{font:28px Georgia}.resource small{display:block;color:var(--muted);font-size:11px}.resource button{font-size:11px;padding:6px 8px}.resource summary{color:var(--gold);font-size:12px;cursor:pointer}.resource details p{font-size:10px;max-width:90px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px}.map-panel,.orders,.training{background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden}.panel-title{padding:16px 20px}.panel-title span{font-size:12px;color:var(--mint)}.map{height:480px;position:relative;isolation:isolate;background:radial-gradient(ellipse at 50% 45%,#42614b 0,#253f35 40%,#102c2b 77%);overflow:hidden}.map:before{content:"";position:absolute;inset:20px;background:repeating-radial-gradient(ellipse at 55% 55%,transparent 0 28px,#94b18d15 29px 30px,transparent 31px 36px);border-radius:50%}.map svg{position:absolute;inset:0;width:100%;height:100%;z-index:0}.map path{fill:none;stroke:#dfbc7955;stroke-width:.5;stroke-dasharray:1 1}.art{background-image:url('valley-atlas.webp');background-size:200% 200%;background-repeat:no-repeat}.art0{background-position:0 0}.art1{background-position:100% 0}.art2{background-position:0 100%}.art3{background-position:100% 100%}.home,.node{position:absolute;width:150px;height:150px;transform:translate(-50%,-50%);border:0;background-color:#102c2b;border-radius:50%;box-shadow:0 18px 30px #071a1a66}.home{left:12%;top:40%;width:165px;height:165px;pointer-events:none}.home span,.node span{position:absolute;top:84%;left:50%;transform:translateX(-50%);white-space:nowrap;border:1px solid #65795f;background:#102c2be8;border-radius:20px;padding:4px 12px;font-size:12px}.node:hover:not(:disabled){transform:translate(-50%,-53%);background-color:#102c2b}.node.selected{outline:2px solid var(--gold);outline-offset:5px}.node.captured{outline:2px solid var(--mint)}.node.locked{filter:saturate(.4)}.node em{position:absolute;top:4px;right:4px;border-radius:50%;background:var(--gold);color:#18382d;font-style:normal;padding:2px 8px}.map-caption{position:absolute;bottom:18px;left:22px;color:var(--gold);font-size:10px;letter-spacing:2px}#message{padding:14px 20px;background:#203e34;color:var(--mint);min-height:52px;border-top:1px solid var(--line)}.journal{padding:18px 20px}ol{padding-left:20px;color:var(--muted);font-size:12px}li{padding:3px 0}aside{display:flex;flex-direction:column;gap:16px}.orders{padding:20px}.site-art{width:100%;height:150px;background-size:200% 200%;aspect-ratio:1}.site-art{width:170px;height:170px;margin:0 auto}.orders p:not(.eyebrow){font-size:12px;color:var(--muted);margin:8px 0}#garrison{color:var(--gold)}.army{display:flex;gap:10px;margin:14px 0 8px}.army label{flex:1;font-size:12px;color:var(--muted)}input{display:block;width:100%;border:1px solid var(--line);background:#092020;color:var(--cream);padding:8px;border-radius:6px;font:18px Georgia}.small{font-size:11px;padding:5px 8px}.mode{display:flex;margin:14px 0 8px}.mode button{flex:1;border-radius:0;font-size:12px}.mode button[aria-pressed=true]{background:var(--mint);color:var(--bg)}.forecast{padding:12px;background:#0b2321;border-radius:8px;font-size:12px;min-height:100px}.forecast strong{color:var(--gold)}.primary{display:block;width:100%;background:var(--gold);color:#153429;font-weight:700;margin-top:12px;border:0}.primary:hover:not(:disabled){background:#f8dbaa}.training{padding-bottom:18px}.training h2{font-size:22px}.training>p{font-size:11px;padding:0 20px;color:var(--muted)}#training{padding:10px 20px}.train-row{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.train-row span{font-size:12px}.train-row small{display:block;font-size:10px;color:var(--muted)}.train-row button{font-size:12px;padding:8px}.training>#wait{margin:0 20px;font-size:12px}footer{font-size:11px;color:var(--muted);margin:24px 0}footer button{font-size:11px}dialog{max-width:600px;width:calc(100% - 32px);max-height:85vh;overflow:auto;background:#193831;color:var(--cream);border:1px solid var(--gold);border-radius:18px;padding:30px}dialog::backdrop{background:#031414bd;backdrop-filter:blur(6px)}dialog h2{font-size:32px;margin-bottom:18px}dialog p{margin:12px 0;color:#cedbc9}dialog button{margin-top:16px}dialog a{color:var(--gold)}dialog .victory-art{width:250px;height:250px;margin:auto}dialog ul{padding-left:20px}#dialog-content .primary{padding:14px}a{color:var(--gold)}@media(max-width:1050px){main{padding:20px}.layout{grid-template-columns:minmax(0,1fr) 300px}.home,.node{width:115px;height:115px}.map{height:430px}.resource{padding:10px;flex-wrap:wrap}.resource strong{font-size:24px}header{align-items:flex-start}nav{gap:6px}nav button{font-size:12px;padding:8px}}@media(max-width:760px){h1{font-size:43px}header{display:block}nav{justify-content:flex-start;margin-top:18px}.campaign{align-items:flex-start}.campaign h2{font-size:22px}.campaign p{font-size:12px}.day{min-width:100px}.day strong{font-size:25px}.resources{grid-template-columns:repeat(2,1fr)}.layout{display:flex;flex-direction:column}.map{height:390px}.node,.home{width:105px;height:105px}.node span,.home span{font-size:10px;padding:3px 8px}.panel-title h2{font-size:22px}.orders{display:block}footer{align-items:flex-start}#site-art{float:right;width:135px;height:135px;margin:0 0 10px 8px}.army{clear:both}main{padding:16px}.map-caption{font-size:9px}.resource small{font-size:10px}.resource details p{max-width:150px}dialog{padding:22px}}@media(prefers-reduced-motion:reduce){button{transition:none}}
