@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-devanagari-400-normal-CJDn6rn8.woff2) format("woff2"),url(/assets/poppins-devanagari-400-normal-CqVvlrh5.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-ext-400-normal-by3JarPu.woff2) format("woff2"),url(/assets/poppins-latin-ext-400-normal-DaBSavcJ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-400-normal-cpxAROuN.woff2) format("woff2"),url(/assets/poppins-latin-400-normal-BOb3E3N0.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-devanagari-500-normal-BIdkeU1p.woff2) format("woff2"),url(/assets/poppins-devanagari-500-normal-DMPDjHtT.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-latin-ext-500-normal-CK-6C4Hw.woff2) format("woff2"),url(/assets/poppins-latin-ext-500-normal-CgAe2rWW.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-latin-500-normal-C8OXljZJ.woff2) format("woff2"),url(/assets/poppins-latin-500-normal-DGXqpDMm.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-devanagari-600-normal-STEjXBNN.woff2) format("woff2"),url(/assets/poppins-devanagari-600-normal-ClASKHrr.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-latin-ext-600-normal-CAhIAdZj.woff2) format("woff2"),url(/assets/poppins-latin-ext-600-normal-Df5ffKXP.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-latin-600-normal-zEkxB9Mr.woff2) format("woff2"),url(/assets/poppins-latin-600-normal-BJdTmd5m.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-devanagari-700-normal-O-jipLrW.woff2) format("woff2"),url(/assets/poppins-devanagari-700-normal-fHs-vx92.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-latin-ext-700-normal-cby-RkWa.woff2) format("woff2"),url(/assets/poppins-latin-ext-700-normal-DctTR6Tg.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-latin-700-normal-Qrb0O0WB.woff2) format("woff2"),url(/assets/poppins-latin-700-normal-BVuQR_eA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/poppins-devanagari-800-normal-ACzlZF75.woff2) format("woff2"),url(/assets/poppins-devanagari-800-normal-BLmXVokE.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/poppins-latin-ext-800-normal-CDgOlX-1.woff2) format("woff2"),url(/assets/poppins-latin-ext-800-normal-CIZaRbSk.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/poppins-latin-800-normal-Bd8-pIP1.woff2) format("woff2"),url(/assets/poppins-latin-800-normal-YoItoZZV.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-vietnamese-400-normal-BNOj0Qhp.woff2) format("woff2"),url(/assets/space-mono-vietnamese-400-normal-B0PMp_xB.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-latin-ext-400-normal-DTLbW2xa.woff2) format("woff2"),url(/assets/space-mono-latin-ext-400-normal-D4cJI_B-.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-latin-400-normal-Rg4St2Dn.woff2) format("woff2"),url(/assets/space-mono-latin-400-normal-_3DlpgIW.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-mono-vietnamese-700-normal-DWQgDHuA.woff2) format("woff2"),url(/assets/space-mono-vietnamese-700-normal-D-KrLuLr.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-mono-latin-ext-700-normal-B2s3bDs2.woff2) format("woff2"),url(/assets/space-mono-latin-ext-700-normal-B_E7P90g.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-mono-latin-700-normal-mWgeinG7.woff2) format("woff2"),url(/assets/space-mono-latin-700-normal-D7A851RN.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg-deep: #0d0d1a;--bg-dark: #12122a;--bg-card: #181836;--bg-surface: #1e1e40;--border: #2d2d5e;--border-bright: #3e3e7a;--text: #e8e8f0;--text-dim: #b8b8d6;--text-muted: #9090b8;--pink: #e040a0;--pink-dim: #e040a040;--pink-glow: #e040a020;--cyan: #00e5ff;--cyan-dim: #00e5ff30;--purple: #b44aff;--purple-dim: #b44aff30;--amber: #ffa726;--amber-dim: #ffa72630;--red: #ff5c7c;--grad-brand: linear-gradient(135deg, #b44aff 0%, #e040a0 50%, #ff6b9d 100%);--grad-neon: linear-gradient(135deg, #b44aff, #00e5ff);--grad-warm: linear-gradient(135deg, #e040a0, #ff6b9d);--grad-glow: linear-gradient(135deg, rgba(180,74,255,.15), rgba(224,64,160,.1));--space-1: 4px;--space-2: 8px;--space-3: 16px;--space-4: 24px;--space-5: 32px;--space-6: 40px;--space-7: 48px;--space-8: 56px;--space-9: 64px;--space-10: 80px;--text-xs: 11px;--text-sm: 13px;--text-base: clamp(14px, .875rem + .15vw, 15px);--text-md: clamp(15px, .9rem + .2vw, 16px);--text-lg: clamp(16px, 1rem + .25vw, 18px);--text-xl: clamp(19px, 1.1rem + .4vw, 22px);--text-2xl: clamp(22px, 1.25rem + .75vw, 28px);--text-3xl: clamp(26px, 1.5rem + 1.2vw, 36px);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--ease-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .35s;--sb-width: 320px;--sb-width-collapsed: 88px;--content-max: 920px;--shell-max: 1180px;--topbar-height: 52px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,system-ui,sans-serif;background:radial-gradient(ellipse at top left,rgba(180,74,255,.1),transparent 40%),radial-gradient(ellipse at bottom right,rgba(224,64,160,.08),transparent 40%),linear-gradient(180deg,#0d0d1a,#08081a);color:var(--text);line-height:1.7;-webkit-font-smoothing:antialiased}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}:focus:not(:focus-visible){outline:none}.ui-card{border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);background:linear-gradient(180deg,#ffffff0b,#ffffff04);box-shadow:0 20px 44px #00000024}.ui-chip{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:0 10px;border-radius:var(--radius-full);border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:var(--text-dim);font-size:11px;letter-spacing:.06em;text-transform:uppercase;line-height:1.1}.ui-btn{border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);background:#ffffff0a;color:var(--text);min-height:40px;padding:0 14px;font-family:inherit;font-size:var(--text-sm);font-weight:600;line-height:1.1;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.ui-btn:hover:not(:disabled){transform:translateY(-1px)}.ui-btn:disabled,.ui-btn[aria-busy=true]{opacity:.55;cursor:not-allowed;transform:none}.ui-btn-primary{border-color:transparent;background:var(--grad-brand);color:#fff;box-shadow:0 10px 28px #b44aff3d}.ui-btn-primary:hover:not(:disabled){filter:brightness(1.04);box-shadow:0 14px 34px #b44aff4d}.ui-btn-secondary{background:var(--bg-surface);border-color:var(--border);color:var(--text-dim)}.ui-btn-secondary:hover:not(:disabled){border-color:var(--purple);color:var(--text);background:color-mix(in srgb,var(--purple) 8%,var(--bg-surface))}.ui-btn-ghost{background:transparent;border-style:dashed;color:var(--text-dim)}.ui-btn-ghost:hover:not(:disabled){border-color:var(--purple);color:var(--text)}.ui-btn-pill{border-radius:var(--radius-full)}.ui-btn-icon{min-width:40px;width:40px;padding:0;border-radius:var(--radius-full)}.ui-btn-compact{min-height:34px;padding:0 12px;font-size:13px}.ui-input{width:100%;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);background:#ffffff0a;color:var(--text);padding:12px 14px;font:inherit;font-size:14px;transition:border-color .2s var(--ease-out),box-shadow .2s var(--ease-out)}.ui-input::placeholder{color:var(--text-muted)}.ui-input:focus{border-color:var(--purple);box-shadow:0 0 0 3px #b44aff26}.ui-status{border-radius:var(--radius-md);border:1px solid;padding:10px 14px;font-size:13px;line-height:1.45}.ui-status-error{background:#ff5c7c1a;border-color:#ff5c7c4d;color:var(--red)}.ui-status-success{background:#00e5ff14;border-color:#00e5ff3d;color:var(--cyan)}.ui-empty{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);color:var(--text-dim);padding:var(--space-5) var(--space-4);text-align:center}.skip-link{position:absolute;top:-100%;left:var(--space-4);z-index:9999;background:var(--cyan);color:#000;padding:var(--space-2) var(--space-4);border-radius:0 0 var(--radius-md) var(--radius-md);font-weight:700;font-size:var(--text-base);text-decoration:none;transition:top var(--duration-fast)}.skip-link:focus{top:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes glow{0%,to{box-shadow:0 0 20px var(--pink-dim)}50%{box-shadow:0 0 40px var(--pink-dim),0 0 60px var(--pink-glow)}}@keyframes robotGlow{0%,to{filter:drop-shadow(0 0 4px rgba(180,74,255,.3))}50%{filter:drop-shadow(0 0 12px rgba(0,229,255,.5)) drop-shadow(0 0 20px rgba(180,74,255,.3))}}.robot-glow{animation:robotGlow 2.5s ease-in-out infinite}.brand-robot{font-size:20px;margin-left:auto;animation:robotGlow 3s ease-in-out infinite}.sb.collapsed .brand-robot{display:none}.lg-robot{font-size:14px;margin-left:auto;flex-shrink:0;animation:robotGlow 2s ease-in-out infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 30% 20%,rgba(180,74,255,.12),transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(224,64,160,.08),transparent 50%),var(--bg-deep);position:relative;overflow:hidden;padding:20px}.auth-bg{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.auth-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(180,74,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(180,74,255,.06) 1px,transparent 1px);background-size:60px 60px;opacity:.4;-webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,black,transparent);mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,black,transparent)}.auth-glow{position:absolute;border-radius:50%;filter:blur(120px);animation:float 8s ease-in-out infinite}.auth-glow-1{width:400px;height:400px;background:var(--purple);opacity:.1;top:10%;left:20%}.auth-glow-2{width:350px;height:350px;background:var(--pink);opacity:.08;bottom:10%;right:15%;animation-delay:3s}.auth-card{position:relative;width:100%;max-width:440px;background:#12122ab3;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(180,74,255,.15);border-radius:24px;padding:clamp(28px,4vw,44px) clamp(24px,3vw,36px);box-shadow:0 24px 80px #0006,0 0 60px #b44aff0f,inset 0 1px #ffffff0f;animation:fadeInUp .6s cubic-bezier(.16,1,.3,1)}.auth-brand{text-align:center;margin-bottom:36px}.auth-bolt{font-size:44px;display:block;margin-bottom:10px;filter:drop-shadow(0 0 16px rgba(180,74,255,.4));animation:float 3s ease-in-out infinite}.auth-title{font-family:Poppins,sans-serif;font-size:clamp(26px,1.5rem + 1vw,32px);font-weight:800;line-height:1.1;margin:0 0 6px;background:var(--grad-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.auth-sub{margin:0;font-size:14px;color:var(--text-muted)}.auth-mode-copy{margin:0 0 16px;font-size:13px;color:var(--text-dim);line-height:1.5}.auth-logo{font-family:Poppins,sans-serif;font-size:30px;font-weight:800;background:var(--grad-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.auth-tagline{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:3px;margin-top:6px;font-family:Inter,sans-serif}.auth-tabs{display:flex;gap:4px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:4px;margin-bottom:24px}.auth-tab{flex:1;padding:10px;border:none;border-radius:10px;background:transparent;color:var(--text-dim);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;font-family:Poppins,sans-serif}.auth-tab.active{background:var(--grad-brand);color:#fff;box-shadow:0 4px 16px #b44aff33}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-field label{display:block;font-size:12px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;font-family:Inter,sans-serif}.auth-field .ui-input{min-height:46px;border-color:#ffffff1a;background:#ffffff0b;font-size:15px}.auth-field-help{margin:8px 0 0;font-size:12px;color:var(--text-muted);line-height:1.4}.auth-inline-actions{display:flex;justify-content:flex-end;margin-top:-4px}.auth-reset-link{border:none;background:transparent;color:var(--text-muted);font-size:12px;font-weight:600;font-family:Inter,sans-serif;text-decoration:underline;text-underline-offset:2px;cursor:pointer;padding:2px 0}.auth-reset-link:hover:not(:disabled){color:var(--text-main)}.auth-reset-link:focus-visible{outline:2px solid var(--purple);outline-offset:2px;border-radius:4px}.auth-reset-link:disabled{opacity:.7;cursor:not-allowed}.auth-error,.auth-success{margin-top:2px}.auth-submit{width:100%;min-height:46px;margin-top:4px;font-family:Poppins,sans-serif}.auth-divider{text-align:center;color:var(--text-muted);font-size:12px;margin:20px 0;position:relative}.auth-divider:before,.auth-divider:after{content:"";position:absolute;top:50%;width:calc(50% - 60px);height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent)}.auth-divider:before{left:0}.auth-divider:after{right:0}.auth-social{display:flex;gap:12px}.auth-social-btn{flex:1;min-height:44px;font-size:14px;font-weight:600;font-family:Inter,sans-serif}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-deep)}.loading-pulse{text-align:center;animation:pulse 1.5s ease-in-out infinite}.loading-bolt{font-size:48px;display:block;margin-bottom:16px;filter:drop-shadow(0 0 12px var(--pink))}.loading-screen p{color:var(--text-muted);font-family:Poppins,monospace;font-size:14px}.sb{width:min(100vw,var(--sb-width));min-width:min(100vw,var(--sb-width));max-width:100vw;height:100dvh;background:#0d0d1eeb;backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);border-right:1px solid rgba(180,74,255,.08);display:flex;flex-direction:column;overflow:hidden;z-index:100;box-shadow:4px 0 24px #00000040,inset -1px 0 #b44aff0a;transition:width .22s var(--ease-out),min-width .22s var(--ease-out)}@supports not (backdrop-filter: blur(1px)){.sb{background:#0d0d1efa}}.sb-head{padding:16px 16px 14px;border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;gap:10px;flex-shrink:0}.brand{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.logo-wrap{display:flex;flex-direction:column;align-items:flex-start}.logo-wrap-lg{align-items:center}.logo{display:inline-flex;align-items:baseline;font-family:Poppins,sans-serif;white-space:nowrap;line-height:1}.logo-bracket{color:#00e5ff;font-weight:500}.logo-code,.logo-way{color:#b44aff;font-weight:600}.logo-her{font-weight:800;background:linear-gradient(135deg,#7b61ff,#e040a0,#ff6fd8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 10px rgba(123,97,255,.35))}.logo-sm{font-size:17px;letter-spacing:-.3px}.logo-lg{font-size:36px;letter-spacing:-.5px}.logo-icon{font-size:20px;font-weight:700}.logo-tagline{font-family:Poppins,sans-serif;font-size:13px;margin-top:6px;letter-spacing:.3px;opacity:.7}.logo-wrap-lg .logo-tagline{font-size:15px;margin-top:10px}.logo-tg-fn{color:#00e5ff}.logo-tg-dot,.logo-tg-method{color:#b44aff}.logo-tg-paren{color:#7070a0}.logo-tg-string{color:#ff6fd8;font-style:italic}.logo-tg-semi{color:#7070a0}.brand-icon-only{display:none}.sb.collapsed .brand-icon-only{display:inline-flex}.sb-head-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.sb-avatar{width:34px;height:34px;border-radius:50%;background:var(--grad-brand);border:2px solid rgba(180,74,255,.2);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#fff;cursor:pointer;transition:all .2s}.sb-avatar:hover{border-color:#b44aff66;box-shadow:0 0 16px #b44aff40}.sb-avatar.active{border-color:var(--purple);box-shadow:0 0 20px #b44aff59}.sb-collapse{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:var(--text-muted);cursor:pointer;font-size:13px;transition:all .15s}.sb-collapse:hover{border-color:var(--purple);color:var(--purple);background:#b44aff1a}.sb-close{display:none;background:none;border:none;color:var(--text-dim);font-size:18px;cursor:pointer}.pp{position:absolute;top:64px;left:12px;right:12px;background:#101024d9;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(180,74,255,.12);border-radius:14px;padding:18px;z-index:999;box-shadow:0 12px 40px #00000080,inset 0 1px #ffffff0f;animation:fadeIn .2s ease}.pp-identity{display:flex;align-items:center;gap:10px;margin-bottom:16px}.pp-avatar{width:38px;height:38px;border-radius:50%;background:var(--grad-brand);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#fff;flex-shrink:0}.pp-identity-text{flex:1;min-width:0}.pp-name{display:block;font-size:14px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-email{display:block;font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-momentum{display:block;margin-top:4px;font-size:11px;line-height:1.45;color:var(--text-dim)}.pp-level-badge{font-family:Poppins,sans-serif;font-size:11px;color:var(--cyan);background:#00e5ff1a;padding:3px 10px;border-radius:999px;font-weight:700;flex-shrink:0}.pp-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.pp-stat{background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:10px 12px;text-align:center;transition:border-color .2s}.pp-stat:hover{border-color:#ffffff1f}.pp-stat-value{display:block;font-family:Poppins,monospace;font-size:18px;font-weight:700;color:var(--text)}.pp-stat-label{display:block;font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.pp-xp-num{color:var(--text)}.pp-xp-max{color:var(--text-muted);font-size:12px}.pp-xp-track{height:3px;background:#ffffff0f;border-radius:2px;overflow:hidden;margin:4px 0 2px}.pp-xp-fill{height:100%;background:var(--grad-brand);border-radius:2px;transition:width .4s ease}.pp-goal-dots{display:flex;gap:4px;justify-content:center;margin:4px 0 2px}.pp-goal-dot{width:8px;height:8px;border-radius:50%;background:#ffffff14;transition:all .3s}.pp-goal-dot.filled{background:var(--cyan);box-shadow:0 0 6px #4ecdc466}.pp-time{text-align:center;font-size:11px;color:var(--text-muted);margin-bottom:14px;font-family:Poppins,monospace}.pp-actions{display:flex;gap:8px}.pp-profile-btn{flex:1;padding:9px 10px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:var(--text-dim);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s}.pp-profile-btn:hover{border-color:var(--purple);color:var(--text);background:#b44aff1a}.pp-signout{flex:1;padding:9px 10px;background:transparent;border:1px solid rgba(255,255,255,.06);border-radius:10px;color:var(--text-muted);font-size:12px;cursor:pointer;font-family:inherit;transition:all .15s}.pp-signout:hover{border-color:var(--red);color:var(--red)}.cs-dropdown-wrap{padding:0 14px;flex-shrink:0;position:relative}.cs-trigger{width:100%;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.06);background:#ffffff08;color:var(--text);cursor:pointer;font-size:14px;font-weight:600;font-family:Poppins,sans-serif;transition:all .2s}.cs-trigger:hover{border-color:#ffffff1f;background:#ffffff0d}.cs-trigger.open{border-color:var(--cs-accent, var(--purple));background:color-mix(in srgb,var(--cs-accent, var(--purple)) 8%,transparent)}.cs-trigger-icon{font-size:18px}.cs-trigger-label{flex:1;text-align:left}.cs-trigger-meta{font-size:11px;color:var(--text-muted);font-family:Poppins,sans-serif}.cs-trigger-arrow{font-size:10px;color:var(--text-muted)}.cs-progress{height:2px;margin:4px 14px 8px;background:#ffffff0f;border-radius:1px;overflow:hidden}.cs-progress-fill{height:100%;border-radius:1px;transition:width .5s ease}.cs-flyout{position:absolute;top:calc(100% + 4px);left:14px;right:14px;background:#101024f2;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(180,74,255,.12);border-radius:10px;padding:4px;z-index:10;box-shadow:0 12px 40px #00000080,inset 0 1px #ffffff0a;animation:fadeIn .15s ease}.cs-option{width:100%;display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;border:none;background:transparent;color:var(--text-dim);font-size:13px;font-weight:500;cursor:pointer;font-family:Inter,sans-serif;transition:all .15s;text-align:left}.cs-option:hover{background:#ffffff0d;color:var(--text)}.cs-option.active{color:var(--cs-accent, var(--purple));font-weight:600}.cs-option-icon{font-size:16px}.cs-option-label{flex:1}.cs-option-check{color:var(--cyan);font-size:14px}.sb-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:6px 10px 10px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.06) transparent}.sb-scroll::-webkit-scrollbar{width:4px}.sb-scroll::-webkit-scrollbar-track{background:transparent}.sb-scroll::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:2px}.sb-map-header{display:flex;align-items:center;justify-content:space-between;padding:0 8px;margin-bottom:8px}.sb-map-title{font-family:Poppins,monospace;font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.15em}.sb-roadmap-btn{background:none;border:none;cursor:pointer;font-size:14px;padding:2px 4px;border-radius:var(--radius-sm);opacity:.5;transition:opacity .2s}.sb-roadmap-btn:hover{opacity:1}.sb-roadmap-btn.active{opacity:1;background:#b44aff1f}.sb-nav{padding:0}.mg{margin-bottom:4px;border-radius:12px;overflow:hidden;transition:all .2s}.mg.expanded{background:#b44aff0a;border:1px solid rgba(180,74,255,.1);margin-bottom:8px}.mg:not(.expanded){border:1px solid transparent}.mg-btn{width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;background:none;border:none;color:var(--text);cursor:pointer;text-align:left;transition:all .15s;border-radius:12px}.mg-btn:hover{background:#ffffff0a}.mg.act>.mg-btn{color:var(--text)}.mg-emoji{font-size:18px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#b44aff1f;border:1px solid rgba(180,74,255,.08);flex-shrink:0}.mg.act .mg-emoji{background:#b44aff33;border-color:#b44aff33}.mg-info{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.mg-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mg-sub{font-size:10px;color:var(--text-muted);font-family:Poppins,sans-serif}.mg.locked{opacity:.35}.lg{padding:4px 0 8px;animation:fadeIn .15s ease-out}.lg-btn{width:100%;display:flex;align-items:center;gap:10px;padding:7px 14px 7px 60px;background:none;border:none;color:var(--text-dim);cursor:pointer;text-align:left;font-size:13px;transition:all .15s;border-radius:6px}.lg-btn:hover{color:var(--text);background:#ffffff08}.lg-btn.act{color:var(--cyan);font-weight:600}.lg-btn.dn .lg-chk{color:var(--cyan)}.lg-chk{font-size:12px;width:14px;flex-shrink:0;transition:color .2s;color:var(--text-muted)}.lg-btn.locked{opacity:.3;pointer-events:none}.lg-quiz{color:var(--text-muted)!important;font-style:italic}.lg-quiz.act{color:var(--text)!important;font-style:normal;font-weight:600}.sb-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px 14px 12px}.sb-tab{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-md);color:var(--text-dim);font-family:inherit;font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.sb-tab:hover{background:#b44aff14;border-color:var(--purple);color:var(--text)}.sb-tab.active{background:color-mix(in srgb,var(--purple) 12%,transparent);border-color:var(--purple);color:var(--text)}.sb-tab-icon{font-size:15px;flex-shrink:0}.sb-tab-arrow{font-size:10px;opacity:.6;transition:transform var(--duration-fast)}.sb-tab.active .sb-tab-arrow{transform:rotate(90deg);opacity:1}.sb-tabs-context{grid-column:1 / -1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:10px;row-gap:6px;padding:10px 12px;margin-top:6px;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-md)}.sb-tabs-context-icon{font-size:16px}.sb-tabs-context-label{font-size:var(--text-sm);color:var(--text);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-tabs-context-meta{font-family:Space Mono,ui-monospace,monospace;font-size:var(--text-xs);color:var(--text-muted)}.sb-tabs-context-progress{grid-column:1 / -1;height:2px;background:#ffffff0f;border-radius:1px;overflow:hidden}.sb-tabs-context-fill{height:100%;border-radius:1px;transition:width .5s var(--ease-out)}.sb-tab-flyout{position:fixed;width:240px;max-height:70vh;overflow-y:auto;background:#101024f2;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(180,74,255,.2);border-radius:14px;padding:8px;z-index:1000;box-shadow:0 24px 64px #0000008c,0 0 0 1px #b44aff14,inset 0 1px #ffffff0d;animation:sbTabSlideIn .18s var(--ease-out);display:flex;flex-direction:column;gap:2px}@keyframes sbTabSlideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.sb-tab-opt{display:flex;align-items:center;gap:10px;padding:10px 12px;background:transparent;border:none;border-radius:8px;color:var(--text-dim);font-family:inherit;font-size:var(--text-sm);font-weight:500;text-align:left;cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}.sb-tab-opt:hover{background:#b44aff14;color:var(--text)}.sb-tab-opt.active{background:#b44aff1f;color:var(--text);border:1px solid rgba(180,74,255,.22)}.sb-tab-opt-icon{font-size:16px;flex-shrink:0;width:20px;text-align:center}.sb-tab-opt-label{font-weight:600}.sb.collapsed .sb-tabs{grid-template-columns:1fr;gap:4px;padding:4px 8px 10px}.sb.collapsed .sb-tab-label,.sb.collapsed .sb-tab-arrow{display:none}.sb.collapsed .sb-tab{padding:10px 0}.sb.collapsed .sb-tabs-context{display:none}.sb-lock-row{padding:12px 8px 16px;margin-top:8px;border-top:1px solid rgba(255,255,255,.04)}.lock-label{display:flex;align-items:center;gap:6px;padding:6px 10px;cursor:pointer;font-size:11px;color:var(--text-muted);-webkit-user-select:none;user-select:none}.lock-label input[type=checkbox]{width:14px;height:14px;accent-color:var(--cyan);cursor:pointer}@media(min-width:901px){.sb.collapsed{width:var(--sb-width-collapsed);min-width:var(--sb-width-collapsed)}.sb.collapsed .sb-head{padding:14px 10px;justify-content:center;flex-direction:column;gap:8px}.sb.collapsed .brand{justify-content:center}.sb.collapsed .logo-sm,.sb.collapsed .sb-head-actions .sb-collapse,.sb.collapsed .cs-trigger-label,.sb.collapsed .cs-trigger-meta,.sb.collapsed .cs-trigger-arrow,.sb.collapsed .cs-progress,.sb.collapsed .sb-scroll,.sb.collapsed .pp{display:none}.sb.collapsed .sb-head-actions{flex-direction:column}.sb.collapsed .cs-trigger{justify-content:center;padding:10px}.sb.collapsed .cs-trigger-icon{font-size:20px}}.lv-wrap{max-width:var(--content-max);margin:0 auto;padding:clamp(16px,2vw,32px) clamp(14px,2vw,24px) 24px;animation:fadeIn .3s ease-out}.lv{position:relative;padding:clamp(18px,2.5vw,32px);border-radius:clamp(18px,2vw,28px);border:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg,#ffffff0a,#ffffff04),#090913c2;box-shadow:0 28px 60px #0000003d;overflow:hidden}.lv:before{content:"";position:absolute;inset:0 auto auto 0;width:180px;height:180px;background:radial-gradient(circle,rgba(180,74,255,.14),transparent 72%);pointer-events:none}.lv-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.06);position:relative;z-index:1}.lv-emoji{width:58px;height:58px;display:flex;align-items:center;justify-content:center;font-size:34px;filter:drop-shadow(0 0 12px rgba(180,74,255,.3));margin-top:2px;border-radius:18px;background:linear-gradient(180deg,#b44aff24,#b44aff0a);border:1px solid rgba(180,74,255,.12)}.lv-title{font-family:Poppins,monospace;font-size:clamp(20px,1.25rem + 1.5vw,32px);font-weight:700;letter-spacing:-1px;line-height:1.15;flex:1}.lv-actions{display:flex;gap:8px;flex-shrink:0}.lv-action-btn{width:auto;min-width:40px;min-height:40px;padding:0 14px;border-radius:999px;color:var(--text-muted);font-size:16px;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 20px #0000001f}.lv-action-btn:after{content:attr(data-label);margin-left:8px;font-size:12px;font-weight:700;letter-spacing:.03em}.lv-action-btn:hover{border-color:var(--purple);color:var(--purple);transform:translateY(-1px)}.lv-action-btn.active{background:#b44aff1f;border-color:var(--purple);color:var(--purple)}.lv-body{margin-bottom:32px;position:relative;z-index:1}.lp{margin-bottom:16px;font-size:16px;line-height:1.8}.lp strong{color:var(--cyan);font-weight:600}.lp em{color:var(--cyan);font-style:italic}.lp .ic{font-family:Poppins,monospace;font-size:13px;background:var(--bg-surface);border:1px solid var(--border);padding:2px 7px;border-radius:4px;color:var(--amber)}.lv-head-text{flex:1;min-width:0}.lv-kicker{display:inline-flex;align-items:center;gap:10px;margin-bottom:12px;color:var(--text-dim);font-size:12px;font-weight:700}.lv-kicker-label{padding:4px 8px;border-radius:999px;background:#ffffff0d;border:1px solid rgba(255,255,255,.06);font-family:Poppins,monospace;text-transform:uppercase;letter-spacing:.08em}.lv-kicker-value{color:var(--text-muted);font-size:13px}.lv-summaryline{margin-top:10px;color:var(--text-dim);font-size:15px;line-height:1.65;max-width:62ch}.lv-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:12px}.lv-diff{font-size:11px;padding:2px 10px;border-radius:10px;font-family:Poppins,monospace;font-weight:600;text-transform:capitalize}.lv-diff-beginner{background:#4ecdc426;color:var(--cyan)}.lv-diff-intermediate{background:#ffa72626;color:var(--amber)}.lv-diff-advanced{background:#ff6b9d26;color:var(--pink)}.lv-dur{font-size:11px;color:var(--text-muted);font-family:Poppins,monospace}.lv-chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:var(--text-dim);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.concept-list{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.concept-item{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;background:linear-gradient(180deg,#ffffff06,#ffffff03);border:1px solid rgba(255,255,255,.07);border-radius:14px;font-size:15px;line-height:1.6;transition:border-color .2s,transform .2s,box-shadow .2s;animation:fadeIn .3s ease-out both}.concept-item:nth-child(1){animation-delay:0s}.concept-item:nth-child(2){animation-delay:.05s}.concept-item:nth-child(3){animation-delay:.1s}.concept-item:nth-child(4){animation-delay:.15s}.concept-item:hover{border-color:var(--border-bright);transform:translate(3px) translateY(-1px);box-shadow:0 14px 24px #00000024}.concept-bullet{color:var(--pink);font-weight:700;flex-shrink:0;font-family:Poppins,monospace}.sl-section-intro{margin:-4px 0 16px;color:var(--text-dim);font-size:14px;line-height:1.7;max-width:64ch}.box.output-box{background:linear-gradient(180deg,#a78bfa24,#a78bfa0f);border-color:var(--purple)}.box.output-box .box-label{color:var(--purple)}.box.tasks-box{background:linear-gradient(180deg,#4ecdc424,#4ecdc40d);border-color:var(--cyan)}.box.tasks-box .box-label{color:var(--cyan)}.tasks-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}.task-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s;font-size:14px;line-height:1.4}.task-item:hover{border-color:var(--border-bright)}.task-item.done{border-color:var(--cyan);background:#4ecdc414}.task-item.done .task-text{text-decoration:line-through;color:var(--text-dim)}.task-item input[type=checkbox]{display:none}.task-check{width:22px;height:22px;border-radius:6px;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;transition:all .2s;color:transparent}.task-item.done .task-check{background:var(--cyan);border-color:var(--cyan);color:var(--bg-deep)}.tasks-progress{margin-top:10px;font-size:11px;color:var(--text-muted);font-family:Poppins,monospace;text-align:right}.devfession{margin-bottom:20px;border-radius:10px;overflow:hidden;border:1px solid var(--border);animation:fadeIn .3s ease-out .3s both}.devfession-toggle{width:100%;display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--bg-surface);border:none;color:var(--text-dim);font-size:14px;font-weight:600;cursor:pointer;transition:all .15s;font-family:Inter,sans-serif}.devfession-toggle:hover{color:var(--text);background:var(--bg-card)}.devfession-toggle.open{background:var(--bg-card)}.devfession-icon{font-size:18px}.devfession-sub{color:var(--text-muted);font-size:12px;font-weight:400}.devfession-arrow{margin-left:auto;font-size:12px;color:var(--text-muted);transition:transform .2s}.devfession-content{padding:16px 20px;background:var(--bg-card);border-top:1px solid var(--border);animation:fadeIn .2s ease-out}.devfession-content p{font-size:14px;font-style:italic;color:var(--text-dim);line-height:1.7}.notes-panel{margin-bottom:24px;border:1px solid rgba(255,255,255,.06);border-radius:18px;overflow:hidden;background:#0b0b14b8;animation:scaleIn .2s ease-out;box-shadow:inset 0 1px #ffffff08;position:relative;z-index:1}.notes-head{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.06);background:#ffffff08;font-size:13px;font-weight:600;font-family:Poppins,monospace}.notes-head-copy{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.notes-title{color:var(--text)}.notes-sub{color:var(--text-muted);font-family:Inter,sans-serif;font-size:12px;font-weight:400;line-height:1.45}.notes-icon{font-size:16px}.notes-saved{margin-left:auto;font-size:11px;color:var(--cyan);font-weight:400}.notes-input{width:100%;padding:16px;border:none;background:transparent;color:var(--text);font-size:14px;font-family:Inter,sans-serif;line-height:1.6;resize:vertical;min-height:100px}.notes-input::placeholder{color:var(--text-muted)}.cpv{border:1px solid rgba(255,255,255,.06);border-radius:18px;overflow:hidden;margin-bottom:28px;background:#0b0b14bd;transition:border-color .2s,box-shadow .2s;box-shadow:inset 0 1px #ffffff08}.cpv:hover{border-color:var(--border-bright);box-shadow:0 20px 40px #00000029}.cpv-tabs{display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.06);background:#ffffff08;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.cpv-tabs::-webkit-scrollbar{display:none}.cpv-tab{padding:10px 20px;background:none;border:none;color:var(--text-dim);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;border-bottom:2px solid transparent;font-family:Poppins,monospace}.cpv-tab:hover{color:var(--text)}.cpv-tab.on{color:var(--cyan);border-bottom-color:var(--purple);background:#b44aff0f}.cpv-copy{margin-left:auto;margin-right:12px;padding:5px 12px;background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:var(--text-dim);font-size:12px;cursor:pointer;font-family:Poppins,monospace;transition:all .15s}.cpv-copy:hover{border-color:var(--purple);color:var(--purple)}.cpv-code{padding:20px 24px;overflow-x:auto;font-family:Poppins,monospace;font-size:13px;line-height:1.7;background:#04040ab8;margin:0;-moz-tab-size:4;tab-size:4;white-space:pre}.cpv-iframe{width:100%;height:320px;border:none;background:var(--bg-deep)}.box{border-radius:var(--radius-lg);padding:20px 22px;margin-bottom:20px;border:1px solid rgba(255,255,255,.09);border-left:4px solid;animation:slideInLeft .3s ease-out;box-shadow:inset 0 1px #ffffff08,0 12px 24px #0000001a}.box-label{font-family:Poppins,monospace;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px}.box p{font-size:15px;line-height:1.7}.box.tip{background:linear-gradient(180deg,#4ecdc424,#4ecdc40d);border-color:var(--cyan)}.box.tip .box-label{color:var(--cyan)}.box.chal{background:linear-gradient(180deg,#ffa72624,#ffa7260d);border-color:var(--amber)}.box.chal .box-label{color:var(--amber)}.quiz-container{margin:32px 0 20px;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);overflow:hidden;background:linear-gradient(180deg,#ffffff0a,#ffffff04);box-shadow:0 20px 40px #00000024;animation:fadeInUp .3s ease-out}.quiz-header{display:flex;align-items:center;gap:14px;padding:20px 24px;border-bottom:1px solid var(--border);background:var(--bg-surface)}.quiz-icon{font-size:24px}.quiz-title{font-family:Poppins,monospace;font-size:16px;font-weight:700}.quiz-count{font-size:12px;color:var(--text-muted)}.quiz-questions{padding:8px 0}.qq{display:flex;gap:16px;padding:20px 24px;border-bottom:1px solid var(--border);transition:background .2s}.qq:last-child{border-bottom:none}.qq.correct{background:#4ecdc40a}.qq.wrong{background:#ff6b6b0a}.qq-num{width:28px;height:28px;border-radius:50%;background:var(--bg-surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:Poppins,monospace;font-size:12px;color:var(--text-dim);flex-shrink:0}.qq-body{flex:1;min-width:0}.qq-text{font-size:15px;font-weight:600;margin-bottom:10px;line-height:1.5}.qq-code{font-family:Poppins,monospace;font-size:13px;background:var(--bg-deep);border:1px solid var(--border);border-radius:6px;padding:10px 14px;margin-bottom:12px;overflow-x:auto;color:var(--amber);white-space:pre}.qq-opts{display:flex;flex-direction:column;gap:6px}.qq-opt{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-deep);color:var(--text);cursor:pointer;font-size:14px;text-align:left;transition:all .2s;line-height:1.4}.qq-opt:hover:not(:disabled){border-color:var(--border-bright);background:var(--bg-surface);transform:translate(2px)}.qq-opt.picked{border-color:var(--purple);background:var(--purple-dim)}.qq-opt.is-correct{border-color:#4ecdc4;background:#4ecdc41f;color:#4ecdc4}.qq-opt.is-wrong{border-color:#ff6b6b;background:#ff6b6b1f;color:#ff6b6b}.qq-opt:disabled{cursor:default}.qq-opt-letter{width:24px;height:24px;border-radius:50%;background:var(--bg-surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:Poppins,monospace;font-size:11px;font-weight:700;flex-shrink:0;color:var(--text-dim);transition:all .2s}.qq-opt.picked .qq-opt-letter{background:var(--purple);color:#fff;border-color:var(--purple)}.qq-opt.is-correct .qq-opt-letter{background:#4ecdc4;color:var(--bg-deep);border-color:#4ecdc4}.qq-opt.is-wrong .qq-opt-letter{background:#ff6b6b;color:var(--bg-deep);border-color:#ff6b6b}.qq-explain{display:flex;gap:10px;margin-top:12px;padding:12px 14px;border-radius:8px;font-size:13px;line-height:1.6;animation:fadeIn .3s ease-out}.qq-explain.right{background:#4ecdc414;border-left:3px solid #4ecdc4}.qq-explain.wrong{background:#ff6b6b14;border-left:3px solid #ff6b6b}.qq-explain-icon{font-size:16px;flex-shrink:0}.quiz-submit{display:block;width:calc(100% - 48px);margin:16px 24px 20px;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface);color:var(--text-muted);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.quiz-submit:not(:disabled){color:var(--bg-deep);border:none}.quiz-submit:not(:disabled):hover{filter:brightness(1.1);box-shadow:0 4px 16px #0003;transform:translateY(-1px)}.quiz-submit:disabled{cursor:not-allowed}.quiz-results{padding:20px 24px;display:flex;align-items:center;gap:16px;border-top:1px solid var(--border);animation:scaleIn .3s ease-out}.quiz-score{flex:1;padding:16px 20px;border:2px solid;border-radius:10px;background:var(--bg-deep);text-align:center}.quiz-score-num{font-family:Poppins,monospace;font-size:28px;font-weight:700;line-height:1}.quiz-score-pct{font-size:13px;color:var(--text-dim);margin-top:4px}.quiz-retry{padding:12px 20px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface);color:var(--text);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.quiz-retry:hover{border-color:var(--border-bright);transform:translateY(-1px)}.search-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% -20%,rgba(255,107,157,.16),transparent 45%),#02020ac7;z-index:400;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:flex-start;justify-content:center;padding:min(11vh,90px) 18px 24px;animation:fadeIn .15s ease-out}.search-modal{width:min(92vw,760px);max-height:min(80vh,840px);background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 22%),linear-gradient(180deg,#121220,#0b0b16);border:1px solid rgba(255,255,255,.1);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 28px 80px #00000073;animation:scaleIn .2s ease-out}.search-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 14px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#ffffff0a,#ffffff04)}.search-title{font-family:Poppins,monospace;font-size:18px;font-weight:700;color:var(--text)}.search-input-wrap{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}.search-icon{font-size:20px;color:var(--text-muted)}.search-input{flex:1;background:none;border:none;color:var(--text);font-size:17px;font-family:Inter,sans-serif}.search-input::placeholder{color:var(--text-muted)}.search-hint{font-size:11px;color:var(--text-muted);font-family:Poppins,monospace;background:var(--bg-surface);padding:2px 8px;border-radius:4px}.search-results{overflow-y:auto;flex:1;padding:8px}.search-support{padding:8px 12px 12px}.search-meta{padding:8px 12px 10px;color:var(--text-muted);font-family:Poppins,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.search-empty{text-align:center;padding:28px 20px;margin:8px;border-radius:12px;border:1px solid var(--border);background:linear-gradient(180deg,#ffffff08,#ffffff03);color:var(--text-dim)}.search-result{width:100%;display:flex;gap:12px;padding:12px 16px;border-radius:12px;cursor:pointer;transition:all .15s;border:1px solid transparent;text-align:left;background:transparent;color:inherit}.search-result:hover,.search-result.active{background:var(--bg-surface);border-color:#ffffff1a;transform:translate(4px)}.sr-icon{font-size:20px}.sr-body{flex:1;min-width:0}.sr-title{font-size:14px;font-weight:600}.sr-title mark{background:var(--pink-dim);color:var(--pink);border-radius:2px;padding:0 2px}.sr-path{font-size:11px;color:var(--text-muted);margin-top:2px;font-family:Poppins,monospace}.sr-snippet{font-size:12px;color:var(--text-dim);margin-top:4px;line-height:1.5}.sr-snippet mark{background:var(--pink-dim);color:var(--pink)}.search-trigger{display:flex;align-items:center;gap:10px;min-height:42px;padding:0 20px;border-radius:12px;color:var(--text-muted);font-size:14px;font-weight:600;white-space:nowrap;min-width:180px}.search-trigger:hover{color:var(--text);background:#b44aff0f}.search-trigger.active{border-color:var(--purple);color:var(--text);background:#b44aff1a;box-shadow:0 14px 28px #5f2fa32e}.search-trigger kbd{font-family:Poppins,sans-serif;font-size:10px;background:#b44aff1f;color:var(--text-dim);padding:3px 8px;border-radius:6px;border:1px solid rgba(180,74,255,.1);margin-left:auto}.pp-public-card{background:linear-gradient(180deg,#ffffff0a,#ffffff04);border:1px solid rgba(255,255,255,.07);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-5);box-shadow:0 20px 44px #00000024}.pp-public-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.pp-public-title{font-family:Poppins,Inter,sans-serif;font-weight:700;font-size:var(--text-md);color:var(--text);margin-bottom:4px}.pp-public-sub{color:var(--text-dim);font-size:var(--text-sm);line-height:1.5;max-width:44ch}.pp-public-sub code{font-family:Space Mono,ui-monospace,monospace;background:var(--bg-surface);color:var(--cyan);padding:2px 6px;border-radius:var(--radius-sm);font-size:.9em}.pp-public-switch{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none}.pp-public-switch input{accent-color:var(--pink);width:18px;height:18px}.pp-public-form{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--border)}.pp-public-label{display:block;font-family:Space Mono,ui-monospace,monospace;font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}.pp-public-row{display:flex;align-items:stretch;gap:var(--space-2);flex-wrap:wrap}.pp-public-prefix{font-family:Space Mono,ui-monospace,monospace;font-size:var(--text-sm);color:var(--text-muted);padding:10px 4px 10px 0}.pp-public-input{flex:1;min-width:160px;padding:10px 14px;background:var(--bg-surface);color:var(--text);border:1px solid var(--border-bright);border-radius:var(--radius-md);font-family:Space Mono,ui-monospace,monospace;font-size:var(--text-sm)}.pp-public-save{padding:10px 20px;background:var(--grad-brand);color:#fff;border:none;border-radius:var(--radius-md);font-family:inherit;font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:transform .2s,box-shadow .2s,filter .2s}.pp-public-save:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 14px 28px #b44aff33}.pp-public-save:disabled{opacity:.6;cursor:wait}.pp-public-link{display:inline-block;margin-top:var(--space-3);color:var(--cyan);text-decoration:none;font-size:var(--text-sm);font-weight:600}.pp-public-link:hover{text-decoration:underline}.pp-public-error{margin-top:var(--space-2);padding:8px 12px;background:#ff5c7c1a;border:1px solid var(--red);border-radius:var(--radius-sm);color:var(--red);font-size:var(--text-sm)}.pp-public-success{margin-top:var(--space-2);padding:8px 12px;background:#4ecdc41a;border:1px solid var(--cyan);border-radius:var(--radius-sm);color:var(--cyan);font-size:var(--text-sm)}.pub-profile{min-height:100vh;min-height:100dvh;background:var(--bg-deep);color:var(--text);display:flex;flex-direction:column;align-items:center;padding:var(--space-5) var(--space-4);background-image:radial-gradient(ellipse at 15% 10%,rgba(180,74,255,.12),transparent 40%),radial-gradient(ellipse at 85% 90%,rgba(224,64,160,.1),transparent 40%)}.pub-header{width:100%;max-width:640px;display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.pub-close{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-dim);width:36px;height:36px;border-radius:var(--radius-full);cursor:pointer;font-size:var(--text-md)}.pub-card{width:100%;max-width:540px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-6) var(--space-5);text-align:center;box-shadow:0 30px 80px #0006}.pub-card-center{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.pub-loading{color:var(--text-dim);font-size:var(--text-sm)}.pub-notfound-icon{font-size:56px;margin-bottom:var(--space-3)}.pub-notfound-title{font-family:Poppins,Inter,sans-serif;font-size:var(--text-2xl);margin-bottom:var(--space-2)}.pub-notfound-msg{color:var(--text-dim);margin-bottom:var(--space-4)}.pub-avatar{width:88px;height:88px;border-radius:50%;background:var(--grad-brand);color:#fff;display:flex;align-items:center;justify-content:center;font-family:Poppins,Inter,sans-serif;font-size:40px;font-weight:800;margin:0 auto var(--space-3);box-shadow:0 16px 44px #b44aff59}.pub-overline{display:inline-flex;align-items:center;min-height:28px;padding:0 12px;margin-bottom:var(--space-4);border-radius:var(--radius-full);border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--text-muted);font-family:Poppins,Inter,sans-serif;font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase}.pub-name{font-family:Poppins,Inter,sans-serif;font-size:var(--text-2xl);font-weight:800;margin-bottom:4px;color:var(--text)}.pub-handle{font-family:Space Mono,ui-monospace,monospace;font-size:var(--text-sm);color:var(--cyan);margin-bottom:var(--space-4)}.pub-summary{max-width:44ch;margin:0 auto var(--space-4);color:var(--text-dim);font-size:var(--text-sm);line-height:1.65}.pub-pill-row{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.pub-pill{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:var(--radius-full);border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--text-dim);font-family:Poppins,Inter,sans-serif;font-size:var(--text-2xs)}.pub-pill.warm{border-color:#4ecdc433;background:#4ecdc412;color:var(--cyan)}.pub-pill.accent{border-color:#ff6b9d40;background:#ff6b9d14;color:var(--pink)}.pub-level{margin-bottom:var(--space-5)}.pub-level-row{display:flex;justify-content:space-between;font-size:var(--text-sm);color:var(--text-dim);margin-bottom:6px}.pub-level-track{height:8px;background:var(--bg-surface);border-radius:var(--radius-full);overflow:hidden;border:1px solid var(--border)}.pub-level-fill{height:100%;background:var(--grad-brand);transition:width .5s var(--ease-out)}.pub-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-bottom:var(--space-5)}.pub-stat{padding:var(--space-3);background:linear-gradient(180deg,#ffffff0a,#ffffff04);border:1px solid rgba(255,255,255,.07);border-radius:var(--radius-md);transition:border-color .2s,transform .2s}.pub-stat:hover{border-color:var(--border-bright);transform:translateY(-1px)}.pub-stat-value{font-family:Poppins,Inter,sans-serif;font-size:var(--text-xl);font-weight:800;color:var(--text)}.pub-stat-unit{font-size:.7em}.pub-stat-label{color:var(--text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;margin-top:2px}.pub-cta{display:inline-block;padding:12px 24px;background:var(--grad-brand);color:#fff;border-radius:var(--radius-full);text-decoration:none;font-weight:700;font-size:var(--text-md);margin-bottom:var(--space-4);box-shadow:0 10px 28px #b44aff59;transition:transform .2s,box-shadow .2s,filter .2s}.pub-cta:hover{transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 14px 34px #b44aff66}.pub-footer{color:var(--text-muted);font-size:var(--text-xs)}.sr-generate{background:linear-gradient(135deg,#b44aff14,#e040a00d);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4)}.sr-generate-head{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--space-3)}.sr-generate-title{font-family:Poppins,Inter,sans-serif;font-weight:700;font-size:var(--text-md);color:var(--text)}.sr-generate-sub{color:var(--text-dim);font-size:var(--text-sm);line-height:1.5}.sr-generate-row{display:flex;gap:var(--space-2);flex-wrap:wrap}.sr-generate-topic{padding:10px 12px;background:var(--bg-surface);color:var(--text);border:1px solid var(--border-bright);border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-sm);cursor:pointer}.sr-generate-concept{flex:1;min-width:200px;padding:10px 14px;background:var(--bg-surface);color:var(--text);border:1px solid var(--border-bright);border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-sm)}.sr-generate-concept::placeholder{color:var(--text-muted)}.sr-generate-btn{padding:10px 18px;background:var(--grad-brand);color:#fff;border:none;border-radius:var(--radius-md);font-family:inherit;font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out)}.sr-generate-btn:hover:not(:disabled){transform:translateY(-1px)}.sr-generate-btn:disabled{opacity:.6;cursor:wait}.sr-generate-error{margin-top:var(--space-2);padding:8px 12px;background:#ff5c7c1a;border:1px solid var(--red);border-radius:var(--radius-sm);color:var(--red);font-size:var(--text-sm)}.sr-generate-success{margin-top:var(--space-2);padding:8px 12px;background:#4ecdc41a;border:1px solid var(--cyan);border-radius:var(--radius-sm);color:var(--cyan);font-size:var(--text-sm)}.cheatsheet-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 24px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#ffffff0d,#ffffff04)}.panel-title-group{display:flex;flex-direction:column;gap:4px}.panel-kicker{margin:0;color:var(--text-muted);font-family:Poppins,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.cheatsheet-head h2{font-family:Poppins,monospace;font-size:18px}.cheatsheet-close{width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff05;color:var(--text-dim);font-size:18px;cursor:pointer;transition:all .15s}.cheatsheet-close:hover{color:var(--text);border-color:var(--purple);transform:translateY(-1px)}.cheatsheet-body{padding:22px;overflow-y:auto;flex:1;overscroll-behavior:contain}.cheatsheet-body::-webkit-scrollbar{width:8px}.cheatsheet-body::-webkit-scrollbar-track{background:#ffffff08;border-radius:999px}.cheatsheet-body::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:999px}.cheatsheet-body::-webkit-scrollbar-thumb:hover{background:#fff3}.cs-btn-row{display:flex;gap:8px;padding:12px 20px;flex-wrap:wrap}.cs-trigger{padding:8px 16px;border-radius:6px;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-dim);font-size:12px;cursor:pointer;font-family:Poppins,monospace;transition:all .15s}.cs-trigger:hover,.cs-trigger.active{border-color:var(--purple);color:var(--purple)}.cs-section{margin-bottom:24px}.cs-section h3{font-family:Poppins,sans-serif;font-size:14px;color:var(--cyan);margin-bottom:8px;text-transform:uppercase;letter-spacing:1px}.cs-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media(max-width:600px){.cs-grid{grid-template-columns:1fr}}.cs-item{padding:10px 14px;background:var(--bg-surface);border-radius:8px;border:1px solid var(--border);transition:border-color .15s}.cs-item:hover{border-color:var(--border-bright)}.cs-item code{font-family:Poppins,monospace;font-size:12px;color:var(--amber)}.cs-desc{font-size:12px;color:var(--text-dim);margin-top:2px}.glossary-search{width:100%;padding:10px 16px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface);color:var(--text);font-size:14px;margin-bottom:16px;transition:border-color .2s;font-family:Inter,sans-serif}.glossary-search:focus{border-color:var(--purple)}.panel-meta{margin:-2px 0 14px;color:var(--text-muted);font-size:12px}.gl-term{margin-bottom:12px;padding:14px 16px;background:linear-gradient(180deg,#ffffff09,#ffffff03);border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.09);border-left:3px solid var(--purple);transition:transform .15s,border-color .15s}.gl-term:hover{transform:translate(4px);border-color:#ffffff24}.gl-term strong{color:var(--cyan);font-family:Poppins,sans-serif}.gl-term p{font-size:13px;color:var(--text-dim);margin-top:4px;line-height:1.5}.gl-badge{display:inline-block;font-size:10px;padding:2px 8px;border-radius:10px;background:var(--bg-card);color:var(--text-muted);margin-left:8px;font-family:Poppins,monospace}.project-card{padding:20px;background:linear-gradient(180deg,#ffffff0b,#ffffff04);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);margin-bottom:12px;transition:all .2s}.project-card:hover{border-color:var(--border-bright);transform:translateY(-2px);box-shadow:0 16px 30px #0003}.project-card h4{font-family:Poppins,monospace;font-size:15px;margin-bottom:4px}.proj-diff{font-size:11px;padding:2px 10px;border-radius:10px;display:inline-block;margin-bottom:8px}.proj-beginner{background:#4ecdc426;color:#4ecdc4}.proj-intermediate{background:#ffa72626;color:#ffa726}.proj-advanced{background:#ff6b9d26;color:#ff6b9d}.project-card p{font-size:13px;color:var(--text-dim);line-height:1.6}.proj-skills{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.proj-skill{font-size:11px;padding:3px 10px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text-dim);font-family:Poppins,monospace}.badges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.badge-card{text-align:center;padding:16px 10px;background:linear-gradient(180deg,#ffffff0b,#ffffff04);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);transition:all .25s}.badge-card.earned{border-color:var(--purple);background:#b44aff14;animation:glow 3s ease-in-out infinite}.badge-card.locked{opacity:.4;filter:grayscale(.8)}.badge-card:hover{transform:translateY(-2px)}.badge-icon{font-size:32px;margin-bottom:6px;display:block}.badge-card.locked .badge-icon{filter:blur(1px)}.badge-name{font-size:12px;font-weight:700;font-family:Poppins,monospace}.badge-card.earned .badge-name{color:var(--purple)}.badge-desc{font-size:10px;color:var(--text-muted);line-height:1.4}.badge-date{font-size:9px;color:var(--text-muted);margin-top:4px;font-family:Poppins,monospace}.sr-card{background:linear-gradient(180deg,#ffffff0b,#ffffff04);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:20px 24px;margin-bottom:12px}.sr-q{font-size:15px;font-weight:600;margin-bottom:6px;line-height:1.5}.sr-from{font-size:11px;color:var(--text-muted);font-family:Poppins,monospace;margin-bottom:12px}.sr-card code{font-family:Poppins,monospace;font-size:12px;background:var(--bg-card);border:1px solid var(--border);padding:10px 14px;border-radius:4px;color:var(--amber);display:block;margin:8px 0;white-space:pre}.sr-opts{display:flex;flex-direction:column;gap:6px}.sr-opt{padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);cursor:pointer;font-size:13px;text-align:left;transition:all .2s;display:flex;align-items:center;gap:10px}.sr-opt:hover:not(:disabled){border-color:var(--border-bright);transform:translate(2px)}.sr-opt.correct{border-color:#4ecdc4;background:#4ecdc41a;color:#4ecdc4}.sr-opt.wrong{border-color:#ff6b6b;background:#ff6b6b1a;color:#ff6b6b}.sr-letter{width:22px;height:22px;border-radius:50%;background:var(--bg-surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:Poppins,monospace;font-size:10px;font-weight:700;flex-shrink:0}.sr-result{margin-top:10px;padding:10px 14px;border-radius:8px;font-size:13px;line-height:1.5;animation:fadeIn .3s ease-out}.sr-result.right{background:#4ecdc414;border-left:3px solid #4ecdc4}.sr-result.wrong{background:#ff6b6b14;border-left:3px solid #ff6b6b}.sr-empty{text-align:center;padding:28px 20px;border-radius:12px;border:1px solid var(--border);background:linear-gradient(180deg,#ffffff08,#ffffff03);color:var(--text-dim)}.sr-empty-icon{font-size:48px;display:block;margin-bottom:12px}.sr-score-bar{display:flex;gap:6px;align-items:center;margin-top:16px;padding:12px 16px;background:var(--bg-card);border-radius:8px}.sr-score-bar span{font-family:Poppins,monospace;font-size:13px;color:var(--text-dim)}.sr-right-count{color:#4ecdc4!important;font-weight:700}.sr-wrong-count{color:#ff6b6b!important;font-weight:700}.bookmark-item{display:flex;align-items:center;gap:12px;padding:0;background:linear-gradient(180deg,#ffffff0b,#ffffff04);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);margin-bottom:8px;transition:border-color .2s,transform .2s,box-shadow .2s}.bookmark-item:hover,.bookmark-item:focus-within{border-color:var(--border-bright);transform:translate(4px);box-shadow:0 12px 22px #0000002e}.bk-main{flex:1;min-width:0;display:flex;align-items:center;padding:14px 12px 14px 16px;background:none;border:none;color:inherit;text-align:left;cursor:pointer;font:inherit}.bk-main:focus-visible{outline-offset:-3px;border-radius:12px}.bk-info{flex:1;min-width:0;display:flex;flex-direction:column}.bk-title{font-size:14px;font-weight:600;color:var(--text)}.bk-path{font-size:11px;color:var(--text-muted);font-family:Poppins,monospace;margin-top:2px}.bk-remove{background:none;border:1px solid var(--border);color:var(--text-muted);width:28px;height:28px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .15s;margin-right:14px;flex-shrink:0}.bk-remove:hover{border-color:var(--red);color:var(--red)}.bottom-tools{display:flex;flex-direction:column;gap:6px;position:fixed;left:auto;right:18px;bottom:74px;transform:none;z-index:50;max-width:none;padding:8px;border-radius:18px;border:1px solid rgba(180,74,255,.1);background:linear-gradient(180deg,#0d0d1eeb,#080816f2);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 18px 44px #0000004d;overflow-x:auto;scrollbar-width:none}.bottom-tools::-webkit-scrollbar{display:none}.bottom-tools{overflow:hidden}.bottom-tools>.tool-btn:nth-of-type(n+6){display:none}.tool-btn{position:relative;flex:0 0 auto;width:42px;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.06);background:#ffffff05;color:var(--text);font-size:17px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 22px #00000024;transition:all .25s}.tool-btn:hover{transform:translateY(-2px);border-color:#ffffff29;box-shadow:0 16px 28px #00000038}.tool-btn.active{border-color:var(--purple);background:#b44aff24;color:var(--purple)}.tool-btn:after{content:attr(data-label);position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%,4px);padding:4px 8px;border-radius:8px;background:#08080ff2;border:1px solid rgba(255,255,255,.12);color:var(--text-dim);font-family:Poppins,monospace;font-size:10px;letter-spacing:.06em;text-transform:uppercase;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;white-space:nowrap}.tool-btn:hover:after,.tool-btn:focus-visible:after{opacity:1;transform:translate(-50%)}.tool-menu-wrap{position:relative;display:flex}.tool-menu{position:absolute;right:0;bottom:calc(100% + 12px);width:220px;padding:8px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,#11111dfa,#090913fa);box-shadow:0 18px 38px #00000059;display:flex;flex-direction:column;gap:4px}.tool-menu-item{width:100%;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--text);font-size:13px;cursor:pointer;text-align:left}.tool-menu-item:hover{border-color:#ffffff1f;background:#ffffff0d}.tool-menu-item.active{border-color:#b44aff47;background:#b44aff1f;color:var(--purple)}.tool-menu-count{min-width:20px;height:20px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#ff6b9d33;color:var(--pink);font-family:Poppins,monospace;font-size:11px;font-weight:700}.badge-notif{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;background:#ff6b6b;border-radius:50%;font-size:9px;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;border:2px solid var(--bg-surface)}.bk-notif{background:var(--purple)}.lesson-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,#11111df5,#090913fa);border-top:1px solid rgba(255,255,255,.08);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);gap:8px;box-shadow:0 -4px 24px #0000004d}.lesson-nav-progress{position:absolute;top:-26px;left:12px;display:inline-flex;align-items:center;min-height:22px;padding:0 10px;border-radius:var(--radius-full);border:1px solid rgba(255,255,255,.1);background:#0d0d1eeb;color:var(--text-dim);font-family:Poppins,monospace;font-size:10px;letter-spacing:.04em;text-transform:uppercase}.lesson-nav-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:12px 8px;border-radius:12px;color:var(--text);font-size:14px;font-weight:600;font-family:Inter,sans-serif}.lesson-nav-btn:disabled{opacity:.3;cursor:not-allowed}.lesson-nav-btn:not(:disabled):hover{border-color:#ffffff2e}.lesson-nav-prev{flex:.8}.lesson-nav-next{flex:1.2;color:var(--bg-deep);font-weight:700}.lesson-nav-next:disabled{background:var(--bg-surface)!important;color:var(--text-muted);border:1px solid var(--border)}.lesson-nav-done{flex:.9;border-color:#ffffff1a}.lesson-nav-done.is-done{border-color:var(--cyan);background:var(--cyan-dim);color:var(--cyan)}.lesson-nav-icon{font-size:16px;flex-shrink:0}.lesson-nav-label{font-size:13px}.shell.light .lesson-nav{background:linear-gradient(180deg,#f5f5f8f5,#fffffffa);border-top-color:var(--border)}.shell.light .lesson-nav-btn{background:var(--bg-surface);border-color:var(--border)}.sb-tools-title{margin-top:4px}.sb-tools{display:flex;flex-direction:column;gap:2px;padding:0 14px 8px}.sb-tool-btn{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border-radius:10px;border:none;background:transparent;color:var(--text-dim);font-size:13px;font-weight:500;cursor:pointer;text-align:left;transition:all .15s;font-family:Inter,sans-serif}.sb-tool-btn:hover{background:#ffffff0a;color:var(--text)}.sb-tool-icon{font-size:16px;width:22px;text-align:center;flex-shrink:0}.sb-tool-label{flex:1}@media(min-width:901px){.sb.collapsed .sb-tools,.sb.collapsed .sb-tools-title{display:none}}.auth-page.auth-with-hero{display:block;align-items:stretch;justify-content:flex-start;padding:0}.auth-top{position:relative;width:100%;max-width:1180px;margin:0 auto;padding:var(--space-6) var(--space-4) var(--space-6);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--space-6);align-items:center;min-height:100vh;min-height:100dvh}.auth-top .auth-card{margin:0;justify-self:end;width:100%}.landing-hero{width:100%;max-width:1100px;margin:0 auto;padding:var(--space-6) var(--space-4) var(--space-10);display:flex;flex-direction:column;gap:var(--space-10)}.landing-hero-story{border-top:1px solid var(--border);padding-top:var(--space-8);margin-top:var(--space-4)}.lh-intro{text-align:center;padding:var(--space-8) 0 var(--space-6);opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}.lh-intro.in-view{opacity:1;transform:translateY(0)}.lh-intro-compact{text-align:left;padding:0;max-width:560px}.lh-intro-compact .lh-lede{margin-left:0;margin-right:0}.lh-intro-compact .lh-cta-row{justify-content:flex-start}.lh-headline{font-family:Poppins,Inter,sans-serif;font-weight:800;font-size:clamp(32px,4vw + 1rem,64px);line-height:1.1;color:var(--text);margin-bottom:var(--space-4);letter-spacing:-.02em}.lh-headline-grad{background:var(--grad-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block}.lh-lede{max-width:640px;margin:0 auto var(--space-5);color:var(--text-dim);font-size:var(--text-lg);line-height:1.6}.lh-lede code,.lh-inline-code{font-family:Space Mono,ui-monospace,monospace;font-size:.9em;background:var(--bg-surface);color:var(--cyan);padding:2px 8px;border-radius:var(--radius-sm);border:1px solid var(--border)}.lh-cta-row{display:flex;align-items:center;justify-content:center;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-5)}.lh-cta{min-height:46px;padding:0 28px;font-size:var(--text-md);font-weight:700}.lh-cta:hover{text-decoration:none}.lh-cta:active{transform:translateY(0)}.lh-cta-ghost{color:var(--text-dim);font-family:Space Mono,ui-monospace,monospace;font-size:var(--text-xs);text-decoration:none;min-height:40px;padding:0 14px;border-style:solid}.lh-cta-ghost:hover{color:var(--cyan)}.lh-scroll-cue{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);color:var(--text-muted);font-family:Space Mono,ui-monospace,monospace;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;margin-top:var(--space-5)}.lh-scroll-cue>span:first-child{display:block;width:2px;height:32px;background:linear-gradient(180deg,transparent,var(--cyan));border-radius:2px;animation:lh-pulse 2s ease-in-out infinite}@keyframes lh-pulse{0%,to{opacity:.3;transform:scaleY(.7)}50%{opacity:1;transform:scaleY(1)}}.lh-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:var(--space-6);align-items:center;padding:var(--space-6) 0;opacity:0;transform:translateY(48px);transition:opacity .7s var(--ease-out) var(--lh-delay, 0ms),transform .7s var(--ease-out) var(--lh-delay, 0ms)}.lh-panel.in-view{opacity:1;transform:translateY(0)}.lh-panel-text{min-width:0}.lh-kicker{display:inline-block;font-family:Space Mono,ui-monospace,monospace;font-size:var(--text-xs);color:var(--purple);text-transform:uppercase;letter-spacing:.16em;margin-bottom:var(--space-2)}.lh-panel-title{font-family:Poppins,Inter,sans-serif;font-weight:700;font-size:clamp(24px,2.5vw + .5rem,40px);line-height:1.15;color:var(--text);margin-bottom:var(--space-3);letter-spacing:-.01em}.lh-panel-blurb{color:var(--text-dim);font-size:var(--text-md);line-height:1.7;max-width:42ch}.lh-panel-art{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.lh-code-card{background:#0a0a14;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 20px 60px #0006,0 0 0 1px var(--border)}.lh-code-head{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#050510;border-bottom:1px solid var(--border)}.lh-dot{width:11px;height:11px;border-radius:50%;display:inline-block}.lh-dot-red{background:#ff5c7c}.lh-dot-amber{background:#ffa726}.lh-dot-green{background:#4ecdc4}.lh-code-lang{margin-left:auto;font-family:Space Mono,ui-monospace,monospace;font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.lh-code{padding:var(--space-4);margin:0;font-family:Space Mono,ui-monospace,monospace;font-size:var(--text-sm);line-height:1.7;color:#d0d0ec;overflow-x:auto;white-space:pre}.lh-preview-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.lh-preview-label{padding:8px 14px;background:var(--bg-surface);border-bottom:1px solid var(--border);font-family:Space Mono,ui-monospace,monospace;font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.12em}.lh-preview-body{padding:var(--space-4);min-height:120px;display:flex;align-items:center;justify-content:center}.lh-preview-html h1,.lh-preview-css h1,.lh-preview-js h1{font-size:var(--text-xl);margin-bottom:8px;color:var(--text)}.lh-preview-html p,.lh-preview-css p,.lh-preview-js p{color:var(--text-dim);margin-bottom:12px;font-size:var(--text-sm)}.lh-preview-action{padding:8px 18px;border:1px solid var(--border-bright);background:var(--bg-surface);color:var(--text);border-radius:var(--radius-sm);font-family:inherit;display:inline-flex;align-items:center;justify-content:center;line-height:1;cursor:default;pointer-events:none}.lh-css-title{background:var(--grad-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:800!important}.lh-css-button{background:var(--pink)!important;color:#fff!important;border:none!important;padding:12px 24px!important;border-radius:var(--radius-full)!important;font-weight:600;cursor:pointer;font-family:inherit}.lh-js-button{animation:lh-click 2.4s ease-in-out infinite}@keyframes lh-click{0%,40%,60%,to{transform:scale(1)}50%{transform:scale(.95)}}.lh-preview-react{width:100%}.lh-react-app{display:flex;flex-direction:column;gap:12px;align-items:center;padding:12px 16px;border:1px dashed var(--purple);border-radius:var(--radius-md);background:#b44aff0d}.lh-react-tag{font-family:Space Mono,ui-monospace,monospace;font-size:var(--text-xs);color:var(--purple)}.lh-panel:nth-of-type(2n){grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.lh-panel:nth-of-type(2n) .lh-panel-text{order:2;text-align:right;justify-self:end}.lh-panel:nth-of-type(2n) .lh-panel-blurb{margin-left:auto}.lh-outro{text-align:center;padding:var(--space-8) 0 var(--space-6);border-top:1px solid var(--border);margin-top:var(--space-6)}.lh-outro-title{font-family:Poppins,Inter,sans-serif;font-weight:800;font-size:clamp(26px,3vw + .5rem,42px);margin-bottom:var(--space-3);background:var(--grad-neon);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.lh-outro-blurb{color:var(--text-dim);margin-bottom:var(--space-5);font-size:var(--text-md)}@media(max-width:960px){.auth-top{grid-template-columns:1fr;gap:var(--space-5);min-height:auto;padding:var(--space-5) var(--space-4) var(--space-6)}.auth-top .auth-card{justify-self:center;max-width:440px}.lh-intro-compact{text-align:center;max-width:640px;margin:0 auto}.lh-intro-compact .lh-lede{margin-left:auto;margin-right:auto}.lh-intro-compact .lh-cta-row{justify-content:center}}@media(max-width:768px){.lh-panel,.lh-panel:nth-of-type(2n){grid-template-columns:1fr;gap:var(--space-4)}.lh-panel:nth-of-type(2n) .lh-panel-text{order:0;text-align:left;justify-self:start}.lh-panel:nth-of-type(2n) .lh-panel-blurb{margin-left:0}.lh-headline{font-size:clamp(28px,8vw,44px)}.lh-cta-row{flex-direction:column}}@media(max-width:900px){.sb{position:fixed;left:0;top:0;bottom:0;width:min(92vw,360px);min-width:min(92vw,360px);transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 24px #00000080}.sb.open{transform:translate(0)}.sb-collapse{display:none}.sb-close,.overlay,.ham{display:block}.topbar{padding:10px 14px}.topbar-inner{gap:8px;flex-wrap:nowrap}.topbar-actions{margin-left:auto;gap:6px}.topbar-status{display:none}.bc{flex:1;min-width:0;padding:8px 10px;border-radius:12px}.lv-head{flex-wrap:wrap;gap:12px}.lv-actions{width:100%;justify-content:flex-start}.cpv-code{font-size:12px;padding:14px 16px}.lesson-nav{display:flex}.nav-row,.nav-guidance,.mark-btn{display:none}.mn{padding-bottom:80px}.bottom-tools{display:none}}@media(max-width:900px)and (max-height:860px),(max-height:760px){.sb{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.sb-scroll{flex:0 0 auto;min-height:auto;overflow:visible}.sb-head{padding:16px 16px 12px}.user-info{margin:10px 16px 0;padding:10px 12px}.prog,.stats-panel,.xp-bar-wrap,.daily-goal{padding:10px 12px}.sb-section-title{margin:8px 16px 6px}}@media(max-width:500px){.brand{gap:10px}.brand-bolt{width:40px;height:40px;font-size:18px}.brand-name{font-size:17px}.brand-sub{font-size:11px;letter-spacing:1.4px}.user-info{gap:10px;margin-left:16px;margin-right:16px}.user-avatar{width:36px;height:36px}.user-name{font-size:14px}.sb-section-title{margin-left:16px;margin-right:16px}.course-switcher{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.course-switcher,.prog,.stats-panel,.xp-bar-wrap,.daily-goal,.sb-lock-toggle{margin-left:16px;margin-right:16px}.cs-btn{padding:10px;font-size:12px}.stats-row{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card{padding:8px 6px}.stat-num{font-size:16px}.stat-label{font-size:9px}.xp-info,.dg-head,.prog-info{gap:8px}.xp-amount,.dg-count,.prog-info{font-size:11px}.bc-course{display:none}.lv-emoji{font-size:28px}.lesson-nav-label{font-size:12px}.lesson-nav-btn{padding:10px 6px}.theme-toggle{width:38px;height:38px;font-size:18px}.lv-action-btn{height:36px;min-width:36px;padding:0 12px}.lv-action-btn:after{font-size:11px}.auth-logo{font-size:22px}.auth-social{flex-direction:column}.sb-tool-btn{padding:10px 12px;font-size:12px}}@media(max-width:768px){.lv-head{flex-direction:column;align-items:flex-start}.lv-actions{width:100%}.lv-action-btn:after{display:none}.lv-emoji{font-size:32px}.lp{font-size:15px;line-height:1.75}.box{padding:16px 18px;border-radius:14px}.quiz-header{padding:14px 16px}.qq{padding:14px 16px;gap:12px}.quiz-submit{width:calc(100% - 32px);margin:12px 16px 16px}.quiz-results{padding:16px;flex-wrap:wrap}.quiz-score-num{font-size:22px}.topbar-actions .read-time,.topbar-greeting{display:none}.topbar-pill:nth-child(n+4){display:none}.search-trigger span:not(:first-child){display:none}.search-trigger kbd{display:none}.bc-mod,.bc-sep:nth-of-type(1){display:none}}@media(max-width:400px){.topbar{padding:8px 10px}.topbar-inner{gap:6px}.ham{width:34px;height:34px}.topbar-pill{padding:6px 8px;font-size:11px}.bc{padding:6px 8px;border-radius:10px}.bc-lesson{font-size:11px}.mn{padding-bottom:88px}.lesson-nav{padding:8px 10px;gap:6px}.lesson-nav-btn{padding:8px 4px;border-radius:10px;min-height:44px}.lesson-nav-label{font-size:11px}.lp{font-size:14px;line-height:1.7}.box{padding:12px 14px;border-radius:12px}.cpv-tabs{gap:6px;padding:10px 12px}.cpv-tab{padding:8px 10px;font-size:12px}.cpv-code{font-size:11px;padding:12px}.ss-modal,.search-modal,.cheatsheet-modal,.bookmarks-modal,.badges-modal,.projects-modal,.challenges-modal,.roadmap-modal{width:calc(100vw - 14px);margin:7px;border-radius:14px}.auth-card{padding:18px 14px;border-radius:14px}.auth-logo{font-size:20px}.auth-tagline{font-size:12px}.admin-tabs{gap:2px;padding:3px}.admin-tab{padding:8px;font-size:11px}.admin-table th,.admin-table td{padding:8px 10px;font-size:11px}.admin-pager{flex-direction:column;align-items:flex-start}.admin-pager-actions{width:100%;justify-content:space-between}}.shell{display:flex;height:100vh;overflow:hidden;background:radial-gradient(circle at 15% 15%,rgba(167,139,250,.08),transparent 24%),radial-gradient(circle at 85% 5%,rgba(78,205,196,.08),transparent 18%),linear-gradient(180deg,#090913,#06060c)}.overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:90;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mn{flex:1;overflow-y:auto;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.03),transparent 30%),linear-gradient(180deg,rgba(255,255,255,.01),transparent 18%),transparent;padding-bottom:120px}.course-skeleton{display:flex;align-items:center;justify-content:center;min-height:100dvh}.course-skeleton-inner{text-align:center}.course-skeleton-emoji{display:block;font-size:clamp(48px,8vw,72px);margin-bottom:18px;animation:pulse 1.5s ease-in-out infinite}.course-skeleton-label{color:var(--text-dim);font-size:15px;letter-spacing:.5px}@media(prefers-reduced-motion:reduce){.course-skeleton-emoji{animation:none}}.topbar{position:sticky;top:0;z-index:50;padding:14px 24px;background:color-mix(in srgb,var(--bg-deep) 85%,transparent);border-bottom:1px solid var(--border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.topbar-inner{width:min(100%,var(--shell-max));margin:0 auto;display:flex;align-items:center;gap:14px}.topbar-status{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.topbar-greeting{color:var(--text-dim);font-size:13px;font-weight:600;white-space:nowrap}.topbar-pill{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--text-dim);font-family:Poppins,monospace;font-size:11px;letter-spacing:.04em;white-space:nowrap}.topbar-pill.streak{border-color:#ff6b9d33;background:#ff6b9d14;color:var(--pink)}.topbar-pill.warm{border-color:#4ecdc433;background:#4ecdc412;color:var(--cyan)}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.ham{background:#ffffff08;border:1px solid rgba(255,255,255,.08);color:var(--text);font-size:20px;width:42px;height:42px;border-radius:12px;cursor:pointer;transition:all .15s}.ham:hover{border-color:var(--purple);color:var(--purple);background:#b44aff14}.first-run-guide{max-width:var(--content-max);margin:16px auto 24px;padding:20px 22px;border:1px solid rgba(255,255,255,.09);border-radius:var(--radius-lg);background:linear-gradient(135deg,#b44aff1a,#4ecdc414);box-shadow:0 20px 40px #00000024}.frg-content{margin-bottom:14px}.frg-kicker{margin:0 0 6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);font-family:Space Mono,ui-monospace,monospace}.frg-title{margin:0;font-size:20px;font-weight:700;line-height:1.3}.frg-copy,.frg-sub{margin:8px 0 0;color:var(--text-dim);line-height:1.5;max-width:70ch}.frg-sub{margin-top:10px}.frg-courses{display:flex;flex-wrap:wrap;gap:8px}.frg-course{border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:var(--text);border-radius:999px;min-height:34px;padding:0 12px;display:inline-flex;gap:8px;align-items:center;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;transition:transform .2s ease,border-color .2s ease,background .2s ease}.frg-course:hover{transform:translateY(-1px);border-color:var(--purple)}.frg-course-active{border-color:var(--purple);background:#b44aff29}.bc{flex:1;display:flex;align-items:center;gap:8px;font-size:14px;min-width:0;padding:10px 14px;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,#ffffff08,#ffffff04);box-shadow:0 14px 30px #00000026}.bc-course{font-weight:700;font-family:Poppins,monospace;font-size:13px;white-space:nowrap}.bc-mod{color:var(--text-dim);white-space:nowrap}.bc-sep{color:var(--text-muted)}.bc-les{color:var(--text);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bc-progress{margin-left:auto;border-color:#00e5ff47;background:#00e5ff1a;color:var(--cyan);flex-shrink:0}.mark-btn{min-height:42px;padding:0 16px;border-radius:12px;font-size:13px;font-weight:700;white-space:nowrap;box-shadow:0 12px 24px #0000001f}.mark-btn:hover{box-shadow:0 4px 16px #b44aff26}.mark-btn.dn{background:var(--cyan-dim);border-color:var(--cyan);color:var(--cyan)}.nav-row{display:flex;justify-content:space-between;gap:12px;padding:0 clamp(14px,2vw,24px) 48px;max-width:var(--content-max);margin:0 auto}.nav-guidance{max-width:var(--content-max);margin:-36px auto 38px;padding:0 clamp(14px,2vw,24px);color:var(--text-dim);font-size:13px;line-height:1.55}.nav-btn{min-height:44px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;font-family:Inter,sans-serif;display:flex;align-items:center;gap:8px;min-width:0;max-width:42%}.nav-btn-dir{flex-shrink:0;font-size:16px}.nav-btn-text{display:flex;flex-direction:column;align-items:flex-start;min-width:0;text-align:left}.nav-btn.nx .nav-btn-text{align-items:flex-end;text-align:right}.nav-btn-label{font-size:11px;font-weight:500;opacity:.65;text-transform:uppercase;letter-spacing:.04em;line-height:1}.nav-btn-title{font-size:13px;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.nav-btn:hover:not(:disabled){transform:translateY(-1px)}.nav-btn:disabled{opacity:.3;cursor:not-allowed}.nav-btn.nx{color:#fff}.nav-btn.nx:hover:not(:disabled){box-shadow:0 8px 28px #b44aff40;transform:translateY(-2px)}.xp-bar-wrap{margin-top:12px}.xp-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.xp-level{font-family:Poppins,monospace;font-size:13px;font-weight:700}.xp-level .lvl-num{color:var(--cyan)}.xp-amount{font-family:Poppins,monospace;font-size:11px;color:var(--text-muted)}.xp-track{height:6px;background:var(--bg-surface);border-radius:6px;overflow:hidden}.xp-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,#ff6b9d,#a78bfa,#4ecdc4);transition:width .6s cubic-bezier(.4,0,.2,1);position:relative}.xp-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmer 2s infinite}.daily-goal{margin-top:12px}.dg-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.dg-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-family:Poppins,monospace}.dg-count{font-family:Poppins,monospace;font-size:12px;color:var(--text-dim)}.dg-dots{display:flex;gap:6px}.dg-dot{width:100%;height:8px;border-radius:4px;background:var(--bg-surface);border:1px solid var(--border);transition:all .4s cubic-bezier(.34,1.56,.64,1)}.dg-dot.filled{background:linear-gradient(90deg,#4ecdc4,#a78bfa);border-color:transparent;box-shadow:0 0 8px #4ecdc44d}.stats-panel{margin-top:12px}.stats-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.stat-card{flex:1;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:10px;text-align:center;transition:border-color .2s,transform .2s}.stat-card:hover{border-color:var(--border-bright);transform:translateY(-1px)}.stat-num{font-family:Poppins,monospace;font-size:18px;font-weight:700}.stat-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.xp-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);z-index:600;background:var(--bg-dark);border:2px solid var(--purple);border-radius:20px;padding:32px 48px;text-align:center;box-shadow:0 20px 60px #ff6b9d33;transition:transform .4s cubic-bezier(.175,.885,.32,1.275)}.xp-popup.show{transform:translate(-50%,-50%) scale(1)}.xp-gain{font-family:Poppins,monospace;font-size:36px;font-weight:700;background:linear-gradient(90deg,#ff6b9d,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.xp-reason{font-size:14px;color:var(--text-dim);margin-top:4px}.xp-lvlup{font-size:16px;color:var(--amber);margin-top:12px;font-weight:700;animation:float 2s ease-in-out infinite}.badge-unlock-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:700;background:#000000d9;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .3s ease}.badge-unlock{text-align:center;transform:scale(0);transition:transform .6s cubic-bezier(.175,.885,.32,1.275);position:relative;padding:48px 40px 36px}.badge-unlock.show{transform:scale(1)}.bu-icon{font-size:96px;display:block;margin-bottom:16px;filter:drop-shadow(0 0 30px rgba(255,107,157,.6));animation:buBounce .8s cubic-bezier(.34,1.56,.64,1) .2s both}.bu-label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:3px;font-family:Poppins,monospace;animation:fadeIn .4s ease .5s both}.bu-name{font-size:28px;font-weight:700;color:var(--cyan);font-family:Poppins,sans-serif;margin:8px 0;animation:fadeIn .4s ease .6s both}.bu-desc{font-size:14px;color:var(--text-dim);max-width:300px;margin:0 auto;animation:fadeIn .4s ease .7s both}.bu-dismiss{margin-top:24px;padding:10px 32px;background:var(--grad-brand);color:#fff;border:none;border-radius:var(--radius-full);font-size:16px;font-weight:700;font-family:Inter,system-ui,sans-serif;cursor:pointer;transition:transform .2s,box-shadow .2s;animation:fadeIn .4s ease .9s both}.bu-dismiss:hover{transform:scale(1.05);box-shadow:0 0 24px #ff6b9d66}.bu-glow{position:absolute;top:50%;left:50%;width:140px;height:140px;transform:translate(-50%,-65%);border-radius:50%;box-shadow:0 0 60px 20px #ff6b9d33,0 0 120px 40px #a78bfa1a;animation:buGlowPulse 2s ease-in-out infinite;pointer-events:none}.bu-particles{position:absolute;top:50%;left:50%;width:0;height:0;pointer-events:none}.bu-particle{position:absolute;width:var(--bu-size);height:var(--bu-size);border-radius:50%;animation:buBurst .8s cubic-bezier(.25,1,.5,1) var(--bu-delay) both}@keyframes buBounce{0%{transform:scale(0) rotate(-20deg);opacity:0}60%{transform:scale(1.2) rotate(5deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}@keyframes buBurst{0%{transform:rotate(var(--bu-angle)) translateY(0);opacity:1}to{transform:rotate(var(--bu-angle)) translateY(calc(var(--bu-dist) * -1));opacity:0}}@keyframes buGlowPulse{0%,to{box-shadow:0 0 60px 20px #ff6b9d33,0 0 120px 40px #a78bfa1a}50%{box-shadow:0 0 80px 30px #ff6b9d4d,0 0 160px 50px #a78bfa26}}.theme-toggle{position:fixed;bottom:20px;right:18px;z-index:220;width:42px;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#11111de6,#090913e6);color:var(--text);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 24px #0003;transition:all .25s}.theme-toggle:hover{transform:translateY(-2px);box-shadow:0 16px 28px #00000042;border-color:#ffffff2e}.read-time{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--text-muted);font-family:Poppins,monospace;background:#ffffff08;padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.06);white-space:nowrap;height:40px}.rt-icon{font-size:13px}.shell.light,.loading-screen.light,.light{--bg-deep: #f5f5f8;--bg-dark: #ffffff;--bg-card: #f0f0f5;--bg-surface: #e8e8f0;--border: #d0d0dd;--border-bright: #b0b0c0;--text: #1a1a2e;--text-dim: #555570;--text-muted: #8888a0;--pink: #e0558a;--pink-dim: #e0558a25;--pink-glow: #e0558a15;--cyan: #0d9488;--cyan-dim: #0d948815;--amber: #d97706;--amber-dim: #d9770615;--purple: #7c3aed;--purple-dim: #7c3aed15}.shell.light .cpv-code,.shell.light .cpv-iframe{background:#1a1a2e;color:#e0e0ec}.shell.light .cpv-tabs{background:#2a2a3e;border-color:#3a3a5e}.shell.light .cpv-tab{color:#8888a8}.shell.light .cpv-tab.on{color:#ff6b9d;background:#1a1a2e}.shell.light .cpv-copy,.shell.light .cpv-reset,.shell.light .cpv-explain{background:#1a1a2e;border-color:#3a3a5e;color:#8888a8}.shell.light .box.tip{background:#0d948814}.shell.light .box.chal{background:#d9770614}.shell.light .box.output-box{background:#0d94880f}.shell.light .devfession-toggle{background:var(--bg-card)}.shell.light .devfession-content{background:var(--purple-dim)}.shell.light .sb{background:#fff;border-color:var(--border)}.shell.light .mg.act>.mg-btn{background:var(--pink-glow)}.shell.light .lg-btn:hover{background:var(--bg-surface)}.shell.light .ai-tutor-toggle,.shell.light .ai-tutor-panel{background:var(--bg-card)}.shell.light .ai-msg-user .ai-msg-content{background:var(--bg-surface)}.shell.light .ai-msg-assistant .ai-msg-content{background:var(--cyan-dim);border-color:var(--border)}.shell.light .ai-code-block{background:#1a1a2e;color:#e0e0ec}.shell.light .ai-input{background:#fff;border-color:var(--border)}.shell.light .challenge-card,.shell.light .cc-challenge,.shell.light .cc-workspace{background:var(--bg-card)}.shell.light .mn::-webkit-scrollbar-track,.shell.light .sb-scroll::-webkit-scrollbar-track{background:#f5f5f8}.shell.light .mn::-webkit-scrollbar-thumb,.shell.light .sb-scroll::-webkit-scrollbar-thumb{background:#d0d0dd}.shell.light .notes-panel{background:var(--bg-card)}.shell.light .notes-input{background:#fff;border-color:var(--border);color:var(--text)}.light .auth-bg{background:linear-gradient(135deg,#f0f0f5,#e8e8f0)}.light .auth-card{background:#fff;border-color:var(--border)}.light .auth-input{background:var(--bg-surface);border-color:var(--border);color:var(--text)}.shell.light .search-modal{background:#fff;border-color:var(--border)}.shell.light .search-input{background:var(--bg-surface);color:var(--text)}.shell.light .search-result:hover,.shell.light .search-result.active{background:var(--bg-surface)}.light .admin-wrap{background:#f5f5f8}.light .admin-stat-card,.light .admin-course-card{background:#fff}.light .admin-table th{background:var(--bg-surface)}.light .admin-tabs{background:#fff}[data-course=css] .mg.act>.mg-btn{background:#4ecdc414;border-left-color:var(--cyan)}[data-course=css] .lg-btn.act,[data-course=css] .lp strong{color:var(--cyan)}[data-course=css] .lp em{color:var(--pink)}[data-course=css] .cpv-tab.on{color:var(--cyan);border-bottom-color:var(--cyan)}[data-course=css] .mark-btn:hover{border-color:var(--cyan);color:var(--cyan)}[data-course=js] .mg.act>.mg-btn{background:#ffa72614;border-left-color:var(--amber)}[data-course=js] .lg-btn.act,[data-course=js] .lp strong{color:var(--amber)}[data-course=js] .cpv-tab.on{color:var(--amber);border-bottom-color:var(--amber)}[data-course=js] .mark-btn:hover{border-color:var(--amber);color:var(--amber)}[data-course=react] .mg.act>.mg-btn{background:#a78bfa14;border-left-color:var(--purple)}[data-course=react] .lg-btn.act,[data-course=react] .lp strong{color:var(--purple)}[data-course=react] .cpv-tab.on{color:var(--purple);border-bottom-color:var(--purple)}[data-course=react] .mark-btn:hover{border-color:var(--purple);color:var(--purple)}@media(min-width:1400px){:root{--content-max: 1000px;--shell-max: 1280px}.lv{padding:40px}.topbar{padding:16px 32px}.nav-row{padding:0 32px 48px}}@media(min-width:1800px){:root{--content-max: 1060px;--shell-max: 1360px}}.guest-preview{min-height:100vh;background:var(--bg-deep)}.guest-preview-loading{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px}.guest-preview-loading p{min-width:min(440px,100%);text-align:center;padding:28px 24px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-card);color:var(--text-dim);font-family:Poppins,monospace;letter-spacing:.02em}.gp-topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:var(--bg-dark);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.gp-back{color:var(--text-dim);font-size:14px;font-weight:600;font-family:inherit}.gp-back:hover{color:var(--text);text-decoration:none}.gp-badge{font-family:Poppins,monospace;font-size:11px;color:var(--amber);background:var(--amber-dim);padding:4px 12px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:1px}.gp-signup-btn{background:var(--grad-brand);color:#fff;border:none;padding:8px 20px;border-radius:var(--radius-full);font-weight:700;cursor:pointer;font-size:14px;font-family:inherit}.gp-signup-btn:hover{opacity:.9}.gp-content{max-width:var(--content-max);margin:0 auto;padding:24px}.gp-banner{display:flex;align-items:center;gap:12px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 20px;margin-bottom:24px}.gp-banner-icon{font-size:24px}.gp-banner p{font-size:14px;color:var(--text-dim);margin:0}.gp-inline-link{background:none;border:none;color:var(--cyan);cursor:pointer;font-weight:600;text-decoration:underline;font-size:inherit;font-family:inherit}.gp-cta{text-align:center;padding:48px 24px;margin-top:48px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl)}.gp-cta h3{font-size:22px;margin-bottom:8px}.gp-cta p{color:var(--text-dim);max-width:480px;margin:0 auto 20px}.gp-cta-btn{min-height:46px;padding:0 32px;font-weight:700;font-size:16px;font-family:inherit}.gp-cta-btn:hover{transform:translateY(-1px)}.auth-preview-btn{display:block;width:100%;margin-top:12px;min-height:40px;padding:0 12px;color:var(--text-dim);font-size:14px;font-family:inherit}.auth-preview-btn:hover{color:var(--text)}.roadmap-panel{max-width:720px;width:95vw;max-height:85vh;overflow:hidden}.roadmap-body{padding:0 24px 24px;overflow-y:auto;max-height:calc(85vh - 80px);scrollbar-width:thin;scrollbar-color:rgba(180,74,255,.2) transparent}.roadmap-body::-webkit-scrollbar{width:6px}.roadmap-body::-webkit-scrollbar-track{background:transparent}.roadmap-body::-webkit-scrollbar-thumb{background:#b44aff4d;border-radius:3px}.roadmap-body::-webkit-scrollbar-thumb:hover{background:#b44aff80}.rm-course{margin-bottom:8px}.rm-course.rm-current{background:var(--bg-surface);border-radius:var(--radius-lg);padding:16px;margin:-8px -8px 8px}.rm-course-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.rm-course-info{display:flex;align-items:center;gap:10px}.rm-course-icon{font-size:24px}.rm-course-label{font-weight:700;font-size:16px;display:block}.rm-course-count{font-size:12px;color:var(--text-muted);font-family:Poppins,monospace}.rm-course-pct{font-family:Poppins,monospace;font-weight:700;font-size:18px}.rm-bar{height:6px;background:var(--bg-surface);border-radius:var(--radius-full);overflow:hidden;margin-bottom:12px}.rm-bar-fill{height:100%;border-radius:var(--radius-full);transition:width .4s ease}.rm-modules{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.rm-mod{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;font-size:12px;color:var(--text-dim);font-family:inherit;transition:all .2s}.rm-mod:hover{border-color:var(--border-bright);color:var(--text)}.rm-mod.done{border-color:var(--cyan);color:var(--cyan)}.rm-mod.partial{border-color:var(--amber-dim);color:var(--amber)}.rm-mod-emoji{font-size:14px}.rm-mod-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rm-mod-count{font-family:Poppins,monospace;font-size:10px;opacity:.6}.rm-connector{text-align:center;color:var(--text-muted);font-size:18px;padding:8px 0;opacity:.4}.break-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:600;background:#0009;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .3s ease}.break-card{background:var(--bg-dark);border:1px solid var(--border);border-radius:var(--radius-xl);padding:36px 32px;max-width:420px;width:90vw;text-align:center;animation:fadeIn .4s ease .1s both}.break-icon{font-size:48px;display:block;margin-bottom:12px}.break-title{font-size:20px;font-weight:700;margin-bottom:8px}.break-msg{font-size:15px;color:var(--text-dim);line-height:1.6;margin-bottom:8px}.break-sub{font-size:13px;color:var(--text-muted);margin-bottom:20px}.break-actions{display:flex;flex-direction:column;gap:8px}.break-continue{padding:12px;background:var(--grad-brand);color:#fff;border:none;border-radius:var(--radius-md);font-weight:700;cursor:pointer;font-size:15px;font-family:inherit}.break-continue:hover{opacity:.9}.break-rest{padding:10px;background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-dim);cursor:pointer;font-size:14px;font-family:inherit}.break-rest:hover{border-color:var(--text-muted);color:var(--text)}@media print{.sb,.topbar,.nav-row,.theme-toggle,.quiz-container,.cpv-tabs,.cpv-iframe,.bottom-tools,.lesson-nav,.notes-panel,.lv-actions{display:none!important}.mn{overflow:visible!important}.lv-wrap{max-width:100%;padding:0}.shell{display:block}.box{break-inside:avoid}body{background:#fff;color:#000}.lp,.lp strong,.lp em,.lv-title{color:#000!important}.box.tip,.box.chal{border:1px solid #ccc;background:#f9f9f9!important}.box-label{color:#333!important}}.quiz-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.quiz-xp-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:700;font-family:Poppins,monospace;background:linear-gradient(135deg,var(--pink-glow),rgba(167,139,250,.15));color:var(--pink);border:1px solid var(--pink-dim);animation:scaleIn .3s ease-out}.quiz-xp-badge.perfect{background:linear-gradient(135deg,#4ecdc426,#a78bfa26);color:var(--cyan);border-color:var(--cyan-dim);animation:glow 2s ease-in-out infinite,scaleIn .3s ease-out}.quiz-sr-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:20px;font-size:11px;font-family:Poppins,monospace;background:var(--bg-surface);color:var(--text-dim);border:1px solid var(--border)}.welcome-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:800;background:#000000b3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .25s ease-out}.welcome-card{width:100%;max-width:480px;background:#0e0e18bf;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:36px 28px 24px;text-align:center;transform:scale(.92) translateY(12px);opacity:0;transition:all .5s cubic-bezier(.16,1,.3,1);overflow-y:auto;max-height:calc(100dvh - 40px);box-shadow:0 24px 80px #00000080,inset 0 1px #ffffff0f}.welcome-card.show{transform:scale(1) translateY(0);opacity:1}.wb-greeting{margin-bottom:24px;animation:fadeIn .4s ease .15s both}.wb-overline{display:inline-flex;align-items:center;min-height:28px;padding:0 12px;margin-bottom:14px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--text-muted);font-family:Poppins,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.wb-hello{font-family:Inter,sans-serif;font-size:24px;font-weight:700;margin-bottom:6px;line-height:1.2}.wb-name{color:var(--cyan)}.wb-motivation{font-size:14px;color:var(--text-dim);font-style:italic;line-height:1.5}.wb-context{margin-top:10px;color:var(--text-muted);font-size:13px;line-height:1.6}.wb-hero{display:flex;align-items:center;gap:16px;width:100%;padding:18px 20px;background:#ffffff0a;border:1px solid rgba(255,107,157,.2);border-radius:14px;cursor:pointer;text-align:left;font-family:inherit;position:relative;overflow:hidden;transition:all .25s;margin-bottom:16px;animation:fadeIn .4s ease .3s both}.wb-hero:hover{border-color:#ff6b9d66;background:#ffffff0f;transform:translateY(-2px);box-shadow:0 12px 40px #ff6b9d1f}.wb-hero-glow{position:absolute;top:-50%;right:-30%;width:200px;height:200px;background:radial-gradient(circle,rgba(255,107,157,.12) 0%,transparent 70%);pointer-events:none}.wb-hero-content{flex:1;min-width:0}.wb-hero-label{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);font-family:Poppins,monospace;margin-bottom:6px;display:block}.wb-hero-path{font-size:12px;color:var(--text-dim);margin-bottom:4px}.wb-sep{color:var(--text-muted);margin:0 2px}.wb-hero-lesson{font-size:16px;font-weight:700;color:var(--text);line-height:1.3}.wb-hero-time{font-size:10px;color:var(--text-muted);font-family:Poppins,monospace;display:block;margin-top:4px}.wb-hero-meta{display:flex;flex-direction:column;gap:4px;margin-top:6px}.wb-hero-kicker{color:var(--text-dim);font-size:12px;line-height:1.5}.wb-hero-progress{display:flex;align-items:center;gap:8px;margin-top:10px}.wb-hero-track{flex:1;height:3px;background:#ffffff14;border-radius:2px;overflow:hidden}.wb-hero-fill{height:100%;background:linear-gradient(90deg,var(--pink),var(--purple));border-radius:2px;transition:width .5s ease}.wb-hero-pct{font-family:Poppins,monospace;font-size:10px;color:var(--text-muted);white-space:nowrap}.wb-hero-arrow{font-size:22px;color:var(--pink);flex-shrink:0;transition:transform .2s}.wb-hero:hover .wb-hero-arrow{transform:translate(4px)}.wb-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:16px;animation:fadeIn .4s ease .45s both}.wb-pill{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:999px;font-size:11px;font-weight:600;color:var(--text-dim);font-family:Poppins,monospace;white-space:nowrap}.wb-pill-accent{border-color:#ff6b9d40;color:var(--pink);background:#ff6b9d14}.wb-pill-warm{border-color:#4ecdc433;color:var(--cyan);background:#4ecdc40f}.wb-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:18px 0 16px}.wb-stat-card{display:flex;flex-direction:column;gap:6px;min-width:0;padding:14px 14px 13px;border-radius:14px;border:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg,#ffffff0a,#ffffff04);text-align:left}.wb-stat-label{color:var(--text-muted);font-family:Poppins,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.wb-stat-value{color:var(--text);font-family:Poppins,monospace;font-size:19px;line-height:1}.wb-stat-copy{color:var(--text-dim);font-size:12px;line-height:1.5}.wb-momentum-note{margin:-4px 0 12px;color:var(--text-dim);font-size:13px;line-height:1.55;text-align:center}.wb-fresh{background:none;border:none;color:var(--text-muted);font-size:12px;cursor:pointer;font-family:inherit;transition:color .15s;animation:fadeIn .3s ease .55s both}.wb-fresh:hover{color:var(--text);text-decoration:underline}@media(max-width:500px){.welcome-card{padding:28px 20px 20px}.wb-hello{font-size:20px}.wb-hero{flex-direction:column;gap:10px}.wb-hero-arrow{display:none}.wb-stat-grid{grid-template-columns:1fr}}.cc-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:850;background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .3s ease-out}.cc-card{width:100%;max-width:480px;background:var(--bg-dark);border:1px solid var(--border);border-radius:24px;padding:40px 32px;text-align:center;transform:scale(.85);opacity:0;transition:all .5s cubic-bezier(.16,1,.3,1)}.cc-card.show{transform:scale(1);opacity:1}.cc-badge-row{margin-bottom:16px}.cc-trophy{font-size:64px;display:inline-block;filter:drop-shadow(0 0 24px rgba(255,167,38,.4));animation:float 2s ease-in-out infinite}.cc-header{margin-bottom:28px}.cc-overline{display:inline-flex;align-items:center;min-height:28px;padding:0 12px;margin-bottom:14px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--text-muted);font-family:Poppins,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.cc-title{font-family:Poppins,monospace;font-size:28px;font-weight:700;background:linear-gradient(90deg,var(--pink),var(--amber));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.cc-sub{font-size:16px;color:var(--text-dim);margin-top:4px}.cc-sub strong{color:var(--text)}.cc-kicker{margin-top:12px;color:var(--text-muted);font-size:13px;line-height:1.65}.cc-cert{margin-bottom:28px}.cc-cert-inner{position:relative;background:var(--bg-surface);border:2px solid var(--border);border-radius:16px;padding:28px 24px;overflow:hidden}.cc-cert-border{position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:2px dashed;border-radius:12px;opacity:.3;pointer-events:none}.cc-cert-icon{font-size:36px;margin-bottom:8px}.cc-cert-label{font-size:10px;text-transform:uppercase;letter-spacing:3px;color:var(--text-muted);font-family:Poppins,monospace;margin-bottom:4px}.cc-cert-course{font-family:Poppins,monospace;font-size:24px;font-weight:700;margin-bottom:12px}.cc-cert-name{font-size:18px;font-weight:600;color:var(--text);margin-bottom:4px}.cc-cert-detail{font-size:12px;color:var(--text-dim)}.cc-cert-date{font-size:11px;color:var(--text-muted);font-family:Poppins,monospace;margin-top:12px}.cc-cert-brand{font-family:Poppins,monospace;font-size:12px;color:var(--pink);margin-top:16px;letter-spacing:1px}.cc-actions{display:flex;flex-direction:column;gap:10px}.cc-download-btn{padding:14px 24px;border:2px solid var(--cyan);border-radius:10px;background:var(--cyan-dim);color:var(--cyan);font-size:15px;font-weight:700;cursor:pointer;transition:all .2s;font-family:Poppins,monospace}.cc-download-btn:hover:not(:disabled){background:var(--cyan);color:var(--bg-deep);box-shadow:0 4px 20px var(--cyan-dim);transform:translateY(-1px)}.cc-download-btn:disabled{opacity:.6;cursor:not-allowed}.cc-share-btn{padding:12px 20px;border:1px solid var(--border);border-radius:10px;background:var(--bg-surface);color:var(--text);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.cc-share-btn:hover{border-color:var(--border-bright);transform:translateY(-1px)}.cc-close-btn{padding:14px 24px;border:none;border-radius:10px;background:var(--pink);color:var(--bg-deep);font-size:15px;font-weight:700;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.cc-close-btn:hover{filter:brightness(1.15);box-shadow:0 4px 20px var(--pink-dim);transform:translateY(-1px)}@keyframes confettiFall{0%{transform:translateY(-10vh) translate(0) rotate(0);opacity:1}to{transform:translateY(110vh) translate(var(--drift)) rotate(720deg);opacity:0}}.confetti-container{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;pointer-events:none;overflow:hidden}.confetti-piece{position:absolute;top:-20px;width:var(--size);height:var(--size);background:var(--color);border-radius:2px;animation:confettiFall var(--duration) ease-in var(--delay) forwards;transform:rotate(var(--rotation))}.confetti-piece:nth-child(odd){border-radius:50%}.confetti-piece:nth-child(3n){width:calc(var(--size) * .6);height:calc(var(--size) * 1.4)}.sl-section-title{font-family:Poppins,monospace;font-size:clamp(16px,1rem + .3vw,18px);font-weight:700;color:var(--text);margin:28px 0 16px;padding-bottom:8px;border-bottom:1px solid var(--border)}.sl-hook{background:linear-gradient(180deg,#4ecdc41f,#4ecdc40a);border-color:var(--cyan);border-left:4px solid var(--cyan)}.sl-hook .box-label{color:var(--cyan)}.sl-hook-list{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:6px}.sl-hook-list li{display:flex;align-items:center;gap:8px;font-size:15px;line-height:1.5}.sl-hook-list li:before{content:"✓";color:var(--cyan);font-weight:700;flex-shrink:0;width:18px;text-align:center}.sl-steps{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-direction:column;gap:6px;counter-reset:none}.sl-step{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:12px;background:#ffffff05;border:1px solid rgba(255,255,255,.06);font-size:15px;line-height:1.6}.sl-step-num{width:28px;height:28px;border-radius:8px;background:var(--bg-surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:Poppins,monospace;font-size:13px;font-weight:700;color:var(--pink);flex-shrink:0}.sl-proof{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:10px;background:#ffa72614;border:1px solid rgba(255,167,38,.2);font-size:14px;line-height:1.5;margin-bottom:20px}.sl-proof-icon{font-size:18px;flex-shrink:0}.sl-concepts{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.sl-concept-card{padding:16px 18px;border-radius:14px;background:linear-gradient(180deg,#ffffff08,#ffffff03);border:1px solid rgba(255,255,255,.07);border-left:3px solid var(--purple)}.sl-concept-name{font-family:Poppins,monospace;font-size:14px;font-weight:700;color:var(--pink);margin-bottom:6px}.sl-concept-def{font-size:15px;line-height:1.7;color:var(--text);margin-bottom:8px}.sl-concept-analogy{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:8px;background:#a78bfa0f;border:1px solid rgba(167,139,250,.12);font-size:13px;line-height:1.5;color:var(--text-dim)}.sl-analogy-icon{font-size:14px;flex-shrink:0;margin-top:1px}.sl-comparison{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.sl-comparison-pane{border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.06)}.sl-comparison-new{border-color:#4ecdc44d}.sl-comparison-label{padding:6px 14px;font-family:Poppins,monospace;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.06)}.sl-comparison-new .sl-comparison-label{color:var(--cyan)}.sl-comparison-code{padding:12px 14px;margin:0;font-family:Poppins,monospace;font-size:12px;line-height:1.6;color:var(--text);background:#04040a99;white-space:pre;overflow-x:auto}.sl-summary{padding:18px 20px;border-radius:14px;background:linear-gradient(180deg,#4ecdc41a,#4ecdc408);border:1px solid rgba(78,205,196,.2);margin-bottom:20px}.sl-summary-title{font-family:Poppins,monospace;font-size:14px;font-weight:700;color:var(--cyan);margin-bottom:12px}.sl-summary-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.sl-summary-list li{display:flex;align-items:center;gap:8px;font-size:14px;line-height:1.5}.sl-summary-check{color:var(--cyan);font-weight:700;width:18px;text-align:center;flex-shrink:0}.sl-bridge{padding:16px 18px;border-radius:12px;background:var(--bg-surface);border:1px solid var(--border);margin-bottom:20px}.sl-bridge-label{font-family:Poppins,monospace;font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}.sl-bridge p{font-size:14px;color:var(--text-dim);line-height:1.6}@media(max-width:600px){.sl-comparison{grid-template-columns:1fr}.sl-step{padding:10px 12px}.sl-concept-card{padding:14px}}.cpv-scaffolding{display:flex;align-items:center;gap:8px;padding:10px 16px;font-size:12px;line-height:1.4;border-bottom:1px solid rgba(255,255,255,.06)}.cpv-scaffolding-icon{font-size:16px;flex-shrink:0}.cpv-scaffolding-label{font-family:Poppins,monospace;font-weight:700;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.cpv-scaffolding-hint{color:var(--text-dim);flex:1}.cpv-scaffolding-partial{background:linear-gradient(90deg,rgba(255,167,38,.1),transparent 70%)}.cpv-scaffolding-partial .cpv-scaffolding-label{color:var(--amber)}.cpv-scaffolding-starter{background:linear-gradient(90deg,rgba(78,205,196,.1),transparent 70%)}.cpv-scaffolding-starter .cpv-scaffolding-label{color:var(--cyan)}.cpv-scaffolding-requirements{background:linear-gradient(90deg,rgba(167,139,250,.1),transparent 70%)}.cpv-scaffolding-requirements .cpv-scaffolding-label{color:var(--purple)}.lv-scaffolding{display:inline-flex;align-items:center;padding:3px 10px;border-radius:10px;font-size:11px;font-weight:600;font-family:Poppins,monospace}.lv-scaffolding-partial{background:#ffa7261f;color:var(--amber)}.lv-scaffolding-starter{background:#4ecdc41f;color:var(--cyan)}.lv-scaffolding-requirements{background:#a78bfa1f;color:var(--purple)}@media(max-width:600px){.cpv-scaffolding{flex-wrap:wrap;padding:8px 12px}.cpv-scaffolding-hint{width:100%}}.cpv-code{counter-reset:line;position:relative}.cpv-code code{display:block}.cpv{transition:border-color .2s,box-shadow .2s}.cpv:hover{border-color:var(--border-bright);box-shadow:0 4px 24px #0003}.lv{animation:fadeIn .3s ease-out}.lv-head{animation:slideInLeft .3s ease-out}.lv-body{animation:fadeIn .4s ease-out .1s both}.box{animation:slideInLeft .35s ease-out .2s both}@media(max-width:600px){.cc-overlay{padding:12px}.cc-card{padding:28px 20px;border-radius:16px}.cc-title{font-size:22px}.cc-cert-course{font-size:20px}}@media(max-width:400px){.cc-card,.cc-cert-inner{padding:20px 16px}}.mn::-webkit-scrollbar,.sb-scroll::-webkit-scrollbar{width:6px}.mn::-webkit-scrollbar-track,.sb-scroll::-webkit-scrollbar-track{background:var(--bg-deep)}.mn::-webkit-scrollbar-thumb,.sb-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.mn::-webkit-scrollbar-thumb:hover,.sb-scroll::-webkit-scrollbar-thumb:hover{background:var(--border-bright)}.ai-tutor{margin-top:32px;border-radius:12px;overflow:hidden}.ai-tutor-toggle{display:flex;align-items:center;gap:10px;width:100%;padding:14px 20px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;cursor:pointer;font-family:Poppins,Fira Code,monospace;font-size:14px;font-weight:600;color:var(--text);transition:all .2s}.ai-tutor-toggle:hover{border-color:var(--cyan);background:var(--bg-surface)}.ai-tutor-toggle.open{border-radius:12px 12px 0 0;border-color:var(--cyan);background:var(--bg-surface)}.ai-tutor-icon{font-size:20px}.ai-tutor-label{color:var(--cyan)}.ai-tutor-hint{color:var(--text-muted);font-size:12px;font-weight:400;margin-left:auto}.ai-tutor-arrow{color:var(--text-muted);font-size:12px}.ai-tutor-panel{background:var(--bg-card);border:1px solid var(--cyan);border-top:none;border-radius:0 0 12px 12px;display:flex;flex-direction:column;max-height:500px;animation:fadeSlideIn .2s ease}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.ai-messages{flex:1;overflow-y:auto;padding:16px 20px;min-height:120px;max-height:380px}.ai-messages::-webkit-scrollbar{width:4px}.ai-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.ai-welcome{text-align:center;padding:12px 0}.ai-welcome-text{color:var(--text-dim);font-size:14px;line-height:1.75;margin-bottom:16px;max-width:58ch;margin-left:auto;margin-right:auto}.ai-welcome-text strong{color:var(--cyan)}.ai-suggestions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.ai-suggestion{padding:6px 14px;border-radius:20px;background:var(--bg-surface);border:1px solid var(--border);color:var(--text-dim);font-size:12px;cursor:pointer;transition:all .15s;font-family:Inter,sans-serif}.ai-suggestion:hover{border-color:var(--cyan);color:var(--cyan);background:var(--cyan-dim)}.ai-msg{display:flex;gap:10px;margin-bottom:16px;align-items:flex-start}.ai-msg-avatar{font-size:18px;flex-shrink:0;margin-top:2px}.ai-msg-content{flex:1;min-width:0}.ai-msg-content p{font-size:14px;line-height:1.7;color:var(--text);margin-bottom:8px}.ai-msg-content p:last-child{margin-bottom:0}.ai-msg-user .ai-msg-content{background:var(--bg-surface);border-radius:12px 12px 4px;padding:10px 14px}.ai-msg-user .ai-msg-content p{color:var(--text);margin-bottom:0}.ai-msg-assistant .ai-msg-content{background:var(--cyan-dim);border-radius:12px 12px 12px 4px;padding:12px 16px;border:1px solid var(--border)}.ai-msg-assistant .ai-msg-content p{color:var(--text)}.ai-code-block{background:var(--bg-deep);border:1px solid var(--border);border-radius:8px;padding:12px 16px;margin:8px 0;overflow-x:auto;font-family:Poppins,Fira Code,monospace;font-size:12px;line-height:1.6;color:var(--text);white-space:pre}.ai-typing{display:flex;gap:4px;padding:4px 0}.ai-typing span{width:6px;height:6px;border-radius:50%;background:var(--cyan);opacity:.4;animation:typingDot 1.4s ease-in-out infinite}.ai-typing span:nth-child(2){animation-delay:.2s}.ai-typing span:nth-child(3){animation-delay:.4s}@keyframes typingDot{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.ai-input-row{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:var(--bg-surface);border-radius:0 0 12px 12px}.ai-input{flex:1;padding:10px 14px;border-radius:8px;background:var(--bg-deep);border:1px solid var(--border);color:var(--text);font-family:Inter,sans-serif;font-size:14px;resize:none;transition:border-color .15s}.ai-input:focus{border-color:var(--cyan)}.ai-input::placeholder{color:var(--text-muted)}.ai-input:disabled{opacity:.5}.ai-send{width:40px;height:40px;border-radius:8px;background:var(--cyan);border:none;color:var(--bg-deep);font-size:18px;font-weight:700;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.ai-send:hover:not(:disabled){background:#6ee7de;box-shadow:0 0 16px var(--cyan-dim)}.ai-send:disabled{opacity:.3;cursor:not-allowed}@media(max-width:900px){.ai-tutor-panel{max-height:400px}.ai-suggestions{gap:6px}.ai-suggestion{font-size:11px;padding:5px 10px}}.cpv-actions{display:flex;align-items:center;gap:8px;margin-left:auto;margin-right:12px}.cpv-reset{padding:5px 12px;border-radius:5px;background:var(--bg-card);border:1px solid var(--border);color:var(--text-dim);font-family:Poppins,monospace;font-size:12px;cursor:pointer;transition:all .15s}.cpv-reset:hover{border-color:var(--amber);color:var(--amber)}.cpv-explain{padding:5px 12px;border-radius:5px;background:var(--bg-card);border:1px solid var(--border);color:var(--cyan);font-family:Poppins,monospace;font-size:12px;cursor:pointer;transition:all .15s}.cpv-explain:hover:not(:disabled){border-color:var(--cyan);background:var(--cyan-dim)}.cpv-explain:disabled{opacity:.5;cursor:not-allowed}.cpv-explain.loading{color:var(--text-muted)}.cpv-editor-wrap{border-top:1px solid var(--border);overflow:hidden}.cpv-editor-loading{display:flex;align-items:center;justify-content:center;gap:10px;height:320px;background:#0a0a14;color:var(--text-muted);font-family:Poppins,monospace;font-size:13px}.cpv-loading-spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--pink);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.cpv-explanation{border-top:1px solid var(--border);background:var(--bg-card);animation:fadeSlideIn .2s ease}.cpv-explanation-head{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--bg-surface);border-bottom:1px solid var(--border);font-family:Poppins,monospace;font-size:13px;font-weight:600;color:var(--cyan)}.cpv-explanation-close{background:none;border:none;color:var(--text-muted);font-size:16px;cursor:pointer;transition:color .15s}.cpv-explanation-close:hover{color:var(--text)}.cpv-explanation-body{padding:16px 20px;max-height:240px;overflow-y:auto}.cpv-explanation-body p{font-size:14px;line-height:1.7;color:var(--text);margin-bottom:10px}.cpv-explanation-body p:last-child{margin-bottom:0}.cpv-explanation-loading{display:flex;align-items:center;gap:10px;color:var(--text-muted);font-size:13px;font-family:Poppins,monospace;padding:8px 0}.cpv-editor-wrap .monaco-editor{border-radius:0!important}.cpv-editor-wrap .monaco-editor .margin{background:#0a0a14!important}@media(max-width:900px){.cpv-editor-loading{height:260px}.cpv-actions{gap:4px}.cpv-reset,.cpv-explain{font-size:11px;padding:4px 8px}}.admin-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--bg-deep);overflow-y:auto}.admin-container{max-width:1100px;margin:0 auto;padding:32px 24px 64px}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid var(--border)}.admin-header-left{display:flex;align-items:center;gap:16px}.admin-logo{font-size:32px;filter:drop-shadow(0 0 12px var(--pink-dim))}.admin-title{font-family:Poppins,monospace;font-size:24px;font-weight:700;color:var(--pink);letter-spacing:-.5px}.admin-subtitle{font-size:13px;color:var(--text-muted);margin-top:2px}.admin-back-btn{padding:8px 20px;border-radius:8px;background:var(--bg-surface);border:1px solid var(--border);color:var(--text-dim);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.admin-back-btn:hover{border-color:var(--pink);color:var(--pink)}.admin-tabs{display:flex;gap:4px;margin-bottom:28px;background:var(--bg-dark);border-radius:10px;padding:4px;border:1px solid var(--border)}.admin-tab{flex:1;padding:10px 16px;border-radius:8px;background:none;border:none;color:var(--text-dim);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;font-family:Inter,sans-serif}.admin-tab:hover{color:var(--text)}.admin-tab.active{background:var(--bg-surface);color:var(--pink);box-shadow:0 2px 8px #00000040}.admin-loading{text-align:center;padding:80px 20px;color:var(--text-muted);font-size:16px;font-family:Poppins,monospace}.admin-denied{text-align:center;padding:100px 20px}.admin-denied-icon{font-size:48px;display:block;margin-bottom:16px}.admin-denied h2{font-family:Poppins,monospace;font-size:24px;color:var(--pink);margin-bottom:8px}.admin-denied p{color:var(--text-dim);margin-bottom:24px}.admin-pager{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-surface)}.admin-pager-meta{color:var(--text-dim);font-size:12px}.admin-pager-actions{display:flex;align-items:center;gap:10px}.admin-page-indicator{font-family:Poppins,monospace;font-size:12px;color:var(--text-muted)}.admin-page-btn{padding:6px 10px;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text);font-size:12px;font-weight:600;cursor:pointer}.admin-page-btn:disabled{opacity:.45;cursor:not-allowed}.admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-bottom:32px}.admin-stat-card{display:flex;align-items:center;gap:14px;padding:20px;border-radius:12px;background:var(--bg-card);border:1px solid var(--border);transition:border-color .2s}.admin-stat-card:hover{border-color:var(--border-bright)}.admin-stat-icon{font-size:28px}.admin-stat-value{font-family:Poppins,monospace;font-size:24px;font-weight:700;color:var(--text);line-height:1}.admin-stat-label{font-size:12px;color:var(--text-muted);margin-top:4px}.admin-section{margin-bottom:36px}.admin-section-title{font-family:Poppins,monospace;font-size:16px;font-weight:700;color:var(--text);margin-bottom:16px}.admin-course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.admin-course-card{padding:20px;border-radius:12px;background:var(--bg-card);border:1px solid var(--border)}.admin-course-header{display:flex;justify-content:space-between;align-items:center;font-size:16px;font-weight:700;color:var(--text);margin-bottom:14px}.admin-course-accent{font-size:12px;font-weight:600}.admin-course-stats{display:flex;flex-direction:column;gap:6px}.admin-stat-row{display:flex;justify-content:space-between;font-size:13px;color:var(--text-dim)}.admin-stat-val{color:var(--text);font-weight:600;font-family:Poppins,monospace}.admin-progress-bar{height:4px;background:var(--bg-surface);border-radius:4px;margin-top:8px;overflow:hidden}.admin-progress-fill{height:100%;border-radius:4px;transition:width .5s ease}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th{text-align:left;padding:10px 14px;font-family:Poppins,monospace;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid var(--border);background:var(--bg-surface)}.admin-table td{padding:10px 14px;border-bottom:1px solid var(--border);color:var(--text)}.admin-table tr:hover td{background:var(--bg-card)}.admin-rank{font-family:Poppins,monospace;color:var(--text-muted);font-weight:700;width:30px}.admin-xp{font-family:Poppins,monospace;color:var(--amber);font-weight:600}.admin-date{color:var(--text-dim);font-size:12px}.admin-user-name{font-weight:600}.admin-badge{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:10px;background:var(--pink-dim);color:var(--pink);font-size:10px;font-weight:700;text-transform:uppercase}.admin-empty{text-align:center;color:var(--text-muted);padding:24px;font-style:italic}.admin-score{font-family:Poppins,monospace;font-weight:700;padding:2px 8px;border-radius:6px;font-size:12px}.admin-score.good{background:#4ecdc420;color:var(--cyan)}.admin-score.ok{background:#ffa72620;color:var(--amber)}.admin-score.low{background:#ff6b6b20;color:#ff6b6b}.admin-lesson-name{font-size:12px}.admin-lesson-mod{margin-right:6px}.admin-lesson-count{font-family:Poppins,monospace;font-weight:600;text-align:center;width:60px}.admin-lesson-bar-cell{width:40%}.admin-lesson-bar{height:6px;background:var(--bg-surface);border-radius:3px;overflow:hidden}.admin-lesson-bar-fill{height:100%;border-radius:3px;transition:width .3s ease}@media(max-width:768px){.admin-container{padding:16px 12px 48px}.admin-header{flex-direction:column;align-items:flex-start;gap:12px}.admin-grid{grid-template-columns:repeat(2,1fr)}.admin-course-grid{grid-template-columns:1fr}.admin-tabs{flex-wrap:wrap}.admin-tab{font-size:12px;padding:8px 10px}}.cc-challenge{margin-top:32px;border-radius:12px;background:var(--bg-card);border:1px solid var(--border);overflow:hidden}.cc-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 24px;gap:16px;background:var(--bg-surface);border-bottom:1px solid var(--border)}.cc-header-left{display:flex;gap:12px;align-items:flex-start}.cc-icon{font-size:24px}.cc-title{font-family:Poppins,monospace;font-size:16px;font-weight:700;color:var(--text);margin-bottom:4px}.cc-description{font-size:13px;color:var(--text-dim);line-height:1.5}.cc-diff{padding:3px 10px;border-radius:10px;font-size:11px;font-weight:600;text-transform:uppercase;white-space:nowrap;font-family:Poppins,monospace}.cc-diff-beginner{background:#4ecdc420;color:var(--cyan)}.cc-diff-intermediate{background:#ffa72620;color:var(--amber)}.cc-diff-advanced{background:#ff6b9d20;color:var(--pink)}.cc-requirements{padding:16px 24px;border-bottom:1px solid var(--border)}.cc-req-label{font-family:Poppins,monospace;font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}.cc-req-list{list-style:none}.cc-req-item{display:flex;align-items:center;gap:10px;padding:5px 0;font-size:13px;color:var(--text-dim);transition:color .2s}.cc-req-item.pass{color:var(--cyan)}.cc-req-item.fail{color:#ff6b6b}.cc-req-check{width:20px;text-align:center;font-family:Poppins,monospace;font-weight:700}.cc-workspace{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--border)}.cc-editor-pane,.cc-preview-pane{display:flex;flex-direction:column;min-height:320px}.cc-editor-pane{border-right:1px solid var(--border)}.cc-pane-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--bg-surface);border-bottom:1px solid var(--border);font-family:Poppins,monospace;font-size:12px;font-weight:600;color:var(--text-dim)}.cc-reset-btn{padding:3px 10px;border-radius:4px;background:none;border:1px solid var(--border);color:var(--text-muted);font-size:11px;cursor:pointer;transition:all .15s}.cc-reset-btn:hover{border-color:var(--amber);color:var(--amber)}.cc-preview-iframe{flex:1;width:100%;border:none;background:var(--bg-deep);min-height:280px}.cc-editor-loading{display:flex;align-items:center;justify-content:center;height:280px;color:var(--text-muted);font-family:Poppins,monospace;font-size:13px}.cc-actions{display:flex;gap:10px;padding:14px 20px;background:var(--bg-surface);border-bottom:1px solid var(--border)}.cc-run-btn{padding:8px 20px;border-radius:8px;background:var(--pink);border:none;color:var(--bg-deep);font-size:13px;font-weight:700;cursor:pointer;transition:all .2s;font-family:Poppins,monospace}.cc-run-btn:hover:not(:disabled){filter:brightness(1.15);box-shadow:0 0 16px var(--pink-dim)}.cc-run-btn:disabled{opacity:.4;cursor:not-allowed}.cc-hint-btn,.cc-solution-btn{padding:8px 16px;border-radius:8px;background:var(--bg-card);border:1px solid var(--border);color:var(--text-dim);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.cc-hint-btn:hover{border-color:var(--amber);color:var(--amber)}.cc-solution-btn:hover{border-color:var(--purple);color:var(--purple)}.cc-results{padding:16px 20px;animation:fadeSlideIn .2s ease}.cc-results.all-pass{background:#4ecdc410}.cc-results-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.cc-results-icon{font-size:20px}.cc-results-text{font-family:Poppins,monospace;font-size:14px;font-weight:700;color:var(--text)}.cc-results-list{display:flex;flex-direction:column;gap:4px}.cc-result-item{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:13px}.cc-result-item.pass{color:var(--cyan)}.cc-result-item.fail{color:#ff6b6b}.cc-result-check{width:18px;text-align:center;font-family:Poppins,monospace;font-weight:700}.cc-hint,.cc-solution{padding:16px 24px;border-top:1px solid var(--border);animation:fadeSlideIn .2s ease}.cc-hint{background:var(--amber-dim)}.cc-hint-label{font-family:Poppins,monospace;font-size:12px;font-weight:700;color:var(--amber);margin-bottom:8px}.cc-hint p{font-size:14px;color:var(--text);line-height:1.6}.cc-solution{background:var(--bg-surface)}.cc-solution-label{font-family:Poppins,monospace;font-size:12px;font-weight:700;color:var(--purple);margin-bottom:8px}.cc-solution-code{padding:14px 18px;border-radius:8px;background:#0a0a14;border:1px solid var(--border);font-family:Poppins,monospace;font-size:13px;line-height:1.6;color:var(--text);white-space:pre;overflow-x:auto}@media(max-width:900px){.cc-workspace{grid-template-columns:1fr}.cc-editor-pane{border-right:none;border-bottom:1px solid var(--border)}.cc-actions{flex-wrap:wrap}}.panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:410;display:flex;align-items:flex-start;justify-content:center;padding:min(8vh,72px) 18px 20px;background:radial-gradient(circle at 50% -20%,rgba(255,107,157,.12),transparent 48%),#02020ac7;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.panel{width:min(95vw,860px);max-height:min(84vh,900px);border-radius:22px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 22%),linear-gradient(180deg,#121220,#0b0b16);box-shadow:0 28px 80px #00000073;display:flex;flex-direction:column;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#ffffff0d,#ffffff04)}.panel-title{font-family:Poppins,monospace;font-size:17px;letter-spacing:.01em}.panel-body{flex:1;min-height:0;overflow-y:auto;padding:18px}.panel-close{width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff05;color:var(--text-dim);font-size:18px;cursor:pointer;transition:all .15s}.panel-close:hover{color:var(--text);border-color:var(--pink);transform:translateY(-1px)}.panel-head-actions{display:flex;align-items:center;gap:10px}@media(max-width:720px){.search-overlay,.panel-overlay{align-items:stretch;padding:8px}.search-modal,.panel{width:100%;max-height:calc(100dvh - 16px);border-radius:16px}.challenges-list{grid-template-columns:1fr}.cheatsheet-head,.panel-head{padding:14px 16px}.cheatsheet-body,.panel-body{padding:16px}}.challenges-panel.wide{max-width:960px;width:95vw}.panel-back{padding:6px 14px;border-radius:6px;background:var(--bg-surface);border:1px solid var(--border);color:var(--text-dim);font-size:13px;cursor:pointer;transition:all .15s;font-family:Inter,sans-serif}.panel-back:hover{border-color:var(--pink);color:var(--pink)}.challenges-empty{text-align:center;padding:48px 20px;color:var(--text-dim);font-size:15px}.challenges-empty-sub{font-size:13px;color:var(--text-muted);margin-top:8px}.challenges-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;padding:4px}.challenge-card{display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:14px;background:linear-gradient(180deg,#ffffff0a,#ffffff03);border:1px solid rgba(255,255,255,.09);cursor:pointer;transition:all .2s;text-align:left;font-family:Inter,sans-serif}.challenge-card:hover{border-color:var(--pink);transform:translateY(-2px);box-shadow:0 18px 32px #0000003d}.challenge-card.done{border-color:var(--cyan);box-shadow:0 16px 28px #4ecdc424}.challenge-card-top{display:flex;justify-content:space-between;align-items:center}.challenge-card-icon{font-size:22px}.challenge-card-title{font-family:Poppins,monospace;font-size:14px;font-weight:700;color:var(--text)}.challenge-card-desc{font-size:12px;color:var(--text-dim);line-height:1.5}.challenge-card-meta{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--text-muted);font-family:Poppins,monospace;margin-top:auto}.disabled-screen{text-align:center;padding:80px 20px;max-width:480px;margin:0 auto}.disabled-icon{font-size:64px;display:block;margin-bottom:20px}.disabled-title{font-family:Poppins,monospace;font-size:28px;color:#ff6b6b;margin-bottom:12px}.disabled-msg{font-size:16px;color:var(--text-dim);line-height:1.7;margin-bottom:28px}.disabled-link{display:inline-block;padding:10px 24px;border-radius:8px;background:var(--bg-surface);border:1px solid var(--border);color:var(--cyan);text-decoration:none;font-weight:600;font-size:14px;transition:all .2s;margin-right:12px}.disabled-link:hover{border-color:var(--cyan);background:var(--cyan-dim)}.disabled-logout{padding:10px 24px;border-radius:8px;background:none;border:1px solid var(--border);color:var(--text-muted);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.disabled-logout:hover{border-color:#ff6b6b;color:#ff6b6b}.admin-status{font-size:12px;font-weight:600;font-family:Poppins,monospace}.admin-status.active{color:var(--cyan)}.admin-status.disabled{color:#ff6b6b}.admin-toggle-btn{padding:5px 12px;border-radius:6px;font-size:11px;font-weight:700;cursor:pointer;font-family:Poppins,monospace;transition:all .15s;border:1px solid}.admin-toggle-btn.disable{background:#ff6b6b15;border-color:#ff6b6b40;color:#ff6b6b}.admin-toggle-btn.disable:hover{background:#ff6b6b;color:var(--bg-deep)}.admin-toggle-btn.enable{background:var(--cyan-dim);border-color:var(--cyan);color:var(--cyan)}.admin-toggle-btn.enable:hover{background:var(--cyan);color:var(--bg-deep)}.admin-toggle-btn:disabled{opacity:.5;cursor:not-allowed}.admin-action-disabled{font-size:11px;color:var(--text-muted);font-family:Poppins,monospace}.admin-action-error{font-size:12px;color:#ff6b6b;margin:0 0 12px;font-family:Poppins,monospace}.admin-row-disabled td{opacity:.5}.admin-row-disabled td:last-child{opacity:1}.cc-ai-btn{padding:8px 16px;border-radius:8px;background:var(--bg-card);border:1px solid var(--cyan);color:var(--cyan);font-size:12px;font-weight:700;cursor:pointer;transition:all .15s;font-family:Poppins,monospace}.cc-ai-btn:hover,.cc-ai-btn.active{background:var(--cyan-dim);box-shadow:0 0 12px var(--cyan-dim)}.cc-ai-panel{border-top:1px solid var(--border);background:var(--bg-card);animation:fadeSlideIn .2s ease}.cc-ai-header{padding:10px 20px;background:var(--bg-surface);border-bottom:1px solid var(--border);font-family:Poppins,monospace;font-size:13px;font-weight:600;color:var(--cyan)}.cc-ai-response{padding:16px 20px;max-height:200px;overflow-y:auto}.cc-ai-response p{font-size:14px;line-height:1.7;color:var(--text);margin-bottom:8px}.cc-ai-response p:last-child{margin-bottom:0}.cc-ai-inline-code{display:block;padding:8px 12px;margin:6px 0;background:#0a0a14;border-radius:6px;border:1px solid var(--border);font-family:Poppins,monospace;font-size:12px;color:var(--cyan)}.cc-ai-input-row{padding:12px 16px;border-top:1px solid var(--border);background:var(--bg-surface)}.cc-ai-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.cc-ai-suggestion{padding:5px 12px;border-radius:16px;background:var(--bg-card);border:1px solid var(--border);color:var(--text-dim);font-size:11px;cursor:pointer;transition:all .15s;font-family:Inter,sans-serif}.cc-ai-suggestion:hover{border-color:var(--cyan);color:var(--cyan)}.cc-ai-custom{display:flex;gap:8px}.cc-ai-input{flex:1;padding:8px 12px;border-radius:8px;background:var(--bg-deep);border:1px solid var(--border);color:var(--text);font-size:13px;font-family:Inter,sans-serif;transition:border-color .15s}.cc-ai-input:focus{border-color:var(--cyan)}.cc-ai-input::placeholder{color:var(--text-muted)}.cc-ai-send{width:36px;height:36px;border-radius:8px;background:var(--cyan);border:none;color:var(--bg-deep);font-size:16px;font-weight:700;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.cc-ai-send:hover:not(:disabled){background:#6ee7de}.cc-ai-send:disabled{opacity:.3;cursor:not-allowed}.ob-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px}.ob-card{max-width:520px;width:100%;background:var(--bg-dark);border:1px solid var(--border);border-radius:20px;padding:40px 36px 32px;text-align:center;opacity:0;transform:scale(.95) translateY(12px);transition:all .35s cubic-bezier(.34,1.56,.64,1)}.ob-card.show{opacity:1;transform:scale(1) translateY(0)}.ob-dots{display:flex;justify-content:center;gap:8px;margin-bottom:28px}.ob-dot{width:8px;height:8px;border-radius:50%;background:var(--border);transition:all .3s}.ob-dot.active{width:24px;border-radius:4px;background:var(--pink);box-shadow:0 0 12px var(--pink-dim)}.ob-dot.done{background:var(--cyan)}.ob-eyebrow{display:inline-flex;align-items:center;min-height:28px;padding:0 12px;margin-bottom:16px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--text-muted);font-family:Poppins,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.ob-icon{font-size:48px;margin-bottom:16px;filter:drop-shadow(0 0 16px var(--pink-dim))}.ob-title{font-family:Poppins,monospace;font-size:24px;font-weight:700;color:var(--text);margin-bottom:8px;letter-spacing:-.5px}.ob-subtitle{font-size:15px;color:var(--text-dim);margin-bottom:24px;line-height:1.5}.ob-points{text-align:left;margin-bottom:28px;display:flex;flex-direction:column;gap:10px}.ob-point{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--text);line-height:1.5}.ob-point-bullet{color:var(--pink);font-weight:700;flex-shrink:0;margin-top:1px}.ob-kicker{margin:-4px 0 22px;color:var(--text-dim);font-size:13px;line-height:1.6}.ob-a11y-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;white-space:nowrap}.ob-actions{display:flex;justify-content:center;gap:12px;margin-bottom:16px}.ob-next,.ob-start{padding:12px 32px;border-radius:10px;background:var(--pink);border:none;color:var(--bg-deep);font-size:15px;font-weight:700;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.ob-next:hover,.ob-start:hover{filter:brightness(1.15);box-shadow:0 4px 20px var(--pink-dim);transform:translateY(-1px)}.ob-start{background:var(--cyan);color:var(--bg-deep)}.ob-start:hover{box-shadow:0 4px 20px var(--cyan-dim)}.ob-back,.ob-skip{padding:12px 24px;border-radius:10px;background:var(--bg-surface);border:1px solid var(--border);color:var(--text-dim);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.ob-back:hover,.ob-skip:hover{border-color:var(--border-bright);color:var(--text)}.ob-step-label{font-family:Poppins,monospace;font-size:11px;color:var(--text-muted);letter-spacing:1px}@media(max-width:500px){.ob-card{padding:28px 20px 24px}.ob-title{font-size:20px}.ob-icon{font-size:36px}.ob-actions{flex-direction:column}.ob-next,.ob-start,.ob-back,.ob-skip{width:100%}}.cpv-mobile-editor{width:100%;min-height:280px;padding:16px;margin:0;background:#0a0a14;color:#e0e0ec;border:none;resize:vertical;font-family:Poppins,Courier New,monospace;font-size:14px;line-height:1.6;-moz-tab-size:2;tab-size:2;white-space:pre;-webkit-overflow-scrolling:touch;overflow-x:auto}.cpv-mobile-editor::placeholder{color:#5a5a7a}@media(max-width:768px){input,textarea,select{font-size:16px!important}}.ai-messages{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.ai-tutor-panel{-webkit-overflow-scrolling:touch}.ai-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:8px}.cc-ai-input{-webkit-appearance:none;-moz-appearance:none;appearance:none}@media(max-width:768px){.cc-workspace{grid-template-columns:1fr}.cc-editor-pane{border-right:none;border-bottom:1px solid var(--border)}.cc-preview-pane,.cc-preview-iframe{min-height:200px}.cc-header{padding:14px 16px}.cc-requirements{padding:12px 16px}.cc-actions{padding:10px 12px;flex-wrap:wrap}.cc-run-btn,.cc-ai-btn{flex:1;min-width:120px}.cc-ai-response{max-height:160px}.cc-ai-suggestions{gap:4px}.cc-ai-suggestion{font-size:10px;padding:4px 8px}.cpv-mobile-editor{min-height:220px;font-size:13px}.ai-tutor-panel{max-height:360px}.ai-messages{max-height:240px}.ai-input-row{padding:8px 12px}.ai-suggestions{gap:4px}.ai-suggestion{font-size:10px;padding:4px 8px}.ai-msg-content,.ai-msg-content p{font-size:13px}.ob-overlay{padding:12px}.search-modal{max-height:80vh}.search-results{max-height:60vh;-webkit-overflow-scrolling:touch}}@media(max-width:400px){.cpv-tabs{flex-wrap:wrap}.cpv-tab{font-size:11px;padding:6px 8px}.cpv-actions{gap:4px}.cpv-copy,.cpv-reset,.cpv-explain{font-size:10px;padding:3px 6px}.cpv-mobile-editor{min-height:180px;font-size:12px;padding:12px}.cc-actions{gap:6px}.cc-run-btn,.cc-ai-btn{font-size:11px;padding:7px 12px}.cc-hint-btn,.cc-solution-btn{font-size:10px;padding:6px 10px}}.shell{height:100vh;height:100dvh}.loading-screen,.disabled-screen{min-height:100vh;min-height:100dvh}@media(max-width:768px){.bottom-tools,.theme-toggle{transition:opacity .2s,transform .2s}@supports (height: 1dvh){.bottom-tools,.theme-toggle{bottom:max(12px,env(safe-area-inset-bottom,0px))}}}@media(max-width:768px){.tool-btn,.theme-toggle{min-width:44px;min-height:44px}.nav-btn,.mark-btn{min-height:44px}.ham{min-width:44px;min-height:44px}.lg-btn{min-height:44px}.mg-btn{min-height:48px}.cpv-tab{min-height:40px}.task-check{min-width:44px;min-height:44px}.cc-run-btn,.cc-ai-btn{min-height:44px}.cc-hint-btn,.cc-solution-btn{min-height:40px}.ai-send,.cc-ai-send{min-width:44px;min-height:44px}.ai-suggestion,.cc-ai-suggestion{min-height:36px;display:flex;align-items:center}.search-result,.ob-next,.ob-start,.ob-back,.ob-skip{min-height:48px}}input,textarea,select,button{-webkit-tap-highlight-color:transparent}input,textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.cpv-mobile-editor{-webkit-text-size-adjust:100%;text-size-adjust:100%}.ai-messages,.cc-ai-response,.search-results,.sb-scroll,.mn,.cpv-explanation-body,.cheatsheet-body,.admin-table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:var(--border) transparent}@supports (padding: env(safe-area-inset-top)){.topbar{padding-top:max(12px,env(safe-area-inset-top))}.sb{padding-top:env(safe-area-inset-top)}.bottom-tools{bottom:max(20px,env(safe-area-inset-bottom))}@media(min-width:901px){.bottom-tools{bottom:calc(74px + env(safe-area-inset-bottom))}}.theme-toggle{bottom:max(20px,env(safe-area-inset-bottom))}}.cpv-code{-webkit-user-select:text;user-select:text}@media(hover:none)and (pointer:coarse){.cpv-tab:hover,.nav-btn:hover,.mark-btn:hover,.tool-btn:hover,.theme-toggle:hover,.lg-btn:hover,.mg-btn:hover,.ai-suggestion:hover,.cc-ai-suggestion:hover,.challenge-card:hover,.search-result:hover{transform:none!important;box-shadow:none!important}}@media(max-height:500px)and (max-width:768px){.ai-tutor-panel{max-height:260px}.ai-messages{max-height:140px}.cc-ai-response{max-height:100px}.cc-workspace{max-height:50vh}.ob-card{padding:20px 16px}.ob-icon{font-size:32px;margin-bottom:8px}.ob-points{margin-bottom:16px}}.eb-screen{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--bg-deep);padding:20px}.panel-error-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px 24px;color:var(--text-dim);font-size:14px;text-align:center;border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(180deg,#ffffff08,#ffffff03)}.panel-error-fallback span{font-size:32px}.panel-error-fallback p{margin:0}.panel-error-fallback button{margin-top:2px}.panel-error-fallback button:hover{background:var(--bg-card)}.eb-card{max-width:480px;width:100%;text-align:center;background:var(--bg-dark);border:1px solid var(--border);border-radius:16px;padding:48px 32px}.eb-icon{font-size:56px;display:block;margin-bottom:20px}.eb-title{font-family:Poppins,monospace;font-size:24px;font-weight:700;color:var(--text);margin-bottom:12px}.eb-msg{font-size:15px;color:var(--text-dim);line-height:1.6;margin-bottom:20px}.eb-detail{padding:12px 16px;border-radius:8px;background:var(--bg-surface);border:1px solid var(--border);margin-bottom:24px;overflow-x:auto}.eb-detail code{font-family:Poppins,monospace;font-size:12px;color:#ff6b6b;word-break:break-all}.eb-actions{display:flex;gap:12px;justify-content:center;margin-bottom:20px}.eb-retry{padding:12px 28px;border-radius:10px;background:var(--pink);border:none;color:var(--bg-deep);font-size:15px;font-weight:700;cursor:pointer;transition:all .2s}.eb-retry:hover{filter:brightness(1.15);box-shadow:0 4px 20px var(--pink-dim)}.eb-reload{padding:12px 24px;border-radius:10px;background:var(--bg-surface);border:1px solid var(--border);color:var(--text-dim);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.eb-reload:hover{border-color:var(--border-bright);color:var(--text)}.eb-help{font-size:13px;color:var(--text-muted)}.eb-help a{color:var(--cyan);text-decoration:none}.conn-error{text-align:center;padding:60px 20px;max-width:400px;margin:0 auto}.conn-icon{font-size:56px;display:block;margin-bottom:20px}.conn-title{font-family:Poppins,monospace;font-size:22px;font-weight:700;color:var(--text);margin-bottom:10px}.conn-msg{font-size:15px;color:var(--text-dim);line-height:1.6;margin-bottom:24px}.conn-retry{padding:12px 28px;border-radius:10px;background:var(--cyan);border:none;color:var(--bg-deep);font-size:15px;font-weight:700;cursor:pointer;transition:all .2s}.conn-retry:hover{filter:brightness(1.15);box-shadow:0 4px 20px var(--cyan-dim)}@keyframes skPulse{0%,to{opacity:.15}50%{opacity:.3}}.sk-line{border-radius:6px;background:var(--border);animation:skPulse 1.5s ease-in-out infinite;margin-bottom:8px}.sk-w15{width:15%}.sk-w20{width:20%}.sk-w30{width:30%}.sk-w40{width:40%}.sk-w50{width:50%}.sk-w60{width:60%}.sk-w70{width:70%}.sk-w75{width:75%}.sk-w80{width:80%}.sk-w85{width:85%}.sk-w90{width:90%}.sk-h10{height:10px}.sk-h12{height:12px}.sk-h14{height:14px}.sk-h16{height:16px}.sk-h20{height:20px}.sk-circle{width:44px;height:44px;border-radius:50%;background:var(--border);animation:skPulse 1.5s ease-in-out infinite;flex-shrink:0}.sk-pill{width:60px;height:28px;border-radius:14px;background:var(--border);animation:skPulse 1.5s ease-in-out infinite}.sk-pill.sk-small{width:50px;height:24px;border-radius:12px}.sk-check{width:20px;height:20px;border-radius:4px;background:var(--border);animation:skPulse 1.5s ease-in-out infinite;flex-shrink:0}.sk-bar{width:100%;height:4px;border-radius:2px;background:var(--border);animation:skPulse 1.5s ease-in-out infinite;margin-top:8px}.sk-sidebar-wrap{width:280px;min-width:280px;background:var(--bg-dark);border-right:1px solid var(--border);padding:20px}.sk-brand-area{padding:10px 0 20px;border-bottom:1px solid var(--border);margin-bottom:16px}.sk-tabs{display:flex;gap:6px;margin-bottom:16px}.sk-stats{padding:12px 0;border-bottom:1px solid var(--border);margin-bottom:16px}.sk-module{padding:12px 0;border-bottom:1px solid var(--border)}.sk-lesson{padding:40px 32px;max-width:840px;margin:0 auto}.sk-lesson-head{display:flex;gap:16px;align-items:center;margin-bottom:28px}.sk-lesson-title{flex:1}.sk-section{margin-bottom:28px}.sk-task{display:flex;gap:10px;align-items:center;margin-bottom:8px}.sk-code{border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:28px}.sk-code-header{display:flex;gap:8px;padding:10px 16px;background:var(--bg-surface);border-bottom:1px solid var(--border)}.sk-code-body{padding:16px 20px;background:var(--bg-card)}.sk-module:nth-child(2) .sk-line{animation-delay:.1s}.sk-module:nth-child(3) .sk-line{animation-delay:.2s}.sk-module:nth-child(4) .sk-line{animation-delay:.3s}.sk-module:nth-child(5) .sk-line{animation-delay:.4s}.sk-module:nth-child(6) .sk-line{animation-delay:.5s}.sk-section:nth-child(2) .sk-line{animation-delay:.15s}.sk-section:nth-child(3) .sk-line{animation-delay:.3s}@media(max-width:900px){.sk-sidebar-wrap{display:none}.sk-lesson{padding:24px 16px}}.cpv-tab,.nav-btn,.mark-btn,.tool-btn,.theme-toggle,.challenge-card,.ob-card,.cc-card,.welcome-card,.ai-send,.cc-run-btn{will-change:transform}.lv{contain:content}.cpv,.sb{contain:layout style}.ai-tutor-panel,.cc-challenge,.admin-container{contain:layout}@font-face{font-display:swap}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.loading-pulse{animation:none}.sk-line{animation:none;opacity:.2}.ai-typing span{animation:none;opacity:.5}.ob-card{transition:none}}.search-modal,.cheatsheet-body,.admin-content,.cc-ai-panel{content-visibility:auto;contain-intrinsic-size:auto 500px}img{content-visibility:auto}@media print{.sb,.bottom-tools,.lesson-nav,.theme-toggle,.topbar,.nav-row,.ai-tutor,.cpv-tabs,.search-trigger{display:none!important}.mn{overflow:visible;height:auto}.shell{display:block;height:auto}.lv-wrap{padding:0}.cpv-code{white-space:pre-wrap;word-break:break-all}}.offline-banner{position:fixed;top:0;left:0;right:0;z-index:999;padding:10px 20px;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;font-family:Inter,sans-serif;animation:slideDown .3s var(--ease-out);box-shadow:0 2px 12px #0000004d}.offline-banner.is-offline{background:#ff6b3d;color:#fff}.offline-banner.is-online{background:#10b981;color:#fff;animation:slideDown .3s var(--ease-out),fadeOut .5s 2.5s forwards}.offline-banner.is-sync-failed{background:#f59e0b;color:#1a1a2e;animation:slideDown .3s var(--ease-out)}.offline-retry,.offline-dismiss{flex-shrink:0;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:700;font-family:inherit;cursor:pointer;transition:background .15s,transform .15s}.offline-retry{background:#000000d9;color:#f59e0b;border:1px solid rgba(0,0,0,.9)}.offline-retry:hover{transform:translateY(-1px);background:#000}.offline-dismiss{background:transparent;color:#1a1a2e;border:1px solid rgba(26,26,46,.3);padding:4px 8px}.offline-dismiss:hover{background:#0000001a}.offline-icon{font-size:16px;flex-shrink:0}.offline-text{flex:1}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes fadeOut{to{opacity:0;transform:translateY(-100%)}}.empty-state-msg{margin-top:var(--space-2);color:var(--text-dim)}.no-match-msg{color:var(--text-dim);text-align:center;padding:var(--space-5)}.retry-btn-mt{margin-top:var(--space-3)}.lv-quiz-wrap{max-width:var(--content-max);margin:0 auto;padding:0 clamp(14px,2vw,var(--space-7))}.sr-progress-label{text-align:center;font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-3)}.qq-type-badge{display:inline-block;font-size:var(--text-xs);padding:2px 10px;border-radius:var(--radius-full);background:var(--bg-surface);border:1px solid var(--border);color:var(--text-dim);margin-bottom:var(--space-2);font-family:Inter,sans-serif;font-weight:600}.qq-opt-code{font-family:Poppins,monospace;font-size:13px;color:var(--cyan)}.qq-bug-lines{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:var(--space-2)}.qq-bug-line{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--bg-card);border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;width:100%;transition:background var(--duration-fast);font-size:14px;color:var(--text)}.qq-bug-line:last-child{border-bottom:none}.qq-bug-line:hover:not(:disabled){background:var(--bg-surface)}.qq-bug-line.picked{background:var(--pink-glow);border-color:var(--pink)}.qq-bug-line.is-correct{background:#10b98115}.qq-bug-line.is-wrong{background:#ff6b6b15}.qq-bug-line code{font-family:Poppins,monospace;font-size:13px;flex:1;white-space:pre}.qq-line-num{font-family:Poppins,monospace;font-size:11px;color:var(--text-muted);min-width:20px;text-align:right;-webkit-user-select:none;user-select:none}.qq-fill-wrap{margin-bottom:var(--space-2)}.qq-fill-input{width:100%;padding:var(--space-3) var(--space-4);background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-md);color:var(--text);font-family:Poppins,monospace;font-size:15px;transition:border-color var(--duration-fast)}.qq-fill-input:focus{border-color:var(--cyan)}.qq-fill-input.is-correct{border-color:#10b981;background:#10b98108}.qq-fill-input.is-wrong{border-color:#ff6b6b;background:#ff6b6b08}.qq-fill-input:disabled{opacity:.8;cursor:not-allowed}.qq-fill-answer{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--text-dim)}.qq-fill-answer code{color:#10b981;font-family:Poppins,monospace;background:#10b98110;padding:2px 8px;border-radius:4px}.qq-order-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:var(--space-2)}.qq-order-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-card);border-bottom:1px solid var(--border);font-size:14px;color:var(--text);transition:background var(--duration-fast)}.qq-order-item:last-child{border-bottom:none}.qq-order-item.is-correct{background:#10b98110}.qq-order-item.is-wrong{background:#ff6b6b10}.qq-order-num{font-family:Poppins,monospace;font-size:12px;color:var(--text-muted);min-width:20px;text-align:center;background:var(--bg-surface);border-radius:var(--radius-sm);padding:2px 6px;font-weight:700}.qq-order-text{flex:1}.qq-order-btns{display:flex;gap:4px}.qq-order-btn{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border);color:var(--text-dim);font-size:14px;cursor:pointer;transition:all var(--duration-fast);display:flex;align-items:center;justify-content:center}.qq-order-btn:hover:not(:disabled){background:var(--cyan-dim);color:var(--cyan);border-color:var(--cyan)}.qq-order-btn:disabled{opacity:.3;cursor:not-allowed}.qq-order-answer{font-size:var(--text-sm);color:var(--text-dim);margin-top:var(--space-2)}@media(max-width:768px){.qq-bug-line{min-height:44px;padding:var(--space-3) var(--space-3)}.qq-order-item{min-height:48px}.qq-order-btn{min-width:44px;min-height:44px}.qq-fill-input{font-size:16px}}.ss-modal{max-width:720px}.ss-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border)}.ss-title{font-family:Poppins,monospace;font-size:var(--text-xl);font-weight:700;color:var(--text)}.ss-body{padding:var(--space-5) var(--space-6);max-height:75vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.ss-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-6) var(--space-4);gap:var(--space-3);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:var(--space-5)}.ss-empty-icon{font-size:40px;line-height:1}.ss-empty-title{font-size:18px;font-weight:700;color:var(--text);margin:0}.ss-empty-body{font-size:14px;line-height:1.6;color:var(--text-dim);max-width:380px;margin:0}.ss-empty-cta{margin-top:var(--space-2);padding:10px 24px;background:var(--grad-brand);color:#fff;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:opacity var(--duration-fast) var(--ease-out)}.ss-empty-cta:hover{opacity:.85}.ss-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);margin-bottom:var(--space-6)}.ss-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.ss-card-value{font-family:Poppins,monospace;font-size:var(--text-2xl);font-weight:700;color:var(--text)}.ss-card-label{font-size:var(--text-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:1px}.ss-card-sub{font-size:var(--text-xs);color:var(--text-muted)}.ss-mini-bar{width:100%;height:4px;border-radius:2px;background:var(--border);margin-top:var(--space-1)}.ss-mini-fill{height:100%;border-radius:2px;background:var(--cyan);transition:width .5s var(--ease-out)}.ss-section{margin-bottom:var(--space-6)}.ss-section-title{font-family:Poppins,monospace;font-size:var(--text-base);font-weight:700;color:var(--text);margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--border)}.ss-course-list{display:flex;flex-direction:column;gap:var(--space-4)}.ss-course-info{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.ss-course-icon{font-size:18px}.ss-course-name{font-weight:600;font-size:var(--text-sm);color:var(--text);flex:1}.ss-course-count{font-family:Poppins,monospace;font-size:var(--text-xs);color:var(--text-muted)}.ss-progress-bar{width:100%;height:8px;border-radius:4px;background:var(--border);overflow:hidden}.ss-progress-fill{height:100%;border-radius:4px;transition:width .6s var(--ease-out);min-width:2px}.ss-course-meta{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-1)}.ss-course-pct{font-family:Poppins,monospace;font-size:var(--text-xs);font-weight:700;color:var(--text-dim)}.ss-quiz-badge{font-family:Poppins,monospace;font-size:var(--text-xs);font-weight:600}.ss-quiz-overview{display:flex;align-items:center;gap:var(--space-6)}.ss-quiz-donut{position:relative;width:100px;height:100px;flex-shrink:0}.ss-donut-svg{width:100%;height:100%;transform:rotate(-90deg)}.ss-donut-bg{fill:none;stroke:var(--border);stroke-width:3}.ss-donut-fill{fill:none;stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .6s var(--ease-out)}.ss-donut-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:Poppins,monospace;font-size:var(--text-xl);font-weight:700;color:var(--text)}.ss-quiz-detail{flex:1}.ss-quiz-total{font-size:var(--text-base);color:var(--text);font-weight:600;margin-bottom:var(--space-1)}.ss-quiz-sr{font-size:var(--text-sm);color:var(--text-dim)}.ss-strength-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.ss-strength-col{display:flex;flex-direction:column;gap:var(--space-2)}.ss-col-label{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:1px;padding-bottom:var(--space-1);margin-bottom:var(--space-1)}.ss-col-label.ss-strong{color:#10b981;border-bottom:2px solid #10b98140}.ss-col-label.ss-weak{color:#f59e0b;border-bottom:2px solid #f59e0b40}.ss-topic-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm)}.ss-topic-strong{background:#10b98108}.ss-topic-weak{background:#f59e0b08}.ss-topic-score{font-family:Poppins,monospace;font-weight:700;font-size:var(--text-sm);min-width:36px}.ss-topic-name{color:var(--text);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ss-activity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3)}.ss-activity-item{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.ss-activity-icon{font-size:20px}.ss-activity-value{font-family:Poppins,monospace;font-size:var(--text-lg);font-weight:700;color:var(--text)}.ss-activity-label{font-size:var(--text-xs);color:var(--text-dim)}@media(max-width:600px){.ss-modal{max-height:90vh}.ss-body{padding:var(--space-4)}.ss-cards{grid-template-columns:repeat(2,1fr)}.ss-strength-grid{grid-template-columns:1fr}.ss-activity-grid{grid-template-columns:repeat(2,1fr)}.ss-quiz-overview{flex-direction:column;align-items:flex-start}.ss-quiz-donut{width:80px;height:80px}}.lb-wrap{animation:fadeIn .2s ease-out}.lb-view-tabs{display:flex;gap:4px;margin-bottom:20px;background:var(--bg-dark);border-radius:10px;padding:4px;border:1px solid var(--border)}.lb-view-tab{flex:1;padding:10px 16px;border-radius:8px;background:none;border:none;color:var(--text-dim);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;font-family:Inter,sans-serif}.lb-view-tab:hover{color:var(--text)}.lb-view-tab.active{background:var(--bg-surface);color:var(--cyan);box-shadow:0 2px 8px #0000004d}.lb-lesson-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.lb-lesson-tab{padding:8px 14px;border-radius:8px;background:var(--bg-surface);border:1px solid var(--border);color:var(--text-dim);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;font-family:Inter,sans-serif;display:flex;align-items:center;gap:8px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-lesson-tab.active{border-color:var(--cyan);color:var(--cyan);background:var(--cyan-dim)}.lb-lesson-tab-x{font-size:14px;color:var(--text-muted);cursor:pointer;line-height:1}.lb-lesson-tab-x:hover{color:var(--red)}.lb-add-btn{background:none;border:1px dashed var(--border);color:var(--text-muted)}.lb-add-btn:hover{border-color:var(--cyan);color:var(--cyan)}.lb-section{margin-bottom:24px;padding:20px;background:var(--bg-card);border:1px solid var(--border);border-radius:14px}.lb-section-title{font-family:Poppins,monospace;font-size:14px;font-weight:700;color:var(--text);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border)}.lb-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.lb-field{display:flex;flex-direction:column;gap:4px}.lb-field-span2{grid-column:1 / -1}.lb-label{font-size:11px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;font-family:Poppins,monospace}.lb-hint{font-weight:400;color:var(--text-muted);text-transform:none;letter-spacing:0;margin-left:6px}.lb-wrap input,.lb-wrap select,.lb-wrap textarea{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface);color:var(--text);font-size:14px;font-family:Inter,sans-serif;transition:border-color .15s}.lb-wrap input:focus,.lb-wrap select:focus,.lb-wrap textarea:focus{border-color:var(--cyan)}.lb-wrap textarea{resize:vertical;line-height:1.6}.lb-code-input{font-family:Poppins,monospace!important;font-size:13px!important;-moz-tab-size:2;tab-size:2;white-space:pre}.lb-array-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.lb-array-num{width:24px;height:24px;border-radius:6px;background:var(--bg-surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:Poppins,monospace;font-size:11px;color:var(--text-muted);flex-shrink:0}.lb-array-rm{width:28px;height:28px;border-radius:6px;background:none;border:1px solid var(--border);color:var(--text-muted);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.lb-array-rm:hover{border-color:var(--red);color:var(--red)}.lb-add-item{padding:8px 16px;border-radius:6px;background:none;border:1px dashed var(--border);color:var(--text-muted);font-size:12px;cursor:pointer;transition:all .15s;font-family:Inter,sans-serif;margin-top:4px}.lb-add-item:hover{border-color:var(--cyan);color:var(--cyan)}.lb-preview{padding:4px}.lb-preview-card{padding:28px;border-radius:20px;border:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg,#ffffff0a,#ffffff04),#090913c2;box-shadow:0 20px 50px #0003}.lb-pv-head{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px}.lb-pv-emoji{font-size:36px}.lb-pv-head-text{flex:1}.lb-pv-module{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-family:Poppins,monospace;margin-bottom:4px}.lb-pv-title{font-family:Poppins,monospace;font-size:24px;font-weight:700;letter-spacing:-.5px;margin-bottom:8px}.lb-pv-meta{display:flex;align-items:center;gap:10px}.lb-pv-diff{font-size:11px;padding:2px 10px;border-radius:10px;font-family:Poppins,monospace;font-weight:600;text-transform:capitalize}.lb-pv-diff-beginner{background:#4ecdc426;color:var(--cyan)}.lb-pv-diff-intermediate{background:#ffa72626;color:var(--amber)}.lb-pv-diff-advanced{background:#ff6b9d26;color:var(--pink)}.lb-pv-dur{font-size:11px;color:var(--text-muted);font-family:Poppins,monospace}.lb-pv-concepts{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.lb-pv-concept{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:#ffffff05;border:1px solid rgba(255,255,255,.06);font-size:15px;line-height:1.6}.lb-pv-bullet{color:var(--pink);font-weight:700;font-family:Poppins,monospace}.lb-pv-code-block{border-radius:12px;overflow:hidden;margin-bottom:20px;border:1px solid rgba(255,255,255,.06)}.lb-pv-code-header{padding:8px 16px;font-family:Poppins,monospace;font-size:12px;font-weight:600;color:var(--text-dim);background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.06)}.lb-pv-code{padding:16px 20px;font-family:Poppins,monospace;font-size:13px;line-height:1.7;color:var(--text);background:#04040ab3;margin:0;overflow-x:auto;white-space:pre}.lb-pv-box{padding:16px 18px;border-radius:14px;margin-bottom:16px;border:1px solid rgba(255,255,255,.07);border-left:4px solid}.lb-pv-box-label{font-family:Poppins,monospace;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}.lb-pv-output{background:linear-gradient(180deg,#a78bfa1f,#a78bfa0d);border-color:var(--purple)}.lb-pv-output .lb-pv-box-label{color:var(--purple)}.lb-pv-tasks{background:linear-gradient(180deg,#4ecdc41f,#4ecdc40d);border-color:var(--cyan)}.lb-pv-tasks .lb-pv-box-label{color:var(--cyan)}.lb-pv-challenge{background:linear-gradient(180deg,#ffa7261f,#ffa7260d);border-color:var(--amber)}.lb-pv-challenge .lb-pv-box-label{color:var(--amber)}.lb-pv-task{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:14px}.lb-pv-task-check{color:var(--text-muted);font-size:14px}.lb-pv-box p{font-size:15px;line-height:1.7}.lb-pv-devfession{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border-radius:10px;background:var(--bg-surface);border:1px solid var(--border);margin-top:16px}.lb-pv-devfession-icon{font-size:18px;flex-shrink:0}.lb-pv-devfession p{font-size:14px;font-style:italic;color:var(--text-dim);line-height:1.6}.lb-code-view{display:flex;flex-direction:column;gap:16px}.lb-code-output{padding:20px;border-radius:12px;background:#04040acc;border:1px solid var(--border);font-family:Poppins,monospace;font-size:12px;line-height:1.6;color:var(--text);white-space:pre;overflow-x:auto;max-height:480px;overflow-y:auto}.lb-code-actions{display:flex;gap:10px;flex-wrap:wrap}.lb-btn{padding:12px 24px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif;border:none}.lb-btn-primary{background:var(--cyan);color:var(--bg-deep)}.lb-btn-primary:hover{filter:brightness(1.15);box-shadow:0 4px 16px var(--cyan-dim);transform:translateY(-1px)}.lb-btn-secondary{background:var(--bg-surface);border:1px solid var(--border);color:var(--text)}.lb-btn-secondary:hover{border-color:var(--border-bright);transform:translateY(-1px)}.lb-issues{padding:14px 18px;border-radius:10px;background:#ff6b6b14;border:1px solid rgba(255,107,107,.3);font-size:13px;color:var(--red)}.lb-issues ul{margin:6px 0 0 16px}.lb-issues li{margin-bottom:2px}.lb-instructions{padding:20px;border-radius:12px;background:var(--bg-card);border:1px solid var(--border);font-size:14px;line-height:1.7}.lb-instructions h4{font-family:Poppins,monospace;font-size:14px;margin-bottom:12px;color:var(--text)}.lb-instructions ol{padding-left:20px}.lb-instructions li{margin-bottom:10px;color:var(--text-dim)}.lb-instructions code{font-family:Poppins,monospace;font-size:12px;background:var(--bg-surface);border:1px solid var(--border);padding:2px 6px;border-radius:4px;color:var(--amber)}.lb-instructions-code{display:block;margin:8px 0;padding:12px 16px;background:#04040ab3;border:1px solid var(--border);border-radius:8px;font-family:Poppins,monospace;font-size:12px;line-height:1.6;color:var(--text);white-space:pre;overflow-x:auto}@media(max-width:768px){.lb-field-grid{grid-template-columns:1fr}.lb-section{padding:16px}.lb-preview-card{padding:20px}.lb-pv-title{font-size:20px}.lb-code-output{font-size:11px}.lb-code-actions{flex-direction:column}.lb-btn{width:100%;text-align:center}}.mg.locked .mg-btn{opacity:.4;cursor:not-allowed}.mg.locked .mg-name{color:var(--text-muted)}.lg-btn.locked{opacity:.35;cursor:not-allowed;pointer-events:none}.lg-btn.locked .lg-chk{font-size:10px}.sb-lock-toggle{margin:12px 20px 20px;padding:var(--space-3) var(--space-4);border:1px solid rgba(255,255,255,.06);border-radius:16px;background:linear-gradient(180deg,#ffffff08,#ffffff03)}.lock-label{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--text-xs);color:var(--text-dim);-webkit-user-select:none;user-select:none}.lock-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--cyan);cursor:pointer}.lock-text{font-family:Inter,sans-serif}@media(min-width:901px){.ham{display:inline-flex;align-items:center;justify-content:center}.sb-collapse{display:inline-flex}.bottom-tools{left:18px!important;right:auto!important;bottom:20px!important;transform:none!important;flex-direction:column!important;max-width:none!important}.tool-menu{right:auto;left:calc(100% + 8px);bottom:0}.theme-toggle{bottom:20px;right:18px}}.toast{position:fixed;bottom:80px;left:50%;z-index:1000;transform:translate(-50%);padding:10px 24px;border-radius:10px;background:var(--bg-card);border:1px solid var(--border);color:var(--text);font-size:14px;font-weight:600;font-family:Inter,sans-serif;box-shadow:0 8px 32px #0006;pointer-events:none}.toast-in{animation:toastIn .3s ease-out forwards}.toast-out{animation:toastOut .3s ease-in forwards}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toastOut{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(12px)}}.install-prompt{position:fixed;top:0;left:0;right:0;z-index:998;display:flex;align-items:center;gap:10px;padding:10px 20px;background:linear-gradient(135deg,var(--pink),#ff3cac);color:#fff;font-size:14px;font-weight:600;font-family:Inter,sans-serif;animation:slideDown .3s ease-out;box-shadow:0 2px 16px #ff6b9d4d}.install-icon{font-size:18px}.install-text{flex:1}.install-btn{padding:6px 16px;border-radius:6px;background:#fff3;border:1px solid rgba(255,255,255,.4);color:#fff;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s}.install-btn:hover{background:#ffffff59}.install-dismiss{background:none;border:none;color:#ffffffb3;font-size:16px;cursor:pointer;padding:4px}.install-dismiss:hover{color:#fff}@media(max-width:500px){.install-prompt{font-size:12px;padding:8px 12px}.install-btn{font-size:11px;padding:5px 12px}}.verify-banner{display:flex;align-items:center;gap:10px;padding:10px 20px;background:var(--bg-surface);border-bottom:1px solid var(--border);font-size:13px;color:var(--text-dim);font-family:Inter,sans-serif;animation:fadeIn .3s ease-out}.verify-icon{font-size:16px;flex-shrink:0}.verify-text{flex:1;line-height:1.5}.verify-dismiss{background:none;border:none;color:var(--text-muted);font-size:16px;cursor:pointer;padding:4px;flex-shrink:0}.verify-dismiss:hover{color:var(--text)}.lesson-feedback{display:flex;align-items:center;gap:16px;padding:18px 20px;margin-top:24px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,#ffffff0a,#ffffff04);font-size:13px;color:var(--text-dim)}.lesson-feedback-copy{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.lesson-feedback-label{font-family:Poppins,monospace;font-weight:600}.lesson-feedback-sub{color:var(--text-muted);font-size:12px;line-height:1.5}.lesson-feedback-btns{display:flex;gap:6px}.lesson-feedback-btn{width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:var(--bg-surface);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.lesson-feedback-btn:hover{border-color:var(--border-bright);transform:scale(1.1)}.lesson-feedback-btn.active-up{border-color:var(--cyan);background:#4ecdc41a}.lesson-feedback-btn.active-down{border-color:#ff6b6b;background:#ff6b6b1a}.lesson-feedback-thanks{font-size:12px;color:var(--text-muted);animation:fadeIn .2s ease-out}.mg-diff{display:inline-block;margin-left:6px;font-size:9px;padding:1px 6px;border-radius:8px;font-family:Poppins,monospace;font-weight:600;text-transform:uppercase;letter-spacing:.5px;vertical-align:middle}.mg-diff-beginner{background:#4ecdc426;color:#4ecdc4}.mg-diff-intermediate{background:#ffa72626;color:#ffa726}.mg-diff-advanced{background:#ff6b9d26;color:#ff6b9d}.pp-scroll{overflow:auto}.pp-container{max-width:680px;width:100%;margin:0 auto;padding:clamp(16px,3vw,32px) clamp(14px,2vw,20px) 64px}.pp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.pp-back-btn{padding:8px 16px;border-radius:8px;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-dim);font-size:13px;font-weight:600;cursor:pointer;font-family:Inter,sans-serif;transition:border-color .2s,transform .2s,color .2s}.pp-signout-btn{padding:8px 16px;border-radius:8px;border:1px solid var(--border);background:none;color:var(--text-muted);font-size:13px;cursor:pointer;font-family:Inter,sans-serif;transition:border-color .2s,transform .2s,color .2s}.pp-back-btn:hover,.pp-signout-btn:hover{border-color:var(--border-bright);color:var(--text);transform:translateY(-1px)}.pp-avatar-section{text-align:center;margin-bottom:32px;padding:30px 24px 24px;border-radius:24px;border:1px solid rgba(255,255,255,.07);background:linear-gradient(180deg,#ffffff0d,#ffffff05);box-shadow:0 24px 60px #0000002e}.pp-eyebrow{display:inline-flex;align-items:center;min-height:28px;padding:0 12px;margin-bottom:16px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--text-muted);font-family:Poppins,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.pp-avatar-lg{width:80px;height:80px;border-radius:50%;margin:0 auto 16px;background:linear-gradient(135deg,var(--pink),var(--purple));display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;color:#fff}.pp-name{font-family:Poppins,monospace;font-size:24px;font-weight:700;margin-bottom:4px}.pp-email{color:var(--text-dim);font-size:14px}.pp-joined{color:var(--text-muted);font-size:12px;margin-top:4px}.pp-hero-copy{max-width:50ch;margin:14px auto 0;color:var(--text-dim);font-size:14px;line-height:1.65}.pp-status-row{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:16px}.pp-status-pill{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--text-dim);font-family:Poppins,monospace;font-size:11px}.pp-status-pill.warm{border-color:#4ecdc433;background:#4ecdc412;color:var(--cyan)}.pp-status-pill.accent{border-color:#ff6b9d40;background:#ff6b9d14;color:var(--pink)}.pp-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:32px}.pp-stat-card{text-align:center;padding:16px 8px;border-radius:12px;background:linear-gradient(180deg,#ffffff0a,#ffffff04);border:1px solid rgba(255,255,255,.07);transition:border-color .2s,transform .2s}.pp-stat-card:hover{border-color:var(--border-bright);transform:translateY(-1px)}.pp-stat-value{font-family:Poppins,monospace;font-size:20px;font-weight:700}.pp-stat-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-top:4px}.pp-activity-icon{font-size:20px;margin-bottom:4px}.pp-xp-section{margin-bottom:32px}.pp-xp-info{display:flex;justify-content:space-between;font-size:12px;color:var(--text-dim);margin-bottom:8px}.pp-xp-track{height:6px;border-radius:999px;background:var(--bg-surface);overflow:hidden}.pp-xp-fill{height:100%;border-radius:3px;background:var(--pink);transition:width .5s}.pp-section-title{font-family:Poppins,monospace;font-size:14px;font-weight:700;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border);letter-spacing:.02em}.pp-course-list{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}.pp-course-row{padding:14px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg,#ffffff09,#ffffff04)}.pp-course-info{display:flex;align-items:center;gap:8px;margin-bottom:4px}.pp-course-name{font-weight:600;font-size:14px;flex:1}.pp-course-count{font-family:Poppins,monospace;font-size:12px;color:var(--text-muted)}.pp-badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;margin-bottom:32px}.pp-badge-card{text-align:center;padding:14px 8px;border-radius:10px;background:linear-gradient(180deg,#ffffff0a,#ffffff04);border:1px solid rgba(255,255,255,.07);transition:all .2s}.pp-badge-card.earned{border-color:var(--pink)}.pp-badge-card.locked{opacity:.35}.pp-badge-icon{font-size:28px;margin-bottom:4px}.pp-badge-name{font-size:11px;font-weight:700;font-family:Poppins,monospace;color:var(--text-dim)}.pp-badge-name.earned{color:var(--pink)}.pp-badge-desc{font-size:9px;color:var(--text-muted);margin-top:2px}.pp-activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media(max-width:600px){.pp-stats-grid{grid-template-columns:repeat(2,1fr)}.pp-name{font-size:20px}.pp-badge-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.pp-avatar-section{padding:24px 18px 20px}.pp-status-row{justify-content:flex-start}}@media(max-width:400px){.pp-activity-grid{grid-template-columns:repeat(2,1fr)}}.wn-modal{max-width:480px}.wn-header{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--border)}.wn-icon{font-size:20px}.wn-title{flex:1;font-size:16px;font-weight:700;font-family:Poppins,monospace}.wn-version{font-size:12px;color:var(--text-muted);font-family:Poppins,monospace}.wn-body{padding:20px 24px}.wn-date{font-size:12px;color:var(--text-muted);margin-bottom:16px;font-family:Poppins,monospace}.wn-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px}.wn-item{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5;color:var(--text)}.wn-bullet{color:var(--pink);font-weight:700;flex-shrink:0}.wn-cta{width:100%;margin-top:20px;padding:12px 20px;border-radius:10px;border:none;background:var(--pink);color:var(--bg-deep);font-size:15px;font-weight:700;cursor:pointer;font-family:Inter,sans-serif;transition:filter .15s}.wn-cta:hover{filter:brightness(1.15)}
