:root{--ui-bg: #0b0c0f;--ui-ink: #e7e9ee;--ui-muted: #8a8f99;--ui-hair: rgba(231, 233, 238, .12);--ui-hair-strong: rgba(231, 233, 238, .28);--ui-accent: #d8a24a;--ui-accent-rgb: 216, 162, 74;--ui-accent-hi: #e6b85f;--ui-accent-ink: #0b0c0f;--ui-accent-soft: rgba(var(--ui-accent-rgb), .14);--ui-accent-glow: rgba(var(--ui-accent-rgb), .5);--ui-surface: #121317;--ui-surface-2: #191b21;--ui-danger: #d38a7a;--ui-danger-soft: rgba(211, 138, 122, .14);--ui-ok: #9cc3a6;--ui-ok-soft: rgba(156, 195, 166, .14);--ui-warn: #d3b37a;--ui-scrim: rgba(5, 6, 8, .72);--ui-font-title: "Oswald", "Arial Narrow", system-ui, sans-serif;--ui-font-body: system-ui, -apple-system, "Segoe UI", sans-serif;--ui-fs-xs: 10px;--ui-fs-sm: 11px;--ui-fs-md: 12px;--ui-fs-base: 13px;--ui-fs-lg: 15px;--ui-fs-xl: 18px;--ui-fs-2xl: 22px;--ui-fs-hero: clamp(28px, 4vw, 44px);--ui-track-1: .04em;--ui-track-2: .1em;--ui-track-3: .16em;--ui-track-4: .22em;--ui-sp-1: 4px;--ui-sp-2: 8px;--ui-sp-3: 12px;--ui-sp-4: 16px;--ui-sp-5: 24px;--ui-sp-6: 36px;--ui-sp-7: 56px;--ui-radius: 0;--ui-hairline: 1px solid var(--ui-hair);--ui-shadow: 0 16px 48px rgba(0, 0, 0, .55);--ui-t-fast: .18s;--ui-t-med: .28s;--ui-ease: cubic-bezier(.16, .84, .3, 1);--ui-ease-out: cubic-bezier(.4, 0, .6, 1);--ui-z-view: 100;--ui-z-drawer: 120;--ui-z-floating: 125;--ui-z-modal: 130;--ui-z-loading: 160;--ui-z-popover: 140;--ui-z-toast: 200;--ui-ctl-h: 38px;--ui-ctl-h-lg: 48px;--ui-ctl-h-sm: 30px;--ui-focus: 0 0 0 1px var(--ui-accent);--ui-glass: rgba(18, 19, 23, .74);--ui-glass-2: rgba(25, 27, 33, .82);--ui-glass-blur: 3px;--ui-z-hud: 40;--ui-font-mono: "SF Mono", Menlo, Consolas, monospace;--ui-hp: #b8474a;--ui-sp: #7fa587}.ui-veil{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(120% 90% at 50% 40%,transparent 50%,rgba(0,0,0,.55) 100%)}.ui-title{margin:0;color:var(--ui-ink);font:500 var(--ui-fs-2xl)/1.1 var(--ui-font-title);letter-spacing:var(--ui-track-2);text-transform:uppercase}.ui-title--hero{font-size:var(--ui-fs-hero);font-weight:600;letter-spacing:var(--ui-track-3)}.ui-kicker{margin:0;color:var(--ui-muted);font:400 var(--ui-fs-sm)/1.4 var(--ui-font-body);letter-spacing:var(--ui-track-4);text-transform:uppercase}.ui-label{color:var(--ui-muted);font:500 var(--ui-fs-xs)/1 var(--ui-font-title);letter-spacing:var(--ui-track-3);text-transform:uppercase}.ui-body{margin:0;color:var(--ui-ink);font:400 var(--ui-fs-base)/1.5 var(--ui-font-body)}.ui-muted{color:var(--ui-muted)}.ui-num{font-variant-numeric:tabular-nums}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--ui-sp-2);box-sizing:border-box;min-height:var(--ui-ctl-h);margin:0;padding:0 var(--ui-sp-4);border:1px solid transparent;border-radius:var(--ui-radius);background:transparent;color:var(--ui-ink);font:500 var(--ui-fs-sm)/1 var(--ui-font-title);letter-spacing:var(--ui-track-3);text-transform:uppercase;text-decoration:none;white-space:nowrap;cursor:pointer;user-select:none;-webkit-user-select:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;box-shadow:none;text-shadow:none;filter:none;transform:none;clip-path:none;transition:color var(--ui-t-fast),background-color var(--ui-t-fast),border-color var(--ui-t-fast)}.ui-btn:hover,.ui-btn:active,.ui-btn:focus{filter:none;transform:none;box-shadow:none}.ui-btn:focus-visible{outline:1px solid var(--ui-accent);outline-offset:3px;box-shadow:none}.ui-btn:disabled,.ui-btn[aria-disabled=true]{opacity:.4;cursor:default;pointer-events:none}.ui-btn.hidden{display:none}.ui-btn--primary{background:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-accent-ink)}.ui-btn--primary:hover{background:var(--ui-accent-hi);border-color:var(--ui-accent-hi)}.ui-btn--primary:active{background:var(--ui-accent)}.ui-btn--ghost{border-color:var(--ui-hair-strong);color:var(--ui-ink)}.ui-btn--ghost:hover{border-color:var(--ui-accent);color:var(--ui-ink);background:var(--ui-accent-soft)}.ui-btn--quiet{color:var(--ui-muted)}.ui-btn--quiet:hover{color:var(--ui-ink)}.ui-btn--link{min-height:0;padding:var(--ui-sp-2) var(--ui-sp-3);border:0;border-bottom:1px solid var(--ui-hair);color:var(--ui-muted);font-size:var(--ui-fs-xs);letter-spacing:.14em}.ui-btn--link:hover{color:var(--ui-ink);border-color:var(--ui-accent)}.ui-btn--danger{border-color:var(--ui-danger);color:var(--ui-danger)}.ui-btn--danger:hover{background:var(--ui-danger-soft)}.ui-btn--danger.armed{background:var(--ui-danger);color:var(--ui-accent-ink)}.ui-btn--icon{width:34px;min-height:34px;padding:0;letter-spacing:0;font:400 var(--ui-fs-lg)/1 var(--ui-font-body);color:var(--ui-muted)}.ui-btn--icon:hover{color:var(--ui-ink);background:var(--ui-surface-2)}.ui-btn--icon.ui-btn--ghost{border-color:var(--ui-hair-strong)}.ui-btn--lg{min-height:var(--ui-ctl-h-lg);padding:0 var(--ui-sp-6);font-size:var(--ui-fs-base);letter-spacing:var(--ui-track-4)}.ui-btn--sm{min-height:var(--ui-ctl-h-sm);padding:0 var(--ui-sp-3);font-size:var(--ui-fs-xs)}.ui-btn--block{display:flex;width:100%}.ui-btn[aria-pressed=true],.ui-btn.is-active{border-color:var(--ui-accent);color:var(--ui-ink);background:var(--ui-accent-soft)}.ui-btn--toggle{position:relative}.ui-btn--toggle[aria-pressed=true]{background:transparent;border-color:var(--ui-accent);padding-left:calc(var(--ui-sp-3) + 12px)}.ui-btn--toggle[aria-pressed=true]:before{content:"";position:absolute;left:var(--ui-sp-3);top:50%;width:5px;height:5px;transform:translateY(-50%);background:var(--ui-accent)}.ui-panel{box-sizing:border-box;padding:var(--ui-sp-5);border:var(--ui-hairline);border-radius:var(--ui-radius);background:var(--ui-surface);color:var(--ui-ink);box-shadow:none;clip-path:none}.ui-panel--tight{padding:var(--ui-sp-4)}.ui-panel--flush{padding:0}.ui-panel__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--ui-sp-3);margin:0 0 var(--ui-sp-4)}.ui-panel__title{margin:0;color:var(--ui-ink);font:500 var(--ui-fs-lg)/1.1 var(--ui-font-title);letter-spacing:var(--ui-track-2);text-transform:uppercase}.ui-divider{height:1px;margin:var(--ui-sp-4) 0;border:0;background:var(--ui-hair)}.ui-section-head{display:flex;align-items:center;gap:var(--ui-sp-3);margin:0 0 var(--ui-sp-2);color:var(--ui-muted);font:500 var(--ui-fs-xs)/1 var(--ui-font-title);letter-spacing:var(--ui-track-3);text-transform:uppercase}.ui-section-head:after{content:"";flex:1;height:1px;background:var(--ui-hair)}.ui-section-head__count{color:var(--ui-ink);font-variant-numeric:tabular-nums}.ui-section-head--toggle{cursor:pointer}.ui-section-head--toggle:before{content:"";width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);transition:transform var(--ui-t-fast)}.collapsed>.ui-section-head--toggle:before{transform:rotate(-45deg)}.ui-field{display:flex;flex-direction:column;gap:var(--ui-sp-2);margin:0;min-width:0}.ui-field__label{color:var(--ui-muted);font:500 var(--ui-fs-xs)/1 var(--ui-font-title);letter-spacing:var(--ui-track-3);text-transform:uppercase}.ui-field__hint{margin:0;color:var(--ui-muted);font:400 var(--ui-fs-md)/1.4 var(--ui-font-body)}.ui-input,.ui-select,.ui-textarea{box-sizing:border-box;width:100%;min-height:var(--ui-ctl-h);margin:0;padding:0 var(--ui-sp-3);border:1px solid var(--ui-hair);border-radius:var(--ui-radius);background:var(--ui-bg);color:var(--ui-ink);font:400 var(--ui-fs-base)/1.3 var(--ui-font-body);letter-spacing:0;box-shadow:none;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:border-color var(--ui-t-fast),background-color var(--ui-t-fast)}.ui-textarea{min-height:96px;padding:var(--ui-sp-3);resize:vertical}.ui-input::placeholder,.ui-textarea::placeholder{color:var(--ui-muted);opacity:.7}.ui-input:hover,.ui-select:hover,.ui-textarea:hover{border-color:var(--ui-hair-strong)}.ui-input:focus,.ui-select:focus,.ui-textarea:focus{border-color:var(--ui-accent);background:var(--ui-surface);box-shadow:none;outline:none}.ui-input:disabled,.ui-select:disabled,.ui-textarea:disabled{opacity:.4}.ui-input[aria-invalid=true],.ui-textarea[aria-invalid=true]{border-color:var(--ui-danger)}.ui-select{padding-right:32px;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%238a8f99' stroke-width='1.2'/></svg>");background-repeat:no-repeat;background-position:right 12px center}.ui-select option{background:var(--ui-surface);color:var(--ui-ink)}.ui-input-row{display:flex;gap:var(--ui-sp-2)}.ui-input-row>.ui-input{flex:1}.ui-slider{width:100%;height:20px;margin:0;padding:0;background:transparent;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;outline:none}.ui-slider::-webkit-slider-runnable-track{height:2px;background:var(--ui-hair)}.ui-slider::-moz-range-track{height:2px;background:var(--ui-hair);border:0}.ui-slider::-moz-range-progress{height:2px;background:var(--ui-accent)}.ui-slider::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:12px;height:12px;margin-top:-5px;border:0;border-radius:0;background:var(--ui-accent);transition:background-color var(--ui-t-fast)}.ui-slider::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:0;background:var(--ui-accent)}.ui-slider:hover::-webkit-slider-thumb,.ui-slider:focus-visible::-webkit-slider-thumb{background:var(--ui-accent-hi)}.ui-slider:disabled{opacity:.4;cursor:default}.ui-slider-row{display:grid;grid-template-columns:minmax(96px,1fr) 2fr 4ch;align-items:center;gap:var(--ui-sp-3)}.ui-slider-row__label{color:var(--ui-ink);font:400 var(--ui-fs-base)/1.2 var(--ui-font-body)}.ui-slider-row__value{color:var(--ui-muted);text-align:right;font:500 var(--ui-fs-md)/1 var(--ui-font-title);font-variant-numeric:tabular-nums}.ui-toggle{position:relative;display:inline-block;flex:0 0 auto;width:36px;height:18px;margin:0;padding:0;border:1px solid var(--ui-hair-strong);border-radius:var(--ui-radius);background:transparent;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;box-shadow:none;filter:none;transition:border-color var(--ui-t-fast),background-color var(--ui-t-fast)}.ui-toggle:after{content:"";position:absolute;top:3px;left:3px;width:10px;height:10px;background:var(--ui-muted);transition:transform var(--ui-t-fast) var(--ui-ease),background-color var(--ui-t-fast)}.ui-toggle:hover{border-color:var(--ui-accent)}.ui-toggle:focus-visible{outline:none;box-shadow:var(--ui-focus)}.ui-toggle.on,.ui-toggle[aria-checked=true]{border-color:var(--ui-accent);background:var(--ui-accent-soft)}.ui-toggle.on:after,.ui-toggle[aria-checked=true]:after{transform:translate(18px);background:var(--ui-accent)}.ui-toggle:disabled{opacity:.4;cursor:default}.ui-switch-row{display:flex;align-items:center;justify-content:space-between;gap:var(--ui-sp-3);min-height:var(--ui-ctl-h)}.ui-switch-row__label{color:var(--ui-ink);font:400 var(--ui-fs-base)/1.2 var(--ui-font-body)}.ui-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}.ui-row{display:flex;align-items:center;gap:var(--ui-sp-3);box-sizing:border-box;width:100%;min-height:52px;margin:0;padding:var(--ui-sp-2) var(--ui-sp-3);border:1px solid transparent;border-bottom-color:var(--ui-hair);border-radius:var(--ui-radius);background:transparent;color:var(--ui-ink);text-align:left;font:400 var(--ui-fs-base)/1.3 var(--ui-font-body);letter-spacing:0;text-transform:none;box-shadow:none;filter:none;transform:none;clip-path:none;cursor:default;transition:background-color var(--ui-t-fast),border-color var(--ui-t-fast)}.ui-list>.ui-row:last-child{border-bottom-color:transparent}.ui-row--click{cursor:pointer}.ui-row--click:hover,.ui-row--click:focus-visible{background:var(--ui-surface-2);border-color:var(--ui-hair-strong);outline:none}.ui-row.is-selected,.ui-row.active{border-color:var(--ui-accent);background:var(--ui-accent-soft)}.ui-row.is-disabled{opacity:.45;cursor:default}.ui-row__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.ui-row__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ui-ink);font:500 var(--ui-fs-lg)/1.1 var(--ui-font-title);letter-spacing:var(--ui-track-1)}.ui-row__sub{color:var(--ui-muted);font:400 var(--ui-fs-md)/1.3 var(--ui-font-body)}.ui-row__aside{flex:0 0 auto;display:flex;align-items:center;gap:var(--ui-sp-2)}.ui-row__actions{flex:0 0 auto;display:flex;gap:var(--ui-sp-1);opacity:0;transition:opacity var(--ui-t-fast)}.ui-row:hover .ui-row__actions,.ui-row:focus-within .ui-row__actions{opacity:1}.ui-row__chev{color:var(--ui-muted);font:400 var(--ui-fs-lg)/1 var(--ui-font-body)}.ui-row--click:hover .ui-row__chev{color:var(--ui-accent)}.ui-tabs{display:flex;gap:var(--ui-sp-4);margin:0;padding:0;border-bottom:var(--ui-hairline);list-style:none}.ui-tab{position:relative;display:inline-flex;align-items:center;gap:var(--ui-sp-2);margin:0 0 -1px;padding:var(--ui-sp-3) 0;border:0;border-bottom:1px solid transparent;border-radius:0;background:transparent;color:var(--ui-muted);cursor:pointer;font:500 var(--ui-fs-xs)/1 var(--ui-font-title);letter-spacing:var(--ui-track-3);text-transform:uppercase;box-shadow:none;filter:none;transform:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:color var(--ui-t-fast),border-color var(--ui-t-fast)}.ui-tab:hover{color:var(--ui-ink);filter:none;transform:none}.ui-tab:focus-visible{outline:none;color:var(--ui-ink)}.ui-tab.active,.ui-tab.is-active,.ui-tab[aria-selected=true]{color:var(--ui-ink);border-bottom-color:var(--ui-accent)}.ui-tabs--fill .ui-tab{flex:1;justify-content:center}.ui-badge{display:inline-flex;align-items:center;gap:6px;box-sizing:border-box;height:20px;padding:0 8px;border:1px solid var(--ui-hair-strong);border-radius:var(--ui-radius);color:var(--ui-muted);background:transparent;font:500 var(--ui-fs-xs)/1 var(--ui-font-title);letter-spacing:var(--ui-track-2);text-transform:uppercase;white-space:nowrap}.ui-badge:before{content:"";width:5px;height:5px;background:currentColor}.ui-badge--plain:before{display:none}.ui-badge--accent{color:var(--ui-accent);border-color:var(--ui-accent);background:var(--ui-accent-soft)}.ui-badge--ok{color:var(--ui-ok);border-color:var(--ui-ok);background:var(--ui-ok-soft)}.ui-badge--warn{color:var(--ui-warn);border-color:var(--ui-warn)}.ui-badge--danger{color:var(--ui-danger);border-color:var(--ui-danger);background:var(--ui-danger-soft)}.ui-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;box-sizing:border-box;border:1px solid var(--ui-accent);color:var(--ui-accent);background:var(--ui-accent-soft);font:500 var(--ui-fs-xs)/1 var(--ui-font-title);font-variant-numeric:tabular-nums}.ui-count.hidden{display:none}.ui-avatar{position:relative;flex:0 0 auto;display:block;width:38px;height:38px;box-sizing:border-box;border:1px solid var(--ui-hair-strong);border-radius:var(--ui-radius);background:var(--ui-surface-2) center / cover no-repeat;overflow:visible}.ui-avatar--sm{width:28px;height:28px}.ui-avatar--lg{width:64px;height:64px}.ui-avatar--xl{width:88px;height:88px}.ui-avatar[data-status]:after{content:"";position:absolute;right:-4px;bottom:-4px;width:9px;height:9px;box-sizing:border-box;border:2px solid var(--ui-bg);background:var(--ui-muted)}.ui-avatar[data-status=online]:after{background:var(--ui-ok)}.ui-avatar[data-status=in_game]:after{background:var(--ui-accent)}.ui-avatar[data-status=away]:after{background:var(--ui-warn)}.ui-avatar[data-status=offline]:after{background:var(--ui-muted);opacity:.6}.ui-empty{padding:var(--ui-sp-5) var(--ui-sp-4);text-align:center;color:var(--ui-muted);font:400 var(--ui-fs-md)/1.5 var(--ui-font-body)}.ui-msg{margin:0;min-height:1em;color:var(--ui-muted);font:400 var(--ui-fs-md)/1.4 var(--ui-font-body)}.ui-msg.ok{color:var(--ui-ok)}.ui-msg.error,.ui-msg.err{color:var(--ui-danger)}.ui-spinner{display:inline-block;width:6px;height:6px;background:var(--ui-accent);animation:mPulse 1.2s ease-in-out infinite}@keyframes mPulse{0%,to{opacity:.3}50%{opacity:1}}.ui-tip{position:relative}.ui-tip:after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 6px);transform:translate(-50%);padding:5px 8px;border:var(--ui-hairline);background:var(--ui-surface);color:var(--ui-ink);font:400 var(--ui-fs-md)/1.2 var(--ui-font-body);letter-spacing:0;text-transform:none;white-space:nowrap;box-shadow:var(--ui-shadow);opacity:0;pointer-events:none;z-index:var(--ui-z-floating);transition:opacity var(--ui-t-fast)}.ui-tip:hover:after,.ui-tip:focus-visible:after{opacity:1}.ui-menu{position:absolute;z-index:var(--ui-z-floating);min-width:180px;margin:0;padding:var(--ui-sp-1) 0;border:var(--ui-hairline);background:var(--ui-surface);box-shadow:var(--ui-shadow);list-style:none}.ui-menu.hidden{display:none}.ui-menu--top{position:fixed;z-index:var(--ui-z-popover)}.ui-menu__item{display:flex;align-items:center;gap:var(--ui-sp-2);width:100%;box-sizing:border-box;margin:0;padding:0 var(--ui-sp-3);min-height:34px;border:0;border-radius:0;background:transparent;color:var(--ui-ink);text-align:left;cursor:pointer;font:400 var(--ui-fs-base)/1 var(--ui-font-body);letter-spacing:0;text-transform:none;box-shadow:none;filter:none;transform:none;-moz-appearance:none;appearance:none;-webkit-appearance:none}.ui-menu__item:hover,.ui-menu__item:focus-visible{background:var(--ui-surface-2);outline:none;filter:none;transform:none}.ui-menu__item.danger{color:var(--ui-danger)}.ui-menu__sep{height:1px;margin:var(--ui-sp-1) 0;background:var(--ui-hair)}.ui-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--ui-z-modal);display:grid;place-items:center;padding:var(--ui-sp-4);box-sizing:border-box;background:var(--ui-scrim);opacity:0;transition:opacity var(--ui-t-med) var(--ui-ease-out)}.ui-modal.hidden{display:none}.ui-modal.is-open{opacity:1}.ui-modal__card{position:relative;box-sizing:border-box;width:min(480px,100%);max-height:calc(100dvh - 2 * var(--ui-sp-4));display:flex;flex-direction:column;overflow:hidden;border:var(--ui-hairline);border-radius:var(--ui-radius);background:var(--ui-surface);color:var(--ui-ink);box-shadow:var(--ui-shadow);clip-path:none;transform:translateY(10px);opacity:0;transition:transform var(--ui-t-med) var(--ui-ease),opacity var(--ui-t-med) var(--ui-ease-out)}.ui-modal.is-open .ui-modal__card{transform:none;opacity:1}.ui-modal__card:focus{outline:none}.ui-modal--sm .ui-modal__card{width:min(360px,100%)}.ui-modal--lg .ui-modal__card{width:min(760px,100%)}.ui-modal__head{display:flex;align-items:center;gap:var(--ui-sp-3);flex:0 0 auto;padding:var(--ui-sp-4) var(--ui-sp-4) var(--ui-sp-3) var(--ui-sp-5);border-bottom:var(--ui-hairline)}.ui-modal__title{flex:1;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ui-ink);font:500 var(--ui-fs-xl)/1.1 var(--ui-font-title);letter-spacing:var(--ui-track-2);text-transform:uppercase}.ui-modal__body{flex:1 1 auto;min-height:0;overflow:auto;padding:var(--ui-sp-5)}.ui-modal__body>*+*{margin-top:var(--ui-sp-4)}.ui-modal__foot{display:flex;align-items:center;justify-content:flex-end;gap:var(--ui-sp-2);flex:0 0 auto;padding:var(--ui-sp-3) var(--ui-sp-5) var(--ui-sp-4);border-top:var(--ui-hairline)}.ui-modal__foot--split{justify-content:space-between}.ui-modal--drawer{place-items:stretch end;padding:0}.ui-modal--drawer .ui-modal__card{width:min(420px,100vw);height:100dvh;max-height:none;border-top:0;border-bottom:0;border-right:0;transform:translate(24px)}.ui-modal--drawer.is-open .ui-modal__card{transform:none}@media (max-width: 560px){.ui-modal{padding:0;place-items:end stretch}.ui-modal__card,.ui-modal--sm .ui-modal__card,.ui-modal--lg .ui-modal__card{width:100%;max-height:92dvh;border-left:0;border-right:0;border-bottom:0;transform:translateY(16px)}.ui-modal--drawer .ui-modal__card{height:92dvh}}.ui-toast-stack{position:fixed;top:78px;right:18px;z-index:var(--ui-z-toast);display:flex;flex-direction:column;gap:var(--ui-sp-2);pointer-events:none}.ui-toast{display:flex;align-items:center;gap:var(--ui-sp-3);min-width:220px;max-width:320px;box-sizing:border-box;padding:var(--ui-sp-3) var(--ui-sp-4);border:var(--ui-hairline);border-left:2px solid var(--ui-accent);border-radius:var(--ui-radius);background:var(--ui-surface);color:var(--ui-ink);box-shadow:var(--ui-shadow);font:400 var(--ui-fs-base)/1.35 var(--ui-font-body);animation:mToastIn var(--ui-t-med) var(--ui-ease)}.ui-toast--ok{border-left-color:var(--ui-ok)}.ui-toast--err{border-left-color:var(--ui-danger)}.ui-toast__ico{flex:0 0 auto;font:500 var(--ui-fs-md)/1 var(--ui-font-title);color:var(--ui-muted)}.ui-toast--ok .ui-toast__ico{color:var(--ui-ok)}.ui-toast--err .ui-toast__ico{color:var(--ui-danger)}.ui-toast.leaving{animation:mToastOut .22s var(--ui-ease-out) forwards}@keyframes mToastIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes mToastOut{to{opacity:0;transform:translate(12px)}}@media (max-width: 560px){.ui-toast-stack{top:auto;bottom:18px;left:18px;right:18px}.ui-toast{max-width:none}}.ui-panel--glass{background:var(--ui-glass);backdrop-filter:blur(var(--ui-glass-blur));-webkit-backdrop-filter:blur(var(--ui-glass-blur))}.ui-dock{position:fixed;top:50%;transform:translateY(-50%);z-index:var(--ui-z-modal);display:flex;flex-direction:column;width:min(420px,calc(100vw - 32px));max-height:min(720px,calc(100dvh - 32px));border:var(--ui-hairline);border-radius:var(--ui-radius);background:var(--ui-glass);color:var(--ui-ink);backdrop-filter:blur(var(--ui-glass-blur));-webkit-backdrop-filter:blur(var(--ui-glass-blur));box-shadow:var(--ui-shadow)}.ui-dock.hidden{display:none}.ui-dock--left{left:24px}.ui-dock--right{right:24px}.ui-dock--center{left:50%;transform:translate(-50%,-50%)}.ui-dock--tall{top:16px;bottom:16px;max-height:none;transform:none}.ui-dock--tall.collapsed{bottom:auto}.ui-dock__head{display:flex;align-items:center;gap:var(--ui-sp-3);flex:0 0 auto;padding:var(--ui-sp-3) var(--ui-sp-3) var(--ui-sp-3) var(--ui-sp-4);border-bottom:var(--ui-hairline)}.ui-dock__title{flex:1;min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ui-ink);font:500 var(--ui-fs-lg)/1.1 var(--ui-font-title);letter-spacing:var(--ui-track-2);text-transform:uppercase}.ui-dock__body{flex:1 1 auto;min-height:0;overflow:auto;padding:var(--ui-sp-3) var(--ui-sp-4) var(--ui-sp-4)}.ui-dock__body>*+*{margin-top:var(--ui-sp-3)}.ui-dock__foot{flex:0 0 auto;display:flex;align-items:center;gap:var(--ui-sp-2);padding:var(--ui-sp-3) var(--ui-sp-4);border-top:var(--ui-hairline)}.ui-dock.collapsed .ui-dock__body,.ui-dock.collapsed .ui-dock__foot{display:none}.ui-kbd{display:inline-grid;place-items:center;min-width:22px;height:21px;padding:0 5px;box-sizing:border-box;border:1px solid var(--ui-hair-strong);border-radius:var(--ui-radius);background:var(--ui-glass);color:var(--ui-ink);font:500 var(--ui-fs-xs)/1 var(--ui-font-title);letter-spacing:var(--ui-track-1);text-transform:uppercase}.ui-stat{display:flex;flex-direction:column;gap:var(--ui-sp-2);padding:var(--ui-sp-3) 0;border-bottom:var(--ui-hairline)}.ui-stat:last-child{border-bottom:0}.ui-stat__top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--ui-sp-3)}.ui-stat__label{color:var(--ui-muted);font:500 var(--ui-fs-xs)/1 var(--ui-font-title);letter-spacing:var(--ui-track-3);text-transform:uppercase}.ui-stat__value{display:inline-flex;align-items:baseline;gap:var(--ui-sp-2);color:var(--ui-ink);font:500 var(--ui-fs-lg)/1 var(--ui-font-title);font-variant-numeric:tabular-nums}.ui-stat__cur{color:var(--ui-ink)}.ui-stat__next{color:var(--ui-accent)}.ui-stat__next:before{content:"→";margin-right:var(--ui-sp-2);color:var(--ui-muted)}.ui-stat__row{display:flex;align-items:center;justify-content:space-between;gap:var(--ui-sp-3)}.ui-stat__row>.ui-btn,.ui-stat__row>.ui-stat__steps{flex:0 0 auto}.ui-stat__sub{color:var(--ui-muted);font:400 var(--ui-fs-md)/1.3 var(--ui-font-body)}.ui-stat.is-max .ui-stat__next,.ui-stat.is-max .ui-btn{display:none}.ui-stat .ui-btn--sm{min-width:0}.ui-stat__cost{color:var(--ui-muted);font-variant-numeric:tabular-nums}.ui-stat--step .ui-stat__steps{display:inline-flex;align-items:center;gap:var(--ui-sp-1)}.ui-stat--step .ui-stat__steps .ui-btn--icon{width:28px;min-height:28px}.ui-meter{display:inline-flex;align-items:center;flex:0 1 auto;min-width:0;flex-wrap:nowrap;gap:4px;overflow:hidden}.ui-meter__base{margin-right:var(--ui-sp-1);color:var(--ui-muted);font:500 var(--ui-fs-xs)/1 var(--ui-font-title);letter-spacing:var(--ui-track-3);text-transform:uppercase}.ui-meter__count{margin-right:var(--ui-sp-2);color:var(--ui-ink);font:500 var(--ui-fs-sm)/1 var(--ui-font-mono);font-variant-numeric:tabular-nums}@media (max-width: 560px){.ui-meter{gap:2px}.ui-meter i{width:6px;height:6px}}.ui-meter i{display:block;width:8px;height:8px;box-sizing:border-box;border:1px solid var(--ui-hair-strong);background:transparent}.ui-meter i.on{background:var(--ui-ink);border-color:var(--ui-ink)}.ui-meter i.next{border-color:var(--ui-accent);background:var(--ui-accent-soft);animation:uiNext 1.4s ease-in-out infinite}@keyframes uiNext{0%,to{opacity:.45}50%{opacity:1}}.ui-pips{display:inline-flex;gap:3px}.ui-pips i{display:block;width:6px;height:6px;box-sizing:border-box;border:1px solid var(--ui-hair-strong)}.ui-pips i.on{background:var(--ui-accent);border-color:var(--ui-accent)}@media (prefers-reduced-motion: reduce){.ui-modal,.ui-modal__card,.ui-toast,.ui-toggle:after,.ui-row,.ui-btn{transition-duration:.01ms;animation-duration:.01ms}.ui-spinner,.ui-meter i.next{animation:none;opacity:1}}#game-loading{--ld-exit-ms: .46s;position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--ui-z-loading);isolation:isolate;overflow:hidden;display:grid;place-items:center;padding:28px;color:var(--ui-ink);background:var(--ui-bg);pointer-events:auto;opacity:0;transition:opacity var(--ld-exit-ms) var(--ui-ease-out)}#game-loading.hidden{display:none}#game-loading.is-active{opacity:1;transition-duration:.22s}#game-loading.is-leaving{opacity:0;pointer-events:none}.ld-veil{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(120% 90% at 50% 40%,transparent 50%,rgba(0,0,0,.55) 100%)}.ld-content{position:relative;width:min(560px,calc(100vw - 40px));text-align:center;opacity:0;transform:translateY(10px);transition:opacity .5s .04s ease,transform .6s .04s var(--ui-ease)}#game-loading.is-active .ld-content{opacity:1;transform:none}.ld-map-box{width:min(520px,70vw);margin:0 auto 26px;border:var(--ui-hairline);background:var(--ui-surface);box-shadow:var(--ui-shadow);transform-origin:50% 50%;transition:transform var(--ld-exit-ms) cubic-bezier(.55,0,.7,.4)}#game-loading.is-leaving .ld-map-box{transform:scale(2.6)}.ld-map{display:block;width:100%}.ld-title{margin:0;color:var(--ui-ink);font:500 clamp(22px,3vw,30px)/1.1 var(--ui-font-title);letter-spacing:var(--ui-track-2);text-indent:var(--ui-track-2);text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ld-sub{margin:6px 0 20px;color:var(--ui-muted);font:400 var(--ui-fs-sm)/1.4 var(--ui-font-body);letter-spacing:var(--ui-track-4);text-indent:var(--ui-track-4);text-transform:uppercase;min-height:15px}.ld-stages{display:flex;justify-content:center;gap:22px;margin:0 0 16px;padding:0;list-style:none;font:500 var(--ui-fs-xs)/1 var(--ui-font-title);letter-spacing:var(--ui-track-3);text-transform:uppercase}.ld-stage{position:relative;padding-left:14px;color:var(--ui-muted);opacity:.55;transition:color .25s ease,opacity .25s ease}.ld-stage:before{content:"";position:absolute;left:0;top:50%;width:7px;height:7px;margin-top:-4px;border-radius:50%;border:1px solid currentColor;box-sizing:border-box;transition:background-color .25s ease,border-color .25s ease,transform .25s ease}.ld-stage[data-state=active]{color:var(--ui-ink);opacity:1}.ld-stage[data-state=active]:before{border-color:var(--ui-accent);animation:ldPulse 1.2s ease-in-out infinite}.ld-stage[data-state=done]{color:var(--ui-ink);opacity:.8}.ld-stage[data-state=done]:before{background:var(--ui-accent);border-color:var(--ui-accent)}.ld-status-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:min(360px,80vw);margin:0 auto 8px}.ld-status{margin:0;min-height:16px;color:var(--ui-muted);text-align:left;font:400 var(--ui-fs-md)/1.4 var(--ui-font-body);letter-spacing:var(--ui-track-1)}.ld-pct{color:var(--ui-ink);font:500 var(--ui-fs-base)/1 var(--ui-font-title);letter-spacing:var(--ui-track-1);font-variant-numeric:tabular-nums;min-width:3ch;text-align:right}.ld-pct:empty:after{content:"·";color:var(--ui-accent);animation:ldPulse 1.2s ease-in-out infinite}.ld-bar{position:relative;width:min(360px,80vw);height:2px;margin:0 auto;overflow:hidden;background:var(--ui-hair)}.ld-bar-fill{position:absolute;top:0;right:0;bottom:0;left:0;transform:scaleX(0);transform-origin:0 50%;background:var(--ui-accent)}#game-loading[data-progress=indeterminate] .ld-bar-fill{width:40%;transform:translate(-110%);transform-origin:center;animation:ldSweep 1.4s ease-in-out infinite}.ld-actions{display:flex;justify-content:center;gap:18px;margin-top:22px}.ld-actions button{margin:0;padding:8px 12px;border:0;border-bottom:1px solid var(--ui-hair);border-radius:0;color:var(--ui-muted);background:transparent;font:500 var(--ui-fs-xs)/1.2 var(--ui-font-title);letter-spacing:.14em;text-transform:uppercase;box-shadow:none;filter:none;transform:none;transition:color var(--ui-t-fast),border-color var(--ui-t-fast)}.ld-actions button.hidden{display:none}.ld-actions button:hover{color:var(--ui-ink);border-color:var(--ui-accent);filter:none;transform:none}.ld-stalled-hint{display:none;margin:14px 0 0;color:var(--ui-muted);font:400 var(--ui-fs-md)/1.5 var(--ui-font-body)}#game-loading.is-slow .ld-status{color:var(--ui-ink)}#game-loading.is-waiting .ld-status,#game-loading.is-reconnecting .ld-status{animation:ldPulse 1.6s ease-in-out infinite}#game-loading.is-stalled .ld-status{color:var(--ui-danger);animation:none}#game-loading.is-stalled .ld-stalled-hint{display:block}#game-loading.is-stalled .ld-stage[data-state=active]:before{animation:none}@keyframes ldPulse{0%,to{opacity:.35}50%{opacity:1}}@keyframes ldSweep{0%{transform:translate(-110%)}55%,to{transform:translate(360%)}}@media (max-width: 560px){#game-loading{padding:20px}.ld-map-box{width:min(520px,86vw)}.ld-stages{gap:14px;letter-spacing:var(--ui-track-2)}}@media (prefers-reduced-motion: reduce){#game-loading,.ld-content,.ld-map-box{transition-duration:.01ms;transition-delay:0s}#game-loading.is-leaving .ld-map-box{transform:none}.ld-stage:before,.ld-status,.ld-pct:empty:after{animation:none}#game-loading[data-progress=indeterminate] .ld-bar-fill{width:38%;transform:translate(82%);animation:none}}#lobby{--home-flash: 0;--home-lamp: .7;position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--ui-z-view);isolation:isolate;overflow:hidden;display:flex;flex-direction:column;background:var(--ui-bg);color:var(--ui-ink);font:400 var(--ui-fs-base)/1.5 var(--ui-font-body)}#lobby.hidden{display:none}.shell-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;width:100%;height:100%;pointer-events:none;opacity:.7;transition:opacity var(--ui-t-med) var(--ui-ease)}#lobby:not([data-view=home]) .shell-backdrop{opacity:.35}.shell-top{position:relative;z-index:3;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--ui-sp-4);min-height:56px;padding:0 clamp(20px,4vw,48px);border-bottom:var(--ui-hairline)}.shell-brand{margin:0;padding:var(--ui-sp-2) 0;border:0;border-radius:0;background:transparent;color:var(--ui-ink);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;font:500 var(--ui-fs-base)/1 var(--ui-font-title);letter-spacing:var(--ui-track-4);text-transform:uppercase;box-shadow:none;filter:none;transform:none;transition:color var(--ui-t-fast),opacity var(--ui-t-fast)}.shell-brand:hover{color:var(--ui-accent);filter:none;transform:none;border-color:transparent}.shell-brand:focus-visible{outline:none;box-shadow:var(--ui-focus)}#lobby[data-view=home] .shell-brand{opacity:0;pointer-events:none}.shell-actions{display:flex;align-items:center;gap:var(--ui-sp-3)}.shell-player{position:relative}.shell-guest{width:180px;min-height:34px}.shell-guest.hidden{display:none}.shell-chip{position:relative;display:inline-flex;align-items:center;gap:var(--ui-sp-3);box-sizing:border-box;min-height:40px;margin:0;padding:0 var(--ui-sp-3) 0 var(--ui-sp-1);border:1px solid transparent;border-radius:var(--ui-radius);background:transparent;color:var(--ui-ink);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;text-align:left;font:400 var(--ui-fs-base)/1.2 var(--ui-font-body);letter-spacing:0;text-transform:none;box-shadow:none;filter:none;transform:none;transition:border-color var(--ui-t-fast),background-color var(--ui-t-fast)}.shell-chip:hover,.shell-chip[aria-expanded=true]{border-color:var(--ui-hair-strong);background:var(--ui-surface);filter:none;transform:none}.shell-chip:focus-visible{outline:none;box-shadow:var(--ui-focus)}.shell-chip.hidden{display:none}.shell-chip__text{display:flex;flex-direction:column;gap:2px;min-width:0}.shell-chip__name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 var(--ui-fs-base)/1.1 var(--ui-font-title);letter-spacing:var(--ui-track-1)}.shell-chip__sub{color:var(--ui-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:500 var(--ui-fs-xs)/1.1 var(--ui-font-title);letter-spacing:var(--ui-track-2);text-transform:uppercase}.shell-chip__sub:empty{display:none}.shell-chip__caret{color:var(--ui-muted);font-size:var(--ui-fs-xs);transition:transform var(--ui-t-fast),color var(--ui-t-fast)}.shell-chip[aria-expanded=true] .shell-chip__caret{color:var(--ui-accent);transform:rotate(180deg)}.shell-chip__count{position:absolute;right:-6px;top:-6px}.shell-chip__count.whisper{color:var(--ui-ok);border-color:var(--ui-ok);background:var(--ui-ok-soft)}.shell-stage{position:relative;z-index:1;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:clamp(24px,5vh,64px) 24px}#lobby:not([data-view=home]) .shell-stage{align-items:flex-start;padding-top:clamp(24px,6vh,56px)}.menu-view{display:none;width:min(720px,94vw);max-height:88vh;overflow:auto;animation:menuViewIn var(--ui-t-med) var(--ui-ease)}.menu-view[data-view=home]{width:min(1080px,95vw);overflow:visible}.menu-view[data-view=play]{width:min(1240px,96vw)}.menu-view[data-view=create]{width:min(760px,96vw)}#lobby[data-view=home] .menu-view[data-view=home],#lobby[data-view=play] .menu-view[data-view=play],#lobby[data-view=create] .menu-view[data-view=create]{display:block}@keyframes menuViewIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.shell-msg{position:absolute;left:var(--ui-sp-5);right:var(--ui-sp-5);bottom:var(--ui-sp-3);text-align:center;pointer-events:none}.shell-foot{position:relative;z-index:3;flex:0 0 auto;display:flex;align-items:center;gap:var(--ui-sp-5);min-height:44px;padding:0 clamp(20px,4vw,48px);border-top:var(--ui-hairline);color:var(--ui-muted);font:500 var(--ui-fs-xs)/1 var(--ui-font-title);letter-spacing:var(--ui-track-2);text-transform:uppercase}.shell-foot__item{display:inline-flex;align-items:center;gap:var(--ui-sp-2)}.shell-foot__item b{color:var(--ui-ink);font-weight:500}.shell-foot__dot{width:5px;height:5px;background:var(--ui-ok)}.shell-foot__item.is-off .shell-foot__dot{background:var(--ui-danger)}.shell-foot__ver{margin-left:auto}.home{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 var(--ui-sp-5)}.home-kicker{margin:0 0 var(--ui-sp-3)}.home-wordmark{margin:0;font-size:clamp(52px,8vw,104px);line-height:.95;letter-spacing:clamp(.08em,.7vw,.16em);text-indent:clamp(.08em,.7vw,.16em);color:color-mix(in srgb,var(--ui-ink),#fff calc(var(--home-flash) * 100%));text-shadow:0 8px 34px rgba(0,0,0,.82),0 0 calc(var(--home-flash) * 48px) rgba(231,233,238,calc(var(--home-flash) * .9)),6px 10px 28px rgba(var(--ui-accent-rgb),calc(var(--home-lamp) * .22));user-select:none;-webkit-user-select:none}.home-kicker,.home-tag{color:color-mix(in srgb,var(--ui-muted),var(--ui-ink) calc(var(--home-flash) * 100%))}.home-tag{margin:var(--ui-sp-3) 0 0}.home-menu{display:flex;flex-direction:column;align-items:stretch;width:280px;margin:clamp(32px,6vh,56px) 0 0}.home-menu__item{position:relative;margin:0;padding:var(--ui-sp-2) 0 var(--ui-sp-2) 18px;border:0;border-radius:0;background:transparent;color:var(--ui-muted);text-align:left;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;user-select:none;-webkit-user-select:none;font:500 var(--ui-fs-sm)/1.2 var(--ui-font-title);letter-spacing:var(--ui-track-3);text-transform:uppercase;box-shadow:none;filter:none;transform:none;transition:color var(--ui-t-fast) var(--ui-ease),padding-left var(--ui-t-fast) var(--ui-ease)}.home-menu__item:before{content:"";position:absolute;left:0;top:50%;width:3px;height:14px;background:var(--ui-accent);transform:translateY(-50%) scaleY(0);transition:transform var(--ui-t-fast) var(--ui-ease)}.home-menu__item:hover,.home-menu__item:focus-visible{color:var(--ui-ink);padding-left:24px;outline:none}.home-menu__item:hover:before,.home-menu__item:focus-visible:before{transform:translateY(-50%) scaleY(1)}.home-menu__item--primary{padding:var(--ui-sp-2) 0 var(--ui-sp-2) 24px;margin-bottom:var(--ui-sp-3);font-size:clamp(22px,2.4vw,30px);line-height:1.1;letter-spacing:var(--ui-track-4);color:color-mix(in srgb,var(--ui-accent),#fff calc(var(--home-flash) * 70%))}.home-menu__item--primary:before{width:4px;height:.8em;transform:translateY(-50%) scaleY(1);transition:height var(--ui-t-fast) var(--ui-ease)}.home-menu__item--primary:hover,.home-menu__item--primary:focus-visible{color:var(--ui-accent-hi);padding-left:30px}.home-menu__item--primary:hover:before,.home-menu__item--primary:focus-visible:before{height:1.1em}.home>*{animation:homeRise var(--ui-t-med) var(--ui-ease) both}.home>:nth-child(2){animation-delay:.05s}.home>:nth-child(3){animation-delay:.1s}.home>:nth-child(4){animation-delay:.16s}.home-menu__item{animation:homeRise var(--ui-t-med) var(--ui-ease) both}.home-menu__item:nth-child(1){animation-delay:.2s}.home-menu__item:nth-child(2){animation-delay:.26s}.home-menu__item:nth-child(3){animation-delay:.31s}.home-menu__item:nth-child(4){animation-delay:.36s}@keyframes homeRise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.home-portrait{position:absolute;left:max(16px,calc(var(--home-portrait-cx, 14%) - 144px));top:50%;transform:translateY(-50%);z-index:1;display:none;margin:0;padding:0;cursor:pointer;user-select:none;-webkit-user-select:none}#lobby[data-view=home] .home-portrait{display:block;animation:homePortraitIn var(--ui-t-med) var(--ui-ease) both;animation-delay:.28s}.home-portrait:focus-visible{outline:none}@keyframes homePortraitIn{0%{opacity:0}to{opacity:1}}.home-portrait__canvas{display:block;image-rendering:pixelated}.home-portrait__name{position:absolute;left:50%;transform:translate(-50%,-100%);white-space:nowrap;pointer-events:none;font:400 14px/1.2 system-ui,-apple-system,Segoe UI,sans-serif;color:#ffe6c0;text-shadow:0 1px 2px rgba(0,0,0,.7)}@media (max-width: 1100px){.home-portrait,#lobby[data-view=home] .home-portrait{display:none}}@media (max-width: 900px){.shell-chip__name{max-width:110px}}@media (max-width: 560px){.shell-top{min-height:48px;padding:0 var(--ui-sp-4)}.shell-guest{width:130px}.shell-chip__text,.shell-chip__caret{display:none}.shell-foot{gap:var(--ui-sp-3);padding:0 var(--ui-sp-4);font-size:9px}.home-menu{width:min(320px,86vw)}}@media (prefers-reduced-motion: reduce){.menu-view,.home>*,.home-menu__item,.home-portrait{animation:none}.home-menu__item,.home-menu__item:before{transition:none}}.view-head{display:flex;align-items:center;gap:var(--ui-sp-4);margin:0 0 var(--ui-sp-5);padding:0 0 var(--ui-sp-3);border-bottom:var(--ui-hairline)}.view-head__title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.view-head__actions{display:flex;align-items:center;gap:var(--ui-sp-2)}.rooms-list{max-height:70vh;overflow:auto}.rooms-row{min-height:60px}.rooms-row.is-full,.rooms-row.is-locked:not(.is-rejoin){opacity:.45}.rooms-row.is-rejoin{border-color:var(--ui-accent)}.rooms-row__sub{display:inline-flex;align-items:center;gap:var(--ui-sp-2)}.rooms-row__id{font-variant-numeric:tabular-nums}.rooms-row__players{display:flex;flex-direction:column;align-items:flex-end;gap:3px;min-width:64px}.rooms-row__count{color:var(--ui-ink);font:500 var(--ui-fs-lg)/1 var(--ui-font-title);font-variant-numeric:tabular-nums}.rooms-row__count b{font-weight:500}.rooms-row__count span{color:var(--ui-muted)}.rooms-row__plabel{color:var(--ui-muted);font:500 var(--ui-fs-xs)/1 var(--ui-font-title);letter-spacing:var(--ui-track-3);text-transform:uppercase}.rooms-row .ui-row__aside{gap:var(--ui-sp-4)}.rooms-row .ui-badge{min-width:78px;justify-content:center}.create-panel{width:min(600px,100%);margin:0 auto;display:flex;flex-direction:column;gap:var(--ui-sp-5)}.create-hint{display:flex;align-items:center;gap:var(--ui-sp-3);width:100%;box-sizing:border-box;margin:0;padding:var(--ui-sp-3) var(--ui-sp-4);border:var(--ui-hairline);border-left:2px solid var(--ui-accent);border-radius:var(--ui-radius);background:var(--ui-accent-soft);color:var(--ui-ink);text-align:left;cursor:pointer;font:400 var(--ui-fs-base)/1.4 var(--ui-font-body);letter-spacing:0;text-transform:none;box-shadow:none;filter:none;transform:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:border-color var(--ui-t-fast),background-color var(--ui-t-fast)}.create-hint:hover{border-color:var(--ui-accent);filter:none;transform:none}.create-hint[hidden]{display:none}.create-hint__arrow{margin-left:auto;color:var(--ui-accent);font-size:var(--ui-fs-lg)}.create-modes>.create-mode:first-child{border-top-color:var(--ui-hair)}.create-mode{padding-left:var(--ui-sp-4)}.create-mode[hidden]{display:none}.create-mode__radio{flex:0 0 auto;width:12px;height:12px;box-sizing:border-box;border:1px solid var(--ui-hair-strong);border-radius:50%;transition:border-color var(--ui-t-fast),box-shadow var(--ui-t-fast)}.create-mode.is-active{border-color:var(--ui-accent);background:var(--ui-accent-soft)}.create-mode.is-active .create-mode__radio{border-color:var(--ui-accent);box-shadow:inset 0 0 0 3px var(--ui-accent)}.create-mode .ui-row__title{display:inline-flex;align-items:center;gap:var(--ui-sp-2);white-space:normal}.create-mode:focus-visible{outline:1px solid var(--ui-accent);outline-offset:-1px}.create-actions{display:flex;justify-content:flex-end;gap:var(--ui-sp-2);padding-top:var(--ui-sp-4);border-top:var(--ui-hairline)}.create-actions .ui-btn{min-width:150px}.adv .ui-modal__body{padding:0;display:grid;grid-template-columns:190px minmax(0,1fr);min-height:0}.adv .ui-modal__card{height:min(760px,calc(100dvh - 2 * var(--ui-sp-4)))}.adv-nav{overflow-y:auto;padding:var(--ui-sp-2) 0;border-right:var(--ui-hairline)}.adv-nav-item{display:block;width:100%;box-sizing:border-box;margin:0;padding:var(--ui-sp-3) var(--ui-sp-4);border:0;border-left:2px solid transparent;border-radius:0;background:transparent;color:var(--ui-muted);text-align:left;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;font:500 var(--ui-fs-xs)/1.3 var(--ui-font-title);letter-spacing:var(--ui-track-2);text-transform:uppercase;box-shadow:none;filter:none;transform:none;transition:color var(--ui-t-fast),border-color var(--ui-t-fast),background-color var(--ui-t-fast)}.adv-nav-item:hover{color:var(--ui-ink);background:var(--ui-surface-2);filter:none;transform:none}.adv-nav-item.active{color:var(--ui-ink);border-left-color:var(--ui-accent);background:var(--ui-accent-soft)}.adv-content{overflow-y:auto;padding:var(--ui-sp-2) var(--ui-sp-5) var(--ui-sp-4)}.adv-group.hidden{display:none}.adv-section{margin:var(--ui-sp-4) 0 0}.adv-section .ui-section-head{width:100%;margin:0;padding:0 0 var(--ui-sp-2);border:0;background:transparent;-moz-appearance:none;appearance:none;-webkit-appearance:none;box-shadow:none;filter:none;transform:none}.adv-section.collapsed .adv-rows{display:none}.adv-row{display:grid;grid-template-columns:minmax(0,1fr) 116px;align-items:center;gap:var(--ui-sp-4);min-height:48px;padding:var(--ui-sp-2) 0;border-bottom:var(--ui-hairline)}.adv-row:last-child{border-bottom:0}.adv-row-label{min-width:0;display:flex;flex-direction:column;gap:3px;color:var(--ui-ink);font:400 var(--ui-fs-base)/1.25 var(--ui-font-body)}.adv-row-hint{color:var(--ui-muted);font:400 var(--ui-fs-md)/1.4 var(--ui-font-body)}.adv-row-control{justify-self:end;display:flex;justify-content:flex-end;width:116px}.adv-num{text-align:right;font-variant-numeric:tabular-nums;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.adv-num::-webkit-outer-spin-button,.adv-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}@media (max-width: 900px){.adv .ui-modal__body{grid-template-columns:150px minmax(0,1fr)}}@media (max-width: 560px){.view-head{flex-wrap:wrap;gap:var(--ui-sp-2) var(--ui-sp-3)}.view-head__actions{width:100%;justify-content:flex-end}.rooms-row .ui-row__aside{gap:var(--ui-sp-2)}.rooms-row__players{display:none}.rooms-row .ui-badge{min-width:0}.create-actions .ui-btn{min-width:0;flex:1}.adv .ui-modal__body{grid-template-columns:1fr}.adv-nav{display:flex;overflow-x:auto;padding:0;border-right:0;border-bottom:var(--ui-hairline)}.adv-nav-item{width:auto;white-space:nowrap;border-left:0;border-bottom:2px solid transparent}.adv-nav-item.active{border-bottom-color:var(--ui-accent)}}.social .ui-modal__card{padding:0}.social-hero{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--ui-sp-3);padding:var(--ui-sp-4) var(--ui-sp-4) var(--ui-sp-4) var(--ui-sp-5);border-bottom:var(--ui-hairline)}.social-hero__main{min-width:0;display:flex;flex-direction:column;gap:var(--ui-sp-2);align-items:flex-start}.social-hero__name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 var(--ui-fs-xl)/1.1 var(--ui-font-title);letter-spacing:var(--ui-track-1)}.social-hero__actions{display:inline-flex;align-items:center;gap:var(--ui-sp-1);align-self:start}.social-menu{top:56px;right:var(--ui-sp-4)}.social-tabs{margin:0;padding:0 var(--ui-sp-4)}.social-search{position:relative;display:block;margin:var(--ui-sp-3) var(--ui-sp-4) 0}.social-search .ui-input{padding-right:40px}.social-search__clear{position:absolute;right:2px;top:2px;width:34px;min-height:34px}.social-msg{margin:var(--ui-sp-2) var(--ui-sp-4) 0}.social-msg:empty{display:none}.social-body{flex:1 1 auto;min-height:0;overflow:auto;padding:var(--ui-sp-2) var(--ui-sp-4) var(--ui-sp-4)}.social-results{display:none;padding-top:var(--ui-sp-3)}.social.is-searching .social-results{display:block}.social.is-searching .tab-panel,.tab-panel.hidden{display:none}.social-group{padding-top:var(--ui-sp-3)}.social-group__head{width:100%;margin:0;padding:0 0 var(--ui-sp-1);border:0;background:transparent;-moz-appearance:none;appearance:none;-webkit-appearance:none;box-shadow:none;filter:none;transform:none}.social-group.collapsed .ui-list{display:none}.social-section{padding-top:var(--ui-sp-3)}.social-section.hidden{display:none}.friend-row{min-height:54px;padding-left:var(--ui-sp-2);padding-right:var(--ui-sp-2)}.friend-sub[data-status=online]{color:var(--ui-ok)}.friend-sub[data-status=in_game]{color:var(--ui-accent)}.friend-sub[data-status=away]{color:var(--ui-warn)}.friend-row .ui-count{margin-left:var(--ui-sp-1)}@media (max-width: 560px){.social-hero{padding:var(--ui-sp-3) var(--ui-sp-3) var(--ui-sp-3) var(--ui-sp-4)}.social-tabs,.social-search,.social-msg{margin-left:var(--ui-sp-3);margin-right:var(--ui-sp-3);padding-left:0;padding-right:0}.social-tabs{padding:0 var(--ui-sp-3);margin:0}.social-body{padding:var(--ui-sp-2) var(--ui-sp-3) var(--ui-sp-4)}}.social-main{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.social.is-chat .social-main{display:none}.social-chat{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.social-chat.hidden{display:none}.chat-head{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:var(--ui-sp-3);padding:var(--ui-sp-3) var(--ui-sp-4) var(--ui-sp-3) var(--ui-sp-3);border-bottom:var(--ui-hairline)}.chat-peer{min-width:0;display:flex;flex-direction:column;gap:3px}.chat-peer__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 var(--ui-fs-lg)/1.1 var(--ui-font-title);letter-spacing:var(--ui-track-1)}.chat-peer__status{color:var(--ui-muted);font:400 var(--ui-fs-md)/1.2 var(--ui-font-body)}.chat-messages{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--ui-sp-2);padding:var(--ui-sp-4)}.chat-messages .ui-empty{margin:auto}.chat-bubble{position:relative;max-width:80%;box-sizing:border-box;padding:var(--ui-sp-2) var(--ui-sp-3);border:var(--ui-hairline);border-radius:var(--ui-radius);word-break:break-word;color:var(--ui-ink);font:400 var(--ui-fs-base)/1.5 var(--ui-font-body)}.chat-bubble.them{align-self:flex-start;background:var(--ui-surface-2)}.chat-bubble.me{align-self:flex-end;background:var(--ui-accent-soft);border-color:var(--ui-accent)}.cb-time{display:block;margin-top:3px;color:var(--ui-muted);font:500 var(--ui-fs-xs)/1 var(--ui-font-title);letter-spacing:var(--ui-track-1)}.chat-input{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--ui-sp-2);padding:var(--ui-sp-3) var(--ui-sp-4) var(--ui-sp-4);border-top:var(--ui-hairline)}.chat-send{width:44px;padding:0;font-size:var(--ui-fs-lg);letter-spacing:0}.char .ui-modal__card{width:min(820px,100%)}.char-body{display:grid;grid-template-columns:280px minmax(0,1fr);gap:var(--ui-sp-5);align-items:start}.char-stage{position:relative;display:flex;align-items:center;justify-content:center;gap:var(--ui-sp-2);box-sizing:border-box;padding:var(--ui-sp-6) var(--ui-sp-2) var(--ui-sp-4);border:var(--ui-hairline);background:var(--ui-bg)}.char-stage__label{position:absolute;top:var(--ui-sp-3);left:var(--ui-sp-3)}.char-stage canvas{image-rendering:pixelated;width:196px;height:196px;display:block}.char-groups{display:flex;flex-direction:column;min-width:0}.char-groups__panel{min-width:0}.char-panel__head{display:flex;align-items:center;gap:var(--ui-sp-3);padding:var(--ui-sp-3) 0 var(--ui-sp-2)}.char-panel__hint{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ui-muted);font:400 var(--ui-fs-md)/1.3 var(--ui-font-body)}.char-fields{display:flex;flex-direction:column}.char-field{display:grid;grid-template-columns:minmax(96px,.7fr) minmax(0,1.3fr);align-items:center;gap:var(--ui-sp-3);min-height:46px;padding:var(--ui-sp-2) 0;border-bottom:var(--ui-hairline)}.char-field:last-child{border-bottom:0}.char-field.is-disabled{opacity:.35}.char-field.is-disabled :is(button,select){cursor:not-allowed}.char-swatches{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ui-sp-2)}.char-swatch{width:22px;height:22px;box-sizing:border-box;margin:0;padding:0;border:1px solid var(--ui-hair-strong);border-radius:var(--ui-radius);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;box-shadow:none;filter:none;transform:none;transition:border-color var(--ui-t-fast),outline-color var(--ui-t-fast)}.char-swatch:hover{border-color:var(--ui-ink);filter:none;transform:none}.char-swatch.active{border-color:var(--ui-accent);outline:1px solid var(--ui-accent);outline-offset:2px}.char-swatch:focus-visible{outline:1px solid var(--ui-ink);outline-offset:2px}.char-swatch:disabled{cursor:not-allowed}.char-field .ui-select{min-height:32px}@media (max-width: 560px){.char-body{grid-template-columns:1fr;gap:var(--ui-sp-4)}.char-stage{padding:var(--ui-sp-6) var(--ui-sp-2) var(--ui-sp-3)}.char-stage canvas{width:160px;height:160px}.char .ui-tabs{overflow-x:auto}.char .ui-tab{flex:0 0 auto;padding-left:var(--ui-sp-2);padding-right:var(--ui-sp-2)}.char .ui-modal__foot .ui-btn{flex:1;min-width:0;padding:0 var(--ui-sp-2)}}.settings-grid{display:flex;flex-direction:column;gap:var(--ui-sp-3)}.settings-grid .ui-divider{margin:var(--ui-sp-2) 0}.settings-voice{margin-top:var(--ui-sp-3)}.donate-body.hidden,.donate-amount.hidden,.donate-checkout.hidden,.donate-loading.hidden,.donate-thanks.hidden{display:none}.donate-view{display:flex;flex-direction:column;gap:var(--ui-sp-3)}.donate-view .ui-body+.ui-body{margin-top:0}.donate-chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ui-sp-2)}.donate-custom{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--ui-sp-2)}.donate-custom .ui-field__label{grid-column:1 / -1}.donate-custom__currency{color:var(--ui-muted);font:500 var(--ui-fs-lg)/1 var(--ui-font-title)}.donate-custom .ui-input{font-variant-numeric:tabular-nums}.donate-error.hidden{display:none}.donate-checkout-mount{width:100%;min-height:240px}.donate-loading{align-items:center;text-align:center;padding:var(--ui-sp-5) 0}.donate-actions{display:flex;flex-direction:column;gap:var(--ui-sp-2);align-items:stretch}.donate-actions--row{flex-direction:row;justify-content:flex-start}.report-body{display:flex;flex-direction:column;gap:var(--ui-sp-4)}.report-body.hidden,.report-done.hidden{display:none}.report-form{display:flex;flex-direction:column;gap:var(--ui-sp-4)}.report-kinds{display:flex;gap:var(--ui-sp-2)}.report-done{display:flex;flex-direction:column;gap:var(--ui-sp-3)}@media (max-width: 560px){.donate-chips{grid-template-columns:repeat(2,minmax(0,1fr))}}#auth{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--ui-z-drawer);isolation:isolate;overflow:auto;display:flex;align-items:center;justify-content:center;padding:var(--ui-sp-5);background:var(--ui-bg);color:var(--ui-ink);font:400 var(--ui-fs-base)/1.5 var(--ui-font-body)}#auth.hidden{display:none}.auth-shell{position:relative;z-index:1;width:min(400px,100%);display:flex;flex-direction:column;align-items:stretch;gap:var(--ui-sp-5)}.auth-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--ui-sp-2)}.auth-head .home-wordmark{font-size:clamp(44px,7vw,64px)}.auth-card{display:flex;flex-direction:column;gap:var(--ui-sp-4)}.auth-hint{margin:0;text-align:center;display:none}.auth-form{display:flex;flex-direction:column;gap:var(--ui-sp-4)}.auth-form .ui-field{display:none}.auth-msg{text-align:center}.auth-msg:empty{display:none}.auth-link{display:none;width:100%}.auth-google{display:none}#auth[data-mode=login] .auth-field-email,#auth[data-mode=login] .auth-field-password,#auth[data-mode=login] .auth-forgot-link,#auth[data-mode=register] .auth-field-username,#auth[data-mode=register] .auth-field-email,#auth[data-mode=register] .auth-field-password,#auth[data-mode=register] .auth-field-password2{display:flex}#auth[data-mode=username] .auth-tabs{display:none}#auth[data-mode=username] .auth-field-username{display:flex}#auth[data-mode=username] .auth-username-hint{display:block}#auth[data-mode=forgot] .auth-tabs{display:none}#auth[data-mode=forgot] .auth-field-email{display:flex}#auth[data-mode=forgot] .auth-forgot-hint{display:block}#auth[data-mode=forgot] .auth-back-link{display:flex}#auth[data-mode=recover] .auth-tabs{display:none}#auth[data-mode=recover] .auth-field-password,#auth[data-mode=recover] .auth-field-password2{display:flex}#auth[data-mode=recover] .auth-recover-hint{display:block}#auth[data-mode=recover] .auth-back-link{display:flex}#auth[data-mode=steam] .auth-tabs{display:none}#auth[data-mode=steam] .auth-steam-hint{display:block}#auth[data-mode=steam] .auth-form{gap:var(--ui-sp-3)}html[data-distribution=steam] #home-donate{display:none!important}#auth[data-mode=login] .auth-google:not([hidden]),#auth[data-mode=register] .auth-google:not([hidden]){display:flex}@media (max-width: 560px){#auth{padding:var(--ui-sp-4);align-items:flex-start}.auth-shell{gap:var(--ui-sp-4)}}.hm{position:fixed;left:18px;bottom:18px;z-index:var(--ui-z-hud);display:flex;align-items:center;gap:var(--ui-sp-2);pointer-events:auto}.hm.hidden{display:none}.hm .ui-btn--icon{width:40px;min-height:40px}.hm .ui-btn--icon.hidden{display:none}.hm__pop{position:absolute;bottom:calc(100% + 8px);left:0;min-width:190px}.hm__pop .ui-menu__item.confirm,.hm__pop .ui-menu__item.confirm:hover{background:var(--ui-danger);color:var(--ui-accent-ink)}.hm__ico{width:16px;text-align:center;font-size:var(--ui-fs-base);line-height:1}.hm__gear>span{display:inline-block;transition:transform var(--ui-t-med) var(--ui-ease)}.hm__gear[aria-expanded=true]{color:var(--ui-ink);border-color:var(--ui-accent)}.hm__gear[aria-expanded=true]>span{transform:rotate(45deg)}.voice-mic-glyph{position:relative;width:16px;height:21px}.voice-mic-glyph:before{content:"";position:absolute;left:5px;top:1px;width:6px;height:11px;border:2px solid currentColor;box-sizing:border-box}.voice-mic-glyph:after{content:"";position:absolute;left:2px;top:8px;width:12px;height:9px;border:2px solid currentColor;border-top:0;box-sizing:border-box;box-shadow:0 4px 0 -1px currentColor}.voice-mic-state{position:absolute;right:3px;top:2px;min-width:8px;color:var(--ui-accent);font:500 8px/1 var(--ui-font-mono)}#voice-mic-btn{color:var(--ui-ok);border-color:var(--ui-hair-strong)}#voice-mic-btn.voice-muted{color:var(--ui-danger)}#voice-mic-btn.voice-muted:after{content:"";position:absolute;width:22px;height:2px;background:currentColor;transform:rotate(-45deg)}#voice-mic-btn.voice-busy .voice-mic-glyph{animation:voiceBreathe .85s ease-in-out infinite alternate}#voice-mic-btn.voice-failed{color:var(--ui-warn)}@keyframes voiceBreathe{to{opacity:.35;transform:scale(.9)}}.mic-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--ui-sp-2)}.nudge{position:fixed;top:72px;left:50%;transform:translate(-50%,-12px);z-index:var(--ui-z-toast);display:flex;align-items:center;gap:var(--ui-sp-3);max-width:min(520px,92vw);box-sizing:border-box;padding:var(--ui-sp-3) var(--ui-sp-6) var(--ui-sp-3) var(--ui-sp-4);border:var(--ui-hairline);border-left:2px solid var(--ui-accent);background:var(--ui-glass);box-shadow:var(--ui-shadow);opacity:0;pointer-events:auto;transition:opacity var(--ui-t-med) ease,transform var(--ui-t-med) var(--ui-ease)}.nudge.show{opacity:1;transform:translate(-50%)}.nudge.hidden{display:none}.nudge__body{display:flex;flex-direction:column;gap:2px;min-width:0}.nudge__text{margin:0;color:var(--ui-ink);font:500 var(--ui-fs-base)/1.25 var(--ui-font-title);letter-spacing:var(--ui-track-1)}.nudge__sub{margin:0;color:var(--ui-muted);font:400 var(--ui-fs-md)/1.3 var(--ui-font-body)}.nudge__sub .ui-kbd{margin:0 2px}.nudge__x{position:absolute;top:2px;right:2px;width:28px;min-height:28px}@media (max-width: 560px){.nudge{flex-wrap:wrap}.nudge .ui-btn--ghost{margin-left:auto}}.voice{display:flex;flex-direction:column;gap:var(--ui-sp-3)}.voice__meter{height:4px;overflow:hidden;background:var(--ui-hair)}.voice__meter i{display:block;width:0;height:100%;background:var(--ui-accent);transition:width 70ms linear}.voice__test{display:flex;align-items:center;justify-content:space-between;gap:var(--ui-sp-3)}.voice__status{color:var(--ui-muted);font:400 var(--ui-fs-md)/1.4 var(--ui-font-body)}@media (prefers-reduced-motion: reduce){.nudge{transition:none}#voice-mic-btn.voice-busy .voice-mic-glyph{animation:none}}#scoreboard{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--ui-z-hud);display:flex;align-items:center;justify-content:center;pointer-events:none}#scoreboard.hidden{display:none}.sb-plate{width:min(520px,calc(100vw - 40px));max-height:calc(100vh - 80px);overflow-y:auto;pointer-events:auto}.sb-title{display:flex;align-items:baseline;gap:var(--ui-sp-2);margin:0 0 var(--ui-sp-3);padding-bottom:var(--ui-sp-3);border-bottom:var(--ui-hairline)}.sb-title b{font-weight:500;color:var(--ui-muted);font-size:var(--ui-fs-md);font-variant-numeric:tabular-nums}.sb-head,.sb-row{display:grid;grid-template-columns:minmax(0,1fr) 30px 132px 56px 40px;align-items:center;gap:var(--ui-sp-3);padding:0 var(--ui-sp-2)}.sb-head{height:22px;margin-bottom:var(--ui-sp-1);border-bottom:var(--ui-hairline)}.sb-head .sb-weapon,.sb-head .sb-hp,.sb-head .sb-ping,.sb-head .sb-voice{text-align:center}.sb-row{min-height:34px;border:1px solid transparent;color:var(--ui-ink);font:400 var(--ui-fs-base)/1.2 var(--ui-font-body);transition:background-color var(--ui-t-fast)}.sb-row.me{border-color:var(--ui-accent);background:var(--ui-accent-soft)}.sb-row.dead{opacity:.45}.sb-name{display:flex;align-items:center;gap:var(--ui-sp-2);min-width:0}.sb-skin{flex:0 0 auto;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:var(--ui-hairline);background:var(--ui-bg)}.sb-skin img,.sb-weapon img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.sb-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 var(--ui-fs-lg)/1.1 var(--ui-font-title);letter-spacing:var(--ui-track-1)}.sb-weapon{display:flex;align-items:center;justify-content:center;width:26px;height:26px}.sb-hp{display:flex;align-items:center;gap:var(--ui-sp-2)}.sb-hp-track{display:block;flex:1;height:2px;overflow:hidden;background:var(--ui-hair)}.sb-hp-fill{display:block;height:100%;background:var(--ui-hp);transition:width .2s ease-out}.sb-hp-value{min-width:3ch;text-align:right;color:var(--ui-muted);font:500 var(--ui-fs-xs)/1 var(--ui-font-mono);font-variant-numeric:tabular-nums}.sb-ping{justify-self:center;font-family:var(--ui-font-mono)}.sb-voice{justify-self:center}.sb-voice.muted{color:var(--ui-danger);border-color:var(--ui-danger)}@media (max-width: 560px){.sb-head,.sb-row{grid-template-columns:minmax(0,1fr) 26px 90px 44px}.sb-head .sb-voice,.sb-row .sb-voice{display:none}}#game-console{position:fixed;left:18px;top:50%;z-index:var(--ui-z-hud);display:grid;gap:6px;transform:translateY(-50%);pointer-events:none;color:var(--ui-ink);text-shadow:0 1px 3px rgba(0,0,0,.9)}#game-console.hidden{display:none}#game-console.open{gap:0;pointer-events:auto;text-shadow:none}.console-history,.console-live{width:min(540px,calc(100vw - 36px));font:400 var(--ui-fs-md)/1.4 var(--ui-font-mono);overflow-wrap:anywhere}.console-history{display:none;flex-direction:column;gap:2px;max-height:min(34vh,290px);overflow-x:hidden;overflow-y:auto;pointer-events:auto;padding:var(--ui-sp-3) var(--ui-sp-4);border:var(--ui-hairline);border-bottom:0;background:var(--ui-glass);backdrop-filter:blur(var(--ui-glass-blur));-webkit-backdrop-filter:blur(var(--ui-glass-blur));scrollbar-width:thin;scrollbar-color:var(--ui-hair-strong) transparent}#game-console.open .console-history{display:flex}.console-live{display:flex;flex-direction:column;gap:4px;width:min(420px,calc(100vw - 36px));pointer-events:none}#game-console.open .console-live{display:none}.console-line{position:relative;width:fit-content;max-width:100%;padding:2px 0 2px var(--ui-sp-3);color:var(--ui-ink)}.console-line:before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:2px;background:var(--ui-muted)}.console-history .console-line{width:100%}.console-live .console-line{padding-right:var(--ui-sp-3);background:var(--ui-glass);animation:consoleNoticeIn var(--ui-t-fast) ease-out both}.console-live .console-line.leaving{animation:consoleNoticeOut var(--ui-t-fast) ease-in forwards}.console-line.system{color:var(--ui-muted)}.console-line.system:before{background:var(--ui-muted)}.console-line.error{color:var(--ui-danger)}.console-line.error:before{background:var(--ui-danger)}.console-line.ok{color:var(--ui-ok)}.console-line.ok:before{background:var(--ui-ok)}.console-line.chat:before{background:var(--ui-accent)}@keyframes consoleNoticeIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:none}}@keyframes consoleNoticeOut{to{opacity:0;transform:translate(-4px)}}.console-input-row{position:relative;width:min(540px,calc(100vw - 36px));min-height:38px;display:none;grid-template-columns:16px 1fr;align-items:center;gap:var(--ui-sp-2);padding:0 var(--ui-sp-3);pointer-events:auto;border:var(--ui-hairline);border-top-color:var(--ui-accent);background:var(--ui-glass-2);backdrop-filter:blur(var(--ui-glass-blur));-webkit-backdrop-filter:blur(var(--ui-glass-blur))}#game-console.open .console-input-row{display:grid}.console-prompt{color:var(--ui-accent);font:500 var(--ui-fs-base)/1 var(--ui-font-mono);text-align:center}#console-input{width:100%;min-height:0;margin:0;padding:0;border:0;background:transparent;color:var(--ui-ink);font:400 var(--ui-fs-base)/1.2 var(--ui-font-mono);caret-color:var(--ui-accent);outline:0;box-shadow:none}#console-input::placeholder{color:var(--ui-muted);opacity:.7}#console-input:focus{border:0;background:transparent;box-shadow:none;outline:0}.console-suggest{position:absolute;left:-1px;right:-1px;bottom:calc(100% + 4px);z-index:3;display:none;flex-direction:column;gap:1px;max-height:min(42vh,320px);overflow-y:auto;padding:var(--ui-sp-1) 0;font:400 var(--ui-fs-md)/1.35 var(--ui-font-mono);border:var(--ui-hairline);background:var(--ui-surface);box-shadow:var(--ui-shadow);scrollbar-width:thin;scrollbar-color:var(--ui-hair-strong) transparent}.console-suggest[hidden]{display:none}.console-suggest.open{display:flex}.console-suggest-usage{padding:var(--ui-sp-1) var(--ui-sp-3) var(--ui-sp-2);margin-bottom:2px;color:var(--ui-muted);border-bottom:var(--ui-hairline);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.console-suggest-usage .arg-active{color:var(--ui-accent)}.console-suggest-item{display:flex;align-items:baseline;justify-content:space-between;gap:var(--ui-sp-4);padding:var(--ui-sp-1) var(--ui-sp-3);cursor:pointer;color:var(--ui-ink);border-left:2px solid transparent}.console-suggest-item .value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.console-suggest-item .desc{color:var(--ui-muted);flex:none;font-size:var(--ui-fs-xs)}.console-suggest-item:hover{background:var(--ui-surface-2)}.console-suggest-item.active{background:var(--ui-accent-soft);border-left-color:var(--ui-accent)}@media (max-width: 560px){#game-console{left:12px;top:44%}.console-history,.console-live,.console-input-row{width:calc(100vw - 24px)}}@media (prefers-reduced-motion: reduce){.console-live .console-line,.console-live .console-line.leaving{animation:none}}.station{width:min(440px,calc(100vw - 32px))}.station-souls{display:inline-flex;align-items:baseline;gap:var(--ui-sp-2);color:var(--ui-ink)}.station-souls b{font:500 var(--ui-fs-xl)/1 var(--ui-font-title);font-variant-numeric:tabular-nums}.station-souls i{color:var(--ui-muted);font:500 var(--ui-fs-xs)/1 var(--ui-font-title);letter-spacing:var(--ui-track-3);text-transform:uppercase;font-style:normal}.station-hint{margin:0;color:var(--ui-muted);font:400 var(--ui-fs-md)/1.5 var(--ui-font-body)}.station-body{display:flex;flex-direction:column}.ui-stat__gain{color:var(--ui-accent);font:500 var(--ui-fs-md)/1 var(--ui-font-title)}.swaphead{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:var(--ui-sp-3);margin:0;padding:var(--ui-sp-3);border:var(--ui-hairline);background:var(--ui-bg);cursor:pointer;transition:border-color var(--ui-t-fast),background-color var(--ui-t-fast)}.swaphead:hover{border-color:var(--ui-accent);background:var(--ui-surface-2)}.swaphead img{width:44px;height:44px;object-fit:contain;image-rendering:pixelated}.swaphead__name{display:flex;flex-direction:column;gap:3px;min-width:0}.swaphead__name b{font:500 var(--ui-fs-lg)/1.1 var(--ui-font-title);letter-spacing:var(--ui-track-1);text-transform:uppercase}.swaphead__name span{color:var(--ui-muted);font:400 var(--ui-fs-md)/1.3 var(--ui-font-body)}.swaphead__name em,.vend-meta em{color:var(--ui-accent);font-style:normal}.swaphead__swap{display:inline-flex;align-items:center;gap:var(--ui-sp-2);color:var(--ui-muted);font:500 var(--ui-fs-xs)/1 var(--ui-font-title);letter-spacing:var(--ui-track-3);text-transform:uppercase}.swaphead:hover .swaphead__swap{color:var(--ui-accent)}.swaphead__swap svg{width:16px;height:16px}.vend-row{min-height:56px;padding-left:var(--ui-sp-2);padding-right:var(--ui-sp-2)}.vend-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto}.vend-icon img{width:32px;height:32px;object-fit:contain;image-rendering:pixelated}.vend-aside,.vend-charges{display:inline-flex;align-items:center;gap:var(--ui-sp-3)}.ui-stat__cost{color:var(--ui-muted);font-variant-numeric:tabular-nums;margin-left:var(--ui-sp-1)}.ui-btn:disabled .ui-stat__cost{color:inherit}.fx-tip{position:fixed;left:0;top:0;z-index:var(--ui-z-popover);width:min(266px,calc(100vw - 24px));pointer-events:none;padding:var(--ui-sp-3) var(--ui-sp-4);border:var(--ui-hairline);background:var(--ui-surface);box-shadow:var(--ui-shadow);color:var(--ui-ink);font:400 var(--ui-fs-md)/1.45 var(--ui-font-body);opacity:0;transform:translateY(4px);transition:opacity var(--ui-t-fast) ease,transform var(--ui-t-fast) ease}.fx-tip.show{opacity:1;transform:none}.fx-tip-name{display:block;font:500 var(--ui-fs-lg)/1 var(--ui-font-title);letter-spacing:var(--ui-track-1);text-transform:uppercase}.fx-tip-trigger{display:inline-flex;align-items:center;gap:6px;margin-top:6px;color:var(--ui-muted);font:500 var(--ui-fs-xs)/1 var(--ui-font-title);letter-spacing:var(--ui-track-3);text-transform:uppercase}.fx-tip-trigger:before{content:"";width:4px;height:4px;background:var(--ui-accent)}.fx-tip-blurb{margin:var(--ui-sp-2) 0 0}.fx-tip-chips{margin-top:var(--ui-sp-3);display:flex;flex-wrap:wrap;gap:var(--ui-sp-1)}.fx-tip-chips span{padding:3px 7px;border:var(--ui-hairline);color:var(--ui-accent);font:500 var(--ui-fs-xs)/1 var(--ui-font-title);font-variant-numeric:tabular-nums}@media (prefers-reduced-motion: reduce){.fx-tip{transition:none}}.train{width:min(304px,calc(100vw - 32px));bottom:auto;max-height:calc(100dvh - 32px)}.train.collapsed{width:auto}.train.collapsed .ui-dock__head{cursor:pointer;border-bottom:0}.train .ui-dock__body{display:flex;flex-direction:column;gap:var(--ui-sp-5)}.train .ui-dock__body>*+*{margin-top:0}.train-sec{display:flex;flex-direction:column;gap:var(--ui-sp-2)}.train-row{display:flex;align-items:center;gap:var(--ui-sp-2)}.train-row .ui-select{flex:1;min-width:0}.train-row .ui-label{flex:1}.train-count{width:64px;flex:0 0 auto;text-align:center}.train-btn-row{display:flex;flex-wrap:wrap;gap:var(--ui-sp-2)}.train-btn-row .ui-btn{flex:1 1 auto}.camp-actions{display:flex;gap:var(--ui-sp-3);justify-content:center;margin:30px 0 0;pointer-events:none}.camp-actions .ui-btn{pointer-events:auto;min-width:180px}.camp-actions .ui-btn.hidden,.threshold[data-state=counting] #camp-ready-btn{display:none}.camp-board{width:min(320px,calc(100vw - 32px));text-align:left;pointer-events:auto;animation:campBoardIn .42s ease-out both}.camp-board.hidden{animation:none}.threshold[data-state=counting] .camp-board{display:none}@keyframes campBoardIn{0%{opacity:0}to{opacity:1}}.camp-board .ui-dock__body{padding-top:0;padding-bottom:0}.camp-prof-grid{margin:0 calc(-1 * var(--ui-sp-4))}.camp-prof{width:100%;text-align:left;font:inherit;color:inherit}.camp-prof:disabled{cursor:default}.camp-prof-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.camp-prof-who{display:block;min-height:12px;margin-top:2px;color:var(--ui-muted);font:500 var(--ui-fs-xs)/1.2 var(--ui-font-title);letter-spacing:var(--ui-track-2);text-transform:uppercase}.camp-prof.mine .camp-prof-who{color:var(--ui-accent)}@media (prefers-reduced-motion: reduce){.camp-board{animation:none}}.loadout .ui-modal__card{width:min(1180px,100%);max-height:min(92dvh,900px)}.loadout .ui-modal__body{display:flex;flex-direction:column;gap:var(--ui-sp-4)}.loadout .ui-modal__body>*+*{margin-top:0}.loadout-intro{display:flex;flex-direction:column;gap:var(--ui-sp-1)}.loadout-sub{color:var(--ui-muted)}.loadout-grid{display:grid;grid-template-columns:repeat(var(--loadout-cols, 5),minmax(0,1fr));gap:var(--ui-sp-3);align-items:stretch}@media (max-width: 900px){.loadout-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 560px){.loadout-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.loadout-card{position:relative;display:flex;flex-direction:column;gap:var(--ui-sp-3);min-width:0;padding:var(--ui-sp-4) var(--ui-sp-3) var(--ui-sp-3);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color var(--ui-t-fast),background-color var(--ui-t-fast)}.loadout-card:hover{border-color:var(--ui-hair-strong);background:var(--ui-glass-2)}.loadout-card:focus-visible{outline:none;box-shadow:var(--ui-focus)}.loadout-card.is-selected{border-color:var(--ui-accent);background:var(--ui-accent-soft)}.loadout-card.is-selected:before{content:"";position:absolute;left:-1px;top:-1px;right:-1px;height:2px;background:var(--ui-accent)}.loadout-card__icon{display:grid;place-items:center;height:84px}.loadout-card__icon img{width:72px;height:72px;object-fit:contain;image-rendering:pixelated}.loadout-card__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--ui-sp-2);text-align:center}.loadout-card__name{font:500 var(--ui-fs-xl)/1 var(--ui-font-title);letter-spacing:var(--ui-track-2);text-transform:uppercase}.loadout-stats{display:flex;flex-direction:column;gap:var(--ui-sp-2)}.loadout-stat{display:grid;grid-template-columns:52px minmax(0,1fr) 34px;align-items:center;gap:var(--ui-sp-2)}.loadout-bar{position:relative;display:block;height:6px;background:var(--ui-hair);overflow:hidden}.loadout-bar i{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:left center;transform:scaleX(var(--v, 0));background:var(--ui-ink)}.loadout-card.is-selected .loadout-bar i{background:var(--ui-accent)}.loadout-stat__val{text-align:right;color:var(--ui-ink);font:500 var(--ui-fs-md)/1 var(--ui-font-title);font-variant-numeric:tabular-nums}.loadout-traits{display:flex;flex-wrap:wrap;gap:var(--ui-sp-1)}.loadout-special{display:flex;flex-direction:column;gap:var(--ui-sp-2);margin-top:auto;padding-top:var(--ui-sp-3);border-top:var(--ui-hairline)}.loadout-special__head{display:flex;align-items:center;gap:var(--ui-sp-2);color:var(--ui-accent)}.loadout-special__head svg{width:16px;height:16px;flex:0 0 auto}.loadout-special__head b{color:var(--ui-ink);font:500 var(--ui-fs-md)/1 var(--ui-font-title);letter-spacing:var(--ui-track-1);text-transform:uppercase}.loadout-special .fx-tip-trigger{margin-top:0}.loadout-special__blurb{margin:0;color:var(--ui-muted);font:400 var(--ui-fs-md)/1.45 var(--ui-font-body)}.loadout-special .fx-tip-chips{margin-top:0}.loadout-keys{margin:0;font:400 var(--ui-fs-xs)/1.4 var(--ui-font-body);letter-spacing:var(--ui-track-1);text-transform:uppercase}.loadout-foot{flex-wrap:wrap;gap:var(--ui-sp-3)}.loadout-note{margin:0;flex:1 1 260px;color:var(--ui-muted);font:400 var(--ui-fs-md)/1.45 var(--ui-font-body)}.loadout-actions{display:flex;gap:var(--ui-sp-2);flex:0 0 auto;margin-left:auto}.loadout-actions .ui-btn{min-width:150px}@media (max-width: 560px){.loadout-keys{display:none}.loadout-actions{width:100%;margin-left:0}.loadout-actions .ui-btn{flex:1 1 0;min-width:0}}@media (prefers-reduced-motion: reduce){.loadout-card{transition:none}}#hud{position:fixed;top:18px;left:18px;z-index:var(--ui-z-hud);color:var(--ui-ink);font:400 var(--ui-fs-md)/1.35 var(--ui-font-body);pointer-events:none;text-shadow:0 1px 3px #000}#hud.hidden{display:none}@keyframes hudPop{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}.souls-hud{position:relative;display:flex;align-items:center;gap:12px;animation:hudPop .3s ease-out both}.hud-weapon-slot{position:relative;z-index:2;width:76px;height:76px;display:grid;place-items:center;background:var(--ui-glass);border:var(--ui-hairline)}.hud-weapon-slot.swap{animation:hudSwapFlash .5s ease-out}@keyframes hudSwapFlash{0%{border-color:var(--ui-accent)}to{border-color:var(--ui-hair)}}.hud-weapon-icon{position:relative;z-index:1;width:56px;height:56px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 2px 1px rgba(0,0,0,.85))}.hud-weapon-slot.empty .hud-weapon-icon{display:none}.hud-weapon-cd{position:absolute;left:0;bottom:0;z-index:2;height:2px;width:0;display:none;background:var(--ui-accent);pointer-events:none}.hud-weapon-slot.empty .hud-weapon-cd{visibility:hidden}.hud-weapon-level{position:absolute;top:-7px;left:-7px;z-index:3;min-width:18px;padding:1px 4px;color:var(--ui-accent);font:500 11px/1.5 var(--ui-font-mono);text-align:center;background:var(--ui-surface);border:var(--ui-hairline)}.hud-weapon-level.hidden{display:none}.hud-bars{position:relative;z-index:1;display:flex;flex-direction:column;gap:8px;justify-content:center}.hud-bar{position:relative;transition:width .4s cubic-bezier(.2,.9,.3,1.05)}.hud-bar--hp{width:280px;height:19px}.hud-bar--sp{width:280px;height:17px}.hud-bar-track{position:relative;box-sizing:border-box;width:100%;height:100%;overflow:hidden;background:var(--ui-glass);border:var(--ui-hairline)}.hud-bar-fill,.hud-bar-ghost{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:left center;transform:scaleX(1);transition:filter .18s ease-out}.hud-bar-ghost{background:var(--ui-ink);opacity:.35}.hud-bar-fill.health{background:var(--ui-hp)}.hud-bar-fill.stamina{background:var(--ui-sp)}.hud-bar-fill.stamina.low{filter:saturate(.5) brightness(.7)}.hud-bar-value{position:absolute;right:7px;top:50%;z-index:3;transform:translateY(-50%);color:var(--ui-ink);font:500 12px/1 var(--ui-font-mono);font-variant-numeric:tabular-nums;text-shadow:0 1px 2px #000,0 0 4px rgba(0,0,0,.9)}.hud-bar--sp .hud-bar-value{font-size:11px}#hud-effects{margin-top:10px}#hud-effects:empty{display:none}.hud-fx{pointer-events:none}.hud-fx-ic{object-fit:contain}@keyframes hudFxIn{0%{opacity:0;transform:translateY(-6px) scale(.7)}to{opacity:1;transform:none}}@keyframes hudFxOut{to{opacity:0;transform:translateY(-4px) scale(.6)}}.hud-fx-enter{animation:hudFxIn .16s ease-out both}.hud-fx-leave{animation:hudFxOut .16s ease-in both}@keyframes hudFxWarn{0%,to{filter:none}50%{filter:brightness(1.55)}}.hud-fx .warn{animation:hudFxWarn .5s ease-in-out infinite}.hud-fx-stack{color:var(--ui-ink);background:var(--ui-danger);padding:0 3px;font:500 9px/1.3 var(--ui-font-mono)}.hud-fx--a{display:flex;flex-direction:row;gap:7px;align-items:flex-start}.hud-fx--a .hud-fx-cell{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px}.hud-fx--a .hud-fx-disc{position:relative;width:36px;height:36px}.hud-fx--a .hud-fx-disc:before{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:50%;background:var(--ui-glass-2);border:var(--ui-hairline)}.hud-fx--a .hud-fx-ring{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotate(-90deg)}.hud-fx--a .hud-fx-ic{position:absolute;top:8px;right:8px;bottom:8px;left:8px;width:20px;height:20px}.hud-fx--a .hud-fx-sec{color:var(--ui-ink);font:500 11px/1 var(--ui-font-mono);text-shadow:0 1px 2px #000}.hud-fx--a .hud-fx-stack{position:absolute;right:-3px;bottom:8px}.hud-fx--b{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.hud-fx--b .hud-fx-cell{position:relative;display:flex;align-items:center;gap:8px;width:280px;height:26px;padding:0 8px 0 6px;overflow:hidden;background:var(--ui-glass-2);border:var(--ui-hairline)}.hud-fx--b .hud-fx-ic{width:20px;height:20px;flex:0 0 auto}.hud-fx--b .hud-fx-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ui-ink);font:500 12px/1 var(--ui-font-title);letter-spacing:var(--ui-track-1);text-transform:uppercase}.hud-fx--b .hud-fx-sec{color:var(--ui-muted);font:500 11px/1 var(--ui-font-mono)}.hud-fx--b .hud-fx-track{position:absolute;left:0;right:0;bottom:0;height:3px;background:#00000080}.hud-fx--b .hud-fx-fillbar{position:absolute;left:0;top:0;bottom:0;width:100%;transform-origin:left}#hud-souls{position:fixed;right:18px;bottom:18px;z-index:var(--ui-z-hud);display:inline-flex;align-items:baseline;gap:8px;pointer-events:none;animation:hudPop .24s ease-out both}#hud-souls.hidden{display:none}#hud-souls b{position:relative;z-index:1;color:var(--ui-ink);font:500 20px/1 var(--ui-font-title);font-variant-numeric:tabular-nums lining-nums;letter-spacing:.03em;text-shadow:0 1px 3px rgba(0,0,0,.86)}.hud-souls-label{color:var(--ui-muted);font:500 var(--ui-fs-base)/1 var(--ui-font-body);text-shadow:0 1px 3px rgba(0,0,0,.86)}#hud-souls.gain b{animation:soulsPulse .42s ease-out}@keyframes soulsPulse{0%{color:var(--ui-accent-hi)}to{color:var(--ui-ink)}}.hud-souls-delta{position:absolute;right:10px;bottom:calc(100% + 7px);z-index:1;color:var(--ui-accent);font:500 14px/1 var(--ui-font-title);font-variant-numeric:tabular-nums lining-nums;letter-spacing:.03em;white-space:nowrap;opacity:0;text-shadow:0 1px 4px rgba(0,0,0,.95)}.hud-souls-delta.show{animation:soulsGainFloat 1.6s cubic-bezier(.2,.72,.24,1) both}@keyframes soulsGainFloat{0%{opacity:0;transform:translateY(5px)}15%{opacity:1;transform:translateY(0)}70%{opacity:1;transform:translateY(-2px)}to{opacity:0;transform:translateY(-9px)}}@keyframes soulsGainFade{0%,to{opacity:0}15%,70%{opacity:1}}#interact-prompts{position:fixed;left:50%;bottom:116px;z-index:var(--ui-z-hud);transform:translate(-50%);display:flex;flex-direction:column-reverse;align-items:center;gap:10px;pointer-events:none}.hud-prompt{display:flex;align-items:center;gap:9px;padding:7px 14px;background:var(--ui-glass);border:var(--ui-hairline);color:var(--ui-ink);font:500 var(--ui-fs-md)/1 var(--ui-font-body);letter-spacing:.04em;text-shadow:0 1px 3px rgba(0,0,0,.85);animation:promptPop .18s ease-out both}.hud-prompt.hidden{display:none}@keyframes promptPop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}#hud-consumable{position:fixed;left:50%;bottom:18px;z-index:var(--ui-z-hud);transform:translate(-50%);display:flex;flex-direction:row;align-items:flex-end;gap:12px;pointer-events:none;text-shadow:0 1px 3px #000}#hud-consumable.hidden{display:none}.consumable-col{display:flex;flex-direction:column;align-items:center;gap:6px;animation:hudPop .3s ease-out both}.consumable-col:nth-child(2){animation-delay:.06s}.consumable-col:nth-child(3){animation-delay:.12s}.consumable-col:nth-child(4){animation-delay:.18s}.consumable-col:nth-child(5){animation-delay:.24s}.consumable-slot{position:relative;width:60px;height:60px;display:grid;place-items:center;background:var(--ui-glass);border:var(--ui-hairline)}.consumable-slot.empty{opacity:.55}.consumable-slot.empty .consumable-icon{display:none}.consumable-icon{position:relative;z-index:1;width:42px;height:42px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 2px 1px rgba(0,0,0,.85))}.consumable-cd{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:none;pointer-events:none}.consumable-count{position:absolute;right:-5px;bottom:-5px;z-index:3;min-width:20px;height:20px;padding:0 4px;display:grid;place-items:center;background:var(--ui-surface);border:var(--ui-hairline);color:var(--ui-ink);font:500 11px/1 var(--ui-font-mono);font-variant-numeric:tabular-nums}.consumable-count.empty{display:none}.consumable-count.tick{animation:countTick .32s cubic-bezier(.2,.9,.3,1.3)}@keyframes countTick{0%{transform:scale(1.45)}to{transform:scale(1)}}.consumable-count.depleted{color:var(--ui-danger)}.consumable-col:has(.consumable-count.depleted) .consumable-slot{opacity:.7}.consumable-keys{display:flex}@media (max-width: 640px){#hud{transform:scale(.72);transform-origin:top left}#hud-souls{right:12px;bottom:12px}}@media (prefers-reduced-motion: reduce){.souls-hud,.consumable-col,#hud-souls,#hud-souls.gain b,.hud-prompt,.hud-fx-enter,.hud-fx-leave{animation:none}.hud-souls-delta.show{animation:soulsGainFade 1.6s ease-out both}}.game-tip{position:fixed;right:16px;top:110px;z-index:var(--ui-z-hud);width:300px;max-width:calc(100vw - 32px);pointer-events:none;opacity:0;transform:translateY(6px);transition:opacity .28s ease,transform .28s ease}.game-tip.show{opacity:1;transform:translateY(0)}.game-tip-plate{display:flex;flex-direction:column;gap:var(--ui-sp-3);padding:var(--ui-sp-3) var(--ui-sp-4) var(--ui-sp-4);background:var(--ui-glass);border:var(--ui-hairline);color:var(--ui-ink)}.game-tip-head{display:flex;flex-direction:column;gap:6px}.game-tip-eyebrow{display:flex;align-items:center;gap:8px}.game-tip-dot{flex:none;width:4px;height:4px;background:var(--ui-accent)}.game-tip-kicker{color:var(--ui-accent);font:500 var(--ui-fs-xs)/1 var(--ui-font-title);letter-spacing:var(--ui-track-3);text-transform:uppercase}.game-tip-title{margin:0;color:var(--ui-ink);font:500 var(--ui-fs-lg)/1.1 var(--ui-font-title);letter-spacing:var(--ui-track-1);text-transform:uppercase}.game-tip-body{margin:0;color:var(--ui-muted);font:400 var(--ui-fs-md)/1.5 var(--ui-font-body)}.game-tip-body b{color:var(--ui-ink);font-weight:600}.game-tip-rot{display:flex;gap:5px}.game-tip-rot i{width:14px;height:2px;background:var(--ui-hair)}.game-tip-rot i.on{background:var(--ui-accent)}#party-list{position:fixed;right:18px;top:50%;z-index:var(--ui-z-hud);transform:translateY(-50%);display:grid;gap:11px;justify-items:end;align-content:center;max-width:190px;max-height:calc(100vh - 440px);overflow:hidden;pointer-events:none;text-shadow:0 1px 3px rgba(0,0,0,.95)}#party-list.hidden{display:none}.party-row{position:relative;display:flex;flex-direction:row-reverse;align-items:center;gap:9px;animation:hudPop .3s ease-out both}.party-medallion{position:relative;flex:0 0 auto;width:44px;height:44px;display:grid;place-items:center;background:var(--ui-glass);border:var(--ui-hairline);transition:transform .18s ease-out,border-color .18s ease-out}.party-face{position:relative;z-index:1;width:40px;height:40px;object-fit:contain;image-rendering:pixelated}.party-info{display:grid;gap:4px;min-width:0;justify-items:end}.party-name{max-width:128px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;color:var(--ui-muted);font:500 var(--ui-fs-xs)/1 var(--ui-font-title);letter-spacing:var(--ui-track-2);text-transform:uppercase;transition:color .18s ease-out}.party-thread-sigil{position:absolute;right:49px;top:-5px;width:18px;height:12px;opacity:0;transform:translateY(2px) scale(.8);transition:opacity .18s ease-out,transform .18s ease-out}.party-thread-sigil:before,.party-thread-sigil:after{content:"";position:absolute;left:1px;right:1px;top:5px;height:1px;transform:rotate(-13deg);transform-origin:center}.party-thread-sigil:before{background:#05070af2;box-shadow:0 0 2px #000}.party-thread-sigil:after{top:4px;background:var(--ui-ink);box-shadow:0 0 5px #e7e9ee73}.party-thread-sigil.active{opacity:1;transform:none;animation:party-thread-pulse 1.8s ease-in-out infinite}@keyframes party-thread-pulse{50%{opacity:.58}}.party-bar{position:relative;box-sizing:border-box;width:92px;height:7px;overflow:hidden;background:var(--ui-glass);border:var(--ui-hairline);transition:border-color .18s ease-out}.party-bar-fill,.party-bar-ghost{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:right center;transform:scaleX(1)}.party-bar-fill{background:var(--ui-hp);transition:transform .14s linear}.party-bar-ghost{background:var(--ui-ink);opacity:.35;transition:transform .52s cubic-bezier(.3,0,.2,1) .2s}.party-row.hit .party-medallion,.party-row.hit .party-bar{border-color:var(--ui-accent)}.party-row.hit .party-medallion{transform:scale(1.07)}.party-row.hit .party-name,.party-row.dmg .party-name{color:var(--ui-ink)}.party-row.crit .party-name{color:var(--ui-danger)}.party-row.crit .party-name,.party-row.crit .party-medallion{animation:heartChipPulse 1.1s ease-in-out infinite}.party-countdown{display:none;color:var(--ui-muted);font:500 var(--ui-fs-xs)/1 var(--ui-font-title);letter-spacing:var(--ui-track-1);text-transform:uppercase;transition:color .18s ease-out}.party-countdown.show{display:block}.party-row.st-downed .party-name,.party-row.st-downed .party-countdown{color:var(--ui-warn)}.party-row.st-downed .party-medallion{border-color:var(--ui-warn)}.party-row.st-downed .party-medallion,.party-row.st-downed .party-countdown{animation:heartChipPulse 1.1s ease-in-out infinite}.party-row.st-carried .party-name,.party-row.st-carried .party-countdown{color:var(--ui-accent)}.party-row.st-saved .party-name,.party-row.st-saved .party-countdown{color:var(--ui-ok)}.party-row.st-ghost{filter:saturate(.2) brightness(.62)}.party-row.st-ghost .party-countdown{color:var(--ui-muted)}.party-row.st-ghost .party-medallion:after{content:"✝";position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:grid;place-items:center;color:var(--ui-ink);font-size:20px;line-height:1;text-shadow:0 1px 3px #000}@media (max-height: 868px){.party-row:nth-child(n+8){display:none}}@media (max-height: 813px){.party-row:nth-child(n+7){display:none}}@media (max-height: 758px){.party-row:nth-child(n+6){display:none}}@media (max-height: 703px){.party-row:nth-child(n+5){display:none}}@media (max-height: 648px){.party-row:nth-child(n+4){display:none}}@media (max-height: 593px){.party-row:nth-child(n+3){display:none}}#game-top-right{position:fixed;top:16px;right:16px;z-index:var(--ui-z-hud);display:flex;flex-direction:column;align-items:flex-end;gap:8px;max-width:calc(100vw - 32px);pointer-events:none}#time-panel{display:inline-flex;align-items:center;min-height:46px;padding:8px 18px;background:var(--ui-glass);border:var(--ui-hairline);color:var(--ui-ink);text-shadow:0 1px 3px rgba(0,0,0,.95);animation:hudPop .3s ease-out both}#time-panel.hidden{display:none}.time-readout{display:grid;gap:4px;min-width:80px;justify-items:center;font-variant-numeric:tabular-nums}#time-night{color:var(--ui-ink);font:500 var(--ui-fs-base)/1 var(--ui-font-title);letter-spacing:var(--ui-track-2);text-transform:uppercase}#time-phase{color:var(--ui-muted);font:500 var(--ui-fs-xs)/1 var(--ui-font-title);letter-spacing:var(--ui-track-3);text-transform:uppercase}#time-clock{color:var(--ui-ink);font:400 22px/1 var(--ui-font-mono);letter-spacing:.04em}#heart-chip{position:fixed;top:14px;left:50%;z-index:var(--ui-z-hud);transform:translate(-50%);display:inline-flex;align-items:center;gap:10px;padding:9px 16px;background:var(--ui-glass);border:var(--ui-hairline);pointer-events:none;opacity:.82;transition:opacity .22s ease-out;text-shadow:0 1px 3px rgba(0,0,0,.95)}#heart-chip.hidden{display:none}.heart-chip-sigil{color:var(--ui-hp);font-size:15px;line-height:1;transition:color .18s ease-out,transform .18s ease-out}.heart-chip-track{position:relative;box-sizing:border-box;width:140px;height:9px;overflow:hidden;background:var(--ui-bg);border:var(--ui-hairline);transition:border-color .18s ease-out}.heart-chip-fill{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:left center;transform:scaleX(1);background:var(--ui-hp);transition:transform .14s linear}#heart-chip-pct{min-width:38px;text-align:right;color:var(--ui-ink);font:500 12px/1 var(--ui-font-mono);font-variant-numeric:tabular-nums}#heart-chip.dmg{opacity:.9}#heart-chip.crit{opacity:1}#heart-chip.crit #heart-chip-pct{color:var(--ui-danger)}#heart-chip.crit .heart-chip-sigil,#heart-chip.crit #heart-chip-pct{animation:heartChipPulse 1.1s ease-in-out infinite}@keyframes heartChipPulse{0%,to{opacity:.55}18%{opacity:1}45%{opacity:.7}}#heart-chip.hit{opacity:1}#heart-chip.hit .heart-chip-track{border-color:var(--ui-accent)}#heart-chip.hit .heart-chip-sigil{color:var(--ui-ink);transform:scale(1.3)}#heart-chip.dead{filter:saturate(.25) brightness(.7)}#net-summary{position:fixed;top:0;left:0;z-index:var(--ui-z-hud);display:inline-flex;align-items:baseline;gap:10px;padding:2px 4px;color:var(--ui-muted);font:400 11px/1 var(--ui-font-mono);font-variant-numeric:tabular-nums;text-shadow:0 1px 3px rgba(0,0,0,.95);white-space:nowrap;pointer-events:none}#net-summary.hidden{display:none}.ns-item{display:inline-flex;align-items:baseline;gap:5px}.ns-label{color:var(--ui-muted);font-size:9px;letter-spacing:var(--ui-track-1)}#net-summary b{color:var(--ui-ink);font-weight:500}#net-monitor,#perf-monitor{position:fixed;top:58px;z-index:var(--ui-z-hud);padding:var(--ui-sp-2) var(--ui-sp-3);pointer-events:none;color:var(--ui-ink);font:400 11px/1.4 var(--ui-font-mono);font-variant-numeric:tabular-nums;background:var(--ui-glass);border:var(--ui-hairline)}#net-monitor{right:16px;min-width:340px}#perf-monitor{left:16px;min-width:300px;max-width:330px}#net-monitor.hidden,#perf-monitor.hidden{display:none}#net-monitor .nm-row{display:grid;grid-template-columns:52px 150px 1fr;align-items:center;gap:8px;height:23px}#perf-monitor .nm-row{display:flex;justify-content:space-between;align-items:center;height:22px}.nm-row span{color:var(--ui-muted)}.nm-row b{font-weight:500;color:var(--ui-ink)}#net-monitor canvas{display:block;width:100%;height:22px;opacity:.55}#perf-monitor canvas{display:block;width:100%;height:56px;margin:4px 0 6px}#perf-monitor table{width:100%;border-collapse:collapse;margin-bottom:6px}#perf-monitor th{text-align:left;color:var(--ui-muted);font-weight:500}#perf-monitor td,#perf-monitor th{padding:1px 4px 1px 0}#perf-monitor td:nth-child(n+2){text-align:right}.pm-bar{width:54px;height:6px;overflow:hidden;background:var(--ui-hair)}.pm-bar i{display:block;height:100%;background:var(--ui-accent)}.pm-spike{color:var(--ui-danger);font-size:10px;line-height:1.5}.pm-hint{margin-top:4px;color:var(--ui-muted);font-size:10px}.pm-warn{margin:2px 0 4px;padding:3px 6px;color:var(--ui-warn);font-size:10px;line-height:1.4;border-left:2px solid var(--ui-warn);background:#d3b37a1a}.pm-warn.hidden{display:none}.director{position:fixed;top:12px;left:12px;z-index:var(--ui-z-toast);min-width:210px;padding:var(--ui-sp-3) var(--ui-sp-3);pointer-events:none;color:var(--ui-ink);font:400 11px/1.5 var(--ui-font-mono);background:var(--ui-glass-2);border:var(--ui-hairline)}.director__title{margin-bottom:6px;color:var(--ui-accent);font:500 var(--ui-fs-xs)/1 var(--ui-font-title);letter-spacing:var(--ui-track-3);text-transform:uppercase}.director__row{display:flex;justify-content:space-between;gap:14px}.director__label{color:var(--ui-muted)}.director__value{font-variant-numeric:tabular-nums;text-align:right}@media (max-width: 420px){#game-top-right{gap:8px}#time-panel{padding-inline:9px}.time-readout{min-width:68px}.heart-chip-track{width:110px}#net-monitor{min-width:0;width:calc(100vw - 32px)}}@media (prefers-reduced-motion: reduce){.game-tip{transition:none}.party-thread-sigil.active,.party-row.st-downed .party-medallion,.party-row.st-downed .party-countdown,.party-row.crit .party-name,.party-row.crit .party-medallion{animation:none}}.gp{position:fixed;top:12px;right:12px;z-index:var(--ui-z-toast);width:340px;max-height:calc(100vh - 24px);overflow:auto;padding:10px;color:var(--ui-ink);font:400 11px/1.4 var(--ui-font-mono);background:var(--ui-glass-2);border:var(--ui-hairline)}.gp.hidden{display:none}.gp__title{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;color:var(--ui-accent);font:500 var(--ui-fs-xs)/1 var(--ui-font-title);letter-spacing:var(--ui-track-3);text-transform:uppercase}.gp__section{margin-top:10px;padding-top:6px;border-top:var(--ui-hairline)}.gp__section-title{margin-bottom:4px;color:var(--ui-muted);text-transform:uppercase;letter-spacing:.08em}.gp__row{display:grid;grid-template-columns:96px 1fr 52px;gap:6px;align-items:center;margin:2px 0}.gp__row label{color:var(--ui-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gp__row input[type=range]{width:100%;margin:0}.gp__row input[type=number]{width:100%;box-sizing:border-box;font:inherit;color:inherit;background:transparent;border:var(--ui-hairline);padding:1px 3px}.gp__row input[type=color]{width:100%;height:18px;padding:0;border:var(--ui-hairline);background:transparent}.gp__vec{display:grid;grid-template-columns:96px 1fr;gap:6px;align-items:start;margin:2px 0}.gp__vec-rows{display:grid;gap:2px}.gp__vec-row{display:grid;grid-template-columns:12px 1fr 52px;gap:6px;align-items:center}.gp__toolbar{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0}.gp__toolbar button,.gp__toolbar select{font:inherit;color:inherit;background:transparent;border:var(--ui-hairline);padding:2px 6px;cursor:pointer}.gp__toolbar button.on{color:var(--ui-accent)}.gp__status{margin-top:6px;color:var(--ui-muted);min-height:1.4em}.gp__readout{color:var(--ui-muted);font-variant-numeric:tabular-nums;white-space:pre}
