:root{--bg:#14171c;--panel:#16191feb;--panel-border:#ffffff1a;--fg:#e9e4d8;--accent:#e8742a;--accent-soft:#e8742a2e;--muted:#8a8f99;--error:#ff7a6b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--fg);margin:0}h1,h2,h3{margin:0}button,input,select{font:inherit;color:inherit}button{border:1px solid var(--accent);cursor:pointer;background:0 0;border-radius:6px;padding:.5rem 1.2rem}button:hover:not(:disabled){background:var(--accent-soft)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);color:#1a1206;font-weight:600}button.primary:hover:not(:disabled){background:#f08a45}button.ghost{border-color:var(--panel-border)}button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}input,select{border:1px solid var(--panel-border);background:#0f1216;border-radius:6px;padding:.45rem .6rem}.muted{color:var(--muted)}.small{font-size:.82rem}.error{color:var(--error)}.title-screen,.loading-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;height:100%;padding:1rem;display:flex}.title-screen h1{letter-spacing:.04em;font-size:clamp(2.5rem,8vw,5rem)}.tagline,.status{color:var(--muted)}.new-game{justify-content:center;min-height:100%;padding:2rem 1rem;display:flex}.new-game__card{flex-direction:column;gap:1.2rem;width:min(960px,100%);display:flex}.tabs{gap:.5rem;display:flex}.tabs button[aria-selected=true]{background:var(--accent-soft)}.tabs button[aria-selected=false]{border-color:var(--panel-border)}.new-game__body{grid-template-columns:minmax(260px,1fr) minmax(280px,1.3fr);align-items:start;gap:1.5rem;display:grid}@media (width<=720px){.new-game__body{grid-template-columns:1fr}}.new-game__settings{flex-direction:column;gap:1rem;display:flex}.new-game__settings label{flex-direction:column;gap:.35rem;display:flex}.new-game__settings label.checkbox{flex-direction:row;align-items:center}.seed-row{gap:.5rem;display:flex}.seed-row input{flex:1;min-width:0}.preset-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.preset{text-align:left;border-color:var(--panel-border);flex-direction:column;align-items:flex-start;gap:.25rem;width:100%;display:flex}.new-game__preview{border:1px solid var(--panel-border);background:#0b0d10;border-radius:8px;padding:.5rem}.preview-canvas{width:100%;display:block}.new-game__actions{justify-content:flex-end;gap:.75rem;display:flex}.game-screen{flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden}.game-area{flex:1;min-height:0;position:relative}.map-canvas{touch-action:none;cursor:grab;width:100%;height:100%;display:block;position:absolute;inset:0}.map-canvas:active{cursor:grabbing}.map-canvas--targeting,.map-canvas--targeting:active{cursor:crosshair}.mode-hint{background:var(--panel);border:1px dashed var(--accent);border-radius:6px;padding:.4rem .9rem;font-size:.88rem;position:absolute;top:.75rem;left:50%;transform:translate(-50%)}.top-bar{z-index:2;background:var(--panel);border-bottom:1px solid var(--panel-border);align-items:center;gap:1.2rem;padding:.45rem .9rem;font-size:.92rem;display:flex;position:relative}.top-bar__title{letter-spacing:.05em;font-weight:700}.top-bar__map{color:var(--muted)}.top-bar__player{align-items:center;gap:.4rem;display:inline-flex}.top-bar__spacer{flex:1}.top-bar button{padding:.25rem .8rem}.swatch{border-radius:50%;width:.8rem;height:.8rem;display:inline-block}.left-column{pointer-events:none;flex-direction:column;align-items:flex-start;gap:.5rem;max-width:min(320px,100% - 1.5rem);display:flex;position:absolute;top:.75rem;left:.75rem}.left-column>*{pointer-events:auto}.view-options{flex-wrap:wrap;gap:.4rem;display:flex}.view-options button{background:var(--panel);padding:.25rem .7rem;font-size:.88rem}.view-options button.dev{border-style:dashed}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;padding:.8rem 1rem;position:absolute}.panel__close{border:none;padding:.1rem .5rem;font-size:1.2rem;position:absolute;top:.3rem;right:.4rem}.panel p{margin:.4rem 0 0}.tile-info{width:min(300px,100% - 1.5rem);bottom:.75rem;left:.75rem}.tile-info h2{padding-right:1.5rem;font-size:1.05rem}.tile-info__resource{color:var(--accent)}.yields{gap:1rem;margin:.6rem 0 0;display:flex}.yields div{flex-direction:column;display:flex}.yields dt{color:var(--muted);font-size:.75rem}.yields dd{margin:0;font-size:1.1rem;font-weight:600}.dev-panel{flex-direction:column;gap:.5rem;max-width:220px;font-size:.85rem;display:flex;top:.75rem;right:.75rem}.dev-panel h3{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.75rem}.dev-panel button{padding:.3rem .6rem}.end-turn-wrap{flex-direction:column;align-items:flex-end;gap:.4rem;display:flex;position:absolute;bottom:.75rem;right:.75rem}.end-turn-notes{background:var(--panel);color:var(--muted);border-radius:6px;margin:0;padding:.3rem .6rem;font-size:.82rem}.end-turn{background:var(--accent);color:#1a1206;flex-direction:column;align-items:center;padding:.8rem 1.8rem;font-size:1.05rem;font-weight:700;display:flex}.end-turn small{font-size:.75rem;font-weight:500}.end-turn:hover:not(:disabled){background:#f08a45}.warn{color:#f0b04a}button.link{color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}button.link:hover{color:var(--accent);background:0 0}.panel h2{align-items:center;gap:.4rem;padding-right:1.5rem;font-size:1.05rem;display:flex}.panel h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:.9rem 0 .3rem;font-size:.8rem}.stats{flex-wrap:wrap;gap:.9rem;margin:.6rem 0 .3rem;display:flex}.stats div{flex-direction:column;display:flex}.stats dt{color:var(--muted);font-size:.72rem}.stats dd{margin:0;font-size:1.05rem;font-weight:600}.actions{flex-wrap:wrap;gap:.35rem;margin-top:.6rem;display:flex}.actions button{padding:.3rem .65rem;font-size:.88rem}.progress{background:#ffffff1a;border-radius:3px;height:6px;margin-top:.3rem;display:block;overflow:hidden}.progress>*{background:var(--accent);height:100%;display:block}.unit-panel{width:min(340px,100% - 1.5rem);max-height:55vh;bottom:.75rem;left:.75rem;overflow-y:auto}.unit-panel__status{color:var(--accent)}.city-panel{width:min(340px,100% - 1.5rem);top:.75rem;bottom:7.5rem;right:.75rem;overflow-y:auto}.build-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.build-list li{gap:.25rem;display:flex}.build-option{border-color:var(--panel-border);flex:1;justify-content:space-between;gap:.5rem;padding:.3rem .6rem;font-size:.9rem;display:flex}.build-list .add{padding:.3rem .6rem}.queue{margin:.4rem 0 0;padding-left:1.2rem;font-size:.88rem}.queue li{justify-content:space-between;gap:.5rem;display:flex}.attack-panel{border-color:#ff5a3c;width:min(420px,100% - 1.5rem);bottom:.75rem;left:50%;transform:translate(-50%)}.attack-table{border-collapse:collapse;width:100%;margin-top:.5rem;font-size:.9rem}.attack-table th,.attack-table td{text-align:left;padding:.2rem .3rem}.attack-table th{color:var(--muted);font-weight:500}.message-log{max-width:100%;padding:.5rem .75rem;font-size:.84rem;position:static}.message-log ul{flex-direction:column;gap:.25rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.msg--combat{color:#ff9a85}.msg--research{color:#9fd0ff}.msg--game{color:var(--accent);font-weight:600}.toast{border:1px solid var(--accent);background:#2a1f1a;border-radius:6px;max-width:calc(100% - 2rem);padding:.5rem 1rem;font-size:.9rem;position:absolute;top:.75rem;left:50%;transform:translate(-50%)}.top-bar{flex-wrap:wrap;row-gap:.3rem}.overlay{z-index:10;background:#050608bf;justify-content:center;align-items:flex-start;padding:1rem;display:flex;position:absolute;inset:0;overflow-y:auto}.overlay__card{background:var(--bg);border:1px solid var(--panel-border);border-radius:10px;width:min(1200px,100%);padding:1rem 1.2rem 1.5rem}.overlay__card h2{margin:1.2rem 0 .5rem;font-size:1rem}.overlay__header{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.overlay__header h1{font-size:1.4rem}.overlay__header p{flex:1;margin:0}.tech-grid{gap:.5rem;margin-top:.8rem;padding-bottom:.5rem;display:grid;overflow-x:auto}.tech-lane__label{flex-direction:column;gap:.2rem;padding-top:.4rem;display:flex}.tech-cell{flex-direction:column;gap:.4rem;display:flex}.tech{text-align:left;border-color:var(--panel-border);background:#181c22;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.5rem .6rem;font-size:.88rem;display:flex}.tech:disabled{opacity:1}.tech--known{background:#1d2a1f;border-color:#3f6b45}.tech--current{border-color:var(--accent);background:#2a2016}.tech--queued{border-color:#e8742a80}.tech--locked{opacity:.6}.tech__name{align-items:center;gap:.35rem;font-weight:600;display:flex}.tech__order{background:var(--accent);color:#1a1206;border-radius:50%;place-items:center;width:1.2rem;height:1.2rem;font-size:.72rem;display:inline-grid}.tech__unlocks{color:#c8c2b4}.tech .progress{width:100%}.card-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.6rem;display:grid}.card{border:1px solid var(--panel-border);background:#181c22;border-radius:8px;flex-direction:column;gap:.3rem;padding:.7rem .8rem;display:flex}.card button{align-self:flex-start;padding:.25rem .8rem}.card--current{border-color:var(--accent)}.card--locked{opacity:.6}.badge{background:var(--accent);color:#1a1206;border-radius:999px;align-self:flex-start;padding:.1rem .5rem;font-size:.75rem;font-weight:700}.game-over{text-align:center;max-width:480px;margin-top:15vh}.game-over h1{margin-bottom:.5rem;font-size:2.4rem}.game-over .actions{justify-content:center}@media (width<=700px){.top-bar{gap:.6rem;font-size:.85rem}.top-bar__title{display:none}.city-panel{max-height:55vh;top:auto;bottom:6.5rem;left:.75rem}.unit-panel{max-height:45vh;bottom:6.5rem}.message-log{display:none}}.title-screen{position:relative}.title-screen__account{position:absolute;top:.75rem;right:.75rem}.title-screen__buttons{flex-direction:column;gap:.6rem;min-width:min(280px,90vw);display:flex}.title-screen__buttons button{flex-direction:column;align-items:center;display:flex}.title-screen__buttons small{opacity:.85;font-size:.78rem;font-weight:400}.account-button{align-items:center;gap:.5rem;display:inline-flex}.badge--muted{color:var(--fg);background:#ffffff26}.dialog{max-width:560px;margin-top:8vh}.dialog h2{margin-top:.8rem}.menu{flex-direction:column;gap:.6rem;max-width:320px;display:flex}.menu h1{margin-bottom:.4rem;font-size:1.4rem}.form{flex-direction:column;gap:.8rem;margin:.8rem 0;display:flex}.form label{flex-direction:column;gap:.3rem;display:flex}.form button{align-self:flex-start}.form--inline{flex-direction:row}.form--inline input{flex:1;min-width:0}.links{flex-wrap:wrap;gap:1rem;display:flex}.success{color:#7fd98a}.save-list{flex-direction:column;gap:.5rem;max-height:55vh;margin:.8rem 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.save-list li{border:1px solid var(--panel-border);background:#181c22;border-radius:8px;justify-content:space-between;align-items:center;gap:.8rem;padding:.6rem .8rem;display:flex}.save-list li>div{flex-direction:column;gap:.2rem;min-width:0;display:flex}.save-list__actions{flex-shrink:0;gap:.4rem;display:flex}.save-list__actions button{padding:.3rem .7rem}.top-bar__save{white-space:nowrap}@media (width<=700px){.top-bar__save{display:none}}
