@import"https://fonts.googleapis.com/css2?family=Oxanium:wght@400;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{color-scheme:dark;--ss-font-sans: "Space Grotesk", "Noto Sans SC", sans-serif;--ss-font-display: "Oxanium", "Space Grotesk", sans-serif;--ss-font-mono: "SFMono-Regular", "Consolas", "Liberation Mono", monospace;--ss-color-bg: #0d1117;--ss-color-bg-soft: #161b22;--ss-color-surface: #161b22;--ss-color-surface-muted: rgba(255, 255, 255, .04);--ss-color-surface-strong: #0d1117;--ss-color-border: rgba(255, 255, 255, .12);--ss-color-border-strong: rgba(255, 255, 255, .2);--ss-color-text: #e6edf3;--ss-color-text-muted: #8b949e;--ss-color-text-subtle: #6e7681;--ss-color-accent: #58a6ff;--ss-color-accent-strong: #79c0ff;--ss-color-success: #3fb950;--ss-color-warning: #d29922;--ss-color-danger: #f85149;--ss-color-info: #58a6ff;--ss-radius-xs: 4px;--ss-radius-sm: 6px;--ss-radius-md: 8px;--ss-radius-lg: 12px;--ss-radius-xl: 16px;--ss-radius-pill: 999px;--ss-space-1: 4px;--ss-space-2: 8px;--ss-space-3: 12px;--ss-space-4: 16px;--ss-space-5: 20px;--ss-space-6: 24px;--ss-space-8: 32px;--ss-space-10: 40px;--ss-space-12: 48px;--ss-text-xs: 12px;--ss-text-sm: 13px;--ss-text-md: 14px;--ss-text-lg: 16px;--ss-text-xl: 20px;--ss-text-2xl: 28px;--ss-text-3xl: 40px;--ss-line-tight: 1.2;--ss-line-normal: 1.6;--ss-line-reading: 1.85;--ss-shadow-rest: none;--ss-shadow-raised: 0 1px 3px rgba(0, 0, 0, .3);--ss-shadow-card: 0 4px 18px rgba(31, 35, 40, .1);--ss-shadow-card-soft: 0 2px 10px rgba(31, 35, 40, .08);--ss-focus-ring: 0 0 0 3px rgba(88, 166, 255, .25);--ss-accent-border-soft: rgba(125, 211, 252, .25);--ss-accent-border: rgba(125, 211, 252, .35);--ss-accent-border-strong: rgba(125, 211, 252, .6);--ss-accent-bg: rgba(125, 211, 252, .08);--ss-accent-bg-strong: rgba(125, 211, 252, .16);--ss-success-border: rgba(94, 230, 168, .24);--ss-success-bg: rgba(94, 230, 168, .1);--ss-danger-border: rgba(248, 113, 113, .35);--ss-danger-bg: rgba(248, 113, 113, .05);--ss-heat-1: rgba(56, 189, 248, .32);--ss-heat-2: rgba(56, 189, 248, .5);--ss-heat-3: rgba(34, 197, 94, .58);--ss-heat-4: rgba(250, 204, 21, .72);--ss-star-node-bg: rgba(15, 23, 42, .9);--ss-success-border-strong: rgba(74, 222, 128, .42);--ss-success-bg-strong: rgba(6, 78, 59, .5);--ss-warning-border-strong: rgba(250, 204, 21, .42);--ss-warning-bg-strong: rgba(113, 63, 18, .42);--ss-warning-border: rgba(251, 191, 36, .35);--ss-warning-border-strong: rgba(251, 191, 36, .55);--ss-warning-bg: rgba(251, 191, 36, .1);--ss-warning-bg-strong: rgba(251, 191, 36, .14);--ss-warning-text: #fcd34d;--ss-warning-text-strong: #fde68a;--ss-inline-code-text: #a5d8ff;--ss-shadow-pop: 0 16px 40px rgba(0, 0, 0, .45);--ss-shadow-float: 0 12px 32px rgba(0, 0, 0, .45);--ss-bg-code-12: rgba(13, 17, 23, .12);--ss-bg-code-14: rgba(13, 17, 23, .14);--ss-bg-code-16: rgba(13, 17, 23, .16);--ss-bg-code-18: rgba(13, 17, 23, .18);--ss-bg-code-20: rgba(13, 17, 23, .2);--ss-bg-code-22: rgba(13, 17, 23, .22);--ss-bg-code-24: rgba(13, 17, 23, .24);--ss-bg-code-25: rgba(13, 17, 23, .25);--ss-bg-code-28: rgba(13, 17, 23, .28);--ss-bg-code-30: rgba(13, 17, 23, .3);--ss-bg-code-34: rgba(13, 17, 23, .34);--ss-bg-code-38: rgba(13, 17, 23, .38);--ss-bg-code-40: rgba(13, 17, 23, .4);--ss-bg-code-45: rgba(13, 17, 23, .45);--ss-bg-code-48: rgba(13, 17, 23, .48);--ss-bg-code-50: rgba(13, 17, 23, .5);--ss-bg-code-55: rgba(13, 17, 23, .55);--ss-bg-code-60: rgba(13, 17, 23, .6);--ss-bg-code-65: rgba(13, 17, 23, .65);--ss-bg-code-68: rgba(13, 17, 23, .68);--ss-bg-code-70: rgba(13, 17, 23, .7);--ss-bg-code-72: rgba(13, 17, 23, .72);--ss-bg-code-75: rgba(13, 17, 23, .75);--ss-bg-code-78: rgba(13, 17, 23, .78);--ss-bg-code-80: rgba(13, 17, 23, .8);--ss-bg-code-82: rgba(13, 17, 23, .82);--ss-bg-code-84: rgba(13, 17, 23, .84);--ss-bg-code-85: rgba(13, 17, 23, .85);--ss-bg-code-88: rgba(13, 17, 23, .88);--ss-bg-code-90: rgba(13, 17, 23, .9);--ss-bg-code-92: rgba(13, 17, 23, .92);--ss-bg-code-94: rgba(13, 17, 23, .94);--ss-bg-code-95: rgba(13, 17, 23, .95);--ss-bg-code-96: rgba(13, 17, 23, .96);--ss-bg-code-98: rgba(13, 17, 23, .98);--ss-accent-7: rgba(88, 166, 255, .07);--ss-accent-8: rgba(88, 166, 255, .08);--ss-accent-10: rgba(88, 166, 255, .1);--ss-accent-14: rgba(88, 166, 255, .14);--ss-accent-15: rgba(88, 166, 255, .15);--ss-accent-16: rgba(88, 166, 255, .16);--ss-accent-20: rgba(88, 166, 255, .2);--ss-accent-26: rgba(88, 166, 255, .26);--ss-accent-30: rgba(88, 166, 255, .3);--ss-accent-35: rgba(88, 166, 255, .35);--ss-accent-40: rgba(88, 166, 255, .4);--ss-accent-52: rgba(88, 166, 255, .52);--ss-accent-55: rgba(88, 166, 255, .55);--ss-accent-60: rgba(88, 166, 255, .6);--ss-accent-66: rgba(88, 166, 255, .66);--ss-accent-68: rgba(88, 166, 255, .68);--ss-accent-70: rgba(88, 166, 255, .7);--ss-accent-72: rgba(88, 166, 255, .72);--ss-accent-74: rgba(88, 166, 255, .74);--ss-accent-76: rgba(88, 166, 255, .76);--ss-accent-78: rgba(88, 166, 255, .78);--ss-accent-80: rgba(88, 166, 255, .8);--ss-accent-82: rgba(88, 166, 255, .82);--ss-accent-84: rgba(88, 166, 255, .84);--ss-accent-88: rgba(88, 166, 255, .88);--ss-accent-90: rgba(88, 166, 255, .9);--ss-accent-92: rgba(88, 166, 255, .92);--ss-accent-95: rgba(88, 166, 255, .95);--ss-danger-5: rgba(248, 81, 73, .05);--ss-danger-8: rgba(248, 81, 73, .08);--ss-danger-10: rgba(248, 81, 73, .1);--ss-danger-12: rgba(248, 81, 73, .12);--ss-danger-15: rgba(248, 81, 73, .15);--ss-danger-20: rgba(248, 81, 73, .2);--ss-danger-25: rgba(248, 81, 73, .25);--ss-danger-30: rgba(248, 81, 73, .3);--ss-danger-35: rgba(248, 81, 73, .35);--ss-danger-40: rgba(248, 81, 73, .4);--ss-danger-50: rgba(248, 81, 73, .5);--ss-danger-60: rgba(248, 81, 73, .6);--ss-danger-80: rgba(248, 81, 73, .8);--ss-success-8: rgba(63, 185, 80, .08);--ss-success-10: rgba(63, 185, 80, .1);--ss-success-12: rgba(63, 185, 80, .12);--ss-success-14: rgba(63, 185, 80, .14);--ss-success-15: rgba(63, 185, 80, .15);--ss-success-20: rgba(63, 185, 80, .2);--ss-success-24: rgba(63, 185, 80, .24);--ss-success-30: rgba(63, 185, 80, .3);--ss-success-40: rgba(63, 185, 80, .4);--ss-success-45: rgba(63, 185, 80, .45);--ss-success-50: rgba(63, 185, 80, .5);--ss-success-80: rgba(63, 185, 80, .8);--ss-success-100: rgba(63, 185, 80, 1);--ss-warning-6: rgba(210, 153, 34, .06);--ss-warning-8: rgba(210, 153, 34, .08);--ss-warning-10: rgba(210, 153, 34, .1);--ss-warning-15: rgba(210, 153, 34, .15);--ss-warning-20: rgba(210, 153, 34, .2);--ss-warning-40: rgba(210, 153, 34, .4);--ss-text-5: rgba(230, 237, 243, .05);--ss-text-8: rgba(230, 237, 243, .08);--ss-text-15: rgba(230, 237, 243, .15);--ss-text-40: rgba(230, 237, 243, .4);--ss-text-70: rgba(230, 237, 243, .7);--ss-motion-fast: .1s ease;--ss-motion-normal: .15s ease;--ss-bg-panel: #161b22;--ss-bg-panel-solid: #161b22;--ss-bg-panel-opaque: #161b22;--ss-bg-input: #0d1117;--ss-bg-code: #0d1117;--ss-hover-layer: rgba(255, 255, 255, .06);--bg: var(--ss-color-bg);--panel: var(--ss-color-surface);--panel-strong: var(--ss-color-surface-strong);--border: var(--ss-color-border);--text: var(--ss-color-text);--muted: var(--ss-color-text-muted);--accent: var(--ss-color-accent)}:root[data-theme=light]{color-scheme:light;--ss-color-bg: #ffffff;--ss-color-bg-soft: #f6f8fa;--ss-color-surface: #ffffff;--ss-color-surface-muted: rgba(31, 35, 40, .04);--ss-color-surface-strong: #f6f8fa;--ss-color-border: rgba(31, 35, 40, .14);--ss-color-border-strong: rgba(31, 35, 40, .24);--ss-color-text: #1f2328;--ss-color-text-muted: #59636e;--ss-color-text-subtle: #667085;--ss-color-accent: #0969da;--ss-color-accent-strong: #0a55ad;--ss-color-success: #15803d;--ss-color-warning: #b45309;--ss-color-danger: #dc2626;--ss-color-info: #0969da;--ss-shadow-raised: 0 1px 3px rgba(31, 35, 40, .12);--ss-shadow-card: 0 4px 18px rgba(31, 35, 40, .1);--ss-shadow-card-soft: 0 2px 10px rgba(31, 35, 40, .08);--ss-focus-ring: 0 0 0 3px rgba(9, 105, 218, .2);--ss-accent-border-soft: rgba(9, 105, 218, .22);--ss-accent-border: rgba(9, 105, 218, .35);--ss-accent-border-strong: rgba(9, 105, 218, .5);--ss-accent-bg: rgba(9, 105, 218, .06);--ss-accent-bg-strong: rgba(9, 105, 218, .12);--ss-success-border: rgba(21, 128, 61, .25);--ss-success-bg: rgba(21, 128, 61, .08);--ss-danger-border: rgba(220, 38, 38, .3);--ss-danger-bg: rgba(220, 38, 38, .05);--ss-heat-1: rgba(56, 189, 248, .28);--ss-heat-2: rgba(56, 189, 248, .45);--ss-heat-3: rgba(34, 197, 94, .5);--ss-heat-4: rgba(250, 204, 21, .65);--ss-star-node-bg: rgba(255, 255, 255, .92);--ss-success-border-strong: rgba(26, 127, 55, .45);--ss-success-bg-strong: rgba(26, 127, 55, .08);--ss-warning-border-strong: rgba(154, 103, 0, .45);--ss-warning-bg-strong: rgba(154, 103, 0, .08);--ss-warning-border: rgba(180, 83, 9, .35);--ss-warning-border-strong: rgba(180, 83, 9, .5);--ss-warning-bg: rgba(180, 83, 9, .08);--ss-warning-bg-strong: rgba(180, 83, 9, .12);--ss-warning-text: #b45309;--ss-warning-text-strong: #b45309;--ss-inline-code-text: #0969da;--ss-shadow-pop: 0 16px 40px rgba(31, 35, 40, .12);--ss-shadow-float: 0 12px 32px rgba(31, 35, 40, .12);--ss-bg-code-12: rgba(13, 17, 23, .12);--ss-bg-code-14: rgba(13, 17, 23, .14);--ss-bg-code-16: rgba(13, 17, 23, .16);--ss-bg-code-18: rgba(13, 17, 23, .18);--ss-bg-code-20: rgba(13, 17, 23, .2);--ss-bg-code-22: rgba(13, 17, 23, .22);--ss-bg-code-24: rgba(13, 17, 23, .24);--ss-bg-code-25: rgba(13, 17, 23, .25);--ss-bg-code-28: rgba(13, 17, 23, .28);--ss-bg-code-30: rgba(13, 17, 23, .3);--ss-bg-code-34: rgba(13, 17, 23, .34);--ss-bg-code-38: rgba(13, 17, 23, .38);--ss-bg-code-40: rgba(13, 17, 23, .4);--ss-bg-code-45: rgba(13, 17, 23, .45);--ss-bg-code-48: rgba(13, 17, 23, .48);--ss-bg-code-50: rgba(13, 17, 23, .5);--ss-bg-code-55: rgba(13, 17, 23, .55);--ss-bg-code-60: rgba(13, 17, 23, .6);--ss-bg-code-65: rgba(13, 17, 23, .65);--ss-bg-code-68: rgba(13, 17, 23, .68);--ss-bg-code-70: rgba(13, 17, 23, .7);--ss-bg-code-72: rgba(13, 17, 23, .72);--ss-bg-code-75: rgba(13, 17, 23, .75);--ss-bg-code-78: rgba(13, 17, 23, .78);--ss-bg-code-80: rgba(13, 17, 23, .8);--ss-bg-code-82: rgba(13, 17, 23, .82);--ss-bg-code-84: rgba(13, 17, 23, .84);--ss-bg-code-85: rgba(13, 17, 23, .85);--ss-bg-code-88: rgba(13, 17, 23, .88);--ss-bg-code-90: rgba(13, 17, 23, .9);--ss-bg-code-92: rgba(13, 17, 23, .92);--ss-bg-code-94: rgba(13, 17, 23, .94);--ss-bg-code-95: rgba(13, 17, 23, .95);--ss-bg-code-96: rgba(13, 17, 23, .96);--ss-bg-code-98: rgba(13, 17, 23, .98);--ss-accent-7: rgba(9, 105, 218, .07);--ss-accent-8: rgba(9, 105, 218, .08);--ss-accent-10: rgba(9, 105, 218, .1);--ss-accent-14: rgba(9, 105, 218, .14);--ss-accent-15: rgba(9, 105, 218, .15);--ss-accent-16: rgba(9, 105, 218, .16);--ss-accent-20: rgba(9, 105, 218, .2);--ss-accent-26: rgba(9, 105, 218, .26);--ss-accent-30: rgba(9, 105, 218, .3);--ss-accent-35: rgba(9, 105, 218, .35);--ss-accent-40: rgba(9, 105, 218, .4);--ss-accent-52: rgba(9, 105, 218, .52);--ss-accent-55: rgba(9, 105, 218, .55);--ss-accent-60: rgba(9, 105, 218, .6);--ss-accent-66: rgba(9, 105, 218, .66);--ss-accent-68: rgba(9, 105, 218, .68);--ss-accent-70: rgba(9, 105, 218, .7);--ss-accent-72: rgba(9, 105, 218, .72);--ss-accent-74: rgba(9, 105, 218, .74);--ss-accent-76: rgba(9, 105, 218, .76);--ss-accent-78: rgba(9, 105, 218, .78);--ss-accent-80: rgba(9, 105, 218, .8);--ss-accent-82: rgba(9, 105, 218, .82);--ss-accent-84: rgba(9, 105, 218, .84);--ss-accent-88: rgba(9, 105, 218, .88);--ss-accent-90: rgba(9, 105, 218, .9);--ss-accent-92: rgba(9, 105, 218, .92);--ss-accent-95: rgba(9, 105, 218, .95);--ss-danger-5: rgba(220, 38, 38, .05);--ss-danger-8: rgba(220, 38, 38, .08);--ss-danger-10: rgba(220, 38, 38, .1);--ss-danger-12: rgba(220, 38, 38, .12);--ss-danger-15: rgba(220, 38, 38, .15);--ss-danger-20: rgba(220, 38, 38, .2);--ss-danger-25: rgba(220, 38, 38, .25);--ss-danger-30: rgba(220, 38, 38, .3);--ss-danger-35: rgba(220, 38, 38, .35);--ss-danger-40: rgba(220, 38, 38, .4);--ss-danger-50: rgba(220, 38, 38, .5);--ss-danger-60: rgba(220, 38, 38, .6);--ss-danger-80: rgba(220, 38, 38, .8);--ss-success-8: rgba(21, 128, 61, .08);--ss-success-10: rgba(21, 128, 61, .1);--ss-success-12: rgba(21, 128, 61, .12);--ss-success-14: rgba(21, 128, 61, .14);--ss-success-15: rgba(21, 128, 61, .15);--ss-success-20: rgba(21, 128, 61, .2);--ss-success-24: rgba(21, 128, 61, .24);--ss-success-30: rgba(21, 128, 61, .3);--ss-success-40: rgba(21, 128, 61, .4);--ss-success-45: rgba(21, 128, 61, .45);--ss-success-50: rgba(21, 128, 61, .5);--ss-success-80: rgba(21, 128, 61, .8);--ss-success-100: rgba(21, 128, 61, 1);--ss-warning-6: rgba(180, 83, 9, .06);--ss-warning-8: rgba(180, 83, 9, .08);--ss-warning-10: rgba(180, 83, 9, .1);--ss-warning-15: rgba(180, 83, 9, .15);--ss-warning-20: rgba(180, 83, 9, .2);--ss-warning-40: rgba(180, 83, 9, .4);--ss-text-5: rgba(31, 35, 40, .05);--ss-text-8: rgba(31, 35, 40, .08);--ss-text-15: rgba(31, 35, 40, .15);--ss-text-40: rgba(31, 35, 40, .4);--ss-text-70: rgba(31, 35, 40, .7);--ss-bg-panel: #ffffff;--ss-bg-panel-solid: #ffffff;--ss-bg-panel-opaque: #ffffff;--ss-bg-input: #f6f8fa;--ss-bg-code: #0d1117;--ss-hover-layer: rgba(31, 35, 40, .09);--bg: var(--ss-color-bg);--bg-elevated: var(--ss-color-bg);--panel: var(--ss-color-surface);--panel-strong: var(--ss-color-surface-strong);--border: var(--ss-color-border);--border-strong: var(--ss-color-border-strong);--text: var(--ss-color-text);--muted: var(--ss-color-text-muted);--accent: var(--ss-color-accent);--accent-2: #d97706;--accent-3: #7c3aed;--success: var(--ss-color-success);--danger: var(--ss-color-danger);--shadow-soft: 0 18px 48px rgba(31, 35, 40, .1);--shadow-strong: 0 30px 80px rgba(31, 35, 40, .14)}.low-performance-mode{--ss-shadow-raised: none;--ss-motion-fast: 1ms linear;--ss-motion-normal: 1ms linear}*,*:before,*:after{box-sizing:border-box}html{text-size-adjust:100%}body{margin:0;min-width:320px;min-height:100vh;background:var(--ss-color-bg);color:var(--ss-color-text);font-family:var(--ss-font-sans)}#root{min-height:100vh}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled,[aria-disabled=true]{cursor:not-allowed}:focus-visible{outline:none;box-shadow:var(--ss-focus-ring)}section{scroll-margin-top:110px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}.ss-page-shell{width:min(100%,1240px);margin:0 auto}.ss-page-stack{display:grid;gap:var(--ss-space-5)}.ss-grid{display:grid;gap:var(--ss-space-4)}.ss-grid.two{grid-template-columns:minmax(0,1fr) minmax(280px,.42fr)}.ss-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:960px){.ss-grid.two,.ss-grid.three{grid-template-columns:1fr}}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--ss-space-2);min-height:36px;padding:0 var(--ss-space-4);border:1px solid transparent;border-radius:var(--ss-radius-md);background:transparent;color:var(--ss-color-text);font-size:var(--ss-text-md);font-weight:650;line-height:1;transition:background-color var(--ss-motion-normal),border-color var(--ss-motion-normal),color var(--ss-motion-normal),opacity var(--ss-motion-normal)}.ui-button:hover:not(:disabled){border-color:var(--ss-color-border-strong);background:var(--ss-color-surface-muted)}.ui-button:disabled{opacity:.48}.ui-button.primary{background:var(--ss-color-accent-strong);color:var(--ss-color-bg)}.ui-button.secondary{border-color:var(--ss-color-border);background:var(--ss-color-surface-muted)}.ui-button.ghost{color:var(--ss-color-accent)}.ui-button.danger{border-color:var(--ss-danger-border);color:var(--ss-color-danger)}.ui-button.sm{min-height:30px;padding:0 var(--ss-space-3);font-size:var(--ss-text-sm)}.ui-button.lg{min-height:44px;padding:0 var(--ss-space-5);font-size:var(--ss-text-lg)}.ui-button-icon{display:inline-flex;width:1em;height:1em;align-items:center;justify-content:center}.ui-button-spinner{width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ui-spin .72s linear infinite}.ui-panel{border:1px solid var(--ss-color-border);border-radius:var(--ss-radius-md);background:var(--ss-color-surface);box-shadow:var(--ss-shadow-rest)}.ui-panel.padded{padding:var(--ss-space-5)}.ui-panel.elevated{box-shadow:var(--ss-shadow-raised)}.ui-page-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--ss-space-4);align-items:end}.ui-page-header-main{min-width:0}.ui-page-kicker{margin-bottom:var(--ss-space-2);color:var(--ss-color-text-subtle);font-size:var(--ss-text-xs);font-weight:750;letter-spacing:.08em;text-transform:uppercase}.ui-page-title{margin:0;color:var(--ss-color-text);font-size:var(--ss-text-2xl);line-height:var(--ss-line-tight)}.ui-page-description{max-width:720px;margin:var(--ss-space-2) 0 0;color:var(--ss-color-text-muted);font-size:var(--ss-text-md);line-height:var(--ss-line-normal)}.ui-page-actions{display:flex;flex-wrap:wrap;gap:var(--ss-space-2);justify-content:flex-end}.ui-badge{display:inline-flex;align-items:center;gap:6px;width:fit-content;min-height:24px;padding:0 8px;border:1px solid var(--ss-color-border);border-radius:var(--ss-radius-pill);background:var(--ss-color-surface-muted);color:var(--ss-color-text-muted);font-size:var(--ss-text-xs);font-weight:700;line-height:1}.ui-badge.success{border-color:var(--ss-success-border);color:var(--ss-color-success)}.ui-badge.warning{border-color:var(--ss-warning-border);color:var(--ss-color-warning)}.ui-badge.danger{border-color:var(--ss-danger-border);color:var(--ss-color-danger)}.ui-badge.info{border-color:var(--ss-accent-border);color:var(--ss-color-info)}.ui-data-list{overflow:hidden;border:1px solid var(--ss-color-border);border-radius:var(--ss-radius-md);background:var(--ss-color-surface)}.ui-data-list-row,.ui-data-list-head{display:grid;gap:var(--ss-space-4);align-items:center;padding:var(--ss-space-3) var(--ss-space-4)}.ui-data-list-head{color:var(--ss-color-text-subtle);font-size:var(--ss-text-xs);font-weight:700;background:var(--ss-color-surface-muted)}.ui-data-list-row{border-top:1px solid var(--ss-color-border)}.ui-data-list-row:first-child{border-top:0}.ui-empty-state{display:grid;gap:var(--ss-space-2);place-items:center;padding:var(--ss-space-8);color:var(--ss-color-text-muted);text-align:center}.ui-empty-state strong{color:var(--ss-color-text)}@keyframes ui-spin{to{transform:rotate(360deg)}}@media(max-width:720px){.ui-page-header{grid-template-columns:1fr}.ui-page-actions{justify-content:flex-start}}:root[data-theme=light] .ui-button.primary{color:var(--ss-color-bg)}:root{font-family:var(--ss-font-sans);line-height:1.6;font-weight:400;color-scheme:dark;color:var(--ss-color-text);background-color:var(--ss-color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg);color:var(--text)}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}html{overflow-y:scroll;overflow-x:hidden}body{overflow-x:hidden}.starfield{display:none!important}.app{--topbar-offset: 64px;--sidebar-width: 190px;--sidebar-collapsed-width: 59px;display:flex;flex-direction:column;min-height:100vh;width:100%;position:relative;padding-top:var(--topbar-offset)}.app-body{display:flex;flex:1 0 auto;min-width:0;width:100%}.sidebar{width:var(--sidebar-collapsed-width, 44px);padding:16px 8px;background:var(--panel-strong);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:24px;position:fixed;left:0;top:var(--topbar-offset, 60px);height:calc(100vh - var(--topbar-offset, 60px));overflow:hidden;transition:width .16s ease,box-shadow .16s ease;z-index:100}.sidebar:hover{width:var(--sidebar-width, 173px);padding:16px 8px;box-shadow:12px 0 30px var(--ss-bg-code-25)}.brand{font-family:Oxanium,sans-serif;font-size:24px;letter-spacing:.18em;text-transform:uppercase}.brand-sub{color:var(--muted);font-size:12px;letter-spacing:.3em;text-transform:uppercase;margin-top:4px}.nav{display:flex;flex-direction:column;gap:14px}.nav a,.nav .nav-link{color:var(--muted);font-weight:500;padding:10px;border-radius:10px;background:transparent;border:1px solid transparent;transition:color .2s,background-color .2s,border-color .2s,opacity .2s,transform .2s,box-shadow .2s;text-align:left;display:flex;align-items:center;gap:8px}.nav a:hover,.nav .nav-link:hover{color:var(--text);background:var(--ss-accent-bg);border-color:var(--ss-accent-border)}.nav .nav-link{font-family:inherit;cursor:pointer}.nav .nav-link.active{color:var(--text);background:var(--ss-accent-bg-strong);border-color:var(--ss-accent-border)}.nav-label{white-space:nowrap;opacity:0;max-width:0;overflow:hidden;transform:translate(-6px);transition:opacity .2s ease,transform .2s ease,max-width .28s ease}.sidebar:hover .nav-label{opacity:1;max-width:180px;transform:translate(0)}.nav-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center}.nav-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sidebar .nav-link,.sidebar:hover .nav-link{justify-content:flex-start}.sidebar:not(:hover) .nav-link{justify-content:center}.sidebar:not(:hover) .nav-link.active{background:transparent;border-color:transparent}.sidebar-footer-text{opacity:0;max-width:0;overflow:hidden;white-space:nowrap;transform:translate(-6px);transition:opacity .2s ease,transform .2s ease,max-width .28s ease}.sidebar:hover .sidebar-footer-text{opacity:1;max-width:160px;transform:translate(0)}.sidebar-card{border:1px solid var(--border);border-radius:14px;padding:16px;background:var(--ss-bg-panel)}.sidebar-card-title{font-weight:600;margin-bottom:12px}.sidebar-card-content{display:flex;gap:10px;flex-wrap:wrap}.pill{padding:6px 10px;border-radius:12px;background:var(--ss-accent-bg-strong);color:var(--text);font-size:12px;border:1px solid var(--ss-accent-border)}.sidebar-footer{margin-top:auto;display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--ss-color-accent-strong);box-shadow:0 0 10px var(--ss-accent-70)}.content{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--ss-bg-panel-solid);position:fixed;top:0;left:0;right:0;width:100%;z-index:1200;min-height:64px;max-height:64px;box-sizing:border-box;overflow:visible}.topbar-left{display:flex;align-items:center;gap:14px;flex-shrink:0}.topbar-title{font-weight:600;letter-spacing:.04em}.confirm-backdrop{position:fixed;inset:0;background:var(--ss-bg-code-70);display:grid;place-items:center;z-index:2500;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.confirm-panel{width:min(380px,90vw);background:var(--ss-bg-panel-solid);border-radius:18px;border:1px solid var(--border);padding:20px;box-shadow:0 24px 60px var(--ss-bg-code-55);display:grid;gap:10px}.confirm-title{font-size:16px;font-weight:600;color:var(--text)}.confirm-desc{font-size:13px;color:var(--muted);line-height:1.5}.confirm-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:6px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:40px 16px}.auth-main{width:100%;display:grid;place-items:center}html{scroll-behavior:smooth}::selection{background:var(--ss-accent-border-soft);color:var(--ss-color-text)}.starfield{opacity:.82;filter:saturate(.78)}.content{position:relative}.content:before{content:"";position:absolute;inset:0;background:none;pointer-events:none}.topbar{padding:14px 24px;border-bottom:1px solid var(--ss-color-border);background:var(--ss-bg-code-72);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);box-shadow:0 10px 40px var(--ss-bg-code-18)}.topbar-title{font-size:18px;font-weight:700;letter-spacing:.08em}.topbar-badge{padding:0;border:none;border-radius:0;background:transparent;color:var(--ss-accent-52);font-size:10px;letter-spacing:.28em}.topbar-actions{gap:10px}.sidebar{background:var(--ss-bg-panel-solid);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border-right-color:var(--ss-hover-layer)}.sidebar:hover{box-shadow:18px 0 44px var(--ss-bg-code-20)}.nav{gap:10px}.nav a,.nav .nav-link{min-height:42px;padding:10px 12px;border-radius:14px;color:var(--ss-color-text);letter-spacing:.02em}.nav a:hover,.nav .nav-link:hover{color:var(--ss-color-text);background:var(--ss-hover-layer);border-color:var(--ss-hover-layer);box-shadow:inset 0 1px 0 var(--ss-hover-layer)}.nav .nav-link.active{color:var(--ss-color-text);background:var(--ss-hover-layer);border-color:var(--ss-accent-bg-strong);box-shadow:0 10px 24px var(--ss-bg-code-16)}.status-dot{width:6px;height:6px;background:var(--ss-color-accent-strong);box-shadow:0 0 8px var(--ss-accent-55)}.sidebar-footer,.sidebar-footer-text{color:var(--ss-color-text)}.main{padding:clamp(20px,3vw,34px);gap:24px}.main>.hero,.main>.section,.main>.oj-page,.main>.discussion-list-page,.main>.discussion-detail-page,.main>.discussion-create-page,.main>.message-list-page,.main>.chat-page,.main>.admin-page,.main>.profile-container{width:min(1280px,100%);margin-inline:auto}button{transition:transform .28s cubic-bezier(.22,1,.36,1),filter .28s ease,box-shadow .28s ease,border-color .28s ease,background-color .28s ease,color .28s ease}button.primary,button.ghost{min-height:42px;border-radius:999px;padding:11px 18px;font-size:13px;letter-spacing:.04em}button.primary{background:var(--ss-color-accent);color:var(--ss-color-bg);box-shadow:0 10px 24px var(--ss-accent-border-soft)}button.primary:hover{box-shadow:0 14px 30px var(--ss-accent-border-soft)}button.ghost{border-color:var(--ss-color-text-subtle);background:var(--ss-hover-layer);color:var(--ss-color-text)}button.ghost:hover{border-color:var(--ss-color-text-subtle);background:var(--ss-hover-layer)}button.small{min-height:34px;padding:7px 12px;letter-spacing:.05em}button:focus-visible,.nav-link:focus-visible,.auth-input:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--ss-accent-border);outline-offset:2px}.auth-input,.discussion-search input,.new-chat-search,.pagination-input,.ide-lang-select,select.auth-input{border-radius:14px;border:1px solid var(--ss-color-border);background:var(--ss-hover-layer);box-shadow:inset 0 1px 0 var(--ss-hover-layer)}.auth-input-like{min-height:40px}.custom-select{position:relative;min-width:0}.custom-select-trigger{width:100%;min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border-radius:12px;border:1px solid var(--ss-color-border);background:var(--ss-hover-layer);color:var(--ss-color-text);box-shadow:inset 0 1px 0 var(--ss-hover-layer),0 14px 34px var(--ss-bg-code-16);cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s,background-color .2s}.custom-select-trigger:hover{border-color:var(--ss-accent-border-soft);box-shadow:inset 0 1px 0 var(--ss-hover-layer),0 16px 38px var(--ss-bg-code-20)}.custom-select.open .custom-select-trigger,.custom-select-trigger:focus-visible{border-color:var(--ss-accent-border);box-shadow:0 0 0 4px var(--ss-accent-bg),inset 0 1px 0 var(--ss-hover-layer)}.custom-select-value{min-width:0;flex:1;text-align:left;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.custom-select-value.placeholder{color:var(--ss-color-text)}.custom-select-chevron{color:var(--ss-accent-84);display:inline-flex;align-items:center;justify-content:center;transition:transform .2s ease}.custom-select.open .custom-select-chevron{transform:rotate(180deg)}.custom-select-menu{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:10020;display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:14px;border:1px solid var(--ss-color-border);background:var(--ss-bg-panel);box-shadow:0 20px 60px var(--ss-bg-code-34),inset 0 1px 0 var(--ss-hover-layer);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.custom-select-option{width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 12px;padding:9px 10px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--ss-color-accent);text-align:left;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,transform .18s ease}.custom-select-option:hover{border-color:var(--ss-accent-bg-strong);background:var(--ss-accent-bg)}.custom-select-option.selected{border-color:var(--ss-accent-border-soft);background:var(--ss-accent-bg-strong)}.custom-select-option-main{font-size:13px;font-weight:600}.custom-select-option-desc{grid-column:1 / 2;color:var(--ss-accent-72);font-size:12px}.custom-select-check{color:var(--ss-color-accent);font-size:13px;font-weight:700}.custom-select.disabled .custom-select-trigger{opacity:.55;cursor:not-allowed}.oj-filter-select{min-width:132px;position:relative;z-index:90}.oj-filter-select .custom-select{position:relative;z-index:90}.oj-filter-select .custom-select.open{z-index:95}.oj-filter-select .custom-select-trigger{min-height:42px;padding:9px 12px}.ide-lang-select-wrap{min-width:124px}.ide-lang-select-wrap .custom-select-trigger{min-height:36px;padding:6px 10px;border-radius:10px}.ide-lang-select-wrap .custom-select-value{font-size:13px}.ide-lang-menu{min-width:136px}.auth-input:focus,.discussion-search input:focus,.new-chat-search:focus,.pagination-input:focus,.ide-lang-select:focus{border-color:var(--ss-accent-border);box-shadow:0 0 0 4px var(--ss-accent-bg),inset 0 1px 0 var(--ss-hover-layer)}.topbar-message-btn,.user-avatar-btn,.back-button,.pagination-go,.pagination-btn,.pagination-number,.sort-btn,.filter-tab,.add-to-plan-btn{transition:transform .28s cubic-bezier(.22,1,.36,1),background-color .28s ease,border-color .28s ease,box-shadow .28s ease,color .28s ease}.topbar-message-btn{border:1px solid var(--ss-color-border);background:var(--ss-hover-layer);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.topbar-message-btn:hover{border-color:var(--ss-color-text-subtle);background:var(--ss-hover-layer)}.user-avatar-btn{background:var(--ss-hover-layer);border-color:var(--ss-color-text-subtle)}.user-menu-panel{border-color:var(--ss-color-text-subtle);background:var(--ss-bg-panel-solid);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.user-menu-item{letter-spacing:.04em}.hero-orbit-status,.oj-hero-badge,.topbar-badge,.profile-rank-badge,.leaderboard-period,.oj-code-label,.oj-badge,.oj-tag,.oj-tag-small,.discussion-card-problem{box-shadow:none}.hero-orbit-status,.oj-hero-badge,.profile-rank-badge,.leaderboard-period{border-color:var(--ss-hover-layer);background:var(--ss-hover-layer);color:var(--ss-accent-74)}.oj-hero-badge{padding:0;border:0;border-radius:0;background:transparent;color:var(--ss-color-accent)}.oj-hero-note{max-width:220px;color:var(--ss-color-text);font-size:13px;line-height:1.8;text-align:right}.section:not(.section-premium),.discussion-list-page,.discussion-detail-page,.discussion-create-page,.message-list-page,.chat-page,.admin-page{border-radius:28px;border:1px solid var(--ss-color-border);background:var(--ss-hover-layer);box-shadow:0 24px 60px var(--ss-bg-code-22),inset 0 1px 0 var(--ss-hover-layer)}.section:not(.section-premium){padding:28px}.discussion-list-page,.discussion-detail-page,.discussion-create-page,.message-list-page,.chat-page,.admin-page{padding:28px}.discussion-header,.message-list-header,.chat-header,.oj-header,.admin-hero,.section-header{margin-bottom:18px}.discussion-header h2,.message-list-header h1,.chat-user-name,.section-header h2,.oj-header h2,.admin-hero h2{letter-spacing:-.02em}.discussion-toolbar,.oj-filters{padding:14px;border-radius:22px;border:1px solid var(--ss-color-border);background:var(--ss-hover-layer);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.discussion-search,.discussion-sort{gap:10px}.sort-btn{border-radius:999px;border-color:var(--ss-hover-layer);background:var(--ss-hover-layer);color:var(--ss-color-text)}.sort-btn.active,.sort-btn:hover{border-color:var(--ss-accent-border-soft);background:var(--ss-accent-bg);color:var(--ss-color-text)}.discussion-post-list,.conversation-list,.oj-list{gap:16px}.discussion-card,.conversation-card,.oj-card,.summary-card,.profile-card,.heatmap-container,.leaderboard-table,.admin-table{border-radius:22px;border-color:var(--ss-hover-layer);background:var(--ss-hover-layer);box-shadow:0 16px 34px var(--ss-bg-code-16)}.discussion-card,.conversation-card,.oj-card{padding:18px 20px}.discussion-card:hover,.conversation-card:hover,.oj-card:hover{border-color:var(--ss-color-text-subtle);box-shadow:0 24px 40px var(--ss-bg-code-22)}.discussion-card-title,.oj-card-title{font-size:17px;line-height:1.45}.discussion-card-meta,.oj-card-meta,.conversation-preview{color:var(--ss-color-text)}.discussion-card-problem{padding:0;border:none;background:transparent;color:var(--ss-color-accent)}.discussion-card-stats{gap:10px;color:var(--ss-color-text)}.oj-filters{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(180px,.5fr) auto;gap:12px;align-items:center}.oj-tag-filter{padding:0 4px}.oj-tag-filter .filter-label{margin-bottom:10px;color:var(--ss-color-text);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.oj-card{border-radius:24px;min-height:116px;align-items:center}.oj-card-content{gap:10px}.oj-code-label{padding:0;border:none;border-radius:0;background:transparent;color:var(--ss-color-accent);font-size:12px;letter-spacing:.14em}.oj-tags{gap:6px 10px}.oj-tag,.oj-tag-small{padding:0;border:none;background:transparent;color:var(--ss-color-text);font-size:12px}.oj-tag:before,.oj-tag-small:before{content:"#";opacity:.55;margin-right:2px}.oj-badge{padding:5px 0;border:none;border-radius:0;background:transparent;font-size:12px;letter-spacing:.06em}.add-to-plan-btn{width:38px;min-width:38px;height:38px;border-radius:50%;border:1px solid var(--ss-color-border);background:var(--ss-hover-layer);color:var(--ss-color-text)}.add-to-plan-btn:hover{background:var(--ss-accent-bg);border-color:var(--ss-accent-border-soft)}.pagination,.discussion-pagination{margin-top:8px;padding:16px 0 0}.pagination-btn,.pagination-number,.pagination-go,.discussion-pagination button{border-radius:999px;border-color:var(--ss-hover-layer);background:var(--ss-hover-layer)}.pagination-number.active,.pagination-btn:hover:not(:disabled),.pagination-go:hover,.discussion-pagination button:hover:not(:disabled){border-color:var(--ss-accent-border-soft);background:var(--ss-accent-bg)}.leaderboard-filters{padding:6px;border-radius:20px;background:var(--ss-hover-layer);border:1px solid var(--ss-color-border)}.filter-tab{border-radius:16px;min-height:50px;background:transparent;border-color:transparent}.filter-tab:before{display:none}.filter-tab:hover,.filter-tab.active{background:var(--ss-hover-layer);border-color:var(--ss-hover-layer)}.leaderboard-table th{color:var(--ss-color-text);font-size:12px;text-transform:uppercase;letter-spacing:.12em}.leaderboard-row{transition:background-color .28s ease}.leaderboard-row:hover{background:var(--ss-hover-layer)}.message-list-page,.chat-page{overflow:hidden}.conversation-card{align-items:center}.conversation-name,.new-chat-user-name{font-size:15px}.conversation-time,.conversation-preview,.new-chat-user-id,.chat-date-separator span{color:var(--ss-color-text)}.conversation-unread{box-shadow:0 8px 18px var(--ss-accent-border-soft)}.chat-header{padding:0 0 18px;border-bottom:1px solid var(--ss-color-border)}.chat-messages{background:var(--ss-hover-layer);border:1px solid var(--ss-color-border);border-radius:24px}.chat-input-area{border-top:1px solid var(--ss-color-border);background:var(--ss-hover-layer)}.profile-container{gap:20px}.profile-card,.heatmap-container{border-radius:24px}.stats-grid{gap:14px}.stats-grid .stat-card{border-radius:18px}@media(max-width:1080px){.main>.hero,.main>.section,.main>.oj-page,.main>.discussion-list-page,.main>.discussion-detail-page,.main>.discussion-create-page,.main>.message-list-page,.main>.chat-page,.main>.admin-page,.main>.profile-container{width:100%}.oj-filters{grid-template-columns:1fr}}@media(max-width:900px){.topbar{padding:12px 16px}.discussion-list-page,.discussion-detail-page,.discussion-create-page,.message-list-page,.chat-page,.admin-page,.section:not(.section-premium){padding:20px;border-radius:22px}.oj-hero-note{max-width:none;text-align:left}}.starfield{opacity:.95;filter:saturate(.92) brightness(1.02)}.hero-minimal{grid-template-columns:minmax(0,1fr);min-height:calc(100vh - var(--topbar-offset) - 68px);align-content:center;gap:34px;padding:clamp(28px,7vw,72px);background:none;border-color:var(--ss-hover-layer);box-shadow:none}.hero-minimal:before{background:var(--ss-hover-layer)}.hero-left-minimal{max-width:860px;margin:0 auto;align-items:center;text-align:center}.hero-left-minimal h1{max-width:11ch;margin-inline:auto;font-size:clamp(44px,8vw,86px);line-height:.96;letter-spacing:-.055em}.hero-left-minimal p{max-width:640px;margin:0 auto;font-size:clamp(15px,2vw,18px);line-height:1.9;color:var(--ss-color-text)}.hero-left-minimal .eyebrow{margin-bottom:10px;color:var(--ss-accent-78)}.hero-left-minimal .hero-actions{justify-content:center;margin-top:6px}.hero-summary{width:min(760px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.hero-summary-row{padding:18px 0;border-top:1px solid var(--ss-color-border);text-align:center}.hero-summary-label{display:block;margin-bottom:8px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ss-color-text)}.hero-summary-row strong{font-size:clamp(28px,4vw,40px);font-weight:600;color:var(--ss-color-text)}@media(max-width:900px){.hero-minimal{min-height:calc(100vh - var(--topbar-offset) - 32px);gap:24px;padding:28px 20px 34px}.hero-left-minimal h1{max-width:none}.hero-summary{grid-template-columns:1fr;gap:10px}.hero-summary-row{padding:14px 0}}.starfield{opacity:1;filter:saturate(1.08) contrast(1.04)}.topbar{background:var(--ss-bg-panel);border-bottom-color:var(--ss-color-text-subtle);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);box-shadow:0 10px 34px var(--ss-bg-code-16),inset 0 1px 0 var(--ss-color-border)}.sidebar{background:var(--ss-bg-panel);-webkit-backdrop-filter:blur(16px) saturate(125%);backdrop-filter:blur(16px) saturate(125%);border-right-color:var(--ss-color-text-subtle)}.lang-switch-trigger,.user-menu-panel,.topbar-message-btn,.oj-quick-jump,.oj-weekly-chart,.oj-home-section-premium,.oj-summary-card,.hero-signal-item,.hero-orbit-card,.stat-card,.info-panel,.module-card,.section:not(.section-premium),.discussion-list-page,.discussion-detail-page,.discussion-create-page,.message-list-page,.chat-page,.admin-page,.discussion-toolbar,.oj-filters,.discussion-card,.conversation-card,.oj-card,.summary-card,.profile-card,.heatmap-container,.leaderboard-table,.admin-table,.chat-messages,.new-chat-modal,.confirm-panel,.testcase-item,.oj-detail-content,.oj-sidebar-section,.admin-hero,.rating-chart{background:var(--ss-hover-layer);border:1px solid var(--ss-color-border);box-shadow:inset 0 1px 0 var(--ss-color-border-strong),inset 0 -1px 0 var(--ss-hover-layer),0 18px 50px var(--ss-bg-code-16);backdrop-filter:blur(14px) saturate(145%);-webkit-backdrop-filter:blur(14px) saturate(145%)}.section-premium,.hero-premium,.hero-minimal,.oj-hero-premium{background:var(--ss-hover-layer);border:1px solid var(--ss-color-border);box-shadow:inset 0 1px 0 var(--ss-color-border-strong),0 28px 80px var(--ss-bg-code-16);-webkit-backdrop-filter:blur(12px) saturate(145%);backdrop-filter:blur(12px) saturate(145%)}.hero-premium:before,.section-premium:before,.oj-hero-premium:before,.oj-home-section-premium:before,.oj-summary-card:before,.oj-weekly-chart:before,.oj-quick-jump:before{background:none}.discussion-card:hover,.conversation-card:hover,.oj-card:hover,.module-card:hover,.oj-home-section-premium:hover,.oj-summary-card:hover,.hero-signal-item:hover,.stat-card:hover{border-color:var(--ss-color-text-subtle);box-shadow:inset 0 1px 0 var(--ss-color-border-strong),0 26px 56px var(--ss-bg-code-18)}.oj-code-label,.oj-badge,.oj-tag,.oj-tag-small,.discussion-card-problem,.leaderboard-period,.profile-rank-badge,.hero-orbit-status{color:var(--ss-accent-82)}.oj-tag,.oj-tag-small,.discussion-card-problem,.topbar-badge,.oj-hero-badge{opacity:.9}@media(max-width:900px){.lang-switch-trigger,.user-menu-panel,.topbar-message-btn,.oj-quick-jump,.oj-weekly-chart,.oj-home-section-premium,.oj-summary-card,.hero-signal-item,.hero-orbit-card,.stat-card,.info-panel,.module-card,.section:not(.section-premium),.discussion-list-page,.discussion-detail-page,.discussion-create-page,.message-list-page,.chat-page,.admin-page,.discussion-toolbar,.oj-filters,.discussion-card,.conversation-card,.oj-card,.summary-card,.profile-card,.heatmap-container,.leaderboard-table,.admin-table,.chat-messages,.new-chat-modal,.confirm-panel,.testcase-item,.oj-detail-content,.oj-sidebar-section,.rating-chart{backdrop-filter:blur(10px) saturate(135%);-webkit-backdrop-filter:blur(10px) saturate(135%)}}.hero-premium,.section-premium,.oj-hero-premium,.oj-home-section-premium,.oj-summary-card,.oj-weekly-chart,.oj-quick-jump{position:relative;overflow:hidden}.hero-premium:before,.section-premium:before,.oj-hero-premium:before,.oj-home-section-premium:before,.oj-summary-card:before,.oj-weekly-chart:before,.oj-quick-jump:before{content:"";position:absolute;inset:0;background:none;pointer-events:none}.hero-premium{grid-template-columns:minmax(0,1.25fr) minmax(360px,.95fr);min-height:430px;padding:44px;border-radius:30px;background:var(--ss-bg-panel-solid);box-shadow:0 28px 90px var(--ss-bg-code-48),inset 0 1px 0 var(--ss-hover-layer)}.hero-left,.hero-right,.oj-hero-copy,.oj-hero-aside,.oj-summary-card,.oj-home-section-premium,.oj-weekly-chart,.oj-quick-jump{z-index:1}.hero-left{display:flex;flex-direction:column;justify-content:center}.hero-left h1{max-width:10ch;font-size:clamp(40px,6vw,68px);line-height:1.02;letter-spacing:-.04em;margin:14px 0 18px}.hero-left p{max-width:620px;font-size:16px;line-height:1.8;color:var(--ss-color-text)}.hero-signal-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px}.hero-signal-item{padding:14px 16px;border-radius:16px;border:1px solid var(--ss-color-border);background:var(--ss-hover-layer);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.hero-signal-item strong{display:block;margin-top:8px;font-size:22px;font-weight:700}.hero-signal-label,.oj-summary-label{display:inline-block;color:var(--ss-color-text-muted);letter-spacing:.18em;text-transform:uppercase;font-size:11px}.hero-right{gap:18px}.hero-orbit-card{padding:22px;border-radius:24px;border:1px solid var(--ss-accent-20);background:none;box-shadow:inset 0 1px 0 var(--ss-hover-layer),0 18px 40px var(--ss-bg-code-30)}.hero-orbit-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.hero-orbit-kicker,.oj-hero-kicker{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ss-color-accent)}.hero-orbit-status{padding:6px 10px;border-radius:999px;background:var(--ss-accent-bg-strong);color:var(--ss-color-bg-soft);font-size:11px;letter-spacing:.16em}.hero-orbit-body{display:grid;grid-template-columns:130px minmax(0,1fr);gap:20px;align-items:center}.hero-orbit-ring{width:130px;height:130px;border-radius:50%;display:grid;place-items:center;background:none;border:1px solid var(--ss-accent-border-soft);box-shadow:inset 0 0 0 18px var(--ss-hover-layer)}.hero-orbit-core{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:var(--ss-hover-layer);font-size:22px;font-weight:700;letter-spacing:.14em}.hero-orbit-title{font-size:22px;line-height:1.35;font-weight:600;margin-bottom:8px}.hero-orbit-copy p{margin:0;color:var(--ss-color-text);line-height:1.7}.starfield{opacity:1!important;filter:none!important}.topbar,.sidebar{backdrop-filter:blur(10px) saturate(120%)!important;-webkit-backdrop-filter:blur(10px) saturate(120%)!important}.hero-minimal,.hero-premium,.section-premium,.oj-hero-premium{background:var(--ss-hover-layer);border:1px solid var(--ss-color-border)!important;box-shadow:inset 0 1px 0 var(--ss-color-border-strong),0 28px 80px var(--ss-bg-code-14)!important;backdrop-filter:blur(12px) saturate(135%)!important;-webkit-backdrop-filter:blur(12px) saturate(135%)!important}.hero-minimal:before,.hero-premium:before,.section-premium:before,.oj-hero-premium:before,.oj-home-section-premium:before,.oj-summary-card:before,.oj-weekly-chart:before,.oj-quick-jump:before{background:none}.hero-minimal{min-height:calc(100vh - var(--topbar-offset) - 56px)!important}.hero-left-minimal p,.oj-hero-desc,.oj-quick-jump-subtitle,.oj-summary-card p,.discussion-card-meta,.oj-card-meta,.conversation-preview{color:var(--ss-color-text)!important}.lang-switch-trigger,.user-menu-panel,.topbar-message-btn,.hero-signal-item,.hero-orbit-card,.stat-card,.info-panel,.module-card,.oj-summary-card,.oj-quick-jump,.oj-weekly-chart,.oj-home-section-premium,.discussion-toolbar,.oj-filters,.discussion-card,.conversation-card,.oj-card,.summary-card,.profile-card,.heatmap-container,.leaderboard-table,.admin-table,.chat-messages,.new-chat-modal,.confirm-panel,.testcase-item,.oj-detail-content,.oj-sidebar-section,.rating-chart,.leaderboard-filters,.filter-tab,.pagination-btn,.pagination-number,.pagination-go,.sort-btn{background:var(--ss-hover-layer);border-color:var(--ss-color-text-subtle)!important;box-shadow:inset 0 1px 0 var(--ss-color-border-strong),inset 0 -1px 0 var(--ss-hover-layer),0 18px 48px var(--ss-bg-code-14)!important;backdrop-filter:blur(14px) saturate(140%)!important;-webkit-backdrop-filter:blur(14px) saturate(140%)!important}.discussion-card:hover,.conversation-card:hover,.oj-card:hover,.module-card:hover,.oj-home-section-premium:hover,.oj-summary-card:hover,.hero-signal-item:hover,.stat-card:hover,.filter-tab:hover,.filter-tab.active,.sort-btn:hover,.sort-btn.active{border-color:var(--ss-color-text-subtle)!important;background:var(--ss-hover-layer);box-shadow:inset 0 1px 0 var(--ss-color-border-strong),0 24px 56px var(--ss-bg-code-16)!important}.oj-page,.discussion-list-page,.message-list-page,.chat-page,.profile-container{position:relative}.oj-summary-card,.oj-home-section-premium,.discussion-card,.conversation-card,.oj-card,.profile-card,.heatmap-container{overflow:hidden}.oj-summary-card:after,.oj-home-section-premium:after,.discussion-card:after,.conversation-card:after,.oj-card:after,.profile-card:after,.heatmap-container:after{content:"";position:absolute;inset:1px;border-radius:inherit;background:var(--ss-hover-layer);pointer-events:none}.hero-summary-row,.oj-summary-card,.oj-home-section-premium,.discussion-card,.conversation-card,.oj-card,.profile-card,.heatmap-container,.leaderboard-table{color:var(--ss-accent-92)}.hero-summary-label,.oj-summary-label,.stat-label,.oj-hero-kicker,.hero-orbit-kicker,.eyebrow{color:var(--ss-accent-72)!important}.oj-hero-badge,.topbar-badge{background:transparent!important;border:none!important;box-shadow:none!important}@media(max-width:900px){.hero-minimal,.hero-premium,.section-premium,.oj-hero-premium,.lang-switch-trigger,.user-menu-panel,.topbar-message-btn,.hero-signal-item,.hero-orbit-card,.stat-card,.info-panel,.module-card,.oj-summary-card,.oj-quick-jump,.oj-weekly-chart,.oj-home-section-premium,.discussion-toolbar,.oj-filters,.discussion-card,.conversation-card,.oj-card,.summary-card,.profile-card,.heatmap-container,.leaderboard-table,.admin-table,.chat-messages,.new-chat-modal,.confirm-panel,.testcase-item,.oj-detail-content,.oj-sidebar-section,.rating-chart{backdrop-filter:blur(10px) saturate(130%)!important;-webkit-backdrop-filter:blur(10px) saturate(130%)!important}}.lang-switch-menu,.user-menu-panel,.problem-dropdown,.tag-selector-content,.new-chat-modal,.confirm-panel{background:var(--ss-hover-layer);border:1px solid var(--ss-color-border)!important;box-shadow:inset 0 1px 0 var(--ss-color-border-strong),inset 0 -1px 0 var(--ss-hover-layer),0 22px 54px var(--ss-bg-code-18)!important;backdrop-filter:blur(16px) saturate(145%)!important;-webkit-backdrop-filter:blur(16px) saturate(145%)!important}.lang-switch-item,.user-menu-item,.problem-option,.tag-selector-item{border-radius:12px;color:var(--ss-accent-90)!important}button.lang-switch-item:hover,.lang-switch-item.active,.user-menu-item:hover,.problem-option:hover,.tag-selector-item:hover,.tag-selector-item.selected{background:var(--ss-hover-layer);border-color:var(--ss-color-text-subtle)!important;box-shadow:inset 0 1px 0 var(--ss-color-border)}.user-menu-divider,.tag-selector-header,.tag-selector-search{border-color:var(--ss-color-text-subtle)!important}.selected-problem,.tag-selector-btn,.tag-selector-input{background:var(--ss-hover-layer);border-color:var(--ss-color-text-subtle)!important;backdrop-filter:blur(12px) saturate(135%)!important;-webkit-backdrop-filter:blur(12px) saturate(135%)!important}.hero-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.stat-card{border-radius:20px;padding:18px 20px;background:var(--ss-hover-layer);box-shadow:inset 0 1px 0 var(--ss-hover-layer)}.stat-value{font-size:clamp(30px,4vw,40px)}.starfield{opacity:1!important;filter:none!important;mix-blend-mode:screen}.content:before{background:none}.content:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:var(--ss-hover-layer);background-size:320px 320px,420px 420px,500px 500px,620px 620px,540px 540px;opacity:.9}.topbar,.sidebar{background:var(--ss-bg-panel);border-color:var(--ss-color-text-subtle)!important;backdrop-filter:blur(6px) saturate(115%)!important;-webkit-backdrop-filter:blur(6px) saturate(115%)!important}.hero-minimal,.hero-premium,.section-premium,.oj-hero-premium{background:var(--ss-hover-layer);backdrop-filter:blur(10px) saturate(125%)!important;-webkit-backdrop-filter:blur(10px) saturate(125%)!important}.lang-switch-trigger,.user-menu-panel,.topbar-message-btn,.hero-signal-item,.hero-orbit-card,.stat-card,.info-panel,.module-card,.oj-summary-card,.oj-quick-jump,.oj-weekly-chart,.oj-home-section-premium,.discussion-toolbar,.oj-filters,.discussion-card,.conversation-card,.oj-card,.summary-card,.profile-card,.heatmap-container,.leaderboard-table,.admin-table,.chat-messages,.new-chat-modal,.confirm-panel,.testcase-item,.oj-detail-content,.oj-sidebar-section,.rating-chart,.leaderboard-filters,.filter-tab,.pagination-btn,.pagination-number,.pagination-go,.sort-btn,.lang-switch-menu,.problem-dropdown,.tag-selector-content{background:var(--ss-bg-panel);box-shadow:inset 0 1px 0 var(--ss-color-border-strong),inset 0 -1px 0 var(--ss-hover-layer),0 18px 48px var(--ss-bg-code-12)!important;backdrop-filter:blur(10px) saturate(125%)!important;-webkit-backdrop-filter:blur(10px) saturate(125%)!important}.section-premium{padding:34px;border-radius:28px;background:none}.section-body-premium{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:stretch}.info-panel{border-radius:24px;padding:28px;background:var(--ss-hover-layer);box-shadow:inset 0 1px 0 var(--ss-hover-layer)}.info-panel p,.feature-list{line-height:1.8}.info-panel-callout{margin-top:22px;padding-top:18px;border-top:1px solid var(--ss-color-border)}.info-panel-callout-label{display:block;margin-bottom:8px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ss-warning-text)}.card-grid{gap:16px}.module-card{min-height:168px;border-radius:22px;padding:22px;background:var(--ss-hover-layer);box-shadow:inset 0 1px 0 var(--ss-hover-layer)}.module-card:hover{border-color:var(--ss-accent-border);box-shadow:0 18px 36px var(--ss-bg-code-28),inset 0 1px 0 var(--ss-hover-layer)}.oj-hero-premium{align-items:stretch;padding:28px 30px;border-radius:28px;background:var(--ss-bg-panel-solid);box-shadow:0 24px 70px var(--ss-bg-code-40),inset 0 1px 0 var(--ss-hover-layer)}.oj-hero-copy{display:flex;flex-direction:column;justify-content:center;gap:12px;max-width:760px}.oj-hero-copy h2{margin:0;font-size:clamp(34px,5vw,52px);line-height:1.05;letter-spacing:-.04em}.oj-hero-desc{max-width:60ch;margin-top:0;font-size:15px;line-height:1.8;color:var(--ss-color-text)}.oj-hero-aside{min-width:220px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;gap:20px}.oj-hero-badge{padding:9px 14px;border-radius:999px;border:1px solid var(--ss-color-border);background:var(--ss-hover-layer);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ss-color-text)}.oj-hero-stack{display:grid;gap:12px;justify-items:end}.oj-hero-stack span{display:inline-flex;padding:10px 14px;border-radius:999px;background:var(--ss-hover-layer);border:1px solid var(--ss-accent-border-soft);color:var(--ss-accent-88)}.oj-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.oj-summary-card{padding:20px 22px;border-radius:22px;border:1px solid var(--ss-color-border);background:var(--ss-hover-layer);box-shadow:0 16px 36px var(--ss-bg-code-22)}.oj-summary-card strong{display:block;margin:10px 0 8px;font-size:34px;line-height:1}.oj-summary-card p{margin:0;color:var(--ss-color-text);font-size:13px}.oj-home-content{grid-template-columns:minmax(0,1fr) 360px;gap:20px;margin-top:0}.oj-home-section-premium{padding:22px;border-radius:22px;background:var(--ss-hover-layer);box-shadow:inset 0 1px 0 var(--ss-hover-layer)}.oj-home-section h3{font-size:18px;letter-spacing:-.01em}.oj-home-toolbar{gap:18px;margin-bottom:0}.oj-quick-jump{gap:12px;min-width:300px;padding:20px;border-radius:20px;background:var(--ss-hover-layer)}.oj-quick-jump-title{font-size:22px;letter-spacing:-.02em}.oj-quick-jump-subtitle{color:var(--ss-color-text);font-size:13px;line-height:1.6}.oj-quick-jump .auth-input{min-height:44px;border-radius:12px;padding:10px 12px}.oj-weekly-chart{min-width:0;padding:22px;border-radius:22px;background:var(--ss-hover-layer);border-color:var(--ss-accent-border-soft);box-shadow:0 16px 36px var(--ss-bg-code-22)}.oj-weekly-chart-title{margin-bottom:16px;font-size:16px}.oj-recommendations{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:10px}.oj-recommendation-card{min-height:148px;padding:16px;border-radius:18px;background:var(--ss-hover-layer)}.oj-recommendation-card:hover{box-shadow:0 16px 32px var(--ss-bg-code-24);border-color:var(--ss-accent-border);background:var(--ss-hover-layer)}.oj-recommendation-title{font-size:15px;line-height:1.45}.oj-tag-small{border-radius:999px;padding:4px 8px}.oj-recommendation-hint{color:var(--ss-color-text);font-size:12px}.oj-hot-problem-item,.oj-recent-ac-item,.problem-plan-item{border-radius:16px;transition:transform .2s ease,border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.oj-hot-problem-item:hover,.oj-recent-ac-item:hover,.problem-plan-item:hover{box-shadow:0 12px 24px var(--ss-bg-code-18)}@media(max-width:1280px){.hero-premium,.section-body-premium,.oj-home-content,.oj-summary-grid,.hero-stat-grid{grid-template-columns:1fr}.oj-home-toolbar{flex-direction:column;align-items:stretch}.hero-premium,.oj-hero-premium{gap:24px}.hero-orbit-body{grid-template-columns:1fr;justify-items:start}.oj-hero-premium{flex-direction:column}.oj-hero-aside{min-width:0;width:100%;align-items:flex-start}.oj-hero-stack{justify-items:start;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.oj-recommendations{grid-template-columns:1fr}}@media(max-width:900px){.main{padding:20px}.hero-premium,.section-premium,.oj-hero-premium,.oj-summary-card,.oj-home-section-premium,.oj-weekly-chart,.oj-quick-jump{border-radius:20px}.hero-premium,.section-premium{padding:24px}.hero-left h1,.oj-hero-copy h2{max-width:none}.hero-signal-strip,.oj-hero-stack{grid-template-columns:1fr}}:root{--bg: var(--ss-color-bg);--bg-elevated: var(--ss-color-bg);--panel: var(--ss-bg-code-82);--panel-strong: var(--ss-bg-panel-solid);--border: var(--ss-accent-16);--border-strong: var(--ss-accent-26);--text: var(--ss-color-text);--muted: var(--ss-color-text-muted);--accent: var(--ss-color-accent-strong);--accent-2: var(--ss-warning-text);--accent-3: var(--ss-color-accent);--success: var(--ss-color-success);--danger: var(--ss-color-danger);--radius-md: 16px;--radius-lg: 22px;--shadow-soft: 0 18px 48px var(--ss-bg-code-28);--shadow-strong: 0 30px 80px var(--ss-bg-code-38)}body{background:none;color:var(--text)}.starfield{opacity:.72!important;mix-blend-mode:screen}.content:after{opacity:.38}button,input,textarea,select{letter-spacing:0}button:hover{filter:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,.nav-link:focus-visible{outline:2px solid var(--ss-color-accent);outline-offset:3px}.app{--sidebar-collapsed-width: 64px;--sidebar-width: 224px}.topbar{min-height:68px;padding:12px 24px!important;background:var(--ss-bg-code-82)!important;border-bottom:1px solid var(--border)!important;box-shadow:0 12px 34px var(--ss-bg-code-20)!important;backdrop-filter:blur(18px) saturate(135%)!important;-webkit-backdrop-filter:blur(18px) saturate(135%)!important}.topbar-left{gap:12px}.topbar-title{font-family:Oxanium,Space Grotesk,sans-serif;font-size:22px;font-weight:700;letter-spacing:0}.topbar-badge,.eyebrow,.oj-hero-kicker,.hero-summary-label,.oj-summary-label,.stat-label{letter-spacing:.08em!important;text-transform:uppercase}.topbar-badge{padding:5px 9px!important;border:1px solid var(--ss-accent-border-soft)!important;border-radius:999px!important;color:var(--ss-color-text)!important;background:var(--ss-accent-bg)!important}.sidebar{padding:14px 10px!important;background:var(--ss-bg-code-78)!important;border-right:1px solid var(--border)!important;box-shadow:12px 0 32px var(--ss-bg-code-12);backdrop-filter:blur(18px) saturate(135%)!important;-webkit-backdrop-filter:blur(18px) saturate(135%)!important}.sidebar:hover{padding:16px 8px!important}.nav{gap:8px}.nav a,.nav .nav-link{min-height:42px;border-radius:12px!important;border-color:transparent!important;color:var(--ss-color-text)!important;background:transparent!important}.nav a:hover,.nav .nav-link:hover,.nav .nav-link.active{color:var(--ss-color-text)!important;background:var(--ss-hover-layer)!important;border-color:var(--ss-color-text-subtle)!important;transform:none}.nav .nav-link.active .nav-icon{color:var(--accent)}.content{width:100%}.main{width:min(1440px,calc(100vw - 40px));margin:0 auto;padding:28px}.main.home{width:min(1500px,calc(100vw - 40px))}.main>.section,.main>.oj-page,.main>.discussion-list-page,.main>.discussion-detail-page,.main>.discussion-create-page,.main>.message-list-page,.main>.chat-page,.main>.admin-page,.main>.profile-container{width:100%}button.primary,button.ghost,.ide-btn,.pagination-btn,.pagination-number,.pagination-go,.discussion-pagination button,.filter-tab,.sort-btn,.topbar-message-btn,.add-to-plan-btn{border-radius:10px!important;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}button.primary{color:var(--ss-color-bg)!important;background:var(--ss-color-accent)!important;border:1px solid var(--ss-color-border)!important;box-shadow:0 12px 30px var(--ss-accent-border-soft)!important}button.primary:hover{box-shadow:0 16px 38px var(--ss-accent-border-soft)!important}button.ghost,.pagination-btn,.pagination-number,.pagination-go,.discussion-pagination button,.sort-btn,.filter-tab,.topbar-message-btn,.ide-btn-secondary{color:var(--ss-accent-90)!important;background:var(--ss-hover-layer)!important;border:1px solid var(--border)!important;box-shadow:none!important}button.ghost:hover,.pagination-btn:hover:not(:disabled),.pagination-number:hover,.pagination-number.active,.pagination-go:hover,.discussion-pagination button:hover:not(:disabled),.sort-btn:hover,.sort-btn.active,.filter-tab:hover,.filter-tab.active{color:var(--ss-color-text)!important;background:var(--ss-accent-bg-strong)!important;border-color:var(--ss-accent-border)!important;transform:translateY(-1px)}button.small{min-height:32px;padding:7px 12px;font-size:12px}.auth-input,.auth-input-like,.discussion-search input,.pagination-input,.tag-selector-input,.problem-textarea,textarea,input[type=text],input[type=password]{min-height:42px;border-radius:10px!important;color:var(--text)!important;background:var(--ss-bg-code-50)!important;border:1px solid var(--border)!important;box-shadow:inset 0 1px 0 var(--ss-hover-layer)}.auth-input:focus,.auth-input-like:focus,.discussion-search input:focus,.pagination-input:focus,.tag-selector-input:focus,textarea:focus,input[type=text]:focus,input[type=password]:focus{border-color:var(--ss-accent-border)!important;box-shadow:0 0 0 4px var(--ss-accent-bg),inset 0 1px 0 var(--ss-hover-layer)!important}.hero-minimal{min-height:calc(100vh - var(--topbar-offset) - 72px)!important;padding:64px 56px!important;border-radius:28px!important;display:grid;align-content:center;border:1px solid var(--border-strong)!important;background:var(--ss-hover-layer);box-shadow:var(--shadow-strong)!important}.hero-minimal:before,.hero-premium:before,.section-premium:before,.oj-hero-premium:before,.oj-home-section-premium:before,.oj-summary-card:before,.oj-weekly-chart:before,.oj-quick-jump:before{background:var(--ss-hover-layer);opacity:.45}.hero-left-minimal h1{max-width:none!important;margin:6px auto 18px!important;font-family:Oxanium,Space Grotesk,sans-serif;font-size:76px!important;line-height:1;letter-spacing:0!important}.hero-left-minimal p{max-width:760px;font-size:17px!important}.hero-summary{gap:0!important;border:1px solid var(--border);border-radius:18px;overflow:hidden;background:var(--ss-bg-code-34)}.hero-summary-row{padding:20px 18px!important;border-top:none!important;border-right:1px solid var(--border)}.hero-summary-row:last-child{border-right:0}.hero-summary-row strong,.oj-summary-card strong,.stat-value{font-family:Oxanium,Space Grotesk,sans-serif;letter-spacing:0}.hero-summary-row strong{font-size:38px!important}.section:not(.section-premium),.discussion-list-page,.discussion-detail-page,.discussion-create-page,.message-list-page,.chat-page,.admin-page,.auth-panel,.confirm-panel,.new-chat-modal{border-radius:var(--radius-lg)!important;border:1px solid var(--border)!important;background:var(--panel)!important;box-shadow:var(--shadow-soft)!important;backdrop-filter:blur(16px) saturate(130%)!important;-webkit-backdrop-filter:blur(16px) saturate(130%)!important}.section-header h2,.discussion-header h2,.message-list-header h1,.admin-hero h2,.oj-header h2{font-size:28px;letter-spacing:0!important}.oj-page{gap:18px}.oj-hero-premium{padding:34px!important;border-radius:26px!important;border:1px solid var(--border-strong)!important;background:var(--ss-hover-layer);box-shadow:var(--shadow-strong)!important}.oj-hero-copy h2{max-width:760px;font-size:44px!important;line-height:1.08;letter-spacing:0!important}.oj-hero-desc{font-size:15px!important;color:var(--ss-color-text)!important}.oj-hero-aside{min-width:280px;padding-left:20px}.oj-hero-badge,.oj-hero-stack span,.leaderboard-period,.profile-rank-badge{border:1px solid var(--ss-color-border)!important;border-radius:999px!important;background:var(--ss-hover-layer)!important;color:var(--ss-accent-84)!important}.oj-hero-stack{display:grid;gap:10px;justify-items:end}.oj-hero-stack span{min-width:150px;justify-content:center;padding:9px 12px!important;font-size:12px}.oj-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.oj-summary-card,.oj-quick-jump,.oj-weekly-chart,.oj-home-section-premium,.discussion-toolbar,.oj-filters,.leaderboard-filters,.profile-card,.summary-card,.heatmap-container,.admin-hero,.rating-chart{border-radius:var(--radius-lg)!important;border:1px solid var(--border)!important;background:var(--ss-hover-layer);box-shadow:var(--shadow-soft)!important;backdrop-filter:blur(14px) saturate(130%)!important;-webkit-backdrop-filter:blur(14px) saturate(130%)!important}.oj-summary-card{min-height:132px;padding:20px!important}.oj-summary-card strong{font-size:36px!important}.oj-home-content{grid-template-columns:minmax(0,1fr) 360px!important}.oj-home-toolbar{align-items:stretch}.oj-quick-jump{min-width:300px}.oj-weekly-chart{min-width:0!important}.oj-recommendation-card,.oj-hot-problem-item,.oj-recent-ac-item,.problem-plan-item,.testcase-item,.timeline-item,.module-card,.info-panel{border-radius:var(--radius-md)!important;border:1px solid var(--ss-color-border)!important;background:var(--ss-hover-layer)!important}.oj-recommendation-card:hover,.oj-hot-problem-item:hover,.oj-recent-ac-item:hover,.problem-plan-item:hover,.module-card:hover{border-color:var(--ss-accent-border-soft)!important;background:var(--ss-accent-bg)!important}.oj-filters,.discussion-toolbar,.leaderboard-filters{padding:12px!important}.oj-list,.discussion-post-list,.conversation-list{gap:12px!important}.oj-card,.discussion-card,.conversation-card,.leaderboard-table,.admin-table{border-radius:16px!important;border:1px solid var(--border)!important;background:var(--ss-bg-code-78)!important;box-shadow:0 10px 26px var(--ss-bg-code-18)!important}.oj-card,.discussion-card,.conversation-card{min-height:auto!important;padding:16px 18px!important}.oj-card:hover,.discussion-card:hover,.conversation-card:hover{border-color:var(--ss-accent-border-soft)!important;background:var(--ss-bg-code-90)!important}.oj-card-title,.discussion-card-title{font-size:16px!important;font-weight:650;letter-spacing:0!important}.oj-card-meta,.discussion-card-meta,.conversation-preview{color:var(--ss-accent-68)!important}.oj-code-label{color:var(--accent)!important;font-family:Oxanium,Space Grotesk,sans-serif;letter-spacing:0!important}.oj-badge,.difficulty-tag,.rank-change{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px!important;border-radius:999px!important;border:1px solid var(--ss-color-border)!important;background:var(--ss-hover-layer)!important;font-size:12px!important}.oj-tag,.oj-tag-small{color:var(--ss-accent-72)!important;background:transparent!important}.oj-pass-rate-bar{background:var(--ss-hover-layer)!important}.oj-pass-rate-fill{background:var(--ss-color-accent)}.leaderboard-table,.admin-table{overflow:hidden;border-collapse:separate;border-spacing:0}.leaderboard-table th,.admin-table th{background:var(--ss-hover-layer);color:var(--ss-accent-72)!important;letter-spacing:.06em!important}.leaderboard-row:hover,.admin-table tr:hover{background:var(--ss-accent-bg)!important}.leaderboard-row.current-user{background:var(--ss-accent-bg-strong)!important}.leaderboard-row.top-1{background:var(--ss-warning-8)!important}.leaderboard-row.top-2{background:var(--ss-accent-7)!important}.leaderboard-row.top-3{background:var(--ss-accent-8)!important}.rank-medal{font-family:Oxanium,Space Grotesk,sans-serif}.discussion-card-stats .stat-item,.discussion-card-problem{border-radius:999px;color:var(--ss-accent-76)!important}.discussion-problem-banner{border-radius:var(--radius-md)!important;border:1px solid var(--ss-accent-border-soft)!important;background:var(--ss-accent-bg)!important}.oj-detail{max-width:1180px!important;width:min(1180px,calc(100vw - 64px))!important}.oj-detail-title-wrapper,.oj-detail-content,.oj-sidebar-section,.ide-header,.ide-editor-wrap,.ide-run-panel,.judge-status,.judge-celebration-panel,.submission-expand,.submission-code{border-radius:var(--radius-lg)!important;border:1px solid var(--border)!important;background:var(--ss-bg-code-80)!important;box-shadow:var(--shadow-soft)!important}.oj-detail-title{font-size:28px!important;letter-spacing:0!important}.oj-section{border-color:var(--ss-hover-layer)!important}.oj-section h3,.oj-home-section h3{letter-spacing:0!important}.oj-problem-richtext,.oj-problem-richtext p,.oj-problem-richtext li{color:var(--ss-color-text)!important;line-height:1.82}.oj-sample pre,.submission-code,.ide-run-output pre{border-radius:12px!important;border:1px solid var(--ss-color-border)!important;background:var(--ss-bg-code-72)!important}.ide-panel.side{padding:0 6px 0 0}.ide-header{padding:12px!important}.ide-btn-primary{background:var(--ss-color-accent)!important;color:var(--ss-color-bg)!important}.auth-panel{padding:24px!important}.auth-title{font-size:24px}.auth-tabs{border-radius:12px!important;background:var(--ss-hover-layer);padding:4px}.auth-tabs button{border-radius:9px!important}.auth-tabs button.active{background:var(--ss-accent-bg-strong)!important}.skeleton{background:var(--ss-hover-layer)}@media(max-width:1280px){.main,.main.home{width:calc(100vw - var(--sidebar-collapsed-width) - 24px);padding:22px}.oj-summary-grid,.oj-home-content,.oj-home-toolbar{grid-template-columns:1fr!important}.oj-home-content{display:grid}.oj-home-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}@media(max-width:900px){.app{--sidebar-collapsed-width: 0px}.app-body{padding-left:0!important}.sidebar{display:none}.topbar{padding:10px 14px!important;flex-direction:row!important;align-items:center!important;gap:10px!important;max-height:none!important}.topbar-title{font-size:20px}.topbar-left{min-width:0}.topbar-actions{margin-left:auto;min-height:0;max-height:none}.main,.main.home{width:100%;padding:16px}.hero-minimal{min-height:calc(100vh - var(--topbar-offset) - 32px)!important;padding:34px 22px!important}.hero-left-minimal h1{font-size:48px!important}.hero-left-minimal p{font-size:15px!important}.hero-summary{grid-template-columns:1fr!important}.hero-summary-row{border-right:0;border-bottom:1px solid var(--border)}.hero-summary-row:last-child{border-bottom:0}.oj-hero-premium{padding:24px!important}.oj-hero-copy h2{font-size:32px!important}.oj-summary-grid,.oj-home-sidebar,.oj-recommendations{grid-template-columns:1fr!important}.oj-quick-jump{min-width:0}.oj-filters{grid-template-columns:1fr!important}.pagination,.discussion-pagination{flex-wrap:wrap}.oj-detail,.oj-detail-main{grid-template-columns:1fr!important}}@media(max-width:480px){.topbar-badge{display:none}}.topbar-nav{position:absolute;left:50%;top:50%;display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--border);border-radius:999px;background:var(--ss-hover-layer);transform:translate(-50%,-50%);box-shadow:inset 0 1px 0 var(--ss-hover-layer)}.topbar-nav button{min-height:32px;padding:7px 13px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--ss-color-text);font-size:13px;font-weight:600;white-space:nowrap}.topbar-nav button:hover,.topbar-nav button.active{color:var(--ss-color-text);background:var(--ss-accent-bg-strong);border-color:var(--ss-accent-border-soft);transform:none}.home-command-page{display:grid;gap:18px}.home-command-hero{min-height:calc(100vh - var(--topbar-offset) - 270px)!important}.home-command-grid{display:grid;grid-template-columns:1.15fr repeat(3,minmax(0,1fr));gap:14px}.home-command-card{min-height:178px;display:grid;align-content:space-between;gap:14px;padding:20px;border:1px solid var(--border);border-radius:18px;background:var(--ss-hover-layer);color:var(--text);text-align:left;box-shadow:0 14px 36px var(--ss-bg-code-22);overflow:hidden;position:relative}.home-command-card:before{content:"";position:absolute;inset:0;background:none;opacity:0;transition:opacity .2s ease;pointer-events:none}.home-command-card:hover{border-color:var(--ss-accent-border-soft);background:var(--ss-hover-layer)}.home-command-card:hover:before,.home-command-card.primary-card:before{opacity:1}.home-command-card.primary-card{border-color:var(--ss-accent-border-soft);background:var(--ss-hover-layer)}.home-command-card>*{position:relative;z-index:1}.home-card-kicker{color:var(--ss-accent-72);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.home-command-card strong{display:block;font-size:22px;letter-spacing:0}.home-command-card p{margin:0;color:var(--ss-accent-70);font-size:13px;line-height:1.7}@media(max-width:1180px){.topbar-nav{display:none}.home-command-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.home-command-grid{grid-template-columns:1fr}.home-command-card{min-height:150px}}:root{--classic-surface: var(--ss-bg-panel-solid);--classic-line: var(--ss-color-border);--classic-line-soft: var(--ss-color-border)}body{background:none}.main{padding-top:34px}.hero-minimal,.oj-hero-premium,.section:not(.section-premium),.discussion-list-page,.discussion-detail-page,.discussion-create-page,.message-list-page,.chat-page,.admin-page,.auth-panel,.confirm-panel,.new-chat-modal{border-color:transparent!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.hero-minimal,.oj-hero-premium{border-radius:0!important;padding-inline:clamp(18px,5vw,80px)!important;border-bottom:1px solid var(--classic-line)!important}.hero-minimal:before,.oj-hero-premium:before,.oj-home-section-premium:before,.oj-summary-card:before,.oj-weekly-chart:before,.oj-quick-jump:before,.home-command-card:before{opacity:0!important}.hero-left-minimal h1{font-size:clamp(64px,12vw,132px)!important;font-weight:700}.hero-left-minimal p,.oj-hero-desc{color:var(--ss-color-text)!important}.hero-summary{width:min(880px,100%);border-width:1px 0!important;border-left:0!important;border-right:0!important;border-radius:0!important;background:transparent!important}.hero-summary-row{border-right:0!important;border-bottom:0}.hero-summary-row+.hero-summary-row{border-left:1px solid var(--classic-line-soft)}.home-command-grid{gap:0;border-top:1px solid var(--classic-line);border-bottom:1px solid var(--classic-line)}.home-command-card{min-height:210px;border:0!important;border-radius:0!important;border-right:1px solid var(--classic-line-soft)!important;background:transparent!important;box-shadow:none!important}.home-command-card:last-child{border-right:0!important}.home-command-card:hover{background:var(--ss-hover-layer)!important;transform:none}.home-command-card.primary-card{background:none}.oj-hero-premium{min-height:min(560px,calc(100vh - var(--topbar-offset) - 80px));align-items:center}.oj-hero-copy h2{font-size:clamp(46px,8vw,84px)!important;max-width:980px}.oj-hero-aside{justify-content:center}.oj-hero-badge,.oj-hero-stack span,.leaderboard-period,.profile-rank-badge,.oj-badge,.difficulty-tag,.rank-change{background:transparent!important;border-color:var(--classic-line)!important;box-shadow:none!important}.oj-summary-grid{gap:0;border-top:1px solid var(--classic-line);border-bottom:1px solid var(--classic-line)}.oj-summary-card{min-height:136px;border:0!important;border-radius:0!important;border-right:1px solid var(--classic-line-soft)!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.oj-summary-card:last-child{border-right:0!important}.oj-home-content{gap:0!important;border-top:1px solid var(--classic-line)}.oj-home-main{padding-right:28px;border-right:1px solid var(--classic-line-soft)}.oj-home-sidebar{padding-left:28px}.oj-quick-jump,.oj-weekly-chart,.oj-home-section-premium,.discussion-toolbar,.oj-filters,.leaderboard-filters,.profile-card,.summary-card,.heatmap-container,.admin-hero,.rating-chart{border-radius:0!important;border-width:0 0 1px!important;border-color:var(--classic-line)!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.oj-quick-jump,.oj-weekly-chart,.oj-home-section-premium{padding:24px 0!important}.oj-home-toolbar{margin-bottom:0;border-bottom:1px solid var(--classic-line)}.oj-recommendations{gap:0;border-top:1px solid var(--classic-line-soft)}.oj-recommendation-card,.oj-hot-problem-item,.oj-recent-ac-item,.problem-plan-item,.testcase-item,.timeline-item,.module-card,.info-panel{border-radius:0!important;border-width:0 0 1px!important;border-color:var(--classic-line-soft)!important;background:transparent!important;box-shadow:none!important}.oj-recommendation-card:hover,.oj-hot-problem-item:hover,.oj-recent-ac-item:hover,.problem-plan-item:hover,.module-card:hover{background:var(--ss-hover-layer)!important;transform:none}.oj-list,.discussion-post-list,.conversation-list{gap:0!important;border-top:1px solid var(--classic-line)}.oj-card,.discussion-card,.conversation-card,.leaderboard-table,.admin-table{border-radius:0!important;border-width:0 0 1px!important;border-color:var(--classic-line-soft)!important;background:transparent!important;box-shadow:none!important}.oj-card,.discussion-card,.conversation-card{padding:22px 0!important}.oj-card:hover,.discussion-card:hover,.conversation-card:hover{background:var(--ss-hover-layer)!important;transform:none}.add-to-plan-btn{border-radius:999px!important;background:transparent!important}.discussion-list-page,.section:not(.section-premium),.message-list-page,.chat-page,.admin-page{padding-inline:clamp(18px,5vw,64px)!important}.discussion-toolbar,.oj-filters{margin-bottom:22px}.leaderboard-table th,.admin-table th{background:transparent}.leaderboard-row:hover,.admin-table tr:hover{background:var(--ss-hover-layer)!important}.oj-detail-title-wrapper,.oj-detail-content,.oj-sidebar-section,.ide-header,.ide-editor-wrap,.ide-run-panel,.judge-status,.judge-celebration-panel,.submission-expand,.submission-code{border-radius:0!important;border-width:0 0 1px!important;border-color:var(--classic-line)!important;background:transparent!important;box-shadow:none!important}.oj-detail-content{overflow:visible}.oj-section{padding:28px 0!important}.oj-sample pre,.submission-code,.ide-run-output pre{border-radius:12px!important;background:var(--ss-hover-layer)!important}.topbar-nav,.topbar-message-btn,.user-avatar-btn,button.primary,button.ghost,.auth-input,.auth-input-like,.discussion-search input,.pagination-input,.tag-selector-input,textarea,input[type=text],input[type=password]{box-shadow:none!important}button.primary{background:var(--ss-color-bg-soft)!important;color:var(--ss-color-bg)!important}button.ghost{background:transparent!important}@media(max-width:1280px){.oj-home-main{padding-right:0;border-right:0}.oj-home-sidebar{padding-left:0}.oj-summary-grid,.home-command-grid{border-bottom:0}.oj-summary-card,.home-command-card{border-right:0!important;border-bottom:1px solid var(--classic-line-soft)!important}}@media(max-width:900px){.hero-summary-row+.hero-summary-row{border-left:0;border-top:1px solid var(--classic-line-soft)}.oj-hero-premium{min-height:auto}.oj-hero-copy h2{font-size:40px!important}}:root{--classic-line: var(--ss-color-border);--classic-line-soft: var(--ss-color-border)}.starfield{opacity:.42!important}.topbar{background:var(--ss-bg-panel-solid)!important;border-bottom-color:var(--ss-color-border)!important;box-shadow:none!important}.main{padding-top:30px}.hero-minimal{min-height:auto!important;padding-top:clamp(54px,10vh,88px)!important;padding-bottom:clamp(44px,8vh,76px)!important}.hero-left-minimal h1{text-shadow:none}.hero-left-minimal p{max-width:700px}.hero-summary{margin-top:10px}.hero-summary-row{padding:18px 14px!important}.hero-summary-row strong{font-size:34px!important}.home-command-grid{margin-top:6px}.oj-card:before,.oj-card:after,.discussion-card:before,.discussion-card:after,.conversation-card:before,.conversation-card:after,.oj-summary-card:after,.oj-home-section-premium:after,.profile-card:after,.heatmap-container:after,.home-command-card:after{display:none!important;content:none!important}.oj-list,.discussion-post-list,.conversation-list{border-top-color:var(--classic-line-soft)}.oj-card,.discussion-card,.conversation-card{margin:0!important;border-bottom-color:var(--classic-line-soft)!important;background:transparent!important;box-shadow:none!important}.oj-card:hover,.discussion-card:hover,.conversation-card:hover{background:var(--ss-hover-layer)!important}.oj-card-content{width:100%}.oj-filters,.discussion-toolbar,.leaderboard-filters,.oj-tag-filter,.oj-home-toolbar{border-bottom-color:var(--classic-line-soft)!important}.oj-filters{gap:14px;padding:0 0 22px!important}.oj-tag-filter{padding-bottom:22px}.auth-input,.auth-input-like,.discussion-search input,.pagination-input,.tag-selector-input,textarea,input[type=text],input[type=password],.custom-select-trigger,.tag-selector-btn{background:var(--ss-hover-layer)!important;border-color:var(--ss-color-border)!important}button.primary{background:var(--ss-color-border-strong)!important;border-color:var(--ss-color-border-strong)!important}button.ghost,.sort-btn,.filter-tab,.pagination-btn,.pagination-number,.pagination-go{background:transparent!important;border-color:var(--ss-color-border)!important}button.ghost:hover,.sort-btn:hover,.sort-btn.active,.filter-tab:hover,.filter-tab.active{background:var(--ss-hover-layer)!important}.oj-pass-rate-bar{height:4px;background:var(--ss-color-border)!important}.oj-pass-rate-fill{box-shadow:none!important}.oj-code-label,.oj-badge,.oj-tag,.oj-tag-small{text-shadow:none}.discussion-toolbar{padding:0 0 22px!important}.discussion-card-stats .stat-item{background:transparent!important}.section:not(.section-premium),.discussion-list-page,.message-list-page,.chat-page,.admin-page{padding-top:24px!important}@media(max-width:900px){.main,.main.home{padding:18px 16px 32px}.hero-minimal{padding-top:44px!important;padding-bottom:40px!important}.hero-left-minimal h1{font-size:54px!important}}.page-intro{display:grid;gap:8px;padding:8px 0 28px;border-bottom:1px solid var(--classic-line)}.page-kicker{color:var(--ss-accent-70);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.page-intro h2{margin:0;font-size:clamp(36px,8vw,72px);line-height:1;letter-spacing:0}.page-intro p{margin:0;color:var(--ss-color-text);line-height:1.7}.oj-filters{padding-top:24px!important}.discussion-post-list{border-top:0!important}.discussion-toolbar{margin-bottom:18px}.leaderboard-row.top-1,.leaderboard-row.top-1:hover,.leaderboard-row.top-2,.leaderboard-row.top-2:hover,.leaderboard-row.top-3,.leaderboard-row.top-3:hover,.leaderboard-row.current-user{background:transparent!important}.leaderboard-table{border-top:1px solid var(--classic-line)!important}.leaderboard-table td,.leaderboard-table th{border-color:var(--classic-line-soft)!important}.auth-shell{background:none}.starfield.auth-starfield{opacity:.045!important;filter:grayscale(1) brightness(.7)!important}.auth-panel{width:min(480px,92vw)!important;padding:30px 0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.auth-tabs{border:1px solid var(--classic-line)!important;background:transparent!important}.auth-form{gap:18px}@media(max-width:900px){.oj-hero-copy h2{font-size:34px!important;line-height:1.12}.oj-hero-aside{padding-left:0}.page-intro{padding-top:4px;padding-bottom:22px}}.mobile-tabbar{display:none}@media(max-width:900px){.mobile-tabbar{position:fixed;left:10px;right:10px;bottom:10px;z-index:1002;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom));border:1px solid var(--ss-color-border);border-radius:18px;background:var(--ss-bg-panel-solid);backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%)}.mobile-tabbar button{min-width:0;min-height:48px;display:grid;place-items:center;gap:2px;padding:5px 2px;border:1px solid transparent;border-radius:13px;background:transparent;color:var(--ss-color-text);font-size:11px;font-weight:600}.mobile-tabbar button.active{color:var(--ss-color-text);background:var(--ss-hover-layer);border-color:var(--ss-color-border)}.mobile-tabbar button:hover{transform:none}.mobile-tabbar-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center}.mobile-tabbar-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.main,.main.home{padding-bottom:calc(92px + env(safe-area-inset-bottom))}}:root{--final-bg: var(--ss-color-bg);--final-surface: var(--ss-bg-code-68);--final-surface-strong: var(--ss-bg-code-84);--final-surface-soft: var(--ss-color-border);--final-hover: var(--ss-hover-layer);--final-border: var(--ss-color-border);--final-border-strong: var(--ss-color-border);--final-text: var(--ss-color-text);--final-muted: var(--ss-accent-66);--final-radius: 18px;--final-radius-lg: 24px}body{background:var(--ss-color-bg)}.starfield:not(.auth-starfield){opacity:.28!important;filter:saturate(.75) brightness(.82)!important}.main,.main.home{max-width:1280px;padding-top:28px}.topbar{background:var(--ss-bg-panel-solid)!important;border-bottom:0!important}.sidebar{background:var(--ss-bg-panel-solid)!important;border-right:0!important}.page-intro,.hero-minimal,.oj-hero-premium{border-bottom:0!important}.hero-minimal,.oj-hero-premium{background:transparent!important}.hero-summary,.home-command-grid,.oj-summary-grid,.oj-home-content,.oj-home-toolbar,.oj-list,.discussion-post-list,.conversation-list,.leaderboard-table{border:0!important}.hero-summary{gap:12px!important;background:transparent!important}.hero-summary-row,.hero-summary-row+.hero-summary-row,.oj-summary-card,.home-command-card{border:0!important;border-radius:var(--final-radius)!important;background:var(--final-surface)!important}.hero-summary-row{padding:18px!important}.home-command-grid,.oj-summary-grid,.oj-list,.discussion-post-list,.conversation-list,.oj-recommendations,.oj-hot-problems,.oj-recent-ac-list,.problem-plan-list{gap:12px!important}.home-command-card{min-height:170px}.home-command-card:hover,.oj-card:hover,.discussion-card:hover,.conversation-card:hover,.oj-recommendation-card:hover,.oj-hot-problem-item:hover,.oj-recent-ac-item:hover,.problem-plan-item:hover,.module-card:hover,.stat-card:hover,.filter-tab:hover,.filter-tab.active,.sort-btn:hover,.sort-btn.active{background:var(--final-hover)!important;border-color:var(--final-border-strong)!important;transform:none!important;box-shadow:none!important}.oj-filters,.discussion-toolbar,.leaderboard-filters,.oj-quick-jump,.oj-weekly-chart,.oj-home-section-premium,.profile-card,.summary-card,.heatmap-container,.admin-hero,.rating-chart,.auth-panel,.confirm-panel,.new-chat-modal{border:0!important;border-radius:var(--final-radius-lg)!important;background:var(--final-surface)!important;box-shadow:none!important;backdrop-filter:blur(10px) saturate(115%)!important;-webkit-backdrop-filter:blur(10px) saturate(115%)!important}.oj-filters,.discussion-toolbar,.leaderboard-filters{padding:16px!important;margin-bottom:18px}.oj-tag-filter{border:0!important;padding:0!important;margin:0 0 18px}.oj-card,.discussion-card,.conversation-card,.oj-recommendation-card,.oj-hot-problem-item,.oj-recent-ac-item,.problem-plan-item,.testcase-item,.timeline-item,.module-card,.info-panel{border:0!important;border-radius:var(--final-radius)!important;background:var(--final-surface)!important;box-shadow:none!important}.oj-card,.discussion-card,.conversation-card{padding:18px!important}.discussion-list-page,.section:not(.section-premium),.message-list-page,.chat-page,.admin-page{padding-inline:clamp(16px,4vw,48px)!important}.auth-input,.auth-input-like,.discussion-search input,.pagination-input,.tag-selector-input,.custom-select-trigger,.tag-selector-btn,textarea,input[type=text],input[type=password]{min-height:40px;border:1px solid var(--final-border)!important;border-radius:10px!important;background:var(--ss-bg-input)!important}button.primary,button.ghost,.ide-btn,.pagination-btn,.pagination-number,.pagination-go,.discussion-pagination button,.filter-tab,.sort-btn,.topbar-message-btn,.add-to-plan-btn,.oj-sidebar-button{border-radius:14px!important;box-shadow:none!important}button.ghost,.filter-tab,.sort-btn,.pagination-btn,.pagination-number,.pagination-go,.oj-sidebar-button{background:var(--ss-hover-layer)!important;border:1px solid var(--final-border)!important}.oj-badge,.difficulty-tag,.rank-change,.oj-hero-badge,.oj-hero-stack span,.discussion-card-problem{border:0!important;border-radius:999px!important;background:var(--ss-hover-layer)!important}.oj-tag,.oj-tag-small{opacity:.82}.leaderboard-table,.admin-table{background:var(--final-surface)!important;border-radius:var(--final-radius-lg)!important;overflow:hidden}.leaderboard-table th,.leaderboard-table td,.admin-table th,.admin-table td{border-color:var(--ss-color-text-subtle)!important}.leaderboard-row.top-1,.leaderboard-row.top-2,.leaderboard-row.top-3,.leaderboard-row.current-user{background:transparent!important}.oj-detail{max-width:1180px!important}.oj-detail-title-wrapper{border:0!important;background:transparent!important;box-shadow:none!important;margin-bottom:16px}.oj-detail-content,.oj-sidebar-section{border:0!important;border-radius:var(--final-radius-lg)!important;background:var(--final-surface)!important;box-shadow:none!important;overflow:hidden}.oj-detail-main{gap:18px}.oj-section{padding:24px!important;border:0!important}.oj-section+.oj-section{padding-top:4px!important}.oj-sample pre,.submission-code,.ide-run-output pre{border:0!important;border-radius:14px!important;background:var(--ss-hover-layer)!important}.oj-detail-ide{right:18px;top:calc(var(--topbar-offset, 60px) + 18px);height:calc(100vh - var(--topbar-offset, 60px) - 36px);padding:14px;border-radius:var(--final-radius-lg);background:var(--ss-bg-panel-opaque);box-shadow:0 28px 80px var(--ss-bg-code-38);backdrop-filter:blur(16px) saturate(125%);-webkit-backdrop-filter:blur(16px) saturate(125%)}.oj-detail-ide:before{content:"提交代码";display:block;margin:2px 4px 12px;color:var(--final-text);font-size:18px;font-weight:700;letter-spacing:0}.ide-panel,.ide-panel.side{width:100%;height:calc(100% - 36px);gap:12px;padding:0;background:transparent!important}.ide-header,.ide-editor,.ide-run,.ide-run-panel,.ide-editor-wrap{border:0!important;border-radius:var(--final-radius)!important;background:var(--final-surface-strong)!important;box-shadow:none!important}.ide-header{padding:12px 14px!important}.ide-editor{min-height:320px}.ide-run{padding:14px!important}.ide-run-input,.ide-run-output{border:0!important;border-radius:14px!important;background:var(--ss-hover-layer)!important;box-shadow:none!important}.ide-editor .monaco-editor,.ide-editor .monaco-editor .overflow-guard,.ide-editor .monaco-editor .margin,.ide-editor .monaco-editor .monaco-scrollable-element,.ide-editor .monaco-editor .view-lines,.ide-editor .monaco-editor .view-line,.ide-editor .monaco-editor .margin-view-overlays,.ide-editor .monaco-editor .monaco-editor-background,.ide-editor .monaco-editor .inputarea,.ide-editor .monaco-editor .lines-content,.ide-editor .monaco-editor .view-overlays{background:var(--ss-color-bg)!important}.ide-editor .monaco-editor .view-overlays .current-line{background:var(--ss-hover-layer)!important;box-shadow:none!important}.ide-editor .monaco-editor .cursor{box-shadow:none!important}.mobile-tabbar{border:0!important;background:var(--ss-bg-code-88)!important;box-shadow:0 16px 40px var(--ss-bg-code-28)}@media(max-width:900px){.main,.main.home{padding:18px 16px calc(96px + env(safe-area-inset-bottom))}.oj-detail{width:100%!important}.oj-detail-main{grid-template-columns:1fr!important}.oj-detail-ide{position:static;width:100%;height:auto;max-height:none;margin-top:16px;padding:12px}.ide-panel,.ide-panel.side{height:auto;min-height:620px}.ide-editor{min-height:300px}.oj-detail-content,.oj-sidebar-section,.oj-card,.discussion-card,.conversation-card,.oj-filters,.discussion-toolbar{border-radius:18px!important}}html,body,#root{width:100%;min-height:100%}.app{min-height:100vh;box-sizing:border-box}.app-body{flex:1 0 auto;min-width:0;width:100%}.topbar{position:fixed!important;top:0;left:0;right:0;z-index:1200}.sidebar{position:fixed!important;left:0;top:var(--topbar-offset, 60px);height:calc(100vh - var(--topbar-offset, 60px));z-index:1100}.content{flex:1 0 auto;min-width:0;overflow-x:clip}.main{flex-shrink:0}.main>*{flex-shrink:0}.auth-shell{min-height:100vh}@media(max-width:900px){.sidebar{display:none}.mobile-tabbar{position:fixed!important}}:root[data-theme=light] .starfield{opacity:.35}:root[data-theme=light] .topbar{background:var(--ss-color-border-strong)}:root[data-theme=light] .auth-shell{background:var(--ss-color-bg)}.theme-toggle-btn{font-size:15px;display:grid;place-items:center}.theme-toggle-btn span{line-height:1}.theme-toggle{position:relative}.theme-panel{position:absolute;top:calc(100% + 10px);right:0;width:240px;border:1px solid var(--ss-color-border);border-radius:var(--ss-radius-lg);background:var(--ss-bg-panel-solid);box-shadow:0 20px 60px var(--ss-bg-code-40);padding:12px 14px;z-index:1500;display:flex;flex-direction:column;gap:12px}.theme-panel-section{display:flex;flex-direction:column;gap:8px}.theme-panel-title{color:var(--ss-color-text-subtle);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.theme-mode-row{display:flex;gap:6px}.theme-mode-row button{flex:1;border:1px solid var(--ss-color-border);border-radius:var(--ss-radius-md);background:transparent;color:var(--ss-color-text-muted);font-size:12px;padding:6px 4px;cursor:pointer}.theme-mode-row button.active{border-color:var(--ss-color-accent);color:var(--ss-color-text);background:var(--ss-accent-14)}.theme-accent-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.theme-accent-swatch{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.theme-accent-swatch.active{border-color:var(--ss-color-text);box-shadow:0 0 0 2px var(--ss-bg-panel-solid),0 0 0 4px var(--ss-color-accent)}.theme-accent-hint{color:var(--ss-color-text-subtle);font-size:10px;width:100%}@media(max-width:900px){.topbar-nav{overflow-x:auto;scrollbar-width:none}.topbar-nav::-webkit-scrollbar{display:none}.topbar-actions .topbar-message-btn,.topbar-actions .theme-toggle-btn{width:36px;height:36px;padding:6px;flex-shrink:0}.topbar-actions{gap:4px}}@media(max-width:620px){.topbar-title{font-size:16px}.topbar-badge{display:none}}.oj-loading,.loading-state{padding:40px 16px;text-align:center;color:var(--ss-color-text-subtle);font-size:13px}.oj-error{margin:10px 0;padding:9px 12px;border:1px solid var(--ss-danger-35);border-radius:var(--ss-radius-md);background:var(--ss-danger-8);color:var(--ss-color-danger);font-size:13px}:root[data-theme=light]{--final-bg: var(--ss-color-bg-soft);--hover-calm: var(--ss-color-border);--hover-calm-border: var(--ss-color-border-strong);--final-surface: var(--ss-bg-panel);--final-surface-strong: var(--ss-bg-panel-solid);--final-surface-soft: var(--ss-color-border);--final-hover: var(--ss-hover-layer);--final-border: var(--ss-color-border);--final-border-strong: var(--ss-color-border-strong);--final-text: var(--ss-color-text);--final-muted: var(--ss-color-text-muted);--final-radius: 18px;--final-radius-lg: 24px}:root[data-theme=light] body{background:var(--ss-color-bg-soft)!important}:root[data-theme=light] .topbar,:root[data-theme=light] .sidebar{background:var(--ss-bg-panel-solid)!important}:root[data-theme=light] .section:not(.section-premium),:root[data-theme=light] .section-premium,:root[data-theme=light] .hero-premium,:root[data-theme=light] .hero-minimal,:root[data-theme=light] .oj-hero-premium,:root[data-theme=light] .hero-signal-item,:root[data-theme=light] .hero-orbit-card,:root[data-theme=light] .discussion-list-page,:root[data-theme=light] .discussion-detail-page,:root[data-theme=light] .discussion-create-page,:root[data-theme=light] .message-list-page,:root[data-theme=light] .chat-page,:root[data-theme=light] .admin-page,:root[data-theme=light] .user-menu-panel{background:var(--ss-bg-panel)!important;border-color:var(--ss-color-border)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}:root[data-theme=light] button.primary{background:var(--ss-color-accent)!important;border-color:var(--ss-color-accent)!important;color:var(--ss-color-text)!important}:root[data-theme=light] button.primary:hover{background:var(--ss-color-accent-strong)!important;color:var(--ss-color-text)!important}:root[data-theme=light] button.ghost,:root[data-theme=light] .oj-card,:root[data-theme=light] .profile-card,:root[data-theme=light] .heatmap-container,:root[data-theme=light] .leaderboard-table,:root[data-theme=light] .user-menu-item,:root[data-theme=light] .lang-switch-item,:root[data-theme=light] .problem-option,:root[data-theme=light] .tag-selector-item,:root[data-theme=light] .sort-btn,:root[data-theme=light] .filter-tab,:root[data-theme=light] .topbar-message-btn,:root[data-theme=light] .ide-btn-secondary,:root[data-theme=light] .oj-hero-stack span{color:var(--ss-color-text)!important}:root[data-theme=light] .hero-summary-label,:root[data-theme=light] .oj-summary-label,:root[data-theme=light] .stat-label,:root[data-theme=light] .oj-hero-kicker,:root[data-theme=light] .hero-orbit-kicker,:root[data-theme=light] .eyebrow,:root[data-theme=light] .oj-code-label,:root[data-theme=light] .oj-badge,:root[data-theme=light] .oj-tag,:root[data-theme=light] .oj-tag-small,:root[data-theme=light] .discussion-card-problem,:root[data-theme=light] .leaderboard-period,:root[data-theme=light] .profile-rank-badge,:root[data-theme=light] .hero-orbit-status{color:var(--ss-color-text-muted)!important}:root[data-theme=light] .user-menu-item.danger,:root[data-theme=light] .auth-error,:root[data-theme=light] .submit-result.bad,:root[data-theme=light] .status-banned,:root[data-theme=light] button.danger,:root[data-theme=light] .oj-error{color:var(--ss-color-danger)!important}:root[data-theme=light] .auth-success,:root[data-theme=light] .submit-result.good{color:var(--ss-color-success)!important}:root[data-theme=light] .status-normal{color:var(--ss-color-accent)!important}:root[data-theme=light] .oj-problem-richtext code{color:var(--ss-color-text)}:root[data-theme=light] .oj-detail-ide{background:var(--ss-bg-panel)!important;box-shadow:0 28px 80px var(--ss-color-border)}:root[data-theme=light] .mobile-tabbar{background:var(--ss-bg-panel-solid)!important}:root[data-theme=light] .oj-problem-richtext,:root[data-theme=light] .custom-select-option{color:var(--ss-color-text)!important}:root[data-theme=light] .judge-result-text.wrong,:root[data-theme=light] .ide-run-status.bad,:root[data-theme=light] .discussion-error,:root[data-theme=light] .delete-btn:hover,:root[data-theme=light] .remove-tag-btn:hover,:root[data-theme=light] .like-btn:hover,:root[data-theme=light] .message-delete:hover,:root[data-theme=light] .problem-plan-remove:hover,:root[data-theme=light] .rank-change.down,:root[data-theme=light] .difficulty-label.entry,:root[data-theme=light] .difficulty-label.hard,:root[data-theme=light] .problem-plan-item-meta .difficulty-tag.提高,:root[data-theme=light] .problem-plan-item-meta .difficulty-tag.提高\+,:root[data-theme=light] .chat-invite-error,:root[data-theme=light] .chat-member-remove,:root[data-theme=light] .danger-text,:root[data-theme=light] .chat-bound-problem button:hover,:root[data-theme=light] .chat-float-leave,:root[data-theme=light] .admin-report-type,:root[data-theme=light] .discussion-detail-v2 .report-btn:hover,:root[data-theme=light] .discussion-detail-v2 .comment-header .report-btn:hover,:root[data-theme=light] .user-block-btn.active{color:var(--ss-color-danger)!important}:root[data-theme=light] .difficulty-label.popular,:root[data-theme=light] .difficulty-label.popular-minus,:root[data-theme=light] .difficulty-label.popular-plus,:root[data-theme=light] .difficulty-label.medium,:root[data-theme=light] .ide-run-status.warn,:root[data-theme=light] .rank-change.new,:root[data-theme=light] .problem-plan-item-meta .difficulty-tag.普及,:root[data-theme=light] .problem-plan-item-meta .difficulty-tag.普及\+,:root[data-theme=light] .info-panel-callout-label,:root[data-theme=light] .plaza-problem-filter,:root[data-theme=light] .plaza-feed-chip,:root[data-theme=light] .plaza-feed-chip.active,:root[data-theme=light] .activity-my-rank strong,:root[data-theme=light] .admin-report-type.comment,:root[data-theme=light] .discussion-detail-v2 .bookmark-btn.active{color:var(--ss-color-warning)!important}:root[data-theme=light] .difficulty-label.improve,:root[data-theme=light] .difficulty-label.improve-plus,:root[data-theme=light] .difficulty-label.easy,:root[data-theme=light] .problem-plan-item-meta .difficulty-tag.入门,:root[data-theme=light] .problem-plan-item-meta .difficulty-tag.普及-{color:var(--ss-color-success)!important}:root[data-theme=light] .difficulty-label.provincial{color:var(--ss-color-accent)!important}:root[data-theme=light] .topbar-badge{color:var(--ss-color-accent)!important}:root[data-theme=light] .custom-select-option-desc,:root[data-theme=light] .home-command-card p{color:var(--ss-color-text-muted)!important}:root[data-theme=light] .ide-run-status.runtime,:root[data-theme=light] .file-badge.out{color:var(--ss-color-accent)!important}:root[data-theme=light] .home-plain-actions button:hover{color:var(--ss-color-accent)!important}:root[data-theme=light] .chat-inline-code{color:var(--ss-color-text)!important}:root[data-theme=light] .discussion-avatar.fallback{color:var(--ss-color-text)!important}:root[data-theme=dark] .delete-btn:hover,:root[data-theme=dark] .remove-tag-btn:hover,:root[data-theme=dark] .message-delete:hover,:root[data-theme=dark] .problem-plan-remove:hover,:root[data-theme=dark] .chat-bound-problem button:hover,:root[data-theme=dark] .discussion-detail-v2 .report-btn:hover,:root[data-theme=dark] .discussion-detail-v2 .comment-header .report-btn:hover,:root[data-theme=dark] .user-block-btn.active,:root[data-theme=dark] .chat-invite-error,:root[data-theme=dark] .chat-member-remove,:root[data-theme=dark] .danger-text,:root[data-theme=dark] .chat-float-leave,:root[data-theme=dark] .admin-report-type,:root[data-theme=dark] .judge-result-text.wrong,:root[data-theme=dark] .ide-run-status.bad{color:var(--ss-color-danger)!important}:root[data-theme=dark] .submit-result.bad,:root[data-theme=dark] .status-banned,:root[data-theme=dark] .oj-error,:root[data-theme=dark] .auth-error,:root[data-theme=dark] .user-menu-item.danger,:root[data-theme=dark] button.danger{color:var(--ss-color-danger)!important}:root[data-theme=light] .content:after{opacity:0}:root[data-theme=light] .form-success,:root[data-theme=light] .rank-change.up,:root[data-theme=light] .score-perfect{color:var(--ss-color-success)!important}:root[data-theme=light] .ide-error,:root[data-theme=light] .score-partial{color:var(--ss-color-danger)!important}.profile-identity-card .profile-side-note{margin-top:6px}:root[data-theme=light] .oj-badge.入门{color:var(--ss-color-danger)!important}:root[data-theme=light] .oj-badge.普及-{color:var(--ss-color-warning)!important}:root[data-theme=light] .oj-badge.普及,:root[data-theme=light] .oj-badge.提高-{color:var(--ss-color-warning)!important}:root[data-theme=light] .oj-badge.提高{color:var(--ss-color-success)!important}:root[data-theme=light] .oj-badge.省选{color:var(--ss-color-accent)!important}.ui-button.primary,button.primary{background:var(--ss-color-accent)!important;border-color:var(--ss-color-accent)!important;color:var(--ss-color-bg)!important}.ui-button.primary:hover:not(:disabled),button.primary:hover{background:var(--ss-color-accent-strong)!important;border-color:var(--ss-color-accent-strong)!important;color:var(--ss-color-bg)!important;filter:none!important}:root[data-theme=light] .ui-button.primary,:root[data-theme=light] button.primary{color:var(--ss-color-bg)!important}:root[data-theme=light] .ui-button.primary:hover:not(:disabled),:root[data-theme=light] button.primary:hover{color:var(--ss-color-bg)!important}.auth-input,.auth-input-like,textarea,input[type=text],input[type=password],input[type=search]{min-height:44px!important;padding:10px 14px!important;font-size:14px!important}.rich-editor-content,.rich-editor-preview{min-height:300px!important}.topbar-title-art{display:inline-flex;align-items:baseline;gap:2px;font-family:var(--ss-font-display);font-weight:800;letter-spacing:.08em}.topbar-title-art .tt-accent{color:var(--ss-color-accent)}.topbar-title-art .tt-rest{color:var(--ss-color-text)}.topbar-badge{font-size:11px;letter-spacing:.2em;color:var(--accent);border:1px solid var(--ss-accent-border);padding:4px 8px;border-radius:12px}.topbar-actions{display:flex;gap:12px;align-items:center;min-height:40px;max-height:40px;flex-shrink:0;position:relative}.lang-switch{position:relative;display:inline-flex;align-items:center}.lang-switch-trigger{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;min-width:132px;height:36px;padding:0 12px;border-radius:12px;border:1px solid var(--ss-accent-border-soft);background:var(--ss-bg-code-78);color:var(--text);box-shadow:inset 0 1px 0 var(--ss-hover-layer);white-space:nowrap}button.lang-switch-trigger:hover{transform:none;filter:none;border-color:var(--ss-accent-border);background:var(--ss-bg-code-92)}.lang-switch-flag{font-size:15px;line-height:1;flex-shrink:0}.lang-switch-current{font-size:12px;font-weight:700;letter-spacing:.06em;white-space:nowrap}.lang-switch-chevron{width:14px;height:14px;margin-left:auto;stroke:currentColor;stroke-width:1.8;fill:none;opacity:.9;transition:transform .18s ease}.lang-switch.open .lang-switch-chevron{transform:rotate(180deg)}.lang-switch-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;padding:6px;border-radius:12px;border:1px solid var(--ss-accent-border-soft);background:var(--ss-bg-code-96);box-shadow:0 18px 36px var(--ss-bg-code-45);z-index:30}.lang-switch-item{width:100%;display:flex;align-items:center;gap:10px;padding:9px 10px;border:none;border-radius:9px;background:transparent;color:var(--text);text-align:left}button.lang-switch-item:hover{transform:none;filter:none;background:var(--ss-accent-bg)}.lang-switch-item.active{background:var(--ss-accent-bg-strong)}.lang-switch-item-label{flex:1 1 auto;min-width:0;font-size:12px;font-weight:600;letter-spacing:.03em;white-space:nowrap}.lang-switch-check{margin-left:auto;font-size:14px;line-height:1}.logout-notice{padding:6px 12px;border-radius:12px;background:var(--ss-text-70);border:1px solid var(--ss-success-45);color:var(--ss-color-success);font-size:12px;letter-spacing:.1em}.language-switch-overlay{position:absolute;inset:0;z-index:22;display:grid;place-items:center;padding:24px;background:var(--ss-bg-code-78);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.language-switch-overlay-card{display:inline-flex;align-items:center;gap:12px;padding:12px 16px;border-radius:14px;border:1px solid var(--ss-accent-border-soft);background:var(--ss-bg-code-92);color:var(--text);box-shadow:0 18px 40px var(--ss-bg-code-30);font-size:13px;letter-spacing:.04em}.language-switch-spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--ss-accent-border-soft);border-top-color:var(--accent);animation:language-switch-spin .8s linear infinite;flex-shrink:0}@keyframes language-switch-spin{to{transform:rotate(360deg)}}.topbar-message-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;flex-shrink:0}.topbar-message-btn svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;transition:stroke .2s ease}.topbar-message-btn{position:relative;border-radius:50%;cursor:pointer}.topbar-message-btn:hover svg{stroke:var(--accent)}.topbar-message-dot{position:absolute;top:6px;right:6px;width:9px;height:9px;border:2px solid var(--ss-bg-panel-solid);border-radius:50%;background:var(--ss-color-danger);box-shadow:0 0 6px var(--ss-danger-50);animation:dot-pulse 2s ease-in-out infinite}@keyframes dot-pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton{position:relative;overflow:hidden;background:var(--ss-accent-bg);border-radius:6px}.skeleton:after{content:"";position:absolute;inset:0;background:none;animation:shimmer 1.5s infinite;will-change:transform}.skeleton-line{height:16px;margin-bottom:12px}.skeleton-title{height:24px;width:60%;margin-bottom:16px}.skeleton-card{height:80px;margin-bottom:12px;border-radius:10px}.skeleton-row{height:44px;margin-bottom:8px;border-radius:8px}.skeleton-avatar{width:48px;height:48px;border-radius:50%}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.sse-progress{padding:16px;background:var(--ss-bg-panel);border:1px solid var(--border);border-radius:12px;animation:sse-fade-in .25s ease}@keyframes sse-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.sse-progress-bar{height:6px;background:var(--ss-accent-bg-strong);border-radius:3px;overflow:hidden;margin-bottom:10px}.sse-progress-fill{height:100%;background:var(--ss-color-accent);border-radius:3px;transition:width .3s}.sse-progress-text{font-size:13px;color:var(--muted);margin-bottom:10px}.sse-testcase-grid{display:flex;gap:6px;flex-wrap:wrap}.sse-tc-dot{width:18px;height:18px;border-radius:4px;display:inline-block}.sse-tc-dot.ac{background:var(--ss-color-success)}.sse-tc-dot.tle{background:var(--ss-color-warning)}.sse-tc-dot.err{background:var(--ss-color-danger)}.sse-tc-dot.pending{background:var(--ss-accent-bg-strong)}.oj-pass-rate{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.oj-pass-rate-bar{width:60px;height:4px;background:var(--ss-accent-bg-strong);border-radius:2px;overflow:hidden}.oj-pass-rate-fill{height:100%;background:var(--ss-color-success);border-radius:2px}.rating-chart{margin-top:20px;padding:16px;background:var(--ss-bg-panel);border:1px solid var(--border);border-radius:12px}.rating-chart-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:12px}.rating-chart svg{width:100%;display:block}.rating-chart-tooltip{position:absolute;background:var(--ss-bg-panel-solid);border:1px solid var(--border);border-radius:6px;padding:4px 8px;font-size:11px;color:var(--text);pointer-events:none;white-space:nowrap;z-index:10}.chat-hub{display:flex;flex-direction:column;gap:10px;height:calc(100vh - var(--topbar-offset) - 76px);min-height:420px}.chat-hub:has(.message-list-page){height:auto;min-height:calc(100vh - var(--topbar-offset) - 76px)}.chat-topnav{display:flex;align-items:center;gap:4px;padding:8px 10px;border:1px solid var(--ss-color-border);border-radius:var(--ss-radius-lg);background:var(--ss-bg-panel);overflow-x:auto;flex-shrink:0}.chat-nav-item{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--ss-radius-md);border:1px solid transparent;color:var(--ss-color-text-muted);text-decoration:none;font-size:13px;white-space:nowrap;cursor:pointer;transition:background-color var(--ss-motion-normal),border-color var(--ss-motion-normal)}.chat-nav-item:hover{background:var(--ss-hover-layer)}.chat-nav-item.active{background:var(--ss-accent-bg);border-color:var(--ss-accent-border-soft);color:var(--ss-color-text)}.chat-nav-sep{width:1px;height:18px;background:var(--ss-color-border);margin:0 4px;flex-shrink:0}.chat-nav-unread{min-width:17px;height:17px;padding:0 5px;border-radius:999px;background:var(--ss-color-accent);color:var(--ss-color-bg);font-size:10px;font-weight:800;display:inline-grid;place-items:center}.chat-rail{display:flex;flex-direction:column;min-height:0;border:1px solid var(--ss-color-border);border-radius:var(--ss-radius-lg);background:var(--ss-bg-panel);overflow:hidden}.chat-rail-nav{display:flex;flex-direction:column;gap:2px;padding:10px;overflow-y:auto}.chat-rail-section{display:flex;flex-direction:column;gap:2px;margin-top:10px;padding-top:10px;border-top:1px solid var(--ss-hover-layer)}.chat-rail-section-head{display:flex;align-items:center;justify-content:space-between;padding:2px 6px 4px}.chat-rail-section-title{color:var(--ss-color-text-subtle);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.chat-rail-add{border:none;background:transparent;color:var(--ss-color-text-subtle);font-size:15px;cursor:pointer;padding:0 6px;line-height:1}.chat-rail-add:hover{color:var(--ss-color-accent)}.chat-rail-item{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:var(--ss-radius-md);border:1px solid transparent;color:var(--ss-color-text-muted);text-decoration:none;font-size:13px;cursor:pointer;transition:background-color var(--ss-motion-normal),border-color var(--ss-motion-normal)}.chat-rail-item:hover{background:var(--ss-hover-layer)}.chat-rail-item.active{background:var(--ss-accent-bg);border-color:var(--ss-accent-border-soft);color:var(--ss-color-text)}.chat-rail-icon{width:20px;text-align:center;flex-shrink:0;font-size:14px}.chat-rail-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-rail-sub{color:var(--ss-color-text-subtle);font-size:11px;margin-left:auto}.chat-rail-empty{padding:6px 10px;color:var(--ss-color-text-subtle);font-size:12px}.chat-rail-unread{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--ss-color-accent);color:var(--ss-color-bg);font-size:11px;font-weight:800;display:grid;place-items:center}.chat-rail-avatar{width:24px;height:24px;border-radius:50%;overflow:hidden;background:var(--ss-color-border);display:grid;place-items:center;flex-shrink:0;font-size:12px;font-weight:700;color:var(--ss-color-text)}.chat-rail-avatar img{width:100%;height:100%;object-fit:cover}.chat-rail-dm{display:flex;flex-direction:column;gap:1px}.chat-rail-dm strong{color:var(--ss-color-text);font-size:13px;font-weight:600}.chat-rail-dm em{color:var(--ss-color-text-subtle);font-size:11px;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-pane{min-width:0;min-height:0;display:flex}.chat-scope-pane{flex:1;min-width:0;display:flex;flex-direction:column;border:1px solid var(--ss-color-border);border-radius:var(--ss-radius-lg);background:var(--ss-bg-panel);overflow:hidden;position:relative}.chat-pane-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--ss-hover-layer)}.chat-pane-title{display:flex;align-items:center;gap:10px;min-width:0}.chat-pane-icon{width:34px;height:34px;border-radius:var(--ss-radius-md);background:var(--ss-accent-bg);border:1px solid var(--ss-accent-border-soft);display:grid;place-items:center;font-size:16px;flex-shrink:0}.chat-pane-title h2{margin:0;color:var(--ss-color-text);font-size:16px}.chat-pane-title p{margin:2px 0 0;color:var(--ss-color-text-subtle);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:480px}.chat-pane-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.chat-disband-confirm{display:inline-flex;align-items:center;gap:6px;color:var(--ss-color-text-muted);font-size:12px}.chat-thread{flex:1;min-height:0;display:flex;flex-direction:column}.chat-messages{flex:1;min-height:0;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.chat-loading,.chat-empty{padding:40px 16px;text-align:center;color:var(--ss-color-text-subtle);font-size:13px}.chat-load-more{align-self:center;border:1px solid var(--ss-color-border);border-radius:999px;background:transparent;color:var(--ss-color-text-muted);font-size:12px;padding:6px 14px;cursor:pointer}.chat-load-more:hover{border-color:var(--ss-accent-border);color:var(--ss-color-text)}.chat-message{display:flex;gap:10px;max-width:min(100%,720px)}.chat-message.mine{align-self:flex-end;flex-direction:row-reverse}.chat-message-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;background:var(--ss-color-border);display:grid;place-items:center;flex-shrink:0;font-size:13px;font-weight:700;color:var(--ss-color-text)}.chat-message-avatar img{width:100%;height:100%;object-fit:cover}.chat-message-body{min-width:0;display:flex;flex-direction:column;gap:3px}.chat-message.mine .chat-message-body{align-items:flex-end}.chat-message-head{display:flex;align-items:baseline;gap:8px}.chat-message.mine .chat-message-head{flex-direction:row-reverse}.chat-message-name{color:var(--ss-color-text);font-size:12px;font-weight:700}.chat-message-time{color:var(--ss-color-text-subtle);font-size:11px}.chat-content{display:flex;flex-direction:column;gap:6px;max-width:100%;min-width:0}.chat-text-line{margin:0;color:var(--ss-color-text);font-size:14px;line-height:1.65;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}.chat-text-line a{color:var(--ss-color-accent)}.chat-inline-code{padding:1px 5px;border-radius:5px;background:var(--ss-hover-layer);border:1px solid var(--ss-color-border);color:var(--ss-inline-code-text);font-family:var(--ss-font-mono);font-size:12.5px}.chat-codeblock{border:1px solid var(--ss-color-border);border-radius:var(--ss-radius-md);overflow:hidden;background:var(--ss-bg-code);max-width:100%}.chat-codeblock-head{display:flex;align-items:center;justify-content:space-between;padding:5px 10px;background:var(--ss-hover-layer);border-bottom:1px solid var(--ss-hover-layer)}.chat-codeblock-head span{color:var(--ss-color-text-subtle);font-family:var(--ss-font-mono);font-size:11px}.chat-codeblock-head button{border:none;background:transparent;color:var(--ss-color-text-muted);font-size:11px;cursor:pointer;padding:2px 6px;border-radius:4px}.chat-codeblock-head button:hover{color:var(--ss-color-text);background:var(--ss-hover-layer)}.chat-codeblock-body{margin:0;padding:10px 12px;overflow-x:auto}.chat-codeblock-body code{font-family:var(--ss-font-mono);font-size:12.5px;line-height:1.6}.chat-message-reactions{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:3px}.chat-message.mine .chat-message-reactions{justify-content:flex-end}.chat-reaction-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid var(--ss-color-border);border-radius:999px;background:var(--ss-hover-layer);cursor:pointer;font-size:13px}.chat-reaction-chip.mine{border-color:var(--ss-accent-border);background:var(--ss-accent-bg)}.chat-reaction-chip em{color:var(--ss-color-text-muted);font-size:11px;font-style:normal;font-weight:700}.chat-reaction-add{border:1px dashed var(--ss-color-border-strong);border-radius:999px;background:transparent;color:var(--ss-color-text-subtle);width:24px;height:24px;cursor:pointer;font-size:13px;display:grid;place-items:center}.chat-reaction-add:hover{color:var(--ss-color-text);border-color:var(--ss-accent-border)}.chat-emoji-bar{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--ss-color-border);border-radius:999px;background:var(--ss-bg-panel-solid)}.chat-emoji-bar button{border:none;background:transparent;font-size:16px;padding:2px 5px;border-radius:6px;cursor:pointer}.chat-emoji-bar button:hover{background:var(--ss-color-border)}.chat-emoji-bar.composer{border-radius:var(--ss-radius-md)}.chat-composer{border-top:1px solid var(--ss-hover-layer);padding:10px 14px;display:flex;flex-direction:column;gap:6px}.chat-composer-disabled{padding:14px;text-align:center;color:var(--ss-color-text-subtle);font-size:13px;border:1px dashed var(--ss-color-border);border-radius:var(--ss-radius-md)}.chat-composer-toolbar{display:flex;align-items:center;gap:6px;position:relative}.chat-tool-btn{border:1px solid var(--ss-color-border);border-radius:6px;background:transparent;color:var(--ss-color-text-muted);font-size:12px;padding:3px 9px;cursor:pointer}.chat-tool-btn:hover,.chat-tool-btn.active{color:var(--ss-color-text);border-color:var(--ss-accent-border)}.chat-composer-input-row{display:flex;align-items:flex-end;gap:8px}.chat-composer-input{flex:1;resize:none;border:1px solid var(--ss-color-border);border-radius:var(--ss-radius-md);background:var(--ss-bg-input);color:var(--ss-color-text);font:inherit;font-size:14px;line-height:1.5;padding:9px 12px;outline:none}.chat-composer-input:focus{border-color:var(--ss-accent-border)}.chat-send-btn{border:none;border-radius:var(--ss-radius-md);background:var(--ss-color-accent);color:var(--ss-color-bg);font-size:13px;font-weight:800;padding:9px 18px;cursor:pointer}.chat-send-btn:disabled{opacity:.45;cursor:not-allowed}.chat-members-panel{position:absolute;top:60px;right:12px;z-index:5;width:280px;max-height:calc(100% - 80px);overflow-y:auto;border:1px solid var(--ss-color-border);border-radius:var(--ss-radius-lg);background:var(--ss-bg-panel-solid);padding:12px;box-shadow:var(--ss-shadow-pop)}.chat-members-head{color:var(--ss-color-text);font-size:13px;font-weight:700;margin-bottom:8px}.chat-invite-row{display:flex;gap:6px;margin-bottom:6px}.chat-invite-row input{flex:1;min-width:0;border:1px solid var(--ss-color-border);border-radius:var(--ss-radius-md);background:var(--ss-bg-input);color:var(--ss-color-text);font-size:12px;padding:6px 9px;outline:none}.chat-invite-error{color:var(--ss-color-danger);font-size:12px;margin-bottom:6px}.chat-members-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.chat-member{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--ss-radius-md)}.chat-member:hover{background:var(--ss-hover-layer)}.chat-presence-dot{width:8px;height:8px;border-radius:50%;background:var(--ss-color-border-strong);flex-shrink:0}.chat-presence-dot.online{background:var(--ss-color-success);box-shadow:0 0 8px var(--ss-color-success)}.chat-member-avatar{width:26px;height:26px;border-radius:50%;overflow:hidden;background:var(--ss-color-border);display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--ss-color-text);flex-shrink:0}.chat-member-avatar img{width:100%;height:100%;object-fit:cover}.chat-member-name{flex:1;min-width:0;display:flex;flex-direction:column;color:var(--ss-color-text);font-size:13px}.chat-member-name em{color:var(--ss-color-text-subtle);font-size:11px;font-style:normal}.chat-member-role{color:var(--ss-color-accent);font-size:11px;font-weight:700}.chat-member-remove{border:none;background:transparent;color:var(--ss-color-danger);font-size:11px;cursor:pointer;padding:2px 5px;border-radius:4px}.chat-member-remove:hover{background:var(--ss-danger-bg)}.chat-room-locked{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px;text-align:center}.chat-room-locked-icon{font-size:40px}.chat-room-locked h2{margin:0;color:var(--ss-color-text);font-size:18px}.chat-room-locked p{margin:0;color:var(--ss-color-text-muted);font-size:13px;max-width:380px}.plaza-pane{overflow-y:auto}.plaza-pane .chat-pane-header{position:sticky;top:0;z-index:2;background:var(--ss-bg-panel-opaque)}.plaza-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;border-bottom:1px solid var(--ss-hover-layer);flex-wrap:wrap}.plaza-module-chips,.chat-module-chips{display:flex;flex-wrap:wrap;gap:6px}.plaza-module-chips button,.chat-module-chips button{border:1px solid var(--ss-color-border);border-radius:999px;background:transparent;color:var(--ss-color-text-muted);font-size:12px;padding:4px 11px;cursor:pointer}.plaza-module-chips button:hover,.chat-module-chips button:hover{color:var(--ss-color-text)}.plaza-module-chips button.active,.chat-module-chips button.active{border-color:var(--ss-accent-border);background:var(--ss-accent-bg-strong);color:var(--ss-color-text)}.plaza-sort{display:flex;gap:6px}.plaza-sort button{border:none;background:transparent;color:var(--ss-color-text-subtle);font-size:12px;cursor:pointer;padding:4px 8px;border-radius:6px}.plaza-sort button.active{color:var(--ss-color-text);background:var(--ss-hover-layer)}.plaza-feed{display:flex;flex-direction:column;gap:8px;padding:12px 16px 20px}.plaza-post{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border:1px solid var(--ss-color-border);border-radius:var(--ss-radius-md);background:var(--ss-hover-layer);color:inherit;text-align:left;cursor:pointer;transition:border-color var(--ss-motion-normal),background-color var(--ss-motion-normal)}.plaza-post:hover{border-color:var(--ss-accent-border-soft);background:var(--ss-hover-layer)}.plaza-post-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.plaza-module-badge{padding:1px 8px;border-radius:999px;border:1px solid var(--ss-accent-border-soft);color:var(--ss-color-text-subtle);font-size:11px}.plaza-post-time{color:var(--ss-color-text-subtle);font-size:11px}.plaza-post-head-right{display:flex;align-items:center;gap:8px}.plaza-pin-badge{padding:1px 7px;border:1px solid var(--ss-color-border);border-radius:999px;background:var(--ss-hover-layer);color:var(--ss-color-accent);font-size:11px;font-weight:700}.plaza-post-foot-right{display:flex;align-items:center;gap:10px}.plaza-pin-btn{padding:2px 8px;border:1px solid var(--ss-color-border);border-radius:var(--ss-radius-sm);background:transparent;color:var(--ss-color-text-muted);font-size:11px;cursor:pointer;transition:border-color var(--ss-motion-normal),color var(--ss-motion-normal)}.plaza-pin-btn:hover{border-color:var(--ss-color-accent);color:var(--ss-color-accent)}.plaza-post-title{color:var(--ss-color-text);font-size:15px;line-height:1.45}.plaza-post-problem{color:var(--ss-color-accent);font-size:12px}.plaza-post-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px}.plaza-post-author{display:flex;align-items:center;gap:6px;color:var(--ss-color-text-muted);font-size:12px}.plaza-post-author img{width:20px;height:20px;border-radius:50%;object-fit:cover}.plaza-post-author>span{width:20px;height:20px;border-radius:50%;background:var(--ss-color-border);display:grid;place-items:center;font-size:10px;font-weight:700}.plaza-post-metrics{display:flex;gap:10px}.plaza-post-metrics em{color:var(--ss-color-text-subtle);font-size:11px;font-style:normal}.chat-room-modal,.chat-post-modal{width:min(480px,calc(100vw - 40px))}.chat-modal-field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.chat-modal-field>span{color:var(--ss-color-text-muted);font-size:12px;font-weight:600}.chat-modal-field input,.chat-modal-field textarea{border:1px solid var(--ss-color-border);border-radius:var(--ss-radius-md);background:var(--ss-bg-input);color:var(--ss-color-text);font:inherit;font-size:13px;padding:8px 10px;outline:none;resize:vertical}.chat-modal-field input:focus,.chat-modal-field textarea:focus{border-color:var(--ss-accent-border)}.chat-room-type-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.chat-room-type-tabs button{display:flex;flex-direction:column;gap:2px;padding:9px 11px;border:1px solid var(--ss-color-border);border-radius:var(--ss-radius-md);background:transparent;color:var(--ss-color-text-muted);cursor:pointer;text-align:left}.chat-room-type-tabs button.active{border-color:var(--ss-accent-border);background:var(--ss-accent-bg);color:var(--ss-color-text)}.chat-room-type-tabs em{font-size:11px;font-style:normal;color:var(--ss-color-text-subtle)}@media(max-width:900px){.chat-hub{height:auto}.chat-scope-pane{min-height:60vh}}.chat-rail-avatar.friend{position:relative}.chat-rail-avatar.friend.online:after{content:"";position:absolute;right:-2px;bottom:-2px;width:9px;height:9px;border-radius:50%;background:var(--ss-color-success);border:2px solid var(--ss-bg-panel-solid)}.chat-member-profile{display:flex;align-items:center;gap:8px;flex:1;min-width:0;border:none;background:transparent;color:inherit;padding:0;cursor:pointer;text-align:left}.chat-invite-friends{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin:6px 0 10px;color:var(--ss-color-text-subtle);font-size:11px}.chat-invite-friend{width:26px;height:26px;border-radius:50%;border:1px solid var(--ss-accent-border);background:var(--ss-accent-bg);overflow:hidden;cursor:pointer;padding:0;display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--ss-color-text)}.chat-invite-friend:hover{border-color:var(--ss-accent-border-strong);background:var(--ss-accent-bg-strong)}.chat-invite-friend img{width:100%;height:100%;object-fit:cover}.friends-pane{overflow-y:auto}.friends-pane .chat-pane-header{position:sticky;top:0;z-index:2;background:var(--ss-bg-panel-opaque)}.friends-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;border-bottom:1px solid var(--ss-hover-layer);flex-wrap:wrap}.friends-tabs{display:flex;gap:6px}.friends-tabs button{border:1px solid var(--ss-color-border);border-radius:999px;background:transparent;color:var(--ss-color-text-muted);font-size:12px;padding:4px 13px;cursor:pointer}.friends-tabs button.active{border-color:var(--ss-accent-border);background:var(--ss-accent-bg-strong);color:var(--ss-color-text)}.friends-search input{border:1px solid var(--ss-color-border);border-radius:999px;background:var(--ss-bg-input);color:var(--ss-color-text);font-size:12px;padding:6px 13px;outline:none;width:220px}.friends-search input:focus{border-color:var(--ss-accent-border)}.friends-list{display:flex;flex-direction:column;gap:2px;padding:10px 16px 20px}.friends-list-title{color:var(--ss-color-text-subtle);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:4px 6px 8px}.friend-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--ss-radius-md)}.friend-row:hover{background:var(--ss-hover-layer)}.friend-row-main{display:flex;align-items:center;gap:10px;flex:1;min-width:0;border:none;background:transparent;color:inherit;padding:0;cursor:pointer;text-align:left}.friend-avatar{width:38px;height:38px;border-radius:50%;overflow:hidden;background:var(--ss-color-border);display:grid;place-items:center;flex-shrink:0;font-size:15px;font-weight:700;color:var(--ss-color-text)}.friend-avatar img{width:100%;height:100%;object-fit:cover}.friend-info{display:flex;flex-direction:column;gap:1px;min-width:0}.friend-info strong{color:var(--ss-color-text);font-size:14px;display:flex;align-items:center;gap:6px}.friend-info span{color:var(--ss-color-text-subtle);font-size:12px}.friend-badge{color:var(--ss-color-success)!important;font-size:10px!important;font-style:normal;border:1px solid var(--ss-success-border);border-radius:999px;padding:0 7px}.friend-actions{display:flex;gap:6px;flex-shrink:0}.danger-text{color:var(--ss-color-danger)!important}.chat-rail-section-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:var(--ss-radius-sm)}.chat-rail-section-toggle:hover{background:var(--ss-hover-layer)}.chat-rail-head-actions{display:flex;align-items:center;gap:6px}.chat-rail-chevron{color:var(--ss-color-text-subtle);font-size:11px;line-height:1}.chat-rail-count{color:var(--ss-color-text-subtle);font-size:11px;font-style:normal;margin-left:4px}.rooms-gallery-pane{overflow-y:auto}.rooms-gallery-pane .chat-pane-header{position:sticky;top:0;z-index:2;background:var(--ss-bg-panel-opaque)}.rooms-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;padding:16px}.room-square-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;aspect-ratio:1 / 1;padding:14px;border:1px solid var(--ss-color-border);border-radius:var(--ss-radius-lg);background:none;color:inherit;text-align:center;cursor:pointer;overflow:hidden;transition:border-color var(--ss-motion-normal),background-color var(--ss-motion-normal),transform var(--ss-motion-normal)}.room-square-card:hover{border-color:var(--ss-accent-border);background:none;transform:translateY(-2px)}.room-square-badge{position:absolute;top:8px;left:8px;padding:2px 8px;border-radius:999px;border:1px solid var(--ss-accent-border);color:var(--ss-color-text-subtle);font-size:10px}.room-square-badge.invite{border-color:var(--ss-warning-border)}.room-square-unread{position:absolute;top:8px;right:8px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--ss-color-accent);color:var(--ss-color-bg);font-size:11px;font-weight:800;display:grid;place-items:center}.room-square-icon{font-size:34px;line-height:1}.room-square-name{color:var(--ss-color-text);font-size:15px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-square-desc{color:var(--ss-color-text-subtle);font-size:11px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-square-foot{display:flex;gap:8px;margin-top:4px}.room-square-foot em{color:var(--ss-color-text-subtle);font-size:11px;font-style:normal}.chat-rail-section-title-btn{border:none;background:transparent;color:var(--ss-color-text-subtle);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:0;cursor:pointer;display:flex;align-items:center}.chat-rail-section-title-btn:hover{color:var(--ss-color-accent)}.chat-rail-chevron-btn{border:none;background:transparent;color:var(--ss-color-text-subtle);cursor:pointer;padding:0 4px;line-height:1}.chat-rail-chevron-btn:hover{color:var(--ss-color-text)}.chat-message-avatar{border:none;padding:0;cursor:pointer}.chat-message-avatar:hover{outline:2px solid var(--ss-accent-border);outline-offset:2px}.plaza-post-author{cursor:pointer}.plaza-post-author:hover{color:var(--ss-color-accent)}.chat-pane .discussion-detail-v2,.chat-pane .discussion-create-page{flex:1;min-height:0;overflow-y:auto;padding:16px}.plaza-problem-filter{border:1px solid var(--ss-warning-border)!important;border-radius:999px;background:var(--ss-warning-bg);color:var(--ss-warning-text)!important;font-size:12px;padding:4px 12px;cursor:pointer;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-bound-problem{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border:1px solid var(--ss-accent-border);border-radius:var(--ss-radius-md);background:var(--ss-accent-bg);color:var(--ss-color-text);font-size:13px}.chat-bound-problem button{border:none;background:transparent;color:var(--ss-color-text-subtle);cursor:pointer;font-size:13px;padding:0 4px}.chat-bound-problem button:hover{color:var(--ss-color-danger)}.chat-mention{color:var(--ss-color-accent);background:var(--ss-accent-bg-strong);border-radius:4px;padding:0 3px}.chat-composer-input-wrap{position:relative;flex:1;min-width:0}.chat-composer-input-wrap .chat-composer-input{width:100%;box-sizing:border-box}.chat-mention-dropdown{position:absolute;bottom:calc(100% + 6px);left:0;right:0;max-height:220px;overflow-y:auto;border:1px solid var(--ss-color-border);border-radius:var(--ss-radius-md);background:var(--ss-bg-panel-solid);box-shadow:var(--ss-shadow-float);z-index:20;padding:4px}.chat-mention-hint{padding:4px 8px;color:var(--ss-color-text-subtle);font-size:11px}.chat-mention-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:none;border-radius:var(--ss-radius-sm);background:transparent;color:inherit;text-align:left;cursor:pointer}.chat-mention-item.active,.chat-mention-item:hover{background:var(--ss-accent-bg)}.chat-mention-avatar{width:26px;height:26px;border-radius:50%;overflow:hidden;background:var(--ss-color-border);display:grid;place-items:center;flex-shrink:0;font-size:12px;font-weight:700;color:var(--ss-color-text)}.chat-mention-avatar img{width:100%;height:100%;object-fit:cover}.chat-mention-info{display:flex;flex-direction:column;min-width:0}.chat-mention-info strong{color:var(--ss-color-text);font-size:13px}.chat-mention-info em{color:var(--ss-color-text-subtle);font-size:11px;font-style:normal}.chat-typing-indicator{display:flex;align-items:center;gap:8px;color:var(--ss-color-text-subtle);font-size:12px;padding:4px 2px}.chat-typing-dots{display:inline-flex;gap:3px;align-items:center}.chat-typing-dots i{width:5px;height:5px;border-radius:50%;background:var(--ss-color-text-subtle);animation:chat-typing-bounce 1.2s infinite ease-in-out}.chat-typing-dots i:nth-child(2){animation-delay:.15s}.chat-typing-dots i:nth-child(3){animation-delay:.3s}@keyframes chat-typing-bounce{0%,60%,to{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}.chat-thread-toggle{align-self:flex-start;border:1px solid var(--ss-color-border);border-radius:999px;background:var(--ss-hover-layer);color:var(--ss-color-text-muted);font-size:12px;padding:3px 11px;margin-top:2px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.chat-message.mine .chat-thread-toggle{align-self:flex-end}.chat-thread-toggle:hover{color:var(--ss-color-text);border-color:var(--ss-accent-border)}.chat-thread-toggle-arrow{font-size:10px}.chat-thread-panel{margin-top:8px;padding:10px 12px;border:1px solid var(--ss-color-border);border-radius:var(--ss-radius-md);background:var(--ss-bg-input);display:flex;flex-direction:column;gap:8px;min-width:260px}.chat-message.mine .chat-thread-panel{align-self:stretch}.chat-thread-loading,.chat-thread-empty{color:var(--ss-color-text-subtle);font-size:12px;padding:6px 2px}.chat-thread-replies{display:flex;flex-direction:column;gap:8px;max-height:260px;overflow-y:auto}.chat-thread-reply{display:flex;gap:8px}.chat-thread-reply-avatar{width:24px;height:24px;border-radius:50%;overflow:hidden;background:var(--ss-color-border);display:grid;place-items:center;flex-shrink:0;font-size:11px;font-weight:700;color:var(--ss-color-text);border:none;padding:0;cursor:pointer}.chat-thread-reply-avatar img{width:100%;height:100%;object-fit:cover}.chat-thread-reply-body{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.chat-thread-reply-head{display:flex;align-items:baseline;gap:8px}.chat-thread-reply-head strong{color:var(--ss-color-text);font-size:12px}.chat-thread-reply-head span{color:var(--ss-color-text-subtle);font-size:10px}.chat-thread-reply-foot{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-top:2px}.chat-reaction-chip.small,.chat-reaction-add.small{padding:1px 7px;font-size:11px}.chat-thread-composer{display:flex;gap:6px}.chat-thread-composer input{flex:1;min-width:0;border:1px solid var(--ss-color-border);border-radius:var(--ss-radius-md);background:var(--ss-bg-input);color:var(--ss-color-text);font-size:13px;padding:6px 10px;outline:none}.chat-thread-composer input:focus{border-color:var(--ss-accent-border)}.chat-send-btn.small{padding:6px 13px;font-size:12px}.plaza-feed-chip{border-color:var(--ss-warning-border)!important;color:var(--ss-warning-text)!important}.plaza-feed-chip.active{border-color:var(--ss-warning-border-strong)!important;background:var(--ss-warning-bg-strong)!important;color:var(--ss-warning-text-strong)!important}.chat-invite-link-row{display:flex;gap:6px;margin-bottom:8px}.chat-invite-link-row input{flex:1;min-width:0;border:1px solid var(--ss-accent-border-soft);border-radius:var(--ss-radius-md);background:var(--ss-bg-input);color:var(--ss-color-text-muted);font-size:11px;padding:5px 8px;outline:none}.join-room-actions{display:flex;gap:8px;margin-top:6px}.activity-pane{overflow-y:auto}.activity-pane .chat-pane-header{position:sticky;top:0;z-index:2;background:var(--ss-bg-panel-opaque)}.activity-my-rank{margin:12px 16px 0;padding:10px 14px;border:1px solid var(--ss-warning-border);border-radius:var(--ss-radius-md);background:var(--ss-warning-bg);color:var(--ss-color-text-muted);font-size:13px}.activity-my-rank strong{color:var(--ss-warning-text)}.activity-body{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:12px;padding:14px 16px 20px}.activity-leaderboard{display:flex;flex-direction:column;gap:4px}.activity-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid transparent;border-radius:var(--ss-radius-md);background:var(--ss-hover-layer);color:inherit;text-align:left;cursor:pointer}.activity-row:hover{border-color:var(--ss-accent-border)}.activity-row.me{border-color:var(--ss-accent-border);background:var(--ss-accent-bg)}.activity-rank{width:34px;color:var(--ss-color-text-muted);font-size:13px;font-weight:700;text-align:center;flex-shrink:0}.activity-rank.top-1{font-size:18px}.activity-rank.top-2{font-size:16px}.activity-rank.top-3{font-size:14px}.activity-avatar{width:30px;height:30px;border-radius:50%;overflow:hidden;background:var(--ss-color-border);display:grid;place-items:center;flex-shrink:0;font-size:13px;font-weight:700;color:var(--ss-color-text)}.activity-avatar img{width:100%;height:100%;object-fit:cover}.activity-name{flex:1;min-width:0;color:var(--ss-color-text);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-name em{color:var(--ss-color-accent);font-style:normal;font-size:11px}.activity-score{color:var(--ss-color-warning);font-size:12px;font-weight:700;flex-shrink:0}.activity-side{display:flex;flex-direction:column;gap:10px}.activity-stats,.activity-rules{border:1px solid var(--ss-color-border);border-radius:var(--ss-radius-md);background:var(--ss-bg-panel);padding:12px 14px;display:flex;flex-direction:column;gap:6px}.activity-stats-title{color:var(--ss-color-text-subtle);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:2px}.activity-stat-row,.activity-rule-row{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--ss-color-text-muted);font-size:12px}.activity-stat-row strong{color:var(--ss-color-text);font-size:13px}.activity-rule-row em{color:var(--ss-color-success);font-style:normal;font-weight:700;font-size:11px}.activity-achieve-row{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--ss-color-text-muted);font-size:12px}.activity-achieve-icons{display:flex;gap:3px;font-size:15px}@media(max-width:900px){.activity-body{grid-template-columns:1fr}}@media(max-width:900px){.chat-scope-pane{min-height:calc(100vh - var(--topbar-offset) - 200px)}.chat-messages{padding:10px}.chat-pane-header{flex-wrap:wrap}.chat-float-window{width:calc(100vw - 20px);height:min(480px,calc(100vh - 130px))}}.chat-post-modal,.chat-room-modal{max-height:calc(100vh - 32px);overflow-y:auto}:root[data-theme=light] .chat-send-btn,:root[data-theme=light] .chat-rail-unread,:root[data-theme=light] .chat-float-unread,:root[data-theme=light] .room-square-unread,:root[data-theme=light] .chat-nav-unread,:root[data-theme=light] .notif-dot,:root[data-theme=light] .topbar-message-dot{color:var(--ss-color-bg)}.chat-float-window{position:fixed;left:0;top:0;z-index:2000;width:min(340px,calc(100vw - 24px));height:min(460px,calc(100vh - 110px));display:flex;flex-direction:column;border:1px solid var(--ss-color-border);border-radius:var(--ss-radius-lg);background:var(--ss-bg-panel-solid);box-shadow:var(--ss-shadow-pop);overflow:hidden}.chat-float-window.dragging{-webkit-user-select:none;user-select:none;cursor:grabbing}.chat-float-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-bottom:1px solid var(--ss-hover-layer);background:var(--ss-hover-layer);cursor:grab;flex-shrink:0}.chat-float-title{display:flex;align-items:center;gap:8px;min-width:0;border:none;background:transparent;color:var(--ss-color-text);font-size:13px;font-weight:700;cursor:pointer;padding:0}.chat-float-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-float-icon{font-size:14px}.chat-float-actions{display:flex;gap:4px;flex-shrink:0}.chat-float-actions button{border:none;background:transparent;color:var(--ss-color-text-muted);cursor:pointer;width:24px;height:24px;border-radius:6px;font-size:14px;line-height:1}.chat-float-actions button:hover{background:var(--ss-color-border);color:var(--ss-color-text)}.chat-float-body{flex:1;min-height:0;display:flex}.chat-float-body .chat-thread{flex:1;min-width:0;display:flex;flex-direction:column}.chat-float-body .chat-messages{flex:1;min-height:0;overflow-x:hidden}.chat-float-bubbles{position:fixed;right:16px;bottom:16px;z-index:2000;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.chat-float-bubble{position:relative;display:flex;align-items:center;gap:8px;max-width:230px;padding:9px 16px;border:1px solid var(--ss-accent-border);border-radius:999px;background:var(--ss-bg-panel-solid);color:var(--ss-color-text);font-size:13px;cursor:pointer;box-shadow:var(--ss-shadow-float)}.chat-float-bubble:hover{border-color:var(--ss-accent-border-strong)}.chat-float-bubble-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-float-unread{position:absolute;top:-7px;right:-7px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--ss-color-accent);color:var(--ss-color-bg);font-size:11px;font-weight:800;display:grid;place-items:center;border:2px solid var(--ss-bg-panel-solid)}@media(max-width:768px){.chat-float-bubbles{right:10px;bottom:74px}}.chat-float-foot{flex-shrink:0;padding:7px 10px;border-top:1px solid var(--ss-hover-layer);display:flex;justify-content:flex-end}.chat-float-leave{border:1px solid var(--ss-danger-border);border-radius:var(--ss-radius-md);background:transparent;color:var(--ss-color-danger);font-size:12px;padding:4px 12px;cursor:pointer;transition:background-color var(--ss-motion-normal),border-color var(--ss-motion-normal)}.chat-float-leave:hover{background:var(--ss-danger-bg);border-color:var(--ss-danger-border-strong)}.notification-bell{position:relative}.notif-panel{position:absolute;top:calc(100% + 10px);right:0;width:min(360px,calc(100vw - 24px));max-height:min(480px,calc(100vh - 120px));display:flex;flex-direction:column;border:1px solid var(--ss-color-border);border-radius:var(--ss-radius-lg);background:var(--ss-bg-panel-solid);box-shadow:var(--ss-shadow-pop);overflow:hidden;z-index:1500}.notif-panel-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--ss-hover-layer);color:var(--ss-color-text);font-size:13px;font-weight:700}.notif-panel-head button{border:none;background:transparent;color:var(--ss-color-accent);font-size:12px;cursor:pointer}.notif-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.notif-item{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border:none;border-bottom:1px solid var(--ss-hover-layer);background:transparent;color:inherit;text-align:left;cursor:pointer;position:relative}.notif-item:hover{background:var(--ss-hover-layer)}.notif-item.unread{background:var(--ss-accent-bg)}.notif-avatar{width:34px;height:34px;border-radius:50%;overflow:hidden;background:var(--ss-color-border);display:grid;place-items:center;flex-shrink:0;font-size:13px;font-weight:700;color:var(--ss-color-text)}.notif-avatar img{width:100%;height:100%;object-fit:cover}.notif-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.notif-text{color:var(--ss-color-text-muted);font-size:13px;line-height:1.55;word-break:break-word}.notif-text strong{color:var(--ss-color-text)}.notif-time{color:var(--ss-color-text-subtle);font-size:11px}.notif-dot{position:absolute;right:10px;top:14px;width:8px;height:8px;border-radius:50%;background:var(--ss-color-accent)}.notif-empty{padding:32px 16px;text-align:center;color:var(--ss-color-text-subtle);font-size:13px}.notif-panel-foot{padding:8px 14px;border-top:1px solid var(--ss-hover-layer);color:var(--ss-color-text-subtle);font-size:11px;text-align:center}.notif-panel-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.notif-push-toggle{border:1px solid var(--ss-color-border);border-radius:999px;background:transparent;color:var(--ss-color-text-muted);font-size:11px;padding:4px 12px;cursor:pointer}.notif-push-toggle.on{color:var(--ss-color-success);border-color:var(--ss-success-border-strong);background:var(--ss-success-bg)}.notif-push-toggle:disabled{opacity:.6;cursor:wait}.onboarding-modal{width:min(440px,calc(100vw - 32px));text-align:center}.onboarding-dots{display:flex;justify-content:center;gap:6px;margin-bottom:18px}.onboarding-dots span{width:7px;height:7px;border-radius:999px;background:var(--ss-color-border);transition:background-color var(--ss-motion-normal),width var(--ss-motion-normal)}.onboarding-dots span.active{width:20px;background:var(--ss-color-accent)}.onboarding-icon{display:grid;width:72px;height:72px;margin:0 auto 14px;place-items:center;border:1px solid var(--ss-color-border);border-radius:50%;background:var(--ss-hover-layer);font-size:34px}.onboarding-modal h2{margin:0 0 8px;color:var(--ss-color-text);font-size:22px}.onboarding-modal p{margin:0 0 20px;color:var(--ss-color-text-muted);font-size:14px;line-height:1.7}.search-backdrop{position:fixed;inset:0;z-index:3000;background:var(--ss-bg-input);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 16px}.search-panel{width:min(620px,100%);max-height:70vh;display:flex;flex-direction:column;border:1px solid var(--ss-color-border);border-radius:var(--ss-radius-lg);background:var(--ss-bg-panel-solid);box-shadow:var(--ss-shadow-pop);overflow:hidden}.search-input-row{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--ss-hover-layer)}.search-icon{color:var(--ss-color-accent);font-size:20px}.search-input-row input{flex:1;min-width:0;border:none;background:transparent;color:var(--ss-color-text);font-size:15px;outline:none}.search-close{border:1px solid var(--ss-color-border);border-radius:6px;background:transparent;color:var(--ss-color-text-subtle);font-size:11px;padding:3px 9px;cursor:pointer}.search-close:hover{color:var(--ss-color-text)}.search-results{flex:1;min-height:0;overflow-y:auto;padding:8px 10px 12px;display:flex;flex-direction:column;gap:10px}.search-hint{padding:30px 16px;text-align:center;color:var(--ss-color-text-subtle);font-size:13px}.search-group-title{color:var(--ss-color-text-subtle);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:4px 6px}.search-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;border-radius:var(--ss-radius-md);background:transparent;color:inherit;text-align:left;cursor:pointer}.search-item:hover{background:var(--ss-accent-bg)}.search-item-title{color:var(--ss-color-text);font-size:13px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-item-meta{color:var(--ss-color-text-subtle);font-size:11px;flex-shrink:0;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-item-avatar{width:26px;height:26px;border-radius:50%;overflow:hidden;background:var(--ss-color-border);display:grid;place-items:center;flex-shrink:0;font-size:12px;font-weight:700;color:var(--ss-color-text)}.search-item-avatar img{width:100%;height:100%;object-fit:cover}.search-group{display:flex;flex-direction:column;gap:2px}.user-menu{position:relative;display:flex;align-items:center;min-width:40px;min-height:40px;isolation:isolate}.user-avatar-btn{width:40px;height:40px;border-radius:50%;background:var(--ss-accent-border-soft);border:2px solid transparent;display:grid;place-items:center;font-size:16px;font-weight:700;color:var(--ss-color-text);cursor:pointer;transition:color .2s,background-color .2s,border-color .2s,opacity .2s,transform .2s,box-shadow .2s;overflow:hidden;will-change:border-color,box-shadow}.user-avatar-btn:hover{border-color:var(--ss-accent-border-strong);box-shadow:0 0 0 2px var(--ss-accent-border)}.user-avatar-btn img{width:100%;height:100%;object-fit:cover}.user-avatar-btn span{display:block}.user-menu-panel{position:absolute;right:0;top:calc(100% + 10px);min-width:190px;padding:10px;border-radius:14px;background:var(--ss-bg-code-96);border:1px solid var(--ss-accent-border-soft);box-shadow:0 18px 40px var(--ss-bg-code-60);opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:10000;will-change:opacity,transform;backface-visibility:hidden;contain:layout style paint}.user-menu-panel:before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}.user-menu-panel.open{opacity:1;transform:translateY(0);pointer-events:auto}.user-menu-item{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--text);font-size:13px;letter-spacing:.08em;text-align:left;transition:border-color .2s ease,background .2s ease,color .2s ease}.user-menu-item:hover{border-color:var(--ss-accent-border);background:var(--ss-hover-layer);transform:none}.user-menu-item.danger{color:var(--ss-color-danger)}.user-menu-divider{height:1px;background:var(--ss-accent-border-soft);margin:6px 4px}.user-menu-level{display:flex;align-items:center;gap:8px;padding:8px 12px;color:var(--ss-color-text-muted);font-size:12px}.user-menu-level strong{color:var(--ss-color-accent);font-weight:700}.avatar{width:34px;height:34px;border-radius:50%;background:var(--ss-accent-border-soft);display:grid;place-items:center;font-weight:700;color:var(--ss-color-text)}.user-meta{display:flex;flex-direction:column;font-size:12px;line-height:1.2}.user-name{font-weight:600}.user-id{color:var(--muted)}.auth-backdrop{position:fixed;inset:0;background:var(--ss-bg-code-68);display:grid;place-items:center;z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.auth-page{width:min(460px,92vw)}.auth-panel{width:min(440px,92vw);background:var(--ss-bg-panel-solid);border-radius:20px;border:1px solid var(--border);padding:22px;box-shadow:0 30px 80px var(--ss-bg-code-50)}.auth-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.auth-title{font-weight:700;font-size:20px}.auth-subtitle{color:var(--muted);font-size:12px;margin-top:4px}.auth-tabs{display:flex;gap:8px;margin-bottom:16px}.auth-tabs button{flex:1;padding:10px 0;border-radius:12px;background:transparent;border:1px solid var(--border);color:var(--muted);font-weight:600}.auth-tabs button.active{color:var(--text);border-color:var(--ss-accent-border);background:var(--ss-accent-bg-strong)}.auth-form{display:grid;gap:14px}.auth-form label{display:grid;gap:8px;color:var(--muted);font-size:12px}.auth-input{background:var(--ss-bg-panel);border:1px solid var(--border);border-radius:10px;padding:10px 12px;color:var(--text);font-size:14px}.auth-input:focus{outline:none;border-color:var(--ss-accent-border-strong);box-shadow:0 0 0 2px var(--ss-accent-bg-strong)}.auth-error{color:var(--ss-color-danger);background:var(--ss-danger-12);border:1px solid var(--ss-danger-30);padding:8px 10px;border-radius:10px;font-size:12px}.auth-success{color:var(--ss-color-success);background:var(--ss-success-12);border:1px solid var(--ss-success-30);padding:8px 10px;border-radius:10px;font-size:12px}.auth-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
