
@charset "UTF-8";
:root{color-scheme:dark;--bg:#101b24;--panel:#182630;--panel2:#1d2e37;--line:#30424a;--text:#edeedf;--muted:#9aafb1;--green:#c4ed91;--green-dim:#304637;--amber:#ecc27d;--blue:#8ccad5;--red:#f4a18e;--food:#c4ed91;--energy:#edca76;--smithore:#e6ad8b;--crystite:#c0b0f7;font-family:Arial,Helvetica,sans-serif;font-size:calc(14px * var(--client-font-scale,1));line-height:1.5;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}[hidden]{display:none!important}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;border:0;color:inherit;background:transparent}button:disabled{cursor:not-allowed;opacity:.43}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--green);outline-offset:3px}button:not(:disabled),a{transition:background .15s,color .15s,border-color .15s,transform .15s}a{color:var(--green);text-decoration:none}p{margin:0 0 1em}h1,h2,h3,h4{line-height:1.18;margin:0;font-weight:600;letter-spacing:-.035em}h2{font-size:calc(23px * var(--client-font-scale,1))}h3{font-size:calc(17px * var(--client-font-scale,1))}svg{display:inline-block;width:24px;height:24px;flex-shrink:0;vertical-align:middle}input,select,textarea{background:#111e27;border:1px solid #41565d;border-radius:5px;padding:11px 12px;color:var(--text);width:100%;min-width:0}input::placeholder,textarea::placeholder{color:#71898f}input[type=number]{font-variant-numeric:tabular-nums}input[type=checkbox]{accent-color:var(--green);width:18px;height:18px;margin:0;flex-shrink:0}input:focus,select:focus,textarea:focus{border-color:var(--green)}label{display:block;font-size:calc(10px * var(--client-font-scale,1));font-weight:bold;letter-spacing:.1em;color:var(--muted);margin-bottom:7px}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.muted{color:var(--muted)}.eyebrow{font:600 calc(10px * var(--client-font-scale,1))/1.5 monospace;letter-spacing:.15em;color:var(--green);display:block}.primary,.secondary,.subtle{font-weight:600;border-radius:5px;padding:11px 17px;display:inline-flex;gap:9px;justify-content:center;align-items:center;white-space:nowrap}.primary{background:var(--green);color:#1b2b27;border:1px solid var(--green)}.primary:hover:not(:disabled){background:#d6f5b1;border-color:#d6f5b1}.secondary{background:#253942;border:1px solid #4b6268}.secondary:hover:not(:disabled){background:#354d54}.subtle{background:transparent;border:1px solid var(--line);color:var(--text)}.subtle:hover:not(:disabled){background:#263941;border-color:#52676c}.large{width:100%;justify-content:space-between;padding:16px 18px}.text-button{padding:0;color:var(--muted);font-size:calc(12px * var(--client-font-scale,1))}.text-button:hover{color:var(--green)}.icon-button{min-width:35px;height:35px;padding:0 8px;border:1px solid var(--line);border-radius:5px;font-size:calc(20px * var(--client-font-scale,1));display:inline-flex;align-items:center;justify-content:center}.icon-button:hover:not(:disabled){background:#30444b;border-color:#52696e}.pill{font:calc(10px * var(--client-font-scale,1))/1.4 monospace;border:1px solid #40565d;color:#b0c4c4;border-radius:4px;padding:3px 6px;display:inline-block;letter-spacing:0;vertical-align:middle;white-space:nowrap}.signal-dot{display:inline-block;width:6px;height:6px;border-radius:100%;background:var(--green);box-shadow:0 0 10px #c4ed9130;flex-shrink:0}.signal-dot.offline{background:var(--amber);box-shadow:none}.button-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.inline-error{color:var(--red);font-size:calc(13px * var(--client-font-scale,1));margin:12px 0 0}.inline-error:empty{display:none}.field-help{font-size:calc(12px * var(--client-font-scale,1));color:var(--muted);margin:7px 0 18px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.brand{color:var(--text);display:inline-flex;align-items:center;gap:12px;letter-spacing:.15em;font-size:calc(24px * var(--client-font-scale,1));line-height:1}.brand svg{width:48px;height:48px;color:var(--green)}.brand b{display:block;font:calc(10px * var(--client-font-scale,1))/1.7 monospace;letter-spacing:.45em;color:var(--muted);margin-top:6px}.brand.small{font-size:calc(18px * var(--client-font-scale,1));gap:8px}.brand.small svg{width:37px;height:37px}.brand.small b{font-size:calc(8px * var(--client-font-scale,1));margin-top:4px}.welcome{min-height:100svh;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(370px,.8fr)}.welcome-world{position:relative;padding:42px 7%;overflow:hidden;background:#182d34;display:flex;flex-direction:column;isolation:isolate}.welcome-world:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.24;background-image:radial-gradient(#80ac9a 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(transparent,#000)}.welcome-copy{padding-top:75px;position:relative;z-index:2}.welcome-copy .eyebrow{display:flex;align-items:center;gap:10px}.welcome h1{font-size:calc(clamp(37px,4vw,68px) * var(--client-font-scale,1));font-weight:500;line-height:1.08;letter-spacing:-.055em;margin:21px 0}.welcome-copy p{color:#b4c7bf;font-size:calc(16px * var(--client-font-scale,1));line-height:1.7}.welcome-tags{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0 5px}.welcome-tags span{border:1px solid #496056;border-radius:30px;padding:5px 10px;font-size:calc(10px * var(--client-font-scale,1));color:#c4d3c4}.welcome-entry{padding:43px 11%;display:flex;flex-direction:column;min-height:100svh;background:#111d26}.entry-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.entry-top .eyebrow{color:var(--muted)}.entry-content{margin:auto 0;padding:55px 0 42px}.entry-number{font:calc(11px * var(--client-font-scale,1)) monospace;letter-spacing:.12em;color:var(--amber);margin-bottom:19px}.entry-content h2{font-size:calc(41px * var(--client-font-scale,1));line-height:1.1;font-weight:500;margin-bottom:17px}.entry-content>.muted{font-size:calc(14px * var(--client-font-scale,1));margin-bottom:35px;max-width:310px}.entry-content input{padding:14px}.entry-tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin:23px 0 25px}.entry-tabs button{flex:1;padding:12px 0;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.entry-tabs button.active{color:var(--green);border-color:var(--green)}#room-key{letter-spacing:.15em;text-transform:uppercase;font:calc(20px * var(--client-font-scale,1)) monospace}.entry-note{display:flex;gap:15px;border-top:1px solid var(--line);margin-top:33px;padding-top:24px;color:var(--muted);font-size:calc(12px * var(--client-font-scale,1))}.entry-note svg{width:36px;height:36px;color:#91a69d;margin-top:3px}.entry-note b{color:#cdd8ce;line-height:2;font-size:calc(13px * var(--client-font-scale,1))}.entry-note p{margin:0}.entry-bottom{font:calc(9px * var(--client-font-scale,1)) monospace;letter-spacing:.13em;color:var(--muted);display:flex;gap:9px;align-items:center}.resume-box{border:1px solid var(--line);padding:12px;border-radius:5px;margin-top:18px;font-size:calc(12px * var(--client-font-scale,1))}.resume-box>span{display:block;color:var(--muted);margin-bottom:3px}.resume-box button{color:var(--green);padding:0}.welcome-foot{font-size:calc(10px * var(--client-font-scale,1));color:#8da99e;margin:auto 0 0;padding-top:20px}.frontier-art{position:relative;height:300px;min-height:245px;margin:16px -4% 0;overflow:hidden;flex:1;max-height:380px}.art-stars{position:absolute;top:5%;left:4%;letter-spacing:20px;color:#a9c5a1;font-size:calc(16px * var(--client-font-scale,1));opacity:.7}.art-moon{position:absolute;right:12%;top:3%;width:90px;height:90px;background:#dbc388;border-radius:50%;box-shadow:0 0 80px #e8dc9a15;overflow:hidden}.art-moon:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 7px,#172d3520 7px 9px)}.art-orbit{position:absolute;width:230px;height:70px;right:3%;top:7%;border:1px solid #76988355;border-radius:50%;transform:rotate(-30deg)}.art-hills{position:absolute;width:110%;height:61%;bottom:20%;left:-5%;background:#3f6057;clip-path:polygon(0 80%,12% 65%,23% 32%,30% 48%,42% 6%,54% 60%,66% 36%,78% 69%,87% 16%,100% 65%,100% 100%,0 100%)}.art-hills.front{bottom:10%;height:49%;background:#6e8662;clip-path:polygon(0 74%,15% 50%,27% 77%,41% 41%,59% 76%,73% 19%,91% 78%,100% 60%,100% 100%,0 100%)}.art-field{position:absolute;bottom:19%;height:32%;width:86%;left:7%;background:repeating-linear-gradient(0deg,transparent 0 35px,#223e3630 35px 36px),repeating-linear-gradient(90deg,#8e9e69 0 63px,#475f5130 63px 65px);transform:skewY(-5deg);box-shadow:0 15px 0 #4c6851,0 18px 0 #2d4b41;clip-path:polygon(0 0,92% 0,100% 90%,100% 100%,8% 100%,0 10%)}.art-river{position:absolute;top:-20%;left:38%;width:16%;height:150%;background:#63aaa7;transform:skewX(25deg);border-left:7px solid #b2bd87;border-right:7px solid #b2bd87}.art-rows{position:absolute;left:9%;top:25%;width:18%;height:36%;transform:skewX(25deg);background:repeating-linear-gradient(0deg,#c7c58b 0 4px,#759158 4px 11px);border:3px solid #728457}.art-base{position:absolute;right:12%;top:17%;display:flex;gap:7px;align-items:end}.art-base i{display:block;width:25px;height:22px;background:#e4d9b2;border-top:7px solid #315c56;box-shadow:3px 3px #304f40}.art-base i:nth-child(2){height:38px;width:19px;border-top-color:#d69a67}.art-mule{position:absolute;width:44px;height:44px;left:64%;top:53%;color:#e8d294;filter:drop-shadow(4px 5px 0 #415a4370)}.art-beacon{position:absolute;left:30%;top:5%;height:40px;width:3px;background:#ddd5a5}.art-beacon:before{content:"";position:absolute;left:-3px;top:0;width:10px;height:10px;border-radius:50%;background:#d0ea9b;box-shadow:0 0 20px #d0ea9b}.art-caption{position:absolute;bottom:1%;left:7%;right:1%;display:flex;justify-content:space-between;font:calc(8px * var(--client-font-scale,1)) monospace;letter-spacing:.1em;color:#a9bba5;gap:15px}.topbar{min-height:80px;display:flex;align-items:center;gap:30px;padding:18px 32px;border-bottom:1px solid var(--line);background:#14212a}.connection{display:flex;align-items:center;gap:8px;font-size:calc(11px * var(--client-font-scale,1));color:var(--muted)}.room-chip{display:flex;align-items:center;gap:14px;margin-left:auto;border-left:1px solid var(--line);padding-left:25px}.room-chip>span{font:calc(9px * var(--client-font-scale,1)) monospace;letter-spacing:.08em;color:var(--muted)}.room-chip button{font:calc(18px * var(--client-font-scale,1)) monospace;color:var(--green);letter-spacing:.1em;padding:3px}.room-chip button span{font-size:calc(14px * var(--client-font-scale,1));margin-left:8px;color:var(--muted)}.topbar-actions{display:flex;gap:9px;align-items:center}.topbar-actions .subtle{font-size:calc(11px * var(--client-font-scale,1));padding:8px 11px}.phase-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:27px 32px 24px}.phase-heading h1{font-size:calc(31px * var(--client-font-scale,1));margin-top:5px;font-weight:500}.phase-heading p{color:var(--muted);font-size:calc(12px * var(--client-font-scale,1));margin:8px 0 0;max-width:560px}.phase-controls{display:flex;align-items:center;gap:9px}.clock{text-align:right;margin-right:12px;min-width:82px}.clock span{font:calc(8px * var(--client-font-scale,1)) monospace;letter-spacing:.13em;color:var(--muted);display:block}.clock b{font:calc(27px * var(--client-font-scale,1)) monospace;font-variant-numeric:tabular-nums;color:var(--text)}.clock.urgent b{color:var(--amber)}.phase-progress{display:flex;align-items:center;gap:0;align-self:center;margin:auto;flex-shrink:0}.phase-step{width:42px;height:32px;display:flex;align-items:center;justify-content:center;font:calc(10px * var(--client-font-scale,1)) monospace;color:#668087;border:1px solid var(--line);border-right:0;position:relative}.phase-step:first-child{border-radius:4px 0 0 4px}.phase-step:last-child{border-right:1px solid var(--line);border-radius:0 4px 4px 0}.phase-step.active{color:var(--green);background:#283e35;border-color:#7c9e64}.phase-step.done{color:#a1b8ab;background:#1a2a2c}.player-hud{margin:0 32px 23px;background:#1b2a31;border:1px solid var(--line);border-radius:7px;display:grid;grid-template-columns:1.35fr repeat(5,1fr)}.hud-item{padding:16px 21px;border-left:1px solid var(--line);display:flex;align-items:center;gap:13px;min-width:0}.hud-item:first-child{border-left:0}.hud-item svg{width:24px;height:24px}.hud-item .resource-name{display:block;color:var(--muted);font:calc(9px * var(--client-font-scale,1)) monospace;letter-spacing:.12em}.hud-item strong{font:calc(25px * var(--client-font-scale,1)) monospace;letter-spacing:-.05em;color:var(--text)}.hud-item .hud-detail{font-size:calc(10px * var(--client-font-scale,1));color:var(--muted);margin-left:5px;white-space:nowrap}.hud-item .hud-detail.shortage{color:var(--red)}.hud-item.food{color:var(--food)}.hud-item.energy{color:var(--energy)}.hud-item.smithore{color:var(--smithore)}.hud-item.crystite{color:var(--crystite)}.hud-item.credits{color:var(--amber)}.hud-item.identity{gap:12px}.avatar{width:35px;height:35px;border:1px solid var(--player-color,#a1baad);background:color-mix(in srgb,var(--player-color,#a1baad) 15%,#172730);color:var(--player-color,#a1baad);display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:5px;font:calc(16px * var(--client-font-scale,1)) monospace}.hud-item.identity strong{font:600 calc(14px * var(--client-font-scale,1)) Arial,sans-serif;display:block;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}.hud-item.identity .resource-name{margin-top:3px;font-size:calc(9px * var(--client-font-scale,1))}.game-layout{padding:0 32px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.panel{background:var(--panel);border:1px solid var(--line);border-radius:7px;overflow:hidden}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 22px}.panel-heading .eyebrow{color:var(--muted);font-size:calc(9px * var(--client-font-scale,1));margin-bottom:5px}.panel-heading h2{font-size:calc(20px * var(--client-font-scale,1));font-weight:500}.panel-heading h2 .pill{margin-left:7px}.map-tools{display:flex;align-items:center;gap:5px}.map-tools>.muted{font-size:calc(10px * var(--client-font-scale,1));margin-right:9px}.map-tools .icon-button{height:28px;min-width:28px;font-size:calc(18px * var(--client-font-scale,1))}.zoom-label{font:calc(10px * var(--client-font-scale,1)) monospace;color:#b4c6c7;padding:3px 5px}.map-scroll{background:#102025;max-height:650px;min-height:300px;overflow:auto;padding:18px;scrollbar-color:#4d6968 #12252a}.world-map{--tile-size:78px;display:grid;gap:3px;width:max-content;min-width:100%;grid-template-columns:repeat(var(--map-width,9),minmax(var(--tile-size),1fr));padding:0 0 8px}.tile{position:relative;aspect-ratio:1.16;min-height:calc(var(--tile-size)*.85);width:100%;height:100%;border:1px solid #89a77840;border-radius:2px;overflow:hidden;background:#617957;color:#edf0d7;isolation:isolate;padding:0;outline-offset:0!important}.tile:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 26% 67%,#bac19080 0 1px,transparent 2px),radial-gradient(ellipse at 70% 38%,#b5bf8860 0 2px,transparent 3px),linear-gradient(135deg,#8b9c6810,#2f573450);background-size:17px 21px,31px 19px,100% 100%}.tile.plain .landscape{position:absolute;left:10%;right:10%;top:40%;height:25%;background:repeating-linear-gradient(0deg,transparent 0 6px,#b0be8565 6px 7px);transform:skewY(-8deg)}.tile.river{background:#749a72}.tile.river .landscape{position:absolute;top:-10%;bottom:-10%;left:28%;width:39%;background:repeating-linear-gradient(0deg,transparent 0 13px,#9ad8c138 13px 14px),#508f92;border-left:4px solid #a5b687;border-right:4px solid #a5b687;transform:skewX(-9deg)}.tile.mountain{background:#677655}.tile.mountain .landscape{position:absolute;left:5%;right:2%;top:12%;bottom:13%;background:linear-gradient(115deg,#a5a67c 48%,#6b7259 49%,#535f4e 75%);clip-path:polygon(0 94%,25% 36%,39% 65%,64% 0,100% 94%)}.tile.mountain.peaks-1 .landscape{left:12%;right:10%;clip-path:polygon(0 94%,50% 5%,100% 94%)}.tile.mountain.peaks-3 .landscape{clip-path:polygon(0 94%,16% 26%,32% 61%,53% 0,69% 57%,83% 29%,100% 94%)}.tile.town{background:#889779;border-color:#aeba9155}.tile.town .landscape{position:absolute;left:20%;top:33%;width:25%;height:29%;background:#d8cda0;border-top:7px solid #315955;box-shadow:21px 10px 0 -1px #e5d1a0,10px -13px 0 -4px #c3ad85}.tile.town .landscape:after{content:"";position:absolute;left:30%;top:25%;width:5px;height:6px;background:#45655b;box-shadow:8px 0 #45655b}.tile-coordinate{position:absolute;top:4px;left:5px;font:calc(8px * var(--client-font-scale,1)) monospace;color:#e2e8c4aa;text-shadow:1px 1px #243b33}.tile-owner{position:absolute;inset:auto 0 0;height:5px;background:var(--owner-color,transparent);opacity:.95}.tile.owned{border-color:var(--owner-color,#819789)}.tile.selected{outline:3px solid var(--green);z-index:2;box-shadow:inset 0 0 0 2px #1c3727}.tile:hover{filter:brightness(1.13);border-color:#e0e6b5}.tile.auction-tile{outline:2px dashed var(--amber);outline-offset:-4px!important}.tile.claimed:after{content:"✓";position:absolute;right:5px;top:2px;background:#162e2abf;color:var(--green);border-radius:3px;font-size:calc(12px * var(--client-font-scale,1));padding:0 3px}.tile-machine{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:1px;filter:drop-shadow(1px 2px 0 #1b302a)}.tile-machine>.mule{width:33px;height:33px;color:var(--machine-color,var(--text))}.tile-machine>.resource-icon{width:14px;height:14px;color:var(--machine-color,var(--text));background:#172c2bcc;border-radius:3px;padding:1px;align-self:end}.tile-yield{position:absolute;right:5px;bottom:9px;font:calc(9px * var(--client-font-scale,1)) monospace;color:#eef0d9;text-shadow:1px 1px #162c22}.map-footer{display:flex;justify-content:space-between;align-items:center;padding:11px 20px;border-bottom:1px solid var(--line);gap:10px;font-size:calc(9px * var(--client-font-scale,1))}.terrain-legend{display:flex;gap:14px;flex-wrap:wrap}.terrain-legend span{display:flex;gap:5px;align-items:center;color:#b3c0b9}.terrain-legend i{width:8px;height:8px;border-radius:2px;background:#728460}.terrain-legend .river{background:#629b9e}.terrain-legend .mountain{background:#a19e78}.terrain-legend .town{background:#ddd1a4}.colony-status{padding:15px 20px 0}.colony-status-top{display:flex;justify-content:space-between;gap:15px;font-size:calc(10px * var(--client-font-scale,1));color:var(--muted);margin-bottom:7px}.colony-status-top b{font-weight:400;color:var(--text)}.progress-track{height:4px;border-radius:2px;background:#2f454b;overflow:hidden}.progress-fill{height:100%;background:var(--green);max-width:100%;transition:width .5s}.roster-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 20px 11px}.roster-heading h3{font-size:calc(14px * var(--client-font-scale,1));letter-spacing:0}.roster-heading .pill{margin-left:5px}.roster-heading .muted{font-size:calc(10px * var(--client-font-scale,1))}.players{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));border-top:1px solid var(--line);max-height:285px;overflow:auto}.player-card{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid #30424a80;border-right:1px solid #30424a80;min-width:0}.player-card.me{background:#21352f88}.player-card .avatar{width:29px;height:29px;font-size:calc(12px * var(--client-font-scale,1))}.player-info{min-width:0;flex:1}.player-name{font-size:calc(12px * var(--client-font-scale,1));display:flex;align-items:center;gap:5px;overflow:hidden}.player-name>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-tags{font-size:calc(8px * var(--client-font-scale,1));color:var(--green);white-space:nowrap}.player-details{font:calc(9px * var(--client-font-scale,1)) monospace;color:var(--muted);margin-top:3px}.player-rank{font:calc(9px * var(--client-font-scale,1)) monospace;color:#7e979c;width:14px}.player-value{font:calc(13px * var(--client-font-scale,1)) monospace;text-align:right;white-space:nowrap}.player-value small{display:block;font:calc(8px * var(--client-font-scale,1)) monospace;margin-top:2px;color:var(--muted)}.player-menu{display:flex;gap:2px}.player-menu button{font-size:calc(12px * var(--client-font-scale,1));padding:4px;color:var(--muted)}.player-menu button:hover{color:var(--green)}.operations-column{display:flex;flex-direction:column;gap:20px}.phase-panel{padding:21px}.phase-panel .eyebrow{font-size:calc(9px * var(--client-font-scale,1))}.phase-panel h2{font-size:calc(22px * var(--client-font-scale,1));margin-top:8px;margin-bottom:12px}.phase-panel p{color:var(--muted);font-size:calc(12px * var(--client-font-scale,1));line-height:1.65}.phase-panel .primary,.phase-panel .secondary{width:100%}.phase-panel .button-row .secondary{width:auto;flex:1}.phase-panel .phase-illustration{height:56px;display:flex;align-items:center;color:var(--green);margin-bottom:15px}.phase-illustration svg{height:52px;width:52px}.phase-panel.lobby{background:linear-gradient(145deg,#253c32,#192b2e);border-color:#496247}.phase-panel.finished{background:linear-gradient(145deg,#3d3b2a,#202f2e);border-color:#827450}.fact-list{display:flex;flex-direction:column;gap:9px;font-size:calc(11px * var(--client-font-scale,1));padding-top:12px;border-top:1px solid var(--line);margin:16px 0 0}.fact-list div{display:flex;justify-content:space-between;gap:10px;color:var(--muted)}.fact-list b{color:var(--text);font-weight:500;text-align:right}.phase-panel .large-stat{font:calc(38px * var(--client-font-scale,1)) monospace;color:var(--green);line-height:1.3}.phase-panel .large-stat small{font:calc(12px * var(--client-font-scale,1)) Arial;color:var(--muted)}.phase-panel .info-note{border:1px solid #526448;background:#31433470;padding:10px 12px;color:#c7d4b8;border-radius:4px;margin:12px 0;font-size:calc(11px * var(--client-font-scale,1))}.phase-panel .info-note.warning{border-color:#7b5b42;background:#67452930;color:var(--amber)}.tile-panel .panel-heading{padding-bottom:13px}.tile-panel .panel-heading h2{font-size:calc(19px * var(--client-font-scale,1))}.tile-info{padding:0 21px}.empty-inspector{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px 0 28px;color:var(--muted);font-size:calc(12px * var(--client-font-scale,1))}.empty-inspector p{margin:5px 0 0}.crosshair{font-size:calc(43px * var(--client-font-scale,1));color:#6a8588;font-weight:normal;line-height:1.6}.tile-info .tile-owner-line{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:calc(11px * var(--client-font-scale,1));margin-bottom:15px}.tile-info .owner-dot{height:8px;width:8px;border-radius:2px;background:var(--player-color,#71887d)}.tile-info .fact-list{padding-top:13px;margin-top:0;margin-bottom:15px}.tile-form{padding:0 21px 18px}.tile-form select{font-size:calc(12px * var(--client-font-scale,1));padding:9px;margin-bottom:12px}.button-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.button-grid button{padding:9px 8px;font-size:calc(11px * var(--client-font-scale,1))}.button-grid .wide{grid-column:1/-1}.tile-hint{padding:0 21px 17px;font-size:calc(11px * var(--client-font-scale,1));color:var(--muted);margin:0}.tile-hint:empty{display:none}.market-icon{display:inline-flex;align-items:center;gap:8px}.market-icon svg{height:23px;width:23px}.market-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0 12px;margin-bottom:12px;border-bottom:1px solid var(--line);font-size:calc(10px * var(--client-font-scale,1));color:var(--muted)}.market-summary b{color:var(--text);font:calc(16px * var(--client-font-scale,1)) monospace;display:block}.compact-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.compact-form .full{grid-column:1/-1}.compact-form input,.compact-form select{padding:9px;font-size:calc(12px * var(--client-font-scale,1))}.compact-form label{font-size:calc(8px * var(--client-font-scale,1))}.compact-form button{font-size:calc(12px * var(--client-font-scale,1))}.order-actions{display:flex;gap:7px;grid-column:1/-1}.order-actions .primary{flex:1}.order-actions .subtle{font-size:calc(12px * var(--client-font-scale,1))}.sub-heading{margin:20px 0 10px;display:flex;justify-content:space-between;align-items:center;font-size:calc(12px * var(--client-font-scale,1))}.sub-heading h3{font-size:calc(13px * var(--client-font-scale,1));letter-spacing:0}.order-book{display:grid;grid-template-columns:1fr 1fr;gap:10px}.book-column{background:#12222a;border-radius:4px;padding:9px}.book-column>span{display:block;font:calc(8px * var(--client-font-scale,1)) monospace;letter-spacing:.08em;color:var(--muted);padding-bottom:7px}.book-order{display:flex;justify-content:space-between;gap:7px;font:calc(10px * var(--client-font-scale,1)) monospace;padding:4px 0;border-top:1px solid #2a3b4130}.book-order.buy{color:var(--green)}.book-order.sell{color:var(--amber)}.book-empty{font-size:calc(10px * var(--client-font-scale,1));color:#748c91;padding:6px 0}.own-order{font-size:calc(10px * var(--client-font-scale,1));color:var(--blue);margin-top:8px;line-height:1.5}.store-box{border-top:1px solid var(--line);margin-top:17px;padding-top:2px}.store-box p{font-size:calc(10px * var(--client-font-scale,1));margin-bottom:12px}.store-prices{display:flex;justify-content:space-between;gap:10px;font:calc(11px * var(--client-font-scale,1)) monospace;margin-bottom:12px}.store-prices span:first-child{color:var(--green)}.store-prices span:last-child{color:var(--amber)}.trade-feed{max-height:110px;overflow:auto;font-size:calc(10px * var(--client-font-scale,1));color:var(--muted);margin-top:10px}.trade-feed div{padding:5px 0;border-top:1px solid #30424a70}.bid-list{font-size:calc(11px * var(--client-font-scale,1));margin:15px 0 0;max-height:120px;overflow:auto}.bid-row{display:flex;justify-content:space-between;padding:6px 0;border-top:1px solid var(--line);gap:10px}.report-panel{grid-column:1/-1}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:calc(12px * var(--client-font-scale,1));text-align:left}th{font:calc(9px * var(--client-font-scale,1)) monospace;letter-spacing:.07em;color:var(--muted);background:#16242c}th,td{padding:12px 20px;border-top:1px solid var(--line);white-space:nowrap}td .resource-icon{width:14px;height:14px;margin-right:4px}td.good{color:var(--green)}.activity-panel{min-height:295px}.activity,.chat-messages{height:213px;overflow:auto;padding:0 21px 15px;scrollbar-color:#435e64 transparent}.activity-entry{display:flex;align-items:baseline;gap:15px;padding:10px 0;border-top:1px solid #30424a80;font-size:calc(11px * var(--client-font-scale,1));color:#bdcbc6}.activity-round{flex-shrink:0;font:calc(9px * var(--client-font-scale,1)) monospace;color:#738e91;width:32px}.activity-entry.event{color:var(--amber)}.live-tag{font:calc(9px * var(--client-font-scale,1)) monospace;letter-spacing:.08em;color:var(--muted);display:flex;gap:6px;align-items:center}.live-tag .signal-dot{width:4px;height:4px}.chat-messages{height:157px;padding-bottom:7px}.chat-message{margin-bottom:11px}.chat-meta{display:flex;justify-content:space-between;gap:7px;font-size:calc(10px * var(--client-font-scale,1));color:var(--green);margin-bottom:3px}.chat-meta time{color:#6f888d;font:calc(8px * var(--client-font-scale,1)) monospace}.chat-message p{margin:0;font-size:calc(11px * var(--client-font-scale,1));line-height:1.5;overflow-wrap:anywhere;color:#c5d1ca;white-space:pre-wrap}.chat-empty{color:var(--muted);font-size:calc(12px * var(--client-font-scale,1));padding-top:8px;line-height:1.7}.chat-form{display:flex;padding:9px 14px 14px;gap:7px}.chat-form input{font-size:calc(11px * var(--client-font-scale,1));padding:10px}.chat-form button{padding:8px 12px}.game-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;color:#6e898e;padding:24px 32px;font:calc(8px * var(--client-font-scale,1)) monospace;letter-spacing:.05em}.game-footer>.text-button{font-size:calc(10px * var(--client-font-scale,1))}.notification{padding:12px 20px;margin:0 32px 17px;color:var(--amber);background:#52432a50;border:1px solid #786047;border-radius:5px;font-size:calc(12px * var(--client-font-scale,1))}.notification.info{color:var(--blue);background:#23404b;border-color:#365d69}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:50;max-width:calc(100% - 32px);border:1px solid #6f9166;background:#253f34;color:#e1edcc;padding:13px 20px;border-radius:6px;box-shadow:0 6px 35px #0006;font-size:calc(13px * var(--client-font-scale,1))}.toast.error{background:#4a302c;border-color:#a06b55;color:#ffcab7}.noscript{position:fixed;bottom:0;left:0;right:0;padding:20px;background:#652c2c;color:white;text-align:center}dialog{padding:0;border:1px solid #526663;border-radius:9px;background:var(--bg);color:var(--text);box-shadow:0 25px 100px #0009;max-height:calc(100svh - 48px);width:calc(100% - 64px);max-width:none}dialog::backdrop{background:#06121cbb;backdrop-filter:blur(4px)}.dialog-heading{position:sticky;top:0;z-index:3;background:#192a31;display:flex;justify-content:space-between;gap:20px;align-items:start;padding:25px 30px;border-bottom:1px solid var(--line)}.dialog-heading h2{margin-top:6px;font-size:calc(29px * var(--client-font-scale,1));font-weight:500}.dialog-heading p{margin:9px 0 0;font-size:calc(12px * var(--client-font-scale,1))}.dialog-footer{position:sticky;bottom:0;z-index:3;border-top:1px solid var(--line);background:#192a31;padding:16px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-footer>.muted{font-size:calc(11px * var(--client-font-scale,1))}.settings-fields{padding:26px 30px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.settings-group{border:1px solid var(--line);border-radius:6px;padding:20px;min-width:0}.settings-group h3{font-size:calc(16px * var(--client-font-scale,1));margin-bottom:19px}.settings-group .field{margin-bottom:15px}.settings-group .field:last-child{margin-bottom:0}.settings-group label{font-size:calc(9px * var(--client-font-scale,1));letter-spacing:.05em}.settings-group .field-help{font-size:calc(10px * var(--client-font-scale,1));margin-bottom:0}.settings-group input,.settings-group select{font-size:calc(12px * var(--client-font-scale,1));padding:9px}.settings-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.check-field{display:flex;gap:9px;align-items:start;margin:14px 0}.check-field label{font-size:calc(12px * var(--client-font-scale,1));letter-spacing:0;color:var(--text);font-weight:400;margin:0}.check-field label small{display:block;font-size:calc(10px * var(--client-font-scale,1));color:var(--muted);line-height:1.5;margin-top:3px}.check-field input{margin-top:1px}.events-editor{padding:0 30px 25px}.events-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.events-heading h3{font-size:calc(23px * var(--client-font-scale,1));margin-top:5px}.events-heading p{font-size:calc(12px * var(--client-font-scale,1));margin-top:7px;margin-bottom:0}.events-heading button{font-size:calc(11px * var(--client-font-scale,1));padding:8px 10px}.event-list{display:flex;flex-direction:column;gap:10px}.event-row{display:grid;grid-template-columns:26px minmax(150px,1.4fr) minmax(120px,1fr) 100px 100px 85px 28px;gap:10px;align-items:start;border:1px solid var(--line);background:var(--panel);padding:14px;border-radius:5px}.event-row.disabled{opacity:.65}.event-row input,.event-row select{font-size:calc(11px * var(--client-font-scale,1));padding:8px}.event-row input[type=checkbox]{margin-top:27px}.event-row label{font-size:calc(8px * var(--client-font-scale,1))}.event-row .event-description{grid-column:2/-2;margin-top:-1px}.event-row .event-description input{padding:7px 9px;color:var(--muted);font-size:calc(11px * var(--client-font-scale,1))}.event-row>.icon-button{margin-top:20px;width:28px;min-width:28px;height:30px}.events-empty{color:var(--muted);font-size:calc(13px * var(--client-font-scale,1));border:1px dashed var(--line);padding:20px;text-align:center}#settings-error{margin:0 30px 20px}.help-content{padding:27px 30px;color:#b8cac4;font-size:calc(14px * var(--client-font-scale,1));line-height:1.8}.help-content>p{max-width:1200px}.help-content h3{margin:22px 0 10px;color:var(--text)}.help-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:28px 0}.help-steps article{border:1px solid var(--line);border-radius:5px;padding:20px;font-size:calc(12px * var(--client-font-scale,1));background:var(--panel)}.help-steps article>b{font:calc(22px * var(--client-font-scale,1)) monospace;color:var(--green)}.help-steps article h3{margin-top:12px}.help-steps article p{margin-bottom:0}.help-callout{background:#273b32;border-left:3px solid var(--green);padding:5px 22px 12px;margin:25px 0}.help-callout h3{margin-top:15px}.help-callout p{margin-bottom:0}.danger-text{color:var(--red)!important}.food-text{color:var(--food)}.energy-text{color:var(--energy)}.smithore-text{color:var(--smithore)}.crystite-text{color:var(--crystite)}.ready-state{color:var(--green)!important}.loading{opacity:.6;pointer-events:none}.copy-fallback{font:calc(14px * var(--client-font-scale,1)) monospace;background:#14242b;user-select:all;border:1px solid var(--line);padding:9px;overflow-wrap:anywhere;margin-top:9px}.winner-card{padding:15px;background:#4b49312e;border:1px solid #8b805245;border-radius:5px;margin:15px 0}.winner-card strong{display:block;font-size:calc(20px * var(--client-font-scale,1));color:var(--amber);overflow-wrap:anywhere}.winner-card>span{font-size:calc(10px * var(--client-font-scale,1));color:var(--muted)}.terrain-advice{font-size:calc(11px * var(--client-font-scale,1));color:#b6c7b5;padding:11px;background:#24352e;border:1px solid #455844;border-radius:5px;margin:12px 0}
@media(min-width:1650px){.game-layout{grid-template-columns:minmax(0,1fr) 385px}.world-map{--tile-size:88px}.phase-panel{padding:25px}.welcome-world{padding-left:9%;padding-right:9%}.welcome-copy{padding-top:95px}.frontier-art{max-height:440px;height:380px}.entry-content h2{font-size:calc(48px * var(--client-font-scale,1))}}
@media(max-width:1200px){.phase-progress{display:none}.game-layout{grid-template-columns:minmax(0,1fr) 310px;gap:15px;padding:0 22px}.topbar{padding:16px 22px;gap:18px}.phase-bar{padding:23px 22px}.player-hud{margin-left:22px;margin-right:22px}.hud-item{padding:14px 13px;gap:8px}.hud-item svg{width:20px;height:20px}.hud-item .hud-detail{display:block;margin-left:0;font-size:calc(9px * var(--client-font-scale,1))}.hud-item strong{font-size:calc(23px * var(--client-font-scale,1))}.hud-item.identity strong{max-width:110px}.panel-heading{padding:17px}.map-tools>.muted{display:none}.map-scroll{padding:12px}.map-footer{flex-wrap:wrap;padding:10px 15px}.settings-fields{gap:16px;padding:22px}.settings-group{padding:16px}.event-row{grid-template-columns:24px minmax(120px,1.4fr) 110px 90px 90px 65px 26px;gap:8px}.room-chip>span{display:none}.game-footer{padding-left:22px;padding-right:22px}.welcome-entry{padding-left:9%;padding-right:9%}.welcome-copy{padding-top:60px}.welcome h1{font-size:calc(45px * var(--client-font-scale,1))}.welcome-tags{gap:5px}.welcome-tags span{font-size:calc(9px * var(--client-font-scale,1))}.welcome-foot{font-size:calc(9px * var(--client-font-scale,1))}.entry-content h2{font-size:calc(36px * var(--client-font-scale,1))}}
@media(max-width:960px){.welcome{grid-template-columns:1fr 380px}.welcome-world{padding:30px 7%}.welcome-entry{padding:34px 30px}.welcome h1{font-size:calc(38px * var(--client-font-scale,1))}.welcome-copy p{font-size:calc(14px * var(--client-font-scale,1))}.welcome-copy .eyebrow{font-size:calc(8px * var(--client-font-scale,1))}.welcome-tags{gap:7px}.welcome-tags span{font-size:calc(9px * var(--client-font-scale,1))}.frontier-art{margin-top:30px;min-height:240px;max-height:320px}.art-caption{font-size:calc(7px * var(--client-font-scale,1))}.game-layout{grid-template-columns:minmax(0,1fr) 290px;gap:13px;padding:0 16px}.topbar{padding:14px 16px;gap:14px;min-height:69px}.connection{font-size:calc(10px * var(--client-font-scale,1))}.topbar-actions{gap:6px}.room-chip{padding-left:13px;gap:8px}.room-chip button{font-size:calc(15px * var(--client-font-scale,1))}.phase-bar{padding:22px 16px;gap:15px}.phase-heading h1{font-size:calc(27px * var(--client-font-scale,1))}.phase-controls>.primary{padding:10px}.phase-controls{gap:6px}.clock{margin-right:5px;min-width:65px}.clock b{font-size:calc(24px * var(--client-font-scale,1))}.phase-heading p{max-width:390px}.player-hud{margin:0 16px 18px;grid-template-columns:repeat(6,minmax(0,1fr))}.hud-item{padding:12px 9px;display:block}.hud-item>svg{display:none}.hud-item.identity{display:flex;padding:12px 8px}.hud-item.identity .avatar{display:none}.hud-item.identity strong{max-width:100px;font-size:calc(12px * var(--client-font-scale,1))}.hud-item strong{font-size:calc(21px * var(--client-font-scale,1))}.hud-item .resource-name{font-size:calc(8px * var(--client-font-scale,1))}.hud-item .hud-detail{font-size:calc(8px * var(--client-font-scale,1))}.panel-heading h2{font-size:calc(18px * var(--client-font-scale,1))}.panel-heading{padding:16px 14px;gap:7px}.panel-heading .eyebrow{font-size:calc(8px * var(--client-font-scale,1))}.map-tools{gap:2px}.map-tools .icon-button{min-width:25px;height:25px}.zoom-label{font-size:calc(8px * var(--client-font-scale,1))}.world-map{--tile-size:62px}.map-scroll{min-height:275px;max-height:550px}.phase-panel{padding:17px}.tile-info{padding:0 17px}.tile-form{padding:0 17px 17px}.tile-hint{padding:0 17px 17px}.player-card{padding:10px 12px}.players{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.settings-fields{grid-template-columns:1fr 1fr}.settings-group:last-child{grid-column:1/-1}.event-row{grid-template-columns:24px 1fr 1fr 1fr 26px}.event-row .event-name{grid-column:2/4}.event-row>.icon-button{grid-column:5;grid-row:1}.event-row .event-kind{grid-column:4;grid-row:1}.event-row .event-resource{grid-column:2}.event-row .event-description{grid-column:2/-1}.event-row .event-amount{grid-column:2}.event-row input[type=checkbox]{grid-row:1}.help-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.game-footer>span:last-child{display:none}.notification{margin-left:16px;margin-right:16px}}
@media(max-width:720px){.welcome{grid-template-columns:1fr;min-height:100svh}.welcome-world{padding:23px 24px 0;min-height:330px}.welcome-world>.brand{font-size:calc(18px * var(--client-font-scale,1))}.welcome-world>.brand svg{width:37px;height:37px}.welcome-world>.brand b{font-size:calc(8px * var(--client-font-scale,1))}.welcome-copy{padding-top:32px;width:75%;padding-bottom:35px}.welcome-copy .eyebrow{font-size:calc(7px * var(--client-font-scale,1));letter-spacing:.07em}.welcome h1{font-size:calc(37px * var(--client-font-scale,1));margin-top:13px;margin-bottom:15px}.welcome-copy p{font-size:calc(12px * var(--client-font-scale,1))}.welcome-tags{display:none}.frontier-art{position:absolute;width:55%;height:260px;right:-9%;bottom:7px;min-height:0;z-index:-1;opacity:.65}.art-caption,.welcome-foot{display:none}.art-moon{height:50px;width:50px;top:10%;right:20%}.welcome-entry{min-height:0;padding:25px 24px 23px}.entry-top .eyebrow{font-size:calc(8px * var(--client-font-scale,1))}.entry-content{padding:28px 0 25px}.entry-number{display:none}.entry-content h2{font-size:calc(29px * var(--client-font-scale,1))}.entry-content h2 br{display:none}.entry-content>.muted{font-size:calc(12px * var(--client-font-scale,1));max-width:none;margin-bottom:25px}.entry-note{margin-top:25px;padding-top:20px}.entry-bottom{font-size:calc(8px * var(--client-font-scale,1))}.topbar{flex-wrap:wrap;gap:12px;padding:13px 16px}.brand.small{font-size:calc(16px * var(--client-font-scale,1))}.brand.small svg{width:30px;height:30px}.brand.small b{font-size:calc(7px * var(--client-font-scale,1))}.connection{margin-left:auto;font-size:calc(9px * var(--client-font-scale,1))}.room-chip{margin-left:0;border-left:0;padding-left:0;order:4}.room-chip>span{display:block;font-size:calc(8px * var(--client-font-scale,1))}.room-chip button{font-size:calc(15px * var(--client-font-scale,1))}.topbar-actions{margin-left:auto;order:5}.topbar-actions .subtle{font-size:calc(10px * var(--client-font-scale,1));padding:7px 8px}.topbar-actions .icon-button{height:30px;min-width:29px;font-size:calc(17px * var(--client-font-scale,1))}.phase-bar{display:block;padding:21px 16px 17px}.phase-heading h1{font-size:calc(29px * var(--client-font-scale,1))}.phase-heading p{max-width:none;font-size:calc(11px * var(--client-font-scale,1));margin-top:7px}.phase-controls{margin-top:18px;display:flex;gap:8px}.phase-controls .clock{margin-right:auto;text-align:left;display:flex;align-items:center;gap:13px}.clock span{max-width:70px;font-size:calc(8px * var(--client-font-scale,1))}.clock b{font-size:calc(25px * var(--client-font-scale,1))}.phase-controls .primary{font-size:calc(12px * var(--client-font-scale,1));padding:9px 14px}.phase-controls>.icon-button{height:35px;width:33px}.player-hud{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:15px}.hud-item{padding:12px 13px;display:flex;gap:9px}.hud-item>svg{display:block;width:20px;height:20px}.hud-item:nth-child(4){border-left:0}.hud-item:nth-child(n+4){border-top:1px solid var(--line)}.hud-item.identity{padding:12px}.hud-item.identity .avatar{display:flex;width:27px;height:27px;font-size:calc(11px * var(--client-font-scale,1))}.hud-item.identity strong{font-size:calc(11px * var(--client-font-scale,1));max-width:85px}.hud-item.identity .resource-name{font-size:calc(7px * var(--client-font-scale,1));letter-spacing:0}.game-layout{grid-template-columns:1fr;gap:15px}.planet-panel{grid-column:1}.operations-column{grid-column:1;display:grid;grid-template-columns:1fr 1fr;gap:15px;align-items:start}.phase-panel,.tile-panel{height:100%}.activity-panel,.chat-panel{grid-column:1}.map-scroll{max-height:500px;min-height:260px}.world-map{--tile-size:63px}.panel-heading{padding:17px}.map-tools>.muted{display:inline;font-size:calc(9px * var(--client-font-scale,1))}.map-footer>.muted{display:none}.colony-status{padding-left:17px;padding-right:17px}.players{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));max-height:210px}.roster-heading{padding-left:17px;padding-right:17px}.player-card{padding:11px 13px}.activity-panel{min-height:245px}.activity{height:175px}.chat-messages{height:155px}.game-footer{padding:21px 16px;gap:10px;font-size:calc(7px * var(--client-font-scale,1));letter-spacing:0}.game-footer .text-button{font-size:calc(9px * var(--client-font-scale,1))}dialog{width:calc(100% - 22px);max-height:calc(100svh - 22px);border-radius:7px}.dialog-heading{padding:20px 18px}.dialog-heading h2{font-size:calc(25px * var(--client-font-scale,1))}.dialog-heading p{font-size:calc(11px * var(--client-font-scale,1))}.settings-fields{padding:18px;grid-template-columns:1fr;gap:15px}.settings-group:last-child{grid-column:auto}.settings-group{padding:18px}.events-editor{padding:0 18px 20px}.events-heading{display:block}.events-heading .button-row{margin-top:15px}.events-heading h3{font-size:calc(22px * var(--client-font-scale,1))}.event-row{grid-template-columns:20px 1fr 1fr 25px;gap:8px;padding:11px}.event-row .event-name{grid-column:2/4}.event-row .event-kind{grid-column:2;grid-row:auto}.event-row>.icon-button{grid-column:4}.event-row .event-resource{grid-column:3}.event-row .event-target{grid-column:2}.event-row .event-amount{grid-column:3}.event-row .event-description{grid-column:2/4}.dialog-footer{padding:13px 18px;gap:10px;flex-wrap:wrap}.dialog-footer>.muted{font-size:calc(9px * var(--client-font-scale,1))}.dialog-footer button{font-size:calc(12px * var(--client-font-scale,1))}.dialog-footer .button-row{margin-left:auto}.help-content{padding:19px;font-size:calc(13px * var(--client-font-scale,1))}.help-steps{gap:12px;margin:20px 0}.help-steps article{padding:15px;font-size:calc(11px * var(--client-font-scale,1))}.help-steps article h3{font-size:calc(16px * var(--client-font-scale,1))}.help-callout{padding-left:15px;padding-right:15px}.help-content h3{font-size:calc(17px * var(--client-font-scale,1))}.toast{bottom:15px;font-size:calc(12px * var(--client-font-scale,1));width:max-content}.notification{font-size:calc(11px * var(--client-font-scale,1));padding:11px 14px}}
@media(max-width:480px){.operations-column{grid-template-columns:1fr}.phase-panel,.tile-panel{height:auto}.hud-item{padding:11px 9px;gap:7px}.hud-item.identity{padding:11px 8px}.hud-item.identity .avatar{display:none}.hud-item.identity strong{max-width:100px}.hud-item>svg{width:18px;height:18px}.hud-item strong{font-size:calc(20px * var(--client-font-scale,1))}.map-tools>.muted{display:none}.players{grid-template-columns:1fr 1fr}.player-card{padding:9px;gap:7px}.player-card .avatar{display:none}.player-rank{display:none}.player-name{font-size:calc(11px * var(--client-font-scale,1));gap:3px}.player-details{font-size:calc(8px * var(--client-font-scale,1))}.player-value{font-size:calc(11px * var(--client-font-scale,1))}.player-menu{display:flex}.roster-heading .muted{font-size:calc(8px * var(--client-font-scale,1))}.player-tags{font-size:calc(7px * var(--client-font-scale,1))}.panel-heading h2{font-size:calc(19px * var(--client-font-scale,1))}.map-footer{padding:10px 12px}.terrain-legend{gap:11px;font-size:calc(8px * var(--client-font-scale,1))}.world-map{--tile-size:57px}.map-scroll{padding:9px}.tile-coordinate{font-size:calc(7px * var(--client-font-scale,1))}.tile-machine>.mule{width:28px;height:28px}.tile-machine>.resource-icon{width:12px;height:12px}.topbar-actions{gap:5px}.topbar-actions .subtle{font-size:calc(9px * var(--client-font-scale,1));padding:6px}.room-chip{gap:6px}.room-chip>span{display:none}.room-chip button{font-size:calc(14px * var(--client-font-scale,1))}.phase-heading h1{font-size:calc(27px * var(--client-font-scale,1))}.welcome h1{font-size:calc(34px * var(--client-font-scale,1))}.welcome-copy{width:85%}.welcome-world{min-height:310px}.entry-content h2{font-size:calc(27px * var(--client-font-scale,1))}.colony-status-top{font-size:calc(9px * var(--client-font-scale,1))}.help-steps{grid-template-columns:1fr}.game-footer>span{font-size:calc(6px * var(--client-font-scale,1))}.settings-pair{gap:10px}.event-row{grid-template-columns:18px 1fr 1fr 24px;gap:6px}.event-row input,.event-row select{font-size:calc(10px * var(--client-font-scale,1));padding:7px}.events-heading button{padding:7px 9px;font-size:calc(10px * var(--client-font-scale,1))}.report-panel th,.report-panel td{padding:11px 14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}


input:disabled,select:disabled{opacity:.5;cursor:not-allowed}
.land-sale{margin:0 21px 20px;padding-top:16px;border-top:1px solid var(--line)}.land-sale h3{font-size:calc(14px * var(--client-font-scale,1))}.land-sale>p{font-size:calc(11px * var(--client-font-scale,1));line-height:1.6;color:var(--muted)}.land-sale .info-note{margin-bottom:12px}.land-sale .order-actions{flex-wrap:wrap}.book-order small{display:block;font:calc(9px * var(--client-font-scale,1))/1.5 sans-serif;color:var(--muted);overflow-wrap:anywhere}.book-order b{flex-shrink:0}.book-more{font-size:calc(9px * var(--client-font-scale,1));color:var(--muted)}
.event-row{grid-template-columns:24px repeat(4,minmax(0,1fr)) 28px;gap:12px}.event-row .event-name{grid-column:2/5;grid-row:1}.event-row>.icon-button{grid-column:6;grid-row:1}.event-row .event-rule{grid-column:2/5;grid-row:2}.event-rule p{font-size:calc(12px * var(--client-font-scale,1));margin:9px 0 4px}.event-rule small{display:block;font-size:calc(11px * var(--client-font-scale,1));line-height:1.6;color:var(--muted)}.event-row .event-limit{grid-column:5;grid-row:1/3}.event-row .event-limit label{line-height:1.6}.event-row .event-stage{grid-column:2;grid-row:2}.event-row .event-kind{grid-column:3;grid-row:2}.event-row .event-resource{grid-column:4;grid-row:2}.event-row .event-target{grid-column:2;grid-row:3}.event-row .event-amount{grid-column:3;grid-row:3}.event-row .event-description{grid-column:2/6;grid-row:4}.event-row.builtin .event-description{grid-row:3}.events-heading .button-row{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:960px){.event-row{grid-template-columns:22px repeat(3,minmax(0,1fr)) 28px}.event-row .event-name{grid-column:2/5}.event-row>.icon-button{grid-column:5}.event-row .event-rule{grid-column:2/5}.event-row .event-limit{grid-column:4;grid-row:3}.event-row .event-description{grid-column:2/5}.event-row.builtin .event-limit{grid-column:2/5;grid-row:3}.event-row.builtin .event-description{grid-row:4}}
@media(max-width:720px){.event-row{grid-template-columns:18px minmax(0,1fr) minmax(0,1fr) 25px;gap:9px}.event-row .event-name{grid-column:2/4}.event-row>.icon-button{grid-column:4}.event-row .event-rule{grid-column:2/4}.event-row .event-stage{grid-column:2;grid-row:2}.event-row .event-kind{grid-column:3;grid-row:2}.event-row .event-resource{grid-column:2;grid-row:3}.event-row .event-target{grid-column:3;grid-row:3}.event-row .event-amount{grid-column:2;grid-row:4}.event-row .event-limit{grid-column:3;grid-row:4}.event-row .event-description{grid-column:2/4;grid-row:5}.event-row.builtin .event-limit{grid-column:2/4;grid-row:3}.event-row.builtin .event-description{grid-row:4}.events-heading .button-row{justify-content:flex-start}.land-sale{margin-left:17px;margin-right:17px}}

.event-description textarea{font-size:calc(12px * var(--client-font-scale,1));line-height:1.6;resize:vertical;min-height:65px;padding:9px;color:var(--muted)}@media(max-width:720px){.event-description textarea{min-height:110px}}

/* Irata pixel edition: artwork is an original integer-grid sprite set. */
:root{--bg:#172d25;--panel:#21392e;--panel2:#2b4637;--line:#4c6350;--text:#f4eccf;--muted:#b3bea0;--green:#c1dc74;--green-dim:#3d5834;--amber:#f0bd53;--blue:#8ccad5;--red:#f0a083;--food:#bfd775;--energy:#f0c766;--smithore:#e6a26f;--crystite:#ce9cdd;font-family:Verdana,Arial,sans-serif;font-size:calc(13px * var(--client-font-scale,1));line-height:1.5;color-scheme:dark}
body{background:var(--bg)}h1,h2,h3,h4{font-family:Verdana,Arial,sans-serif;font-weight:700;letter-spacing:-.04em}button,input,select,textarea{border-radius:0!important}.panel,.pill,.avatar,.resume-box,.notification,.info-note,.winner-card,.terrain-advice,.settings-group,.event-row,.help-steps article,dialog,.toast{border-radius:0!important}.primary,.secondary,.subtle{font-family:Verdana,Arial,sans-serif;font-size:calc(12px * var(--client-font-scale,1));border-width:2px;box-shadow:0 2px 0 #12261c}.primary{background:var(--green);border-color:#deed9b #88a649 #88a649 #deed9b;color:#213021}.primary:hover:not(:disabled){background:#d6e894;border-color:#e7f3ae}.secondary{background:#3a5441;border-color:#647c53 #344d37 #344d37 #647c53}.secondary:hover:not(:disabled){background:#486547}.subtle{border:1px solid #5b7157;background:#263f31;box-shadow:none}.subtle:hover:not(:disabled){background:#3b5540;border-color:#99ad72}.icon-button{border-radius:0;border:1px solid #637a57;background:#2e4737;box-shadow:0 2px 0 #13261c}.icon-button:hover:not(:disabled){background:#4d6646;border-color:#b4cb7d}.pill{border-color:#677855;color:#d8dfb7;background:#2a4233}.signal-dot{border-radius:0;box-shadow:none;width:6px;height:6px}.eyebrow,.resource-name,.entry-number,.clock,.phase-step,.brand,.brand b,.art-caption{font-family:'Courier New',monospace}.eyebrow{color:#c8d990;letter-spacing:.14em}input,select,textarea{background:#162a21;border:1px solid #6b7c5a;padding:11px;color:var(--text)}input::placeholder,textarea::placeholder{color:#95a78b}.pixel-sprite,.terrain-pixels,.frontier-pixels,svg:has(use){image-rendering:pixelated;image-rendering:crisp-edges;shape-rendering:crispEdges}.pixel-sprite{width:24px;height:24px;overflow:visible}.brand{font-size:calc(26px * var(--client-font-scale,1));font-weight:bold;letter-spacing:.06em;text-shadow:2px 2px #12281b}.brand svg{width:48px;height:48px}.brand b{font-weight:normal;font-size:calc(10px * var(--client-font-scale,1));letter-spacing:.5em;color:#c6d4a8}.brand.small{font-size:calc(17px * var(--client-font-scale,1))}.brand.small svg{width:36px;height:36px}.brand.small b{font-size:calc(8px * var(--client-font-scale,1));letter-spacing:.35em;margin-top:3px}.welcome{grid-template-columns:minmax(0,1.3fr) minmax(370px,.8fr);background:#1b332b}.welcome-world{padding:36px 7%;background:#284c39;border-right:2px solid #708859}.welcome-world:before{display:none}.welcome-copy{padding-top:52px}.welcome h1{color:#f5e6b8;font-size:calc(clamp(37px,4.3vw,66px) * var(--client-font-scale,1));line-height:1.06;font-weight:700;letter-spacing:-.065em;text-shadow:3px 3px #1f3d2d}.welcome-copy p{color:#d5ddb9;line-height:1.8;font-size:calc(15px * var(--client-font-scale,1))}.welcome-tags{margin:23px 0 0;gap:8px}.welcome-tags span{border:1px solid #7c965a;background:#304f33;color:#dce5b3;border-radius:0;font:calc(10px * var(--client-font-scale,1)) 'Courier New',monospace;padding:6px 9px}.frontier-art{position:relative;display:flex;flex-direction:column;justify-content:end;height:auto;min-height:190px;max-height:380px;margin:28px -3% 0;border:2px solid #6c8756;background:#244441;box-shadow:5px 5px 0 #1c3628;flex:1;overflow:hidden}.frontier-pixels{width:100%;height:auto;display:block;max-height:100%;aspect-ratio:240/136;object-fit:cover}.art-caption{position:static;display:flex;gap:12px;justify-content:space-between;background:#1c392a;color:#baca9a;font-size:calc(8px * var(--client-font-scale,1));padding:9px 10px;letter-spacing:.05em;border-top:2px solid #546e43}.welcome-foot{color:#bdcca2;font-size:calc(10px * var(--client-font-scale,1));margin-top:18px;padding:0}.welcome-entry{background:#1b3127;padding:37px 10%;min-height:100svh}.entry-content{padding:36px 0;margin:auto 0}.entry-content h2{font-size:calc(35px * var(--client-font-scale,1));font-weight:bold;line-height:1.1;color:#eee5c4}.entry-content>.muted{margin-bottom:28px;line-height:1.7}.entry-tabs{border-color:#576f4d}.entry-tabs button{font-size:calc(12px * var(--client-font-scale,1));border-bottom-width:3px}.entry-tabs button.active{color:#d0e48d}.entry-note{border-color:#506746;color:#b7c5a7;line-height:1.7}.entry-note b{color:#f0e4b9}.entry-note svg{color:#e2c078}.entry-bottom{color:#bac8a6}.entry-number{color:#e6bd66}.entry-content input{padding:14px 12px}.entry-content .primary{min-height:50px}.resume-box{border-color:#60744f;background:#29442f}.entry-top>.text-button{color:#ced6ae}.entry-top>.eyebrow{color:#b6c59c}

/* A fixed workspace keeps the map present; only the command dock scrolls. */
.game{height:100vh;height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}.topbar{flex:none;min-height:57px;padding:8px 18px;gap:22px;background:#1b3329;border-bottom:2px solid #61784e}.connection{font-size:calc(10px * var(--client-font-scale,1));color:#b7c6a1}.room-chip{border-left:1px solid #526849;padding-left:20px}.room-chip button{color:#d4e68d;font:calc(16px * var(--client-font-scale,1)) 'Courier New',monospace}.room-chip>span{font-size:calc(8px * var(--client-font-scale,1))}.topbar-actions{gap:7px}.topbar-actions .subtle{font-size:calc(10px * var(--client-font-scale,1));padding:7px 10px}.phase-bar{flex:none;padding:11px 18px;gap:18px;min-height:77px;background:#1a3026}.phase-heading .eyebrow{font-size:calc(8px * var(--client-font-scale,1))}.phase-heading h1{font-size:calc(23px * var(--client-font-scale,1));font-weight:700;line-height:1.05;margin-top:3px}.phase-heading p{font-size:calc(10px * var(--client-font-scale,1));color:#b4c09f;line-height:1.4;margin-top:5px;max-width:540px}.phase-controls{gap:7px}.phase-controls .primary{padding:8px 14px;min-height:37px}.phase-controls .icon-button{height:34px;min-width:32px}.clock{min-width:65px;margin-right:5px}.clock b{font-size:calc(24px * var(--client-font-scale,1))}.clock span{font-size:calc(7px * var(--client-font-scale,1));letter-spacing:.07em}.phase-progress{margin:auto;display:flex}.phase-step{width:32px;height:27px;border-color:#506746;border-radius:0!important;color:#9aad83}.phase-step.active{background:#3e5935;color:#e4eda6;border-color:#9bad63;box-shadow:inset 0 -3px #bed57b}.phase-step.done{background:#294331;color:#b5c39d}.player-hud{flex:none;margin:0 12px 10px;grid-template-columns:1.25fr repeat(5,minmax(0,1fr));border:2px solid #5d724b;border-radius:0;background:#2a4331;min-height:61px}.hud-item{padding:7px 13px;gap:8px;border-left:1px solid #576d49}.hud-item.identity{padding:6px 12px;gap:8px}.hud-item>svg{display:block;width:28px;height:28px}.hud-item .resource-name{font-size:calc(8px * var(--client-font-scale,1));color:#c4d0a6;letter-spacing:.1em;line-height:1.3}.hud-item strong{font:calc(23px * var(--client-font-scale,1)) 'Courier New',monospace;color:#f4edc9;letter-spacing:-.06em}.hud-item .hud-detail{font-size:calc(8px * var(--client-font-scale,1));margin-left:3px;white-space:nowrap;color:#b3c09d}.hud-item.identity strong{font:600 calc(11px * var(--client-font-scale,1)) Verdana,sans-serif;max-width:160px}.hud-item.identity .resource-name{font-size:calc(7px * var(--client-font-scale,1));letter-spacing:.04em}.avatar{display:flex!important;border:1px solid color-mix(in srgb,var(--player-color,#d4be6d) 80%,#4a613b);background:#1c3329;width:39px;height:39px;flex:none;box-shadow:2px 2px #182c22}.avatar .pixel-sprite{width:36px;height:36px}.game-layout{flex:1;min-height:0;align-items:stretch;grid-template-columns:minmax(0,1fr) minmax(320px,360px);grid-template-rows:minmax(0,1fr);padding:0 12px;gap:12px}.panel{background:#243c2e;border:2px solid #5d734c;border-radius:0;min-width:0}.planet-panel{position:relative;min-width:0;min-height:0;height:100%;display:flex;flex-direction:column}.panel-heading{padding:13px 15px;gap:10px}.panel-heading h2{font-size:calc(18px * var(--client-font-scale,1));font-weight:700}.panel-heading .eyebrow{color:#b7c5a0;font-size:calc(8px * var(--client-font-scale,1));margin-bottom:4px}.planet-panel>.panel-heading{flex:none;min-height:53px;padding:8px 12px;border-bottom:1px solid #526947;background:#2b4633}.planet-panel>.panel-heading .eyebrow{font-size:calc(7px * var(--client-font-scale,1));margin-bottom:2px}.planet-panel>.panel-heading h2{font-size:calc(16px * var(--client-font-scale,1))}.map-tools{gap:4px}.map-tools .icon-button{height:29px;min-width:29px;font-size:calc(17px * var(--client-font-scale,1));box-shadow:none}.map-tools>.muted{font-size:calc(9px * var(--client-font-scale,1));margin-right:6px}.zoom-label{font:calc(10px * var(--client-font-scale,1)) 'Courier New',monospace;color:#d3deb1;min-width:35px}.map-scroll{position:relative;flex:1;min-height:0;max-height:none;overflow:auto;padding:8px;background:#1c3225;scrollbar-color:#66874b #1c3225;overscroll-behavior:contain;scrollbar-width:thin;isolation:isolate}.world-map{--tile-size:64px;display:grid;gap:2px;grid-template-columns:repeat(var(--map-width,9),var(--tile-size));grid-auto-rows:var(--tile-size);width:max-content;min-width:0;max-width:none;padding:0;margin:auto;isolation:isolate}.tile{width:var(--tile-size);height:var(--tile-size);min-height:0;aspect-ratio:1;border:1px solid #526e35;border-radius:0;isolation:isolate;background:#769e48;overflow:hidden;box-shadow:none}.tile:before{display:none}.tile .landscape{position:absolute;inset:0!important;width:100%!important;height:100%!important;background:none!important;transform:none!important;clip-path:none!important;border:0!important;box-shadow:none!important;z-index:-1}.tile .landscape:after{display:none!important}.terrain-pixels{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.tile.owned{border:2px solid var(--owner-color,#f0ca74)}.tile.selected{outline:3px solid #fff0b0;outline-offset:-2px!important;z-index:2;box-shadow:inset 0 0 0 4px #273d29}.tile:hover{filter:brightness(1.08);border-color:#f3eab5}.tile:focus-visible{outline:3px solid #fff0b0;outline-offset:-3px!important}.tile-coordinate{font:calc(8px * var(--client-font-scale,1)) 'Courier New',monospace;left:3px;top:2px;color:#f4edc7;text-shadow:1px 1px #213b25;z-index:2;background:#28442799;padding:0 2px}.tile-owner{height:4px;bottom:0;z-index:4;opacity:1}.tile.claimed:after{content:'+';right:2px;top:2px;border-radius:0;background:#233f2c;color:#f8f1cb;font:bold calc(12px * var(--client-font-scale,1)) 'Courier New',monospace;z-index:5;padding:0 2px}.tile.auction-tile{outline:3px dashed #ffe18b;outline-offset:-4px!important}.tile-machine{position:absolute;width:79%;height:79%;left:50%;top:51%;display:flex;align-items:center;justify-content:center;filter:none;pointer-events:none}.tile-machine>.pixel-sprite{width:100%;height:100%;filter:drop-shadow(1px 2px 0 #263b2680)}.tile-machine>.mule{width:78%;height:78%}.tile-machine>.resource-icon{position:absolute;right:-4%;bottom:0;width:25%;height:25%;min-width:9px;min-height:9px;border-radius:0;background:#1c3328;padding:1px}.tile-yield{right:3px;bottom:5px;color:#f9ecc7;font:bold calc(9px * var(--client-font-scale,1)) 'Courier New',monospace;background:#233e2aa6;padding:0 2px;z-index:3;text-shadow:1px 1px #1a2d20}.tile.placement-pending .tile-machine{opacity:.2}.world-map[data-detail='compact'] .tile-coordinate,.world-map[data-detail='tiny'] .tile-coordinate{display:none}.world-map[data-detail='tiny'] .tile-yield{display:none}.world-map[data-detail='tiny'] .tile.owned{border-width:1px}.world-map[data-detail='tiny'] .tile-owner{height:2px}.world-map[data-detail='tiny'] .tile-machine{width:91%;height:91%}.world-effects{position:absolute;z-index:8;pointer-events:none;image-rendering:pixelated}.map-footer{flex:none;min-height:27px;padding:6px 12px;border-top:1px solid #526945;border-bottom:0;background:#243d2d;gap:10px;font-size:calc(8px * var(--client-font-scale,1))}.terrain-legend{gap:10px;flex-wrap:nowrap}.terrain-legend span{color:#cad5ab;gap:4px}.terrain-legend i{border-radius:0;width:7px;height:7px}.terrain-legend .plain{background:#93b958}.terrain-legend .river{background:#62a9ca}.terrain-legend .mountain{background:#cbb482}.terrain-legend .town{background:#dfb76f}.colony-status{flex:none;padding:6px 12px 9px;background:#243d2d}.colony-status-top{font-size:calc(9px * var(--client-font-scale,1));margin-bottom:4px}.progress-track{background:#152d22;border-radius:0;height:4px}.progress-fill{background:#b9d371}.game-footer{flex:none;padding:6px 15px;min-height:24px;color:#a8b794;font:calc(7px * var(--client-font-scale,1)) 'Courier New',monospace;letter-spacing:.04em;gap:15px}.game-footer .text-button{font-size:calc(8px * var(--client-font-scale,1));color:#c2cfaa}.notification{flex:none;margin:0 12px 8px;padding:7px 12px;font-size:calc(10px * var(--client-font-scale,1));background:#574c2b;border-color:#b59b57;color:#f0d995}.notification.info{background:#294b45;border-color:#638879;color:#d4e6c4}
.command-dock{min-width:0;min-height:0;display:grid;grid-template-rows:42px minmax(0,1fr);border:2px solid #5d734c;background:#1c3227}.workspace-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#2a4432;border-bottom:2px solid #586f49;min-width:0}.workspace-tab{min-width:0;min-height:40px;padding:6px 3px;color:#c2cda9;font-size:calc(10px * var(--client-font-scale,1));letter-spacing:0;border-right:1px solid #4e6543;box-shadow:none}.workspace-tab:last-child{border-right:0}.workspace-tab.active,.workspace-tab[aria-selected='true']{color:#eff2c2;background:#415b38;box-shadow:inset 0 -3px #c0d77a}.workspace-tab:hover{background:#385335}.dock-content{min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#6c8656 #20392a;position:relative}.dock-content>[data-workspace-panel]{display:none!important;min-width:0;margin:0}.dock-content>[data-workspace-panel]:focus{outline-offset:-3px}body[data-workspace-tab='operations'] [data-workspace-panel='operations']{display:flex!important}body[data-workspace-tab='players'] [data-workspace-panel='players'],body[data-workspace-tab='activity'] [data-workspace-panel='activity'],body[data-workspace-tab='report'] [data-workspace-panel='report']{display:block!important}body[data-workspace-tab='chat'] [data-workspace-panel='chat']{display:flex!important}.dock-content>[data-workspace-panel][hidden]{display:none!important}.operations-column{flex-direction:column;gap:12px;align-items:stretch;padding:12px}.operations-column>.panel{height:auto;flex:none;border:1px solid #506a44}.phase-panel{padding:16px}.phase-panel.lobby,.phase-panel.finished{background:#294331;border-color:#6f8652}.phase-panel h2{font-size:calc(21px * var(--client-font-scale,1));margin-top:7px;margin-bottom:10px}.phase-panel p{font-size:calc(11px * var(--client-font-scale,1));color:#c0cbab;line-height:1.65}.phase-panel .phase-illustration{height:38px;margin-bottom:8px}.phase-illustration .pixel-sprite,.phase-illustration svg{width:42px;height:42px}.phase-panel .large-stat{font:calc(35px * var(--client-font-scale,1)) 'Courier New',monospace}.phase-panel .info-note{background:#354d32;border-color:#6e8450;color:#d8e0b6;line-height:1.6}.phase-panel .info-note.warning{background:#574629;border-color:#a4874e;color:#f0d795}.fact-list{border-color:#536c48;font-size:calc(10px * var(--client-font-scale,1));gap:9px;padding-top:10px;margin-top:14px}.fact-list b{color:#e4e6bc}.tile-panel .panel-heading{padding:14px 15px 11px}.tile-panel .panel-heading h2{font-size:calc(18px * var(--client-font-scale,1))}.tile-info{padding:0 15px}.tile-form{padding:0 15px 15px}.tile-hint{padding:0 15px 15px;font-size:calc(10px * var(--client-font-scale,1))}.tile-form .button-grid{gap:8px}.tile-form .button-grid button{min-height:40px;font-size:calc(11px * var(--client-font-scale,1));padding:9px 6px}.empty-inspector{padding:7px 0 14px}.empty-inspector p{font-size:calc(11px * var(--client-font-scale,1))}.crosshair{font-family:'Courier New',monospace;font-size:calc(40px * var(--client-font-scale,1));color:#c1d17d}.terrain-advice{background:#324a30;border:1px solid #6b8050;color:#d7dfb3;font-size:calc(10px * var(--client-font-scale,1))}.land-sale{margin:0 15px 15px}.store-box{background:#2b4432;border-color:#60774b}.market-summary,.sub-heading{border-color:#526b46}.compact-form input,.compact-form select{font-size:calc(12px * var(--client-font-scale,1));min-height:40px}.order-book{border-color:#566c45}.order-column{background:#213c2a}.book-order{border-color:#526b4366}.trade-feed{color:#bac9a4}.own-order{background:#344d31;border-color:#6c8452;color:#d0dda9}.player-card{padding:13px 12px;gap:10px;border-bottom:1px solid #4d6543;border-right:0}.players{display:flex;flex-direction:column;overflow:visible;max-height:none;border-top:1px solid #546c45}.player-card.me{background:#314c32}.player-card .avatar{width:43px;height:43px}.player-card .avatar .pixel-sprite{width:40px;height:40px}.player-info{min-width:0}.player-name{font-size:calc(11px * var(--client-font-scale,1))}.player-rank{display:block;color:#abbc91;width:16px}.player-details{font-size:calc(9px * var(--client-font-scale,1));color:#aabb95}.player-value{font:calc(13px * var(--client-font-scale,1)) 'Courier New',monospace}.player-value small{color:#b2c197;font-size:calc(8px * var(--client-font-scale,1))}.player-menu button{min-height:35px;min-width:25px;color:#d0d6b0}.roster-heading{padding:18px 14px 15px}.roster-heading .muted{font-size:calc(8px * var(--client-font-scale,1))}.colonists-panel,.activity-panel,.chat-panel,.report-panel{border:0;min-height:100%;height:auto}.chat-panel{flex-direction:column;height:100%}.activity-panel>.panel-heading,.chat-panel>.panel-heading,.report-panel>.panel-heading{border-bottom:1px solid #516b44}.activity,.chat-messages{padding:12px 15px;max-height:none;height:auto;overflow:visible;scrollbar-color:#657f50 transparent}.activity-entry{color:#cdd6b5;border-color:#496240;font-size:calc(11px * var(--client-font-scale,1));line-height:1.65;padding:11px 0;gap:10px}.activity-entry.event{color:#efcc83}.activity-round{color:#9ab081;font-size:calc(8px * var(--client-font-scale,1));width:27px}.chat-messages{flex:1;overflow-y:auto;min-height:90px}.chat-meta{font-size:calc(10px * var(--client-font-scale,1));color:#d1dfa5}.chat-meta time{color:#a5b78e}.chat-message p{font-size:calc(12px * var(--client-font-scale,1));color:#e1e3c4}.chat-form{padding:10px;border-top:1px solid #4d6641;background:#253f2b;position:sticky;bottom:0}.chat-form input{font-size:calc(12px * var(--client-font-scale,1));min-height:43px}.chat-form .primary{min-width:43px}.table-wrap{max-width:100%;font-size:calc(11px * var(--client-font-scale,1))}.report-panel table{font-size:calc(11px * var(--client-font-scale,1))}.report-panel th{background:#1b3325;color:#b5c69c;font-size:calc(8px * var(--client-font-scale,1))}.report-panel th,.report-panel td{padding:11px 12px;border-color:#4a6440}.report-panel .panel-heading h2{font-size:calc(17px * var(--client-font-scale,1))}

/* Race portraits and rule cards remain readable inside the compact command dock. */
.race-picker{margin-top:18px}.race-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.race-card{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;min-height:150px;padding:10px 8px 12px;text-align:center;background:#203b2b;border:2px solid #526c43;color:#eee7c3;box-shadow:2px 2px #172d21}.race-card:hover{background:#355236;border-color:#a5bd6c}.race-card.selected{background:#3f5733;border-color:#d4df8d;box-shadow:inset 0 0 0 1px #84934d,2px 2px #162b1e}.race-card.selected:after{content:'✓';position:absolute;top:3px;right:5px;font:calc(12px * var(--client-font-scale,1)) 'Courier New',monospace;color:#f1ecc0}.race-portrait{height:55px;width:55px;display:block;margin-bottom:7px;flex:none}.race-portrait .pixel-sprite{width:55px;height:55px}.race-name{font-size:calc(11px * var(--client-font-scale,1));font-weight:bold;display:block}.race-cash{font:calc(11px * var(--client-font-scale,1)) 'Courier New',monospace;color:#e8c778;margin-top:2px;display:block}.race-perk-title{font-size:calc(9px * var(--client-font-scale,1));color:#d1dfa2;margin-top:6px;display:block}.race-perk{font-size:calc(9px * var(--client-font-scale,1));line-height:1.55;color:#bfcbaa;margin-top:3px;display:block}.race-selected-note{font-size:calc(10px * var(--client-font-scale,1));color:#d6dfa8;line-height:1.6}

/* Large event notices, sprite animation canvas and the large-world overview. */
.event-notice{position:absolute;left:12px;bottom:57px;width:min(455px,calc(100% - 24px));z-index:20;max-height:48%;overflow:auto;pointer-events:auto;filter:drop-shadow(4px 4px 0 #102519aa)}.world-event-card{display:flex;gap:13px;align-items:flex-start;border:3px solid #c2d584;background:#243f2c;padding:15px;color:#f5ecc5;box-shadow:inset 0 0 0 2px #3d5836}.world-event-card[data-severity='negative'],[data-severity='negative']>.world-event-card{border-color:#e7a267;background:#483c27}.world-event-card[data-severity='positive'],[data-severity='positive']>.world-event-card{border-color:#c2d884;background:#344c2d}.event-pixel{flex:none;display:flex;align-items:center;justify-content:center;width:65px;height:65px;background:#172f23;border:2px solid #657d4b;padding:6px}.event-pixel .pixel-sprite{width:52px;height:52px}.event-copy{min-width:0;flex:1}.event-kicker{font:calc(8px * var(--client-font-scale,1)) 'Courier New',monospace;color:#d0d898;letter-spacing:.14em;text-transform:uppercase}.event-title{font-size:calc(19px * var(--client-font-scale,1));line-height:1.2;color:#f4e9ba;font-weight:700;margin:5px 0 7px}.event-message{font-size:calc(12px * var(--client-font-scale,1));line-height:1.6;color:#e4dfbb;margin:0;overflow-wrap:anywhere}.event-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px}.event-actions button,.event-dismiss,.event-recent{font:calc(10px * var(--client-font-scale,1)) Verdana,sans-serif;min-height:32px;padding:6px 9px;border:1px solid #91a465;background:#355332;color:#e1e8b1}.event-dismiss{flex:none;min-width:30px;font-size:calc(15px * var(--client-font-scale,1));align-self:start}.event-count{font:calc(9px * var(--client-font-scale,1)) 'Courier New',monospace;color:#cddca7;white-space:nowrap}.world-overview{position:absolute;right:12px;bottom:12px;z-index:14;max-width:180px;width:28%;background:#173025;border:2px solid #9caf68;box-shadow:3px 3px #12271fb3;image-rendering:pixelated;cursor:crosshair;touch-action:none}.world-overview canvas,canvas.world-overview{image-rendering:pixelated;max-width:180px}.world-overview button,.world-overview-label{font:calc(8px * var(--client-font-scale,1)) 'Courier New',monospace;color:#dce7ad;background:#233f2b;padding:4px 6px;border:0}.world-history-dialog{width:min(780px,calc(100% - 30px));max-height:calc(100dvh - 30px);background:#203b2b;border:2px solid #819759}.event-history-top{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:18px 20px;border-bottom:2px solid #6f8751;background:#2c4730;position:sticky;top:0;z-index:1}.event-history-top h2{font-size:calc(24px * var(--client-font-scale,1))}.event-history-list{padding:8px 20px 20px}.event-history-row{display:flex;gap:15px;padding:17px 0;border-bottom:1px solid #5b7448}.event-history-row>.pixel-sprite{width:48px;height:48px;flex:none}.event-history-row .event-title{font-size:calc(16px * var(--client-font-scale,1))}.event-history-row .event-message{font-size:calc(12px * var(--client-font-scale,1))}.toast{border:2px solid #a4ba6e;background:#2e4b31;box-shadow:4px 4px #11291fd9;color:#f0ebbe;font-size:calc(12px * var(--client-font-scale,1));bottom:30px}.toast.error{border-color:#d39163;background:#4b3629;color:#f6d5af}dialog{border:2px solid #819759;box-shadow:7px 7px #10231ccc;background:#1a3327}dialog::backdrop{background:#0c211ccc;backdrop-filter:none}.dialog-heading,.dialog-footer{background:#29452f;border-color:#6d8452}.dialog-heading h2{font-size:calc(27px * var(--client-font-scale,1))}.dialog-heading .eyebrow{color:#c9d690}.settings-group{background:#213c2a;border-color:#60794c}.settings-group h3{color:#f2e7b8}.event-row{background:#263f2d;border-color:#5b7448}.event-rule p{color:#e8dfb6}.event-rule small{color:#b8c79e}.event-description textarea{color:#c4d0ad}.events-heading h3{color:#e8dfb7}.help-content{color:#ced6b5}.help-steps article{background:#26432d;border-color:#69814e}.help-callout{background:#36512f;border-color:#bdd479}.help-callout h3{color:#efe7b9}.winner-card{background:#514a2d;border:1px solid #b89b57}.copy-fallback{background:#1b3426;border-color:#6f8750;color:#d9e6ae}

@media(min-width:1600px){.game-layout{grid-template-columns:minmax(0,1fr) 390px}.phase-bar{padding-top:13px;padding-bottom:13px}.player-hud{min-height:65px}.welcome-world{padding-left:9%;padding-right:9%}.welcome-copy{padding-top:70px}.frontier-art{max-height:450px}.race-card{min-height:158px}.race-portrait,.race-portrait .pixel-sprite{width:60px;height:60px}}
@media(max-width:1200px){.phase-progress{display:none}.game-layout{grid-template-columns:minmax(0,1fr) 325px;gap:10px}.phase-heading p{max-width:465px}.hud-item{padding:7px 9px;gap:6px}.hud-item .hud-detail{display:block;margin-left:0}.hud-item strong{font-size:calc(21px * var(--client-font-scale,1))}.hud-item.identity strong{max-width:100px}.hud-item>svg{width:25px;height:25px}.map-tools>.muted{display:none}.room-chip>span{display:none}.topbar{gap:15px}.map-footer>.muted{display:none}.welcome h1{font-size:calc(47px * var(--client-font-scale,1))}.welcome-world{padding:32px 6%}.welcome-copy{padding-top:46px}.frontier-art{margin-top:25px;min-height:160px}.entry-content h2{font-size:calc(33px * var(--client-font-scale,1))}}
@media(max-width:960px){.game-layout{grid-template-columns:minmax(0,1fr) 290px;padding:0 9px;gap:9px}.topbar{padding:7px 12px;min-height:52px;gap:12px}.connection{font-size:calc(9px * var(--client-font-scale,1))}.topbar-actions .subtle{font-size:calc(9px * var(--client-font-scale,1));padding:6px 7px}.topbar-actions{gap:5px}.room-chip{padding-left:12px}.room-chip button{font-size:calc(14px * var(--client-font-scale,1))}.phase-bar{padding:10px 12px;gap:12px;min-height:75px}.phase-heading h1{font-size:calc(22px * var(--client-font-scale,1))}.phase-heading p{font-size:calc(9px * var(--client-font-scale,1));max-width:360px}.phase-controls{gap:5px}.phase-controls>.primary{padding:8px 10px;font-size:calc(10px * var(--client-font-scale,1))}.clock{min-width:59px;margin-right:2px}.clock b{font-size:calc(22px * var(--client-font-scale,1))}.player-hud{margin:0 9px 9px;grid-template-columns:1.2fr repeat(5,minmax(0,1fr));min-height:61px}.hud-item{display:flex;padding:6px;gap:5px}.hud-item>svg{display:none}.hud-item.identity .avatar{width:30px;height:33px}.hud-item.identity .avatar .pixel-sprite{width:30px;height:30px}.hud-item.identity{padding:6px}.hud-item.identity strong{font-size:calc(10px * var(--client-font-scale,1));max-width:85px}.hud-item .resource-name{font-size:calc(7px * var(--client-font-scale,1));letter-spacing:.04em}.hud-item strong{font-size:calc(20px * var(--client-font-scale,1))}.hud-item .hud-detail{font-size:calc(7px * var(--client-font-scale,1))}.planet-panel>.panel-heading{padding:8px 9px}.planet-panel>.panel-heading h2{font-size:calc(14px * var(--client-font-scale,1))}.planet-panel>.panel-heading .eyebrow{font-size:calc(6px * var(--client-font-scale,1))}.map-tools{gap:3px}.map-tools .icon-button{min-width:26px;height:28px;font-size:calc(16px * var(--client-font-scale,1))}.zoom-label{font-size:calc(9px * var(--client-font-scale,1));padding:2px;min-width:29px}.map-footer{padding:6px 9px;font-size:calc(7px * var(--client-font-scale,1))}.terrain-legend{gap:8px}.colony-status{padding:5px 9px 8px}.operations-column{padding:9px;gap:10px}.phase-panel{padding:14px}.phase-panel h2{font-size:calc(19px * var(--client-font-scale,1))}.phase-panel p{font-size:calc(10px * var(--client-font-scale,1))}.tile-panel .panel-heading{padding:13px}.tile-info{padding:0 13px}.tile-form{padding:0 13px 13px}.tile-hint{padding:0 13px 13px}.race-grid{gap:6px}.race-card{padding:9px 6px;min-height:146px}.race-portrait,.race-portrait .pixel-sprite{width:49px;height:49px}.race-name{font-size:calc(10px * var(--client-font-scale,1))}.race-perk{font-size:calc(8px * var(--client-font-scale,1))}.workspace-tab{font-size:calc(9px * var(--client-font-scale,1))}.welcome{grid-template-columns:1fr 370px}.welcome h1{font-size:calc(39px * var(--client-font-scale,1))}.welcome-copy p{font-size:calc(13px * var(--client-font-scale,1))}.welcome-world{padding:28px 7%}.welcome-copy{padding-top:40px}.welcome-entry{padding:30px 25px}.welcome-tags span{font-size:calc(8px * var(--client-font-scale,1));padding:5px 7px}.frontier-art{margin-top:23px;min-height:150px;max-height:280px}.art-caption{font-size:calc(6px * var(--client-font-scale,1))}.entry-content h2{font-size:calc(30px * var(--client-font-scale,1))}.welcome-foot{font-size:calc(9px * var(--client-font-scale,1))}.event-title{font-size:calc(17px * var(--client-font-scale,1))}.event-message{font-size:calc(11px * var(--client-font-scale,1))}.event-pixel{width:52px;height:52px;padding:4px}.event-pixel .pixel-sprite{width:42px;height:42px}.world-event-card{padding:11px;gap:10px}}
@media(max-width:720px){
 .welcome{display:block;min-height:100svh}.welcome-world{padding:22px 23px 21px;min-height:0;border-right:0;border-bottom:2px solid #6f8555;display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.welcome-world>.brand{grid-column:1/-1;font-size:calc(20px * var(--client-font-scale,1))}.welcome-world>.brand svg{width:40px;height:40px}.welcome-world>.brand b{font-size:calc(8px * var(--client-font-scale,1))}.welcome-copy{width:auto;grid-column:1;padding:22px 0 0;min-width:0}.welcome-copy .eyebrow{font-size:calc(6px * var(--client-font-scale,1));letter-spacing:.05em}.welcome h1{font-size:calc(28px * var(--client-font-scale,1));margin:12px 0;letter-spacing:-.055em}.welcome-copy p{font-size:calc(10px * var(--client-font-scale,1));margin-bottom:0;line-height:1.7}.welcome-tags{display:none}.frontier-art{position:relative;grid-column:2;align-self:center;width:auto;min-height:0;height:auto;max-height:none;right:auto;bottom:auto;opacity:1;z-index:0;margin:19px 0 0;box-shadow:3px 3px #1c3628}.art-caption{display:none}.welcome-foot{display:none}.welcome-entry{min-height:0;padding:23px}.entry-content{padding:24px 0}.entry-content h2{font-size:calc(27px * var(--client-font-scale,1))}.entry-content h2 br{display:none}.entry-content>.muted{font-size:calc(12px * var(--client-font-scale,1));margin-bottom:23px;max-width:none}.entry-number{display:none}.entry-note{margin-top:23px;padding-top:18px;font-size:calc(11px * var(--client-font-scale,1))}.entry-bottom{font-size:calc(8px * var(--client-font-scale,1))}.entry-top .eyebrow{font-size:calc(8px * var(--client-font-scale,1))}
 .game{height:100dvh}.topbar{flex-wrap:nowrap;min-height:47px;height:47px;gap:8px;padding:5px 9px}.brand.small{font-size:calc(13px * var(--client-font-scale,1));gap:4px;flex:none}.brand.small svg{width:29px;height:29px}.brand.small b{font-size:calc(6px * var(--client-font-scale,1));margin-top:3px;letter-spacing:.25em}.connection{display:none}.room-chip{margin-left:auto;order:0;border:0;padding:0;gap:0}.room-chip>span{display:none}.room-chip button{font-size:calc(12px * var(--client-font-scale,1));letter-spacing:.03em;padding:4px 0}.room-chip button span{display:none}.topbar-actions{margin-left:0;order:0;gap:4px}.topbar-actions .subtle{font-size:calc(9px * var(--client-font-scale,1));padding:5px 6px;min-height:31px}.topbar-actions>[data-action='invite']{display:none}.topbar-actions>.icon-button{min-width:28px;height:31px;padding:0 6px;font-size:calc(15px * var(--client-font-scale,1))}.phase-bar{display:flex;gap:8px;padding:8px 10px;min-height:69px;align-items:center}.phase-heading{min-width:0;flex:1}.phase-heading .eyebrow{font-size:calc(7px * var(--client-font-scale,1));letter-spacing:.08em}.phase-heading h1{font-size:calc(18px * var(--client-font-scale,1));margin-top:3px;line-height:1.1}.phase-heading p{font-size:calc(8px * var(--client-font-scale,1));margin-top:4px;line-height:1.4;max-width:100%}.phase-controls{margin:0;gap:4px;display:grid;grid-template-columns:auto auto;align-items:center;flex:none}.phase-controls .clock{margin:0;text-align:right;display:block;grid-column:1/-1;line-height:1;min-width:0}.clock span{display:none}.clock b{font-size:calc(17px * var(--client-font-scale,1))}.phase-controls .primary{font-size:calc(9px * var(--client-font-scale,1));padding:6px 8px;min-height:30px;line-height:1.2;grid-row:2;grid-column:1/-1}.phase-controls .icon-button{display:none}.player-hud{grid-template-columns:repeat(6,minmax(0,1fr));margin:0 7px 7px;min-height:53px;height:53px}.hud-item{display:block;padding:5px 6px!important;border-top:0!important;min-width:0;border-left:1px solid #566c46!important;overflow:hidden}.hud-item:first-child{border-left:0!important}.hud-item>svg{display:none}.hud-item.identity{display:flex;gap:0;justify-content:center}.hud-item.identity .avatar{width:30px;height:33px;display:flex!important}.hud-item.identity .avatar .pixel-sprite{width:30px;height:30px}.hud-item.identity>div{display:none}.hud-item strong{font-size:calc(20px * var(--client-font-scale,1));line-height:1.15}.hud-item .resource-name{font-size:calc(6px * var(--client-font-scale,1));letter-spacing:0;line-height:1.3}.hud-item .hud-detail{font-size:calc(6px * var(--client-font-scale,1));line-height:1.3;display:block;margin:0;white-space:nowrap}.game-layout{padding:0 7px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(155px,45%) minmax(0,1fr);gap:7px;align-items:stretch}.planet-panel{grid-column:1;grid-row:1;height:100%}.planet-panel>.panel-heading{min-height:35px;height:35px;padding:4px 7px;gap:7px}.planet-panel>.panel-heading .eyebrow{display:none}.planet-panel>.panel-heading h2{font-size:calc(13px * var(--client-font-scale,1));white-space:nowrap}.planet-panel>.panel-heading h2 .pill{font-size:calc(8px * var(--client-font-scale,1));padding:2px 4px;margin-left:4px}.map-tools{gap:3px}.map-tools>.muted{display:none}.map-tools .icon-button{min-width:29px;height:28px;font-size:calc(16px * var(--client-font-scale,1))}.zoom-label{min-width:30px;font-size:calc(9px * var(--client-font-scale,1))}.map-scroll{min-height:0;max-height:none;padding:5px}.map-footer{min-height:20px;height:20px;padding:3px 7px;flex-wrap:nowrap;font-size:calc(7px * var(--client-font-scale,1))}.terrain-legend{gap:9px}.terrain-legend span{font-size:calc(7px * var(--client-font-scale,1))}.terrain-legend i{width:6px;height:6px}.map-footer>.muted{display:none}.colony-status{padding:2px 7px 4px;min-height:10px}.colony-status-top{font-size:calc(7px * var(--client-font-scale,1));margin-bottom:2px}.progress-track{height:3px}.command-dock{grid-column:1;grid-row:2;grid-template-rows:38px minmax(0,1fr)}.workspace-tab{font-size:calc(10px * var(--client-font-scale,1));min-height:36px;padding:4px 3px}.dock-content{min-height:0}.operations-column{display:flex;flex-direction:column;gap:9px;padding:9px}.phase-panel,.tile-panel{height:auto}.phase-panel{padding:13px}.phase-panel h2{font-size:calc(19px * var(--client-font-scale,1))}.phase-panel p{font-size:calc(11px * var(--client-font-scale,1))}.phase-panel .phase-illustration{display:none}.fact-list{font-size:calc(10px * var(--client-font-scale,1))}.tile-panel .panel-heading h2{font-size:calc(18px * var(--client-font-scale,1))}.tile-info{font-size:calc(12px * var(--client-font-scale,1))}.tile-form .button-grid button{min-height:44px;font-size:calc(12px * var(--client-font-scale,1))}.tile-form select{min-height:44px;font-size:calc(13px * var(--client-font-scale,1))}.game-footer{min-height:19px;height:19px;padding:3px 9px;gap:8px;font-size:calc(6px * var(--client-font-scale,1))}.game-footer>span:first-child{font-size:calc(6px * var(--client-font-scale,1))}.game-footer>.text-button{font-size:calc(7px * var(--client-font-scale,1))}.game-footer>span:last-child{display:none}.notification{margin:0 7px 6px;padding:5px 8px;font-size:calc(9px * var(--client-font-scale,1));line-height:1.4}.race-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.race-card{min-height:147px;padding:10px 8px}.race-name{font-size:calc(12px * var(--client-font-scale,1))}.race-cash{font-size:calc(11px * var(--client-font-scale,1))}.race-perk-title,.race-perk{font-size:calc(10px * var(--client-font-scale,1))}.race-portrait,.race-portrait .pixel-sprite{width:51px;height:51px}.players{display:flex;max-height:none}.player-card{gap:10px;padding:13px}.player-card .avatar{display:flex!important;width:44px;height:44px}.player-rank{display:block}.player-value{font-size:calc(14px * var(--client-font-scale,1))}.player-name{font-size:calc(12px * var(--client-font-scale,1))}.player-details{font-size:calc(10px * var(--client-font-scale,1))}.roster-heading .muted{font-size:calc(9px * var(--client-font-scale,1))}.player-menu button{min-height:44px;min-width:34px}.activity-panel,.chat-panel{min-height:100%}.activity{height:auto}.chat-messages{height:auto}.chat-form input{font-size:calc(14px * var(--client-font-scale,1));min-height:44px}.chat-form .primary{min-height:44px;min-width:44px}.event-notice{left:7px;bottom:32px;width:calc(100% - 14px);max-height:calc(100% - 45px);filter:drop-shadow(3px 3px #11241bd9)}.world-event-card{padding:9px;gap:9px;border-width:2px}.event-pixel{width:46px;height:46px;padding:3px}.event-pixel .pixel-sprite{width:38px;height:38px}.event-title{font-size:calc(16px * var(--client-font-scale,1));margin:4px 0}.event-message{font-size:calc(10px * var(--client-font-scale,1));line-height:1.45}.event-kicker{font-size:calc(6px * var(--client-font-scale,1));letter-spacing:.09em}.event-dismiss{min-width:29px;min-height:29px;font-size:calc(14px * var(--client-font-scale,1));padding:3px}.event-actions{margin-top:7px;gap:7px}.event-actions button{font-size:calc(9px * var(--client-font-scale,1));min-height:30px;padding:5px 7px}.world-overview{max-width:120px;right:7px;bottom:7px;border-width:1px}.event-history-top{padding:15px}.event-history-top h2{font-size:calc(20px * var(--client-font-scale,1))}.event-history-list{padding:0 15px 15px}.event-history-row{gap:11px}.event-history-row .event-message{font-size:calc(12px * var(--client-font-scale,1))}.event-history-row .event-title{font-size:calc(16px * var(--client-font-scale,1))}.world-history-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px)}dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:0}.dialog-heading{padding:17px}.dialog-heading h2{font-size:calc(23px * var(--client-font-scale,1))}.dialog-heading p{font-size:calc(11px * var(--client-font-scale,1))}.dialog-heading>.icon-button{min-width:40px;height:40px}.dialog-footer{padding:12px 15px}.dialog-footer .primary,.dialog-footer .secondary{min-height:43px}.settings-fields{padding:15px}.events-editor{padding:0 15px 18px}.settings-group input,.settings-group select{min-height:42px;font-size:calc(13px * var(--client-font-scale,1))}.settings-group input[type='checkbox']{min-height:20px}.event-row input,.event-row select{min-height:39px;font-size:calc(12px * var(--client-font-scale,1))}.event-row input[type='checkbox']{min-height:19px}.help-content{font-size:calc(13px * var(--client-font-scale,1));line-height:1.8}.toast{font-size:calc(11px * var(--client-font-scale,1));bottom:23px;padding:9px 13px}
}
@media(max-width:380px){.brand.small{font-size:calc(11px * var(--client-font-scale,1))}.brand.small svg{width:26px;height:26px}.brand.small b{font-size:calc(5px * var(--client-font-scale,1))}.topbar{gap:6px;padding:5px 7px}.topbar-actions .subtle{font-size:calc(8px * var(--client-font-scale,1));padding:5px}.topbar-actions>.icon-button{min-width:25px;padding:0 5px}.room-chip button{font-size:calc(11px * var(--client-font-scale,1))}.topbar-actions{gap:3px}.phase-heading h1{font-size:calc(16px * var(--client-font-scale,1))}.phase-heading p{font-size:calc(7px * var(--client-font-scale,1))}.phase-controls .primary{font-size:calc(8px * var(--client-font-scale,1));padding:5px 6px}.hud-item{padding:5px 4px!important}.hud-item strong{font-size:calc(18px * var(--client-font-scale,1))}.hud-item .resource-name{font-size:calc(5px * var(--client-font-scale,1))}.hud-item .hud-detail{font-size:calc(5px * var(--client-font-scale,1))}.planet-panel>.panel-heading h2{font-size:calc(12px * var(--client-font-scale,1))}.map-tools{gap:2px}.map-tools .icon-button{min-width:26px;height:27px}.welcome-world{grid-template-columns:1fr;padding:20px}.welcome-copy{padding-top:20px}.welcome h1{font-size:calc(34px * var(--client-font-scale,1))}.welcome-copy p{font-size:calc(12px * var(--client-font-scale,1))}.frontier-art{grid-column:1;width:100%;max-height:170px;margin-top:20px}.frontier-pixels{aspect-ratio:240/116;object-fit:cover}.welcome-entry{padding:21px}.entry-content h2{font-size:calc(25px * var(--client-font-scale,1))}.event-pixel{display:none}.event-title{font-size:calc(15px * var(--client-font-scale,1))}.event-message{font-size:calc(10px * var(--client-font-scale,1))}.game-layout{grid-template-rows:minmax(150px,45%) minmax(0,1fr)}}
@media(max-height:680px) and (min-width:721px){.topbar{min-height:45px;height:45px;padding-top:4px;padding-bottom:4px}.topbar .brand svg{height:30px;width:30px}.phase-bar{min-height:64px;padding-top:7px;padding-bottom:7px}.phase-heading h1{font-size:calc(20px * var(--client-font-scale,1))}.player-hud{min-height:50px;height:50px;margin-bottom:7px}.hud-item{padding-top:4px;padding-bottom:4px}.hud-item strong{font-size:calc(20px * var(--client-font-scale,1))}.game-footer{min-height:19px;height:19px;padding-top:3px;padding-bottom:3px}.planet-panel>.panel-heading{min-height:43px;height:43px}.colony-status{padding-top:4px;padding-bottom:5px}}
@media(max-height:500px) and (orientation:landscape){.game-layout{grid-template-columns:minmax(0,1fr) minmax(285px,43%);grid-template-rows:minmax(0,1fr);gap:7px}.planet-panel{grid-column:1;grid-row:1}.command-dock{grid-column:2;grid-row:1;grid-template-rows:35px minmax(0,1fr)}.workspace-tab{min-height:33px;font-size:calc(9px * var(--client-font-scale,1))}.topbar{min-height:39px;height:39px;padding:3px 9px}.brand.small{font-size:calc(12px * var(--client-font-scale,1))}.brand.small svg{width:28px;height:28px}.phase-bar{min-height:46px;height:46px;padding:4px 10px}.phase-heading h1{font-size:calc(17px * var(--client-font-scale,1))}.phase-heading p{display:none}.phase-heading .eyebrow{font-size:calc(6px * var(--client-font-scale,1))}.phase-controls{display:flex;margin:0;gap:5px}.phase-controls .clock{display:block;text-align:right;margin-right:4px}.phase-controls .clock span{display:none}.phase-controls .clock b{font-size:calc(18px * var(--client-font-scale,1))}.phase-controls .primary{min-height:29px;height:29px;padding:5px 8px;font-size:calc(9px * var(--client-font-scale,1))}.phase-controls .icon-button{display:none}.player-hud{min-height:40px;height:40px;margin-bottom:5px;grid-template-columns:repeat(6,minmax(0,1fr))}.hud-item{padding:3px 8px!important;display:flex;gap:7px;align-items:center}.hud-item>svg{display:block;width:21px;height:21px}.hud-item .resource-name{font-size:calc(6px * var(--client-font-scale,1))}.hud-item strong{font-size:calc(18px * var(--client-font-scale,1))}.hud-item .hud-detail{display:none}.hud-item.identity .avatar{width:29px;height:29px}.hud-item.identity .avatar .pixel-sprite{width:27px;height:27px}.hud-item.identity>div{display:block}.hud-item.identity strong{font-size:calc(9px * var(--client-font-scale,1));max-width:62px}.hud-item.identity .resource-name{font-size:calc(5px * var(--client-font-scale,1))}.game-footer{min-height:16px;height:16px;padding-top:1px;padding-bottom:1px}.planet-panel>.panel-heading{min-height:33px;height:33px;padding:3px 7px}.planet-panel>.panel-heading .eyebrow{display:none}.planet-panel>.panel-heading h2{font-size:calc(12px * var(--client-font-scale,1))}.map-tools .icon-button{height:25px;min-width:25px}.map-footer{min-height:18px;height:18px;padding:2px 7px}.colony-status{padding:2px 7px 4px;min-height:8px}.colony-status-top{display:none}.operations-column{padding:8px;gap:8px}.phase-panel{padding:12px}.phase-panel .phase-illustration{display:none}.phase-panel h2{font-size:calc(17px * var(--client-font-scale,1))}.phase-panel p{font-size:calc(10px * var(--client-font-scale,1))}.event-notice{bottom:28px;max-height:calc(100% - 37px)}.event-pixel{display:none}.event-title{font-size:calc(14px * var(--client-font-scale,1))}.event-message{font-size:calc(9px * var(--client-font-scale,1))}.world-event-card{padding:8px}.event-actions{margin-top:5px}.event-actions button{min-height:25px;font-size:calc(8px * var(--client-font-scale,1))}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Small phones reserve enough height for the complete default 9 × 5 board. */
.chat-messages{min-height:0}.world-overview canvas{display:block;width:100%;height:auto}.overview-label{display:block;background:#233f2b;padding:3px 5px;font:calc(7px * var(--client-font-scale,1))/1.3 'Courier New',monospace;letter-spacing:.04em;color:#dce7ad}
@media(max-width:720px){.hud-item .resource-name{font-size:calc(7px * var(--client-font-scale,1))}.hud-item .hud-detail{font-size:calc(7px * var(--client-font-scale,1))}.chat-panel>.panel-heading{padding:10px 13px;min-height:53px;flex:none}.chat-panel .panel-heading h2{font-size:calc(16px * var(--client-font-scale,1))}.chat-panel .panel-heading .eyebrow{font-size:calc(6px * var(--client-font-scale,1))}.chat-panel .panel-heading .pill{font-size:calc(7px * var(--client-font-scale,1))}.chat-form{flex:none}.chat-messages{min-height:0}}
@media(max-width:720px) and (max-height:680px) and (orientation:portrait){.topbar{height:42px;min-height:42px}.phase-bar{min-height:62px;padding-top:6px;padding-bottom:6px}.player-hud{height:46px;min-height:46px;margin-bottom:6px}.hud-item{padding-top:4px!important;padding-bottom:4px!important}.hud-item.identity .avatar{height:31px;width:30px}.hud-item strong{font-size:calc(18px * var(--client-font-scale,1))}.hud-item .resource-name{font-size:calc(6px * var(--client-font-scale,1))}.hud-item .hud-detail{font-size:calc(6px * var(--client-font-scale,1))}.game-layout{grid-template-rows:225px minmax(0,1fr);gap:6px}.planet-panel>.panel-heading{height:33px;min-height:33px}.map-footer{height:15px;min-height:15px;padding:1px 7px}.terrain-legend span{font-size:calc(6px * var(--client-font-scale,1))}.colony-status{padding:2px 7px 4px;min-height:8px}.colony-status-top{display:none}.game-footer{height:16px;min-height:16px;padding-top:2px;padding-bottom:2px}.command-dock{grid-template-rows:35px minmax(0,1fr)}.workspace-tab{min-height:33px;font-size:calc(9px * var(--client-font-scale,1))}.event-notice{bottom:25px;max-height:calc(100% - 34px)}}
.world-overview-toggle{font:calc(8px * var(--client-font-scale,1))/1.25 Verdana,sans-serif;white-space:normal;padding:4px 6px;max-width:65px;min-width:44px;min-height:34px;border:1px solid #869d5f;background:#314d31;color:#dce5b6}.toast{pointer-events:none}
@media(max-width:720px){.world-overview-toggle{width:44px;min-width:44px;height:44px;min-height:44px;max-width:44px;padding:0;font-size:0}.world-overview-toggle:after{content:'▧';font-size:calc(22px * var(--client-font-scale,1))}.planet-panel:has(.world-overview-toggle:not([hidden]))>.panel-heading{height:48px;min-height:48px}.planet-panel:has(.world-overview-toggle:not([hidden]))>.panel-heading h2 .pill{display:none}}
@media(max-width:720px) and (max-height:680px) and (orientation:portrait){.chat-panel>.panel-heading{min-height:35px;height:35px;padding:5px 10px}.chat-panel>.panel-heading .eyebrow{display:none}.chat-panel>.panel-heading h2{font-size:calc(14px * var(--client-font-scale,1))}.chat-panel>.panel-heading .pill{font-size:calc(6px * var(--client-font-scale,1))}.chat-messages{padding:5px 10px}.chat-form{padding:6px;gap:4px}.chat-form input{min-height:40px;height:40px;font-size:calc(12px * var(--client-font-scale,1));padding:7px}.chat-form .primary{min-height:40px;height:40px;min-width:40px;padding:5px 10px}.toast{top:46px;bottom:auto}}
.event-history-row h3{font-size:calc(17px * var(--client-font-scale,1));line-height:1.3;margin:5px 0 7px}.event-history-row p{font-size:calc(12px * var(--client-font-scale,1));line-height:1.65;color:#d7dfbc;margin:0}.empty-events{padding:20px 0;color:#c4d1ac;font-size:calc(13px * var(--client-font-scale,1))}
@media(max-width:720px){input:not([type='checkbox']),select,textarea,.compact-form input,.compact-form select,.chat-form input,.entry-content input,.settings-group input,.settings-group select,.event-row input,.event-row select{font-size:calc(16px * var(--client-font-scale,1)) !important}}

/* Mobile keyboards can resize visualViewport without resizing 100dvh. The app
   supplies this height only during unzoomed text entry, preserving pinch zoom. */
.game{height:var(--visible-game-height,100dvh)}
body.keyboard-open .topbar{height:32px;min-height:32px;padding:2px 8px;border-bottom-width:1px;gap:7px}
body.keyboard-open .topbar .brand{font-size:calc(11px * var(--client-font-scale,1));gap:4px}
body.keyboard-open .topbar .brand svg{width:23px;height:23px}
body.keyboard-open .topbar .brand b,body.keyboard-open .connection{display:none}
body.keyboard-open .room-chip button{font-size:calc(10px * var(--client-font-scale,1))}
body.keyboard-open .topbar-actions .subtle{font-size:calc(8px * var(--client-font-scale,1));min-height:25px;height:25px;padding:3px 5px}
body.keyboard-open .topbar-actions .icon-button{height:25px;min-width:25px;padding:0 4px;font-size:calc(13px * var(--client-font-scale,1))}
body.keyboard-open .phase-bar{min-height:31px;height:31px;padding:3px 8px;gap:7px}
body.keyboard-open .phase-heading .eyebrow,body.keyboard-open .phase-heading p,body.keyboard-open .phase-progress{display:none}
body.keyboard-open .phase-heading h1{font-size:calc(14px * var(--client-font-scale,1));margin:0;line-height:1.2}
body.keyboard-open .phase-controls{display:flex;margin:0;gap:5px}
body.keyboard-open .phase-controls .clock{min-width:0;margin:0;text-align:right}
body.keyboard-open .clock b{font-size:calc(14px * var(--client-font-scale,1))}
body.keyboard-open .clock span,body.keyboard-open .phase-controls .icon-button{display:none}
body.keyboard-open .phase-controls .primary{min-height:24px;height:24px;font-size:calc(8px * var(--client-font-scale,1));padding:3px 6px;line-height:1.2}
body.keyboard-open .player-hud{height:35px;min-height:35px;margin:0 7px 5px;grid-template-columns:repeat(6,minmax(0,1fr))}
body.keyboard-open .hud-item{padding:3px 5px!important;display:block}
body.keyboard-open .hud-item>svg,body.keyboard-open .hud-item .hud-detail,body.keyboard-open .hud-item.identity>div{display:none}
body.keyboard-open .hud-item.identity{display:flex;justify-content:center}
body.keyboard-open .hud-item.identity .avatar{width:25px;height:25px}
body.keyboard-open .hud-item.identity .pixel-sprite{width:23px;height:23px}
body.keyboard-open .hud-item .resource-name{font-size:calc(6px * var(--client-font-scale,1))}
body.keyboard-open .hud-item strong{font-size:calc(16px * var(--client-font-scale,1));line-height:1.05}
body.keyboard-open .game-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(90px,36%) minmax(0,1fr);gap:5px;padding:0 7px 5px}
body.keyboard-open .planet-panel{grid-column:1;grid-row:1}
body.keyboard-open .planet-panel>.panel-heading,body.keyboard-open .planet-panel>.map-footer,body.keyboard-open .planet-panel>.colony-status{display:none}
body.keyboard-open .map-scroll{padding:3px;min-height:0}
body.keyboard-open .command-dock{grid-column:1;grid-row:2;grid-template-rows:29px minmax(0,1fr)}
body.keyboard-open .workspace-tab{min-height:27px;font-size:calc(9px * var(--client-font-scale,1));padding:3px 2px}
body.keyboard-open .chat-panel>.panel-heading{display:none}
body.keyboard-open .chat-messages{min-height:0;padding:4px 9px}
body.keyboard-open .chat-form{padding:5px;gap:4px}
body.keyboard-open .chat-form input{min-height:40px;height:40px;padding:7px}
body.keyboard-open .chat-form .primary{min-height:40px;height:40px;min-width:40px;padding:5px}
body.keyboard-open .game-footer{display:none}
body.keyboard-open .notification{font-size:calc(8px * var(--client-font-scale,1));max-height:24px;overflow:auto;padding:3px 7px;margin-bottom:4px}
body.keyboard-open .event-notice{left:5px;bottom:5px;width:calc(100% - 10px);max-height:calc(100% - 10px)}
body.keyboard-open .world-event-card{padding:6px;gap:6px}
body.keyboard-open .event-pixel{display:none}
body.keyboard-open .event-title{font-size:calc(13px * var(--client-font-scale,1));margin:2px 0}
body.keyboard-open .event-message{font-size:calc(9px * var(--client-font-scale,1));line-height:1.4}
body.keyboard-open .event-kicker{font-size:calc(6px * var(--client-font-scale,1))}
body.keyboard-open .event-actions{margin-top:4px}
body.keyboard-open .event-actions button{min-height:25px;padding:3px 5px;font-size:calc(8px * var(--client-font-scale,1))}
body.keyboard-open dialog{max-height:calc(var(--visible-game-height,100dvh) - 12px)}
body.keyboard-open .dialog-heading{padding:10px 12px}
body.keyboard-open .dialog-heading h2{font-size:calc(19px * var(--client-font-scale,1))}
body.keyboard-open .dialog-heading>div>p{display:none}
body.keyboard-open .dialog-footer{padding:8px 10px}
body.keyboard-open .dialog-footer button{min-height:34px;padding:6px 10px}

/* Turn guidance: one clear next action, with other controls kept in reach. */
.phase-bar{display:grid;grid-template-columns:minmax(130px,.3fr) minmax(0,1fr) auto;align-items:center;gap:16px;padding:10px 14px;min-height:100px;height:auto}
.phase-heading{min-width:0;align-self:center}.phase-heading h1{font-size:calc(18px * var(--client-font-scale,1));line-height:1.2;margin-top:3px}.phase-heading .eyebrow{font-size:calc(8px * var(--client-font-scale,1));letter-spacing:.07em}.phase-heading #phase-description{margin:0;max-width:none}.phase-progress{justify-content:flex-start;margin:8px 0 0;gap:3px;flex-wrap:wrap}.phase-step{width:auto;min-width:0;max-width:none;height:auto;min-height:21px;padding:3px 5px;font-size:calc(8px * var(--client-font-scale,1));border:0!important;background:transparent;line-height:1.2;box-shadow:none!important}.phase-step.active{background:#3d5835;color:#e5ecb0;border-bottom:2px solid #b8ce74!important}.phase-step.done{background:transparent;color:#bac4a6}
.turn-guide{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:15px;row-gap:5px;border-left:4px solid #d5e786;padding:9px 13px;background:#324b31;box-shadow:inset 0 1px #60734a,inset 0 -1px #60734a}.guide-copy{min-width:0}.guide-copy .eyebrow{font-size:calc(8px * var(--client-font-scale,1));line-height:1.3;color:#d7e891;letter-spacing:.1em}.guide-copy h2{font-size:calc(19px * var(--client-font-scale,1));color:#faf1ce;line-height:1.2;margin:3px 0 4px;letter-spacing:-.025em}.guide-copy p{font-size:calc(11px * var(--client-font-scale,1));color:#dce1c4;line-height:1.45;margin:0;max-width:690px}.guide-actions{align-self:center;display:flex;flex-direction:column;align-items:stretch;gap:5px;min-width:0;max-width:220px}.guide-actions .primary{min-height:44px;padding:10px 16px;font-size:calc(12px * var(--client-font-scale,1));white-space:normal;text-align:center;line-height:1.25}.guide-actions .text-button{color:#d5dabb;font-size:calc(10px * var(--client-font-scale,1));min-height:24px;padding:3px 5px;line-height:1.3}.guide-actions .text-button:hover{color:#fbf2c7;background:#415d38}.guide-steps{grid-column:1/-1;display:flex;align-items:center;gap:7px;list-style:none;padding:0;margin:0;font-size:calc(9px * var(--client-font-scale,1));color:#bdc7a6;line-height:1.4;counter-reset:guide-step}.guide-steps:empty{display:none}.guide-steps>*{display:flex;align-items:center;gap:4px;min-width:0;counter-increment:guide-step}.guide-steps>*:before{content:counter(guide-step);display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;flex:none;background:#243b29;color:#b7c69b;font:calc(9px * var(--client-font-scale,1)) 'Courier New',monospace;border:1px solid #6f8054}.guide-steps>.done{color:#bdcaaa}.guide-steps>.done:before{content:'✓';background:#405937;color:#d9e5b1;border-color:#879b65}.guide-steps>.current,.guide-steps>[aria-current='step']{color:#f8eebd;font-weight:bold}.guide-steps>.current:before,.guide-steps>[aria-current='step']:before{background:#d5e786;color:#263924;border-color:#e6efa6}.guide-steps>*+*:after{content:none}
.phase-controls{display:grid;grid-template-columns:auto auto;gap:6px;align-items:center}.phase-controls .clock{grid-column:1/-1;margin:0;text-align:center;min-width:0}.phase-controls .clock b{font-size:calc(20px * var(--client-font-scale,1))}.phase-controls .clock span{font-size:calc(6px * var(--client-font-scale,1))}.phase-controls #ready-button,.phase-controls #start-button{grid-column:1/-1;min-height:34px;padding:7px 10px;font-size:calc(10px * var(--client-font-scale,1));line-height:1.2;white-space:normal;background:#2b4330;border:1px solid #74875b;color:#d8dfbd;box-shadow:none}.phase-controls #ready-button:hover:not(:disabled),.phase-controls #start-button:hover:not(:disabled){background:#425b39;border-color:#bbc987}.phase-controls .icon-button{height:26px;min-width:27px;font-size:calc(16px * var(--client-font-scale,1))}.phase-controls .ready-secondary{opacity:.72}.phase-controls .ready-secondary:hover{opacity:1}
.guide-new-step{animation:guide-arrival .7s ease-out 1}.guide-target{outline:2px solid #e8db89!important;outline-offset:3px!important;box-shadow:0 0 0 5px #263b28!important}.tile.guide-target{outline:3px solid #fff0a2!important;outline-offset:-3px!important;box-shadow:inset 0 0 0 5px #314a2c!important;z-index:3}.workspace-tab.guide-target{outline-offset:-3px!important;box-shadow:inset 0 -3px #e8db89!important}.guide-target:focus-visible{outline-color:#fff8d1!important}
@keyframes guide-arrival{0%{background:#60703c}100%{background:#324b31}}
.advanced-options{border-top:1px solid #516748;margin:14px 0 0;padding:0;color:#c2cead}.advanced-options>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 0;font-size:calc(11px * var(--client-font-scale,1));font-weight:600;color:#cad7ae;touch-action:manipulation}.advanced-options>summary::-webkit-details-marker{display:none}.advanced-options>summary:before{content:'+';display:inline-flex;justify-content:center;align-items:center;width:18px;height:18px;flex:none;border:1px solid #72865a;font:calc(14px * var(--client-font-scale,1)) 'Courier New',monospace;color:#dbe6b9}.advanced-options[open]>summary:before{content:'−'}.advanced-options>summary:hover{color:#f1edc3}.advanced-options>summary:focus-visible{outline:2px solid #d5e786;outline-offset:2px}.advanced-options[open]{padding-bottom:5px}.advanced-options .sub-heading:first-of-type{margin-top:4px}.advanced-options .button-row{gap:7px}.advanced-options p{font-size:calc(11px * var(--client-font-scale,1))}.advanced-options .primary{background:#415b38;border-color:#778b5a;color:#e3e8c2;box-shadow:none}.phase-panel .phase-illustration{display:none}.phase-panel>h2{font-size:calc(19px * var(--client-font-scale,1))}.phase-panel>.eyebrow{color:#adbfa0;font-size:calc(8px * var(--client-font-scale,1))}.phase-panel>.fact-list{margin-top:10px}.tile-panel .panel-heading .eyebrow{font-size:calc(7px * var(--client-font-scale,1));color:#b4c2a2}
/* A continuous ochre edge makes every public-town plot read as one precinct. */
.tile.town{--town-border:#f2d591;border:1px solid #ad965c;background:#c9b276;cursor:pointer}.tile.town.town-edge-n{border-top:3px solid var(--town-border)}.tile.town.town-edge-s{border-bottom:3px solid var(--town-border)}.tile.town.town-edge-e{border-right:3px solid var(--town-border)}.tile.town.town-edge-w{border-left:3px solid var(--town-border)}.tile.town .tile-owner{display:none}.tile.town:hover{filter:brightness(1.05);--town-border:#fff0b7}.tile.town.town-anchor:after{content:'TOWN';position:absolute;bottom:3px;left:50%;transform:translateX(-50%);background:#3d3f25e8;padding:1px 4px;color:#fff0bb;font:bold calc(8px * var(--client-font-scale,1))/1.3 'Courier New',monospace;letter-spacing:.08em;z-index:4;pointer-events:none}.world-map[data-detail='compact'] .tile.town.town-anchor:after,.world-map[data-detail='tiny'] .tile.town.town-anchor:after{display:none}.world-map[data-detail='tiny'] .tile.town{border-width:1px}.world-map[data-detail='tiny'] .tile.town.town-edge-n{border-top-width:2px}.world-map[data-detail='tiny'] .tile.town.town-edge-s{border-bottom-width:2px}.world-map[data-detail='tiny'] .tile.town.town-edge-e{border-right-width:2px}.world-map[data-detail='tiny'] .tile.town.town-edge-w{border-left-width:2px}.town-reserved{border-left:3px solid #d9bc73;background:#49472c;padding:11px 12px;color:#ece3b8;font-size:calc(11px * var(--client-font-scale,1));line-height:1.6}
@media(max-width:1080px){.phase-bar{grid-template-columns:minmax(110px,.24fr) minmax(0,1fr) auto;gap:11px}.phase-heading h1{font-size:calc(16px * var(--client-font-scale,1))}.phase-progress{gap:2px}.phase-step{font-size:calc(7px * var(--client-font-scale,1));padding:3px}.turn-guide{padding:8px 10px;column-gap:10px}.guide-copy h2{font-size:calc(17px * var(--client-font-scale,1))}.guide-copy p{font-size:calc(10px * var(--client-font-scale,1))}.guide-actions{max-width:165px}.guide-actions .primary{padding:8px 11px;font-size:calc(11px * var(--client-font-scale,1))}.guide-steps{gap:6px;font-size:calc(8px * var(--client-font-scale,1))}}
@media(max-width:720px){.phase-bar{grid-template-columns:minmax(0,1fr) auto;gap:5px 8px;padding:5px 8px 7px;min-height:0;height:auto}.phase-heading{grid-column:1;grid-row:1;display:flex;align-items:center;gap:7px;min-width:0}.phase-heading .eyebrow{font-size:calc(7px * var(--client-font-scale,1));line-height:1.2;white-space:nowrap}.phase-heading h1{font-size:calc(12px * var(--client-font-scale,1));margin:0;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phase-progress{display:none}.phase-controls{grid-column:2;grid-row:1;display:flex;gap:5px;align-items:center}.phase-controls .clock{margin:0;text-align:right;line-height:1}.phase-controls .clock b{font-size:calc(14px * var(--client-font-scale,1))}.phase-controls .clock span{display:none}.phase-controls #ready-button,.phase-controls #start-button{min-height:27px;height:auto;max-width:118px;min-width:0;font-size:calc(9px * var(--client-font-scale,1));padding:5px 7px;line-height:1.2}.phase-controls .icon-button{display:none}.turn-guide{grid-column:1/-1;grid-row:2;padding:7px 9px;column-gap:8px;row-gap:5px;border-left-width:3px}.guide-copy .eyebrow{font-size:calc(7px * var(--client-font-scale,1));letter-spacing:.08em}.guide-copy h2{font-size:calc(15px * var(--client-font-scale,1));margin:2px 0 3px;line-height:1.2}.guide-copy p{font-size:calc(10px * var(--client-font-scale,1));line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.guide-actions{max-width:128px;gap:2px}.guide-actions .primary{min-height:44px;padding:7px 9px;font-size:calc(11px * var(--client-font-scale,1));line-height:1.25}.guide-actions .text-button{font-size:calc(9px * var(--client-font-scale,1));min-height:24px;padding:3px 2px}.guide-steps{font-size:calc(8px * var(--client-font-scale,1));gap:7px;line-height:1.2}.guide-steps>*{gap:3px}.guide-steps>*:before{width:13px;height:13px;font-size:calc(8px * var(--client-font-scale,1))}.advanced-options>summary{min-height:44px;font-size:calc(12px * var(--client-font-scale,1))}.advanced-options .button-row button{min-height:44px}.guide-target{outline-offset:1px!important;box-shadow:0 0 0 3px #263b28!important}.phase-panel{padding:12px}.phase-panel p{line-height:1.55}}
@media(max-width:380px){.phase-heading .eyebrow{font-size:calc(6px * var(--client-font-scale,1))}.phase-heading h1{font-size:calc(11px * var(--client-font-scale,1))}.phase-heading{gap:5px}.phase-controls #ready-button,.phase-controls #start-button{font-size:calc(8px * var(--client-font-scale,1));max-width:93px;padding:4px 6px}.phase-controls .clock b{font-size:calc(12px * var(--client-font-scale,1))}.turn-guide{padding:6px 7px;column-gap:7px}.guide-copy .eyebrow{font-size:calc(6px * var(--client-font-scale,1))}.guide-copy h2{font-size:calc(14px * var(--client-font-scale,1))}.guide-copy p{font-size:calc(9px * var(--client-font-scale,1));line-height:1.4}.guide-actions{max-width:108px}.guide-actions .primary{font-size:calc(10px * var(--client-font-scale,1));padding:7px;min-height:44px}.guide-steps{font-size:calc(7px * var(--client-font-scale,1));gap:5px}.guide-steps>*:before{width:12px;height:12px;font-size:calc(7px * var(--client-font-scale,1))}}
@media(max-width:720px) and (max-height:680px) and (orientation:portrait){.game-layout{grid-template-rows:190px minmax(0,1fr)}.phase-bar{padding-top:3px;padding-bottom:5px;gap:3px 7px}.turn-guide{padding-top:5px;padding-bottom:5px;row-gap:4px}.guide-copy .eyebrow{display:none}.guide-copy h2{margin-top:0}.guide-steps{font-size:calc(7px * var(--client-font-scale,1))}.guide-actions .text-button{min-height:20px;padding:2px}.guide-actions .primary{min-height:44px}}
@media(max-height:500px) and (orientation:landscape){.phase-bar{grid-template-columns:minmax(100px,.25fr) minmax(0,1fr) auto;min-height:64px;height:auto;padding:4px 9px;gap:8px}.phase-heading{display:block;grid-column:auto;grid-row:auto}.phase-heading .eyebrow{font-size:calc(6px * var(--client-font-scale,1))}.phase-heading h1{font-size:calc(12px * var(--client-font-scale,1));margin-top:2px}.phase-progress{display:none}.turn-guide{grid-column:auto;grid-row:auto;padding:5px 8px;column-gap:8px;row-gap:0}.guide-copy .eyebrow{display:none}.guide-copy h2{font-size:calc(13px * var(--client-font-scale,1));margin:0 0 2px}.guide-copy p{font-size:calc(9px * var(--client-font-scale,1));line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.guide-actions{max-width:125px;gap:0}.guide-actions .primary{min-height:40px;padding:6px 8px;font-size:calc(10px * var(--client-font-scale,1))}.guide-actions .text-button{min-height:19px;font-size:calc(8px * var(--client-font-scale,1));padding:2px}.guide-steps{display:none}.phase-controls{grid-column:auto;grid-row:auto;display:flex;gap:5px}.phase-controls .clock b{font-size:calc(14px * var(--client-font-scale,1))}.phase-controls #ready-button,.phase-controls #start-button{min-height:30px;height:auto;padding:5px 7px;font-size:calc(9px * var(--client-font-scale,1));max-width:95px}.phase-controls .icon-button{display:none}}
body.keyboard-open .phase-bar{display:flex;min-height:35px;height:35px;padding:3px 7px;gap:7px}body.keyboard-open .phase-heading{display:none}body.keyboard-open .turn-guide{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:2px 6px;flex:1;min-height:28px;border-left-width:2px;box-shadow:none}body.keyboard-open .guide-copy h2{font-size:calc(11px * var(--client-font-scale,1));line-height:1.2;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.keyboard-open .guide-copy .eyebrow,body.keyboard-open .guide-copy p,body.keyboard-open .guide-steps,body.keyboard-open #guide-secondary{display:none}body.keyboard-open .guide-actions .primary{min-height:25px;height:25px;max-width:120px;font-size:calc(8px * var(--client-font-scale,1));padding:3px 5px;white-space:nowrap}body.keyboard-open .phase-controls{display:flex;flex:none}body.keyboard-open .phase-controls #ready-button,body.keyboard-open .phase-controls #start-button{min-height:25px;height:25px;font-size:calc(8px * var(--client-font-scale,1));max-width:80px;padding:3px 5px}body.keyboard-open .phase-controls .clock b{font-size:calc(12px * var(--client-font-scale,1))}body.keyboard-open .game-layout{grid-template-rows:minmax(90px,36%) minmax(0,1fr)}
@media(prefers-reduced-motion:reduce){.guide-new-step{animation:none}}

#land-sale-details{margin:0 15px 15px}#land-sale-details>summary{font-size:calc(11px * var(--client-font-scale,1))}#land-sale-details .land-sale{margin:0;border-top:0;padding-top:0}.tile.guide-eligible:not(.guide-target):not(.selected){border-color:#9eb86a;filter:brightness(1.025)}.advanced-options.guide-target{outline-offset:3px!important}.advanced-options.guide-target>summary{color:#f4ecc2}
.guide-steps>li:has(.guide-step-number):before{display:none}.guide-step-number{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;flex:none;background:#243b29;color:#b7c69b;font:calc(9px * var(--client-font-scale,1)) 'Courier New',monospace;border:1px solid #6f8054}.guide-steps>.done .guide-step-number{background:#405937;color:#d9e5b1;border-color:#879b65}.guide-steps>.current .guide-step-number,.guide-steps>[aria-current='step'] .guide-step-number{background:#d5e786;color:#263924;border-color:#e6efa6}@media(max-width:720px){.guide-step-number{width:13px;height:13px;font-size:calc(8px * var(--client-font-scale,1))}}@media(max-width:380px){.guide-step-number{width:12px;height:12px;font-size:calc(7px * var(--client-font-scale,1))}}

/* One 32px art grid: use whole-size UI sprites and the complete plot canvas for every layer. */
.pixel-sprite{width:32px;height:32px;overflow:hidden;flex-shrink:0}
.brand svg,.brand.small svg,.welcome-world>.brand svg,.topbar .brand svg,.entry-note svg,.hud-item>svg,.hud-item svg,.phase-illustration svg,td .resource-icon{width:32px;height:32px}
.avatar,.player-card .avatar,.hud-item.identity .avatar{width:34px;height:34px}
.avatar .pixel-sprite,.player-card .avatar .pixel-sprite,.hud-item.identity .avatar .pixel-sprite,.phase-illustration .pixel-sprite,.event-history-row>.pixel-sprite{width:32px;height:32px}
.race-portrait,.race-portrait .pixel-sprite{width:64px;height:64px}
.event-pixel{width:68px;height:68px;padding:0}
.event-pixel .pixel-sprite{width:64px;height:64px}
.frontier-art{container-type:inline-size;align-items:center;max-height:none;flex:none}
.frontier-art .art-caption{align-self:stretch;flex:none}
.frontier-pixels{width:min(100%,256px);height:auto;max-width:none;max-height:none;aspect-ratio:2/1;object-fit:contain;flex:none}
@container(min-width:512px){.frontier-pixels{width:512px;height:256px}}
@container(min-width:768px){.frontier-pixels{width:768px;height:384px}}
.world-map{--art-pixel:calc(var(--tile-size) / 32)}
.world-map .tile{border:0!important}
.world-map .tile:before{display:block;content:'';position:absolute;inset:0;z-index:5;pointer-events:none;background:none;border:var(--plot-line,1px) solid var(--plot-line-color,#526e35);box-shadow:none}
.tile.owned{--plot-line:max(1px,var(--art-pixel));--plot-line-color:var(--owner-color,#f0ca74)}
.tile.guide-eligible:not(.guide-target):not(.selected){--plot-line-color:#9eb86a}
.tile:hover{--plot-line-color:#f3eab5}
.world-map .tile.town{--plot-line-color:#ad965c}
.world-map .tile.town.town-edge-n:before{border-top:max(2px,calc(var(--art-pixel) * 2)) solid var(--town-border)}
.world-map .tile.town.town-edge-s:before{border-bottom:max(2px,calc(var(--art-pixel) * 2)) solid var(--town-border)}
.world-map .tile.town.town-edge-e:before{border-right:max(2px,calc(var(--art-pixel) * 2)) solid var(--town-border)}
.world-map .tile.town.town-edge-w:before{border-left:max(2px,calc(var(--art-pixel) * 2)) solid var(--town-border)}
.world-map .tile .landscape,.world-map .terrain-pixels{width:var(--tile-size)!important;height:var(--tile-size)!important}
.world-map .tile-machine,.world-map[data-detail='tiny'] .tile-machine{inset:0;width:var(--tile-size);height:var(--tile-size);transform:none;gap:0}
.world-map .tile-machine>.pixel-sprite,.world-map .tile-machine>.mule{width:var(--tile-size);height:var(--tile-size);filter:none}
.world-map .tile-owner{height:max(1px,var(--art-pixel))}
@media(max-width:1100px){.event-pixel{width:36px;height:36px}.event-pixel .pixel-sprite{width:32px;height:32px}}
@media(max-width:720px){.hud-item.identity .avatar{width:34px;height:34px}.race-portrait,.race-portrait .pixel-sprite{width:64px;height:64px}}
/* Compact keyboard mode intentionally uses exact half-size icons to keep the map available. */
body.keyboard-open .topbar .brand svg,body.keyboard-open .hud-item.identity .pixel-sprite{width:16px;height:16px}
body.keyboard-open .hud-item.identity .avatar{width:18px;height:18px}
.settings-presets{padding:0 24px;margin:0 0 16px;min-width:0}
.settings-presets textarea{width:100%;max-width:100%;resize:vertical;overflow-wrap:anywhere;font:calc(11px * var(--client-font-scale,1))/1.5 monospace}
.settings-presets .button-row{flex-wrap:wrap}
@media(max-width:720px){.settings-presets{padding:0 15px}.settings-presets button{min-height:44px}}

/* Operations are always expanded; workspace tabs still choose the panel. */
.command-dock details>summary{display:block;cursor:default;list-style:none}.command-dock details>summary::before,.command-dock details>summary::after,.command-dock details>summary::-webkit-details-marker{display:none!important}.session-end-controls{padding:20px;border-top:1px solid var(--border,#536947)}.session-end-controls p{font-size:calc(14px * var(--client-font-scale,1));line-height:1.6}.session-end-controls button{min-height:44px}.race-time{display:block;font-size:calc(12px * var(--client-font-scale,1));line-height:1.5;color:var(--accent,#d5e786)}
