@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/barlow-400.woff2)format("woff2")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/barlow-condensed-500.woff2)format("woff2")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-condensed-600.woff2)format("woff2")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/barlow-condensed-700.woff2)format("woff2")}@font-face{font-family:Barlow Condensed;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/barlow-condensed-700italic.woff2)format("woff2")}:root{--font-ui:"Barlow", system-ui, sans-serif;--font-display:"Barlow Condensed", "Barlow", system-ui, sans-serif;--panel:#131921d1;--panel-dense:#131921f0;--panel-solid:#161d26;--scrim:#090c10db;--line:#ffffff17;--line-strong:#ffffff29;--text:#e6ebf2;--text-dim:#e6ebf299;--accent:#f2c230;--accent-bright:#ffd75e;--accent-ink:#14181e;--accent-soft:#f2c23024;--currency:#f2c230;--income:#74c2a0;--danger:#e57b6f;--radius:2px;--tracking:.09em}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-ui{pointer-events:none;font-family:var(--font-ui);color:var(--text);-webkit-font-smoothing:antialiased;--hud-font:clamp(14px, .65vw + 9.5px, 22px);--ui-scale:clamp(15px, .55vw + 8px, 20px);position:fixed;inset:0}.hud,.tower-palette,.player-list,.tower-info,.connection-banner{pointer-events:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-sizing:border-box;font-family:var(--font-display);padding:.75rem 1rem;font-weight:500;position:fixed}.hud{font-size:var(--hud-font);--col:var(--hud-font);font-variant-numeric:tabular-nums;flex-direction:column;gap:.3rem;padding:.55rem .75rem;display:flex;top:1rem;left:1rem}.hud__head,.hud__row{grid-template-columns:calc(var(--col) * 2.55) calc(var(--col) * 4) calc(var(--col) * 5.65) calc(var(--col) * 4);white-space:nowrap;align-items:baseline;gap:.75rem;display:grid}.hud__head{border-bottom:1px solid var(--line-strong);text-transform:uppercase;letter-spacing:var(--tracking);opacity:.6;padding-bottom:.3rem;font-size:.78rem;font-weight:600}.hud__lives{color:var(--danger)}.hud__gold{color:var(--currency)}.hud__income{color:var(--income)}.hud__creeps{color:inherit}.hud__income--stopped{color:inherit;opacity:.55}.player-list{width:clamp(14rem,24vw,24em);font-size:calc(var(--hud-font) * .85);--col:calc(var(--hud-font) * .85);font-variant-numeric:tabular-nums;flex-direction:column;gap:.3rem;padding:.55rem .6rem;display:flex;top:1rem;right:1rem}.player-list__head,.player-list__button{grid-template-columns:calc(var(--col) * 1.6) minmax(0, 1fr) calc(var(--col) * 2.6) calc(var(--col) * 5);white-space:nowrap;box-sizing:border-box;align-items:baseline;gap:.4rem;width:100%;display:grid}.player-list__replay{border-bottom:1px solid var(--line-strong);color:var(--text-dim);white-space:nowrap;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.1rem .35rem .4rem;font-size:.92em;display:flex}.player-list__replay-date{font-variant-numeric:tabular-nums}.player-list__replay-mode{align-items:baseline;gap:.35rem;display:flex}.player-list__replay-tag{border-radius:var(--radius);text-transform:uppercase;letter-spacing:var(--tracking);padding:.05rem .35rem;font-size:.92em;font-weight:600}.player-list__replay-tag--ranked{background:var(--accent-soft);color:var(--accent)}.player-list__replay-tag--unranked{border:1px solid var(--line-strong);color:var(--text-dim)}.player-list__replay-note{opacity:.75;font-size:.86em}.player-list__head{border-bottom:1px solid var(--line-strong);text-transform:uppercase;letter-spacing:var(--tracking);opacity:.6;padding:0 .35rem .3rem;font-size:.78rem;font-weight:600}.player-list__head-cell--num{text-align:right}.player-list__rows{flex-direction:column;gap:.1rem;max-height:40vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.player-list__button{pointer-events:auto;border-radius:var(--radius);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:.15rem .35rem}.player-list__button:hover{background:#ffffff12}.player-list__row--local{color:var(--currency)}.player-list__id{text-overflow:ellipsis;min-width:0;overflow:hidden}.player-list__rank{text-align:right;opacity:.5}.player-list__lives,.player-list__income{text-align:right;text-overflow:ellipsis;min-width:0;overflow:hidden}.player-list__income{color:var(--income)}.player-list__row--dead{opacity:.5}.player-list__row--dead .player-list__id{text-decoration:line-through}.connection-banner{font-size:calc(var(--hud-font) * .85);font-variant-numeric:tabular-nums;gap:1rem;display:flex;bottom:1rem;left:50%;transform:translate(-50%)}.connection-banner__status{text-transform:capitalize}.connection-banner__desyncs{color:var(--danger)}.connection-banner__lag{color:var(--accent)}.connection-banner__actions{gap:.5rem;display:flex}.connection-banner__rejoin,.connection-banner__leave,.spectator__leave{border:1px solid var(--line-strong);border-radius:var(--radius);color:inherit;font:inherit;font-size:calc(var(--hud-font) * .78);cursor:pointer;background:#ffffff0f;padding:.4rem .8rem}.connection-banner__rejoin:hover,.connection-banner__leave:hover,.spectator__leave:hover{background:#ffffff24}.spectator{pointer-events:none;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-sizing:border-box;font-family:var(--font-display);font-size:calc(var(--hud-font) * .9);text-align:center;flex-direction:column;align-items:center;gap:.15rem;padding:.6rem 1.2rem;display:flex;position:fixed;top:1rem;left:50%;transform:translate(-50%)}.spectator__placement{color:var(--currency)}.spectator__mode{opacity:.7;text-transform:uppercase;letter-spacing:.08em;font-size:.8em}.spectator__leave{pointer-events:auto;margin-top:.4rem}.tower-info{min-width:clamp(14rem,24vw,22em);max-width:min(90vw,28em);font-size:calc(var(--hud-font) * .85);flex-direction:column;gap:.5rem;display:flex;top:1rem;left:50%;transform:translate(-50%)}.tower-info__header{align-items:baseline;gap:.5rem;display:flex}.tower-info__name{flex:1;font-weight:600}.tower-info__close{color:inherit;font:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0 .25rem;font-size:1.1em;line-height:1}.tower-info__close:hover{opacity:1}.tower-info__hp-bar{border-radius:var(--radius);background:#ffffff1f;height:.4rem;overflow:hidden}.tower-info__hp-fill{background:var(--income);height:100%}.tower-info__hp-label{font-variant-numeric:tabular-nums;opacity:.85}.tower-info__stats{flex-wrap:wrap;gap:.25rem .9rem;margin:0;display:flex}.tower-info__stat{gap:.3rem;display:flex}.tower-info__stat dt{opacity:.65}.tower-info__stat dd{font-variant-numeric:tabular-nums;margin:0}.tower-info__actions{gap:.5rem;display:flex}.tower-info__sell{border:1px solid var(--line-strong);border-radius:var(--radius);color:inherit;font:inherit;font-size:calc(var(--hud-font) * .78);cursor:pointer;background:#ffffff0f;flex:1;padding:.5rem .6rem}.tower-info__sell:hover{background:#ffffff24}.tower-info__actions{flex-direction:column;gap:.35rem;display:flex}.tower-info__maxed{opacity:.6;font-size:calc(var(--hud-font) * .8)}.tower-palette{font-size:calc(var(--hud-font) * .78);grid-template-columns:minmax(0,1fr);gap:.5rem;width:min(90vw,15.5em);padding:.5rem;display:grid;bottom:1rem;left:1rem}.tower-palette__group{grid-template-columns:minmax(0,1fr);gap:.35rem;display:grid}.tower-palette__group-label{text-transform:uppercase;letter-spacing:var(--tracking);color:#e6ebf273;font-size:.72em;font-weight:600;line-height:1}.tower-palette__footer{border-top:1px solid var(--line-strong);padding-top:.5rem;display:grid}.tech-button{border:1px solid var(--line-strong);border-radius:var(--radius);color:inherit;font:inherit;white-space:nowrap;cursor:pointer;background:#ffffff0f;align-items:center;gap:.5em;padding:.45em .4rem;font-weight:600;display:flex}.tech-button:hover{background:#ffffff24}.tech-button--free{border-color:var(--accent);color:var(--accent-bright);background:#241c0ceb}.tech-button--free:hover{background:#2e2410f2}.tech-button__badge{color:var(--currency);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:700}.tech-button__badge--free{background:var(--accent);color:var(--accent-ink);border-radius:1em;padding:.1em .55em;font-size:.82em}.tower-button__slot{min-width:0;display:flex;position:relative}.tower-button{border:1px solid var(--line-strong);border-radius:var(--radius);min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#ffffff0f;flex-direction:row;flex:1;align-items:center;gap:.45em;padding:.3rem .4rem;font-size:1em;line-height:1.15;display:flex}.send-panel__item{border:1px solid var(--line-strong);border-radius:var(--radius);min-width:0;color:inherit;font:inherit;text-align:center;cursor:pointer;background:#ffffff0f;flex-direction:column;flex:1;align-items:center;gap:.1rem;padding:.4rem .3rem;font-size:1em;line-height:1.2;display:flex;position:relative}.tower-button:hover:not(:disabled),.send-panel__item:hover:not(:disabled){background:#ffffff24}.tower-button[aria-pressed=true]{border-color:var(--income);outline:2px solid var(--accent);outline-offset:-2px}.tower-button:disabled,.send-panel__item:disabled{opacity:.4;cursor:not-allowed}.tower-button__well{border-radius:var(--radius);background:radial-gradient(120% 120% at 50% 8%,#ffffff29,#ffffff05 70%);border:1px solid #ffffff14;flex:none;place-items:center;width:2.6em;height:2.6em;display:grid;overflow:visible;box-shadow:inset 0 1px #ffffff12}.tower-button__icon{filter:drop-shadow(0 1px 2px #0000008c);flex:none;width:2.2em;height:2.5em;margin:0;display:block;overflow:visible}.tower-button__label{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.tower-button__name{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tower-button__cost{color:var(--currency);font-variant-numeric:tabular-nums}.tower-palette .tower-button__label{flex-flow:wrap;flex:1;align-items:baseline;column-gap:.5em}.tower-palette .tower-button__name{-webkit-line-clamp:1;line-clamp:1}.tower-palette .tower-button__cost{margin-left:auto}.tower-palette .tower-button__cost--locked{color:var(--text-dim);flex-basis:100%;margin-left:0;font-size:.9em}.tower-button__tip,.send-panel__tip,.home__hint,.watch-link__tip{z-index:5;pointer-events:none;visibility:hidden;opacity:0;background:var(--panel-dense);border:1px solid var(--line-strong);border-radius:var(--radius);box-sizing:border-box;text-align:left;flex-direction:column;gap:.2rem;width:max-content;max-width:15rem;padding:.55rem .7rem;font-size:.95em;line-height:1.35;transition:opacity 90ms,visibility 0s linear 90ms;display:flex;position:absolute;box-shadow:0 6px 18px #00000073}.tower-palette .tower-button__tip{bottom:0;left:calc(100% + .4rem)}.home__pool-slot>.home__hint{left:auto;right:0}.tower-info .tower-button__tip{top:calc(100% + .4rem);left:0}.send-panel__tip{bottom:calc(100% + .4rem);right:0}.tower-button__slot:hover>.tower-button__tip,.send-panel__slot:hover>.send-panel__tip,.home__pool-slot:hover>.home__hint,.watch-link:hover>.watch-link__tip{visibility:visible;opacity:1;transition:opacity .11s .24s,visibility 0s linear .24s}.tower-button__slot:has(>.tower-button:focus-visible)>.tower-button__tip{visibility:visible;opacity:1;transition:opacity .11s .24s,visibility 0s linear .24s}.send-panel__slot:has(>.send-panel__item:focus-visible)>.send-panel__tip{visibility:visible;opacity:1;transition:opacity .11s .24s,visibility 0s linear .24s}.watch-link:has(>.widget__watch:focus-visible)>.watch-link__tip{visibility:visible;opacity:1;transition:opacity .11s .24s,visibility 0s linear .24s}.tower-button__tip-name,.send-panel__tip-name{color:var(--text);font-size:1.1em;font-weight:600}.tower-button__tip-kind,.send-panel__tip-kind{opacity:.65;text-transform:uppercase;letter-spacing:.05em;font-size:.85em}.tower-button__tip-stats,.send-panel__tip-stats{font-variant-numeric:tabular-nums;flex-direction:column;gap:.05rem;margin:.25rem 0;display:flex}.tower-button__tip-stat,.send-panel__tip-stat{justify-content:space-between;gap:1.5rem;display:flex}.tower-button__tip-stat dt,.send-panel__tip-stat dt{opacity:.6}.tower-button__tip-stat dd,.send-panel__tip-stat dd{margin:0}.tower-button__tip-cost,.send-panel__tip-cost{border-top:1px solid var(--line-strong);font-variant-numeric:tabular-nums;padding-top:.3rem}.tower-button__tip-cost strong,.send-panel__tip-cost strong{color:var(--currency)}.tower-button__tip-upgrades,.send-panel__tip-lock{opacity:.7;font-size:.92em}.send-panel{pointer-events:none;box-sizing:border-box;flex-direction:column;align-items:flex-start;display:flex;position:fixed;bottom:1rem;right:1rem}.send-panel__body{pointer-events:auto;font-size:calc(var(--hud-font) * .78);background:var(--panel-dense);border:1px solid var(--line);border-radius:0 var(--radius) var(--radius) var(--radius);box-sizing:border-box;width:min(90vw,36em);font-family:var(--font-display);padding:.6rem;font-weight:500}.send-panel__tabs{pointer-events:auto;z-index:1;gap:.15rem;margin-bottom:-1px;display:flex;position:relative}.send-panel__tab{border:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;color:inherit;font:inherit;font-family:var(--font-display);font-size:calc(var(--hud-font) * .8);text-transform:uppercase;letter-spacing:var(--tracking);opacity:.55;cursor:pointer;background:#1319218c;padding:.3rem .85rem .35rem;font-weight:600}.send-panel__tab:hover{opacity:.85;background:#ffffff1a}.send-panel__tab[aria-selected=true]{opacity:1;color:var(--currency);background:var(--panel-dense);border-bottom-color:var(--panel-dense)}.send-panel__ladder{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;min-height:4.5rem;display:grid}.send-panel__slot{min-width:0;display:flex;position:relative}.send-panel__empty{text-align:center;opacity:.55;font-size:calc(var(--hud-font) * .8);grid-column:1/-1;align-self:center}.send-panel__name{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.send-panel__cost{color:var(--currency);font-variant-numeric:tabular-nums}.send-panel__income{color:var(--income);font-variant-numeric:tabular-nums}.send-panel__stock{font-variant-numeric:tabular-nums;opacity:.85;font-size:.8em;position:absolute;bottom:.2rem;right:.3rem}.send-panel__lock{border-radius:inherit;background:conic-gradient(#00000026 calc(var(--unlock-progress) * 360deg), #000000b8 0);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.send-panel__lock-seconds{font-variant-numeric:tabular-nums;text-shadow:0 1px 2px #000000e6;font-weight:600}.send-panel__item--locked:disabled{opacity:.85}.match-end{pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.match-end__panel{pointer-events:auto;background:var(--panel-dense);border:1px solid var(--line-strong);border-radius:var(--radius);box-sizing:border-box;min-width:clamp(18rem,62vw,46rem);max-width:90vw;max-height:85vh;font-family:var(--font-display);text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:clamp(1.25rem,3vw,2.5rem);font-weight:500;display:flex;overflow-y:auto}.match-end__title{text-transform:uppercase;letter-spacing:.02em;color:var(--accent);margin:0;font-size:clamp(1.6rem,4.5vw,2.8rem);font-style:italic;font-weight:700}.match-end__table{width:100%;font-size:calc(var(--hud-font) * .85);--col:calc(var(--hud-font) * .85);font-variant-numeric:tabular-nums;text-align:left;flex-direction:column;gap:.3rem;display:flex;overflow-x:auto}.match-end__head,.match-end__row{grid-template-columns:calc(var(--col) * 2.1) minmax(calc(var(--col) * 5.3), 1fr) repeat(6, calc(var(--col) * 3.6));white-space:nowrap;box-sizing:border-box;align-items:baseline;gap:.6rem;padding:.35rem .6rem;display:grid}.match-end__head{border-bottom:1px solid var(--line-strong);text-transform:uppercase;letter-spacing:var(--tracking);opacity:.6;padding-top:0;padding-bottom:.3rem;font-size:.78rem;font-weight:600}.match-end__head-cell--num{text-align:right}.match-end__placements{flex-direction:column;gap:.15rem;width:100%;margin:0;padding:0;list-style:none;display:flex}.match-end__row{border-radius:var(--radius)}.match-end__row:nth-child(odd){background:#ffffff0a}.match-end__stat{text-align:right}.match-end__row--local{color:var(--currency)}.match-end__id{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.match-end__placement{text-align:right;opacity:.55}.match-end__record{font-family:var(--font-ui);color:var(--text-dim);font-weight:400;font-size:calc(var(--hud-font) * .82);margin:0}.match-end__restart{background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius);color:var(--accent-ink);font:inherit;font-size:calc(var(--hud-font) * .9);text-transform:uppercase;letter-spacing:var(--tracking);cursor:pointer;padding:.6rem 1.75rem;font-weight:600}.match-end__restart:hover{background:var(--accent-bright);border-color:var(--accent-bright)}.replay-gate{pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lobby{pointer-events:auto;background:var(--scrim);color:var(--text);font:400 14px/1.45 var(--font-ui);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex;position:fixed;inset:0}.home{pointer-events:auto;box-sizing:border-box;color:var(--text);font-family:var(--font-ui);font-weight:400;line-height:1.45;font-size:var(--ui-scale);background:linear-gradient(90deg,#090c10f0 0%,#090c10e0 24%,#090c1085 50%,#090c10e0 76%,#090c10f0 100%);flex-direction:column;gap:clamp(1rem,3vh,2.25rem);padding:clamp(1rem,3vw,2.5rem);display:flex;position:fixed;inset:0;overflow:hidden auto;container-type:inline-size}.home__bar,.home__columns,.rejoin{width:100%;max-width:84em;margin-inline:auto}.home__bar{border-bottom:1px solid var(--line);box-sizing:border-box;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:clamp(.6rem,1.5vh,1rem);display:flex}.home__bar-group{align-items:center;gap:.9em;min-width:0;display:flex}.home__bar-rule{background:var(--line-strong);flex:none;align-self:center;width:1px;height:1.6em}.home__title{font-family:var(--font-display);color:#e6ebf2db;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;margin:0;font-size:2.4em;font-weight:600;line-height:1}.home__title-accent{color:var(--accent);font-weight:700}.home__nav{font-family:var(--font-display);flex-wrap:wrap;align-items:center;gap:.15em;display:flex}.home__nav-link{color:var(--text-dim);text-transform:uppercase;letter-spacing:var(--tracking);white-space:nowrap;border-bottom:2px solid #0000;padding:.55em .6em;font-size:.95em;font-weight:600;text-decoration:none}a.home__nav-link:hover{color:var(--text)}a.home__nav-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.home__nav-link[aria-current=page]{color:var(--text);border-bottom-color:var(--accent)}.home__nav-link--soon{opacity:.5;cursor:default}.home__nav-link--soon:after{content:"soon";letter-spacing:.12em;color:var(--accent);vertical-align:.18em;border:1px solid #f2c23059;border-radius:1px;margin-left:.35em;padding:.08em .25em;font-size:.6em}.home__online{font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking);color:var(--text-dim);white-space:nowrap;align-items:center;gap:.5em;font-size:.82em;font-weight:600;display:flex}.home__online-dot{background:var(--income);border-radius:50%;flex:none;width:.5em;height:.5em;box-shadow:0 0 0 3px #74c2a026}.home__online-count{color:var(--text);font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:no-preference){.home__online-dot{animation:2.4s ease-in-out infinite online-pulse}}@keyframes online-pulse{0%,to{box-shadow:0 0 0 3px #74c2a026}50%{box-shadow:0 0 0 5px #74c2a00d}}.home__gear{border:1px solid var(--line-strong);border-radius:var(--radius);width:2.2em;height:2.2em;color:var(--text-dim);cursor:pointer;background:0 0;flex:none;place-items:center;padding:0;display:grid}.home__gear:hover{color:var(--text);background:#ffffff0f}.home__gear svg{width:1.1em;height:1.1em;display:block}@container (width<=79em){.home__bar{gap:.2rem}.home__bar-group{flex-wrap:wrap}.home__bar-rule{display:none}.home__title{font-size:2em}.home__nav{flex-basis:100%;order:3;padding-top:.6em}.home__nav-link{margin-right:1.1em;padding-inline:0}}@container (width<=34em){.home__online{display:none}}.home__columns{box-sizing:border-box;flex-wrap:wrap;flex:auto;place-content:center space-between;align-items:center;gap:2rem;display:flex}.home__play{background:var(--panel-solid);border:1px solid var(--line);border-radius:var(--radius);box-sizing:border-box;flex-direction:column;flex:0 28em;gap:1.1em;max-width:34em;padding:1.4em;display:flex}.home__record{box-sizing:border-box;flex-direction:column;flex:0 27em;gap:1.1em;max-width:34em;display:flex}.home__pool{align-items:stretch;gap:.4rem;display:flex}.home__pool>.home__pool-slot,.home__pool-slot>.home__pool-option{flex:1;min-width:0}.home__pool-option{text-align:center;border:1px solid var(--line-strong);border-radius:var(--radius);color:inherit;font:inherit;font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking);cursor:pointer;background:#ffffff0d;padding:.5em 1.2em;font-size:1em;font-weight:600}.home__pool-option:hover:not(:disabled){background:#ffffff1f}.home__pool-option[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.home__pool-option[aria-pressed=true]:hover:not(:disabled){background:var(--accent-soft)}.home__pool-option:focus-visible{outline:2px solid var(--text);outline-offset:2px}.home__pool-option:disabled{opacity:.35;cursor:not-allowed}.home__pool-slot{display:inline-flex;position:relative}.home__hint{font-family:var(--font-ui);color:var(--text-dim);margin:0;font-size:.88rem;top:calc(100% + .4rem);left:0}.home__warning{border-left:2px solid var(--danger);color:var(--danger);font-family:var(--font-ui);background:#e57b6f1a;margin:0;padding:.6rem .8rem;font-size:.9em}.rejoin{border:1px solid #f2c23059;border-left:3px solid var(--accent);border-radius:var(--radius);box-sizing:border-box;background:linear-gradient(90deg,#f2c23029,#f2c2300d 60%,#f2c23005);flex-direction:column;display:flex}.rejoin__row{flex-wrap:wrap;align-items:center;gap:.9em;padding:.7em 1em;display:flex}.rejoin__title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking);color:var(--accent);white-space:nowrap;font-size:1em;font-weight:600}.rejoin__sep{color:#f2c23066}.rejoin__blurb{min-width:12em;font-family:var(--font-ui);color:var(--text-dim);flex:1;font-size:.85em}.rejoin__clock{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--accent);white-space:nowrap;font-size:1.35em;font-weight:700}.rejoin__clock small{text-transform:uppercase;letter-spacing:var(--tracking);opacity:.75;margin-left:.15em;font-size:.55em;font-weight:600}.rejoin__pip{background:var(--accent);border-radius:50%;flex:none;width:.55em;height:.55em}.rejoin__action{background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius);color:var(--accent-ink);font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking);white-space:nowrap;cursor:pointer;padding:.5em 1em;font-size:.95em;font-weight:600}.rejoin__action:hover:not(:disabled){background:var(--accent-bright);border-color:var(--accent-bright)}.rejoin__action:disabled{opacity:.5;cursor:default}.rejoin__drain{background:#f2c23029;height:2px;margin:0 -1px -1px;position:relative;overflow:hidden}.rejoin__drain:after{content:"";width:calc(var(--drain,1) * 100%);background:var(--accent);position:absolute;inset:0 auto 0 0}@media (prefers-reduced-motion:no-preference){.rejoin__pip{animation:1.6s ease-in-out infinite rejoin-pip}.rejoin__drain:after{transition:width 1s linear}.rejoin[data-leaving=true]{animation:.42s forwards rejoin-leave}}@keyframes rejoin-pip{0%,to{opacity:1}50%{opacity:.4}}@keyframes rejoin-leave{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-.35em)}}.identity{font-family:var(--font-display);flex-wrap:wrap;align-items:center;gap:.6rem;font-size:1em;font-weight:500;display:flex}.identity__name{letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;max-width:7em;font-weight:600;overflow:hidden}.identity__tag{border:1px solid var(--line-strong);border-radius:var(--radius);text-transform:uppercase;letter-spacing:var(--tracking);color:var(--text-dim);padding:.1em .45em;font-size:.75em;font-weight:600}.identity__action{border:1px solid var(--line-strong);border-radius:var(--radius);color:inherit;font:inherit;font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking);cursor:pointer;background:0 0;padding:.35em .8em;font-size:.85em;font-weight:600}.identity__action:hover{background:#ffffff24}.identity__menu{display:inline-flex;position:relative}.identity__trigger{border-radius:var(--radius);max-width:none;color:inherit;font:inherit;letter-spacing:.02em;cursor:pointer;background:0 0;border:0;align-items:center;gap:.35em;margin:-.25em -.4em;padding:.25em .4em;font-weight:600;display:inline-flex}.identity__trigger-name{text-overflow:ellipsis;white-space:nowrap;max-width:7em;overflow:hidden}.identity__trigger:hover{background:#ffffff1a}.identity__trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.identity__caret{opacity:.7;flex:none;width:.6em;height:.6em}.identity__trigger[aria-expanded=true]{background:#ffffff1a}.identity__menu-list{z-index:10;background:var(--panel-solid);border:1px solid var(--line-strong);border-radius:var(--radius);flex-direction:column;min-width:11em;padding:.25em;display:flex;position:absolute;top:calc(100% + .4em);right:0;box-shadow:0 8px 22px #0000008c}.identity__menu-note{border-bottom:1px solid var(--line);max-width:16em;color:var(--text-dim);text-transform:none;letter-spacing:normal;margin:.15em .4em .4em;padding-bottom:.5em;font-size:.75em;font-weight:500;line-height:1.4}.identity__menu-item{box-sizing:border-box;border-radius:var(--radius);width:100%;color:var(--text);font:inherit;font-family:var(--font-display);text-align:left;text-transform:uppercase;letter-spacing:var(--tracking);white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:.45em .7em;font-size:.85em;font-weight:600;text-decoration:none;display:block}.identity__menu-item:hover{background:#ffffff1f}.identity__menu-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.claim{pointer-events:auto;z-index:20;box-sizing:border-box;background:var(--scrim);font-family:var(--font-ui);color:var(--text);font-size:var(--ui-scale);justify-content:center;align-items:center;padding:1.5em;display:flex;position:fixed;inset:0;overflow-y:auto}.claim__panel{box-sizing:border-box;background:var(--panel-solid);border:1px solid var(--line-strong);border-radius:var(--radius);flex-direction:column;gap:.75em;width:100%;max-width:22em;padding:1.25em;display:flex}.claim__title{text-align:center;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;margin:0;font-size:1.5em;font-style:italic;font-weight:700}.claim__blurb{text-align:center;color:var(--text-dim);margin:0;font-size:.85em}.claim__field{flex-direction:column;gap:.3em;display:flex}.claim__field>span{font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking);color:var(--text-dim);font-size:.78em;font-weight:600}.claim__field input{padding:.55em .6em;font-size:1em}.claim__hint{color:var(--text-dim);margin:0;font-size:.8em}.rename__confirm{border-left:2px solid var(--accent);color:var(--text);padding-left:.6em;font-size:.85em;line-height:1.45}.claim__error{color:var(--danger);margin:0;font-size:.85em}.claim__actions{justify-content:center;gap:.6em;display:flex}.claim__actions button{border:1px solid var(--line-strong);border-radius:var(--radius);color:inherit;font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking);cursor:pointer;background:0 0;flex:auto;padding:.55em 1.25em;font-size:.95em;font-weight:600}.claim__actions button:first-child{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.claim__actions button:first-child:hover:not(:disabled){background:var(--accent-bright)}.claim__actions button:last-child:hover:not(:disabled){background:#ffffff14}.claim__actions button:disabled{cursor:default;opacity:.6}.account{max-width:26em}.account__rows{flex-direction:column;gap:.1em;margin:0;display:flex}.account__row{border-bottom:1px solid var(--line);grid-template-columns:5em minmax(0,1fr) auto;align-items:center;gap:.6em;padding:.5em 0;display:grid}.account__row:last-child{border-bottom:0}.account__row>dt{font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking);color:var(--text-dim);font-size:.75em;font-weight:600}.account__row>dd{margin:0}.account__value{text-overflow:ellipsis;white-space:nowrap;font-size:.9em;overflow:hidden}.account__unknown{color:var(--text-dim);font-style:italic}.account__change{border:1px solid var(--line-strong);border-radius:var(--radius);color:inherit;font:inherit;font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking);cursor:pointer;background:0 0;padding:.3em .7em;font-size:.75em;font-weight:600}.account__change:hover{background:#ffffff1f}.account__done{color:var(--accent);text-align:center}.claim__actions button:first-child:disabled,.home__launch .join__primary:disabled,.lobby__start:disabled,.practice__start:disabled,.match-end__restart:disabled{border-color:var(--line-strong);color:var(--text-dim);opacity:1;background:0 0}.practice{pointer-events:auto;z-index:20;box-sizing:border-box;background:var(--scrim);font-size:var(--ui-scale);justify-content:center;align-items:center;padding:1.5em;display:flex;position:fixed;inset:0;overflow-y:auto}.practice__panel{box-sizing:border-box;background:var(--panel-solid);border:1px solid var(--line-strong);border-radius:var(--radius);flex-direction:column;gap:.85em;width:100%;max-width:24em;padding:1.25em;display:flex}.practice__title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;margin:0;font-size:1.4em;font-style:italic;font-weight:700}.practice__blurb{font-family:var(--font-ui);color:var(--text-dim);margin:0;font-size:.85em}.practice__modes{flex-direction:column;gap:.4em;display:flex}.practice__mode{border:1px solid var(--line);border-left:2px solid var(--line-strong);border-radius:var(--radius);color:inherit;font:inherit;text-align:left;cursor:pointer;background:#ffffff0a;flex-direction:column;gap:.1em;padding:.6em .75em;display:flex}.practice__mode-slot{display:flex;position:relative}.practice__mode-slot>.practice__mode{flex:1;min-width:0}.practice__mode:hover{background:#ffffff14}.practice__mode[aria-pressed=true]{background:var(--accent-soft);border-left-color:var(--accent)}.practice__mode[aria-pressed=true] .practice__mode-name{color:var(--accent)}.practice__mode-name{font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking);font-size:1em;font-weight:600}.practice__mode-blurb{font-family:var(--font-ui);color:var(--text-dim);font-size:.8em}.practice__mode--bots{padding-right:7em}.practice__field{align-items:center;gap:.4em;display:flex;position:absolute;top:50%;right:.75em;transform:translateY(-50%)}.practice__field>span{font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking);color:var(--text-dim);font-size:.85em;font-weight:600}.abandon{pointer-events:auto;z-index:20;box-sizing:border-box;background:var(--scrim);font-size:var(--ui-scale);justify-content:center;align-items:center;padding:1.5em;display:flex;position:fixed;inset:0;overflow-y:auto}.abandon__panel{box-sizing:border-box;background:var(--panel-solid);border:1px solid var(--line-strong);border-radius:var(--radius);flex-direction:column;gap:.85em;width:100%;max-width:24em;padding:1.25em;display:flex}.abandon__title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;margin:0;font-size:1.3em;font-style:italic;font-weight:700}.abandon__blurb{font-family:var(--font-ui);color:var(--text-dim);margin:0;font-size:.85em}.abandon__actions{flex-direction:row-reverse;gap:.5em;display:flex}.abandon__confirm,.abandon__cancel{border-radius:var(--radius);font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking);cursor:pointer;padding:.55em .9em;font-size:.9em;font-weight:600}.abandon__confirm{border:1px solid var(--danger);color:var(--danger);background:0 0}.abandon__confirm:hover{background:#e57b6f1a}.abandon__cancel{border:1px solid var(--line-strong);color:inherit;background:#ffffff0a}.abandon__cancel:hover{background:#ffffff14}.numsel{display:inline-flex;position:relative}.numsel__trigger{border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--text);font:inherit;font-family:var(--font-display);font-variant-numeric:tabular-nums;cursor:pointer;background:#ffffff0d;align-items:center;gap:.4em;padding:.3em .5em;font-size:1em;font-weight:600;display:flex}.numsel__trigger:hover{background:#ffffff1f}.numsel__trigger:focus-visible,.numsel__list:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.numsel__value{text-align:right;min-width:1.2em}.numsel__caret{opacity:.7;width:.6em;height:.6em}.numsel__trigger[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}.numsel__list{z-index:10;background:var(--panel-solid);border:1px solid var(--line-strong);border-radius:var(--radius);scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;min-width:100%;max-height:11em;margin:0;padding:.2em;list-style:none;position:absolute;top:calc(100% + .25em);right:0;overflow-y:auto;box-shadow:0 8px 22px #0000008c}.numsel__option{border-radius:var(--radius);font-family:var(--font-display);font-variant-numeric:tabular-nums;text-align:right;color:var(--text);cursor:pointer;padding:.25em .6em;font-size:.95em;font-weight:600}.numsel__option--active{background:#ffffff1f}.numsel__option[aria-selected=true]{color:var(--accent)}.practice__actions{gap:.6em;display:flex}.practice__start,.practice__cancel{border-radius:var(--radius);font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking);cursor:pointer;padding:.55em 1.1em;font-size:1em;font-weight:600}.practice__start{background:var(--accent);border:1px solid var(--accent);color:var(--accent-ink);flex:auto}.practice__start:hover{background:var(--accent-bright);border-color:var(--accent-bright)}.practice__cancel{border:1px solid var(--line-strong);color:inherit;background:0 0}.practice__cancel:hover{background:#ffffff14}.widget{background:var(--panel-solid);border:1px solid var(--line);border-radius:var(--radius);box-sizing:border-box;font-family:var(--font-display);padding:1em 1.1em;font-weight:500}.widget__title{border-bottom:1px solid var(--line-strong);text-transform:uppercase;letter-spacing:var(--tracking);color:var(--text-dim);margin:0 0 .7em;padding-bottom:.45em;font-size:.92em;font-weight:600}.widget__status{font-family:var(--font-ui);color:var(--text-dim);margin:0;font-size:.92em;font-weight:400}.widget__status--error{color:var(--danger);opacity:.9}.widget__list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.widget__row{white-space:nowrap;align-items:baseline;gap:.55em;font-size:.92em;display:flex}.widget__rank{opacity:.6;font-variant-numeric:tabular-nums;min-width:1.4em}.widget__primary{text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.widget__rating{font-variant-numeric:tabular-nums;font-weight:700}.widget__meta,.widget__delta{opacity:.7;font-variant-numeric:tabular-nums;flex:none}.widget__watch{pointer-events:auto;color:inherit;opacity:.7;flex:none;text-decoration:none}.widget__watch:hover:not(.widget__watch--disabled){opacity:1;text-decoration:underline}.join__field{flex-direction:column;gap:.3rem;display:flex}.join__field>span{font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking);color:var(--text-dim);font-size:.85em;font-weight:600}.join__name,.claim__field input{border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--text);font-family:var(--font-ui);background:#ffffff0d}.join__name:focus,.claim__field input:focus{outline:2px solid var(--accent);outline-offset:-2px}.join__name:-webkit-autofill{-webkit-text-fill-color:var(--text);-webkit-background-clip:text;background-clip:text;box-shadow:inset 0 0 0 100px #1c232c}.claim__field input:-webkit-autofill{-webkit-text-fill-color:var(--text);-webkit-background-clip:text;background-clip:text;box-shadow:inset 0 0 0 100px #1c232c}.join__name{box-sizing:border-box;width:100%;padding:.55em .6em;font-size:1.05em}.join__welcome{text-align:center;flex-direction:column;gap:.1em;display:flex}.join__welcome-kicker{font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking);color:var(--text-dim);font-size:.85em;font-weight:600}.join__welcome-name{font-family:var(--font-display);letter-spacing:.01em;color:var(--text);overflow-wrap:anywhere;margin:0;font-size:1.9em;font-weight:700;line-height:1.15}.join__name-error{color:var(--danger);font-family:var(--font-ui);margin:.3rem 0 0;font-size:.8em}.join__primary,.lobby__start{cursor:pointer;padding:.6rem 1.25rem;font-size:1rem}.join__primary:disabled,.lobby__start:disabled{opacity:.5;cursor:default}.join__status{color:var(--danger);font-family:var(--font-ui);margin:0}.home__launch{flex-direction:column;align-items:stretch;gap:.5rem;display:flex}.home__launch .join__primary{background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius);width:100%;color:var(--accent-ink);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.03em;padding:.7rem 1.25rem;font-size:1.95em;font-style:italic;font-weight:700;line-height:1.1;transition:background .26s,border-color .26s,color .26s}.home__launch .join__primary:hover:not(:disabled){background:var(--accent-bright);border-color:var(--accent-bright)}.home__launch[data-seat-held=true] .join__primary{border-color:var(--line-strong);color:var(--text);background:0 0}.home__launch[data-seat-held=true] .join__primary:hover:not(:disabled){border-color:var(--line-strong);background:#ffffff12}.home__practice{border-radius:var(--radius);color:inherit;font:inherit;font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking);opacity:.7;cursor:pointer;background:0 0;border:none;align-self:center;padding:.35rem .75rem;font-size:.9em;font-weight:600}.home__practice:hover:not(:disabled){opacity:1;background:#ffffff12}.home__practice:disabled{opacity:.35;cursor:default}.lobby__title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;margin:0;font-size:clamp(1.4rem,3vw,2rem);font-style:italic;font-weight:700}.lobby__count{font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking);color:var(--text-dim);margin:0;font-weight:600}.lobby__roster{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);min-width:min(90vw,22rem);font-family:var(--font-display);margin:0;padding:.35rem .5rem;font-weight:500;list-style:none}.lobby__seat{border-bottom:1px solid var(--line);justify-content:space-between;gap:.75rem;padding:.4rem .5rem;display:flex}.lobby__seat:last-child{border-bottom:none}.lobby__seat--voting{color:var(--income)}.lobby__ready{text-transform:uppercase;letter-spacing:var(--tracking);font-size:.8rem;font-weight:600}.lobby__bot{text-transform:uppercase;letter-spacing:var(--tracking);color:var(--text-dim);font-size:.8rem}.lobby__votes{color:var(--text-dim);margin:0}.lobby__start,.lobby__fill,.lobby__secondary,.lobby__leave{font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking);border-radius:var(--radius);font-weight:600}.lobby__start{background:var(--accent);border:1px solid var(--accent);color:var(--accent-ink)}.lobby__start:hover:not(:disabled){background:var(--accent-bright);border-color:var(--accent-bright)}.lobby__fill{border:1px solid var(--line-strong);color:inherit;cursor:pointer;background:0 0;margin-top:.5rem;padding:.55rem 1.25rem;font-size:.95rem}.lobby__fill:hover:not(:disabled){background:#ffffff14}.lobby__fill:disabled{opacity:.45;cursor:default}.lobby__votes--bots{margin-top:.35rem;font-size:.85rem}.lobby__leave{color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;margin-top:1.25rem;padding:.4rem 1rem;font-size:.85rem}.lobby__leave:hover{color:var(--text);border-color:var(--line-strong)}.lobby__status{color:var(--currency);margin:0}.countdown{z-index:10;pointer-events:none;background:var(--scrim);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex;position:absolute;inset:0}.countdown__title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking);color:var(--text-dim);margin:0;font-size:1.1rem;font-weight:600}.countdown__number{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--accent-bright);margin:0;font-size:clamp(5rem,28vmin,16rem);font-weight:700;line-height:1;animation:.9s ease-out both countdown-pop}@keyframes countdown-pop{0%{opacity:0;transform:scale(1.75)}35%{opacity:1}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.countdown__number{animation:none}}.lobby__ranked{text-align:center;flex-direction:column;align-items:center;gap:.5rem;max-width:20rem;display:flex}.lobby__tag{font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking);border:1px solid var(--accent);border-radius:var(--radius);color:var(--accent);padding:.15rem .55rem;font-size:.75rem;font-weight:600}.lobby__hint{color:var(--text-dim);margin:0}.lobby__secondary{cursor:pointer;border:1px solid var(--line-strong);color:inherit;background:0 0;padding:.4rem 1rem;font-size:.85rem}.lobby__secondary:hover{background:#ffffff14}.tower-info--bulk{min-width:15rem}.tower-info__upgrade-branch{flex-direction:column;gap:.35rem;display:flex}.tower-info__partial{color:var(--currency);margin:0;font-size:.75rem;line-height:1.3}.minimap{pointer-events:none;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-sizing:border-box;padding:.4rem;position:fixed;top:7rem;left:1rem}.minimap--top{top:1rem}.minimap__canvas{pointer-events:auto;cursor:pointer;display:block}.gold-popups{pointer-events:none;z-index:-1;position:fixed;inset:0}.gold-popup{font-family:var(--font-display);letter-spacing:.02em;color:var(--currency);text-shadow:0 0 4px #090c10f2,0 1px 2px #090c10e6;white-space:nowrap;pointer-events:none;will-change:transform, opacity;font-size:1.15rem;font-weight:700;position:absolute;top:0;left:0}.marquee{pointer-events:none;border:1px solid var(--accent);z-index:10;background:#6fd3a426;position:absolute}.tech-modal__scrim{pointer-events:auto;z-index:20;box-sizing:border-box;background:var(--scrim);font-family:var(--font-ui);color:var(--text);font-size:var(--hud-font);justify-content:center;align-items:center;padding:1.5em;display:flex;position:fixed;inset:0}.tech-modal{box-sizing:border-box;background:var(--panel-solid);border:1px solid var(--line-strong);border-radius:var(--radius);width:min(94vw,35.3em);max-height:90vh;font-family:var(--font-display);flex-direction:column;font-weight:500;display:flex;overflow-y:auto;box-shadow:0 20px 60px #0009}.tech-modal__head{border-bottom:1px solid var(--line);background:#ffffff08;flex-direction:column;gap:.35em;padding:.6em .8em;display:flex}.tech-modal__head-top{align-items:center;gap:.6em;display:flex}.tech-modal__head h2{text-transform:uppercase;letter-spacing:.02em;color:var(--text);margin:0;font-size:1.15em;font-style:italic;font-weight:700}.tech-modal__budget{color:var(--accent-bright);margin:0;font-weight:600}.tech-modal__rule{font-family:var(--font-ui);color:var(--text-dim);margin:0;font-size:.78em;font-weight:400}.tech-modal__close{border:1px solid var(--line-strong);border-radius:var(--radius);color:inherit;font:inherit;text-transform:uppercase;letter-spacing:var(--tracking);cursor:pointer;background:0 0;margin-left:auto;padding:.4em .9em;font-size:.8em}.tech-modal__close:hover{background:#ffffff14}.tech-modal__body{flex-direction:column;gap:.4em;padding:.75em 1em;display:flex}.tech-modal__cols{grid-template-columns:6em minmax(0,1fr) .9em repeat(2,minmax(0,1fr));gap:.4em;margin:0 0 .15em;display:grid}.tech-modal__cols span{font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);opacity:.75;font-size:.62em;font-weight:600}.tech-modal__cols span:first-child{grid-column:2}.tech-modal__cols span:nth-child(2){grid-column:4/span 2}.tech-modal__row{grid-template-columns:6em minmax(0,1fr) .9em repeat(2,minmax(0,1fr));align-items:stretch;gap:.4em;display:grid}.tech-modal__chip:nth-of-type(2){grid-column:4}.tech-modal__chip:nth-of-type(3){grid-column:5}.tech-modal__split{background:var(--line-strong);grid-area:1/3;justify-self:center;width:1px}.tech-modal__tech{font-family:var(--font-ui);color:var(--text-dim);align-items:center;gap:.5em;font-size:.85em;font-weight:500;display:flex}.element-icon{flex:none;width:1.5em;height:1.5em}.tech-modal__chip{border:1px solid var(--line-strong);border-radius:var(--radius);min-width:0;min-height:2.6em;color:var(--text-dim);font:inherit;text-align:left;cursor:pointer;background:#ffffff08;flex-direction:column;justify-content:center;gap:.1em;padding:.4em .6em;font-size:.78em;display:flex}.tech-modal__chip:disabled{cursor:default}.tech-modal__chip--free:hover,.tech-modal__chip--priced:hover,.tech-modal__chip--poor:hover{background:#ffffff29;border-color:#fffc}.tech-modal__chip--priced:hover,.tech-modal__chip--poor:hover{border-color:var(--accent-bright);background:#f2c23047}.tech-modal__chip-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.95em;overflow:hidden}.tech-modal__chip-state,.tech-modal__chip-short{white-space:nowrap;text-overflow:ellipsis;font-size:.85em;overflow:hidden}.tech-modal__chip-short{color:var(--danger);font-weight:600;display:none}.tech-modal__chip--poor:hover .tech-modal__chip-state{display:none}.tech-modal__chip--poor:hover .tech-modal__chip-short{display:block}.tech-modal__chip--researched{border-color:var(--income);background:#2f6f4f59}.tech-modal__chip--researched .tech-modal__chip-state{color:var(--income);font-weight:600}.tech-modal__chip--free{background:#ffffff12;border-color:#ffffff8c}.tech-modal__chip--free .tech-modal__chip-state{color:var(--text);font-weight:600}.tech-modal__chip--priced{background:var(--accent-soft);border-color:#f2c23080}.tech-modal__chip--priced .tech-modal__chip-state{color:var(--accent-bright);font-weight:600}.tech-modal__chip--poor{background:var(--accent-soft);border-style:dashed;border-color:#f2c23080}.tech-modal__chip--poor .tech-modal__chip-state{color:var(--accent-bright);font-weight:600}.tech-modal__chip--blocked{opacity:.45}.tech-modal__chip--blocked .tech-modal__chip-state{color:var(--text-dim);font-style:italic}.tech-modal__foot{border-top:1px solid var(--line);background:#ffffff05;justify-content:flex-end;align-items:baseline;gap:1.2em;padding:.6em 1em;font-size:.78em;display:flex}.tech-modal__permanent{color:var(--danger)}.shortcuts__scrim{pointer-events:auto;z-index:20;box-sizing:border-box;background:var(--scrim);font-family:var(--font-ui);color:var(--text);font-size:var(--hud-font);justify-content:center;align-items:center;padding:1.5em;display:flex;position:fixed;inset:0}.shortcuts{box-sizing:border-box;background:var(--panel-solid);border:1px solid var(--line-strong);border-radius:var(--radius);width:min(94vw,72em);max-height:90vh;font-family:var(--font-display);font-weight:500;font-size:calc(var(--hud-font) * .85);flex-direction:column;display:flex;overflow-y:auto;box-shadow:0 20px 60px #0009}.shortcuts__head{z-index:1;border-bottom:1px solid var(--line);background:var(--panel-solid);flex-direction:column;gap:.35em;padding:.6em .9em;display:flex;position:sticky;top:0}.shortcuts__head-top{align-items:center;gap:.6em;display:flex}.shortcuts__head h2{text-transform:uppercase;letter-spacing:.02em;color:var(--text);margin:0;font-size:1.15em;font-style:italic;font-weight:700}.shortcuts__rule{font-family:var(--font-ui);color:var(--text-dim);margin:0;font-size:.78em;font-weight:400}.shortcuts__close{border:1px solid var(--line-strong);border-radius:var(--radius);color:inherit;font:inherit;text-transform:uppercase;letter-spacing:var(--tracking);cursor:pointer;background:0 0;margin-left:auto;padding:.4em .9em;font-size:.8em}.shortcuts__close:hover{background:#ffffff14}.shortcuts__body{columns:15em;column-gap:1.6em;padding:1em .9em 1.2em}.shortcuts__group{break-inside:avoid;padding-bottom:1em}.shortcuts__group-title{border-top:2px solid var(--accent);text-transform:uppercase;letter-spacing:var(--tracking);color:var(--text);margin:0 0 .45em;padding-top:.4em;font-size:.82em;font-weight:700}.shortcuts__group-blurb{font-family:var(--font-ui);color:var(--text-dim);margin:-.15em 0 .55em;font-size:.7em;font-weight:400;line-height:1.4}.shortcuts__list{flex-direction:column;gap:.4em;margin:0;display:flex}.shortcuts__row{flex-direction:column;gap:.15em;padding-bottom:.35em;display:flex}.shortcuts__row+.shortcuts__row{border-top:1px solid var(--line);padding-top:.4em}.shortcuts__keys{flex-wrap:wrap;gap:.25em;display:flex}.shortcuts__key{box-sizing:border-box;border:1px solid var(--line-strong);min-width:1.7em;font-family:var(--font-display);text-align:center;letter-spacing:.02em;color:var(--text);background:#ffffff12;border-radius:3px;padding:.1em .4em;font-size:.78em;font-weight:600;line-height:1.5;display:inline-block;box-shadow:0 1px #00000073}.shortcuts__rule .shortcuts__key{font-size:1em}.shortcuts__action{font-family:var(--font-ui);color:var(--text);flex-direction:column;gap:.1em;margin:0;font-size:.78em;font-weight:400;line-height:1.35;display:flex}.shortcuts__note{color:var(--text-dim);font-size:.88em;line-height:1.35}.corner-tools{pointer-events:auto;z-index:10;gap:.5rem;display:flex;position:fixed;bottom:1rem;right:1rem}.corner-tools__button{background:var(--panel-solid);border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--text-dim);cursor:pointer;justify-content:center;align-items:center;padding:.5em;display:flex}.corner-tools__button:hover{color:var(--text);border-color:var(--line-strong);background:#1d2530}.corner-tools__button[aria-pressed=true]{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 50%, transparent)}.corner-tools__button svg{width:1.25em;height:1.25em;display:block}.settings{pointer-events:auto;z-index:20;box-sizing:border-box;background:var(--scrim);font-family:var(--font-ui);color:var(--text);justify-content:center;align-items:center;padding:1.5em;display:flex;position:fixed;inset:0}.settings__panel{background:var(--panel-solid);border:1px solid var(--line);border-radius:var(--radius);box-sizing:border-box;flex-direction:column;width:min(26em,100%);max-height:100%;display:flex}.settings__head{border-bottom:1px solid var(--line-strong);align-items:center;gap:1em;padding:.9em 1.1em;display:flex}.settings__title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking);color:var(--text-dim);margin:0;font-size:1em;font-weight:600}.settings__close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:.2em;display:flex}.settings__close:hover{color:var(--text)}.settings__close svg{width:1.1em;height:1.1em;display:block}.settings__body{padding:1em 1.1em 1.2em;overflow-y:auto}.settings__section+.settings__section{border-top:1px solid var(--line);margin-top:1.1em;padding-top:1.1em}.settings__section-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking);color:var(--text-dim);margin:0 0 .6em;font-size:.92em;font-weight:600}.audio__row{grid-template-columns:4.5em 1fr 2.2em;align-items:center;gap:.6em;padding:.28em 0;display:grid}.audio__label{color:var(--text-dim);font-size:.9em}.audio__slider{width:100%;min-width:0;accent-color:var(--accent);cursor:pointer}.audio__slider:disabled{cursor:default;opacity:.4}.audio__value{font-variant-numeric:tabular-nums;text-align:right;color:var(--text-dim);font-size:.85em}.audio__mute{border-top:1px solid var(--line);cursor:pointer;align-items:center;gap:.5em;margin-top:.5em;padding-top:.6em;font-size:.9em;display:flex}.audio__mute input{accent-color:var(--accent);cursor:pointer}.audio__hint{color:var(--text-dim);opacity:.8;margin-left:auto;font-size:.82em}.replay-controls{pointer-events:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-sizing:border-box;font-family:var(--font-display);font-weight:500;font-size:calc(var(--hud-font) * .85);align-items:center;gap:.6rem;padding:.5rem .75rem;display:flex;position:fixed;bottom:1rem;left:50%;transform:translate(-50%)}.replay-controls__toggle,.replay-controls__speed,.replay-controls__leave{border:1px solid var(--line-strong);border-radius:var(--radius);color:inherit;font:inherit;cursor:pointer;background:#ffffff0f;padding:.4rem .7rem}.replay-controls__toggle:hover,.replay-controls__speed:hover,.replay-controls__leave:hover{background:#ffffff24}.replay-controls__toggle{justify-content:center;align-items:center;padding:.4rem;display:flex}.replay-controls__toggle svg{width:1.25em;height:1.25em;display:block}.replay-controls__speed[aria-pressed=true]{border-color:var(--income);outline:2px solid var(--accent);outline-offset:-2px}.replay-controls__scrubber{width:min(40vw,480px);accent-color:var(--accent);cursor:pointer}.replay-controls__time{font-variant-numeric:tabular-nums;white-space:nowrap}.profile{pointer-events:auto;box-sizing:border-box;color:var(--text);font-family:var(--font-ui);line-height:1.45;font-size:var(--ui-scale);background:#090c10f2;flex-direction:column;gap:clamp(.8rem,2.2vh,1.6rem);padding:clamp(1rem,3vw,2.5rem);display:flex;position:fixed;inset:0;overflow:hidden auto}.profile__bar,.profile__body{width:100%;max-width:62em;margin-inline:auto}.profile__bar{border-bottom:1px solid var(--line);padding-bottom:clamp(.5rem,1.2vh,.9rem)}.profile__body{flex-direction:column;gap:clamp(.8rem,2vh,1.4rem);display:flex}.profile__back,.profile__retry{border:1px solid var(--line-strong);border-radius:var(--radius);color:inherit;font:inherit;font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking);cursor:pointer;background:0 0;padding:.35em .8em;font-size:.85em;font-weight:600}.profile__back:hover,.profile__retry:hover{background:#ffffff24}.profile__retry{margin-top:.7em}.profile__hero{border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:clamp(1rem,3vw,2.4rem);padding-bottom:clamp(.7rem,1.8vh,1.2rem);display:grid}.profile__identity{flex-direction:column;gap:.35em;min-width:0;display:flex}.profile__name-row{flex-wrap:wrap;align-items:baseline;gap:.6em;display:flex}.profile__name{font-family:var(--font-display);letter-spacing:.01em;overflow-wrap:anywhere;margin:0;font-size:clamp(2em,5vw,2.9em);font-weight:700;line-height:1}.profile__summary{color:var(--text-dim);margin:0;font-size:.92em}.profile__score{text-align:right;border-left:1px solid var(--line);font-family:var(--font-display);max-width:18em;padding-left:clamp(1rem,3vw,2.4rem);font-weight:500}.profile__score-title{text-transform:uppercase;letter-spacing:var(--tracking);color:var(--text-dim);margin:0 0 .15em;font-size:.82em;font-weight:600}.profile__rating{font-family:var(--font-display);color:var(--accent);font-variant-numeric:tabular-nums;margin:0;font-size:2.6em;font-weight:700;line-height:.95}.profile__rank{font-variant-numeric:tabular-nums;margin:.3em 0 0;font-weight:600}.profile__claim{background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius);color:var(--accent-ink);font:inherit;font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking);cursor:pointer;margin-top:.6em;padding:.4em .9em;font-size:.85em;font-weight:600}.profile__claim:hover{background:var(--accent-bright);border-color:var(--accent-bright)}@media (width<=34em){.profile__hero{grid-template-columns:minmax(0,1fr);align-items:start}.profile__score{text-align:left;border-left:none;max-width:none;padding-left:0}}.profile__pair{grid-template-columns:repeat(auto-fit,minmax(17em,1fr));align-items:stretch;gap:clamp(.7rem,1.6vw,1.1rem);display:grid}.profile__record-table{--wl:2.4em;font-variant-numeric:tabular-nums}.profile__record-head,.profile__record{grid-template-columns:minmax(0,1.5fr) 1fr 1fr 1.4fr;align-items:baseline;gap:.4em;margin:0;display:grid}.profile__record-table--draws .profile__record-head,.profile__record-table--draws .profile__record{grid-template-columns:minmax(0,1.5fr) 1fr 1fr 1fr 1.4fr}.profile__record-head{border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:var(--tracking);color:var(--text-dim);white-space:nowrap;margin-bottom:.35em;padding-bottom:.3em;font-size:.78em;font-weight:600}.profile__record{padding:.15em 0;font-size:.95em}.profile__record-label{min-width:0}.profile__record-head>span:not(:first-child){text-align:right}.profile__record-n{text-align:right;font-weight:700}.profile__record-avg{text-align:right;color:var(--text-dim)}.profile__record-panel{flex-direction:column;display:flex}.profile__note{color:var(--text-dim);opacity:.8;margin:.7em 0 0;font-size:.82em}.profile__record-panel .profile__note{margin-top:auto;padding-top:.7em}.profile__elements{flex-direction:column;gap:.45em;margin:0;padding:0;list-style:none;display:flex}.profile__element{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.6em;font-size:.95em;display:grid}.profile__element-track{align-items:center;gap:.5em;min-width:0;padding:.25em .45em;display:flex;position:relative}.profile__element-bar{width:calc(12% + 88% * var(--share,0));border-left:2px solid var(--accent);border-radius:var(--radius);background:#ffffff12;position:absolute;inset:0 auto 0 0}.profile__element-track>:not(.profile__element-bar){z-index:1;position:relative}.profile__element-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.profile__element-count{font-variant-numeric:tabular-nums;font-weight:700}.profile__stats{grid-template-columns:repeat(6,minmax(0,1fr));gap:.9em 1.2em;margin:0;display:grid}@media (width<=62em){.profile__stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=34em){.profile__stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.profile__stat{min-width:0;margin:0}.profile__stat-label{text-transform:uppercase;letter-spacing:var(--tracking);color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:.75em;overflow:hidden}.profile__stat-value{font-variant-numeric:tabular-nums;margin:.1em 0 0;font-size:1.25em;font-weight:700;line-height:1.1}.profile__match-table{--col:calc(var(--ui-scale) * .92);font-variant-numeric:tabular-nums;font-size:.92em;overflow-x:auto}.profile__match-head,.profile__match-row{grid-template-columns:calc(var(--col) * 7.2) calc(var(--col) * 5) calc(var(--col) * 3.4) calc(var(--col) * 8) minmax(0, 1fr) calc(var(--col) * 4.2);white-space:nowrap;box-sizing:border-box;align-items:baseline;gap:.6em;padding:.3em .4em;display:grid}.profile__match-head{border-bottom:1px solid var(--line-strong);text-transform:uppercase;letter-spacing:var(--tracking);color:var(--text-dim);padding-top:0;padding-bottom:.35em;font-size:.78em;font-weight:600}.profile__match-list{flex-direction:column;gap:.1em;margin:0;padding:0;list-style:none;display:flex}.profile__match-row{border-radius:var(--radius)}.profile__match-row:nth-child(odd){background:#ffffff0a}.profile__match-date{color:var(--text-dim)}.profile__match-place{font-weight:600}.profile__match-time{color:var(--text-dim)}.profile__match-mode{align-items:baseline;gap:.4em;min-width:0;display:flex}.profile__match-elements{align-items:center;gap:.2em;min-width:0;display:flex;overflow:hidden}.profile__match-element{display:inline-flex}.profile__match-element .element-icon{width:1.15em;height:1.15em}.profile__match-watch{text-align:right}.widget__watch--disabled{color:var(--text-dim);cursor:help;text-decoration:none}.watch-link{pointer-events:auto;flex:none;display:inline-flex;position:relative}.watch-link__tip{white-space:normal;max-width:17rem;color:var(--text);font-weight:400;bottom:calc(100% + .4rem);right:0}.identity__profile{color:inherit;cursor:pointer;text-decoration:none}.identity__profile:hover{text-decoration:underline}.identity__profile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
