@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.518e079e.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.ea323500.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.853d50a3.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.55554cd0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.56c1f21e.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3b336396.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.e3369375.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.a40b9a8b.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.fe42ddf4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.29207c2f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
:root{--font-display:var(--font-geist-sans),system-ui,-apple-system,sans-serif;--font-body:var(--font-geist-sans),system-ui,-apple-system,sans-serif;--font-mono:var(--font-geist-mono),ui-monospace,monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.7;--letter-spacing-tight:-.02em;--letter-spacing-normal:0;--letter-spacing-wide:.02em;--space-0:0;--space-px:1px;--space-0-5:.125rem;--space-1:.25rem;--space-1-5:.375rem;--space-2:.5rem;--space-2-5:.625rem;--space-3:.75rem;--space-3-5:.875rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--space-9:2.25rem;--space-10:2.5rem;--space-12:3rem;--space-14:3.5rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius-none:0;--radius-xs:2px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-xs:0 1px 2px var(--color-shadow);--shadow-sm:0 1px 3px var(--color-shadow);--shadow-md:0 4px 12px var(--color-shadow);--shadow-lg:0 8px 30px var(--color-shadow);--shadow-xl:0 16px 50px var(--color-shadow);--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s ease;--transition-theme:.5s ease}[data-theme=daylight]{--color-surface:#f7f5f0;--color-surface-raised:#fff;--color-surface-sunken:#edeae3;--color-surface-overlay:#fffffff0;--color-on-surface:#1c1917;--color-on-surface-muted:#57534e;--color-on-surface-faint:#6b655f;--color-primary:#c2410c;--color-primary-hover:#982b00;--color-primary-active:#7a2000;--color-primary-subtle:#fff7ed;--color-on-primary:#fff;--color-on-primary-subtle:#9a3412;--color-accent:#0f766e;--color-accent-hover:#005a53;--color-accent-subtle:#f0fdfa;--color-on-accent:#fff;--color-on-accent-subtle:#115e59;--color-danger:#dc2626;--color-danger-hover:#b8000e;--color-danger-subtle:#fef2f2;--color-on-danger:#fff;--color-on-danger-subtle:#991b1b;--color-success:#16a34a;--color-success-subtle:#f0fdf4;--color-on-success:#fff;--color-on-success-subtle:#166534;--color-warning:#c2410c;--color-warning-subtle:#fff7ed;--color-on-warning:#fff;--color-on-warning-subtle:#9a3412;--color-info:#0284c7;--color-info-subtle:#f0f9ff;--color-on-info:#fff;--color-on-info-subtle:#075985;--color-border:#e7e5e0;--color-border-strong:#d6d3cd;--color-focus-ring:#c2410c4d;--color-shadow:#1c19170d;--color-input-bg:#fff;--color-input-border:#d6d3cd;--color-input-placeholder:#a8a29e;--color-vote-up:#16a34a;--color-vote-down:#dc2626;--color-hot:#ea580c;--color-badge-staff:#7c3aed;--color-badge-mod:#0891b2}@supports (color:lab(0% 0 0)){[data-theme=daylight]{--color-primary-hover:lab(35.1097% 51.8072 63.2869);--color-primary-active:lab(27.346% 52.4672 58.2084);--color-accent-hover:lab(33.6196% -29.8001 -3.77277);--color-danger-hover:lab(38.7123% 68.0772 56.0578)}}[data-theme=midnight]{--color-surface:#0a0a12;--color-surface-raised:#14141f;--color-surface-sunken:#06060c;--color-surface-overlay:#14141ff5;--color-on-surface:#e4e2f0;--color-on-surface-muted:#9d99bb;--color-on-surface-faint:#8a86a8;--color-primary:#f97316;--color-primary-hover:#fd8a4b;--color-primary-active:#ffa170;--color-primary-subtle:#f973161a;--color-on-primary:#0a0a12;--color-on-primary-subtle:#fdba74;--color-accent:#34d399;--color-accent-hover:#63daa8;--color-accent-subtle:#34d39914;--color-on-accent:#0a0a12;--color-on-accent-subtle:#6ee7b7;--color-danger:#f87171;--color-danger-hover:#fc8886;--color-danger-subtle:#f8717114;--color-on-danger:#0a0a12;--color-on-danger-subtle:#fca5a5;--color-success:#4ade80;--color-success-subtle:#4ade8014;--color-on-success:#0a0a12;--color-on-success-subtle:#86efac;--color-warning:#fbbf24;--color-warning-subtle:#fbbf2414;--color-on-warning:#0a0a12;--color-on-warning-subtle:#fcd34d;--color-info:#34d399;--color-info-subtle:#34d39914;--color-on-info:#0a0a12;--color-on-info-subtle:#6ee7b7;--color-border:#8884a61f;--color-border-strong:#8884a638;--color-focus-ring:#f9731659;--color-shadow:#0006;--color-input-bg:#18182a;--color-input-border:#8884a62e;--color-input-placeholder:#565370;--color-vote-up:#4ade80;--color-vote-down:#f87171;--color-hot:#f97316;--color-badge-staff:#a78bfa;--color-badge-mod:#22d3ee}@supports (color:lab(0% 0 0)){[data-theme=midnight]{--color-primary-hover:lab(69.8882% 40.959 52.7689);--color-primary-active:lab(75.2522% 32.9225 41.1028);--color-accent-hover:lab(79.3482% -43.9378 14.177);--color-danger-hover:lab(70.0467% 44.7003 22.159)}}[data-theme=ocean]{--color-surface:#eef4f8;--color-surface-raised:#fff;--color-surface-sunken:#dce8ef;--color-surface-overlay:#eef4f8f2;--color-on-surface:#0b2838;--color-on-surface-muted:#38607a;--color-on-surface-faint:#45708b;--color-primary:#0369a1;--color-primary-hover:#004f7e;--color-primary-active:#00395f;--color-primary-subtle:#e0f2fe;--color-on-primary:#fff;--color-on-primary-subtle:#075985;--color-accent:#ea580c;--color-accent-hover:#b83d00;--color-accent-subtle:#fff7ed;--color-on-accent:#fff;--color-on-accent-subtle:#c2410c;--color-danger:#dc2626;--color-danger-hover:#b20005;--color-danger-subtle:#fef2f2;--color-on-danger:#fff;--color-on-danger-subtle:#991b1b;--color-success:#059669;--color-success-subtle:#ecfdf5;--color-on-success:#fff;--color-on-success-subtle:#065f46;--color-warning:#ea580c;--color-warning-subtle:#fff7ed;--color-on-warning:#fff;--color-on-warning-subtle:#c2410c;--color-info:#0369a1;--color-info-subtle:#e0f2fe;--color-on-info:#fff;--color-on-info-subtle:#075985;--color-border:#c8dfe8;--color-border-strong:#a3c9d9;--color-focus-ring:#0369a14d;--color-shadow:#0b28380f;--color-input-bg:#fff;--color-input-border:#a3c9d9;--color-input-placeholder:#7fa3b8;--color-vote-up:#059669;--color-vote-down:#dc2626;--color-hot:#ea580c;--color-badge-staff:#7c3aed;--color-badge-mod:#0891b2}@supports (color:lab(0% 0 0)){[data-theme=ocean]{--color-primary-hover:lab(31.1569% -7.12071 -37.7965);--color-primary-active:lab(21.7286% -3.99363 -37.5777);--color-accent-hover:lab(43.8226% 56.5806 80.6569);--color-danger-hover:lab(36.6933% 68.1623 57.5622)}}[data-theme=forest]{--color-surface:#191e19;--color-surface-raised:#232a23;--color-surface-sunken:#111411;--color-surface-overlay:#232a23f5;--color-on-surface:#d0dbc9;--color-on-surface-muted:#98a890;--color-on-surface-faint:#8d9a85;--color-primary:#81b29a;--color-primary-hover:#98c0ac;--color-primary-active:#acccbb;--color-primary-subtle:#81b29a1a;--color-on-primary:#111411;--color-on-primary-subtle:#a7d4b8;--color-accent:#e07a5f;--color-accent-hover:#e8937c;--color-accent-subtle:#e07a5f14;--color-on-accent:#111411;--color-on-accent-subtle:#f0a68e;--color-danger:#ef6461;--color-danger-hover:#f6837d;--color-danger-subtle:#ef646114;--color-on-danger:#111411;--color-on-danger-subtle:#f5918f;--color-success:#a3be8c;--color-success-subtle:#a3be8c14;--color-on-success:#111411;--color-on-success-subtle:#bdd4a4;--color-warning:#ebcb8b;--color-warning-subtle:#ebcb8b14;--color-on-warning:#111411;--color-on-warning-subtle:#f0dba8;--color-info:#88c0d0;--color-info-subtle:#88c0d014;--color-on-info:#111411;--color-on-info-subtle:#a3d4e0;--color-border:#8a9a8229;--color-border-strong:#8a9a8247;--color-focus-ring:#81b29a59;--color-shadow:#0000004d;--color-input-bg:#1e241e;--color-input-border:#8a9a8238;--color-input-placeholder:#5e6e56;--color-vote-up:#a3be8c;--color-vote-down:#ef6461;--color-hot:#e07a5f;--color-badge-staff:#b48ead;--color-badge-mod:#88c0d0}@supports (color:lab(0% 0 0)){[data-theme=forest]{--color-primary-hover:lab(74.2343% -16.9601 5.57485);--color-primary-active:lab(79.2628% -13.6059 4.47936);--color-accent-hover:lab(69.4425% 31.3068 26.3405);--color-danger-hover:lab(67.9114% 44.4504 24.0644)}}[data-theme=rose]{--color-surface:#fdf5f3;--color-surface-raised:#fff;--color-surface-sunken:#f5e8e3;--color-surface-overlay:#fdf5f3f2;--color-on-surface:#2e1a1a;--color-on-surface-muted:#6f5454;--color-on-surface-faint:#7d6060;--color-primary:#be185d;--color-primary-hover:#950045;--color-primary-active:#710031;--color-primary-subtle:#fce7f3;--color-on-primary:#fff;--color-on-primary-subtle:#9d174d;--color-accent:#7c3aed;--color-accent-hover:#6200cb;--color-accent-subtle:#f5f3ff;--color-on-accent:#fff;--color-on-accent-subtle:#6d28d9;--color-danger:#e11d48;--color-danger-hover:#b10032;--color-danger-subtle:#fff1f2;--color-on-danger:#fff;--color-on-danger-subtle:#9f1239;--color-success:#059669;--color-success-subtle:#ecfdf5;--color-on-success:#fff;--color-on-success-subtle:#065f46;--color-warning:#d97706;--color-warning-subtle:#fffbeb;--color-on-warning:#fff;--color-on-warning-subtle:#92400e;--color-info:#0284c7;--color-info-subtle:#f0f9ff;--color-on-info:#fff;--color-on-info-subtle:#075985;--color-border:#e8d5d0;--color-border-strong:#d4b8b0;--color-focus-ring:#be185d4d;--color-shadow:#2e1a1a0d;--color-input-bg:#fff;--color-input-border:#d4b8b0;--color-input-placeholder:#b39999;--color-vote-up:#059669;--color-vote-down:#e11d48;--color-hot:#ea580c;--color-badge-staff:#7c3aed;--color-badge-mod:#0891b2}@supports (color:lab(0% 0 0)){[data-theme=rose]{--color-primary-hover:lab(31.466% 63.8612 6.70777);--color-primary-active:lab(21.7259% 63.3264 6.98708);--color-accent-hover:lab(30.2677% 62.6101 -80.8616);--color-danger-hover:lab(37.2682% 71.5955 32.4373)}}[data-theme=custom]{--color-surface:#faf9f7;--color-surface-raised:#fff;--color-surface-sunken:#f0eee9;--color-surface-overlay:#ffffffeb;--color-on-surface:#1c1917;--color-on-surface-muted:#57534e;--color-on-surface-faint:#6b655f;--color-primary:#6366f1;--color-primary-hover:#4d49d2;--color-primary-active:#392bb4;--color-primary-subtle:#6366f11a;--color-on-primary:#fff;--color-on-primary-subtle:#4f46e5;--color-accent:#f59e0b;--color-accent-hover:#c77e00;--color-accent-subtle:#f59e0b1a;--color-on-accent:#fff;--color-on-accent-subtle:#d97706;--color-danger:#dc2626;--color-danger-hover:#b8000e;--color-danger-subtle:#dc262614;--color-on-danger:#fff;--color-on-danger-subtle:#b91c1c;--color-success:#16a34a;--color-success-subtle:#16a34a14;--color-on-success:#fff;--color-on-success-subtle:#15803d;--color-warning:#d97706;--color-warning-subtle:#d9770614;--color-on-warning:#fff;--color-on-warning-subtle:#92400e;--color-info:#0284c7;--color-info-subtle:#0284c714;--color-on-info:#fff;--color-on-info-subtle:#075985;--color-border:#e5e7eb;--color-border-strong:#d1d5db;--color-focus-ring:#6366f166;--color-shadow:#00000014;--color-input-bg:#fff;--color-input-border:#d1d5db;--color-input-placeholder:#9ca3af;--color-vote-up:#16a34a;--color-vote-down:#dc2626;--color-hot:#ea580c;--color-badge-staff:#7c3aed;--color-badge-mod:#0891b2}@supports (color:lab(0% 0 0)){[data-theme=custom]{--color-primary-hover:lab(38.5335% 34.3202 -71.778);--color-primary-active:lab(27.8269% 40.0986 -71.8864);--color-accent-hover:lab(59.3428% 28.1468 90.8873);--color-danger-hover:lab(38.7123% 68.0772 56.0578)}}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-on-surface);background:var(--color-surface);transition:background var(--transition-theme),color var(--transition-theme)}
.user-menu-trigger{padding:var(--space-1)var(--space-2)var(--space-1)var(--space-1);border-radius:var(--radius-full);cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;outline:none;align-items:center;display:flex}.user-menu-trigger:hover{background:var(--color-surface-sunken)}.user-menu-trigger:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.user-menu-dropdown{margin-top:var(--space-2);border-radius:var(--radius-lg);background:var(--color-surface-raised);border:1px solid var(--color-border);width:16rem;box-shadow:var(--shadow-lg);z-index:50;transform-origin:100% 0;animation:.18s cubic-bezier(.16,1,.3,1) forwards dropdownIn;position:absolute;right:0;overflow:hidden}@keyframes dropdownIn{0%{opacity:0;transform:scale(.95)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}.user-menu-dropdown .menu-section{padding:var(--space-1)0}.user-menu-dropdown .menu-section+.menu-section{border-top:1px solid var(--color-border)}.user-menu-dropdown .menu-item{text-align:left;width:100%;padding:var(--space-2)var(--space-4);font-size:var(--font-size-sm);color:var(--color-on-surface);cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;text-decoration:none;display:block}.user-menu-dropdown .menu-item:hover{background:var(--color-surface-sunken)}.user-menu-dropdown .menu-item-accent{color:var(--color-primary);font-weight:var(--font-weight-medium)}.user-menu-dropdown .menu-header{padding:var(--space-3)var(--space-4)}.btn{justify-content:center;align-items:center;gap:var(--space-2);white-space:nowrap;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);height:2.25rem;padding:var(--space-2)var(--space-4);border:none;outline:none;flex-shrink:0;display:inline-flex}.btn:disabled{pointer-events:none;opacity:.5}.btn:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.btn svg{pointer-events:none;flex-shrink:0;width:1rem;height:1rem}.btn-primary{background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-xs)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:active{background:var(--color-primary-active)}.btn-secondary{background:var(--color-surface-sunken);color:var(--color-on-surface);box-shadow:var(--shadow-xs)}.btn-secondary:hover{opacity:.8}.btn-accent{background:var(--color-accent);color:var(--color-on-accent);box-shadow:var(--shadow-xs)}.btn-accent:hover{background:var(--color-accent-hover)}.btn-danger{background:var(--color-danger);color:var(--color-on-danger);box-shadow:var(--shadow-xs)}.btn-danger:hover{background:var(--color-danger-hover)}.btn-outline{color:var(--color-on-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-xs);background:0 0}.btn-outline:hover{background:var(--color-surface-sunken)}.btn-ghost{color:var(--color-on-surface);background:0 0}.btn-ghost:hover{background:var(--color-surface-sunken)}.btn-link{color:var(--color-primary);background:0 0;height:auto;padding:0;text-decoration:none}.btn-link:hover{text-decoration:underline}.btn-sm{height:2rem;padding:var(--space-1)var(--space-3);font-size:var(--font-size-xs);gap:var(--space-1-5);border-radius:var(--radius-sm)}.btn-lg{height:2.5rem;padding:var(--space-2)var(--space-6);border-radius:var(--radius-md)}.btn-icon{width:2.25rem;height:2.25rem;padding:0}.btn-icon.btn-sm{width:2rem;height:2rem}.btn-icon.btn-lg{width:2.5rem;height:2.5rem}.btn-group{gap:var(--space-3);flex-wrap:wrap;display:flex}.card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--color-on-surface);transition:all var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md)}.card-header{gap:var(--space-1-5);padding:var(--space-6);flex-direction:column;display:flex}.card-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}.card-description{font-size:var(--font-size-sm);color:var(--color-on-surface-muted);line-height:var(--line-height-relaxed)}.card-content{padding:var(--space-6);padding-top:0}.card-footer{padding:var(--space-6);align-items:center;padding-top:0;display:flex}.card-compact{composes:card;box-shadow:var(--shadow-xs)}.card-interactive{cursor:pointer}.card-interactive:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.input-group{gap:var(--space-2);flex-direction:column;display:flex}.input-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-on-surface)}.input{padding:var(--space-3)var(--space-4);background:var(--color-input-bg);border:1.5px solid var(--color-input-border);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--font-size-sm);color:var(--color-on-surface);width:100%;min-width:0;height:2.25rem;transition:all var(--transition-fast);box-shadow:var(--shadow-xs);outline:none}.input::placeholder{color:var(--color-input-placeholder)}select.input{padding-top:0;padding-bottom:0}textarea.input{resize:vertical;height:auto;min-height:2.25rem}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.input:disabled{pointer-events:none;cursor:not-allowed;opacity:.5}.input[aria-invalid=true]{border-color:var(--color-danger);box-shadow:0 0 0 3px #dc262633}.textarea{padding:var(--space-3)var(--space-4);background:var(--color-input-bg);border:1.5px solid var(--color-input-border);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--font-size-sm);color:var(--color-on-surface);resize:vertical;width:100%;min-height:5rem;transition:all var(--transition-fast);box-shadow:var(--shadow-xs);outline:none}.textarea::placeholder{color:var(--color-input-placeholder)}.textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.badge{padding:var(--space-1)var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap;justify-content:center;align-items:center;gap:var(--space-1);width:fit-content;transition:color var(--transition-fast),box-shadow var(--transition-fast);flex-shrink:0;display:inline-flex;overflow:hidden}.badge svg{pointer-events:none;width:.75rem;height:.75rem}.badge-primary{background:var(--color-primary);color:var(--color-on-primary);border:1px solid #0000}.badge-secondary{background:var(--color-surface-sunken);color:var(--color-on-surface);border:1px solid #0000}.badge-accent{background:var(--color-accent-subtle);color:var(--color-on-accent-subtle);border:1px solid #0000}.badge-danger{background:var(--color-danger-subtle);color:var(--color-on-danger-subtle);border:1px solid #0000}.badge-success{background:var(--color-success-subtle);color:var(--color-on-success-subtle);border:1px solid #0000}.badge-warning{background:var(--color-warning-subtle);color:var(--color-on-warning-subtle);border:1px solid #0000}.badge-info{background:var(--color-info-subtle);color:var(--color-on-info-subtle);border:1px solid #0000}.badge-outline{color:var(--color-on-surface);border:1px solid var(--color-border);background:0 0}.badge-destructive{background:var(--color-danger);color:var(--color-on-danger);border:1px solid #0000}.badge-category-profile{color:#fff;background:#3b82f6;border:1px solid #0000}.badge-category-courses{color:#fff;background:#8b5cf6;border:1px solid #0000}.badge-category-community{color:#fff;background:#14b8a6;border:1px solid #0000}.badge-category-streaks{color:#fff;background:#f97316;border:1px solid #0000}.badge-category-special{color:#fff;background:#6366f1;border:1px solid #0000}.badge-category-forum{color:#fff;background:#22c55e;border:1px solid #0000}.badge-category-likes{color:#fff;background:#ef4444;border:1px solid #0000}.badge-category-login{color:#fff;background:#f59e0b;border:1px solid #0000}.badge-category-quests{color:#fff;background:#7c3aed;border:1px solid #0000}.badge-tier-bronze{box-shadow:0 0 0 2px #d97706}.badge-tier-silver{box-shadow:0 0 0 2px #94a3b8}.badge-tier-gold{box-shadow:0 0 0 2px #eab308}.dialog-overlay{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;position:fixed;inset:0}.dialog-overlay[data-state=open]{animation:.2s fadeIn}.dialog-overlay[data-state=closed]{pointer-events:none;animation:.2s forwards fadeOut}.dialog-content{z-index:50;gap:var(--space-4);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:calc(100% - 2rem);max-height:90vh;padding:var(--space-6);box-shadow:var(--shadow-lg);color:var(--color-on-surface);display:grid;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}@media (min-width:640px){.dialog-content{max-width:32rem}}.dialog-content[data-state=open]{animation:.2s dialogIn}.dialog-content[data-state=closed]{pointer-events:none;animation:.2s forwards dialogOut}.dialog-header{gap:var(--space-2);text-align:center;flex-direction:column;display:flex}@media (min-width:640px){.dialog-header{text-align:left}}.dialog-footer{gap:var(--space-2);flex-direction:column-reverse;display:flex}@media (min-width:640px){.dialog-footer{flex-direction:row;justify-content:flex-end}}.dialog-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0}.dialog-description{font-size:var(--font-size-sm);color:var(--color-on-surface-muted);margin:0}.dialog-close{top:var(--space-4);right:var(--space-4);border-radius:var(--radius-xs);opacity:.7;transition:opacity var(--transition-fast);cursor:pointer;color:var(--color-on-surface);background:0 0;border:none;padding:0;position:absolute}.dialog-close:hover{opacity:1}.dialog-close svg{width:1rem;height:1rem}.select-trigger{justify-content:space-between;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);border:1px solid var(--color-input-border);width:fit-content;padding:var(--space-2)var(--space-3);font-size:var(--font-size-sm);white-space:nowrap;box-shadow:var(--shadow-xs);transition:all var(--transition-fast);cursor:pointer;height:2.25rem;color:var(--color-on-surface);background:0 0;outline:none;display:flex}.select-trigger:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.select-trigger:disabled{cursor:not-allowed;opacity:.5}.select-content{z-index:50;max-height:var(--radix-select-content-available-height,20rem);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:8rem;box-shadow:var(--shadow-md);padding:var(--space-1);color:var(--color-on-surface);position:relative;overflow:hidden auto}.select-content[data-state=open]{animation:.15s scaleIn}.select-content[data-state=closed]{animation:.15s scaleOut}.select-item{cursor:default;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);width:100%;padding:var(--space-1-5)var(--space-2);padding-right:var(--space-8);font-size:var(--font-size-sm);-webkit-user-select:none;user-select:none;outline:none;display:flex;position:relative}.select-item:focus,.select-item[data-highlighted]{background:var(--color-surface-sunken)}.select-item[data-disabled]{pointer-events:none;opacity:.5}.select-label{padding:var(--space-1-5)var(--space-2);font-size:var(--font-size-xs);color:var(--color-on-surface-muted)}.select-separator{background:var(--color-border);height:1px;margin:var(--space-1)calc(var(--space-1)*-1)}select{appearance:none;background-color:var(--color-surface-raised);color:var(--color-on-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2)var(--space-8)var(--space-2)var(--space-3);font-size:var(--font-size-sm);font-family:var(--font-body);line-height:var(--line-height-normal);cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;outline:none}select:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}select:disabled{cursor:not-allowed;opacity:.5}select option{background-color:var(--color-surface-raised);color:var(--color-on-surface);padding:var(--space-2)}.tabs{gap:var(--space-2);flex-direction:column;display:flex}.tabs-list{background:var(--color-surface-sunken);width:fit-content;height:2.25rem;color:var(--color-on-surface-muted);border-radius:var(--radius-lg);justify-content:center;align-items:center;padding:3px;display:inline-flex}.tabs-trigger{justify-content:center;align-items:center;gap:var(--space-1-5);padding:var(--space-1)var(--space-2);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);white-space:nowrap;color:var(--color-on-surface-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #0000;flex:1;height:calc(100% - 1px);display:inline-flex}.tabs-trigger:hover{color:var(--color-on-surface)}.tabs-trigger[data-state=active]{background:var(--color-surface-raised);color:var(--color-on-surface);box-shadow:var(--shadow-xs);border-color:var(--color-border)}.tabs-trigger:disabled{pointer-events:none;opacity:.5}.tabs-content{outline:none;flex:1}.table-container{width:100%;overflow-x:auto}.table-container>table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm);caption-side:bottom}@media (max-width:640px){.table-container>table{min-width:600px}}.table-container caption{padding-top:var(--space-4);font-size:var(--font-size-sm);color:var(--color-on-surface-muted)}.table-header{border-bottom:1.5px solid var(--color-border-strong)}.table-header th{text-align:left;padding:var(--space-3)var(--space-4);font-weight:var(--font-weight-medium);color:var(--color-on-surface-muted);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;vertical-align:middle;height:2.5rem}.table-body tr{border-bottom:1px solid var(--color-border);transition:background var(--transition-fast)}.table-body tr:last-child{border-bottom:none}.table-body tr:hover{background:var(--color-surface-sunken)}.table-body td{padding:var(--space-3)var(--space-4);vertical-align:middle}.table-footer{border-top:1.5px solid var(--color-border-strong);font-weight:var(--font-weight-medium)}.table-footer td{padding:var(--space-3)var(--space-4)}.alert{padding:var(--space-4)var(--space-5);border-radius:var(--radius-md);font-size:var(--font-size-sm);align-items:flex-start;gap:var(--space-3);border:1px solid var(--color-border);display:flex}.alert-success{background:var(--color-success-subtle);color:var(--color-on-success-subtle);border-color:#0000}.alert-danger{background:var(--color-danger-subtle);color:var(--color-on-danger-subtle);border-color:#0000}.alert-warning{background:var(--color-warning-subtle);color:var(--color-on-warning-subtle);border-color:#0000}.alert-info{background:var(--color-info-subtle);color:var(--color-on-info-subtle);border-color:#0000}.progress-track{background:var(--color-surface-sunken);border-radius:var(--radius-full);width:100%;height:8px;position:relative;overflow:hidden}.progress-fill{background:var(--color-primary);border-radius:var(--radius-full);height:100%;transition:width .3s ease,background var(--transition-theme)}.separator{background:var(--color-border);flex-shrink:0}.separator-horizontal{width:100%;height:1px}.separator-vertical{width:1px;height:100%}.skeleton{border-radius:var(--radius-md);background:var(--color-surface-sunken);animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.spinner{border-radius:var(--radius-full);border-style:solid;border-top-color:#0000;border-bottom-color:#0000;animation:.75s linear infinite spin}.spinner-sm{border-width:2px;width:1rem;height:1rem}.spinner-md{border-width:2px;width:2rem;height:2rem}.spinner-lg{border-width:3px;width:3rem;height:3rem}.spinner-primary{border-color:var(--color-primary);border-top-color:#0000;border-bottom-color:#0000}.spinner-accent{border-color:var(--color-accent);border-top-color:#0000;border-bottom-color:#0000}.spinner-muted{border-color:var(--color-on-surface-muted);border-top-color:#0000;border-bottom-color:#0000}.avatar{border-radius:var(--radius-full);flex-shrink:0;width:2.5rem;height:2.5rem;display:flex;position:relative;overflow:hidden}.avatar-sm{width:2rem;height:2rem}.avatar-lg{width:3rem;height:3rem}.avatar-xl{width:4rem;height:4rem}.avatar img{aspect-ratio:1;object-fit:cover;width:100%;height:100%}.avatar-fallback{border-radius:var(--radius-full);background:var(--color-surface-sunken);width:100%;height:100%;color:var(--color-on-surface-muted);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);justify-content:center;align-items:center;display:flex}.tooltip-content{z-index:50;border-radius:var(--radius-full);-webkit-backdrop-filter:blur(8px);color:#f0f0f0;letter-spacing:.01em;white-space:nowrap;background:#000000d9;padding:5px 12px;font-size:.72rem;font-weight:500;line-height:1.5;animation:.12s cubic-bezier(.23,1,.32,1) tooltipIn;overflow:visible;box-shadow:0 2px 8px #0003}@keyframes tooltipIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.popover-content{z-index:50;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface-raised);width:18rem;padding:var(--space-4);color:var(--color-on-surface);box-shadow:var(--shadow-md);outline:none}.popover-content[data-state=open]{animation:.15s scaleIn}.popover-content[data-state=closed]{animation:.15s scaleOut}.dropdown-content{z-index:50;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-raised);min-width:8rem;padding:var(--space-1);color:var(--color-on-surface);box-shadow:var(--shadow-md);overflow:hidden}.dropdown-content[data-state=open]{animation:.15s scaleIn}.dropdown-content[data-state=closed]{animation:.15s scaleOut}.dropdown-item{cursor:default;-webkit-user-select:none;user-select:none;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);padding:var(--space-1-5)var(--space-2);font-size:var(--font-size-sm);transition:background var(--transition-fast);outline:none;display:flex;position:relative}.dropdown-item:focus,.dropdown-item[data-highlighted]{background:var(--color-surface-sunken);color:var(--color-on-surface)}.dropdown-item[data-disabled]{pointer-events:none;opacity:.5}.dropdown-separator{height:1px;margin:var(--space-1)calc(var(--space-1)*-1);background:var(--color-border)}.dropdown-label{padding:var(--space-1-5)var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-on-surface-muted)}.switch{cursor:pointer;border-radius:var(--radius-full);width:2.75rem;height:1.5rem;transition:background var(--transition-fast);background:var(--color-input-border);border:2px solid #0000;flex-shrink:0;align-items:center;display:inline-flex}.switch:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.switch:disabled{cursor:not-allowed;opacity:.5}.switch[data-state=checked]{background:var(--color-primary)}.switch[data-state=unchecked]{background:var(--color-input-border)}.switch-thumb{pointer-events:none;border-radius:var(--radius-full);background:var(--color-surface-raised);width:1.25rem;height:1.25rem;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast);display:block}.switch-thumb[data-state=checked]{transform:translate(1.25rem)}.switch-thumb[data-state=unchecked]{transform:translate(0)}.checkbox{border:1px solid var(--color-input-border);width:1rem;height:1rem;box-shadow:var(--shadow-xs);transition:all var(--transition-fast);cursor:pointer;background:0 0;border-radius:4px;outline:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.checkbox:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.checkbox:disabled{cursor:not-allowed;opacity:.5}.checkbox[data-state=checked]{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.checkbox svg{width:.875rem;height:.875rem}.radio-group{gap:var(--space-2);display:grid}.radio-item{border-radius:var(--radius-full);border:1px solid var(--color-primary);width:1rem;height:1rem;box-shadow:var(--shadow-xs);cursor:pointer;background:0 0;outline:none;justify-content:center;align-items:center;display:flex}.radio-item:focus-visible{box-shadow:0 0 0 3px var(--color-focus-ring)}.radio-item:disabled{cursor:not-allowed;opacity:.5}.radio-indicator{justify-content:center;align-items:center;display:flex}.radio-indicator:after{content:"";border-radius:var(--radius-full);background:var(--color-primary);width:.5rem;height:.5rem}.accordion-item{border-bottom:1px solid var(--color-border)}.accordion-item:last-child{border-bottom:none}.accordion-trigger{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-4)0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:left;transition:all var(--transition-fast);cursor:pointer;width:100%;color:var(--color-on-surface);background:0 0;border:none;flex:1;display:flex}.accordion-trigger:hover{text-decoration:underline}.accordion-trigger:disabled{pointer-events:none;opacity:.5}.accordion-trigger svg{color:var(--color-on-surface-muted);flex-shrink:0;width:1rem;height:1rem;transition:transform .2s}.accordion-trigger[data-state=open] svg{transform:rotate(180deg)}.accordion-content{font-size:var(--font-size-sm);overflow:hidden}.accordion-content-inner{padding-top:0;padding-bottom:var(--space-4)}.scroll-area{position:relative;overflow:hidden}.scroll-area-viewport{border-radius:inherit;width:100%;height:100%;overflow:auto}.scroll-area-scrollbar{touch-action:none;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast);padding:1px;display:flex}.scroll-area-scrollbar[data-orientation=vertical]{border-left:1px solid #0000;width:10px;padding:1px 2px}.scroll-area-scrollbar[data-orientation=horizontal]{border-top:1px solid #0000;flex-direction:column;height:10px;padding:2px 1px}.scroll-area-thumb{border-radius:var(--radius-full);background:var(--color-border-strong);flex:1;position:relative}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong)transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-on-surface-muted)}::-webkit-scrollbar-corner{background:0 0}.toast-viewport{z-index:100;width:100%;max-height:calc(100vh - 4rem);padding:var(--space-4);flex-direction:column-reverse;display:flex;position:fixed;top:calc(4rem + 1px)}@media (min-width:640px){.toast-viewport{flex-direction:column;max-width:420px;top:auto;bottom:0;right:0}}.toast{pointer-events:auto;justify-content:space-between;align-items:center;gap:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);width:100%;padding:var(--space-6);padding-right:var(--space-8);box-shadow:var(--shadow-lg);transition:all var(--transition-normal);background:var(--color-surface-raised);color:var(--color-on-surface);display:flex;position:relative;overflow:hidden}.toast-destructive{background:var(--color-danger);color:var(--color-on-danger);border-color:var(--color-danger)}.toast-success{background:var(--color-success);color:var(--color-on-success);border-color:var(--color-success)}.toast-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.toast-description{font-size:var(--font-size-sm);opacity:.9}.toast-close{right:var(--space-2);top:var(--space-2);border-radius:var(--radius-md);padding:var(--space-1);color:var(--color-on-surface-muted);opacity:0;transition:opacity var(--transition-fast);cursor:pointer;background:0 0;border:none;position:absolute}.toast:hover .toast-close{opacity:1}.toast-close:hover{color:var(--color-on-surface)}@media (hover:none){.toast-close{opacity:1}}.label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);color:var(--color-on-surface)}.label-disabled{cursor:not-allowed;opacity:.7}.form-item{gap:var(--space-2);flex-direction:column;display:flex}.form-message{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-danger)}.form-description{font-size:var(--font-size-xs);color:var(--color-on-surface-muted)}.pagination{justify-content:center;align-items:center;gap:var(--space-1);display:flex}.pagination-item{border-radius:var(--radius-md);width:2.25rem;height:2.25rem;font-size:var(--font-size-sm);cursor:pointer;color:var(--color-on-surface);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.pagination-item:hover{background:var(--color-surface-sunken)}.pagination-item-active{background:var(--color-primary);color:var(--color-on-primary)}.pagination-item:disabled{pointer-events:none;opacity:.5}.breadcrumbs{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-on-surface-muted);display:flex}.breadcrumbs a{color:var(--color-on-surface-muted);transition:color var(--transition-fast);text-decoration:none}.breadcrumbs a:hover,.breadcrumbs-current{color:var(--color-on-surface)}.breadcrumbs-separator{color:var(--color-on-surface-faint)}.upload-zone{border:2px dashed var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--space-10)var(--space-6);text-align:center;cursor:pointer;transition:all var(--transition-normal);position:relative;overflow:hidden}.upload-zone:hover{border-color:var(--color-primary);background:var(--color-primary-subtle)}.upload-zone input[type=file]{display:none}.navbar{padding:var(--space-4)var(--space-6);border-bottom:1px solid var(--color-border);background:var(--color-surface-raised);justify-content:space-between;align-items:center;display:flex}.nav-links{gap:var(--space-6);display:flex}.nav-link{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-on-surface-muted);transition:color var(--transition-fast);text-decoration:none}.nav-link:hover{color:var(--color-on-surface)}.nav-link-active{color:var(--color-primary)}.code-block{font-family:var(--font-mono);font-size:var(--font-size-sm);background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4)var(--space-5);color:var(--color-on-surface);transition:all var(--transition-theme);overflow-x:auto}.palette-preview{gap:var(--space-2);margin-top:var(--space-4);justify-content:center;display:flex}.palette-swatch{border-radius:var(--radius-md);border:2px solid var(--color-border);width:40px;height:40px;transition:all var(--transition-normal)}.stat-card{text-align:center;padding:var(--space-6)}.stat-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);color:var(--color-primary);transition:color var(--transition-theme)}.stat-label{font-size:var(--font-size-sm);color:var(--color-on-surface-muted);margin-top:var(--space-1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes dialogIn{0%{opacity:0;transform:translate(-50%,-50%)scale(.95)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes dialogOut{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.95)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.zhub-logo-link{text-decoration:none}.zhub-logo{font-family:var(--font-body);font-size:1.5rem;font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);color:var(--color-primary);white-space:nowrap;-webkit-user-select:none;user-select:none;transition:color var(--transition-theme),opacity .15s;line-height:1}a:hover>.zhub-logo{opacity:.85}.zhub-logo-z{vertical-align:baseline;width:auto;height:.62em;display:inline-block}.powered-by-zuko{margin-left:var(--space-2);font-family:var(--font-body);white-space:nowrap;color:var(--color-on-surface-muted);align-items:baseline;font-size:.7rem;font-weight:500;line-height:1;text-decoration:none;transition:color .15s;display:none}.powered-by-zuko:hover,.powered-by-zuko:focus-visible{color:var(--color-on-surface);text-decoration:none}@media (min-width:640px){.powered-by-zuko{display:inline-flex}}.navbar-link{min-width:72px;height:64px;font-family:var(--font-body);color:var(--color-on-surface-muted);cursor:pointer;white-space:nowrap;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0 8px;font-weight:500;text-decoration:none;transition:color .2s;display:inline-flex;position:relative}.navbar-link-icon{flex-shrink:0;width:22px;height:22px}.navbar-link-label{font-size:.72rem;line-height:1}.navbar-link:hover,.navbar-link.active{color:var(--color-on-surface)}.navbar-link.active .navbar-link-label{font-weight:600}.navbar-link:after{content:"";background:0 0;border-radius:2px 2px 0 0;height:2px;transition:background .2s;position:absolute;bottom:0;left:8px;right:8px}.navbar-link:hover:after{background:var(--color-border-strong,var(--color-border))}.navbar-link.active:after{background:var(--color-on-surface)}.navbar-menu-link{text-decoration:none}.navbar-divider{width:1px;height:28px;margin:0 var(--space-3);background:var(--color-border);flex-shrink:0}.navbar-action{flex-direction:column;justify-content:center;align-items:center;gap:1px;display:inline-flex}.navbar-action-label{color:var(--color-on-surface-muted);white-space:nowrap;font-size:.72rem;line-height:1;display:none}@media (min-width:1024px){.navbar-action-label{display:block}}.navbar-search{align-items:center;min-width:0;display:flex;position:relative}.navbar-search--bar{margin-left:var(--space-5);flex:0 320px;display:none}@media (min-width:1024px){.navbar-search--bar{display:flex}}@media (min-width:1280px){.navbar-search--bar{min-width:240px}}.navbar-search--menu{width:100%;padding:0 var(--space-4)var(--space-2)}.navbar-search-icon{pointer-events:none;width:16px;height:16px;color:var(--color-on-surface-muted);position:absolute;left:14px}.navbar-search--menu .navbar-search-icon{left:calc(var(--space-4) + 14px)}.navbar-search-input{width:100%;height:40px;padding:0 var(--space-4)0 38px;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface-raised);color:var(--color-on-surface);font-family:var(--font-body);appearance:none;outline:none;font-size:.88rem;transition:border-color .15s,box-shadow .15s}.navbar-search-input::placeholder{color:var(--color-on-surface-muted)}.navbar-search-input:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.navbar-search-input::-webkit-search-cancel-button{display:none}.navbar-search-spinner{width:16px;height:16px;color:var(--color-on-surface-muted);position:absolute;right:14px}.navbar-search--menu .navbar-search-spinner{right:calc(var(--space-4) + 14px)}.navbar-search-panel{z-index:60;max-height:min(420px,100vh - 96px);padding:var(--space-2);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.navbar-search--menu .navbar-search-panel{left:var(--space-4);right:var(--space-4)}.navbar-search-heading{padding:var(--space-1)var(--space-2);letter-spacing:.06em;text-transform:uppercase;color:var(--color-on-surface-faint);font-size:.68rem;font-weight:700}.navbar-search-row{width:100%;padding:var(--space-2);border-radius:var(--radius-md);text-align:left;cursor:pointer;background:0 0;border:none;display:block}.navbar-search-row.is-highlighted{background:var(--color-surface-sunken)}.navbar-search-row-top{align-items:center;gap:8px;min-width:0;display:flex}.navbar-search-row-icon{flex-shrink:0;width:14px;height:14px}.navbar-search-row-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:22px;height:22px}.navbar-search-row-title{color:var(--color-on-surface);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600;overflow:hidden}.navbar-search-row-meta{padding-left:var(--space-2);color:var(--color-on-surface-faint);flex-shrink:0;margin-left:auto;font-size:.72rem}.navbar-search-row-snippet{color:var(--color-on-surface-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.78rem;display:block;overflow:hidden}.navbar-search-empty{padding:var(--space-3);color:var(--color-on-surface-muted);font-size:.85rem}.navbar-search-cta{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-on-surface);white-space:nowrap;padding:4px 12px;font-size:.78rem;font-weight:600;text-decoration:none;display:inline-flex}.navbar-search-cta--primary{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.community-page{max-width:1600px;padding:50px var(--space-6)var(--space-6);gap:var(--space-6);grid-template-columns:220px 1fr 300px;align-items:start;margin:0 auto;display:grid}@media (max-width:1024px){.community-page{grid-template-columns:1fr 280px}.community-page .sidebar-left{border-top:1px solid var(--color-border);padding-top:var(--space-6);order:2;grid-column:1/-1;position:static}}@media (max-width:768px){.community-page{padding:var(--space-4);grid-template-columns:1fr}.community-page .sidebar-right{border-top:1px solid var(--color-border);padding-top:var(--space-6);order:3;position:static}}.sidebar-left{min-width:0;position:sticky;top:72px}.sidebar-section{margin-bottom:var(--space-8)}.sidebar-heading{text-transform:uppercase;letter-spacing:.1em;color:var(--color-on-surface-faint);margin-bottom:var(--space-3);padding-left:var(--space-3);font-size:.68rem;font-weight:700}.sidebar-subheading{color:var(--color-on-surface-faint);padding:var(--space-2)var(--space-3)var(--space-1);opacity:.7;font-size:.7rem;font-weight:600}.sidebar-link{align-items:center;gap:var(--space-3);padding:var(--space-2)var(--space-3);border-radius:var(--radius-md);color:var(--color-on-surface-muted);cursor:pointer;transition:all var(--transition-fast);font-size:.85rem;font-weight:500;text-decoration:none;display:flex;position:relative;overflow:hidden}.sidebar-link:hover{color:var(--color-on-surface);background:var(--color-surface-sunken)}.sidebar-link.active{color:var(--color-on-primary-subtle);background:var(--color-primary-subtle)}.sidebar-link svg{opacity:.7;flex-shrink:0;width:18px;height:18px}.sidebar-link .count{color:var(--color-on-surface-faint);background:var(--color-surface-sunken);border-radius:var(--radius-full);margin-left:auto;padding:1px 7px;font-size:.72rem;font-weight:600}.sidebar-link:before{content:"";background:var(--color-primary);border-radius:0 2px 2px 0;width:3px;height:0;transition:height .25s cubic-bezier(.23,1,.32,1);position:absolute;top:50%;left:0;transform:translateY(-50%)}.sidebar-link.active:before{height:60%}.sidebar-link:hover:before{height:40%}.feed{min-width:0}.feed-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.feed-tabs{gap:var(--space-1);-webkit-overflow-scrolling:touch;min-width:0;max-width:100%;display:flex;position:relative;overflow-x:auto}.feed-tab{padding:var(--space-2)var(--space-4);border-radius:var(--radius-full);color:var(--color-on-surface-muted);cursor:pointer;font-size:.82rem;font-weight:500;font-family:var(--font-body);background:0 0;border:none;transition:all .25s cubic-bezier(.23,1,.32,1);position:relative}.feed-tab:hover{color:var(--color-on-surface);background:var(--color-surface-sunken)}.feed-tab.active{color:var(--color-on-surface);background:var(--color-surface-raised);box-shadow:0 1px 4px var(--color-shadow)}.feed-tab:active{transform:scale(.95)}.feed-tab .hot-dot{background:var(--color-hot);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:4px;display:inline-block}.forum-list-row:hover{background:var(--color-surface-sunken)}.forum-list-row:last-child{border-bottom:none!important}.post-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-3);cursor:pointer;will-change:transform;transition:transform .3s cubic-bezier(.23,1,.32,1),box-shadow .3s cubic-bezier(.23,1,.32,1),border-color .3s;position:relative;overflow:hidden}.post-card:hover{box-shadow:0 8px 28px var(--color-shadow);border-color:var(--color-border-strong);transform:translateY(-2px)}.post-card:active{transition-duration:.1s;transform:translateY(0)}.post-card:before{content:"";background:var(--color-primary);transform-origin:50%;border-radius:0 3px 3px 0;width:3px;transition:transform .3s cubic-bezier(.23,1,.32,1);position:absolute;top:12px;bottom:12px;left:0;transform:scaleY(0)}.post-card:hover:before{transform:scaleY(1)}.post-card.pinned{border-left:3px solid var(--color-primary)}.post-card.pinned:before{display:none}.post-card-inner{gap:var(--space-4);display:flex}.vote-col{flex-direction:column;flex-shrink:0;align-items:center;gap:2px;padding-top:2px;display:flex}.vote-btn{border-radius:var(--radius-sm);cursor:pointer;width:28px;height:28px;color:var(--color-on-surface-faint);background:0 0;border:none;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.23,1,.32,1);display:flex}.vote-btn:hover{background:var(--color-surface-sunken);transform:scale(1.1)}.vote-btn:active{transform:scale(.9)}.vote-btn.upvoted{color:var(--color-vote-up)}.vote-btn.downvoted{color:var(--color-vote-down)}.vote-btn svg{width:18px;height:18px}.vote-btn.vote-anim{animation:.35s cubic-bezier(.23,1,.32,1) votePop}.vote-count{color:var(--color-on-surface);text-align:center;min-width:28px;font-size:.82rem;font-weight:700;line-height:1;transition:color .2s}.vote-count.count-up{animation:.3s countSlideUp}.vote-count.count-down{animation:.3s countSlideDown}.post-content{flex:1;min-width:0}.post-meta{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);color:var(--color-on-surface-muted);flex-wrap:wrap;font-size:.78rem;display:flex}.post-meta img{border-width:1.5px}.post-author{color:var(--color-on-surface);font-weight:600}.post-meta .dot{opacity:.4}.post-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-full);padding:1px 6px;font-size:.65rem;font-weight:700;position:relative;overflow:hidden}.post-badge:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 35%,#ffffff40 50%,#0000 65%) 0 0/250% 100%;animation:4s ease-in-out infinite shimmer;position:absolute;inset:0}.badge-staff{background:var(--color-badge-staff);color:#fff}.badge-mod{background:var(--color-badge-mod);color:#fff}.badge-op{background:var(--color-primary);color:var(--color-on-primary)}.post-title{font-family:var(--font-display);letter-spacing:var(--letter-spacing-tight);color:var(--color-on-surface);margin-bottom:var(--space-2);transition:color var(--transition-theme);background-image:linear-gradient(var(--color-primary),var(--color-primary));transition:background-size .35s cubic-bezier(.23,1,.32,1),color var(--transition-theme);background-position:0 100%;background-repeat:no-repeat;background-size:0% 2px;padding-bottom:2px;font-size:1.15rem;font-weight:700;line-height:1.35}.post-card:hover .post-title{color:var(--color-primary);background-size:100% 2px}.post-excerpt{color:var(--color-on-surface-muted);-webkit-line-clamp:2;margin-bottom:var(--space-3);-webkit-box-orient:vertical;font-size:.88rem;line-height:1.6;display:-webkit-box;overflow:hidden}.post-body{font-size:var(--font-size-base);color:var(--color-on-surface);line-height:var(--line-height-relaxed);margin-bottom:var(--space-3);overflow-wrap:break-word}.pinned-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-primary);margin-bottom:var(--space-2);align-items:center;gap:var(--space-1);font-size:.68rem;font-weight:700;display:flex}.pinned-label svg{width:12px;height:12px;animation:2s ease-in-out infinite breathe}.post-tags{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.community-tag{border-radius:var(--radius-full);background:var(--color-surface-sunken);color:var(--color-on-surface-muted);cursor:pointer;border:1px solid #0000;padding:2px 10px;font-size:.72rem;font-weight:600;transition:all .2s cubic-bezier(.23,1,.32,1)}.community-tag:hover{border-color:var(--color-border-strong);color:var(--color-on-surface);box-shadow:0 2px 8px var(--color-shadow);transform:translateY(-1px)scale(1.04)}.community-tag-primary{background:var(--color-primary-subtle);color:var(--color-on-primary-subtle)}.community-tag-accent{background:var(--color-accent-subtle);color:var(--color-on-accent-subtle)}.post-actions{gap:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.post-action{align-items:center;gap:var(--space-1);color:var(--color-on-surface-faint);cursor:pointer;font-size:.78rem;font-weight:500;font-family:var(--font-body);padding:var(--space-1)var(--space-2);border-radius:var(--radius-sm);background:0 0;border:none;transition:all .2s cubic-bezier(.23,1,.32,1);display:flex;position:relative}.post-action:hover{color:var(--color-primary);background:var(--color-primary-subtle);transform:translateY(-1px)}.post-action:hover svg{animation:.35s cubic-bezier(.23,1,.32,1) votePop}.post-action svg{width:15px;height:15px}.btn-new-post{align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-4);background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-full);font-family:var(--font-body);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;font-size:.82rem;font-weight:600;display:flex;position:relative;overflow:hidden}.btn-new-post svg{width:14px;height:14px}.btn-new-post:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 40%,#ffffff2e 50%,#0000 60%) 0 0/200% 100%;animation:3s ease-in-out infinite shimmer;position:absolute;inset:0}.btn-new-post:hover{box-shadow:0 4px 14px color-mix(in srgb,var(--color-primary)30%,transparent);transform:translateY(-1px)}.btn-new-post:active{transition-duration:.1s;transform:translateY(0)}.post-action.saved{color:var(--color-primary)}.post-action.saved svg{fill:currentColor}.sidebar-right{gap:var(--space-5);flex-direction:column;min-width:0;display:flex;position:sticky;top:72px}.sidebar-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);transition:all .3s cubic-bezier(.23,1,.32,1)}.sidebar-card:hover{box-shadow:0 6px 22px var(--color-shadow);transform:translateY(-2px)}.sidebar-card-title{font-family:var(--font-display);margin-bottom:var(--space-4);align-items:center;gap:var(--space-2);font-size:.95rem;font-weight:600;display:flex}.sidebar-card-title svg{width:16px;height:16px;color:var(--color-primary)}.trending-item{align-items:baseline;gap:var(--space-3);padding:var(--space-2)0;border-bottom:1px solid var(--color-border);border-radius:var(--radius-sm);padding-left:0;transition:all .2s;display:flex}.trending-item:last-child{border-bottom:none}.trending-item:hover{padding-left:var(--space-2);background:var(--color-surface-sunken)}.trending-rank{font-family:var(--font-mono);color:var(--color-on-surface-faint);text-align:right;flex-shrink:0;width:18px;font-size:.72rem;font-weight:500}.trending-info{flex:1;min-width:0}.trending-topic{color:var(--color-on-surface);cursor:pointer;font-size:.85rem;font-weight:600;line-height:1.3;display:block}.trending-topic:hover{color:var(--color-primary)}.trending-stat{color:var(--color-on-surface-faint);margin-top:1px;font-size:.72rem}.trending-hot{color:var(--color-hot);flex-shrink:0;align-items:center;gap:3px;margin-left:auto;font-size:.65rem;font-weight:700;display:flex}.trending-hot:before{content:"";background:var(--color-hot);border-radius:50%;width:5px;height:5px;animation:1.5s ease-in-out infinite communityPulse}.member-row{align-items:center;gap:var(--space-3);padding:var(--space-2)0;border-radius:var(--radius-sm);transition:all .2s;display:flex}.member-row:hover{padding-left:var(--space-2);padding-right:var(--space-2);background:var(--color-surface-sunken);cursor:pointer}.member-info{flex:1;min-width:0}.member-name{color:var(--color-on-surface);font-size:.85rem;font-weight:600;line-height:1.2;display:block}.member-role{color:var(--color-on-surface-faint);font-size:.72rem}.online-dot{background:var(--color-success);border:2px solid var(--color-surface-raised);border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:2.5s ease-in-out infinite breathe}.community-stat-row{padding:var(--space-2)0;border-bottom:1px solid var(--color-border);justify-content:space-between;font-size:.85rem;display:flex}.community-stat-row:last-child{border-bottom:none}.community-stat-label{color:var(--color-on-surface-muted)}.community-stat-val{color:var(--color-on-surface);font-weight:700;font-family:var(--font-mono);transition:color var(--transition-theme);font-size:.82rem}.community-guidelines-list{margin:0;padding:0;font-size:.82rem;list-style:none}.community-guidelines-list li{padding:var(--space-2)0;border-bottom:1px solid var(--color-border);color:var(--color-on-surface-muted);gap:var(--space-2);border-radius:var(--radius-sm);line-height:1.4;transition:all .2s;display:flex}.community-guidelines-list li:last-child{border-bottom:none}.community-guidelines-list li span{flex-shrink:0}.community-guidelines-list li:hover{padding-left:var(--space-2);background:var(--color-surface-sunken);color:var(--color-on-surface)}.community-avatar{border-radius:var(--radius-full);object-fit:cover;border:2px solid var(--color-border);cursor:pointer;flex-shrink:0;transition:border-color .25s,transform .25s cubic-bezier(.23,1,.32,1),box-shadow .25s}.community-avatar:hover{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);transform:scale(1.08)}.community-avatar-sm{border-width:1.5px;width:28px;height:28px}.checkbox{cursor:pointer;width:1rem;height:1rem;accent-color:var(--color-primary);border-radius:var(--radius-xs);flex-shrink:0}.prose.markdown-body{max-width:none}.markdown-body ol{margin:0 0 var(--space-4);padding-left:1.6em;list-style:decimal}.markdown-body ul{margin:0 0 var(--space-4);padding-left:1.6em;list-style:outside}.markdown-body li{margin-bottom:var(--space-2);color:var(--color-on-surface)}.markdown-body li::marker{color:var(--color-primary);font-weight:600}.markdown-body li>p{margin:0 0 var(--space-1)}.markdown-body strong{color:var(--color-on-surface);font-weight:700}@media (max-width:640px){.input,.textarea,select,textarea,input[type=text],input[type=email],input[type=password],input[type=search],input[type=url],input[type=tel],input[type=number]{font-size:var(--font-size-base)}.tabs-list{-webkit-overflow-scrolling:touch;justify-content:flex-start;width:100%;max-width:100%;overflow-x:auto}.feed-tabs{flex:100%}.feed-tab{white-space:nowrap}.post-action{min-height:28px}.post-card{padding:var(--space-4)}}.skip-link{left:-9999px;top:var(--space-2);z-index:300;padding:var(--space-2)var(--space-4);background:var(--color-surface-raised);color:var(--color-on-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-md);text-decoration:none;position:fixed}.skip-link:focus{left:var(--space-2);outline:2px solid var(--color-focus-ring);outline-offset:2px}.modal-title-input:focus-visible,.modal-body-textarea:focus-visible,.composer-textarea:focus-visible,.group-name-input:focus-visible,.tag-input-field:focus-visible,.mp-search-input:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}@media (max-width:480px){.claim-xp-label{display:none}}.modal-backdrop[data-state=open]{animation:.2s fadeIn}.modal-backdrop[data-state=open] .modal-panel{animation:.22s dialogIn}.chat-drawer-backdrop{z-index:50;background:#0006;position:fixed;inset:0}.chat-drawer-backdrop[data-state=open]{animation:.2s fadeIn}.chat-drawer-backdrop[data-state=closed]{pointer-events:none;animation:.2s forwards fadeOut}.chat-drawer-panel{z-index:50;background:var(--color-surface-raised);border-left:1px solid var(--color-border);width:100%;height:100dvh;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden}@media (min-width:640px){.chat-drawer-panel{width:min(420px,100vw - 2rem)}}.chat-drawer-panel[data-state=open]{animation:.2s cubic-bezier(.32,.72,0,1) slideInFromRight}.chat-drawer-panel[data-state=closed]{pointer-events:none;animation:.2s cubic-bezier(.32,.72,0,1) forwards slideOutToRight}.chat-drawer-header{align-items:center;gap:var(--space-2);padding:var(--space-3)3rem var(--space-3)var(--space-4);border-bottom:1px solid var(--color-border);flex-shrink:0;display:flex}.chat-drawer-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-on-surface);margin:0}.chat-drawer-body{flex:1;min-height:0;overflow-y:auto}.chat-drawer-footer{border-top:1px solid var(--color-border);padding:var(--space-3)var(--space-4);flex-shrink:0}.chat-drawer-close{top:var(--space-3);right:var(--space-4);border-radius:var(--radius-md);width:2rem;height:2rem;color:var(--color-on-surface-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex;position:absolute}.chat-drawer-close:hover{background:var(--color-surface-sunken);color:var(--color-on-surface)}.chat-drawer-close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.chat-drawer-close svg{width:1.125rem;height:1.125rem}.chat-drawer-back{border-radius:var(--radius-md);width:2rem;height:2rem;color:var(--color-on-surface-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.chat-drawer-back:hover{background:var(--color-surface-sunken);color:var(--color-on-surface)}.chat-drawer-back:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.chat-drawer-back svg{width:1.125rem;height:1.125rem}.chat-drawer-title:focus{outline:none}.chat-drawer-title:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.chat-thread-header__avatar{border-radius:var(--radius-full);object-fit:cover;flex-shrink:0;width:2rem;height:2rem}.chat-thread-header__avatar--fallback{background:var(--color-primary-subtle);color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);justify-content:center;align-items:center;display:inline-flex}.chat-thread-header__identity{flex:1;min-width:0}.chat-thread-header__identity .chat-drawer-title{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.chat-thread-header__meta{font-size:var(--font-size-xs);color:var(--color-on-surface-muted);margin:0}.chat-drawer-actions{align-items:center;gap:var(--space-1);margin-left:auto;display:flex}.chat-drawer-action{border-radius:var(--radius-md);width:2rem;height:2rem;color:var(--color-on-surface-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.chat-drawer-action:hover{background:var(--color-surface-sunken);color:var(--color-on-surface)}.chat-drawer-action:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.chat-drawer-action svg{width:1.125rem;height:1.125rem}.chat-drawer-search{padding:var(--space-2)var(--space-4);border-bottom:1px solid var(--color-border);flex-shrink:0;align-items:center;display:flex;position:relative}.chat-drawer-search__icon{left:calc(var(--space-4) + .625rem);width:1rem;height:1rem;color:var(--color-on-surface-muted);pointer-events:none;position:absolute}.chat-drawer-search__input{border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface-sunken);width:100%;color:var(--color-on-surface);font-size:var(--font-size-sm);padding:.5rem 2rem .5rem 2.25rem}.chat-drawer-search__input::placeholder{color:var(--color-on-surface-muted)}.chat-drawer-search__input:focus-visible{outline:2px solid var(--color-primary);outline-offset:-1px}.chat-drawer-search__input::-webkit-search-cancel-button{display:none}.chat-drawer-search__clear{right:calc(var(--space-4) + .5rem);border-radius:var(--radius-full);width:1.25rem;height:1.25rem;color:var(--color-on-surface-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex;position:absolute}.chat-drawer-search__clear:hover{color:var(--color-on-surface)}.chat-drawer-search__clear:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.chat-drawer-search__clear svg{width:.875rem;height:.875rem}.chat-drawer-thread{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.chat-drawer-thread__inner{flex-direction:column;flex:1;min-height:0;display:flex}.chat-thread-root{flex:1;width:100%;height:100%;min-height:0;display:flex}.chat-drawer-empty{padding:var(--space-6)var(--space-4);text-align:center;color:var(--color-on-surface-muted)}.chat-drawer-archived-link{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3)var(--space-4);border:none;border-bottom:1px solid var(--color-border);color:var(--color-on-surface-muted);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--transition-fast);background:0 0;display:flex}.chat-drawer-archived-link:hover{background:var(--color-surface-sunken);color:var(--color-on-surface)}.chat-drawer-archived-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.chat-drawer-archived-link svg{flex-shrink:0;width:1.125rem;height:1.125rem}.chat-reply-chip{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);padding:var(--space-2)var(--space-3);border-left:3px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-surface-sunken);display:flex}.chat-reply-chip__body{flex-direction:column;flex:1;min-width:0;display:flex}.chat-reply-chip__name{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-primary)}.chat-reply-chip__preview{font-size:var(--font-size-xs);color:var(--color-on-surface-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-button{border-radius:var(--radius-md);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex;position:relative}.chat-button:hover{background:var(--color-surface-sunken)}.chat-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.conversation-list{margin:0;padding:0;list-style:none}.conversation-row{width:100%;padding:var(--space-3);border:none;border-top:1px solid var(--color-border);font:inherit;text-align:left;cursor:pointer;transition:background var(--transition-fast);background:0 0;align-items:center;display:flex}.conversation-list li:first-child .conversation-row{border-top:none}.conversation-row:hover{background:var(--color-surface-sunken)}.conversation-row[aria-current=true]{background:var(--color-primary-subtle)}.conversation-row:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.conversation-row__avatar{width:3rem;height:3rem;margin-right:var(--space-3);border-radius:var(--radius-full);object-fit:cover;flex-shrink:0}.conversation-row__avatar--fallback{background:var(--color-primary-subtle);color:var(--color-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);justify-content:center;align-items:center;display:inline-flex}.conversation-row__body{flex:1;min-width:0}.conversation-row__line{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.conversation-row__name{font-size:var(--font-size-sm);color:var(--color-on-surface);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.conversation-row__name--unread{font-weight:var(--font-weight-semibold)}.conversation-row__time{font-size:var(--font-size-xs);color:var(--color-on-surface-muted);flex-shrink:0}.conversation-row__time--unread{color:var(--color-on-success-subtle)}.conversation-row__preview{font-size:var(--font-size-xs);color:var(--color-on-surface-muted);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;overflow:hidden}.conversation-row__preview--unread{color:var(--color-on-surface)}.conversation-row__badge{border-radius:var(--radius-full);background:var(--color-danger);min-width:1.25rem;height:1.25rem;color:var(--color-on-danger);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);flex-shrink:0;justify-content:center;align-items:center;padding:0 .375rem;display:inline-flex}.chat-thread{position:relative}.chat-thread__scroll-wrap{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.chat-jump-latest{bottom:var(--space-3);z-index:1;align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface-raised);color:var(--color-on-surface);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-md);cursor:pointer;display:inline-flex;position:absolute;left:50%;transform:translate(-50%)}.chat-jump-latest:hover{background:var(--color-surface-sunken)}.chat-outgoing-bubble{opacity:.75}.chat-outgoing-sending,.chat-outgoing-failed{align-items:center;gap:var(--space-1);margin-top:var(--space-1);font-size:var(--font-size-xs);color:var(--color-on-surface-muted);justify-content:flex-end;display:flex}.chat-outgoing-failed{color:var(--color-danger)}.chat-outgoing-thumb{object-fit:cover;border-radius:var(--radius-sm);width:4rem;height:4rem}.chat-outgoing-file{align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);display:inline-flex}.chat-typing{align-items:center;gap:var(--space-2);padding:var(--space-1);display:flex}.chat-typing__dots{gap:.125rem;display:flex}.chat-typing__dot{border-radius:var(--radius-full);background:var(--color-on-surface-muted);width:.375rem;height:.375rem;animation:1s infinite bounce-sm}.chat-typing__dot:nth-child(2){animation-delay:.15s}.chat-typing__dot:nth-child(3){animation-delay:.3s}.chat-typing__label{font-size:var(--font-size-xs);color:var(--color-on-surface-muted)}.chat-list-more{padding:var(--space-3);justify-content:center;display:flex}.chat-reply-quote{text-align:left;border:none;border-left:2px solid var(--color-primary);width:100%;padding:0 0 0 var(--space-2);margin-bottom:var(--space-1);color:inherit;font-size:var(--font-size-xs);opacity:.75;cursor:pointer;background:0 0;display:block}.chat-reply-quote:hover{opacity:1}.chat-message--highlight{border-radius:var(--radius-md);animation:1.6s ease-out chatJumpHighlight}@keyframes chatJumpHighlight{0%,40%{background:var(--color-primary-subtle)}to{background:0 0}}.chat-jump-miss{margin:0 var(--space-4)var(--space-2);font-size:var(--font-size-xs);color:var(--color-on-surface-muted);text-align:center}.explore-list{gap:var(--space-5);flex-direction:column;list-style:none;display:flex}.explore-item{padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border)}.explore-item__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.explore-item__title a{color:var(--color-on-surface);text-decoration:none}.explore-item__title a:hover{color:var(--color-primary);text-decoration:underline}.explore-item__excerpt{margin-top:var(--space-2);color:var(--color-on-surface-muted);font-size:var(--font-size-sm)}.explore-item__meta{margin-top:var(--space-2);color:var(--color-on-surface-muted);font-size:var(--font-size-xs)}button.sidebar-link{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;font-family:inherit}.courses-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.courses-header h1{font-family:var(--font-display);font-size:1.35rem;font-weight:var(--font-weight-bold);color:var(--color-on-surface);margin:0}.courses-header-sub{margin:var(--space-1)0 0;color:var(--color-on-surface-muted);font-size:.85rem}.course-search{margin-bottom:var(--space-4);position:relative}.course-search svg{width:16px;height:16px;color:var(--color-on-surface-faint);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.course-search input{border-radius:var(--radius-full);border:1px solid var(--color-input-border);background:var(--color-input-bg);width:100%;color:var(--color-on-surface);transition:border-color var(--transition-fast);padding:10px 14px 10px 40px;font-size:.85rem}.course-search input::placeholder{color:var(--color-input-placeholder)}.course-search input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.course-resume-banner{align-items:center;gap:var(--space-4);background:var(--color-primary-subtle);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--space-4)var(--space-5);margin-bottom:var(--space-6);display:flex}.course-resume-ring{flex-shrink:0}.course-resume-ring svg{display:block}.course-resume-ring .ring-track{stroke:var(--color-border)}.course-resume-ring .ring-fill{stroke:var(--color-primary);transition:stroke-dashoffset var(--transition-slow)}.course-resume-ring text{fill:var(--color-on-surface);font-size:11px;font-weight:var(--font-weight-bold)}.course-resume-info{flex:1;min-width:0}.course-resume-eyebrow{font-size:.65rem;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.1em;color:var(--color-on-primary-subtle);margin-bottom:var(--space-1)}.course-resume-title{font-family:var(--font-display);font-size:1rem;font-weight:var(--font-weight-semibold);color:var(--color-on-surface);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.course-resume-meta{color:var(--color-on-surface-muted);margin-top:var(--space-1);font-size:.78rem}.course-resume-cta{padding:var(--space-2)var(--space-5);border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-on-primary);font-size:.85rem;font-weight:var(--font-weight-semibold);transition:background var(--transition-fast),transform var(--transition-fast);flex-shrink:0;align-items:center;text-decoration:none;display:inline-flex}.course-resume-cta:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.course-track-rail{margin-bottom:var(--space-6);scroll-margin-top:90px}.course-track-parts{align-items:stretch;gap:var(--space-2);display:flex}.course-part-chevron{color:var(--color-on-surface-faint);flex-shrink:0;align-self:center}.course-part-card{gap:var(--space-2);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:0;padding:var(--space-4);transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast);flex-direction:column;flex:1;text-decoration:none;display:flex}.course-part-card:hover{box-shadow:0 6px 22px var(--color-shadow);border-color:var(--color-border-strong);transform:translateY(-2px)}.course-part-status{align-items:center;gap:var(--space-2);color:var(--color-on-surface-muted);font-size:.72rem;display:flex}.course-part-num{border-radius:var(--radius-full);width:22px;height:22px;font-size:.7rem;font-weight:var(--font-weight-bold);background:var(--color-surface-sunken);color:var(--color-on-surface-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.course-part-card.is-current .course-part-num{background:var(--color-primary);color:var(--color-on-primary)}.course-part-card.is-done .course-part-num{background:var(--color-success-subtle);color:var(--color-on-success-subtle)}.course-part-title{font-family:var(--font-display);font-size:.92rem;font-weight:var(--font-weight-semibold);color:var(--color-on-surface);line-height:var(--line-height-tight);flex:1}.course-part-bar{border-radius:var(--radius-full);background:var(--color-surface-sunken);height:4px;overflow:hidden}.course-part-bar-fill{border-radius:var(--radius-full);background:var(--color-primary);height:100%}.course-part-card.is-done .course-part-bar-fill{background:var(--color-success)}.courses-grid{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.course-card-c{gap:var(--space-2);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast);flex-direction:column;display:flex}.course-card-c:hover{box-shadow:0 8px 28px var(--color-shadow);border-color:var(--color-border-strong);transform:translateY(-2px)}.course-card-c-top{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.course-card-c-eyebrow{font-size:.65rem;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.09em;color:var(--color-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.course-card-c-badges{gap:var(--space-1);flex-shrink:0;display:flex}.course-card-c-title{font-family:var(--font-display);font-size:1.05rem;font-weight:var(--font-weight-semibold);color:var(--color-on-surface);line-height:var(--line-height-tight);margin:0}.course-card-c-title a{color:inherit;text-decoration:none}.course-card-c-title a:hover{color:var(--color-primary)}.course-card-c-desc{color:var(--color-on-surface-muted);font-size:.85rem;line-height:var(--line-height-normal);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.course-card-c-progress{border-radius:var(--radius-full);background:var(--color-surface-sunken);height:4px;overflow:hidden}.course-card-c-progress>div{border-radius:var(--radius-full);background:var(--color-primary);height:100%}.course-card-c-footer{justify-content:space-between;align-items:center;gap:var(--space-3);border-top:1px solid var(--color-border);padding-top:var(--space-3);margin-top:auto;display:flex}.course-card-c-meta{align-items:center;gap:var(--space-3);color:var(--color-on-surface-faint);min-width:0;font-size:.75rem;display:flex}.course-card-c-meta span{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.course-card-c-meta svg{width:13px;height:13px}.course-card-c-cta{font-size:.82rem;font-weight:var(--font-weight-semibold);color:var(--color-primary);white-space:nowrap;flex-shrink:0;text-decoration:none}.course-card-c-cta:hover{text-decoration:underline}.course-card-c-cta.is-done{color:var(--color-success)}@media (max-width:768px){.course-track-parts{padding-bottom:var(--space-2);-webkit-overflow-scrolling:touch;overflow-x:auto}.course-part-card{flex:none;min-width:200px}.course-part-chevron{display:none}.course-resume-banner{flex-wrap:wrap}.course-resume-cta{justify-content:center;width:100%}}
