:root{color-scheme:dark;--bg:#101a27;--panel:#182536;--line:#33465c;--ink:#f0eee7;--muted:#b8c5d2;--gold:#edbe73}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,sans-serif}header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 3vw;border-bottom:1px solid var(--line)}h1,h2,h3,p{margin:0 0 12px}h1{font:38px/1.1 Georgia,serif;letter-spacing:.07em;margin:5px 0 0}h1 small{font:13px system-ui;letter-spacing:0;color:var(--gold)}h2{font:28px/1.15 Georgia,serif}h3{font-size:16px}.eyebrow{font-size:10px;letter-spacing:.18em;color:var(--gold)}nav,.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}nav{gap:24px}a{color:var(--gold)}button,.button{border:1px solid var(--gold);border-radius:5px;background:var(--gold);color:#18202c;font:600 13px/1.3 system-ui;padding:10px 13px;min-height:40px;cursor:pointer;text-decoration:none}.secondary{background:transparent;color:var(--ink);border-color:#65758a}button:disabled{opacity:.45;cursor:default}button:hover:enabled,.button:hover{filter:brightness(1.12)}:focus-visible{outline:3px solid #83cfff;outline-offset:3px}input,select,textarea{display:block;width:100%;min-width:0;color:var(--ink);background:#101c2b;border:1px solid #60738a;border-radius:4px;padding:10px;font:inherit}label{display:block;font-size:13px;color:var(--muted);margin-bottom:7px}form{margin:18px 0}input:read-only{color:var(--gold)}.status{padding:10px 3vw;background:#1c2c3a;color:#d1dfeb;margin:0;font-size:13px}#error{padding:12px 3vw;background:#532c2c;border-bottom:1px solid #d48279}main{padding:24px 3vw}.lobby{max-width:1250px;margin:auto;display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:8px;overflow:hidden}.cover{position:relative;min-height:680px;background:#080e18}.cover img{width:100%;height:100%;object-fit:cover;position:absolute}.cover:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0a1525 0%,transparent 80%)}.cover>div{position:absolute;bottom:0;padding:38px;z-index:1}.cover h2{font-size:44px;margin:14px 0}.cover p{max-width:380px;color:#e0e6eb}.lobby-forms{padding:30px;background:var(--panel)}.lobby-forms>p,.muted{color:var(--muted);font-size:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}#room-code{flex:1;text-transform:uppercase;letter-spacing:.13em}.room-bar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px}.room-bar h2{margin-top:8px}.command-layout{display:grid;grid-template-columns:240px minmax(300px,1fr) 310px;gap:16px;align-items:start}.card{border:1px solid var(--line);background:var(--panel);padding:18px;border-radius:6px;margin-bottom:16px;min-width:0}.information,.center{min-width:0}ul{padding:0;list-style:none}#roster li{margin:9px 0;padding-bottom:8px;border-bottom:1px solid var(--line);font-size:13px}#roster small{display:block;color:var(--muted)}.badge{color:var(--gold);font-size:11px}#chat-log{height:220px;overflow:auto;overflow-wrap:anywhere;margin:12px 0}#chat-log p{font-size:13px;background:#111d2d;padding:8px;border-radius:4px}#chat-log strong{color:var(--gold);display:block;font-size:11px}small{font-size:11px;color:var(--muted)}.chat form{margin:8px 0}.chat button{width:100%;margin-top:8px}.map-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;background:var(--panel);font-size:12px;border:1px solid var(--line)}.map-tools button{padding:8px 10px;min-width:36px}.map-wrap{height:520px;background:#e2dac7;overflow:hidden}canvas{display:block;touch-action:none;width:100%;height:100%}.map-hint{font-size:11px;color:var(--muted);padding:8px 0}#waiting-art{min-height:360px;background:linear-gradient(130deg,#263d55,#162132);padding:44px}#waiting-art h2{font-size:40px;max-width:400px}#waiting-art p{max-width:450px;color:var(--muted)}.tabs{display:flex;gap:5px;margin:18px 0}.tabs button{flex:1;padding:8px;background:transparent;color:var(--ink);border-color:var(--line)}.tabs button[aria-pressed=true]{border-color:var(--gold);color:var(--gold)}#orders{min-height:340px}#orders h3{margin-top:16px}#orders .field{display:grid;grid-template-columns:1fr 72px;gap:8px;align-items:center;margin:8px 0}#orders .field button{grid-column:1 / -1}#orders input[type=checkbox]{display:inline;width:auto;margin-right:7px}#orders select{margin-bottom:10px}#orders .queue-row{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:7px 0}#orders .queue-row button{padding:5px 9px;min-height:32px}#ready-note{margin-top:10px}#report{max-height:200px;overflow:auto;font-size:13px}#report p{border-bottom:1px solid var(--line);padding-bottom:8px}#resign{margin-top:18px}#invite-fallback{max-width:900px;margin-bottom:18px}footer{padding:20px 3vw;color:var(--muted);font-size:11px;border-top:1px solid var(--line)}[hidden]{display:none!important}@media(min-width:1700px){.command-layout{grid-template-columns:270px minmax(500px,1fr) 330px}.map-wrap{height:650px}}@media(max-width:1150px){.command-layout{grid-template-columns:230px minmax(300px,1fr)}#controls{grid-column:2}.information{grid-row:1 / span 2}.map-wrap{height:430px}}@media(max-width:760px){header{padding:18px;align-items:start}h1{font-size:29px}nav{gap:10px;font-size:12px;flex-direction:column}.lobby{display:block}.cover{min-height:300px}.cover img{object-position:center 30%}.cover>div{padding:22px}.cover h2{font-size:30px}.cover p{display:none}.lobby-forms{padding:22px}main{padding:16px}.command-layout{display:flex;flex-direction:column}.center{order:0;width:100%}#controls{order:1;width:100%}.information{order:2;width:100%}.map-wrap{height:350px}.room-bar{display:block}.room-bar>.row{margin-top:16px}.form-grid{grid-template-columns:1fr 1fr}.map-tools{flex-wrap:wrap}#orders{min-height:0}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* Keep production controls compact and reachable beside the map. */
#orders .field{grid-template-columns:minmax(0,1fr) 48px;gap:6px;margin:6px 0}
#orders .field label{display:grid;grid-template-columns:minmax(0,1fr) 58px;align-items:center;gap:6px;margin:0}
#orders .field input{padding:7px 5px}
#orders .field button{grid-column:auto;padding:6px;min-height:35px}
@media(min-width:1151px){#controls{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow-y:auto}}

/* Information / map / controls workspace. */
.sidebar-heading{font:20px Georgia,serif;color:var(--gold);margin:0 0 16px}
#controls .map-tools{padding:0 0 14px;border:0;background:transparent}
#house-info #resources{margin:0;color:var(--muted);font-size:13px}
#report{max-height:none;overflow:visible}
@media(min-width:901px){
 .command-layout{grid-template-columns:clamp(215px,19vw,285px) minmax(230px,1fr) clamp(285px,26vw,365px);height:calc(100dvh - 280px);min-height:460px;align-items:stretch;gap:14px}
 .information,#controls{overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;max-height:100%}
 .information{grid-row:auto;padding-right:4px}
 #controls{grid-column:auto;position:static;margin:0}
 .center,#game-view{height:100%;min-height:0}
 #game-view{display:flex;flex-direction:column}
 .map-wrap{height:auto;flex:1;min-height:300px}
 .map-hint{margin:0;padding:9px 0 0}
}
@media(min-width:761px) and (max-width:900px){
 .command-layout{grid-template-columns:1fr 1fr;align-items:start}
 .center{grid-column:1 / -1;grid-row:1}
 .information{grid-column:1;grid-row:2}
 #controls{grid-column:2;grid-row:2;position:static;max-height:none}
}
