:root{--bg: #0d0f0c;--panel: rgba(18, 20, 16, .92);--panel-edge: #4a4a2a;--ink: #e6e2c8;--dim: #9a967c;--acid: #d8e14a;--warn: #ff6a3d;--ok: #7ee07a;--sel: #c8f05a;font-family:Segoe UI,system-ui,sans-serif;color:var(--ink)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);user-select:none}#app{position:fixed;inset:0}canvas.view{position:absolute;inset:0;width:100%;height:100%;display:block}canvas.overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}button{font:inherit;color:var(--ink);background:#2a2c1e;border:1px solid var(--panel-edge);padding:6px 12px;cursor:pointer}button:hover:not(:disabled){background:#3b3e26;border-color:var(--acid)}button:disabled{opacity:.4;cursor:default}input,select{font:inherit;color:var(--ink);background:#1a1c14;border:1px solid var(--panel-edge);padding:4px 6px}@font-face{font-family:Cinzel;font-weight:400 900;font-display:swap;src:url(./cinzel-DMUuCU8H.woff2) format("woff2")}@font-face{font-family:Barlow Condensed;font-weight:400;font-display:swap;src:url(./barlow-condensed-400-Dc2u_eUW.woff2) format("woff2")}@font-face{font-family:Barlow Condensed;font-weight:400;font-style:italic;font-display:swap;src:url(./barlow-condensed-400-italic-MTI4145n.woff2) format("woff2")}@font-face{font-family:Barlow Condensed;font-weight:500;font-display:swap;src:url(./barlow-condensed-500-BgYH2mbd.woff2) format("woff2")}@font-face{font-family:Barlow Condensed;font-weight:600;font-display:swap;src:url(./barlow-condensed-600-DepVgxBB.woff2) format("woff2")}.menu{--title-font: "Cinzel", serif;--ui-font: "Barlow Condensed", "Segoe UI", sans-serif;position:absolute;inset:0;background:#050506;font-family:var(--ui-font);font-size:17px}.menu-scene{position:absolute;inset:0;width:100%;height:100%;display:block}.menu-body{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:auto;background:radial-gradient(ellipse at 50% 45%,transparent 45%,rgba(0,0,0,.72) 100%)}.menu .card{width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;background:#060605e0;border:1px solid #3a352c;box-shadow:inset 0 0 0 4px #0a0908,0 20px 60px #000c;padding:24px 28px;margin:16px}.menu h2{margin:0 0 14px;font:700 26px var(--title-font);letter-spacing:.08em;color:#ece6d3}.menu .card button{font-weight:600;letter-spacing:.1em;text-transform:uppercase}.menu-body.letterbox{display:block}.lb-bar{position:absolute;left:0;right:0;background:#030303}.lb-top{top:0;height:13vh;display:flex;align-items:center;justify-content:center;box-shadow:0 1px #2a2620}.lb-bottom{bottom:0;height:19vh;display:flex;flex-direction:column;justify-content:center;box-shadow:0 -1px #2a2620}.lb-top h1{margin:0;font:700 6vh var(--title-font);letter-spacing:.08em;text-transform:uppercase;color:#c3c2b7;text-shadow:0 0 2px #000,0 6px 26px rgba(0,0,0,.9),0 0 60px rgba(216,225,74,.18);white-space:nowrap}.lb-top h1 b{font-weight:inherit;color:var(--acid);text-shadow:0 0 24px rgba(216,225,74,.45),0 4px 18px #000}.lb-crest{position:absolute;left:3vw;top:50%;width:4.5vh;height:4.5vh;transform:translateY(-50%);color:var(--acid)}.lb-crest svg{display:block;width:100%;height:100%}.lb-caption{position:absolute;left:50%;bottom:21vh;width:max-content;max-width:80vw;margin:0;transform:translate(-50%);text-align:center;font:italic 400 2.1vh var(--ui-font);letter-spacing:.03em;color:#ece6d3;text-shadow:0 2px 8px #000}.lb-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:1vh 3.2vw}.lb-actions button{padding:1vh .2vw;font:600 2.4vh var(--ui-font);letter-spacing:.16em;text-transform:uppercase;color:#9c928b;background:none;border:0;border-bottom:2px solid transparent}.lb-actions button:hover,.lb-actions button:focus-visible{color:#f6f8d0;background:none;border-bottom-color:var(--acid);text-shadow:0 0 14px rgba(216,225,74,.6);outline:none}.lb-build{position:absolute;right:2vw;bottom:1.4vh;margin:0;font-size:1.4vh;letter-spacing:.1em;color:#625148}.menu .row{display:flex;gap:10px;align-items:center;margin:8px 0;flex-wrap:wrap}.menu table{border-collapse:collapse;width:100%;margin:8px 0}.menu td,.menu th{padding:4px 6px;text-align:left;border-bottom:1px solid #2a2c1e}.menu th{color:var(--dim);font-weight:400}.menu .code{font-family:Consolas,monospace;font-size:26px;letter-spacing:4px;color:var(--acid)}.menu .note{color:var(--dim);font-size:13px}.menu .error{color:var(--warn)}.swatch{display:inline-block;width:12px;height:12px;margin-right:6px;vertical-align:middle}.help{columns:2;font-size:14px;line-height:1.5}.help b{color:var(--acid)}.modal{--house: #625148;--house-bright: #ae8778;--house-deep: #312c2b;--acid: var(--house-bright);position:absolute;inset:0;background:#040402a8;display:flex;align-items:center;justify-content:center;z-index:10;font-family:Bahnschrift,Segoe UI,system-ui,sans-serif;color:#d0c5b2}[style*=--house]>.modal{--house: inherit;--house-bright: inherit;--house-deep: inherit}.modal .card{position:relative;background:linear-gradient(180deg,#282523f7,#100f0dfa);border:1px solid #3a3532;border-top:3px solid var(--house);box-shadow:0 18px 50px #000000b3;padding:22px 28px;min-width:340px;max-width:calc(100vw - 32px)}.modal .card:before,.modal .card:after{content:"";position:absolute;width:12px;height:12px;border:0 solid var(--house-bright);pointer-events:none}.modal .card:before{top:-3px;left:-1px;border-width:2px 0 0 2px}.modal .card:after{bottom:-1px;right:-1px;border-width:0 2px 2px 0}.modal h2{margin:0 0 8px;font:700 24px Cinzel,serif;letter-spacing:.08em;color:#ece6d3}.modal .note{color:#9c928b;font-size:14px}.modal .buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.modal button{color:#d0c5b2;background:linear-gradient(#2e2b29,#1a1816);border:1px solid #3d3835;letter-spacing:.04em}.modal button:hover:not(:disabled){color:#ece6d3;background:linear-gradient(#3d3835,#24201d);border-color:var(--house-bright)}.modal input[type=range]{accent-color:var(--house-bright)}.modal table{border-collapse:collapse;margin-top:8px}.modal table td{padding:3px 12px 3px 0;border-bottom:1px solid #312c2b;font-variant-numeric:tabular-nums}.hud{--ui: 1;--c-d0: #040402;--c-d1: #252525;--c-d2: #312c2b;--c-m0: #595959;--c-m1: #625148;--c-m2: #9c928b;--c-l0: #c3c2b7;--c-l1: #d0c5b2;--c-l2: #ece6d3;--c-w0: #ae8778;--c-w1: #ab792f;--c-w2: #b44217;--c-warn: #e0643a;--c-ok: #9cc46a;--c-mid: #d0a040;--edge: #3a3532;--panel: linear-gradient(180deg, rgba(40, 37, 35, .95), rgba(16, 15, 13, .96));--house: #625148;--house-bright: #ae8778;--house-deep: #312c2b;--team: #9c928b;--season: #9c928b;--accent-h: 3px;--accent-bg: var(--house);position:absolute;inset:0;pointer-events:none;font-family:Bahnschrift,Segoe UI,system-ui,sans-serif;font-size:13px;color:var(--c-l1)}.hud>*{pointer-events:auto}.hud [hidden]{display:none!important}.hud-zoom{zoom:var(--ui)}.hud .icon{display:block;flex:none}.hud kbd{font:inherit;font-size:.85em;font-weight:600;padding:0 4px;border:1px solid var(--c-m0);border-bottom-width:2px;border-radius:2px;background:var(--c-d1);color:var(--c-l2)}.hud button{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}.hud .swatch{width:10px;height:10px;margin:0;background:var(--tc, var(--team));box-shadow:0 0 0 1px #040402cc}[data-season=acid]{--season: #c8c048}[data-season=veil]{--season: #b0a090}[data-season=winter]{--season: #a9c8e0}[data-season=thaw]{--season: #72b0a8}.hud .hp{position:relative;background:var(--panel);border:1px solid var(--edge)}.hud .hp:before,.hud .hp:after{content:"";position:absolute;width:10px;height:10px;pointer-events:none;border:0 solid var(--house-bright)}.hud .hp:before{top:-1px;left:-1px;border-width:2px 0 0 2px}.hud .hp:after{bottom:-1px;right:-1px;border-width:0 2px 2px 0}.hud[data-house=bushveld]{--accent-h: 4px;--accent-bg: repeating-linear-gradient(45deg, var(--house) 0 4px, var(--c-d0) 4px 8px)}.hud[data-house=bushveld] .hp{clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.hud[data-house=bushveld] .hp:before,.hud[data-house=bushveld] .hp:after{width:16px;height:16px;border:0;top:0;left:0;background:linear-gradient(135deg,transparent 6.5px,var(--house-bright) 6.5px 8.5px,transparent 8.5px)}.hud[data-house=bushveld] .hp:after{inset:auto 0 0 auto;background:linear-gradient(315deg,transparent 6.5px,var(--house-bright) 6.5px 8.5px,transparent 8.5px)}.hud[data-house=reef]{--accent-h: 5px;--accent-bg: linear-gradient(135deg, var(--house) 25%, transparent 25%) -5px 0 / 10px 10px, linear-gradient(225deg, var(--house) 25%, transparent 25%) -5px 0 / 10px 10px, linear-gradient(315deg, var(--house) 25%, transparent 25%) 0 0 / 10px 10px, linear-gradient(45deg, var(--house) 25%, transparent 25%) 0 0 / 10px 10px}.hud[data-house=reef] .hp:before,.hud[data-house=reef] .hp:after{width:13px;height:13px;border:0;--b: var(--house-bright);background:linear-gradient(var(--b),var(--b)) 0 0 / 13px 2px no-repeat,linear-gradient(var(--b),var(--b)) 0 0 / 2px 13px no-repeat,linear-gradient(var(--b),var(--b)) 4px 4px / 6px 2px no-repeat,linear-gradient(var(--b),var(--b)) 4px 4px / 2px 6px no-repeat}.hud[data-house=reef] .hp:after{transform:rotate(180deg)}.hud[data-house=highveld]{--accent-h: 6px;--accent-bg: linear-gradient(var(--house) 0 2px, transparent 2px 3px, var(--house) 3px 4px, transparent 4px 5px, var(--house) 5px 6px)}.hud[data-house=highveld] .hp{border-radius:6px}.hud[data-house=highveld] .hp:before{border-top-left-radius:6px}.hud[data-house=highveld] .hp:after{border-bottom-right-radius:6px}.hud[data-house=highveld] .card,.hud[data-house=highveld] .tile,.hud[data-house=highveld] .q{border-radius:4px}.hud[data-house=karoo]{--accent-h: 5px;--accent-bg: radial-gradient(circle, var(--house-bright) 1.6px, transparent 2.1px) 0 0 / 8px 5px}.hud[data-house=karoo] .hp:before,.hud[data-house=karoo] .hp:after{width:14px;height:8px;border:0;background:var(--house-bright);clip-path:polygon(0 0,100% 0,0 100%)}.hud[data-house=karoo] .hp:after{clip-path:polygon(100% 0,100% 100%,0 100%)}.hud .ops-h,.hud .hint-h,.hud .pop-h{border-left:3px solid var(--house);padding-left:6px}.hud-top{position:absolute;top:0;left:0;right:0;display:flex;align-items:stretch;gap:6px;padding:5px 8px 6px;background:linear-gradient(#040402f0,#141210e0);border-bottom:1px solid var(--edge);white-space:nowrap;container-type:inline-size}.hud-top:after{content:"";position:absolute;left:0;right:0;top:100%;height:var(--accent-h);background:var(--accent-bg);opacity:.8;pointer-events:none}.crest{display:flex;align-items:center;gap:9px;padding:3px 14px 3px 8px;color:var(--house-bright)}.crest-t{display:flex;flex-direction:column;line-height:1.15}.crest-t b{font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--c-l2)}.pname{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--c-m2);border-bottom:2px solid var(--team);padding-bottom:1px}.resbar{display:flex;gap:6px}.res{display:flex;align-items:center;gap:8px;padding:2px 12px 4px 9px;min-width:104px}.res .ri{color:var(--c-l0)}.res-sulfur .ri{color:#d8c040}.res-power .ri{color:var(--c-w0)}.res-bandwidth .ri{color:var(--c-m2)}.res .rt{display:flex;flex-direction:column;line-height:1.1}.res .rl{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--c-m2)}.res b{font-size:17px;font-weight:600;color:var(--c-l2);font-variant-numeric:tabular-nums}.res small{font-size:11px;color:var(--c-warn)}.res .rbar{position:absolute;left:9px;right:9px;bottom:3px;height:2px;background:var(--c-d0)}.res .rbar i{display:block;height:100%;background:var(--c-m2)}.res.warn .rbar i{background:var(--c-w1)}.res.bad b{color:var(--c-warn)}.res.bad .rbar i{background:var(--c-warn)}.res.bad{border-color:var(--c-w2)}.forecast{margin-left:auto;display:flex;align-items:center;gap:10px;padding:3px 10px}.fc-ico{color:var(--season)}.fc-main{display:flex;flex-direction:column;gap:4px;width:150px}.fc-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.fc-name{font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--c-l2)}.fc-left{font-variant-numeric:tabular-nums;color:var(--c-l0)}.fc-track{position:relative;height:5px;background:var(--c-d0);border:1px solid var(--c-d2)}.fc-track i{position:absolute;inset:0 auto 0 0;background:var(--season)}.fc-next{display:flex;align-items:center;gap:5px;padding-left:10px;border-left:1px solid var(--edge);color:var(--c-l0)}.fc-next .lbl,.chip .lbl{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--c-m2)}.forecast.soon .fc-next{color:var(--c-l2);animation:hud-blink 1s steps(2,start) infinite}.forecast.soon{border-color:var(--c-w1)}@keyframes hud-blink{50%{opacity:.55}}.fc-fx{display:flex;gap:4px}.chip{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:5px;padding:1px 7px 2px;min-width:66px;background:#0404028c;border:1px solid var(--c-d2);line-height:1.15}.chip .lbl{flex-basis:100%}.chip b{font-size:12.5px;font-weight:600;color:var(--c-l1)}.chip em{font-style:normal;font-size:10.5px;color:var(--c-m2)}.chip em.good{color:var(--c-ok)}.chip em.bad{color:var(--c-warn)}@container (max-width: 1640px){.chip{min-width:0}.crest{padding-right:8px}}@container (max-width: 1560px){.fc-fx{display:none}}@container (max-width: 1180px){.fc-next .lbl,.res .rl{display:none}}.sys{display:flex;align-items:center;gap:6px;padding-left:4px}.clock{min-width:50px;text-align:right;font-size:15px;font-variant-numeric:tabular-nums;color:var(--c-l0)}.hud .speed{font-size:12px;color:var(--c-m2)}.hud .speed.on{color:var(--c-w1);font-weight:600}.hud .sysbtn{height:30px;padding:0 10px;background:var(--c-d1);border:1px solid var(--edge);color:var(--c-l1)}.hud .sysbtn:hover{border-color:var(--house-bright);color:var(--c-l2)}.scalepop{position:absolute;top:50px;right:96px;display:flex;flex-direction:column;gap:2px;padding:8px;min-width:140px;z-index:6}.pop-h{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--c-m2);margin-bottom:4px}.hud .scalepop button{text-align:left;padding:4px 8px;border:1px solid transparent}.hud .scalepop button:hover{background:var(--c-d2)}.hud .scalepop button.on{border-color:var(--house-bright);color:var(--c-l2)}.hud-console{position:absolute;left:0;right:0;bottom:0;height:222px;display:flex;gap:6px;padding:7px 8px;background:linear-gradient(#141210eb,#040402f7);border-top:1px solid var(--edge)}.hud-console .accent{position:absolute;left:0;right:0;bottom:100%;height:var(--accent-h);background:var(--accent-bg);opacity:.8;pointer-events:none}.mm{flex:none;width:202px;height:202px}.minimap{display:block;width:200px;height:200px;cursor:crosshair}.mm-tools{position:absolute;left:-1px;bottom:calc(100% + 8px);display:flex;gap:4px}.hud .idle{display:flex;align-items:center;gap:5px;height:30px;padding:0 9px;background:var(--panel);border:1px solid var(--edge);color:var(--c-m2)}.hud .idle b{font-variant-numeric:tabular-nums}.hud .idle.has{color:var(--c-l2);border-color:var(--c-w1)}.hud .idle.has b{color:var(--c-w1)}.hud .idle:hover{border-color:var(--house-bright)}.hud-groups{position:absolute;left:224px;bottom:calc(100% + 8px);display:flex;pointer-events:none}.hud-groups>*{pointer-events:auto}.hud-feed{position:absolute;left:8px;bottom:calc(100% + 50px);width:460px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;pointer-events:none}.fe{display:flex;align-items:center;gap:7px;max-width:100%;padding:3px 9px 3px 6px;background:#040402bd;border-left:3px solid var(--c-m0);font-size:13px;color:var(--c-l1);animation:hud-feed-in .18s ease-out;transition:opacity .6s}@keyframes hud-feed-in{0%{opacity:0;transform:translate(-12px)}}.fe .fi{color:var(--c-l0)}.fe .fc{font-size:11px;font-variant-numeric:tabular-nums;color:var(--c-m2)}.fe .ft{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe.own{border-left-color:var(--team)}.fe.good .ft{color:var(--c-l2)}.fe.warn{border-left-color:var(--c-w2)}.fe.warn .ft,.fe.warn .fi{color:#f0a080}.fe.alert{background:#5a1808d1}.fe.info{border-left-color:var(--c-l0)}.fe.info .ft{color:var(--c-l2)}.fe.notice{border-left-color:var(--house-bright)}.fe.season{border-left-color:var(--season)}.fe.fade{opacity:0}.fe.go{pointer-events:auto;cursor:pointer}.fe.go:hover{background:#312c2beb}.fe .fgo{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--c-m2);border:1px solid var(--c-m0);padding:0 4px}.sel{flex:1;min-width:0;padding:10px 12px;overflow:hidden}.sel.one{display:flex;gap:14px}.portrait{position:relative;flex:none;width:86px;height:86px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 40%,#3a3532,#0c0b0a);border:1px solid var(--edge);border-bottom:3px solid var(--tc);color:var(--c-l1)}.hpbar{position:absolute;left:-1px;right:-1px;top:calc(100% + 5px);height:6px;background:var(--c-d0);border:1px solid var(--c-d2)}.hpbar i,.thp i{display:block;height:100%;background:var(--c-ok)}.hpbar i.mid,.thp i.mid{background:var(--c-mid)}.hpbar i.low,.thp i.low{background:var(--c-warn)}.s1{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.s1-head{display:flex;align-items:baseline;gap:4px 12px;flex-wrap:wrap}.s1-head b{font-size:18px;font-weight:600;letter-spacing:.03em;color:var(--c-l2)}.owner{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--c-m2)}.s1-hp{font-size:13px;font-variant-numeric:tabular-nums;color:var(--c-l0)}.s1-stats{display:flex;flex-wrap:wrap;gap:3px 16px}.st em{font-style:normal;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--c-m2);margin-right:6px}.st.acc{color:var(--c-w1)}.st.bad{color:var(--c-warn)}.s1-blurb{font-size:12px;color:var(--c-m2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s1-mech{display:flex;flex-direction:column;gap:1px;min-height:0;overflow:hidden;font-size:11.5px;line-height:1.3;color:var(--c-l0);cursor:help}.s1-mech .mk{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s1-mech .mk b,.tt-m b{font-weight:600;color:var(--house-bright)}.tt-m{display:flex;flex-direction:column;gap:.2em;margin-top:.35em;font-size:.94em}.s1-queue{display:flex;gap:4px;margin-top:auto}.hud .q{position:relative;width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:#1a1816;border:1px solid #3d3835;color:var(--c-l1)}.hud .q.first{border-color:var(--c-m2)}.hud .q.empty{background:#04040266;border:1px dashed #3a3532;pointer-events:none}.hud .q:hover{border-color:var(--c-warn)}.q .x{position:absolute;top:0;right:3px;font-size:13px;line-height:1;color:var(--c-warn);opacity:0}.hud .q:hover .x{opacity:1}.q .qbar{position:absolute;left:2px;right:2px;bottom:2px;height:3px;background:var(--c-d0)}.q .qbar i{display:block;height:100%;background:var(--c-l2)}.sm-head{display:flex;align-items:baseline;gap:12px;margin-bottom:7px;white-space:nowrap;overflow:hidden}.sm-head b{font-size:15px;font-weight:600;color:var(--c-l2)}.sm-head span{font-size:12px;color:var(--c-m2);overflow:hidden;text-overflow:ellipsis}.sm-grid{display:flex;flex-wrap:wrap;gap:3px}.hud .tile{position:relative;width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:#1a1816;border:1px solid var(--c-d2);color:var(--c-l1)}.hud .tile.own{box-shadow:inset 0 -2px 0 var(--tc)}.hud .tile:hover{border-color:var(--c-l0);color:var(--c-l2)}.thp{position:absolute;left:3px;right:3px;bottom:4px;height:3px;background:var(--c-d0)}.tn{position:absolute;top:1px;right:3px;font-size:11px;font-weight:600;color:var(--c-l2);text-shadow:0 1px 1px #000}.hint-h{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--c-m2);margin-bottom:8px}.hint ul{margin:0;padding:0;list-style:none;columns:2;column-gap:24px;font-size:12px;line-height:1.9;color:var(--c-m2)}.ops{flex:none;width:80px;padding:7px 9px;display:flex;flex-direction:column;gap:6px}.ops-h{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--house-bright)}.ops-grid{display:flex;flex-direction:column;gap:6px}.cardp{flex:none;padding:5px}.cards{display:grid;grid-template-columns:repeat(5,62px);grid-template-rows:repeat(3,62px);gap:4px}.hud .card{position:relative;width:62px;height:62px;display:flex;align-items:center;justify-content:center;background:linear-gradient(#2e2b29,#1a1816);border:1px solid #3d3835;color:var(--c-l1);overflow:hidden}.hud .card:hover:not(.off):not(.empty){border-color:var(--house-bright);background:linear-gradient(#3d3835,#24201d);color:var(--c-l2)}.hud .card:active:not(.off):not(.empty){transform:translateY(1px)}.hud .card.empty{background:#04040259;border-color:#24211f;cursor:default}.hud .card.off{color:var(--c-m0);cursor:default}.card .ci{display:flex;margin-top:-8px}.card.off .ci{opacity:.5}.card .hk{position:absolute;top:2px;left:4px;font-size:12px;font-weight:700;color:var(--c-w1);z-index:1}.card.off .hk{color:var(--c-m1)}.card .cn,.card.noicon .ci{display:none}.card.noicon .cn{display:block;position:absolute;left:3px;right:3px;top:16px;max-height:2.3em;overflow:hidden;font-size:10.5px;line-height:1.12;text-align:center}.card .cc{position:absolute;left:1px;right:1px;bottom:2px;display:flex;justify-content:center;gap:3px;font-size:11px;font-variant-numeric:tabular-nums;color:var(--c-l0)}.cc span,.tt-c span{display:flex;align-items:center;gap:1px}.cc .short,.tt-c .short{color:var(--c-warn)}.cc .icon{width:10px;height:10px}.hud .card.cool:after{content:"";position:absolute;inset:0;background:conic-gradient(rgba(4,4,2,.72) calc(var(--cd, 0) * 360deg),transparent 0);pointer-events:none}.card .rb{position:absolute;top:2px;right:2px;padding:0 3px;font-size:9px;font-weight:700;line-height:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--c-l2);background:#963214d9;z-index:1}.card .rb:empty{display:none}.hud .card.soft{border-color:#d0a0408c}.card.soft .rb{color:var(--c-d0);background:var(--c-mid)}.card .cd{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:var(--c-l2);text-shadow:0 1px 2px #000;pointer-events:none;z-index:2}.hud-tip{position:fixed;left:0;top:0;max-width:calc(340px * var(--ui));padding:.6em .8em;font-size:calc(13px * var(--ui));line-height:1.38;color:var(--c-l1);background:#0e0d0cf7;border:1px solid var(--c-m1);border-top:2px solid var(--house-bright);box-shadow:0 6px 18px #0000008c;pointer-events:none;z-index:20}.tt-h{display:flex;align-items:center;gap:.45em;margin-bottom:.25em}.tt-h b{font-size:1.08em;font-weight:600;color:var(--c-l2)}.tt-h kbd,.tt-h .tt-k{margin-left:auto}.tt-k{font-size:.9em;color:var(--c-m2)}.tt-d{margin-top:.2em;font-size:.92em;color:var(--c-m2)}.tt-c{display:flex;gap:.9em;margin-top:.4em}.tt-w{margin-top:.25em;color:var(--c-warn)}.tt-n{margin-top:.25em;color:var(--c-mid)}.hud-tip hr{border:0;border-top:1px solid var(--c-d2);margin:.55em 0}.banner{position:absolute;left:50%;top:16%;transform:translate(-50%);min-width:480px;padding:14px 48px 16px;text-align:center;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(4,4,2,.8) 18%,rgba(4,4,2,.8) 82%,transparent);text-shadow:0 2px 6px #000;transition:opacity .3s}.banner[data-season]{background:linear-gradient(90deg,transparent,var(--season) 30%,var(--season) 70%,transparent) top / 100% 2px no-repeat,linear-gradient(90deg,transparent,var(--season) 30%,var(--season) 70%,transparent) bottom / 100% 2px no-repeat,linear-gradient(90deg,transparent,rgba(4,4,2,.82) 18%,rgba(4,4,2,.82) 82%,transparent)}.banner[data-season=acid]:before,.banner[data-season=veil]:before,.banner[data-season=winter]:before,.banner[data-season=thaw]:before{content:"";position:absolute;inset:2px 15%;opacity:.18;pointer-events:none}.banner[data-season=acid]:before{background:repeating-linear-gradient(105deg,transparent 0 9px,var(--season) 9px 10px)}.banner[data-season=veil]:before{background:radial-gradient(ellipse at 50% 0%,var(--season),transparent 70%)}.banner[data-season=winter]:before{background:linear-gradient(var(--season),transparent 60%)}.banner[data-season=thaw]:before{background:linear-gradient(transparent 55%,var(--season))}.banner>*{position:relative}.b-ico{display:flex;justify-content:center;margin-bottom:4px;color:var(--season)}.b-kick{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--season)}.banner .big{font-size:36px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--c-l2)}.banner .small{max-width:560px;margin:4px auto 0;font-size:15px;color:var(--c-l1)}.b-fx{display:flex;justify-content:center;gap:6px;margin-top:10px;text-shadow:none}.b-fx .chip{text-align:left}.waiting{position:absolute;left:50%;top:66px;transform:translate(-50%);padding:6px 14px;background:#0e0d0cf2;border:1px solid var(--c-w2);color:var(--c-l2)}.loading{position:absolute;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 40%,#16130f,#050506 75%);font-family:Barlow Condensed,Segoe UI,sans-serif;font-size:17px;color:#e6e2c8;transition:opacity .4s}.loading.out{opacity:0;pointer-events:none}.loading .card{width:min(760px,calc(100vw - 32px));background:#060605e0;border:1px solid #3a352c;box-shadow:inset 0 0 0 4px #0a0908,0 20px 60px #000c;padding:24px 28px}.loading h1{margin:0 0 4px;font:700 28px Cinzel,serif;letter-spacing:.08em;color:#ece6d3}.loading .map{color:#9a967c;margin-bottom:18px}.loading .seat{display:grid;grid-template-columns:14px minmax(0,1.2fr) minmax(0,1.2fr) minmax(0,2fr) 64px;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid #1d1b16}.loading .swatch{width:14px;height:14px;box-shadow:0 0 0 1px #000}.loading .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loading .house{color:#9a967c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loading .track{height:8px;background:#15130f;border:1px solid #2c2820}.loading .bar{height:100%;width:0;background:#b8a050;transition:width .25s}.loading .bar.done{background:#7ee07a}.loading .state{text-align:right;color:#9a967c;font-variant-numeric:tabular-nums}.loading .stage{margin-top:16px;color:#d8e14a}.loading .tip{margin-top:8px;color:#9a967c;font-style:italic}@media(max-width:560px){.loading .seat{grid-template-columns:14px 1fr 64px}.loading .house,.loading .track{display:none}}
