@font-face{font-family:Cinzel;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/cinzel-latin-ext-600-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/cinzel-latin-600-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#121f3f;--panel:#121216e6;--border:#2e2e36;--control:#2a2a30;--control-hover:#36363d;--text:#ece8de;--muted:#9b978d;--accent:#3a7fe0;--danger:#e0645a;--good:#6fd08c;--bad:#f07a72;--good-line:#3fa35c;--bad-line:#d63040;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--gutter:10px}@media (width<=420px),(height<=500px){:root{--gutter:6px}}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}.app{height:100dvh;position:fixed;inset:0}html,body,#app,.app{background:var(--bg);color:var(--text);-webkit-user-select:none;user-select:none;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;font:14px/1.4 system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}.viewport{position:absolute;inset:0}.world-canvas{cursor:grab;touch-action:none;-webkit-touch-callout:none;width:100%;height:100%;display:block}html{touch-action:manipulation}.world-canvas:active{cursor:grabbing}.topbar{pointer-events:auto;background:var(--panel);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;flex:none;align-items:center;gap:6px;padding:6px 8px;display:flex;box-shadow:0 6px 24px #0006}.brand{letter-spacing:.05em;margin:0 6px 0 2px;font:600 16px Cinzel,Georgia,serif}.topbar button,.topbar select,.debug button{background:var(--control);min-height:36px;color:var(--text);font:inherit;cursor:pointer;border:1px solid #3c3c44;border-radius:6px;padding:0 12px}.topbar button:disabled{opacity:.6;cursor:progress}.topbar button.primary{background:#2c5fa8;border-color:#3a7fe0}.hover-info{color:var(--muted);white-space:nowrap;margin-left:auto;font:12px ui-monospace,SF Mono,Menlo,monospace}.debug{z-index:7;left:calc(var(--gutter) + var(--safe-left));top:calc(70px + var(--safe-top));max-width:calc(100% - 2 * var(--gutter) - var(--safe-left) - var(--safe-right));background:var(--panel);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:4px;max-height:50%;padding:8px 10px;font:12px ui-monospace,SF Mono,Menlo,monospace;display:flex;position:absolute;overflow:auto}.debug button{align-self:flex-start;min-height:30px;margin-top:4px;font-size:12px}.toast{z-index:20;top:calc(64px + var(--safe-top));width:max-content;max-width:calc(100% - 2 * var(--gutter) - var(--safe-left) - var(--safe-right));background:var(--panel);border:1px solid var(--danger);color:var(--danger);border-radius:8px;padding:10px 14px;position:absolute;left:50%;transform:translate(-50%)}@media (width<=700px){.brand,.hover-info{display:none}}.banner{text-align:center;pointer-events:none;background:#14141ae0;border:1px solid #4a4a55;border-radius:999px;max-width:100%;padding:8px 16px;font-size:15px}.banner.danger{border-color:var(--danger);color:var(--danger)}.hud{pointer-events:auto;background:var(--panel);border:1px solid var(--border);border-radius:10px;grid-template-columns:1.4fr 1fr .8fr 2fr;gap:10px;width:min(760px,100%);padding:10px 12px;display:grid;box-shadow:0 6px 24px #00000073}.hud .stat,.hud .ratio label{flex-direction:column;gap:2px;min-width:0;display:flex}.hud .label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.hud .value{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:18px;font-weight:600}.hud .value small{color:var(--muted);font-size:12px;font-weight:400}.hud .rate{color:#8fd18f;font-variant-numeric:tabular-nums;font-size:12px}.hud .bar{background:#2e2e36;border-radius:2px;height:4px;overflow:hidden}.hud .bar .fill{background:linear-gradient(90deg,#d63040,#f08a4b);height:100%}.hud .ratio{flex-direction:column;gap:6px;display:flex}.hud .ratio label{flex-flow:wrap;align-items:center;column-gap:8px}.hud .ratio input{accent-color:#d63040;width:100%;height:24px}.hud .quick{gap:6px;display:flex}.hud .quick button{background:var(--control);min-height:34px;color:var(--text);cursor:pointer;border:1px solid #3c3c44;border-radius:6px;flex:1;font:600 13px system-ui,sans-serif}@media (width<=700px){.hud{grid-template-columns:1.35fr 1fr .8fr;column-gap:8px}.hud .ratio{grid-column:1/-1}.hud .value{font-size:clamp(14px,4.3vw,17px)}.hud .value small{font-size:.72em}}.hud .rate.attacking{color:#f08a6b}.label-canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.leaderboard{pointer-events:auto;background:var(--panel);border:1px solid var(--border);border-radius:8px;min-width:180px;max-width:270px;max-height:100%;font-size:12px;overflow-y:auto}.leaderboard .title{width:100%;color:var(--text);text-align:left;letter-spacing:.04em;cursor:pointer;background:0 0;border:none;padding:7px 10px;font:600 12px system-ui,sans-serif}.leaderboard table{border-collapse:collapse;width:100%;margin-bottom:4px}.leaderboard td{white-space:nowrap;padding:3px 6px}.leaderboard td.name{text-overflow:ellipsis;max-width:150px;overflow:hidden}.leaderboard td.num{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}.leaderboard td.rank{color:var(--muted);width:18px}.leaderboard .swatch i{border-radius:2px;width:10px;height:10px;display:block}.leaderboard tr.me td{color:#ffd2d6;font-weight:600}.events{pointer-events:auto;flex-direction:column;gap:4px;max-width:260px;display:flex}.event{background:var(--panel);border:1px solid var(--border);border-left-width:3px;border-radius:6px;align-items:center;gap:8px;padding:5px 6px 5px 10px;font-size:13px;display:flex}.event.outgoing{border-left-color:#d63040}.event.incoming{border-left-color:#f0b04b}.event .name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.event .troops{font-variant-numeric:tabular-nums;color:var(--muted)}.event .retreating{color:var(--muted);font-size:11px}.event button{background:var(--control);width:28px;height:28px;color:var(--text);cursor:pointer;border:1px solid #3c3c44;border-radius:5px}@media (width<=700px){.leaderboard{min-width:0}.leaderboard td{padding:3px 4px}.leaderboard td.name{max-width:96px}.events{max-width:55%}}.context-menu{z-index:5;background:var(--panel);border:1px solid var(--border);overscroll-behavior:contain;border-radius:10px;flex-direction:column;gap:4px;padding:6px;display:flex;position:absolute;overflow-y:auto;box-shadow:0 10px 30px #0000008c}.context-menu header{color:var(--muted);letter-spacing:.04em;justify-content:space-between;align-items:center;padding:2px 4px 4px 6px;font:600 12px system-ui,sans-serif;display:flex}.context-menu .close{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:none}.context-menu .option{background:var(--control);min-height:44px;color:var(--text);text-align:left;cursor:pointer;border:1px solid #3c3c44;border-radius:8px;align-items:center;gap:10px;padding:6px 10px;font:14px system-ui,sans-serif;display:flex}.context-menu .option:disabled{opacity:.55;cursor:not-allowed}.context-menu .option.attack{border-color:#7a2029}.context-menu .icon{text-align:center;width:28px;font-size:17px}.context-menu .text{flex-direction:column;flex:1;min-width:0;display:flex}.context-menu .name{font-weight:600}.context-menu .reason{color:#f0a070;font-size:11px}.context-menu .price{font-variant-numeric:tabular-nums;color:#f3c64f;font-weight:600}.context-menu .option.nuke{border-color:#6b4a1a}.diplomacy{pointer-events:none;flex-direction:column;align-self:flex-start;gap:4px;width:min(300px,100%);display:flex}.diplomacy>*{pointer-events:auto;background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:12px}.diplomacy .request{border-color:#3a7fe0;align-items:center;gap:6px;display:flex}.diplomacy .request .text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.diplomacy .request button{background:var(--control);min-width:34px;min-height:30px;color:var(--text);cursor:pointer;border:1px solid #3c3c44;border-radius:6px;font:600 14px system-ui,sans-serif}.diplomacy .request .accept{background:#245c35;border-color:#3fa35c}.diplomacy .request .reject{background:#5c2429}.diplomacy .news.good{border-left:3px solid var(--good-line)}.diplomacy .news.bad{border-left:3px solid var(--bad-line)}.diplomacy .news.info{border-left:3px solid #6b7280}.context-menu .diplomacy-options{border-top:1px solid var(--border);flex-direction:column;gap:4px;margin-top:4px;padding-top:4px;display:flex}.context-menu .emoji-row{grid-template-columns:repeat(6,1fr);gap:2px;padding:4px;display:grid}.context-menu .emoji-row button{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;min-height:32px;font-size:17px}.leaderboard .mark{margin-right:3px;font-size:10px}.leaderboard .team-tag{background:#2c5fa8;border-radius:4px;margin-right:4px;padding:0 4px;font-size:10px;font-weight:700}.btn{background:var(--control);min-height:40px;color:var(--text);cursor:pointer;border:1px solid #3c3c44;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font:600 14px system-ui,sans-serif;display:inline-flex}.btn:disabled{opacity:.5;cursor:default}.btn.primary{border-color:var(--accent);background:#2c5fa8}.btn.danger{border-color:var(--danger);background:#6b2229}.btn.big{min-height:50px;font-size:16px}.btn.icon{min-width:40px;padding:0 8px}.link{color:#8fb6f0;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:4px 0;font-size:13px}.screen{z-index:10;padding:calc(16px + var(--safe-top)) calc(16px + var(--safe-right)) calc(16px + var(--safe-bottom)) calc(16px + var(--safe-left));place-items:center;display:grid;position:absolute;inset:0;overflow-y:auto}.screen .card{background:var(--panel);border:1px solid var(--border);border-radius:14px;width:min(380px,100%);padding:22px;box-shadow:0 12px 40px #00000080}.screen .card h2{text-align:center;margin:0 0 14px;font:600 22px Cinzel,Georgia,serif}.screen .card p{color:var(--muted)}.stack{flex-direction:column;gap:8px;display:flex}.card-head{align-items:center;gap:8px;margin-bottom:12px;display:flex}.card-head h2{flex:1;margin:0!important}.hint{color:var(--muted);min-height:1.2em;margin:4px 0 0;font-size:12px}.error{color:var(--danger)}.menu .card{text-align:center;background:#0e1018d9}.menu .title{letter-spacing:.04em;color:#f3e9c9;margin:0;font:600 44px/1.1 Cinzel,Georgia,serif}.menu .subtitle{margin:8px 0 20px}.card.end.won h2{color:#f3c64f}.card.end.lost h2{color:var(--danger)}.card.end p{text-align:center;margin:0 0 16px}.lobby{z-index:10;top:calc(var(--gutter) + var(--safe-top));left:calc(var(--gutter) + var(--safe-left));bottom:calc(var(--gutter) + var(--safe-bottom));width:min(360px, calc(100% - 2 * var(--gutter) - var(--safe-left) - var(--safe-right)));background:var(--panel);border:1px solid var(--border);border-radius:14px;flex-direction:column;display:flex;position:absolute;overflow:hidden;box-shadow:0 12px 40px #00000073}.lobby>header{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px;display:flex}.lobby>header h2{flex:1;margin:0;font:600 18px Cinzel,Georgia,serif}.lobby section,.settings section{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding:10px 14px;display:flex}.lobby .body{flex:1;min-height:0;overflow-y:auto}.lobby h3,.settings h3{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:11px}.lobby>footer{border-top:1px solid var(--border);padding:10px}.lobby>footer .btn{width:100%}.row{align-items:center;gap:8px;display:flex}.row>span{width:56px;color:var(--muted);flex:none;font-size:13px}.row input[type=number],.row input[type=text],.row select{background:var(--control);min-width:0;min-height:38px;color:var(--text);font:inherit;-webkit-user-select:text;user-select:text;border:1px solid #3c3c44;border-radius:8px;flex:1;padding:0 10px}.row input[type=range]{accent-color:var(--accent);flex:1;height:28px}.row output{text-align:right;font-variant-numeric:tabular-nums;width:34px}.check{cursor:pointer;align-items:center;gap:8px;min-height:30px;display:flex}.check input{width:18px;height:18px;accent-color:var(--accent)}.segmented{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.segmented button,.replay-bar .speeds button{background:var(--control);min-height:36px;color:var(--text);cursor:pointer;border:1px solid #3c3c44;border-radius:8px;font:600 12px system-ui,sans-serif}.segmented button.active,.replay-bar .speeds button.active{border-color:var(--accent);background:#2c5fa8}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--control);min-height:32px;color:var(--text);cursor:pointer;border:1px solid #3c3c44;border-radius:16px;padding:0 10px;font:12px system-ui,sans-serif}.chip.on{border-color:#3fa35c}.chip.off{opacity:.45;text-decoration:line-through}@media (width<=700px){.lobby{width:100%;max-height:62%;padding:0 var(--safe-right) var(--safe-bottom) var(--safe-left);border-radius:14px 14px 0 0;inset:auto 0 0}}.replays{flex-direction:column;gap:6px;max-height:60vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.replays li{border:1px solid var(--border);background:#ffffff08;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.replays .info{flex-direction:column;flex:1;min-width:0;display:flex}.replays .info span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.replays .actions{gap:4px;display:flex}.replay-bar{pointer-events:auto;background:var(--panel);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;width:min(760px,100%);padding:8px 10px;display:flex}.replay-bar .speeds{gap:4px;display:flex}.replay-bar .speeds button{min-width:38px}.replay-bar .progress{background:#2e2e36;border-radius:3px;flex:1;min-width:80px;height:6px;overflow:hidden}.replay-bar .progress .fill{background:var(--accent);height:100%}.replay-bar .time{font-variant-numeric:tabular-nums;color:var(--muted);font-size:12px}.replay-bar .verdict.ok{color:var(--good);font-weight:600}.replay-bar .verdict.bad{color:var(--danger);font-weight:600}.hud.spectating{grid-template-columns:1fr 1fr 1fr}.settings{max-height:calc(100dvh - 40px - var(--safe-top) - var(--safe-bottom));overflow-y:auto;padding:14px!important}.settings section{padding:10px 0}.shortcuts{border-collapse:collapse;font-size:12px}.shortcuts th{text-align:left;color:var(--text);white-space:nowrap;vertical-align:top;padding:3px 12px 3px 0;font-weight:600}.shortcuts td{color:var(--muted);padding:3px 0}.tutorial{pointer-events:auto;border:1px solid var(--accent);background:#14264af0;border-radius:10px;align-items:flex-start;gap:10px;width:min(460px,100%);padding:10px 12px;display:flex;box-shadow:0 8px 24px #0006}.tutorial p{flex:1;margin:0;font-size:13px}.tutorial .step{color:#8fb6f0;font-variant-numeric:tabular-nums;padding-top:2px;font-size:11px}.online .status{color:var(--muted);white-space:nowrap;font-size:12px}.online .status.open{color:var(--good)}.online .status.reconnecting,.online .status.connecting{color:#f3c64f}.online>.row,.online>.grid2,.online>form{margin-bottom:10px}.online h3{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:14px 0 6px;font-size:11px}.grid2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.join input{background:var(--control);min-width:0;min-height:40px;color:var(--text);letter-spacing:.2em;-webkit-user-select:text;user-select:text;border:1px solid #3c3c44;border-radius:8px;flex:1;padding:0 12px;font:600 16px ui-monospace,SF Mono,Menlo,monospace}.settings-fields{border:0;min-width:0;margin:0;padding:0}.settings-fields:disabled{opacity:.75}.room-players ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.room-players li{align-items:center;gap:8px;min-height:28px;display:flex}.room-players li.away{opacity:.45}.room-players .swatch{border-radius:3px;flex:none;width:12px;height:12px}.room-players .name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.hint.center{text-align:center;margin:8px 0}.chat-select{background:var(--control);min-height:34px;color:var(--text);font:inherit;border:1px solid #3c3c44;border-radius:8px;margin:2px 4px}.chat-all{text-align:center;width:64px;padding:0 6px;font-size:18px}.game-ui{z-index:2;gap:var(--gutter);padding:calc(var(--gutter) + var(--safe-top)) calc(var(--gutter) + var(--safe-right)) calc(var(--gutter) + var(--safe-bottom)) calc(var(--gutter) + var(--safe-left));pointer-events:none;flex-direction:column;display:flex;position:absolute;inset:0}.game-ui-middle{align-content:start;align-items:start;gap:var(--gutter);flex:1;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);grid-template-areas:"left center right";min-height:0;display:grid}.game-ui-left{grid-area:left;min-width:0;max-height:100%;overflow:hidden}.game-ui-right{grid-area:right;justify-content:flex-end;min-width:0;max-height:100%;display:flex}.game-ui-center{flex-direction:column;grid-area:center;align-items:center;gap:6px;min-width:0;display:flex}.game-ui-bottom{flex-direction:column;flex:none;align-items:center;gap:6px;display:flex}@media (width<=700px){.game-ui-middle{grid-template:"left right""center center"/minmax(0,1fr) auto}.game-ui-left .events{max-width:100%}}@media (pointer:coarse){input[type=range]{min-height:36px}.color-swatch{width:34px;height:34px}.lobby button.link{min-height:40px}.topbar .btn,.topbar select,.hud .quick button,.event button,.diplomacy .request button{min-width:44px;min-height:44px}input,select,textarea{font-size:16px!important}.leaderboard .title{min-height:40px}}@media (height<=500px){.topbar{padding:4px 6px}.topbar .btn{min-height:36px}.hud{grid-template-columns:1.2fr 1fr .7fr 2fr;gap:8px;padding:6px 10px}.hud .ratio{grid-column:auto;gap:4px}.hud .value{font-size:15px}.hud .label{font-size:10px}.hud .bar{display:none}.hud .quick button{min-height:32px}.banner{padding:5px 12px;font-size:13px}.tutorial{padding:6px 10px}.leaderboard td{padding:1px 5px}}@media (height<=500px) and (pointer:coarse){.hud .quick button,.topbar .btn{min-height:38px}}.perf p{color:var(--muted)}.perf-table{border-collapse:collapse;width:100%;margin:4px 0 14px;font-size:13px}.perf-table th{text-align:left;padding:5px 6px;font-weight:500}.perf-table td{white-space:nowrap;padding:5px 6px}.perf-table .mark{width:18px;font-weight:700}.perf-table .num{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.perf-table .budget{color:var(--muted);font-size:11px}.perf-table tr.ok .mark{color:var(--good)}.perf-table tr.bad .mark,.perf-table tr.bad .num{color:var(--danger)}.perf-table tr.na{opacity:.6}.perf-running{z-index:20;top:calc(16px + var(--safe-top));position:absolute;left:50%;transform:translate(-50%)}@media (hover:hover){.topbar button:hover,.topbar select:hover,.context-menu .option:hover:not(:disabled),.context-menu .emoji-row button:hover,.btn:hover:not(:disabled){background:var(--control-hover)}.btn.primary:hover:not(:disabled){background:#3469b8}}.btn:active:not(:disabled),.topbar button:active,.hud .quick button:active,.context-menu .option:active:not(:disabled),.event button:active,.diplomacy .request button:active,.chip:active,.segmented button:active{filter:brightness(1.25);transform:scale(.96)}body{-webkit-touch-callout:none}.topbar .zoom{min-width:40px;font-size:20px;line-height:1}@media (pointer:fine){.topbar .zoom{display:none}}input[type=range]{--range-color:var(--accent);--thumb:18px;appearance:none;cursor:pointer;background:0 0}.hud .ratio input[type=range]{--range-color:#d63040}input[type=range]::-webkit-slider-runnable-track{background:#3a3a44;border-radius:3px;height:6px}input[type=range]::-moz-range-track{background:#3a3a44;border-radius:3px;height:6px}input[type=range]::-moz-range-progress{background:var(--range-color);border-radius:3px;height:6px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:var(--thumb);height:var(--thumb);margin-top:calc((6px - var(--thumb)) / 2);background:var(--range-color);border:2px solid #f4f1ea;border-radius:50%;box-shadow:0 1px 4px #00000080}input[type=range]::-moz-range-thumb{width:var(--thumb);height:var(--thumb);background:var(--range-color);border:2px solid #f4f1ea;border-radius:50%}input[type=range]:disabled{opacity:.4}@media (pointer:coarse){input[type=range]{--thumb:28px;height:40px}}button.stat{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0}button.stat:disabled{cursor:default}button.stat.gold .label:after{content:" ›";color:var(--muted)}.leaderboard tr.clickable{cursor:pointer}.leaderboard tr.clickable:hover td{background:#ffffff0d}.topbar .btn.notify{border-color:#f3c64f;position:relative}.topbar .badge{color:#fff;text-align:center;background:#d63040;border-radius:9px;min-width:17px;height:17px;padding:0 4px;font-size:11px;line-height:17px;position:absolute;top:-5px;right:-5px}.diplomacy .request .link-like{min-width:0;color:inherit;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:none;flex:1;padding:0;overflow:hidden}.sheet-backdrop{z-index:12}.screen .card.sheet{max-height:calc(100vh - 32px - var(--safe-top) - var(--safe-bottom));padding:16px;overflow-y:auto}.sheet h3{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:14px 0 6px;font-size:11px}.sheet .card-head h2{text-align:left;text-overflow:ellipsis;white-space:nowrap;font-size:20px;overflow:hidden}.sheet .swatch-dot{border:1px solid #00000080;border-radius:50%;flex:none;width:14px;height:14px}.sheet .hint{font-size:12px}.sheet .good{color:var(--good)}.sheet .bad{color:var(--bad)}.chips{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.status{background:var(--control);color:var(--text);border:1px solid #3c3c44;border-radius:999px;padding:4px 9px;font:600 12px system-ui,sans-serif}button.status{cursor:pointer}.status.good{border-color:var(--good-line)}.status.bad{border-color:var(--bad-line)}.status.block{border-radius:8px;margin:8px 0;padding:8px 10px;display:block}.opinion{margin:4px 0 10px;font-size:13px}.action-list{flex-direction:column;gap:4px;display:flex}.action-list .option{background:var(--control);min-height:48px;color:var(--text);font:inherit;text-align:left;cursor:pointer;border:1px solid #3c3c44;border-radius:8px;align-items:center;gap:10px;padding:6px 10px;display:flex}.action-list .option:disabled{opacity:.55;cursor:not-allowed}.action-list .option.attack{border-color:#7a2029}.action-list .icon{text-align:center;width:24px;font-size:18px}.action-list .text{flex-direction:column;flex:1;min-width:0;display:flex}.action-list .name{font-weight:600}.action-list .reason,.context-menu .reason{color:#f0a070;font-size:11px}.action-list .hint,.context-menu .hint{color:var(--muted);margin:0;font-size:11px}.capacity{align-items:center;gap:10px;font-size:13px;display:flex}.capacity .bar,.bar.exhaustion{background:var(--control);border-radius:4px;flex:1;height:8px;overflow:hidden}.capacity .fill{background:var(--accent);height:100%}.bar.exhaustion .fill{background:linear-gradient(90deg,#d9a441,#d63040);height:100%}.treaty-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.treaty-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;min-height:32px;font-size:13px;display:flex}.treaty-list li span{color:var(--muted);text-align:right}.ledger{border-collapse:collapse;width:100%;font-size:13px}.ledger td{border-bottom:1px solid var(--border);padding:4px 0}.ledger td:last-child{text-align:right;font-variant-numeric:tabular-nums;color:#f3c64f}.ledger td.bad{color:var(--bad)}.segmented.three{grid-template-columns:repeat(3,1fr)}.resource-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;display:grid}.resource{background:var(--control);border-radius:8px;grid-template-columns:38px 1fr;column-gap:6px;padding:6px 8px;font-size:13px;display:grid}.resource.none{opacity:.55}.resource .icon{grid-row:span 2;align-self:center;font-size:20px}.resource .hint{color:var(--muted);margin:0;font-size:11px}.effects{columns:2;margin:0;padding-left:18px;font-size:13px}@media (width<=420px){.effects{columns:1}}.banner.clock{font-variant-numeric:tabular-nums;padding-block:4px;font-weight:700}.card.daily{text-align:left}.card.daily h3{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:14px 0 6px;font-size:11px}.card.daily .btn.big{width:100%;margin-top:14px}.daily-rules{margin:0 0 12px;font-size:13px;line-height:1.5}.daily-stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.daily-stats>div{background:var(--control);text-align:center;border-radius:8px;flex-direction:column;gap:2px;padding:8px;display:flex}.daily-stats .label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px}.daily-stats b{font-variant-numeric:tabular-nums;font-size:17px}.card.profile{max-height:calc(100dvh - 32px);overflow-y:auto}.card.profile .daily-stats{margin-bottom:12px}.card.profile h3,.card.end .unlocked h3{color:var(--muted);margin:0 0 8px;font-size:14px}.medals{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.medal{background:var(--control);opacity:.45;filter:grayscale();border-radius:8px;align-items:center;gap:8px;padding:6px 8px;display:flex}.medal.earned{opacity:1;filter:none;box-shadow:inset 0 0 0 1px #f3c64f66}.medal .ico{flex:none;width:32px;height:32px}.medal span{text-align:start;flex-direction:column;min-width:0;display:flex}.medal b{font-size:13px}.medal small{color:var(--muted);font-size:11px}.card.end .unlocked{margin:0 0 12px}.sheet .personality{background:var(--control);border-radius:8px;margin:0 0 8px;padding:8px 10px;font-size:13px}.sheet .personality .hint{font-size:12px}.color-row{align-items:flex-start}.swatches{flex-wrap:wrap;flex:1;justify-content:flex-end;gap:6px;display:flex}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:26px;height:26px;padding:0;box-shadow:inset 0 0 0 1px #00000059}.color-swatch.on{border-color:var(--accent);outline:2px solid var(--panel,#10182a);outline-offset:-4px}.color-swatch.auto{background:var(--control);color:var(--muted);font-size:11px;font-weight:700}.color-swatch.custom{background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);display:inline-flex;overflow:hidden}.color-swatch.custom input[type=color]{opacity:0;cursor:pointer;border:none;width:100%;height:100%;padding:0}.challenge-banner{background:var(--control);border-radius:8px;align-items:flex-start;gap:8px;margin:10px 12px;padding:8px 10px;font-size:13px;display:flex;box-shadow:inset 0 0 0 1px #f3c64f66}.challenge-banner span{flex:1;min-width:0}.card.end .challenge-result{background:var(--control);text-align:center;border-radius:8px;margin:0 0 12px;padding:8px;font-weight:600}.card.end .challenge-result.beat{color:#f3c64f}.card.daily .champions{background:var(--control);text-align:center;border-radius:8px;margin:8px 0 0;padding:8px;font-size:13px}.daily-board{max-height:180px;margin:0;padding:0;list-style:none;overflow-y:auto}.daily-board li{border-bottom:1px solid var(--border);align-items:center;gap:8px;min-height:28px;font-size:13px;display:flex}.daily-board .rank{width:22px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}.daily-board .name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.daily-board b{font-variant-numeric:tabular-nums;color:#f3c64f}.card.end .daily-result{background:var(--control);text-align:center;color:var(--text);border-radius:8px;margin:0 0 12px;padding:8px}.card.end .daily-result b{color:#f3c64f;font-size:22px}.lobby details.terrain{flex-direction:column;gap:6px;display:flex}.lobby details.terrain summary{cursor:pointer;color:var(--muted);align-items:center;min-height:30px;font-size:13px;display:flex}.lobby details.terrain[open] summary{margin-bottom:4px}.lobby details.terrain .row{margin-bottom:6px}.dev-button{z-index:30;top:calc(4px + var(--safe-top));left:calc(4px + var(--safe-left));color:#f3c64f;letter-spacing:.08em;cursor:pointer;background:#121216d9;border:1px solid #f3c64f;border-radius:6px;min-width:40px;min-height:24px;padding:0 6px;font:700 10px ui-monospace,SF Mono,Menlo,monospace;position:absolute}.dev-button.active{color:#1a1a1f;background:#f3c64f}.app.dev .game-ui{padding-top:calc(var(--gutter) + var(--safe-top) + 26px)}.app.dev .debug{top:calc(96px + var(--safe-top))}@media (width>=701px){.app.dev .lobby{top:calc(var(--gutter) + var(--safe-top) + 26px)}}.card.daily .row>span{width:auto}.menu-footer{margin:14px 0 0;font-size:12px}a.link{text-decoration:none;display:inline-block}a.link:hover{text-decoration:underline}[dir=rtl] .card-head>.btn.icon:first-child,[dir=rtl] .lobby>header>.btn.icon:first-child{transform:scaleX(-1)}[dir=rtl] .link,[dir=rtl] .action-list .option,[dir=rtl] .context-menu .option{text-align:right}[dir=rtl] .ledger td:last-child,[dir=rtl] .treaty-list li span{text-align:left}[dir=rtl] .effects{padding-left:0;padding-right:18px}[dir=rtl] .hud .value,[dir=rtl] .hud .rate,[dir=rtl] .banner.clock,[dir=rtl] .hover-info,[dir=rtl] .replay-bar .time{direction:ltr;unicode-bidi:isolate}.ad-rail{background:#0b0d14;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:fixed;top:0;bottom:0;overflow:hidden}.ad-rail.left{border-right:1px solid var(--border);left:0}.ad-rail.right{border-left:1px solid var(--border);right:0}.ad-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:10px}.ad-placeholder{border:1px dashed var(--border);color:var(--muted);place-items:center;font-size:12px;display:grid}.ad-overlay{z-index:100;background:#060810f0;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:fixed;inset:0}.ad-overlay .ad-placeholder{width:min(320px,80vw);height:min(480px,60vh)}.resource-grid.wide{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.ico{object-fit:contain;vertical-align:-.25em;pointer-events:none;width:1.25em;height:1.25em}.hud .label .ico{vertical-align:-.6em;width:2em;height:2em}.context-menu .icon .ico{vertical-align:middle;width:28px;height:28px}.resource .icon .ico{vertical-align:middle;width:34px;height:34px}.banner .ico{vertical-align:-.4em;width:1.5em;height:1.5em}.chip .ico{width:1.4em;height:1.4em}.chip.off .ico{filter:grayscale();opacity:.6}@media (height<=500px){.menu .card{width:min(560px,100%);padding:12px 16px}.menu .title{font-size:28px}.menu .subtitle{display:none}.menu .stack{grid-template-columns:1fr 1fr;gap:6px;margin-top:10px;display:grid}.menu .stack .btn.big{min-height:44px;font-size:15px}.menu .menu-footer{margin:8px 0 0}}.popup-layer{z-index:14;padding:calc(16px + var(--safe-top)) calc(16px + var(--safe-right)) calc(16px + var(--safe-bottom)) calc(16px + var(--safe-left));pointer-events:none;background:#06081047;place-items:center;display:grid;position:absolute;inset:0}.popup-card{pointer-events:auto;background:var(--panel);border:1px solid var(--border);text-align:center;border-radius:12px;width:min(420px,100%);max-height:100%;padding:18px;overflow-y:auto;box-shadow:0 12px 40px #0000008c}.popup-card.danger{border-color:var(--danger)}.popup-card h2{margin:0 0 8px;font:600 22px Cinzel,Georgia,serif}.popup-card.danger h2{color:var(--danger)}.popup-card p{color:var(--muted);margin:0 0 12px}.popup-card .hint{margin:8px 0 6px}.popup-card .bar{height:5px}.event-option{flex-direction:column;align-items:center;gap:4px;min-height:56px;padding:8px 12px;display:flex}.event-option .name{font-weight:600}.event-option .effects{flex-wrap:wrap;justify-content:center;gap:4px 10px;font-size:12px;display:flex}.event-option .fx.good{color:var(--good)}.event-option .fx.bad{color:var(--bad)}@media (height<=500px){.popup-card{padding:10px 14px}.popup-card h2{margin-bottom:4px;font-size:18px}.popup-card p{margin-bottom:6px;font-size:13px}.event-option{min-height:44px;padding:4px 10px}}.arrow-icon{fill:currentColor;vertical-align:middle;width:20px;height:20px}.topbar .btn.on{border-color:var(--accent);background:#2c5fa8}@media (width<=480px){.topbar .zoom,.topbar:not(.more-open) .extra{display:none}.topbar{gap:4px;padding:4px 5px}.topbar .chat-all{width:52px;padding:0 4px}}.topbar .more{font-size:20px;line-height:1;display:none}@media (width<=480px){.topbar .more{display:inline-block}}@media (height<=500px){.topbar .more{display:inline-block}.topbar:not(.more-open) .extra,.topbar .zoom{display:none}}.civ-row>span{width:auto}.arms-button{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;flex:none;margin:0 6px 0 4px;padding:3px 5px;display:inline-flex}.arms-button:hover,.arms-button:focus-visible{border-color:var(--brass,#c79a3b)}.arms-editor{width:min(440px,100%);max-height:100%;overflow-y:auto}.arms-editor .preview{justify-content:center;margin:4px 0 2px;display:flex}.arms-editor .hint{text-align:center;margin:0 0 4px}.arms-editor h4{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:10px 0 4px;font-size:12px}.arms-choices{flex-wrap:wrap;gap:6px;display:flex}.arms-choice{background:var(--control);cursor:pointer;border:2px solid #0000;border-radius:3px;padding:4px;display:inline-flex}.arms-choice.on{border-color:var(--accent)}.arms-choice.colour{justify-content:center;align-items:center;width:42px;height:46px}.arms-choice.colour input[type=color]{cursor:pointer;background:0 0;border:none;width:30px;height:36px;padding:0}.arms-editor .btn.small{align-self:center;padding:4px 10px;font-size:13px}.arms-editor .btn.small.on{border-color:var(--accent);color:var(--accent)}.arms-editor .actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.civ-effects{flex-wrap:wrap;gap:4px 12px;margin:6px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.civ-effects .good{color:var(--good)}.civ-effects .bad{color:var(--bad)}.room-players .civ{color:var(--muted);font-size:12px}.arms{vertical-align:middle;filter:drop-shadow(0 1px 1px #0000008c);flex:none}.leaderboard .swatch{width:20px}.leaderboard .swatch .arms{margin:0 auto;display:block}.context-menu header .target{align-items:center;gap:6px;display:inline-flex}.room-players li .arms,.card-head .arms{margin-right:2px}.lens-menu{z-index:9;left:calc(var(--gutter) + var(--safe-left));top:calc(72px + var(--safe-top));width:min(300px, calc(100% - 2 * var(--gutter) - var(--safe-left) - var(--safe-right)));background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:10px 12px;position:absolute;box-shadow:0 8px 28px #0000008c}.lens-menu header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.lens-menu h3{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0;font-size:12px}.lens-list{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.lens-option{background:var(--control);min-height:38px;color:var(--text);cursor:pointer;border:1px solid #3c3c44;border-radius:6px;padding:0 6px;font:600 13px system-ui,sans-serif}.lens-option.active{border-color:var(--accent);background:#2c5fa8}.lens-menu .hint{min-height:0;margin:8px 0 4px}.lens-key{gap:4px;margin:6px 0 2px;padding:0;font-size:12px;list-style:none;display:grid}.lens-key li{align-items:center;gap:8px;display:flex}.lens-key i{border:1px solid #0009;border-radius:3px;flex:none;width:14px;height:14px}.lens-ramp{background:linear-gradient(90deg,#406cc8,#eccc4a,#e23e32);border-radius:3px;height:10px;margin:6px 0 2px}.lens-menu .minimap-toggle{margin-top:8px}.minimap{z-index:6;left:calc(var(--gutter) + var(--safe-left));bottom:calc(var(--gutter) + var(--safe-bottom));background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:4px;position:absolute;box-shadow:0 6px 20px #00000080}.minimap canvas{cursor:crosshair;touch-action:none;image-rendering:pixelated;display:block}@media (width<=1100px){.lens-menu .minimap-toggle{display:none}}.minimap.inline{box-shadow:none;background:0 0;border:0;margin-top:10px;padding:0;position:static}.minimap.inline canvas{border:1px solid var(--border);border-radius:3px;width:100%!important;height:auto!important}.tap-info{background:var(--panel);border:1px solid var(--border);text-align:center;pointer-events:none;border-radius:6px;padding:6px 12px;font-size:13px}.live-bar{gap:12px}.live-bar .live{color:#ff5a4f;letter-spacing:.06em;font-weight:700}html.cv-redGreen{--good:#85c0f9;--bad:#f5a442;--good-line:#1a85ff;--bad-line:#e66100}@media (width<=700px) and (height<=760px){.hud{row-gap:6px;padding:8px 10px}.hud .ratio{gap:4px}.hud .ratio label{flex-wrap:nowrap}.hud .ratio input{flex:1;width:auto;min-width:0}.hud .quick button{min-height:38px}.hud .label .ico{width:1.6em;height:1.6em}}@media (width<=380px){.topbar .btn{min-width:40px;padding:0 6px}}@media (width<=700px){.diplomacy .request .text,.diplomacy .request .link-like{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box}}.diplomacy .more-requests{text-align:start;width:100%;color:var(--text);font:inherit;cursor:pointer;border-color:#3a7fe0;min-height:36px}.sheet .diplomacy.pending{pointer-events:auto;flex-direction:column;gap:6px;width:100%;margin-bottom:10px;display:flex}.name-status.ok{color:var(--good)}.name-status.bad{color:var(--bad)}.card.profile .transfer{text-align:start;margin-top:14px}.card.profile .transfer .row{gap:8px;margin-top:8px;display:flex}.card.profile .transfer input{letter-spacing:.15em;text-transform:uppercase;flex:1;min-width:0}.transfer-code{background:var(--control);text-align:center;border-radius:8px;margin:8px 0;padding:10px}.transfer-code b{letter-spacing:.2em;color:#f3c64f;font:600 26px/1.2 ui-monospace,monospace}.delete-profile{margin-top:12px}.btn.small.danger{border-color:var(--danger);color:var(--danger)}.player-report{gap:2px;margin-inline-start:4px;display:inline-flex}.player-report .link{min-width:28px;min-height:28px;color:var(--muted);padding:0 4px;font-size:13px}@media (pointer:coarse){.player-report .link{min-width:40px;min-height:40px}}:root{--panel:#13161ef2;--border:#5b4a2a;--control:#262a36;--control-hover:#333847;--text:#f3f0e8;--muted:#9ba2b0;--accent:#dcae46;--danger:#e0624f;--brass:#c79a3b;--brass-light:#f0d28a;--brass-dark:#7d5a1c;--ink:#1a130b;--serif:"Cinzel", Georgia, "Times New Roman", serif}.card,.screen .card,.menu .card,.topbar,.hud,.leaderboard,.context-menu,.popup-card,.tutorial,.banner,.toast,.debug,.events .event,.lobby,.settings{border:1px solid var(--brass-dark);background:linear-gradient(#1e222df5,#101219f7);border-radius:3px;box-shadow:inset 0 0 0 1px #06070ae6,inset 0 0 0 2px #c79a3b33,0 8px 26px #0009}.screen .card,.popup-card{border-width:2px;border-color:var(--brass-dark)}.screen .card:before,.screen .card:after,.popup-card:before,.popup-card:after{content:"";pointer-events:none;border:2px solid var(--brass);width:14px;height:14px;position:absolute}.screen .card,.popup-card{position:relative}.screen .card:before,.popup-card:before{border-bottom:0;border-right:0;top:-5px;left:-5px}.screen .card:after,.popup-card:after{border-top:0;border-left:0;bottom:-5px;right:-5px}.menu .card{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:linear-gradient(#1c202bd6,#0f1118e6)}.screen.menu{background:#05070c}.screen.menu:before{content:"";z-index:-1;background:linear-gradient(#05070c4d, #05070c8c), var(--menu-bg) center / cover no-repeat, #05070c;pointer-events:none;width:100vw;height:100lvh;position:fixed;top:0;left:0}.screen .card.wide{width:min(560px,100%)}.screen.dim{background:#05070c9e}.screen.menu.preview{background:#05070c59}.screen.menu.preview:before{display:none}.screen .card h2,.popup-card h2,.lobby header h2,.settings h2{font-family:var(--serif);letter-spacing:.1em;text-transform:uppercase;color:var(--brass-light);font-weight:700}.screen .card h2:after,.popup-card h2:after{content:"";background:linear-gradient(90deg, transparent, var(--brass), transparent);width:56%;height:1px;margin:8px auto 0;display:block}.card-head h2:after,.sheet .card-head h2:after{display:none}.lobby h3,.settings h3,.online h3,.sheet h3,.card.daily h3{font-family:var(--serif);color:var(--brass);letter-spacing:.14em}.menu .title{letter-spacing:.1em;text-transform:uppercase;color:#0000;background:linear-gradient(#fbeab3 0%,#e1b550 48%,#94671f 100%);filter:drop-shadow(0 2px #140c04e6)drop-shadow(0 0 14px #e0b04f40);-webkit-background-clip:text;background-clip:text;font-size:40px}.menu .subtitle{color:var(--muted);letter-spacing:.02em;font-style:italic}.brand{font-family:var(--serif);letter-spacing:.14em;text-transform:uppercase;color:var(--brass-light)}.btn,.topbar button,.topbar select{color:var(--text);background:linear-gradient(#343948,#252935);border:1px solid #4d5366;border-radius:3px;box-shadow:inset 0 1px #ffffff14}.btn:hover:not(:disabled),.topbar button:hover,.topbar select:hover{border-color:var(--brass);background:linear-gradient(#414759,#2e3341)}.btn.primary,.topbar button.primary{color:#2b1d07;font-family:var(--serif);letter-spacing:.1em;text-transform:uppercase;text-shadow:0 1px #ffeebe80;background:linear-gradient(#ecc974 0%,#c9993a 52%,#a87a26 100%);border-color:#f0d28a;font-weight:700;box-shadow:inset 0 1px #fff4cd8c,0 2px 6px #00000073}.btn.primary:hover:not(:disabled){background:linear-gradient(#f4d588,#d4a444 52%,#b5842c);border-color:#fff2c4}.btn.danger{background:linear-gradient(#8a2a2c,#5e1b1f);border-color:#c8564a}.topbar .btn.on{border-color:var(--brass-light);color:#fff4d2;background:linear-gradient(#a87a26,#7d5a1c)}.topbar .btn.on.any{border-color:#fff2c4}.link{color:var(--brass-light)}.hud .quick button{background:linear-gradient(#343948,#252935);border:1px solid #4d5366;border-radius:3px}.hud .quick button.active{background:linear-gradient(#9a2c33,#6b1c22);border-color:#e0624f}.chip.on,.segmented button.active{border-color:var(--brass-light);color:#fff4d2;background:linear-gradient(#a87a26,#7d5a1c)}.hud .label,.leaderboard .title,.event .name{font-family:var(--serif);letter-spacing:.1em;color:var(--brass)}.hud .value{font-family:var(--serif);color:var(--brass-light)}.hud .bar{background:#0f1118;border:1px solid #3c4152;border-radius:1px;height:6px}.hud .bar .fill{background:linear-gradient(90deg,#8f2330,#e0884a)}.hud .ratio input{accent-color:var(--brass)}.leaderboard tr.me td{color:var(--brass-light)}.leaderboard .swatch i{border:1px solid #0009}.event{border-left-width:3px}.context-menu .option,.context-menu .option:disabled{border-radius:3px}.context-menu .price{color:var(--brass-light);font-family:var(--serif)}.context-menu header{font-family:var(--serif);letter-spacing:.08em;color:var(--brass-light)}.banner{font-family:var(--serif);letter-spacing:.08em}.tutorial .step{color:var(--brass);font-family:var(--serif)}.event-option .name{font-family:var(--serif);letter-spacing:.06em}input[type=text],input[type=number],select{color:var(--text);background:#1a1d27;border-color:#4d5366;border-radius:3px}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--brass-light);outline-offset:1px}.ico{filter:drop-shadow(0 0 1px #000000f2)drop-shadow(0 1px 2px #000000bf);background:radial-gradient(circle,#fff3 0%,#ffffff12 55%,#fff0 72%)}.chip.off .ico{filter:grayscale()drop-shadow(0 0 1px #000000e6)}.arrow-icon{filter:drop-shadow(0 0 1px #000c)}.topbar .btn,.topbar button{color:#f6f1e4}.lens-menu,.minimap{border:1px solid var(--brass-dark);background:linear-gradient(#1e222df5,#101219f7);border-radius:3px;box-shadow:inset 0 0 0 1px #06070ae6,inset 0 0 0 2px #c79a3b33,0 8px 26px #0009}.lens-menu h3{font-family:var(--serif);color:var(--brass);letter-spacing:.14em}.lens-option{background:linear-gradient(#343948,#252935);border-color:#4d5366;border-radius:3px}.lens-option.active{border-color:var(--brass-light);color:#fff4d2;background:linear-gradient(#a87a26,#7d5a1c)}.tap-info{border:1px solid var(--brass-dark);color:var(--text);background:linear-gradient(#1e222df5,#101219f7);border-radius:3px}.card.daily .daily-stats{margin-bottom:14px}.card.daily label.row{margin-top:4px}.context-menu .hint{min-height:0;color:var(--muted);margin:2px 0 0;font-size:11px}
