@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geologica-cyrillic-ext-wght-normal-C8B9Chlh.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geologica-cyrillic-wght-normal-DbeVG3Ps.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geologica-greek-wght-normal-DPM5d9ub.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geologica-vietnamese-wght-normal-DcI17N1q.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geologica-latin-ext-wght-normal-DZyYlgcm.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geologica-latin-wght-normal-BBL8hQxZ.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--signal-rgb: 232 255 104;--danger-rgb: 255 128 111;--success-rgb: 146 217 170;--paper-rgb: 255 255 255;--ink-rgb: 10 11 11;--joy-peach-rgb: 255 183 125;--joy-sky-rgb: 142 220 255;--joy-violet-rgb: 154 138 255;--a-1: .02;--a-2: .04;--a-3: .07;--a-4: .1;--a-5: .14;--a-6: .2;--a-7: .28;--a-8: .4;--a-9: .6;--a-10: .85;--ink-0: #0a0b0b;--ink-1: #0f1111;--ink-2: #141717;--ink-3: #1b1e1e;--ink-4: #242929;--line-soft: rgb(var(--paper-rgb) / .085);--line: rgb(var(--paper-rgb) / .15);--line-bright: rgb(var(--paper-rgb) / .34);--paper: #f1f3f1;--paper-muted: #adb5b1;--paper-dim: #858d89;--signal: #e8ff68;--signal-hover: #f2ff9e;--signal-soft: rgb(var(--signal-rgb) / var(--a-5));--signal-tint: rgb(var(--signal-rgb) / var(--a-3));--signal-wash: rgb(var(--signal-rgb) / var(--a-1));--signal-line: rgb(var(--signal-rgb) / var(--a-7));--signal-line-soft: rgb(var(--signal-rgb) / var(--a-5));--signal-line-bright: rgb(var(--signal-rgb) / var(--a-8));--danger: #ff806f;--danger-tint: rgb(var(--danger-rgb) / var(--a-3));--danger-line: rgb(var(--danger-rgb) / var(--a-7));--danger-strong: #ff5a4a;--danger-deep: #c9271a;--danger-line-bright: rgb(var(--danger-rgb) / var(--a-8));--success: #92d9aa;--success-tint: rgb(var(--success-rgb) / var(--a-3));--success-line: rgb(var(--success-rgb) / var(--a-7));--joy-peach: #ffb77d;--joy-peach-soft: rgb(var(--joy-peach-rgb) / var(--a-4));--joy-peach-line: rgb(var(--joy-peach-rgb) / var(--a-6));--joy-sky: #8edcff;--tier-1: var(--paper-dim);--tier-2: var(--paper-muted);--tier-3: #7fb2ff;--tier-4: #63d2c3;--tier-5: #8fe36b;--tier-6: #d8e85a;--tier-7: var(--signal);--tier-8: #ff9f4a;--joy-sky-soft: rgb(var(--joy-sky-rgb) / var(--a-3));--joy-sky-line: rgb(var(--joy-sky-rgb) / var(--a-6));--joy-violet: #9a8aff;--joy-violet-soft: rgb(var(--joy-violet-rgb) / var(--a-3));--joy-violet-line: rgb(var(--joy-violet-rgb) / var(--a-6));--surface-ghost: rgb(var(--paper-rgb) / var(--a-1));--surface-ghost-hover: rgb(var(--paper-rgb) / var(--a-2));--surface-raised: rgb(var(--paper-rgb) / var(--a-3));--surface-well: rgb(var(--ink-rgb) / var(--a-8));--surface-scrim: rgb(var(--ink-rgb) / var(--a-10));--level-0: var(--ink-0);--level-1: var(--ink-1);--level-2: var(--ink-2);--level-3: var(--ink-3);--level-hover: var(--ink-4);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-14: 56px;--space-16: 64px;--radius-2xs: 3px;--radius-xs: 6px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 24px;--radius-pill: 999px;--radius-circle: 50%;--control-xs: 28px;--control-sm: 32px;--control-md: 36px;--control-lg: 40px;--control-xl: 48px;--text-micro: clamp(10px, .45vw, 12px);--text-caption: clamp(11px, .5vw, 13px);--text-small: clamp(12px, .55vw, 14px);--text-body: clamp(13px, .62vw, 15px);--text-lead: clamp(15px, .85vw, 19px);--text-title: clamp(19px, 1.45vw, 24px);--font-mono: "IBM Plex Mono", ui-monospace, monospace;--dur-fast: .16s;--dur-base: .18s;--dur-slow: .32s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-signal: cubic-bezier(.22, .75, .18, 1);--shadow-sm: 0 4px 12px rgba(0, 0, 0, .28);--shadow-md: 0 12px 30px rgba(0, 0, 0, .38);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .5);--glow-signal: 0 8px 22px rgb(var(--signal-rgb) / var(--a-4))}:root{--scrollbar-thumb: rgb(var(--signal-rgb) / var(--a-8));--scrollbar-thumb-hover: rgb(var(--signal-rgb) / var(--a-9))}.qg-btn{--btn-h: var(--control-md);--btn-px: var(--space-3);--btn-fg: var(--paper-dim);--btn-bg: var(--surface-ghost);--btn-bd: var(--line);--btn-fg-hover: var(--paper);--btn-bg-hover: var(--surface-ghost-hover);--btn-bd-hover: var(--line-bright);display:inline-flex;height:var(--btn-h);flex:0 0 auto;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--btn-px);border:1px solid var(--btn-bd);border-radius:var(--radius-sm);color:var(--btn-fg);background:var(--btn-bg);cursor:pointer;font-family:inherit;font-size:var(--text-caption);font-weight:600;line-height:1;white-space:nowrap;text-decoration:none}.qg-btn:hover:not(:disabled):not([aria-disabled=true]){border-color:var(--btn-bd-hover);color:var(--btn-fg-hover);background:var(--btn-bg-hover)}.qg-btn:disabled,.qg-btn[aria-disabled=true]{cursor:default;opacity:.5}.qg-btn.is-busy:disabled{cursor:wait;opacity:.6}.qg-btn--ghost{--btn-fg: var(--paper-dim);--btn-bg: var(--surface-ghost);--btn-bd: var(--line)}.qg-btn--primary{--btn-fg: var(--ink-0);--btn-bg: var(--signal);--btn-bd: var(--signal);--btn-fg-hover: var(--ink-0);--btn-bg-hover: var(--signal-hover);--btn-bd-hover: var(--signal-hover);font-weight:650}.qg-btn--primary:hover:not(:disabled){box-shadow:var(--glow-signal)}.qg-btn--subtle{--btn-fg: var(--signal);--btn-bg: var(--signal-tint);--btn-bd: var(--signal-line-soft);--btn-fg-hover: var(--signal);--btn-bg-hover: var(--signal-soft);--btn-bd-hover: var(--signal-line)}.qg-btn--danger{--btn-fg-hover: var(--danger);--btn-bg-hover: var(--danger-tint);--btn-bd-hover: var(--danger-line)}.qg-btn--danger-solid{--btn-fg: var(--danger);--btn-bg: var(--danger-tint);--btn-bd: var(--danger-line);--btn-fg-hover: var(--danger);--btn-bg-hover: rgb(var(--danger-rgb) / var(--a-5));--btn-bd-hover: var(--danger)}.qg-btn--success{--btn-fg-hover: var(--success);--btn-bg-hover: var(--success-tint);--btn-bd-hover: var(--success-line)}.qg-btn--quiet{--btn-fg: var(--paper-muted);--btn-bg: transparent;--btn-bd: transparent;--btn-fg-hover: var(--paper);--btn-bg-hover: var(--surface-ghost-hover);--btn-bd-hover: transparent}.qg-btn--xs{--btn-h: var(--control-xs);--btn-px: var(--space-2);gap:var(--space-1);border-radius:var(--radius-xs);font-size:var(--text-micro)}.qg-btn--sm{--btn-h: var(--control-sm);--btn-px: var(--space-3);gap:var(--space-2);font-size:var(--text-caption)}.qg-btn--md{--btn-h: var(--control-md);--btn-px: var(--space-4)}.qg-btn--lg{--btn-h: var(--control-lg);--btn-px: var(--space-5);border-radius:var(--radius-md);font-size:var(--text-small)}.qg-btn--xl{--btn-h: var(--control-xl);--btn-px: var(--space-6);border-radius:var(--radius-md);font-size:var(--text-small)}.qg-btn--icon{--btn-px: 0;width:var(--btn-h);padding:0}.qg-btn--pill{border-radius:var(--radius-pill)}.qg-btn--block{display:flex;width:100%}.qg-btn svg{width:15px;height:15px;flex:0 0 auto}.qg-btn--xs svg{width:13px;height:13px}.qg-btn--lg svg,.qg-btn--xl svg{width:17px;height:17px}.qg-btn.is-active,.qg-btn[aria-pressed=true],.qg-btn[aria-selected=true]{--btn-fg: var(--signal);--btn-bg: var(--signal-soft);--btn-bd: var(--signal-line);--btn-fg-hover: var(--signal);--btn-bg-hover: var(--signal-soft);--btn-bd-hover: var(--signal-line)}.qg-btn--toggle.is-active,.qg-btn--toggle[aria-pressed=true],.qg-btn--toggle[aria-selected=true]{--btn-fg: var(--paper);--btn-bg: var(--surface-raised);--btn-bd: transparent;--btn-fg-hover: var(--paper);--btn-bg-hover: var(--surface-raised);--btn-bd-hover: transparent}.qg-menu{display:grid;gap:2px}.qg-menu-item{display:grid;min-height:var(--control-sm);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-2);padding:0 var(--space-2);border:0;border-radius:var(--radius-xs);color:var(--paper-muted);background:transparent;cursor:pointer;font-family:inherit;font-size:var(--text-caption);text-align:left}.qg-menu-item>i{display:grid;place-items:center;color:var(--paper-dim)}.qg-menu-item>small{color:var(--paper-dim);font:500 var(--text-micro) / 1 var(--font-mono)}.qg-menu-item:hover:not(:disabled){color:var(--paper);background:var(--surface-ghost-hover)}.qg-menu-item:hover:not(:disabled)>i{color:var(--signal)}.qg-menu-item--danger:hover:not(:disabled),.qg-menu-item--danger:hover:not(:disabled)>i{color:var(--danger)}.qg-menu-item--danger:hover:not(:disabled){background:var(--danger-tint)}.qg-menu-item:disabled{cursor:default;opacity:.45}.qg-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border-bottom:1px solid var(--line)}.qg-tab{position:relative;padding:0 0 var(--space-3);border:0;color:var(--paper-dim);background:none;cursor:pointer;font-family:inherit;font-size:var(--text-micro)}.qg-tab:after{position:absolute;right:0;bottom:-1px;left:0;height:1px;content:"";background:transparent;transform:scaleX(.32)}.qg-tab:hover,.qg-tab[aria-selected=true]{color:var(--paper)}.qg-tab[aria-selected=true]:after{background:var(--signal);box-shadow:0 0 12px var(--signal-line);transform:scaleX(1)}.qg-field{--field-h: var(--control-lg);width:100%;height:var(--field-h);padding:0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--paper);background:var(--surface-well);font-family:inherit;font-size:var(--text-small)}.qg-field::placeholder{color:var(--paper-dim)}.qg-field:hover:not(:disabled){border-color:var(--line-bright)}.qg-field:focus{border-color:var(--signal-line);background:var(--ink-1);box-shadow:0 0 0 3px var(--signal-tint);outline:none}.qg-field:disabled{cursor:default;opacity:.5}.qg-field--sm{--field-h: var(--control-sm);font-size:var(--text-caption)}.qg-field--textarea{height:auto;min-height:calc(var(--control-xl) * 2);padding:var(--space-3);line-height:1.5;resize:vertical}.qg-chip{display:inline-flex;height:var(--control-xs);align-items:center;gap:var(--space-1);padding:0 var(--space-3);border:1px solid var(--line-soft);border-radius:var(--radius-pill);color:var(--paper-muted);background:var(--surface-ghost);font:500 var(--text-micro) / 1 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.qg-chip--signal{border-color:var(--signal-line-soft);color:var(--signal);background:var(--signal-tint)}.qg-chip--danger{border-color:var(--danger-line);color:var(--danger);background:var(--danger-tint)}.qg-chip--success{border-color:var(--success-line);color:var(--success);background:var(--success-tint)}.qg-actions{display:flex;align-items:center;gap:var(--space-2)}.qg-actions--end{justify-content:flex-end}.qg-actions--between{justify-content:space-between}.qg-actions--wrap{flex-wrap:wrap}.qg-select{padding-right:var(--space-8);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23adb5b1' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;background-size:12px 8px;cursor:pointer}.qg-select option{background:var(--ink-2);color:var(--paper)}.qg-check{display:inline-flex;align-items:center;gap:var(--space-3);color:var(--paper);font-size:var(--text-small);cursor:pointer}.qg-check input[type=checkbox]{position:relative;width:var(--space-5);height:var(--space-5);flex:0 0 auto;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line-bright);border-radius:var(--radius-2xs);background:var(--surface-well);cursor:pointer}.qg-check input[type=checkbox]:hover:not(:disabled){border-color:var(--signal-line)}.qg-check input[type=checkbox]:checked{border-color:var(--signal);background:var(--signal)}.qg-check input[type=checkbox]:checked:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:var(--ink-0);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5 6.5 11.5 12.5 4.5' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat}.qg-check input[type=checkbox]:focus-visible{box-shadow:0 0 0 3px var(--signal-tint);outline:none}.qg-check input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}:root{color-scheme:dark;font-family:Geologica,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden;background:var(--ink-0)}body{min-width:320px;color:var(--paper)}button,input{font:inherit}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--signal);outline-offset:3px}::selection{color:var(--ink-0);background:var(--signal)}html{scroll-behavior:smooth}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-track:vertical{margin:var(--space-4) 0}*::-webkit-scrollbar-track:horizontal{margin:0 var(--space-4)}*::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:var(--radius-pill);background:var(--scrollbar-thumb);background-clip:content-box;transition:background var(--dur-fast) ease}*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);background-clip:content-box}*::-webkit-scrollbar-thumb:active{background:var(--signal);background-clip:content-box}*::-webkit-scrollbar-button{display:none;width:0;height:0;background:transparent;background-image:none}*::-webkit-scrollbar-button:single-button{display:none;width:0;height:0}*::-webkit-scrollbar-button:double-button{display:none;width:0;height:0}*::-webkit-scrollbar-button:start:decrement{display:none;width:0;height:0}*::-webkit-scrollbar-button:end:increment{display:none;width:0;height:0}*::-webkit-scrollbar-button:vertical:decrement{display:none;height:0}*::-webkit-scrollbar-button:vertical:increment{display:none;height:0}*::-webkit-scrollbar-button:horizontal:decrement{display:none;width:0}*::-webkit-scrollbar-button:horizontal:increment{display:none;width:0}*::-webkit-scrollbar-track-piece{background:transparent}*::-webkit-scrollbar-corner{background:transparent}.qg-emoji{display:inline-block;font-size:.92em;line-height:1;transform:translateY(-.06em);vertical-align:baseline}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:0var(--dur-fast)!important;animation-iteration-count:1!important;transition-duration:0var(--dur-fast)!important}}.auth-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:var(--space-6);overflow:hidden;background:rgb(var(--ink-rgb) / var(--a-9));-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);opacity:0;pointer-events:none;visibility:hidden;transition:opacity var(--dur-slow) ease,backdrop-filter .42s ease,visibility 0s linear .46s}.auth-modal.is-open{opacity:1;pointer-events:auto;visibility:visible;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:opacity var(--dur-slow) ease,backdrop-filter .42s ease,visibility 0s}.auth-modal-glow{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.auth-modal-glow:before{position:absolute;top:12%;left:50%;width:min(72vw,980px);height:min(72vw,980px);border:1px solid var(--signal-line-soft);border-radius:50%;content:"";opacity:0;transform:translate(-50%,-50%) scale(.72);transition:opacity .5s ease var(--dur-fast),transform .8s cubic-bezier(.22,1,.36,1)}.auth-modal.is-open .auth-modal-glow:before{opacity:1;transform:translate(-50%,-50%) scale(1)}.auth-modal-glow i{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--signal);box-shadow:0 0 20px rgb(var(--signal-rgb) / var(--a-10));opacity:0}.auth-modal-glow i:nth-child(1){top:18%;left:24%}.auth-modal-glow i:nth-child(2){top:72%;left:78%}.auth-modal-glow i:nth-child(3){top:34%;left:84%}.auth-modal.is-open .auth-modal-glow i{animation:auth-particle-in .7s var(--ease-out) both,auth-particle-drift 2.6s ease-in-out .7s infinite alternate}.auth-modal.is-open .auth-modal-glow i:nth-child(2){animation-delay:.1s,.8s}.auth-modal.is-open .auth-modal-glow i:nth-child(3){animation-delay:.18s,.88s}.auth-dialog{position:relative;display:grid;grid-template-columns:minmax(260px,.82fr) minmax(390px,1fr);width:min(920px,calc(100vw - 48px));max-height:min(760px,calc(100dvh - 48px));overflow:hidden;border:1px solid var(--line-bright);border-radius:var(--radius-xl);background:var(--ink-1);box-shadow:0 42px 120px #0000009e,0 0 0 1px rgb(var(--paper-rgb) / var(--a-1)) inset;opacity:0;transform:translateY(28px) scale(.965);transition:opacity var(--dur-base) ease,transform .46s cubic-bezier(.22,1,.36,1)}.auth-modal.is-open .auth-dialog{opacity:1;transform:translateY(0) scale(1)}.auth-dialog-story{position:relative;display:flex;min-height:620px;flex-direction:column;justify-content:space-between;padding:var(--space-8);overflow:hidden;border-right:1px solid var(--line);background:linear-gradient(145deg,var(--surface-ghost-hover),transparent 42%),radial-gradient(circle at 24% 28%,var(--signal-soft),transparent 25%),radial-gradient(circle at 88% 85%,var(--joy-peach-soft),transparent 32%),var(--ink-2)}.auth-dialog-story:after{position:absolute;right:-86px;bottom:-112px;width:310px;height:310px;border:1px solid var(--signal-line-soft);border-radius:50%;content:"";box-shadow:0 0 0 38px rgb(var(--signal-rgb) / var(--a-1)),0 0 0 86px rgb(var(--signal-rgb) / var(--a-1))}.auth-dialog-story header{display:flex;align-items:center;gap:var(--space-2);font:600 11px/1 IBM Plex Mono,monospace;letter-spacing:.14em}.auth-dialog-story header svg{width:25px;color:var(--signal)}.auth-kicker{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);color:var(--signal);font:500 var(--text-micro)/1.2 "IBM Plex Mono",monospace;letter-spacing:.12em}.auth-dialog-story h2{margin:0;color:var(--paper);font-size:clamp(30px,3vw,45px);font-weight:500;line-height:1;letter-spacing:-.055em}.auth-dialog-story h2 em{color:var(--paper);font-style:normal}.auth-dialog-story p{max-width:310px;margin:var(--space-5) 0 0;color:var(--paper-muted);font-size:var(--text-caption);line-height:1.65}.auth-story-note{position:relative;z-index:1;color:var(--paper-dim);font:500 var(--text-micro)/1 "IBM Plex Mono",monospace;letter-spacing:.13em}.auth-dialog-form{position:relative;display:flex;min-width:0;flex-direction:column;justify-content:center;padding:var(--space-10) clamp(var(--space-8),4vw,var(--space-14));overflow-y:auto;background:radial-gradient(circle at 100% 0,rgb(var(--joy-sky-rgb) / var(--a-2)),transparent 24%),var(--ink-0)}.auth-close{position:absolute;top:var(--space-5);right:var(--space-5)}.auth-heading{position:relative;margin-bottom:var(--space-6)}.auth-index{position:absolute;top:5px;right:0;color:var(--paper-dim);font:500 var(--text-micro)/1 "IBM Plex Mono",monospace}.auth-heading h2{margin:0 0 var(--space-2);color:var(--paper);font-size:clamp(27px,2.4vw,36px);font-weight:500;letter-spacing:-.045em}.auth-heading p{margin:0;padding-right:var(--space-5);color:var(--paper-muted);font-size:var(--text-caption);line-height:1.45}.auth-tabs{margin-bottom:var(--space-5)}.auth-form{display:grid;gap:var(--space-3)}.field{display:grid;gap:var(--space-2);color:var(--paper-muted)}.field>span{font:500 var(--text-micro)/1 "IBM Plex Mono",monospace;letter-spacing:.1em;text-transform:uppercase}.field-control{display:flex;height:var(--control-xl);align-items:center;gap:var(--space-3);padding:0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink-2)}.field-control:focus-within{border-color:var(--signal-line);background:var(--ink-3);box-shadow:0 0 0 3px rgb(var(--signal-rgb) / var(--a-1))}.field-control svg{flex:0 0 auto;color:var(--paper-dim)}.field-control input{width:100%;min-width:0;border:0;outline:0;color:var(--paper);background:transparent;font-size:var(--text-caption)}.field-control input::placeholder{color:var(--paper-dim)}.password-toggle{flex:0 0 var(--control-xs)}.auth-error{min-height:16px;margin:-2px 0;color:var(--danger);font-size:var(--text-caption);line-height:1.45;opacity:0;transition:opacity var(--dur-fast) ease}.auth-error.visible{opacity:1}.primary-auth-action{position:relative;justify-content:space-between;overflow:hidden}.auth-divider{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-4) 0;color:var(--paper-dim);font-size:var(--text-micro)}.auth-divider:before,.auth-divider:after{height:1px;flex:1;content:"";background:var(--line-soft)}.discord-action{--btn-fg: var(--paper);--btn-bg: var(--ink-2);--btn-bg-hover: var(--ink-3)}.discord-action svg{width:17px;height:17px}.continue-as-guest{--btn-fg-hover: var(--signal);--btn-bg-hover: transparent;align-self:center;margin-top:var(--space-3)}.auth-legal{max-width:320px;margin:var(--space-2) auto 0;color:var(--paper-dim);font-size:var(--text-micro);line-height:1.45;text-align:center}@keyframes auth-particle-in{0%{opacity:0;transform:translateY(14px) scale(.5)}to{opacity:.72;transform:translateY(0) scale(1)}}@keyframes auth-particle-drift{to{transform:translateY(-8px) scale(.8);opacity:.35}}@media(max-width:780px){.auth-modal{align-items:end;padding:var(--space-3)}.auth-dialog{display:block;width:100%;max-height:calc(100dvh - 24px);border-radius:var(--radius-lg);transform:translateY(42px) scale(.98)}.auth-dialog-story{display:none}.auth-dialog-form{min-height:min(680px,calc(100dvh - 24px));justify-content:center;padding:var(--space-14) var(--space-6) var(--space-7)}.auth-heading h2{font-size:29px}}@media(max-width:430px){.auth-modal{padding:0}.auth-dialog{max-height:100dvh;border-right:0;border-bottom:0;border-left:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.auth-dialog-form{min-height:100dvh;padding-right:var(--space-5);padding-left:var(--space-5)}}@media(max-height:720px){.auth-dialog-story{min-height:0}.auth-dialog-form{justify-content:flex-start;padding-top:var(--space-14)}.auth-heading{margin-bottom:var(--space-4)}.auth-heading p,.auth-legal{display:none}.auth-tabs{margin-bottom:var(--space-3)}.field-control{height:var(--control-lg)}.primary-auth-action,.discord-action{--btn-h: var(--control-lg)}.auth-divider{margin:var(--space-3) 0}}.brand-loader{position:relative;display:inline-grid;place-items:center;color:var(--ink-4, rgb(var(--paper-rgb) / var(--a-5)))}.brand-loader:before{position:absolute;z-index:0;top:-42%;right:-42%;bottom:-42%;left:-42%;border-radius:50%;content:"";pointer-events:none;background:radial-gradient(circle,rgb(var(--signal-rgb) / var(--a-6)),transparent 68%);opacity:0;animation:brand-loader-aura 5.2s ease-in-out infinite}.brand-loader svg{position:relative;z-index:1;width:100%;height:100%;overflow:hidden}.brand-loader-outline{opacity:.9}.brand-loader-level,.brand-loader-wave{transform-box:view-box;transform-origin:0 0}.brand-loader-level{animation:brand-loader-fill 5.2s ease-in-out infinite}.brand-loader-wave path{fill:var(--brand-loader-fill, var(--signal))}.brand-loader.is-inline{--brand-loader-fill: currentColor;color:inherit}.brand-loader.is-inline .brand-loader-outline{opacity:.26}.brand-loader.is-inline .brand-loader-level{animation-duration:1.7s}.brand-loader.is-inline .brand-loader-wave-front{animation-duration:1.1s}.brand-loader.is-inline .brand-loader-wave-back{animation-duration:1.6s}.brand-loader.is-inline svg{animation:none}.brand-loader.is-inline:before{display:none}.brand-loader-wave-front{animation:brand-loader-drift 2.6s linear infinite}.brand-loader-wave-back{opacity:.45;animation:brand-loader-drift-back 3.8s linear infinite}@keyframes brand-loader-fill{0%{transform:translateY(48px)}58%{transform:translateY(-4px)}72%{transform:translateY(-4px)}90%{transform:translateY(48px)}to{transform:translateY(48px)}}@keyframes brand-loader-drift{to{transform:translate(-21px)}}@keyframes brand-loader-drift-back{to{transform:translate(21px)}}@keyframes brand-loader-aura{0%,to{opacity:0}58%,72%{opacity:1}}@media(prefers-reduced-motion:reduce){.brand-loader-level,.brand-loader-wave-front,.brand-loader-wave-back,.brand-loader svg,.brand-loader:before{animation:none}.brand-loader-level{transform:translateY(-4px)}.brand-loader-wave-back{opacity:0}}.brand-loader.is-on-demand .brand-loader-level,.brand-loader.is-on-demand .brand-loader-wave,.brand-loader.is-on-demand:before{animation:none}.brand-loader.is-on-demand .brand-loader-level{transform:translateY(-4px)}.brand-loader.is-on-demand:before{opacity:0}.brand-home:hover .brand-loader.is-on-demand .brand-loader-level,.brand-home:focus-visible .brand-loader.is-on-demand .brand-loader-level{animation:brand-home-breathe 2.8s ease-in-out infinite}.brand-home:hover .brand-loader.is-on-demand .brand-loader-wave-back,.brand-home:focus-visible .brand-loader.is-on-demand .brand-loader-wave-back{animation:brand-loader-drift 2.6s linear infinite}.brand-home:hover .brand-loader.is-on-demand .brand-loader-wave-front,.brand-home:focus-visible .brand-loader.is-on-demand .brand-loader-wave-front{animation:brand-loader-drift-back 3.8s linear infinite}.brand-home:hover .brand-loader.is-on-demand:before,.brand-home:focus-visible .brand-loader.is-on-demand:before{animation:brand-home-aura 2.8s ease-in-out infinite}@keyframes brand-home-breathe{0%,to{transform:translateY(-4px)}50%{transform:translateY(-1px)}}@keyframes brand-home-aura{0%,to{opacity:.35}50%{opacity:.85}}.news-stage{position:relative;display:grid;width:100%;height:100%;min-height:0;grid-template-rows:minmax(0,1fr)}.news-toolbar{position:absolute;top:14px;right:calc(var(--space-3) + 14px);z-index:20;display:flex;justify-content:flex-end}.news-scroll{min-height:0;padding:0 var(--space-3) 0 0;overflow-y:auto}.news-bento{display:grid;min-height:clamp(380px,50vh,560px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:var(--space-3)}.news-bento.is-full{min-height:max(100%,320px)}.news-bento.tiles-0 .news-card-hero{grid-column:1 / 3}.news-bento.tiles-1 .news-card-tile{grid-row:1 / 3}.news-card{position:relative;overflow:hidden;border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--ink-2);animation:news-card-enter var(--dur-slow) var(--ease-out) both;transition:border-color var(--dur-base) ease,box-shadow var(--dur-slow) ease}.news-card-hero{grid-row:1 / 3;animation-delay:0ms}.news-card-tile:nth-of-type(2){animation-delay:70ms}.news-card-tile:nth-of-type(3){animation-delay:.14s}.news-card:hover{border-color:var(--signal-line);box-shadow:0 22px 54px #0000006b}.news-card-open{display:flex;width:100%;height:100%;flex-direction:column;justify-content:flex-end;padding:0;border:0;background:transparent;cursor:pointer;text-align:left}.news-card-media{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.news-card-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.01);transition:transform var(--dur-slow) var(--ease-out);will-change:transform}.news-card:hover .news-card-media img{transform:scale(1.06)}.news-card-fallback{display:grid;width:100%;height:100%;place-items:center;background:radial-gradient(circle at 30% 24%,var(--signal-soft),transparent 46%),radial-gradient(circle at 76% 78%,var(--joy-sky-soft),transparent 42%),linear-gradient(150deg,var(--surface-ghost-hover),transparent 44%),var(--ink-3)}.news-card-fallback svg{width:34%;max-width:96px;opacity:.24;color:var(--signal)}.news-card-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgb(var(--ink-rgb) / var(--a-10)),rgb(var(--ink-rgb) / var(--a-10)) 26%,rgb(var(--ink-rgb) / var(--a-7)) 56%,rgb(var(--ink-rgb) / var(--a-2)))}.news-card-content{position:relative;z-index:2;display:grid;gap:var(--space-2);padding:clamp(var(--space-4),1.5vw,var(--space-6))}.news-card-tags{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1)}.news-card-tags b{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-xs);font:650 10px/1.5 IBM Plex Mono,monospace;letter-spacing:.06em}.news-tag-fresh{color:var(--ink-0);background:var(--signal)}.news-tag-draft{color:var(--joy-peach);background:var(--joy-peach-soft)}.news-tag-date{border:1px solid var(--line);color:var(--paper-muted);background:rgb(var(--ink-rgb) / var(--a-7))}.news-card-title{color:var(--paper);font-weight:500;letter-spacing:-.03em;line-height:1.14}.news-card-hero .news-card-title{font-size:clamp(22px,2.3vw,38px)}.news-card-tile .news-card-title{display:-webkit-box;overflow:hidden;font-size:clamp(15px,1.15vw,19px);-webkit-box-orient:vertical;-webkit-line-clamp:2}.news-card-summary{display:-webkit-box;margin:0;overflow:hidden;color:var(--paper-muted);font-size:var(--text-small);line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}.news-card-hero .news-card-summary{max-width:62ch;font-size:clamp(13px,1vw,15px)}.news-card-tile .news-card-summary{-webkit-line-clamp:2}.news-card-foot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-1)}.news-card-author{display:flex;min-width:0;align-items:center;gap:var(--space-2);color:var(--paper-muted);font-size:var(--text-caption)}.news-card-author>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.news-card-read{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--paper-dim);font:500 var(--text-micro)/1 "IBM Plex Mono",monospace}.news-card-cta{display:inline-flex;align-items:center;gap:var(--space-1);margin-left:auto;color:var(--signal);font-size:var(--text-caption);font-weight:600;white-space:nowrap}.news-card-cta svg{transition:transform var(--dur-base) var(--ease-out)}.news-card:hover .news-card-cta svg{transform:translate(3px,-3px)}.news-card-tile .news-card-read{display:none}.news-card-tools{position:absolute;top:12px;right:12px;z-index:4;display:flex;gap:var(--space-1);opacity:0;transform:translateY(-4px);transition:opacity var(--dur-base) ease,transform var(--dur-base) var(--ease-out)}.news-card:hover .news-card-tools,.news-card:focus-within .news-card-tools,.news-row:hover .news-card-tools,.news-row:focus-within .news-card-tools{opacity:1;transform:translateY(0)}.news-card-tools button{--btn-bg: var(--surface-scrim);--btn-fg: var(--paper-muted);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.news-card-tools .news-tool-delete:hover{color:var(--danger);border-color:var(--danger-line-bright)}.news-archive{margin-top:var(--space-6)}.news-archive-head{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.news-archive-head span{color:var(--paper-dim);font:500 var(--text-micro)/1 "IBM Plex Mono",monospace;letter-spacing:.13em}.news-archive-head b{padding:2px var(--space-2);border-radius:var(--radius-xs);color:var(--signal);background:var(--signal-soft);font:650 10px/1.6 IBM Plex Mono,monospace}.news-archive-head:after{flex:1;height:1px;content:"";background:var(--line-soft)}.news-archive-list{display:grid;gap:var(--space-2)}.news-row{position:relative;border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface-ghost);animation:news-card-enter var(--dur-slow) var(--ease-out) both;transition:border-color var(--dur-fast) ease,background var(--dur-fast) ease}.news-row:hover{border-color:var(--line);background:var(--surface-ghost-hover)}.news-row-open{display:flex;width:100%;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3);border:0;background:transparent;cursor:pointer;text-align:left}.news-row-thumb{display:grid;width:74px;height:54px;flex-shrink:0;place-items:center;overflow:hidden;border-radius:var(--radius-sm);color:var(--paper-dim);background:var(--ink-3)}.news-row-thumb img{width:100%;height:100%;object-fit:cover}.news-row-copy{display:grid;min-width:0;flex:1;gap:var(--space-1)}.news-row-copy strong{display:flex;align-items:center;gap:var(--space-2);overflow:hidden;color:var(--paper);font-size:var(--text-small);font-weight:500;text-overflow:ellipsis;white-space:nowrap}.news-row-summary{overflow:hidden;color:var(--paper-muted);font-size:var(--text-caption);text-overflow:ellipsis;white-space:nowrap}.news-row-meta{color:var(--paper-dim);font:500 var(--text-micro)/1.4 "IBM Plex Mono",monospace}.news-row-arrow{flex-shrink:0;margin-right:var(--space-16);color:var(--paper-dim);transition:color var(--dur-fast) ease,transform var(--dur-base) var(--ease-out)}.news-row:hover .news-row-arrow{color:var(--signal);transform:translate(2px,-2px)}.news-row .news-card-tools{top:50%;margin-top:calc(-1 * var(--space-4));transform:translateY(0) translate(4px)}.news-row:hover .news-card-tools,.news-row:focus-within .news-card-tools{transform:translateY(0) translate(0)}.news-empty-state{display:grid;min-height:100%;gap:var(--space-3);align-content:center;justify-items:center;padding:var(--space-10) var(--space-5);color:var(--paper-dim);text-align:center}.news-empty-state>span{display:grid;width:50px;height:var(--control-xl);place-items:center;border:1px solid var(--line-soft);border-radius:50%;color:var(--paper-dim)}.news-empty-state strong{display:block;margin-bottom:var(--space-1);color:var(--paper);font-weight:500}.news-empty-state p{margin:0;font-size:var(--text-caption)}.news-skeleton{display:grid;min-height:max(100%,320px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:var(--space-3)}.news-skeleton-hero{grid-row:1 / 3}.news-skeleton-card{position:relative;display:flex;min-height:0;flex-direction:column;justify-content:flex-end;gap:var(--space-3);overflow:hidden;padding:clamp(var(--space-4),1.5vw,var(--space-6));border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--ink-2)}.news-skeleton-card:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:linear-gradient(100deg,transparent 18%,var(--surface-raised) 50%,transparent 82%);transform:translate(-100%);animation:news-shimmer 1.5s ease-in-out infinite}.news-skeleton-tile:nth-of-type(2):after{animation-delay:.16s}.news-skeleton-tile:nth-of-type(3):after{animation-delay:.32s}.news-skeleton-chip,.news-skeleton-title,.news-skeleton-line{border-radius:var(--radius-xs);background:var(--surface-raised)}.news-skeleton-chip{width:88px;height:17px}.news-skeleton-title{width:58%;height:20px;border-radius:var(--radius-xs);background:var(--surface-raised)}.news-skeleton-hero .news-skeleton-title{width:66%;height:var(--control-xs);border-radius:var(--radius-sm)}.news-skeleton-line{width:38%;height:12px}.news-reader-layer,.news-editor-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;padding:clamp(var(--space-3),3vw,var(--space-10));animation:news-layer-in var(--dur-base) ease both}.news-reader-backdrop,.news-editor-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;border:0;background:rgb(var(--ink-rgb) / var(--a-9));cursor:default;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.news-reader{position:relative;z-index:2;display:flex;width:min(760px,100%);max-height:100%;flex-direction:column;overflow:hidden auto;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--ink-1);box-shadow:0 40px 110px #0009;animation:news-panel-in var(--dur-slow) cubic-bezier(.22,1,.36,1) both}.news-reader-close,.news-editor-close{--btn-bg: var(--surface-scrim);position:absolute;top:var(--space-4);right:var(--space-4);z-index:5;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.news-reader-close:hover,.news-editor-close:hover{color:var(--paper);border-color:var(--line-bright)}.news-reader-cover{position:relative;height:clamp(180px,30vh,300px);flex-shrink:0}.news-reader-cover img{width:100%;height:100%;object-fit:cover}.news-reader-cover i{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,var(--ink-1),rgb(var(--ink-rgb) / var(--a-4)) 70%)}.news-reader-body{padding:clamp(var(--space-5),2.4vw,var(--space-8));padding-top:var(--space-4)}.news-reader-body h2{margin:var(--space-3) 0 0;font-size:clamp(22px,2.4vw,34px);font-weight:500;letter-spacing:-.035em;line-height:1.12}.news-reader-lead{margin:var(--space-2) 0 0;color:var(--paper-muted);font-size:clamp(14px,1.1vw,16px);line-height:1.55}.news-reader-author{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-5) 0;padding:var(--space-3) 0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.news-reader-author strong{display:block;color:var(--paper);font-size:var(--text-small);font-weight:500}.news-reader-author small{display:block;margin-top:2px;color:var(--paper-dim);font:500 var(--text-micro)/1 "IBM Plex Mono",monospace;letter-spacing:.06em}.news-reader-author button{margin-left:auto}.news-reader-text{margin:0;color:var(--paper-muted);font-size:clamp(14px,1.05vw,15px);line-height:1.75;white-space:pre-wrap}.news-editor{position:relative;z-index:2;display:flex;width:min(720px,100%);max-height:100%;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--ink-1);box-shadow:0 40px 110px #0009;animation:news-panel-in var(--dur-slow) cubic-bezier(.22,1,.36,1) both}.news-editor-head{display:flex;align-items:flex-start;justify-content:space-between;padding:clamp(var(--space-4),2vw,var(--space-6));padding-bottom:var(--space-3);border-bottom:1px solid var(--line-soft)}.news-editor-head h2{margin:0;font-size:clamp(17px,1.5vw,22px);font-weight:500;letter-spacing:-.03em}.news-editor-close{position:static;flex-shrink:0}.news-editor-body{display:grid;min-height:0;gap:var(--space-4);padding:clamp(var(--space-4),2vw,var(--space-6));overflow-y:auto}.news-cover-drop{position:relative;overflow:hidden;border:1px dashed var(--line);border-radius:var(--radius-md);background:var(--ink-2);transition:border-color var(--dur-base) ease,background var(--dur-base) ease}.news-cover-drop.is-dragging{border-color:var(--signal);background:var(--signal-soft)}.news-cover-drop.has-cover{border-style:solid;aspect-ratio:16 / 7}.news-cover-drop img{width:100%;height:100%;object-fit:cover}.news-cover-drop input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.news-cover-empty{display:grid;width:100%;gap:var(--space-2);place-items:center;padding:var(--space-7) var(--space-4);border:0;background:transparent;color:var(--paper-dim);cursor:pointer;text-align:center}.news-cover-empty span{display:grid;width:46px;height:var(--control-xl);place-items:center;border-radius:var(--radius-sm);color:var(--signal);background:var(--signal-soft)}.news-cover-empty strong{color:var(--paper);font-size:var(--text-small);font-weight:500}.news-cover-empty small{font:500 var(--text-micro)/1.4 "IBM Plex Mono",monospace}.news-cover-tools{position:absolute;right:10px;bottom:10px;display:flex;gap:var(--space-2)}.news-cover-tools button{--btn-bg: var(--surface-scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.news-cover-tools button:hover{color:var(--paper);border-color:var(--line-bright)}.news-cover-tools .news-cover-remove:hover{color:var(--danger);border-color:var(--danger-line-bright)}.news-cover-uploading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--signal);background:rgb(var(--ink-rgb) / var(--a-9))}.news-field{display:grid;gap:var(--space-2)}.news-field-label{display:flex;align-items:center;justify-content:space-between;color:var(--paper-dim);font:500 var(--text-micro)/1 "IBM Plex Mono",monospace;letter-spacing:.06em;text-transform:uppercase}.news-field-label i{color:var(--paper-dim);font-style:normal}.news-field-label i.is-over{color:var(--danger)}.news-field input,.news-field textarea{width:100%;min-width:0;padding:var(--space-3) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--paper);background:var(--ink-2);font:400 var(--text-small)/1.55 inherit;resize:vertical}.news-field input:focus,.news-field textarea:focus{border-color:var(--signal);outline:none}.news-field-title input{height:var(--control-xl);font-size:var(--text-body);font-weight:500}.news-field input.is-invalid,.news-field textarea.is-invalid{border-color:var(--danger);background:var(--danger-tint)}.news-field-error{color:var(--danger);font-size:var(--text-micro)}.news-editor-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:clamp(var(--space-3),1.6vw,var(--space-5)) clamp(var(--space-4),2vw,var(--space-6));border-top:1px solid var(--line-soft);background:var(--ink-2)}.news-publish-switch{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}.news-publish-switch input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.news-switch-track{position:relative;width:42px;height:24px;flex-shrink:0;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--ink-3);transition:background var(--dur-base) ease,border-color var(--dur-base) ease}.news-publish-switch input:checked+.news-switch-track{border-color:var(--signal);background:var(--signal)}.news-switch-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--paper);box-shadow:0 2px 6px #0000004d;transition:transform var(--dur-base) cubic-bezier(.22,1,.36,1),background var(--dur-base) ease}.news-publish-switch input:checked~.news-switch-track .news-switch-thumb{background:var(--ink-0);transform:translate(18px)}.news-switch-copy strong{display:block;color:var(--paper);font-size:var(--text-caption);font-weight:500}.news-switch-copy small{display:block;margin-top:1px;color:var(--paper-dim);font-size:var(--text-micro)}.news-editor-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-left:auto}.news-editor-save:disabled,.news-editor-cancel:disabled{cursor:wait;opacity:.65}.news-editor-error{color:var(--danger);font-size:var(--text-caption)}.news-crop-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:clamp(var(--space-3),3vw,var(--space-10));animation:news-layer-in var(--dur-base) ease both}.news-crop-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;border:0;background:rgb(var(--ink-rgb) / var(--a-10));cursor:default;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.news-crop-dialog{position:relative;z-index:2;display:grid;width:min(640px,100%);max-height:100%;gap:var(--space-4);padding:clamp(var(--space-4),2vw,var(--space-6));overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--ink-1);box-shadow:0 40px 110px #0000009e;animation:news-panel-in var(--dur-slow) cubic-bezier(.22,1,.36,1) both}.news-crop-head{display:flex;align-items:flex-start;gap:var(--space-3)}.news-crop-icon{display:grid;width:38px;height:var(--control-md);flex-shrink:0;place-items:center;border-radius:var(--radius-sm);color:var(--signal);background:var(--signal-soft)}.news-crop-head h3{margin:0;font-size:var(--text-lead);font-weight:500;letter-spacing:-.02em}.news-crop-head p{margin:var(--space-1) 0 0;color:var(--paper-dim);font-size:var(--text-caption)}.news-crop-head .news-editor-close{position:static;margin-left:auto}.news-crop-preview{position:relative;display:grid;aspect-ratio:16 / 9;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);color:var(--paper-dim);background:var(--ink-3);cursor:grab;touch-action:none}.news-crop-preview.is-ready:active{cursor:grabbing}.news-crop-preview img{position:absolute;top:50%;left:50%;max-width:none;-webkit-user-select:none;user-select:none}.news-crop-guides{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgb(var(--paper-rgb) / var(--a-6)) 1px,transparent 1px),linear-gradient(90deg,rgb(var(--paper-rgb) / var(--a-6)) 1px,transparent 1px);background-position:0 33.333%,33.333% 0;background-size:100% 33.333%,33.333% 100%;box-shadow:inset 0 0 0 1px rgb(var(--paper-rgb) / var(--a-4))}.news-crop-hint{position:absolute;bottom:10px;left:50%;display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);color:var(--paper-muted);background:rgb(var(--ink-rgb) / var(--a-9));font:500 var(--text-micro)/1 "IBM Plex Mono",monospace;letter-spacing:.06em;pointer-events:none;transform:translate(-50%);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.news-crop-zoom{display:flex;align-items:center;gap:var(--space-3);color:var(--paper-dim)}.news-crop-zoom input{flex:1;min-width:0;accent-color:var(--signal)}.news-crop-zoom span{min-width:46px;font:500 var(--text-micro)/1 "IBM Plex Mono",monospace;text-align:right}.news-crop-foot{display:flex;justify-content:flex-end;gap:var(--space-2)}@keyframes news-card-enter{0%{opacity:0;transform:translateY(14px)}}@keyframes news-layer-in{0%{opacity:0}}@keyframes news-panel-in{0%{opacity:0;transform:translateY(16px) scale(.985)}}@keyframes news-shimmer{to{transform:translate(100%)}}@media(max-width:1080px){.news-bento,.news-bento.is-full,.news-skeleton{min-height:0;grid-template-columns:minmax(0,1fr);grid-template-rows:none}.news-bento .news-card-hero,.news-bento.tiles-0 .news-card-hero,.news-bento.tiles-1 .news-card-tile,.news-skeleton-hero{grid-row:auto;grid-column:auto}.news-card-hero{min-height:clamp(280px,42vh,380px)}.news-card-tile{min-height:210px}.news-skeleton-hero{min-height:300px}.news-skeleton-tile{min-height:180px}}@media(max-width:780px){.news-stage{grid-template-rows:auto minmax(0,1fr)}.news-toolbar{position:static;padding:0 0 var(--space-3)}.news-compose-trigger{width:100%;justify-content:center}.news-scroll{padding:0 0 var(--space-4)}.news-bento{gap:var(--space-2)}.news-card{border-radius:var(--radius-md)}.news-card-hero{min-height:260px}.news-card-tile{min-height:190px}.news-card-hero .news-card-title{font-size:var(--text-title)}.news-card-tile .news-card-summary{display:none}.news-card-tools{opacity:1;transform:none}.news-row-open{align-items:flex-start;padding:var(--space-2)}.news-row-thumb{width:56px;height:56px}.news-row-copy strong{white-space:normal}.news-row-summary,.news-row-arrow{display:none}.news-row .news-card-tools{position:static;margin-top:0;flex-shrink:0;transform:none}.news-reader-layer,.news-editor-layer{padding:0;place-items:stretch}.news-reader,.news-editor{width:100%;max-height:none;height:100%;border:0;border-radius:0}.news-reader-cover{height:200px}.news-editor-foot{flex-direction:column;align-items:stretch}.news-editor-actions{margin-left:0}.news-editor-cancel,.news-editor-save{flex:1;justify-content:center}.news-editor-error{flex-basis:100%;order:-1}}.admin-stage{position:relative;display:grid;width:100%;height:100%;min-height:0;grid-template-rows:auto minmax(0,1fr);animation:admin-stage-enter var(--dur-slow) var(--ease-out) both}.admin-stage{grid-template-rows:auto minmax(0,1fr);gap:var(--space-3)}.admin-stage .admin-tabs{padding:var(--space-1);border-color:var(--line);border-radius:var(--radius-lg);background:rgb(var(--ink-rgb) / var(--a-10))}.admin-stage .admin-tabs button{justify-content:flex-start;height:var(--control-xl);gap:var(--space-2);padding:0 clamp(var(--space-2),1.2vw,var(--space-4))}.admin-stage .admin-tabs button small{color:var(--paper-dim);font:600 8px/1 IBM Plex Mono,monospace;opacity:.62}.admin-stage .admin-tabs button.is-active small{color:var(--ink-0);opacity:.7}.admin-stage .admin-tabs-indicator{top:4px;bottom:4px;left:4px;width:calc((100% - 8px) / var(--tab-count, 4));border-radius:calc(var(--radius-lg) - var(--radius-2xs));box-shadow:0 9px 30px rgb(var(--signal-rgb) / var(--a-5))}.admin-stage .admin-scroll{padding-top:var(--space-1)}.admin-stage .admin-metrics{gap:var(--space-3)}.admin-stage .admin-metrics:not(.is-compact){grid-template-columns:repeat(8,minmax(96px,1fr));gap:var(--space-2)}.admin-stage .admin-metrics:not(.is-compact) .admin-metric{min-height:92px;gap:2px var(--space-2);padding:var(--space-3)}.admin-stage .admin-metrics:not(.is-compact) .admin-metric:after{right:11px;left:11px}.admin-stage .admin-metrics:not(.is-compact) .admin-metric-icon{width:29px;height:var(--control-xs)}.admin-stage .admin-metrics:not(.is-compact) .admin-metric-icon svg{width:14px;height:14px}.admin-stage .admin-metrics:not(.is-compact) .admin-metric strong{font-size:clamp(19px,1.45vw,24px)}.admin-stage .admin-metrics:not(.is-compact) .admin-metric small{font-size:8px;letter-spacing:.055em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-stage .admin-metrics:not(.is-compact) .admin-metric i{padding-top:var(--space-1);overflow:hidden;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.admin-stage .admin-metrics:not(.is-compact) .admin-skeleton-card{height:92px}.admin-stage .admin-metric{position:relative;min-height:126px;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto 1fr;gap:var(--space-1) var(--space-3);padding:var(--space-4);overflow:hidden;background:linear-gradient(145deg,var(--surface-ghost),transparent 56%),rgb(var(--ink-rgb) / var(--a-10));box-shadow:inset 0 1px rgb(var(--paper-rgb) / var(--a-1));transition:border-color var(--dur-base) ease,background var(--dur-base) ease,transform var(--dur-base) var(--ease-out)}.admin-stage .admin-metric:after{position:absolute;right:17px;bottom:0;left:17px;height:2px;border-radius:2px 2px 0 0;content:"";background:var(--line);transform:scaleX(.22);transform-origin:left;transition:background var(--dur-base) ease,transform var(--dur-base) var(--ease-out)}.admin-stage .admin-metric:hover{border-color:var(--signal-line);background:linear-gradient(145deg,var(--signal-tint),transparent 56%),rgb(var(--ink-rgb) / var(--a-10));transform:translateY(-2px)}.admin-stage .admin-metric:hover:after,.admin-stage .admin-metric.is-accent:after{background:var(--signal);transform:scaleX(1)}.admin-stage .admin-metric.is-danger:after{background:var(--danger)}.admin-stage .admin-metric-icon{grid-column:2;grid-row:1 / span 2;width:36px;height:var(--control-md);margin:0;border:1px solid var(--line-soft);background:var(--surface-ghost)}.admin-stage .admin-metric strong{grid-column:1;grid-row:1;font:620 clamp(24px,2vw,31px)/1 "IBM Plex Mono",monospace}.admin-stage .admin-metric small{grid-column:1;grid-row:2;letter-spacing:.07em;text-transform:uppercase}.admin-stage .admin-metric i{grid-column:1 / -1;grid-row:3;align-self:end;padding-top:var(--space-2);border-top:1px solid var(--line-soft)}.admin-stage .admin-chart{position:relative;padding:var(--space-5);overflow:hidden;background:linear-gradient(var(--surface-ghost) 1px,transparent 1px),rgb(var(--ink-rgb) / var(--a-9));background-size:100% 32px}.admin-stage .admin-chart>header,.admin-stage .admin-chart-bars,.admin-stage .admin-chart>footer{position:relative;z-index:1}.admin-stage .admin-chart-bars{height:154px;gap:clamp(var(--space-1),.55vw,var(--space-2))}.admin-stage .admin-chart-bar{border-radius:var(--radius-xs) var(--radius-xs) 2px 2px;box-shadow:0 -5px 16px rgb(var(--signal-rgb) / var(--a-2))}.admin-stage .admin-search,.admin-stage .admin-select{border-radius:var(--radius-md);background:rgb(var(--ink-rgb) / var(--a-10))}.admin-stage .admin-search{flex:1}.admin-stage .admin-chips{padding:var(--space-2);border:1px solid var(--line-soft);border-radius:var(--radius-md);background:rgb(var(--ink-rgb) / var(--a-9))}.admin-stage .admin-chips-count{padding-right:var(--space-2)}.admin-stage .admin-user-list,.admin-stage .admin-news-list{gap:var(--space-2)}.admin-stage .admin-user-row,.admin-stage .admin-news-row,.admin-stage .admin-audit-row{border-color:var(--line-soft);background:rgb(var(--ink-rgb) / var(--a-9));box-shadow:inset 0 1px rgb(var(--paper-rgb) / var(--a-1))}.admin-stage .admin-user-row{min-height:70px;padding:var(--space-3) var(--space-4);border-left:2px solid var(--line)}.admin-stage .admin-user-row:hover{border-color:var(--signal-line);background:var(--signal-tint)}.admin-stage .admin-user-row.is-admin{border-left-color:var(--signal)}.admin-stage .admin-user-row.is-banned{border-left-color:var(--danger)}.admin-stage .admin-user-open{display:inline-flex;align-items:center;min-width:78px;justify-content:center;padding:var(--space-2) var(--space-2);border:1px solid var(--line-soft);border-radius:var(--radius-xs);background:var(--surface-ghost)}.admin-stage .admin-news-row{min-height:80px;padding:var(--space-3) var(--space-4)}.admin-stage .admin-news-row:hover{border-color:var(--signal-line);background:var(--signal-wash)}.admin-stage .admin-news-thumb{width:78px;height:56px;border:1px solid var(--line-soft)}.admin-stage .admin-audit-row{min-height:58px;padding:var(--space-3) var(--space-4);transition:border-color var(--dur-fast) ease,background var(--dur-fast) ease}.admin-stage .admin-audit-row:hover{border-color:var(--line);background:var(--surface-ghost)}.admin-stage .admin-empty-state,.admin-stage .admin-loading{min-height:230px;border:1px dashed var(--line);border-radius:var(--radius-lg);background:rgb(var(--ink-rgb) / var(--a-8))}@media(max-width:780px){.admin-stage{gap:var(--space-2)}.admin-stage .admin-metrics:not(.is-compact){grid-template-columns:repeat(2,minmax(0,1fr))}.admin-stage .admin-tabs button{height:var(--control-lg);justify-content:center;padding:0}.admin-stage .admin-tabs button small{display:none}.admin-stage .admin-metric{min-height:112px;padding:var(--space-3)}.admin-stage .admin-metric strong{font-size:22px}.admin-stage .admin-chart{padding:var(--space-4)}.admin-stage .admin-chart-bars{height:108px}.admin-stage .admin-chips{padding:var(--space-1)}}@media(max-width:1180px)and (min-width:781px){.admin-stage .admin-metrics:not(.is-compact){grid-template-columns:repeat(4,minmax(0,1fr))}}.admin-tabs{position:relative;display:grid;grid-template-columns:repeat(var(--tab-count, 4),minmax(0,1fr));padding:var(--space-1);border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--ink-2)}.admin-tabs button{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--control-lg);border:0;background:transparent;color:var(--paper-dim);cursor:pointer;font-size:var(--text-caption);font-weight:500}.admin-tabs button.is-active{color:var(--ink-0)}.admin-tabs-indicator{position:absolute;top:3px;bottom:3px;left:3px;z-index:1;width:calc((100% - 6px) / var(--tab-count, 4));border-radius:calc(var(--radius-md) - var(--radius-2xs));background:var(--signal);box-shadow:0 8px 20px rgb(var(--signal-rgb) / var(--a-6));transform:translate(calc(var(--tab-index, 0) * 100%));transition:transform var(--dur-slow) cubic-bezier(.22,1,.36,1)}.admin-scroll{min-height:0;padding:var(--space-4) var(--space-3) 0 0;overflow-y:auto}.admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}.admin-metrics.is-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-metric{display:grid;gap:2px;padding:var(--space-3);border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface-ghost);animation:admin-row-enter var(--dur-slow) var(--ease-out) both;transition:border-color var(--dur-fast) ease}.admin-metric:hover{border-color:var(--line)}.admin-metric-icon{display:grid;width:32px;height:var(--control-sm);margin-bottom:var(--space-2);place-items:center;border-radius:var(--radius-sm);color:var(--paper-muted);background:var(--surface-ghost-hover)}.admin-metric.is-accent .admin-metric-icon{color:var(--signal);background:var(--signal-soft)}.admin-metric.is-danger .admin-metric-icon{color:var(--danger);background:rgb(var(--danger-rgb) / var(--a-4))}.admin-metric strong{color:var(--paper);font-size:var(--text-title);font-weight:600;line-height:1.1;letter-spacing:-.03em}.admin-metric small{color:var(--paper-dim);font:500 var(--text-micro)/1.3 "IBM Plex Mono",monospace;letter-spacing:.04em}.admin-metric i{margin-top:var(--space-1);color:var(--paper-dim);font-size:var(--text-micro);font-style:normal;opacity:.75}.admin-chart{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface-ghost);animation:admin-row-enter var(--dur-slow) var(--ease-out) both}.admin-chart>header{display:flex;align-items:flex-start;justify-content:space-between}.admin-chart header span{display:block;color:var(--paper-dim);font:500 var(--text-micro)/1 "IBM Plex Mono",monospace;letter-spacing:.13em}.admin-chart header small{display:block;margin-top:var(--space-1);color:var(--paper-dim);font-size:var(--text-micro);opacity:.75}.admin-chart header b{color:var(--signal);font:600 20px/1 IBM Plex Mono,monospace;letter-spacing:-.03em}.admin-chart-bars{display:flex;height:128px;align-items:flex-end;gap:var(--space-1)}.admin-chart-bar{position:relative;flex:1;min-width:0;border-radius:var(--radius-xs) var(--radius-xs) 2px 2px;background:linear-gradient(to top,rgb(var(--signal-rgb) / var(--a-7)),var(--signal));transform-origin:bottom;animation:admin-bar-grow var(--dur-slow) var(--ease-out) both;transition:filter var(--dur-fast) ease}.admin-chart-bar.is-empty{background:var(--surface-raised)}.admin-chart-bar:hover{filter:brightness(1.18)}.admin-chart-bar i{position:absolute;top:-18px;left:50%;color:var(--paper-muted);font:500 10px/1 IBM Plex Mono,monospace;font-style:normal;opacity:0;transform:translate(-50%);transition:opacity var(--dur-fast) ease}.admin-chart-bar:hover i{opacity:1}.admin-chart>footer{display:flex;justify-content:space-between;color:var(--paper-dim);font:500 var(--text-micro)/1 "IBM Plex Mono",monospace}.admin-filters{display:flex;gap:var(--space-2)}.admin-select{width:auto;cursor:pointer}.admin-chips{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.admin-chips-count{margin-left:auto;color:var(--paper-dim);font:500 var(--text-micro)/1 "IBM Plex Mono",monospace;letter-spacing:.06em}.admin-pager{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding-top:var(--space-2)}.admin-pager button:hover:not(:disabled){--btn-fg-hover: var(--signal);--btn-bd-hover: var(--signal)}.admin-pager button:disabled{cursor:default;opacity:.4}.admin-pager span{min-width:58px;color:var(--paper-dim);font:500 var(--text-micro)/1 "IBM Plex Mono",monospace;text-align:center}.admin-panel-body{display:grid;gap:var(--space-4);animation:admin-panel-fade var(--dur-slow) var(--ease-out) both}.admin-search{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--paper-dim);background:var(--ink-2)}.admin-search:focus-within{border-color:var(--signal);color:var(--signal)}.admin-search input{width:100%;height:var(--control-lg);border:0;background:transparent;color:var(--paper);font-size:var(--text-small)}.admin-search input:focus{outline:none}.admin-loading,.admin-empty-state{display:grid;gap:var(--space-2);place-items:center;padding:var(--space-10) var(--space-5);color:var(--paper-dim);text-align:center}.admin-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-14) var(--space-5);font-size:var(--text-caption)}.admin-skeleton-card,.admin-skeleton-chart{position:relative;overflow:hidden;border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--ink-2)}.admin-skeleton-card{height:104px}.admin-skeleton-chart{height:236px}.admin-skeleton-card:after,.admin-skeleton-chart:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:linear-gradient(100deg,transparent 18%,var(--surface-raised) 50%,transparent 82%);transform:translate(-100%);animation:admin-shimmer 1.5s ease-in-out infinite}.admin-skeleton-card:nth-child(2):after{animation-delay:90ms}.admin-skeleton-card:nth-child(3):after{animation-delay:.18s}.admin-skeleton-card:nth-child(4):after{animation-delay:.27s}.admin-skeleton-card:nth-child(5):after{animation-delay:.12s}.admin-skeleton-card:nth-child(6):after{animation-delay:.21s}.admin-skeleton-card:nth-child(7):after{animation-delay:.3s}.admin-skeleton-card:nth-child(8):after{animation-delay:.39s}@keyframes admin-shimmer{to{transform:translate(100%)}}.admin-empty-state span{display:grid;width:46px;height:var(--control-xl);place-items:center;border:1px solid var(--line-soft);border-radius:50%;color:var(--paper-dim)}.admin-empty-state strong{display:block;margin-bottom:var(--space-1);color:var(--paper);font-weight:500}.admin-empty-state p{margin:0;font-size:var(--text-caption)}.admin-user-list{display:grid;gap:var(--space-2)}.admin-user-row{position:relative;display:flex;width:100%;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3);border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface-ghost);cursor:pointer;text-align:left;animation:admin-row-enter var(--dur-slow) var(--ease-out) both}.admin-user-row:hover{border-color:var(--line);background:var(--surface-ghost-hover)}.admin-user-row.is-admin{border-color:var(--signal-line);background:linear-gradient(120deg,var(--signal-soft),transparent 60%),var(--surface-ghost)}.admin-user-row.is-banned{border-color:var(--danger-line);background:linear-gradient(120deg,var(--danger-tint),transparent 60%),var(--surface-ghost)}.admin-ban-mark{flex-shrink:0;color:var(--danger)}.admin-user-open{flex-shrink:0;color:var(--paper-dim);font:500 var(--text-micro)/1 "IBM Plex Mono",monospace;letter-spacing:.06em;opacity:0;transition:opacity var(--dur-fast) ease,color var(--dur-fast) ease}.admin-user-row:hover .admin-user-open{color:var(--signal);opacity:1}.admin-user-copy{display:grid;min-width:0;flex:1;gap:2px}.admin-user-copy strong{display:flex;align-items:center;gap:var(--space-1);overflow:hidden;color:var(--paper);font-size:var(--text-small);font-weight:500;text-overflow:ellipsis;white-space:nowrap}.admin-user-copy>span{overflow:hidden;color:var(--paper-dim);font-size:var(--text-caption);text-overflow:ellipsis;white-space:nowrap}.admin-user-copy>span.admin-user-meta{color:var(--paper-dim);font:500 var(--text-micro)/1.4 "IBM Plex Mono",monospace;letter-spacing:.02em}.admin-you-badge{flex-shrink:0;padding:1px var(--space-1);border:1px solid var(--line);border-radius:var(--radius-xs);color:var(--paper-muted);font:650 9px/1.6 IBM Plex Mono,monospace;letter-spacing:.05em}.admin-crown{flex-shrink:0;color:var(--joy-peach)}.admin-compose-trigger{width:fit-content}.admin-news-list{display:grid;gap:var(--space-2)}.admin-news-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3);border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface-ghost);animation:admin-row-enter var(--dur-slow) var(--ease-out) both;transition:border-color var(--dur-fast) ease}.admin-news-row:hover{border-color:var(--line)}.admin-news-thumb{display:grid;width:68px;height:var(--control-xl);flex-shrink:0;place-items:center;overflow:hidden;border-radius:var(--radius-sm);color:var(--paper-dim);background:var(--ink-3)}.admin-news-thumb img{width:100%;height:100%;object-fit:cover}.admin-news-copy{display:grid;min-width:0;flex:1;gap:var(--space-1)}.admin-news-copy strong{display:flex;align-items:center;gap:var(--space-2);overflow:hidden;color:var(--paper);font-size:var(--text-small);font-weight:500;text-overflow:ellipsis;white-space:nowrap}.admin-news-status{flex-shrink:0;padding:2px var(--space-2);border-radius:var(--radius-xs);color:var(--joy-peach);background:var(--joy-peach-soft);font:650 9px/1.7 IBM Plex Mono,monospace;font-style:normal;letter-spacing:.05em}.admin-news-row.is-live .admin-news-status{color:var(--signal);background:var(--signal-soft)}.admin-news-copy p{margin:0;overflow:hidden;color:var(--paper-muted);font-size:var(--text-caption);text-overflow:ellipsis;white-space:nowrap}.admin-news-meta{color:var(--paper-dim);font:500 var(--text-micro)/1.4 "IBM Plex Mono",monospace}.admin-news-actions{display:flex;flex-shrink:0;gap:var(--space-2)}.admin-news-actions button:disabled{cursor:wait;opacity:.65}.admin-news-actions .admin-news-delete:hover{color:var(--danger);border-color:var(--danger-line)}.admin-drawer-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:75;display:flex;justify-content:flex-end;animation:news-layer-in var(--dur-base) ease both}.admin-drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;border:0;background:rgb(var(--ink-rgb) / var(--a-9));cursor:default;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.admin-drawer{position:relative;z-index:2;display:grid;width:min(440px,100%);align-content:start;gap:var(--space-4);padding:clamp(var(--space-5),2vw,var(--space-7));overflow-y:auto;border-left:1px solid var(--line);background:var(--ink-1);box-shadow:-30px 0 90px #0000008c;animation:admin-drawer-in var(--dur-slow) cubic-bezier(.22,1,.36,1) both}.admin-drawer-close{position:absolute;top:var(--space-4);right:var(--space-4)}.admin-drawer-close:hover{color:var(--paper);border-color:var(--line-bright)}.admin-drawer-head{display:flex;align-items:flex-start;gap:var(--space-3);padding-right:var(--space-10)}.admin-drawer-head>div{min-width:0;flex:1}.admin-drawer-head h3{display:flex;align-items:center;gap:var(--space-2);margin:0;font-size:var(--text-lead);font-weight:500;letter-spacing:-.02em}.admin-drawer-head h3 button:hover{--btn-fg-hover: var(--signal);--btn-bd-hover: var(--signal)}.admin-drawer-head p{margin:var(--space-1) 0 0;overflow:hidden;color:var(--paper-dim);font-size:var(--text-caption);text-overflow:ellipsis}.admin-rename{display:flex;align-items:center;gap:var(--space-1)}.admin-rename input{min-width:0;flex:1;height:var(--control-sm);padding:0 var(--space-2);border:1px solid var(--signal);border-radius:var(--radius-sm);color:var(--paper);background:var(--ink-2);font-size:var(--text-small)}.admin-rename input:focus{outline:none}.admin-drawer-tags{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-2)}.admin-drawer-tags b{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border:1px solid var(--line-soft);border-radius:var(--radius-xs);color:var(--paper-dim);font:650 9px/1.6 IBM Plex Mono,monospace;letter-spacing:.06em}.admin-drawer-tags b.is-admin{border-color:var(--signal-line);color:var(--signal);background:var(--signal-soft)}.admin-drawer-tags b.is-banned{border-color:var(--danger-line);color:var(--danger);background:var(--danger-tint)}.admin-drawer-tags b.is-online{border-color:var(--signal-line);color:var(--signal)}.admin-ban-note{display:grid;gap:var(--space-1);padding:var(--space-3) var(--space-3);border:1px solid var(--danger-line);border-radius:var(--radius-sm);background:var(--danger-tint)}.admin-ban-note strong{color:var(--paper);font-size:var(--text-small);font-weight:500}.admin-ban-note span{color:var(--paper-dim);font:500 var(--text-micro)/1.4 "IBM Plex Mono",monospace}.admin-drawer-stats{margin:0;border-top:1px solid var(--line-soft)}.admin-drawer-stats div{display:flex;justify-content:space-between;padding:var(--space-3) 0;border-bottom:1px solid var(--line-soft)}.admin-drawer-stats dt,.admin-drawer-stats dd{margin:0;font:500 var(--text-caption)/1 "IBM Plex Mono",monospace}.admin-drawer-stats dt{color:var(--paper-dim)}.admin-drawer-stats dd{color:var(--paper)}.admin-drawer-note{margin:0;color:var(--signal);font-size:var(--text-caption)}.admin-drawer-note.is-error{color:var(--danger)}.admin-drawer-actions{display:grid;gap:var(--space-2)}.admin-drawer-action{justify-content:flex-start;text-align:left}.admin-drawer-actions button:hover:not(:disabled){color:var(--paper);border-color:var(--line-bright)}.admin-drawer-actions button:disabled{cursor:default;opacity:.45}.admin-ban-form{display:grid;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--danger-line);border-radius:var(--radius-md);background:var(--danger-tint);animation:admin-row-enter var(--dur-slow) var(--ease-out) both}.admin-ban-label{color:var(--paper-dim);font:500 var(--text-micro)/1 "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase}.admin-ban-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-1)}.admin-ban-preset[aria-pressed=true]{--btn-fg: var(--paper);--btn-bg: rgb(var(--danger-rgb) / var(--a-5));--btn-bd: var(--danger);--btn-fg-hover: var(--paper);--btn-bg-hover: rgb(var(--danger-rgb) / var(--a-5));--btn-bd-hover: var(--danger)}.admin-ban-form input{height:var(--control-lg);padding:0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--paper);background:var(--ink-2);font-size:var(--text-small)}.admin-ban-form input:focus{border-color:var(--danger);outline:none}.admin-audit-list{display:grid;gap:var(--space-2)}.admin-audit-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3);border:1px solid var(--line-soft);border-left:2px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-ghost);animation:admin-row-enter var(--dur-slow) var(--ease-out) both}.admin-audit-row.is-danger{border-left-color:var(--danger)}.admin-audit-row.is-good{border-left-color:var(--signal)}.admin-audit-action{min-width:120px;flex-shrink:0;color:var(--paper-muted);font:500 var(--text-micro)/1.3 "IBM Plex Mono",monospace;letter-spacing:.04em}.admin-audit-copy{display:grid;min-width:0;flex:1;gap:2px}.admin-audit-copy strong{overflow:hidden;color:var(--paper);font-size:var(--text-small);font-weight:500;text-overflow:ellipsis;white-space:nowrap}.admin-audit-copy span{overflow:hidden;color:var(--paper-dim);font-size:var(--text-micro);text-overflow:ellipsis;white-space:nowrap}.admin-audit-row time{flex-shrink:0;color:var(--paper-dim);font:500 var(--text-micro)/1 "IBM Plex Mono",monospace}@keyframes admin-drawer-in{0%{opacity:0;transform:translate(30px)}}@keyframes admin-bar-grow{0%{transform:scaleY(0)}}@keyframes admin-stage-enter{0%{opacity:0}}@keyframes admin-panel-fade{0%{opacity:0}}@keyframes admin-row-enter{0%{opacity:0;transform:translateY(8px)}}@media(max-width:780px){.admin-scroll{padding:var(--space-3) 0 var(--space-4)}.admin-tabs button span{display:none}.admin-metrics,.admin-metrics.is-compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.admin-metric{padding:var(--space-3)}.admin-metric strong{font-size:var(--text-lead)}.admin-chart-bars{height:96px;gap:var(--space-1)}.admin-filters{flex-direction:column}.admin-select{width:100%}.admin-user-open{display:none}.admin-drawer{width:100%;border-left:0}.admin-ban-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-audit-row{flex-wrap:wrap}.admin-audit-action{min-width:0}.admin-audit-row time{width:100%}.admin-news-actions{flex-basis:100%}.admin-news-actions button{flex:1;justify-content:center}.admin-news-actions button span{display:none}.admin-news-copy strong{white-space:normal}.admin-news-copy p{display:none}}.admin-report-list{display:grid;gap:var(--space-2)}.admin-report-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--line-soft);border-left:2px solid var(--danger);border-radius:var(--radius-md);background:rgb(var(--ink-rgb) / var(--a-9));box-shadow:inset 0 1px rgb(var(--paper-rgb) / var(--a-1));animation:admin-row-enter var(--dur-slow) var(--ease-out) both}.admin-report-row.is-reviewed{border-left-color:var(--line);opacity:.6}.admin-report-copy{display:grid;min-width:0;gap:var(--space-1)}.admin-report-copy strong{display:flex;align-items:center;gap:var(--space-2);color:var(--paper);font-size:var(--text-small)}.admin-report-copy>span{color:var(--paper-muted);font-size:var(--text-caption)}.admin-report-copy p{margin:0;padding:var(--space-2);border-radius:var(--radius-xs);background:var(--surface-ghost);color:var(--paper-muted);font-size:var(--text-caption);line-height:1.5;overflow-wrap:anywhere}.admin-report-copy em{color:var(--success);font:500 var(--text-micro) / 1.4 var(--font-mono);font-style:normal}.admin-report-side{display:grid;justify-items:end;gap:var(--space-2)}.admin-report-side time{color:var(--paper-dim);font:500 var(--text-micro) / 1 var(--font-mono);white-space:nowrap}@media(max-width:620px){.admin-report-row{grid-template-columns:auto minmax(0,1fr)}.admin-report-side{grid-column:1 / -1;justify-items:start;grid-auto-flow:column;align-items:center}}.admin-drawer-reports{display:grid;gap:var(--space-2)}.admin-drawer-reports h4{display:flex;align-items:center;gap:var(--space-2);margin:0;color:var(--paper-dim);font:500 var(--text-micro) / 1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.admin-drawer-reports h4 b{margin-left:auto;color:var(--danger);font-weight:600;letter-spacing:0;text-transform:none}.admin-drawer-reports ul{display:grid;max-height:200px;margin:0;gap:var(--space-1);padding:0;overflow-y:auto;list-style:none}.admin-drawer-reports li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:var(--space-2);padding:var(--space-2);border-left:2px solid var(--danger);border-radius:var(--radius-xs);background:var(--surface-ghost);font-size:var(--text-caption)}.admin-drawer-reports li.is-reviewed{border-left-color:var(--line);opacity:.55}.admin-drawer-reports li strong{color:var(--paper)}.admin-drawer-reports li span{color:var(--paper-muted)}.admin-drawer-reports li p{grid-column:1 / -1;margin:0;color:var(--paper-dim);font-size:var(--text-micro);line-height:1.5;overflow-wrap:anywhere}.admin-drawer-reports li time{color:var(--paper-dim);font:500 var(--text-micro) / 1 var(--font-mono);white-space:nowrap}.admin-ticket-kind{display:grid;width:var(--control-sm);height:var(--control-sm);place-items:center;border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--paper-muted)}.admin-ticket-text{margin:0;color:var(--paper);font-size:var(--text-small);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.admin-ticket.is-reviewed .admin-ticket-text{color:var(--paper-muted)}.rating-badge-slot{display:inline-flex;align-items:center;padding:0;border:0;background:none;line-height:0}button.rating-badge-slot{cursor:pointer}button.rating-badge-slot:hover .rating-badge,button.rating-badge-slot:focus-visible .rating-badge{filter:brightness(1.15)}.rating-badge{--badge-size: 26px;--badge-ring: 3px;--badge-progress: 0%;--badge-color: var(--paper-dim);position:relative;display:inline-flex;width:var(--badge-size);height:var(--badge-size);align-items:center;justify-content:center;background:conic-gradient(var(--badge-color) var(--badge-progress),rgb(var(--paper-rgb) / var(--a-2)) var(--badge-progress));clip-path:polygon(50% 0%,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%)}.rating-badge:after{content:"";position:absolute;inset:var(--badge-ring);background:var(--level-2);clip-path:polygon(50% 0%,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%)}.rating-badge b{position:relative;z-index:1;color:var(--badge-color);font-family:var(--font-mono);font-size:12px;font-weight:600;line-height:1}.rating-badge--large{--badge-size: 56px;--badge-ring: 5px}.rating-badge--large b{font-size:var(--text-lead)}.rating-badge--t1{--badge-color: var(--tier-1)}.rating-badge--t2{--badge-color: var(--tier-2)}.rating-badge--t3{--badge-color: var(--tier-3)}.rating-badge--t4{--badge-color: var(--tier-4)}.rating-badge--t5{--badge-color: var(--tier-5)}.rating-badge--t6{--badge-color: var(--tier-6)}.rating-badge--t7{--badge-color: var(--tier-7)}.rating-badge--t8{--badge-color: var(--tier-8)}.rating-ladder{display:flex;flex-direction:column;gap:var(--space-4);width:min(420px,100%)}.rating-ladder-head{display:flex;align-items:center;gap:var(--space-4)}.rating-ladder-head div{display:flex;min-width:0;flex-direction:column;gap:var(--space-1)}.rating-ladder-head strong{font-size:var(--text-lead)}.rating-ladder-head span{color:var(--paper-muted);font-size:var(--text-small)}.rating-ladder-progress{display:block;height:var(--space-2);overflow:hidden;border-radius:var(--radius-pill);background:var(--level-3)}.rating-ladder-progress i{display:block;height:100%;border-radius:var(--radius-pill);background:var(--signal)}.rating-ladder ol{display:flex;max-height:44vh;flex-direction:column;gap:var(--space-1);margin:0;padding:0;overflow-y:auto;list-style:none}.rating-ladder li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-xs);color:var(--paper-muted);font-size:var(--text-small)}.rating-ladder li.is-current{background:var(--level-3);color:var(--paper)}.rating-ladder li b{font-family:var(--font-mono);font-size:var(--text-caption);font-weight:500}.rating-ladder-note{margin:0;color:var(--paper-dim);font-size:var(--text-caption);line-height:1.5}.duels-card{position:relative;width:100%;max-width:300px;height:100%;max-height:440px}.duels-card-face{display:flex;height:100%;flex-direction:column;width:100%;overflow:hidden;padding:0;border:0;border-radius:var(--radius-md);background:var(--level-2);color:inherit;font:inherit;text-align:left;cursor:pointer}.duels-card-face:hover{background:var(--level-3)}.duels-card-face:focus-visible{outline:2px solid var(--signal);outline-offset:var(--space-1)}.duels-card-art{position:relative;display:block;flex:1 1 auto;min-height:120px;overflow:hidden}.duels-cover{display:block;width:100%;height:100%}.duels-card-art:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:linear-gradient(to bottom,transparent 62%,var(--level-2))}.duels-card-face:hover .duels-card-art:after{background:linear-gradient(to bottom,transparent 62%,var(--level-3))}.duels-card-rank{position:absolute;right:var(--space-3);bottom:var(--space-3);z-index:2;display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-1);border-radius:var(--radius-pill);background:rgb(var(--ink-rgb) / var(--a-9))}.duels-card-rank b{color:var(--paper);font-family:var(--font-mono);font-size:var(--text-caption);font-weight:500}.duels-card-badges{position:absolute;top:var(--space-3);left:var(--space-3);z-index:2;display:flex;gap:var(--space-2)}.duels-card-live,.duels-card-open{padding:var(--space-1) var(--space-2);border-radius:var(--radius-xs);background:rgb(var(--ink-rgb) / var(--a-10));font:500 var(--text-micro) / 1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.duels-card-live{color:var(--danger)}.duels-card-open{color:var(--signal)}.duels-card-body{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) var(--space-4) var(--space-2)}.duels-card-title{font-size:var(--text-title);font-weight:500;letter-spacing:-.03em}.duels-card-genre{color:var(--paper-muted);font-size:var(--text-caption)}.duels-card-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-4) var(--space-4)}.duels-card-online{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--paper-dim);font-size:var(--text-caption)}.duels-card-online b{font-family:var(--font-mono);font-size:var(--text-body)}.duels-card-online.is-live{color:var(--signal)}.duels-card-cta{display:inline-flex;align-items:center;gap:var(--space-2);height:var(--control-sm);padding:0 var(--space-4);border-radius:var(--radius-xs);background:var(--signal);color:var(--ink-0);font-size:var(--text-small);font-weight:500}.duels-card-face:hover .duels-card-cta{background:var(--signal-hover)}.game-shelf{position:relative;z-index:3;display:flex;min-height:0;flex-direction:column;gap:var(--space-4);padding:0 var(--space-6)}.game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,300px));grid-auto-rows:minmax(0,1fr);gap:var(--space-5);min-height:0;padding-bottom:var(--space-2)}.stage-bottomline{position:relative;z-index:5;display:flex;height:var(--panel-footer-height);min-height:var(--panel-footer-height);align-items:center;justify-content:space-between;padding:0px var(--space-5);border-top:1px solid var(--line-soft);box-sizing:border-box}.stage-connection,.stage-tip{display:inline-flex;height:100%;align-items:center;gap:var(--space-2);color:var(--paper-dim);font:500 var(--text-micro)/1 "IBM Plex Mono",monospace;letter-spacing:.11em}.stage-connection>i,.stage-tip>svg{flex:0 0 auto}.stage-tip>span{display:inline-flex;align-items:center;height:100%}.stage-connection i{width:5px;height:5px;border-radius:50%;background:var(--danger);box-shadow:0 0 8px var(--danger)}.stage-connection.connected i{background:var(--signal);box-shadow:0 0 8px var(--signal)}.stage-tip svg{color:var(--joy-peach)}.network-stage{position:relative;display:grid;width:100%;height:100%;min-height:0;grid-template-rows:auto minmax(0,1fr) auto;background:transparent}.stage-heading{position:relative;z-index:4;display:flex;align-items:flex-start;justify-content:space-between;padding:var(--space-5) var(--space-6) var(--space-4)}.stage-heading h1{margin:0;font-size:clamp(22px,2.25vw,40px);font-weight:500;letter-spacing:-.05em}.stage-mood{display:flex;width:fit-content;align-items:center;gap:var(--space-1);margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--line-soft);border-radius:var(--radius-pill);color:var(--paper);background:var(--surface-ghost);font-size:var(--text-micro)}.stage-mood svg{width:13px;height:13px;color:var(--joy-peach)}@media(max-width:780px){.network-stage{border-radius:var(--radius-md)}.stage-heading{padding:var(--space-5) var(--space-4)}.stage-heading h1{max-width:240px;font-size:clamp(21px,6vw,28px);line-height:1.03}.stage-mood{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-bottomline{margin:0 var(--space-3)}.stage-tip,.local-clock{display:none}}@media(max-width:780px)and (max-height:700px){.stage-heading{padding:var(--space-3)}.stage-heading h1{font-size:var(--text-lead)}}@media(max-width:780px){.game-shelf{padding:0 var(--space-4)}.game-grid{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto}.duels-card{max-width:none}}.profile-panel{display:grid;width:100%;min-width:0;height:100%;align-content:center;justify-items:center;padding:var(--space-6);text-align:center}.avatar-editor{position:relative;display:grid;margin-top:2px;place-items:center;border-radius:var(--radius-md);cursor:pointer}.avatar-editor input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.avatar-editor>span:last-child{position:absolute;right:-8px;bottom:-8px;display:grid;width:34px;height:var(--control-sm);place-items:center;border:3px solid var(--ink-1);border-radius:50%;color:var(--ink-0);background:var(--signal);box-shadow:0 8px 22px #00000061;padding-bottom:2px}.avatar-editor:hover>span:last-child{box-shadow:0 8px 28px rgb(var(--signal-rgb) / var(--a-6))}.avatar-editor.is-pending{cursor:wait}.avatar-editor-hint{margin-top:var(--space-3);color:var(--paper-dim);font:500 var(--text-micro)/1.35 "IBM Plex Mono",monospace;letter-spacing:.05em}.guest-avatar{position:relative;display:grid;margin-top:2px;place-items:center;animation:guest-avatar-enter var(--dur-slow) var(--ease-out) both}.guest-avatar .avatar{border-color:var(--signal-line);background:radial-gradient(circle at 30% 20%,var(--signal-soft),transparent 42%),var(--ink-3);box-shadow:0 18px 42px #0000004d}.guest-avatar>i{position:absolute;right:-8px;bottom:-8px;display:grid;width:34px;height:var(--control-sm);place-items:center;border:3px solid var(--ink-1);border-radius:50%;color:var(--ink-0);background:var(--signal);box-shadow:0 8px 22px #00000061}.guest-profile .profile-cheer{color:var(--paper-muted)}.guest-profile dl{margin-top:var(--space-6);margin-bottom:var(--space-5)}.guest-profile dl div:last-child dd{max-width:155px;color:var(--paper-muted);font-size:var(--text-micro);overflow-wrap:anywhere;text-align:right}.guest-profile-actions{display:block;width:100%;min-width:0}.profile-panel h2{margin:var(--space-3) 0 var(--space-1);font-size:var(--text-title);font-weight:500}.profile-panel>p{margin:0;color:var(--paper-dim);font-size:var(--text-small)}.profile-cheer{margin-top:var(--space-2);color:var(--joy-peach);font-size:var(--text-caption)}.profile-panel dl{width:100%;margin:var(--space-8) 0;border-top:1px solid var(--line-soft)}.profile-panel dl div{display:flex;justify-content:space-between;padding:var(--space-3) 0;border-bottom:1px solid var(--line-soft)}.profile-panel dt,.profile-panel dd{margin:0;font:500 var(--text-caption)/1 "IBM Plex Mono",monospace}.profile-panel dt{color:var(--paper-dim)}.profile-panel dd.profile-online{color:var(--signal)}@keyframes guest-avatar-enter{0%{opacity:0;transform:translateY(8px) scale(.94)}}@media(max-width:780px){.profile-panel{border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--ink-1)}}.friends-footer i{width:5px;height:5px;border-radius:50%;background:var(--signal);box-shadow:0 0 10px var(--signal)}.friends-panel{position:absolute;top:var(--panel-shell-gap);right:0;bottom:var(--panel-shell-gap);left:auto;z-index:10;display:grid;width:calc(var(--company-open-width) - 8px);height:auto;min-height:0;grid-template-rows:auto auto auto minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:radial-gradient(circle at 82% 10%,var(--joy-sky-soft),transparent 18%),var(--ink-1);opacity:0;pointer-events:none;visibility:hidden;transform:translate3d(100%,0,0);will-change:transform;transition:transform var(--company-duration) var(--company-ease),opacity var(--dur-fast) ease calc(var(--company-duration) - var(--dur-fast)),visibility 0s linear var(--company-duration)}.hub-shell.company-open .friends-panel{opacity:1;pointer-events:auto;visibility:visible;transform:translateZ(0);transition:transform var(--company-duration) var(--company-ease),opacity var(--dur-fast) ease,visibility 0s}.hub-shell.company-open .company-rail{pointer-events:none;visibility:hidden;opacity:0;transform:translate3d(10px,0,0);transition:opacity var(--dur-fast) ease,transform var(--dur-slow) var(--company-ease),visibility 0s linear var(--dur-slow)}.company-rail{--rail-border: 1px;position:relative;display:flex;width:60px;height:100%;min-height:0;flex-direction:column;align-items:center;gap:var(--space-2);padding-top:calc(var(--company-toggle-top) + var(--control-md) + var(--space-2) - var(--rail-border));overflow:hidden;border:var(--rail-border) solid var(--line-soft);border-right:0;border-radius:var(--radius-lg) 0 0 var(--radius-lg);margin-left:auto;background:radial-gradient(circle at 50% 8%,var(--signal-soft),transparent 22%),var(--ink-1);box-shadow:-12px 0 34px #0000002e;transform:translateZ(0);will-change:transform,opacity;transition:opacity var(--dur-base) ease calc(var(--company-duration) * .5),transform var(--dur-slow) var(--company-ease) calc(var(--company-duration) * .4),visibility 0s}.company-rail-stack>button{display:grid;flex:0 0 auto;place-items:center;border:0;color:var(--paper-dim);cursor:pointer}.company-rail-stack>button:hover{color:var(--signal);background:var(--signal-tint)}.company-edge-toggle{--btn-fg: var(--paper-dim);--btn-bg: var(--ink-2);position:absolute;top:calc(var(--panel-shell-gap) + var(--company-toggle-top));right:var(--company-toggle-inset);bottom:auto;z-index:12;box-shadow:var(--shadow-sm);transform:translateZ(0);transition:transform var(--company-duration) var(--company-ease)}.hub-shell.company-collapsed .company-edge-toggle{transform:translate3d(calc(var(--company-toggle-inset) - 10px),0,0)}.company-edge-toggle:hover{border-color:var(--signal-line);color:var(--signal);background:var(--signal-soft);box-shadow:0 8px 26px rgb(var(--signal-rgb) / var(--a-3))}.company-edge-toggle[aria-expanded=true]{color:var(--signal)}.company-toggle-glyph{position:relative;display:grid;width:20px;height:20px;place-items:center}.company-toggle-glyph>svg{position:absolute;transition:opacity var(--dur-fast) ease,transform var(--dur-base) var(--company-ease)}.company-toggle-expanded{opacity:0;transform:scale(.82) rotate(-24deg)}.company-edge-toggle[aria-expanded=true] .company-toggle-collapsed{opacity:0;transform:scale(.82) rotate(18deg)}.company-edge-toggle[aria-expanded=true] .company-toggle-expanded{opacity:1;transform:scale(1) rotate(0)}.company-edge-toggle>i{position:absolute;top:-7px;right:-7px;display:grid;min-width:19px;height:19px;place-items:center;border:2px solid var(--ink-1);border-radius:50%;color:var(--ink-0);background:var(--signal);font:600 var(--text-micro)/1 "IBM Plex Mono",monospace;box-shadow:0 0 16px rgb(var(--signal-rgb) / var(--a-8))}.company-edge-toggle.has-invite{color:var(--signal);animation:invite-rail-pulse 1.5s ease-in-out infinite}.company-rail .company-rail-add{--btn-bg: var(--ink-2);--btn-fg: var(--paper-muted);--btn-fg-hover: var(--signal);--btn-bg-hover: var(--signal-soft);--btn-bd-hover: var(--signal-line-bright);box-shadow:var(--shadow-sm)}.company-rail-members{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;align-items:center;gap:var(--space-2);overflow:hidden}.company-rail-stack{display:flex;min-height:0;flex-direction:column;align-items:center;gap:var(--space-2)}.company-rail-stack:empty{display:none}.company-rail-stack.is-party{width:100%}.company-rail-stack.is-party:before{width:28px;height:1px;flex:0 0 auto;margin:0 0 2px;content:"";background:linear-gradient(90deg,transparent,rgb(var(--signal-rgb) / var(--a-7)),transparent)}.company-rail-stack>button{width:var(--control-md);height:var(--control-md);padding:0;border-radius:var(--radius-sm);background:var(--surface-ghost)}.company-rail-stack .avatar{box-shadow:0 7px 18px #0000004d}.company-rail.has-invite:not(.has-party) .company-rail-stack>button:first-child .avatar{border-color:var(--signal-line-bright);box-shadow:0 0 0 3px var(--signal-soft)}.company-rail-you{opacity:.52;filter:saturate(.55)}.friends-footer{display:flex;height:var(--panel-footer-height);min-height:var(--panel-footer-height);align-items:center;justify-content:flex-start;padding:0 clamp(var(--space-5),1.7vw,var(--space-7));border-top:1px solid var(--line-soft);box-sizing:border-box;color:var(--paper-dim);font:500 var(--text-micro)/1 "IBM Plex Mono",monospace;letter-spacing:.1em}@keyframes menu-enter{0%{opacity:0;transform:translateY(-4px) scale(.97)}}@keyframes invite-rail-pulse{50%{color:var(--paper);text-shadow:0 0 14px var(--signal)}}@media(prefers-reduced-motion:reduce){.hub-shell,.friends-panel,.company-rail,.company-edge-toggle,.company-toggle-glyph>svg{transition-duration:var(--dur-fast);transition-delay:0s}.company-edge-toggle.has-invite{animation:none}}@media(max-width:780px){.mobile-content .network-stage,.mobile-content .friends-panel,.mobile-content .profile-panel{height:100%}.mobile-content .friends-panel{position:relative;inset:auto;width:100%;opacity:1;pointer-events:auto;visibility:visible;transform:none;transition:none}.friends-panel{border-radius:var(--radius-md)}}.friends-panel.squad-panel{grid-template-rows:auto auto minmax(0,1fr) auto;background:radial-gradient(circle at 76% -4%,var(--signal-tint),transparent 24%),radial-gradient(circle at 0 45%,rgb(var(--joy-sky-rgb) / var(--a-1)),transparent 34%),var(--ink-1)}.squad-header{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:clamp(var(--space-5),1.7vw,var(--space-7)) clamp(var(--space-4),1.45vw,var(--space-6)) var(--space-4)}.squad-header>div{min-width:0}.squad-header h2{margin:var(--space-2) 0 0;color:var(--paper);font-size:clamp(24px,1.65vw,29px);font-weight:520;line-height:1;letter-spacing:-.045em}.squad-header p{margin:var(--space-2) 0 0;color:var(--paper-muted);font-size:var(--text-small);line-height:1.35}.squad-add-trigger{min-width:74px}.desktop-friends .squad-add-trigger{margin-right:var(--space-10)}.squad-add-trigger:hover,.squad-add-trigger.is-active{--btn-fg-hover: var(--signal);--btn-bg-hover: var(--signal-tint);--btn-bd-hover: var(--signal-line-bright);border-color:var(--signal-line-bright);color:var(--signal);background:var(--signal-tint)}.squad-add-drawer{display:grid;max-height:0;gap:var(--space-2);padding:0 clamp(var(--space-4),1.3vw,var(--space-5));overflow:hidden;border-bottom:1px solid transparent;opacity:0;transform:translateY(-7px);transition:max-height .42s cubic-bezier(.22,1,.36,1),padding .42s cubic-bezier(.22,1,.36,1),opacity var(--dur-base) ease,transform var(--dur-slow) var(--ease-out),border-color var(--dur-slow) ease}.squad-add-drawer.is-open{max-height:380px;padding-bottom:var(--space-4);border-bottom-color:var(--line-soft);opacity:1;transform:translateY(0)}.squad-add-drawer .squad-search-field{display:grid;min-height:var(--control-lg);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-1) var(--space-1) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--paper-dim);background:var(--surface-ghost);transition:border-color var(--dur-base) ease,box-shadow var(--dur-base) ease,background var(--dur-base) ease}.squad-add-drawer .squad-search-field:focus-within{border-color:var(--signal-line-bright);background:var(--surface-ghost-hover);box-shadow:0 0 0 3px rgb(var(--signal-rgb) / var(--a-2))}.squad-add-drawer input{min-width:0;border:0;outline:0;color:var(--paper);background:transparent;font:400 13px/1.2 inherit}.squad-add-drawer input::placeholder{color:var(--paper-dim)}.squad-add-error{color:var(--danger);font-size:var(--text-caption);line-height:1.4}.squad-search-results{display:flex;max-height:240px;flex-direction:column;gap:var(--space-1);margin:0;padding:0;overflow-y:auto;list-style:none}.squad-search-results li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);background:var(--surface-ghost)}.squad-search-results strong{overflow:hidden;color:var(--paper);font-size:var(--text-small);font-weight:500;text-overflow:ellipsis;white-space:nowrap}@media(max-width:780px){.squad-search-results li{padding:var(--space-3) var(--space-2)}.squad-search-results li .qg-btn{min-height:36px}}.squad-search-results small{color:var(--paper-dim);font-size:var(--text-caption);white-space:nowrap}.squad-scroll{min-height:0;padding:var(--space-1) clamp(var(--space-3),1.3vw,var(--space-5)) var(--space-5);overflow-x:hidden;overflow-y:auto}.party-inbox{margin-bottom:var(--space-3);padding:var(--space-3);border:1px solid var(--signal-line);border-radius:var(--radius-md);background:linear-gradient(105deg,var(--signal-soft),transparent 75%),var(--surface-ghost);animation:party-inbox-enter var(--dur-slow) var(--ease-out) both}.party-inbox>header,.squad-section-title,.friends-directory-heading{display:flex;align-items:center;justify-content:space-between}.party-inbox>header{padding:0 2px var(--space-2)}.party-inbox>header span,.squad-section-title>span,.friends-directory-heading>div:first-child>span{color:var(--paper-muted);font:600 12px/1 IBM Plex Mono,monospace;letter-spacing:.09em;text-transform:uppercase}.party-inbox>header span{color:var(--signal)}.party-inbox>header b,.squad-section-title>b,.friends-directory-heading>div:first-child>b{display:grid;min-width:21px;height:21px;place-items:center;border-radius:var(--radius-xs);color:var(--signal);background:var(--signal-soft);font:600 12px/1 IBM Plex Mono,monospace}.party-inbox>div{display:grid;gap:var(--space-1)}.party-call{display:grid;min-width:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:rgb(var(--ink-rgb) / var(--a-8))}.party-call>div:nth-child(2),.squad-friend-copy{display:grid;min-width:0;gap:var(--space-1)}.party-call strong,.squad-friend-copy strong{overflow:hidden;color:var(--paper);font-size:var(--text-small);font-weight:560;text-overflow:ellipsis;white-space:nowrap}.party-call>div:nth-child(2)>span,.squad-friend-copy>span{overflow:hidden;color:var(--paper-dim);font-size:var(--text-caption);line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.party-call-actions,.request-buttons,.squad-friend-actions{display:flex;align-items:center;gap:var(--space-1)}.party-call-accept:hover:not(:disabled){background:var(--signal-hover)}.party-deck{position:relative;padding:var(--space-4);overflow:hidden;border:1px solid var(--signal-line);border-radius:var(--radius-md);background:linear-gradient(135deg,var(--surface-ghost-hover),transparent 43%),radial-gradient(circle at 86% 9%,var(--signal-soft),transparent 29%),var(--ink-2);box-shadow:0 18px 42px #0003,inset 0 1px rgb(var(--paper-rgb) / var(--a-1))}.party-deck:before{position:absolute;top:0;right:15px;left:15px;height:1px;content:"";background:linear-gradient(90deg,transparent,rgb(var(--signal-rgb) / var(--a-9)),transparent);opacity:.72}.party-deck:after{position:absolute;top:-44px;right:-34px;width:120px;height:120px;border:1px solid var(--signal-line-soft);border-radius:50%;content:"";box-shadow:0 0 0 18px rgb(var(--signal-rgb) / var(--a-1)),0 0 0 36px rgb(var(--signal-rgb) / var(--a-1));pointer-events:none}.party-deck-header{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.party-deck-header>div{display:grid;gap:var(--space-1)}.party-deck-header>div>span{display:flex;align-items:center;gap:var(--space-2);color:var(--paper);font:650 12px/1 IBM Plex Mono,monospace;letter-spacing:.09em}.party-deck-header>div>span svg{color:var(--signal)}.party-deck-header small{color:var(--paper-dim);font-size:var(--text-caption)}.party-deck-header>b{display:flex;align-items:baseline;gap:var(--space-1);padding:var(--space-2) var(--space-2);border:1px solid var(--signal-line);border-radius:var(--radius-sm);color:var(--paper-muted);background:rgb(var(--ink-rgb) / var(--a-8));font:500 12px/1 IBM Plex Mono,monospace}.party-deck-header>b i{color:var(--signal);font-size:var(--text-body);font-style:normal}.party-roster{position:relative;z-index:1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.party-roster-slot{position:relative;display:grid;min-width:0;min-height:80px;align-content:center;justify-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-1) var(--space-1);overflow:hidden;border-radius:var(--radius-sm)}.party-roster-slot>small{width:100%;overflow:hidden;color:var(--paper-muted);font-size:var(--text-caption);line-height:1.1;text-align:center;text-overflow:ellipsis;white-space:nowrap}.party-roster-slot.is-empty{color:rgb(var(--paper-rgb) / var(--a-7))}.party-roster-slot.is-empty>i{font:500 12px/1 IBM Plex Mono,monospace;font-style:normal}.party-roster-slot.is-empty>small{color:rgb(var(--paper-rgb) / var(--a-7))}.party-member-avatar{position:relative;display:block}.party-member-avatar .avatar{width:40px;height:var(--control-lg)}.party-member-avatar>i{position:absolute;top:-8px;right:23px;display:grid;width:22px;height:22px;place-items:center;border:2px solid var(--ink-2);border-radius:50%;color:var(--ink-0);background:var(--signal)}.party-member-kick{--btn-h: 22px;--btn-fg: var(--danger);--btn-bg: var(--ink-3);--btn-fg-hover: var(--paper);--btn-bg-hover: var(--danger);--btn-bd: var(--ink-2);--btn-bd-hover: var(--danger);position:absolute;top:-11px;left:9px;z-index:2;border-width:2px;opacity:.86}.party-member-kick:hover:not(:disabled){opacity:1}.party-member-kick:disabled{cursor:default;opacity:.55}.party-deck-bottom{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-3)}.party-deck-note{display:flex;min-width:0;align-items:center;gap:var(--space-2)}.party-deck-note>span{display:grid;width:31px;height:var(--control-sm);flex:0 0 auto;place-items:center;border:1px solid var(--signal-line-soft);border-radius:var(--radius-sm);color:var(--signal);background:var(--signal-tint)}.party-deck-note>div{display:grid;min-width:0;gap:var(--space-1)}.party-deck-note strong{color:var(--paper);font-size:var(--text-small);font-weight:550}.party-deck-note p{margin:0;color:var(--paper-dim);font-size:var(--text-caption);line-height:1.35}.party-deck-actions{display:flex;flex:0 0 auto;align-items:center;gap:var(--space-2)}.party-share-button:hover:not(:disabled){border-color:var(--signal-line);color:var(--signal);background:var(--signal-tint)}.party-create-button{height:var(--control-md);padding-right:var(--space-3);padding-left:var(--space-3);border-color:var(--signal-line);color:var(--ink-0);background:var(--signal);font-weight:650}.party-create-button:hover:not(:disabled){background:var(--signal-hover);box-shadow:var(--glow-signal)}.party-create-button:disabled,.party-share-button:disabled,.party-leave-button:disabled{cursor:default;opacity:.5}.squad-list-section{margin-top:var(--space-5)}.squad-section-title{min-height:var(--control-xs);padding:0 var(--space-1)}.squad-list{display:grid;gap:var(--space-1);margin-top:var(--space-2)}.friends-directory-heading>div:first-child{display:flex;align-items:center;gap:var(--space-2)}.friend-filters{display:flex;gap:var(--space-1);padding:var(--space-1);border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface-ghost)}.friend-filters button i{color:var(--signal);font-style:normal}.squad-friend{position:relative;display:grid;min-width:0;min-height:58px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);background:var(--surface-ghost)}.squad-friend.is-online{background:linear-gradient(90deg,var(--signal-wash),transparent 62%),var(--surface-ghost)}.squad-friend-copy>span.online{color:var(--signal)}.squad-friend-copy>span.waiting{display:flex;align-items:center;gap:var(--space-1)}.squad-friend-actions{min-width:0}.squad-invite-button{min-width:72px}.squad-invite-button:hover:not(:disabled){--btn-fg-hover: var(--ink-0);--btn-bg-hover: var(--signal);--btn-bd-hover: var(--signal-line-bright);box-shadow:var(--glow-signal)}.squad-invite-button:disabled{opacity:.44}.squad-invite-button.is-member,.squad-invite-button.is-pending{cursor:default;opacity:.68}.squad-invite-button.is-member{--btn-fg: var(--success);--btn-bg: var(--success-tint);--btn-bd: var(--success-line)}.squad-invite-button.is-declined{--btn-fg: var(--danger);--btn-bg: var(--danger-tint);--btn-bd: var(--danger-line)}.squad-invite-button.is-declined:hover{--btn-fg-hover: var(--paper);--btn-bg-hover: rgb(var(--danger-rgb) / var(--a-4));--btn-bd-hover: var(--danger-line-bright)}.squad-more-wrap{position:relative}.squad-empty-state{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);margin-top:var(--space-2);padding:var(--space-3);border:1px dashed var(--line);border-radius:var(--radius-md);background:var(--surface-ghost)}.squad-empty-state>span{display:grid;width:40px;height:var(--control-lg);place-items:center;border:1px solid var(--signal-line-soft);border-radius:var(--radius-sm);color:var(--signal);background:var(--signal-tint)}.squad-empty-state>div{min-width:0}.squad-empty-state strong,.squad-away-state strong{color:var(--paper);font-size:var(--text-small);font-weight:550}.squad-empty-state p,.squad-away-state p{margin:var(--space-1) 0 0;color:var(--paper-dim);font-size:var(--text-caption);line-height:1.4}.squad-empty-state>button,.squad-away-state>button{--btn-fg-hover: var(--signal);--btn-bg-hover: var(--signal-tint);--btn-bd-hover: var(--signal-line-bright)}.squad-away-state{display:grid;justify-items:center;margin-top:var(--space-2);padding:var(--space-6) var(--space-3) var(--space-5);border:1px dashed var(--line-soft);border-radius:var(--radius-md);text-align:center}.squad-away-state>button{margin-top:var(--space-3)}.away-orbit{position:relative;display:grid;width:42px;height:var(--control-lg);margin-bottom:var(--space-2);place-items:center;border:1px solid var(--line);border-radius:50%}.away-orbit:after{width:6px;height:6px;border-radius:50%;content:"";background:var(--signal);box-shadow:0 0 12px var(--signal)}.away-orbit>i{position:absolute;width:3px;height:3px;border-radius:50%;background:var(--paper-dim);animation:away-orbit 2.6s linear infinite}.away-orbit>i:nth-child(2){animation-delay:-.86s}.away-orbit>i:nth-child(3){animation-delay:-1.72s}.outgoing-requests{padding-bottom:var(--space-1)}.cancel-friend-request{justify-self:end}.squad-footer{justify-content:space-between}.squad-footer span{display:flex;align-items:center;gap:var(--space-2)}.squad-footer i{width:5px;height:5px;border-radius:50%;background:var(--signal);box-shadow:0 0 9px var(--signal)}.company-rail-stack .company-rail-overflow{width:34px;height:var(--control-xs);border:1px solid var(--signal-line);border-radius:var(--radius-sm);color:var(--signal);background:var(--signal-tint);font:600 11px/1 IBM Plex Mono,monospace}.guest-party-deck>.party-deck-note{margin-top:var(--space-3)}@keyframes party-inbox-enter{0%{opacity:0;transform:translateY(-7px) scale(.985)}}@keyframes away-orbit{0%{transform:rotate(0) translate(18px) rotate(0)}to{transform:rotate(360deg) translate(18px) rotate(-360deg)}}@media(max-width:1050px)and (min-width:781px){.squad-header{padding-right:var(--space-4);padding-left:var(--space-4)}.squad-header h2{font-size:var(--text-title)}.squad-add-trigger{--btn-px: 0;width:var(--control-md);min-width:0}.squad-add-trigger>span{display:none}.desktop-friends .squad-add-trigger{margin-right:var(--space-10)}.squad-scroll{padding-right:var(--space-3);padding-left:var(--space-3)}.party-deck{padding:var(--space-3)}.party-roster{gap:var(--space-1)}.party-roster-slot{min-height:59px;border-radius:var(--radius-sm)}.party-member-avatar .avatar{width:30px;height:var(--control-xs)}.party-roster-slot>small,.party-deck-note p,.squad-invite-button>span{display:none}.squad-invite-button{--btn-px: 0;width:var(--control-sm);min-width:0}}@media(max-width:780px){.friends-panel.squad-panel{border-radius:var(--radius-md)}.squad-header{padding:var(--space-5) var(--space-4) var(--space-4)}.squad-header h2{font-size:25px}.desktop-friends .squad-add-trigger{margin-right:0}.squad-add-drawer{padding-right:var(--space-4);padding-left:var(--space-4)}.squad-scroll{padding-right:var(--space-3);padding-left:var(--space-3)}.party-deck{padding:var(--space-3)}.party-roster-slot{min-height:64px}}@media(max-width:420px){.squad-add-trigger{--btn-px: 0;width:var(--control-md);min-width:0}.squad-add-trigger>span{display:none}.party-roster{gap:var(--space-1)}.party-roster-slot{min-height:58px;border-radius:var(--radius-sm)}.party-member-avatar .avatar{width:30px;height:var(--control-xs)}.party-roster-slot>small{font-size:var(--text-micro)}.party-call-accept>span,.party-leave-button>span,.party-share-button>span,.party-create-button>span,.squad-invite-button>span{display:none}.party-call-accept,.party-leave-button,.party-share-button,.party-create-button,.squad-invite-button{--btn-px: 0;width:var(--control-sm);min-width:0}}.friends-panel.squad-panel.guest-squad-panel{grid-template-rows:auto minmax(0,1fr) auto}.guest-squad-content{display:grid;align-content:center;gap:var(--space-5)}.guest-party-deck{opacity:.78}.guest-squad-callout{display:grid;justify-items:center;padding:var(--space-4) var(--space-3) var(--space-1);text-align:center}.guest-squad-callout>span{display:grid;width:54px;height:54px;margin-bottom:var(--space-3);place-items:center;border:1px solid var(--signal-line);border-radius:var(--radius-md);color:var(--signal);background:var(--signal-tint);box-shadow:0 12px 34px rgb(var(--signal-rgb) / var(--a-3))}.guest-squad-callout h3{margin:0;color:var(--paper);font-size:var(--text-lead);font-weight:550;letter-spacing:-.02em}.guest-squad-callout p{max-width:300px;margin:var(--space-2) 0 var(--space-4);color:var(--paper-muted);font-size:var(--text-small);line-height:1.5}.guest-squad-callout .guest-squad-login{min-height:var(--control-xs);margin-top:var(--space-2);padding:0 var(--space-2);border:0;color:var(--paper-muted);background:transparent;font-size:var(--text-caption);font-weight:450}.guest-squad-callout .guest-squad-login:hover{color:var(--signal);background:transparent;box-shadow:none}.player-avatar-trigger{display:block;padding:0;border:0;border-radius:var(--radius-sm);background:none;cursor:pointer}.player-avatar-trigger:hover .avatar,.player-avatar-trigger[aria-expanded=true] .avatar{border-color:var(--signal-line)}.player-menu{position:fixed;z-index:110;display:grid;width:232px;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--ink-2);box-shadow:var(--shadow-md);animation:menu-enter var(--dur-fast) var(--ease-out)}.player-menu-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--line-soft)}.player-menu-head strong{display:block;overflow:hidden;color:var(--paper);font-size:var(--text-small);text-overflow:ellipsis;white-space:nowrap}.player-menu-head span{color:var(--paper-dim);font:500 var(--text-micro)/1.4 var(--font-mono)}.player-menu-praise{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--signal);font:600 var(--text-micro)/1 var(--font-mono)}.player-menu-error{margin:0;color:var(--danger);font-size:var(--text-caption)}.player-menu-notice{margin:0;padding-top:var(--space-2);border-top:1px solid var(--line-soft);color:var(--signal);font:500 var(--text-micro)/1.4 var(--font-mono)}.player-modal-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;padding:var(--space-6)}.player-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;border:0;background:var(--surface-scrim);cursor:default;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.player-modal{position:relative;width:min(420px,100%);max-height:calc(100dvh - var(--space-12));padding:var(--space-6);overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius-lg);background:radial-gradient(circle at 80% 0,var(--signal-soft),transparent 30%),var(--ink-1);box-shadow:var(--shadow-lg);animation:menu-enter var(--dur-base) var(--ease-out)}.player-modal-close{position:absolute;top:var(--space-3);right:var(--space-3);z-index:2}.player-profile{display:grid;gap:var(--space-5)}.player-profile-head{display:grid;justify-items:center;gap:var(--space-2);text-align:center}.player-profile-head h3{margin:0;color:var(--paper);font-size:var(--text-title);font-weight:500;letter-spacing:-.03em}.player-profile-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-1)}.player-profile-facts{display:grid;margin:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);padding:var(--space-3);border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface-ghost);text-align:center}.player-profile-facts dt{color:var(--paper-dim);font:500 var(--text-micro)/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.player-profile-facts dd{margin:var(--space-1) 0 0;color:var(--paper);font:600 var(--text-small)/1 var(--font-mono)}.player-report{display:grid;gap:var(--space-3)}.player-report h3{margin:0;padding-right:var(--space-8);color:var(--paper);font-size:var(--text-lead);font-weight:500}.player-report p{margin:0;color:var(--paper-muted);font-size:var(--text-caption)}.player-report-reasons{display:flex;flex-wrap:wrap;gap:var(--space-1)}@media(max-width:520px){.player-menu{width:208px}}.player-menu-admin{display:inline-grid;margin-left:var(--space-1);place-items:center;color:var(--signal);vertical-align:-2px}.player-history{display:grid;gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--line-soft)}.player-history h4{display:flex;align-items:center;gap:var(--space-1);margin:0;color:var(--paper-dim);font:500 var(--text-micro) / 1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.player-history-empty{margin:0;color:var(--paper-dim);font-size:var(--text-caption)}.player-history-list{display:grid;max-height:172px;margin:0;gap:var(--space-1);padding:0;overflow-y:auto;list-style:none}.player-history-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-xs);background:var(--surface-ghost);color:var(--paper-muted);font-size:var(--text-caption)}.player-history-list b{color:var(--paper);font-weight:600}.player-history-list em{grid-column:1 / -1;color:var(--paper-dim);font-size:var(--text-micro);font-style:normal}.player-history-list time{color:var(--paper-dim);font:500 var(--text-micro) / 1 var(--font-mono);white-space:nowrap}.avatar-crop-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:var(--space-5);background:rgb(var(--ink-rgb) / var(--a-10));opacity:0;pointer-events:none;visibility:hidden;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);transition:opacity var(--dur-slow) ease,backdrop-filter var(--dur-slow) ease,visibility 0s linear .42s}.avatar-crop-layer.is-open{opacity:1;pointer-events:auto;visibility:visible;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);transition:opacity var(--dur-slow) ease,backdrop-filter var(--dur-slow) ease,visibility 0s}.avatar-crop-dialog{width:min(480px,calc(100vw - 40px));max-height:calc(100dvh - 40px);padding:var(--space-6);overflow:auto;border:1px solid var(--line-bright);border-radius:var(--radius-lg);background:radial-gradient(circle at 78% 0,var(--signal-soft),transparent 24%),var(--ink-1);box-shadow:0 34px 100px #0000009e;opacity:0;transform:translateY(22px) scale(.97);transition:opacity var(--dur-base) ease,transform .42s cubic-bezier(.22,1,.36,1)}.avatar-crop-layer.is-open .avatar-crop-dialog{opacity:1;transform:translateY(0) scale(1)}.avatar-crop-dialog>header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5)}.avatar-crop-icon{display:grid;width:40px;height:var(--control-lg);flex:0 0 40px;place-items:center;border:1px solid var(--signal-line);border-radius:var(--radius-sm);color:var(--signal);background:var(--signal-soft)}.avatar-crop-dialog>header>div{min-width:0}.avatar-crop-dialog h2{margin:0 0 var(--space-1);font-size:var(--text-lead);font-weight:500;letter-spacing:-.035em}.avatar-crop-dialog header p{margin:0;color:var(--paper-muted);font-size:var(--text-micro)}.avatar-crop-dialog>header>button{margin-left:auto}.avatar-crop-preview{position:relative;width:min(350px,calc(100vw - 88px),calc(100dvh - 300px));min-width:210px;aspect-ratio:1;margin:0 auto;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(45deg,var(--ink-2) 25%,transparent 25% 75%,var(--ink-2) 75%),linear-gradient(45deg,var(--ink-2) 25%,var(--ink-3) 25% 75%,var(--ink-2) 75%);background-position:0 0,8px 8px;background-size:16px 16px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.avatar-crop-preview:active{cursor:grabbing}.avatar-crop-preview>img{position:absolute;top:50%;left:50%;max-width:none;pointer-events:none;-webkit-user-select:none;user-select:none;will-change:transform}.avatar-crop-mask{position:absolute;top:8%;right:8%;bottom:8%;left:8%;border:2px solid var(--line-bright);border-radius:50%;box-shadow:0 0 0 100vmax rgb(var(--ink-rgb) / var(--a-9)),0 0 28px #00000061 inset;pointer-events:none}.avatar-crop-mask:before,.avatar-crop-mask:after{position:absolute;content:"";opacity:.24;background:#fff}.avatar-crop-mask:before{top:50%;right:0;left:0;height:1px}.avatar-crop-mask:after{top:0;bottom:0;left:50%;width:1px}.avatar-crop-move{position:absolute;bottom:14px;left:50%;z-index:2;display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border:1px solid var(--line);border-radius:var(--radius-pill);color:rgb(var(--paper-rgb) / var(--a-10));background:rgb(var(--ink-rgb) / var(--a-9));font:500 var(--text-micro)/1 "IBM Plex Mono",monospace;letter-spacing:.08em;pointer-events:none;transform:translate(-50%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.avatar-zoom{display:grid;grid-template-columns:auto minmax(0,1fr) 42px;align-items:center;gap:var(--space-3);margin-top:var(--space-4);color:var(--paper-muted)}.avatar-zoom input{width:100%;accent-color:var(--signal);cursor:pointer}.avatar-zoom span{color:var(--paper-dim);font:500 var(--text-micro)/1 "IBM Plex Mono",monospace;text-align:right}.avatar-crop-error{min-height:15px;margin-top:var(--space-2);color:var(--danger);font-size:var(--text-caption);line-height:1.4;opacity:0}.avatar-crop-error.visible{opacity:1}.avatar-crop-dialog>footer{display:grid;grid-template-columns:.72fr 1.28fr;gap:var(--space-2);margin-top:var(--space-2)}.avatar-zoom input:disabled{cursor:wait;opacity:.58}@media(max-width:520px){.avatar-crop-layer{align-items:end;padding:var(--space-2)}.avatar-crop-dialog{width:100%;max-height:calc(100dvh - 20px);padding:var(--space-5);border-radius:var(--radius-lg)}.avatar-crop-preview{width:min(100%,calc(100dvh - 290px))}}.notif{position:relative;display:flex;align-self:stretch}.notif-toggle{position:relative;display:flex;height:100%;align-items:center;justify-content:center;aspect-ratio:1;padding:0;border:0;border-right:1px solid var(--line-soft);background:transparent;color:var(--paper-muted);cursor:pointer;transition:color var(--dur-fast) ease,background var(--dur-fast) ease}.notif-toggle:hover,.notif-toggle[aria-expanded=true]{background:var(--level-hover);color:var(--paper)}.notif-toggle.has-unread>b{position:absolute;top:calc(50% - 15px);right:calc(50% - 15px);min-width:16px;padding:0 var(--space-1);border-radius:var(--radius-pill);background:var(--signal);color:var(--ink-0);font-family:var(--font-mono);font-size:10px;line-height:16px;text-align:center}.notif-panel{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:40;display:flex;flex-direction:column;width:min(360px,calc(100vw - var(--space-16)));max-height:min(420px,70vh);overflow:hidden auto;border-radius:var(--radius-md);background:var(--level-2);box-shadow:var(--shadow-md)}.notif-panel header{position:sticky;top:0;z-index:1;padding:var(--space-4) var(--space-4) var(--space-3);background:var(--level-2);color:var(--paper-muted);font-size:var(--text-caption);letter-spacing:.08em;text-transform:uppercase}.notif-empty{margin:0;padding:0 var(--space-4) var(--space-5);color:var(--paper-dim);font-size:var(--text-small)}.notif-panel ul{display:flex;flex-direction:column;margin:0;padding:0 var(--space-2) var(--space-2);list-style:none}.notif-panel li>button{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--paper);font:inherit;text-align:left;cursor:pointer;transition:background var(--dur-fast) ease}.notif-panel li>button:hover:not(:disabled){background:var(--level-hover)}.notif-panel li>button:disabled{cursor:default}.notif-panel li.is-unread>button:before{content:"";position:absolute;left:var(--space-1);width:5px;height:5px;border-radius:var(--radius-pill);background:var(--signal)}.notif-panel li{position:relative}.notif-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-pill);background:var(--level-3);color:var(--paper-muted)}.notif-panel li span{display:flex;min-width:0;flex-direction:column;gap:var(--space-1)}.notif-panel li strong{font-size:var(--text-small);font-weight:500}.notif-panel li small{color:var(--paper-dim);font-size:var(--text-caption)}.volume-control{position:relative;display:flex;align-items:center;align-self:stretch}.volume-toggle{display:grid;height:100%;padding:0;aspect-ratio:1;border:0;border-radius:var(--radius-sm);background:none;color:var(--paper-muted);cursor:pointer;place-items:center;transition:color var(--dur-fast) ease}.volume-toggle:hover,.volume-control.is-open .volume-toggle{color:var(--signal)}.volume-toggle:focus-visible{outline:2px solid var(--signal-line-bright);outline-offset:calc(-1 * var(--space-1))}.volume-drop{position:absolute;top:calc(100% + var(--space-1));left:50%;z-index:60;display:flex;width:220px;flex-direction:column;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--level-3);box-shadow:var(--shadow-lg);gap:var(--space-3);opacity:0;pointer-events:none;transform:translate(-50%,calc(-1 * var(--space-2)));transition:opacity var(--dur-fast) ease,transform var(--dur-fast) ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.volume-drop:before{position:absolute;top:calc(-1 * var(--space-1));left:50%;width:var(--space-2);height:var(--space-2);border-top:1px solid var(--line);border-left:1px solid var(--line);background:var(--level-3);content:"";transform:translate(-50%) rotate(45deg)}.volume-control.is-open .volume-drop{opacity:1;pointer-events:auto;transform:translate(-50%)}.volume-drop-head,.volume-drop-controls{display:flex;align-items:center}.volume-drop-head{justify-content:space-between;gap:var(--space-3)}.volume-drop-head span{color:var(--paper-muted);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:.08em;text-transform:uppercase}.volume-drop-head output{color:var(--signal);font-family:var(--font-mono);font-size:var(--text-caption)}.volume-drop-controls{gap:var(--space-3)}.volume-slider{width:auto;height:var(--control-sm);min-width:0;flex:1;margin:0;padding:0;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.volume-slider::-webkit-slider-runnable-track{height:var(--space-2);border-radius:var(--radius-pill);background:linear-gradient(to right,var(--signal) 0 var(--filled),rgb(var(--paper-rgb) / var(--a-3)) var(--filled) 100%)}.volume-slider::-moz-range-track{height:var(--space-2);border-radius:var(--radius-pill);background:linear-gradient(to right,var(--signal) 0 var(--filled),rgb(var(--paper-rgb) / var(--a-3)) var(--filled) 100%)}.volume-slider::-webkit-slider-thumb{width:var(--space-4);height:var(--space-4);margin-top:calc(-1 * var(--space-1));border:0;border-radius:var(--radius-pill);background:var(--paper);-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:transform var(--dur-fast) ease,background var(--dur-fast) ease}.volume-slider::-moz-range-thumb{width:var(--space-4);height:var(--space-4);border:0;border-radius:var(--radius-pill);background:var(--paper)}.volume-slider:hover::-webkit-slider-thumb,.volume-slider:active::-webkit-slider-thumb{transform:scale(1.15);background:var(--signal)}.volume-slider:focus-visible{outline:2px solid var(--signal-line-bright);outline-offset:var(--space-1)}.support-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;padding:var(--space-6)}.support-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:rgb(var(--ink-rgb) / var(--a-9));cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.support-card{position:relative;display:flex;width:min(520px,100%);max-height:100%;flex-direction:column;gap:var(--space-4);overflow-y:auto;padding:var(--space-6);border-radius:var(--radius-md);background:var(--level-1);box-shadow:var(--shadow-lg)}.support-card h3{display:flex;align-items:center;margin:0;gap:var(--space-2);font-size:var(--text-lead)}.support-card>p{margin:0;color:var(--paper-muted);font-size:var(--text-small)}.support-close{position:absolute;top:var(--space-3);right:var(--space-3)}.support-kinds{display:flex;gap:var(--space-2);flex-wrap:wrap}.support-field{display:flex;flex-direction:column;gap:var(--space-2)}.support-field>span{color:var(--paper-muted);font-size:var(--text-caption)}.support-field small{color:var(--paper-dim);font-size:var(--text-micro);text-align:right}.support-field textarea{min-height:var(--space-9, 120px);resize:vertical}.support-error{margin:0;color:var(--danger);font-size:var(--text-small)}.hub-shell{--panel-footer-height: 50px;--panel-shell-gap: clamp(16px, 2vw, 28px);--company-open-width: clamp(320px, 24vw, 390px);--company-column-width: 68px;--company-toggle-inset: clamp(14px, 1.3vw, 21px);--company-toggle-top: clamp(21px, 1.7vw, 28px);--company-duration: .46s;--company-ease: cubic-bezier(.22, 1, .36, 1);display:grid;grid-template:"rail header header" 72px "rail stage friends" minmax(0,1fr) / 78px minmax(520px,1fr) var(--company-column-width);width:100%;height:100dvh;overflow:hidden;background:radial-gradient(circle at 66% 18%,var(--joy-sky-soft),transparent 20%),radial-gradient(circle at 30% 90%,var(--joy-peach-soft),transparent 18%),var(--ink-0);transition:grid-template-columns var(--company-duration) var(--company-ease)}.hub-shell.company-open{--company-column-width: var(--company-open-width)}.hub-toast{position:fixed;top:18px;left:50%;z-index:100;display:flex;min-height:var(--control-lg);align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4) var(--space-2) var(--space-2);border:1px solid var(--signal-line);border-radius:var(--radius-pill);color:var(--paper);background:rgb(var(--ink-rgb) / var(--a-10));box-shadow:0 14px 45px #00000073;font-size:var(--text-caption);opacity:0;pointer-events:none;transform:translate(-50%,-14px) scale(.96);transition:var(--dur-slow) var(--ease-out);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hub-toast.visible{opacity:1;transform:translate(-50%) scale(1)}.hub-toast>span{display:grid;width:28px;height:var(--control-xs);place-items:center;border-radius:50%;color:var(--ink-0);background:var(--signal)}.hub-toast.error{border-color:var(--danger-line)}.hub-toast.error>span{color:var(--paper);background:var(--danger)}.desktop-rail{position:relative;z-index:5;grid-area:rail;display:flex;min-height:0;flex-direction:column;align-items:center;padding:var(--space-5) var(--space-2);border-right:1px solid var(--line-soft);background:var(--ink-0)}.brand-home{display:grid;padding:0;place-items:center;border:0;border-radius:var(--radius-sm);background:none;cursor:pointer;color:var(--signal)}.rail-logo{margin-bottom:clamp(var(--space-8),6vh,var(--space-16))}.desktop-rail nav{display:grid;gap:var(--space-3)}.rail-button{--btn-h: var(--control-xl);position:relative}.rail-button svg{width:23px;height:23px}.rail-button span{position:absolute;left:calc(100% + 11px);z-index:20;padding:var(--space-2) var(--space-2);border:1px solid var(--line);border-radius:var(--radius-xs);color:var(--paper);background:var(--ink-3);font:500 var(--text-micro)/1 "IBM Plex Mono",monospace;opacity:0;pointer-events:none}.rail-button:hover span{opacity:1}.rail-button.is-active:before{position:absolute;left:-11px;width:2px;height:17px;border-radius:2px;content:"";background:var(--signal);box-shadow:0 0 12px var(--signal)}.desktop-settings-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;pointer-events:none;visibility:hidden;transition:visibility 0s linear var(--dur-slow)}.desktop-settings-layer.is-open{pointer-events:auto;visibility:visible;transition-delay:0s}.settings-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;border:0;background:rgb(var(--ink-rgb) / var(--a-9));cursor:default;opacity:0;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transition:opacity var(--dur-slow) ease}.desktop-settings-layer.is-open .settings-backdrop{opacity:1}.desktop-settings-card{position:absolute;top:84px;right:24px;bottom:auto;left:auto;width:min(360px,calc(100vw - 122px));height:min(500px,calc(100dvh - 108px));overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:radial-gradient(circle at 75% 12%,var(--signal-soft),transparent 28%),var(--ink-1);opacity:0;box-shadow:0 30px 90px #0000008c;transform:translate(16px,-10px) scale(.975);transform-origin:top right;transition:opacity var(--dur-slow) ease,transform .44s cubic-bezier(.22,1,.36,1)}.desktop-settings-layer.is-open .desktop-settings-card{opacity:1;transform:translate(0) scale(1)}.settings-close{position:absolute;top:var(--space-4);right:var(--space-4);z-index:2}.hub-header{grid-area:header;display:flex;min-width:0;align-items:center;justify-content:flex-end;border-bottom:1px solid var(--line-soft);background:rgb(var(--ink-rgb) / var(--a-10))}.header-section{margin-right:auto;padding-left:clamp(var(--space-4),2vw,var(--space-7));overflow:hidden;color:var(--signal);font:500 clamp(13px,.95vw,17px)/1 "IBM Plex Mono",monospace;letter-spacing:.11em;text-overflow:ellipsis;white-space:nowrap;animation:header-section-in var(--dur-slow) var(--ease-out) both}@keyframes header-section-in{0%{opacity:0;transform:translateY(-4px)}}.header-status{display:flex;align-items:center;align-self:stretch}.global-online{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);padding:0 clamp(var(--space-4),2vw,var(--space-7));border-right:1px solid var(--line-soft);border-left:1px solid var(--line-soft);text-align:center}.global-online b{font:500 20px/1 IBM Plex Mono,monospace;letter-spacing:-.05em}.global-online small,.header-user small{color:var(--paper-dim);font:500 var(--text-micro)/1.3 "IBM Plex Mono",monospace;letter-spacing:.1em}.header-user{position:relative;display:flex;height:100%;align-items:center;gap:var(--space-2);padding:0 2vw;border:0;color:var(--paper);background:transparent;cursor:pointer;font:inherit}.header-user:hover{color:var(--signal);background:radial-gradient(circle at 82% 50%,var(--signal-tint),transparent 38%),var(--surface-ghost)}.header-user:after{position:absolute;right:10px;bottom:0;left:11px;height:1px;border-radius:1px;content:"";background:linear-gradient(90deg,transparent,var(--signal));opacity:0;transform:scaleX(.45);transform-origin:right;transition:opacity var(--dur-base) ease,transform var(--dur-slow) var(--ease-out)}.header-user .avatar-small{width:40px;height:var(--control-lg);border-radius:var(--radius-sm);box-shadow:0 8px 22px #00000047;transition:border-color var(--dur-base) ease,box-shadow var(--dur-base) ease}.header-user:hover .avatar-small{box-shadow:0 8px 24px #00000052,0 0 18px rgb(var(--signal-rgb) / var(--a-3))}.header-user-copy{display:grid;min-width:0;max-width:96px;align-content:center;gap:var(--space-1);text-align:right}.header-user strong{max-width:96px;overflow:hidden;font-size:var(--text-caption);font-weight:500;text-overflow:ellipsis;white-space:nowrap}.guest-header-name{display:flex;align-items:baseline;justify-content:flex-end;gap:var(--space-2)}.guest-header-name i{color:var(--signal);font:500 var(--text-micro)/1 "IBM Plex Mono",monospace;font-style:normal;letter-spacing:.06em}.avatar{position:relative;display:inline-grid;flex:0 0 auto;place-items:center;overflow:visible;border-radius:var(--radius-sm);color:var(--paper);background:linear-gradient(135deg,var(--surface-raised),transparent),var(--ink-4);font:600 10px/1 IBM Plex Mono,monospace}.avatar img{display:block;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;max-height:100%;border-radius:inherit;object-fit:cover}.avatar-small{width:34px;height:var(--control-sm);border-radius:var(--radius-sm)}.avatar-medium{width:42px;height:var(--control-lg)}.avatar-large{width:84px;height:84px;border-radius:var(--radius-md);font-size:var(--text-lead)}.avatar>i{position:absolute;right:-3px;bottom:-3px;width:11px;height:11px;border:2px solid var(--ink-1);border-radius:50%;background:var(--paper-dim)}.avatar>i.is-online{background:var(--signal)}.desktop-stage{grid-area:stage;min-width:0;min-height:0;padding:var(--space-4);padding-right:0;overflow-y:auto}.section-code{display:block;margin-bottom:var(--space-3);color:var(--signal);font:500 var(--text-micro)/1 "IBM Plex Mono",monospace;letter-spacing:.13em}.desktop-friends{position:relative;grid-area:friends;min-width:0;min-height:0;overflow:hidden;padding:var(--panel-shell-gap) 0 var(--panel-shell-gap) var(--space-2)}.company-edge-count{position:absolute;top:-6px;right:-6px;display:grid;min-width:18px;height:18px;padding:0 var(--space-1);place-items:center;border:2px solid var(--ink-1);border-radius:var(--radius-sm);color:var(--ink-0);background:var(--signal);font:650 10px/1 IBM Plex Mono,monospace;box-shadow:0 0 14px rgb(var(--signal-rgb) / var(--a-6))}.mobile-content,.mobile-nav,.mobile-hub-brand{display:none}@media(min-width:1800px){.hub-shell{--panel-shell-gap: 34px;--company-open-width: clamp(400px, 23vw, 520px);grid-template-columns:92px minmax(760px,1fr) var(--company-column-width);grid-template-rows:84px minmax(0,1fr)}.desktop-rail{padding-top:var(--space-6)}.rail-button{--btn-h: var(--space-14)}.desktop-stage{padding:var(--space-4)}.desktop-stage{padding-right:0}.desktop-settings-card{top:98px;bottom:auto;right:34px;left:auto;width:390px;height:min(510px,calc(100dvh - 148px))}}@media(max-width:1050px)and (min-width:781px){.hub-shell{--company-open-width: 300px;grid-template-columns:68px minmax(470px,1fr) var(--company-column-width)}}@media(max-width:780px){.hub-shell{--panel-footer-height: 44px;display:grid;grid-template:"header" 62px "content" minmax(0,1fr) "nav" calc(66px + env(safe-area-inset-bottom)) / 100%;background:var(--ink-0)}.desktop-rail,.desktop-stage,.desktop-friends,.desktop-settings-layer,.header-section,.header-user-copy{display:none}.hub-header{grid-area:header;padding:0 var(--space-4)}.hub-toast{top:auto;bottom:calc(78px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100vw - 28px);font-size:var(--text-caption)}.hub-toast.welcome{display:none}.mobile-hub-brand{display:flex;align-items:center;gap:var(--space-2);font:600 10px/1 IBM Plex Mono,monospace;letter-spacing:.12em}.mobile-hub-brand svg{width:23px;color:var(--signal)}.header-status{margin-left:auto}.global-online{height:auto;padding:0 var(--space-3) 0 0;border:0}.global-online b{font-size:var(--text-body)}.header-user{height:auto;padding:0}.mobile-content{grid-area:content;display:block;min-height:0;padding:var(--space-3);overflow-y:auto}.mobile-content>*{animation:mobile-view-enter var(--dur-base) var(--ease-out)}.mobile-nav{grid-area:nav;display:grid;grid-template-columns:repeat(4,1fr);padding:var(--space-2) var(--space-3) calc(var(--space-2) + env(safe-area-inset-bottom));border-top:1px solid var(--line-soft);background:rgb(var(--ink-rgb) / var(--a-10));-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.mobile-nav.has-admin{grid-template-columns:repeat(5,1fr);padding:var(--space-2) var(--space-2) calc(var(--space-2) + env(safe-area-inset-bottom))}.mobile-nav a,.mobile-nav button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);border:0;color:var(--paper-dim);background:none;font-size:var(--text-micro);text-decoration:none}.mobile-nav a.active,.mobile-nav button.active{color:var(--signal)}.mobile-nav a>i,.mobile-nav button>i{position:absolute;top:5px;right:calc(50% - 17px);width:5px;height:5px;border-radius:50%;background:var(--danger)}}@media(max-width:780px)and (max-height:700px){.hub-shell{grid-template-rows:54px minmax(0,1fr) calc(58px + env(safe-area-inset-bottom))}.mobile-content{padding:var(--space-2)}}@keyframes mobile-view-enter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.game-loading{display:grid;place-items:center;min-height:320px;height:100%}.rail-foot{display:grid;margin-top:auto;gap:var(--space-2)}.rail-link{display:grid;width:var(--control-xl);height:var(--control-xl);padding:0;border:0;background:none;color:var(--paper-dim);cursor:pointer;place-items:center;transition:color var(--dur-fast) ease,transform var(--dur-fast) ease}.rail-link:hover{color:var(--signal);transform:translateY(-1px)}.rail-link:focus-visible{outline:2px solid var(--signal-line-bright);outline-offset:calc(-1 * var(--space-1));border-radius:var(--radius-sm)}.signal-loader{position:relative;display:grid;place-items:center;width:100%;height:100dvh;overflow:hidden;background:radial-gradient(circle at 50% 48%,var(--signal-tint),transparent 22%),var(--ink-0)}.loader-grid{position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;opacity:.22;background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);background-size:48px 48px;transform:perspective(700px) rotateX(62deg) translateY(28%);-webkit-mask-image:radial-gradient(circle,black 0,transparent 62%);mask-image:radial-gradient(circle,black 0,transparent 62%);animation:grid-drift 2.4s linear infinite}.loader-brand{position:relative;z-index:2}.loader-copy{position:absolute;bottom:clamp(28px,6vh,64px);display:flex;width:min(340px,calc(100vw - 40px));justify-content:space-between;color:var(--paper-dim);font:500 10px/1 IBM Plex Mono,monospace;letter-spacing:.12em}.loader-status:after{display:inline-block;width:20px;content:"...";animation:loader-dots 1s steps(4,end) infinite}@keyframes grid-drift{to{background-position:0 48px,48px 0}}@keyframes loader-dots{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
