:root{--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--font-mono:var(--font-mono-fb,"JetBrains Mono"),"Fira Code",ui-monospace,monospace;--font-sans:var(--font-sans-fb,"Plus Jakarta Sans"),system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--radius-sm:6px;--radius-md:10px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--transition:0.18s ease;--hover-transition:0.2s ease;--hover-shadow:0 4px 20px rgba(0,0,0,0.08);--hover-shadow-dark:0 6px 24px rgba(0,0,0,0.18);--ease-smooth:cubic-bezier(0.33,1,0.68,1);--ease-out-soft:cubic-bezier(0.22,1,0.36,1);--duration-panel:0.28s;--page-pad-x:clamp(1rem,4vw,2rem);--page-pad-y:clamp(1.5rem,4vw,3rem);--content-max:1200px;--section-gap:var(--space-12);--card-radius:var(--radius-lg);--card-padding:var(--space-6)}:root,[data-theme=light]{--bg:#f6f5f3;--bg-dark:#efede9;--bg-card:#ffffff;--bg-elevated:#ffffff;--border:#e5e7eb;--border-subtle:rgba(0,0,0,0.06);--text:#111827;--text-muted:#6b7280;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-muted:rgba(37,99,235,0.1);--accent-glow:rgba(37,99,235,0.12);--success:#059669;--warning:#d97706;--error:#dc2626;--shadow-sm:0 1px 2px rgba(0,0,0,0.04);--shadow-md:0 4px 12px rgba(0,0,0,0.06);--shadow-lg:0 8px 24px rgba(0,0,0,0.08);--focus-ring:0 0 0 2px var(--bg-card),0 0 0 4px var(--accent);--landing-card-shadow:var(--shadow-sm);--landing-card-hover-shadow:var(--shadow-md);--landing-card-hover-border:color-mix(in srgb,var(--accent) 24%,var(--border-subtle))}[data-theme=dark]{--bg:#0f1117;--bg-dark:#0a0c10;--bg-card:#16181d;--bg-elevated:#1c1f26;--border:#2d3239;--border-subtle:rgba(255,255,255,0.06);--text:#f3f4f6;--text-muted:#9ca3af;--accent:#3b82f6;--accent-hover:#60a5fa;--accent-muted:rgba(59,130,246,0.12);--accent-glow:rgba(59,130,246,0.15);--success:#10b981;--warning:#f59e0b;--error:#ef4444;--shadow-sm:0 1px 2px rgba(0,0,0,0.2);--shadow-md:0 4px 12px rgba(0,0,0,0.25);--shadow-lg:0 8px 24px rgba(0,0,0,0.35);--focus-ring:0 0 0 2px var(--bg-dark),0 0 0 4px var(--accent);--landing-card-shadow:var(--shadow-sm);--landing-card-hover-shadow:var(--shadow-md);--landing-card-hover-border:color-mix(in srgb,var(--accent) 34%,var(--border-subtle))}::selection{background:color-mix(in srgb,var(--accent) 30%,transparent);color:var(--text)}[data-theme=light] .admin-form,[data-theme=light] .admin-main,[data-theme=light] .admin-page,[data-theme=light] .admin-project-card,[data-theme=light] .auth-card,[data-theme=light] .auth-page-content,[data-theme=light] .auth-title,[data-theme=light] .contact-label,[data-theme=light] .contact-page,[data-theme=light] .contact-section,[data-theme=light] .contact-section-title,[data-theme=light] .cta-section,[data-theme=light] .feature-card,[data-theme=light] .feature-title,[data-theme=light] .features,[data-theme=light] .footer-inner,[data-theme=light] .hero,[data-theme=light] .hero-content,[data-theme=light] .hero-title,[data-theme=light] .how-it-works,[data-theme=light] .landing,[data-theme=light] .layout-main,[data-theme=light] .layout-wrap,[data-theme=light] .legal-content,[data-theme=light] .legal-page,[data-theme=light] .modal-box,[data-theme=light] .modal-title,[data-theme=light] .recent-card,[data-theme=light] .recent-card-title,[data-theme=light] .recent-projects,[data-theme=light] .section-heading,[data-theme=light] .site-footer,[data-theme=light] .step,[data-theme=light] .step h3,[data-theme=light] body{color:var(--text)}[data-theme=light] .admin-project-desc,[data-theme=light] .auth-divider,[data-theme=light] .auth-footer,[data-theme=light] .auth-form .label-text,[data-theme=light] .auth-note,[data-theme=light] .contact-input::placeholder,[data-theme=light] .contact-textarea::placeholder,[data-theme=light] .feature-desc,[data-theme=light] .footer-info,[data-theme=light] .footer-links a,[data-theme=light] .recent-card-desc,[data-theme=light] .step p,[data-theme=light] .text-muted{color:var(--text-muted)}[data-theme=dark] .admin-form,[data-theme=dark] .admin-main,[data-theme=dark] .admin-page,[data-theme=dark] .admin-project-card,[data-theme=dark] .auth-card,[data-theme=dark] .auth-form .label-text,[data-theme=dark] .auth-page-content,[data-theme=dark] .auth-title,[data-theme=dark] .contact-input,[data-theme=dark] .contact-label,[data-theme=dark] .contact-page,[data-theme=dark] .contact-section,[data-theme=dark] .contact-section-title,[data-theme=dark] .contact-textarea,[data-theme=dark] .cta-section,[data-theme=dark] .feature-card,[data-theme=dark] .feature-title,[data-theme=dark] .features,[data-theme=dark] .footer-brand,[data-theme=dark] .footer-info,[data-theme=dark] .footer-inner,[data-theme=dark] .footer-links a,[data-theme=dark] .hero,[data-theme=dark] .hero-content,[data-theme=dark] .hero-title,[data-theme=dark] .how-it-works,[data-theme=dark] .input,[data-theme=dark] .landing,[data-theme=dark] .layout-main,[data-theme=dark] .layout-wrap,[data-theme=dark] .legal-back a,[data-theme=dark] .legal-content,[data-theme=dark] .legal-content h2,[data-theme=dark] .legal-page,[data-theme=dark] .modal-body,[data-theme=dark] .modal-box,[data-theme=dark] .modal-title,[data-theme=dark] .recent-card,[data-theme=dark] .recent-card-title,[data-theme=dark] .recent-projects,[data-theme=dark] .section-heading,[data-theme=dark] .site-footer,[data-theme=dark] .step,[data-theme=dark] .step h3,[data-theme=dark] .textarea,[data-theme=dark] body{color:var(--text)}[data-theme=dark] .admin-files-hint,[data-theme=dark] .admin-project-desc,[data-theme=dark] .auth-divider,[data-theme=dark] .auth-footer,[data-theme=dark] .auth-note,[data-theme=dark] .feature-desc,[data-theme=dark] .input-file,[data-theme=dark] .legal-content p,[data-theme=dark] .legal-content ul,[data-theme=dark] .recent-card-desc,[data-theme=dark] .step p,[data-theme=dark] .text-muted{color:var(--text-muted)}*,:after,:before{box-sizing:border-box}html{height:100%;min-height:100%;overflow-x:hidden;background:var(--bg-dark);color:var(--text);scroll-behavior:smooth;scrollbar-gutter:stable}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;min-height:100vh;min-height:100dvh;font-family:var(--font-sans);font-size:16px;font-weight:400;background:var(--bg-dark);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;letter-spacing:-.01em;overflow-x:hidden}.mono,code{font-family:var(--font-mono)}h1,h2,h3,h4,h5,h6{font-weight:600;color:var(--text);letter-spacing:-.02em}a{color:var(--accent);transition:color var(--transition)}a,a:hover{text-decoration:none}a:hover{color:var(--accent-hover)}button{cursor:pointer;border-radius:var(--radius-md)}button,input,textarea{font-family:var(--font-sans)}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0}[data-theme=light] body:before{background:linear-gradient(180deg,#fdfcfa 0,var(--bg) 45%,var(--bg-dark) 100%)}[data-theme=dark] body:before{background:linear-gradient(180deg,#111318 0,var(--bg) 40%,var(--bg-dark) 100%)}#root{position:relative;z-index:1;min-height:100%;max-width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:var(--space-2) var(--space-5);min-height:44px;border-radius:var(--radius-lg);font-weight:600;font-size:.9375rem;line-height:1.2;letter-spacing:.02em;border:1px solid transparent;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .22s ease,transform .18s ease}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn:active:not(:disabled){transform:scale(.985)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-sm{padding:var(--space-2) var(--space-3);min-height:38px;font-size:.875rem;border-radius:var(--radius-md);letter-spacing:.01em}.btn-primary{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 88%,#ffffff 12%) 0,var(--accent) 100%);color:#fff;border-color:color-mix(in srgb,var(--accent) 55%,#0f172a 45%);box-shadow:0 1px 0 0 rgba(255,255,255,.14) inset,0 1px 2px rgba(15,23,42,.08),0 4px 16px color-mix(in srgb,var(--accent) 28%,transparent)}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,color-mix(in srgb,var(--accent-hover) 85%,#ffffff 15%) 0,var(--accent-hover) 100%);color:#fff;border-color:color-mix(in srgb,var(--accent-hover) 50%,#0f172a 50%);box-shadow:0 1px 0 0 rgba(255,255,255,.16) inset,0 2px 4px rgba(15,23,42,.06),0 8px 24px color-mix(in srgb,var(--accent) 38%,transparent);transform:translateY(-1px)}[data-theme=dark] .btn-primary{border-color:rgba(255,255,255,.12);box-shadow:inset 0 1px 0 0 rgba(255,255,255,.1),0 1px 2px rgba(0,0,0,.35),0 6px 20px rgba(59,130,246,.22)}[data-theme=dark] .btn-primary:hover:not(:disabled){box-shadow:inset 0 1px 0 0 rgba(255,255,255,.12),0 2px 4px rgba(0,0,0,.3),0 10px 28px rgba(59,130,246,.32)}.btn-ghost{background:color-mix(in srgb,var(--bg-card) 65%,transparent);color:var(--text);border-color:var(--border);box-shadow:var(--shadow-sm)}[data-theme=dark] .btn-ghost{background:rgba(255,255,255,.03);border-color:var(--border-subtle);box-shadow:none}.btn-ghost:hover:not(:disabled){background:var(--accent-muted);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 32%,var(--border));box-shadow:var(--shadow-md);transform:translateY(-1px)}[data-theme=dark] .btn-ghost:hover:not(:disabled){background:rgba(59,130,246,.12);box-shadow:0 4px 14px rgba(0,0,0,.2)}.btn-secondary{background:var(--bg-elevated);color:var(--text);border-color:var(--border);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--bg-card);color:var(--text);border-color:color-mix(in srgb,var(--text-muted) 25%,var(--border));box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-block{width:100%}.page-header{margin-bottom:var(--section-gap)}.page-title{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin:0 0 var(--space-2)}.text-muted{color:var(--text-muted);margin:0}.small{font-size:.8125rem}.legal-page{max-width:720px}.legal-content{font-size:.9375rem;line-height:1.7}.legal-content section{margin-bottom:var(--space-8)}.legal-content h2{font-size:1.125rem;font-weight:600;margin:0 0 var(--space-3);color:var(--text)}.legal-content p{margin:0 0 var(--space-4);color:var(--text-muted)}.legal-content p:last-child{margin-bottom:0}.legal-content ul{margin:0 0 var(--space-4);padding-left:var(--space-6);color:var(--text-muted)}.legal-content li{margin-bottom:var(--space-2)}.legal-content li:last-child{margin-bottom:0}.legal-content a{color:var(--accent);text-decoration:none}.legal-content a:hover{color:var(--accent-hover)}.challenge-page{width:100%;max-width:1120px;margin:0 auto;padding-left:max(var(--page-pad-x),env(safe-area-inset-left,0px));padding-right:max(var(--page-pad-x),env(safe-area-inset-right,0px));padding-bottom:calc(clamp(2.5rem, 6vw, 4.5rem) + env(safe-area-inset-bottom, 0px));box-sizing:border-box}.challenge-page--state-live .challenge-hero{background:linear-gradient(135deg,color-mix(in srgb,var(--error) 12%,var(--bg-card)) 0,color-mix(in srgb,var(--accent) 5%,var(--bg-card)) 52%,var(--bg-card) 100%);border-color:color-mix(in srgb,var(--error) 28%,var(--border-subtle))}.challenge-page--state-open .challenge-hero{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 12%,var(--bg-card)) 0,color-mix(in srgb,var(--accent) 4%,var(--bg-card)) 50%,var(--bg-card) 100%);border-color:color-mix(in srgb,var(--accent) 24%,var(--border-subtle))}.challenge-page--state-quiet .challenge-hero{background:linear-gradient(135deg,color-mix(in srgb,var(--text-muted) 7%,var(--bg-card)) 0,color-mix(in srgb,var(--bg-elevated) 60%,var(--bg-card)) 55%,var(--bg-card) 100%);border-color:var(--border-subtle)}.challenge-room-page{padding-top:clamp(.5rem,2vw,1rem)}.challenge-hero{position:relative;border-radius:var(--radius-2xl);padding:clamp(1.75rem,4vw,2.5rem) max(var(--space-5),env(safe-area-inset-left,0px)) clamp(2rem,5vw,2.75rem) max(var(--space-5),env(safe-area-inset-right,0px));margin-bottom:var(--space-10);box-sizing:border-box;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 12%,var(--bg-card)) 0,color-mix(in srgb,var(--accent) 4%,var(--bg-card)) 50%,var(--bg-card) 100%);border:1px solid var(--border-subtle);box-shadow:var(--shadow-md);overflow:hidden;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.challenge-hero:after{content:"";position:absolute;top:-40%;right:-15%;width:min(420px,55vw);height:min(420px,55vw);border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 18%,transparent) 0,transparent 70%);pointer-events:none}.challenge-hero-inner{position:relative;z-index:1;max-width:46rem}.challenge-hero-title{font-size:clamp(1.75rem,4vw,2.25rem);font-weight:800;letter-spacing:-.03em;line-height:1.15;margin:0 0 var(--space-3);color:var(--text)}.challenge-hero-desc{font-size:1rem;line-height:1.65;color:var(--text-muted);margin:0;max-width:42rem}.challenge-hero-actions{margin-top:1.25rem;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.challenge-hero-actions .btn{min-height:2.75rem;border-radius:var(--radius-lg)}.challenge-hero-actions .btn-primary{box-shadow:0 10px 26px color-mix(in srgb,var(--accent) 30%,transparent)}.challenge-signin-banner{margin-top:1.25rem;max-width:40rem;padding:1rem 1.15rem;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-elevated) 85%,var(--accent-muted));box-shadow:var(--shadow-sm)}.challenge-signin-banner-text{margin:0;line-height:1.6;font-size:.95rem}.challenge-signin-banner-actions{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.challenge-create-overlay{position:fixed;inset:0;z-index:1000;background:color-mix(in srgb,var(--text) 35%,transparent);display:flex;align-items:center;justify-content:center;padding:var(--space-5);box-sizing:border-box}.challenge-create-modal{width:100%;max-width:420px;background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-subtle);padding:var(--space-6);box-shadow:var(--shadow-lg);max-height:min(90vh,640px);overflow-y:auto}.challenge-create-title{margin:0 0 var(--space-3);font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.challenge-create-lead{margin:0 0 1rem;line-height:1.55}.challenge-create-label{display:flex;flex-direction:column;gap:var(--space-2);font-size:.8125rem;font-weight:600;color:var(--text-muted);margin-bottom:var(--space-4)}.challenge-create-label .input{font-weight:400;color:var(--text)}.challenge-create-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-4)}.challenge-create-error{margin-top:.75rem}.challenge-lb-row--waiting{opacity:.92;justify-content:space-between}.challenge-hero--elevated{margin-bottom:var(--space-8);box-shadow:var(--shadow-lg),0 0 0 1px color-mix(in srgb,var(--accent) 10%,transparent);border-color:color-mix(in srgb,var(--accent) 16%,var(--border-subtle))}.challenge-hero-top{display:flex;align-items:center;gap:.65rem;margin-bottom:var(--space-4)}.challenge-hero-icon-wrap{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:14px;background:var(--accent-muted);color:var(--accent)}.challenge-page--state-live .challenge-hero-icon-wrap{background:color-mix(in srgb,var(--error) 16%,transparent);color:var(--error)}.challenge-page--state-open .challenge-hero-icon-wrap{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.challenge-page--state-quiet .challenge-hero-icon-wrap{background:color-mix(in srgb,var(--text-muted) 18%,transparent);color:var(--text-muted)}.challenge-back-link{display:inline-flex;align-items:center;gap:var(--space-2);min-height:2.75rem;padding:var(--space-1) 0;font-size:.875rem;font-weight:500;color:var(--text-muted);text-decoration:none;margin-bottom:var(--space-5);border-radius:var(--radius-md);transition:color var(--duration-panel) var(--ease-smooth),transform var(--duration-panel) var(--ease-smooth)}.challenge-back-link:hover{color:var(--accent)}.challenge-back-link svg{flex-shrink:0;opacity:.85}.challenge-section-label{font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin:var(--space-2) 0 var(--space-4)}.challenge-list-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm)}.challenge-list-toolbar-left{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);min-width:0}.challenge-list-toolbar-label{font-size:.8125rem;font-weight:600;color:var(--text)}.challenge-list-updated{font-size:.75rem;color:var(--text-muted)}.challenge-live-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted);opacity:.55;flex-shrink:0}.challenge-live-dot--on{background:var(--success);opacity:1;box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 28%,transparent)}.challenge-toolbar-refresh{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:.8125rem;font-weight:600;font-family:var(--font-sans);border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text);cursor:pointer;transition:border-color var(--transition),background var(--transition),color var(--transition)}.challenge-toolbar-refresh:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 35%,transparent);background:var(--accent-muted);color:var(--accent)}.challenge-toolbar-refresh:disabled{opacity:.55;cursor:not-allowed}@keyframes challenge-spin-refresh{to{transform:rotate(1turn)}}.challenge-toolbar-refresh--spin{animation:challenge-spin-refresh .8s linear infinite}.challenge-list-stats{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:calc(-1 * var(--space-2)) 0 var(--space-5);font-size:.875rem;color:var(--text-muted)}.challenge-list-stats strong{color:var(--text);font-weight:700}.challenge-list-stats>span{border:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-elevated) 70%,transparent);border-radius:999px;padding:.3rem .6rem}.challenge-list-stats-dot{opacity:.45;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:none!important;background:transparent!important;padding:0!important}.challenge-list-stats-live strong{color:var(--error)}.challenge-list-section-head{margin-bottom:var(--space-3)}.challenge-guest-note{margin:-.15rem 0 1rem;line-height:1.55;padding:.7rem .85rem;border-left:3px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:0 var(--radius-md) var(--radius-md) 0;background:color-mix(in srgb,var(--accent-muted) 65%,transparent)}.challenge-empty-actions{margin-top:1rem;display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.challenge-empty-refresh{margin-top:var(--space-5)}.challenge-empty--rich .challenge-empty-desc{max-width:26rem}.challenge-list-grid{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-4)}.challenge-list-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:var(--space-4);gap:var(--space-4);padding:var(--space-5) var(--space-5);border-radius:var(--radius-xl);border:1px solid var(--border-subtle);background:var(--bg-card);text-decoration:none;color:inherit;box-shadow:var(--shadow-sm);transition:border-color var(--duration-panel) var(--ease-smooth),box-shadow var(--duration-panel) var(--ease-smooth),transform var(--duration-panel) var(--ease-smooth)}.challenge-list-card-body{min-width:0}.challenge-list-card-icon{flex-shrink:0;width:2.75rem;height:2.75rem;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;background:var(--accent-muted);color:var(--accent);transition:background var(--transition),color var(--transition)}.challenge-list-card--live{border-color:color-mix(in srgb,var(--error) 24%,var(--border-subtle));background:linear-gradient(125deg,color-mix(in srgb,var(--error) 7%,var(--bg-card)) 0,var(--bg-card) 55%)}.challenge-list-card--live .challenge-list-card-icon{background:color-mix(in srgb,var(--error) 14%,transparent);color:var(--error)}.challenge-list-card--scheduled{border-color:color-mix(in srgb,var(--accent) 28%,var(--border-subtle));background:linear-gradient(125deg,color-mix(in srgb,var(--accent) 8%,var(--bg-card)) 0,var(--bg-card) 55%)}.challenge-list-card--scheduled .challenge-list-card-icon{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.challenge-list-card:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--border-subtle));box-shadow:var(--shadow-md),0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent);transform:translateY(-2px)}.challenge-list-card:hover .challenge-list-card-icon{background:color-mix(in srgb,var(--accent) 18%,var(--bg-elevated));color:var(--accent-hover)}.challenge-list-card--live:hover{border-color:color-mix(in srgb,var(--error) 38%,var(--border-subtle))}.challenge-list-card-title{font-size:1.0625rem;font-weight:700;letter-spacing:-.02em;margin:0 0 var(--space-2);color:var(--text);line-height:1.3}.challenge-list-card-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;font-size:.8125rem;color:var(--text-muted)}.challenge-list-card-type{font-weight:500;color:var(--text-muted)}.challenge-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border-radius:999px;font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.challenge-badge--lobby{background:color-mix(in srgb,var(--success) 16%,transparent);color:var(--success)}.challenge-badge--neutral{background:var(--accent-muted);color:var(--accent);text-transform:none;letter-spacing:.02em}.challenge-page--state-live .challenge-badge--neutral{background:color-mix(in srgb,var(--error) 16%,transparent);color:var(--error)}.challenge-page--state-open .challenge-badge--neutral{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.challenge-page--state-quiet .challenge-badge--neutral{background:color-mix(in srgb,var(--text-muted) 16%,transparent);color:var(--text-muted)}.challenge-badge--live{background:color-mix(in srgb,var(--error) 14%,transparent);color:var(--error);animation:challenge-pulse-soft 2s ease-in-out infinite}.challenge-badge--scheduled{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}@keyframes challenge-pulse-soft{0%,to{opacity:1}50%{opacity:.72}}.challenge-list-card-arrow{flex-shrink:0;width:2.25rem;height:2.25rem;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:var(--accent-muted);color:var(--accent);transition:background var(--transition),color var(--transition)}.challenge-list-card:hover .challenge-list-card-arrow{background:var(--accent);color:#fff}.challenge-empty{text-align:center;padding:var(--space-12) var(--space-6);border-radius:var(--radius-xl);border:2px dashed var(--border-subtle);background:color-mix(in srgb,var(--bg-card) 92%,var(--accent-muted))}.challenge-empty-icon{width:3.5rem;height:3.5rem;margin:0 auto var(--space-4);border-radius:var(--radius-lg);background:var(--accent-muted);color:var(--accent);display:flex;align-items:center;justify-content:center}.challenge-empty-title{font-size:1.125rem;font-weight:700;margin:0 0 var(--space-2);color:var(--text)}.challenge-empty-desc{font-size:.9375rem;color:var(--text-muted);max-width:22rem;margin:0 auto;line-height:1.55}.challenge-skeleton{border-radius:var(--radius-xl);height:5.5rem;background:linear-gradient(90deg,var(--bg-elevated) 0,color-mix(in srgb,var(--accent) 8%,var(--bg-elevated)) 50%,var(--bg-elevated) 100%);background-size:200% 100%;animation:challenge-shimmer 1.2s ease-in-out infinite}@keyframes challenge-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.challenge-room-header{margin-bottom:var(--space-8)}.challenge-room-title-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.challenge-room-title{font-size:clamp(1.5rem,3.5vw,2rem);font-weight:800;letter-spacing:-.03em;line-height:1.2;margin:0;color:var(--text)}.challenge-status-row{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.challenge-pill{display:inline-flex;align-items:center;padding:.35rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-muted)}.challenge-pill--draft{border-color:color-mix(in srgb,var(--warning) 35%,transparent);color:var(--warning);background:color-mix(in srgb,var(--warning) 10%,transparent)}.challenge-pill--lobby{border-color:color-mix(in srgb,var(--success) 35%,transparent);color:var(--success);background:color-mix(in srgb,var(--success) 10%,transparent)}.challenge-pill--scheduled{background:color-mix(in srgb,var(--accent) 10%,transparent)}.challenge-pill--active,.challenge-pill--scheduled{border-color:color-mix(in srgb,var(--accent) 40%,transparent);color:var(--accent)}.challenge-pill--active{background:var(--accent-muted)}.challenge-pill--finished{opacity:.9}.challenge-room-grid{display:grid;grid-gap:clamp(1.25rem,3vw,2rem);gap:clamp(1.25rem,3vw,2rem);align-items:start}@media (min-width:640px) and (max-width:959px){.challenge-room-grid{gap:var(--space-6)}.challenge-page.challenge-room-page{max-width:min(640px,100%)}}@media (min-width:960px){.challenge-room-grid{grid-template-columns:minmax(0,1fr) min(300px,32%);gap:clamp(1.5rem,3.5vw,2.25rem)}.challenge-room-grid>section.challenge-panel{position:-webkit-sticky;position:sticky;top:max(var(--space-4),env(safe-area-inset-top,0px));align-self:start;max-height:min(calc(100vh - 2rem - env(safe-area-inset-top, 0px)),calc(100dvh - 2rem - env(safe-area-inset-top, 0px)));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;transition:box-shadow var(--duration-panel) var(--ease-smooth)}.challenge-room-grid>section.challenge-panel:focus-within{box-shadow:var(--shadow-md),0 0 0 1px color-mix(in srgb,var(--accent) 10%,transparent)}}@media (min-width:1200px){.challenge-room-grid{grid-template-columns:minmax(0,1fr) min(340px,30%)}}.challenge-panel{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:clamp(1.25rem,3vw,1.75rem) clamp(1.25rem,3.5vw,1.75rem);box-shadow:var(--shadow-sm);transition:border-color var(--duration-panel) var(--ease-smooth),box-shadow var(--duration-panel) var(--ease-smooth),transform var(--duration-panel) var(--ease-smooth)}.challenge-panel--accent{border-color:color-mix(in srgb,var(--accent) 22%,var(--border-subtle));box-shadow:var(--shadow-md),0 0 0 1px color-mix(in srgb,var(--accent) 8%,transparent)}.challenge-panel-title{font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin:0 0 var(--space-4)}.challenge-countdown-box{text-align:center;padding:var(--space-6);border-radius:var(--radius-lg);margin-bottom:var(--space-6);background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 14%,var(--bg-elevated)),color-mix(in srgb,#0d9488 10%,var(--bg-elevated)));border:1px solid color-mix(in srgb,var(--accent) 28%,transparent)}.challenge-countdown-label{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0 0 var(--space-2)}.challenge-countdown-num{font-size:clamp(3rem,8vw,4.5rem);font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-.04em;margin:0;color:var(--text)}.challenge-countdown-box--prestart{text-align:left;margin-bottom:0}.challenge-prestart-row{display:flex;align-items:center;gap:var(--space-5);flex-wrap:wrap}.challenge-countdown-num--prestart{font-size:clamp(2.25rem,6vw,3.25rem)}.challenge-q-progress{font-size:.875rem;color:var(--text-muted);margin:0 0 var(--space-5)}.challenge-q-progress strong{color:var(--text);font-weight:600}.challenge-live-quiz,.challenge-question-slot{min-width:0}@keyframes challenge-question-slot-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.challenge-question-slot--enter{animation:challenge-question-slot-in .3s cubic-bezier(.22,1,.36,1) both}.challenge-question-text{font-size:clamp(1rem,2.8vw,1.0625rem);line-height:1.62;margin:0 0 var(--space-5);color:var(--text);letter-spacing:-.01em}.challenge-option-label{min-width:0;text-align:left}.challenge-timer-row{display:flex;align-items:center;gap:var(--space-5);margin-bottom:var(--space-6)}.challenge-timer-ring{flex-shrink:0;width:4.5rem;height:4.5rem;position:relative;contain:strict;transform:translateZ(0)}.challenge-timer-ring svg{transform:rotate(-90deg);width:100%;height:100%}.challenge-timer-ring-bg{fill:none;stroke:var(--border-subtle);stroke-width:4}.challenge-timer-ring-fg{fill:none;stroke:var(--accent);stroke-width:4;stroke-linecap:round;transition:none}@keyframes challenge-quiz-phase-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.challenge-quiz-phase-in{animation:challenge-quiz-phase-in .45s cubic-bezier(.22,1,.36,1) both}@keyframes challenge-question-line-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.challenge-question-text--enter{animation:challenge-question-line-in .4s cubic-bezier(.22,1,.36,1) .08s both}@media (prefers-reduced-motion:reduce){.challenge-answer-result,.challenge-question-slot--enter,.challenge-question-text--enter,.challenge-quiz-phase-in{animation:none;opacity:1;transform:none}.challenge-option.challenge-option--reveal-correct,.challenge-option.challenge-option--reveal-correct .challenge-option-key,.challenge-option.challenge-option--reveal-wrong,.challenge-option.challenge-option--reveal-wrong .challenge-option-key{transform:none}.challenge-option.challenge-option--reveal-correct{border-color:color-mix(in srgb,var(--success) 55%,var(--border-subtle));background:color-mix(in srgb,var(--success) 16%,var(--bg-elevated));box-shadow:0 0 0 2px color-mix(in srgb,var(--success) 22%,transparent)}.challenge-option.challenge-option--reveal-wrong{border-color:color-mix(in srgb,var(--error) 50%,var(--border-subtle));background:color-mix(in srgb,var(--error) 12%,var(--bg-elevated));box-shadow:0 0 0 2px color-mix(in srgb,var(--error) 18%,transparent)}.challenge-options[data-reveal=true] .challenge-option:not(.challenge-option--reveal-correct):not(.challenge-option--reveal-wrong){opacity:1;transform:none}}.challenge-timer-label{min-width:0}.challenge-timer-label p{margin:0;font-size:.8125rem;color:var(--text-muted)}.challenge-timer-label strong{display:block;font-size:1.5rem;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text);letter-spacing:-.02em}.challenge-options{display:flex;flex-direction:column;gap:var(--space-3);contain:content}.challenge-options[data-busy=true]{pointer-events:none}.challenge-options[data-reveal=true] .challenge-option:not(.challenge-option--reveal-correct):not(.challenge-option--reveal-wrong){opacity:.45;transform:scale(.985);transition:opacity .22s cubic-bezier(.22,1,.36,1),transform .22s cubic-bezier(.22,1,.36,1)}.challenge-answer-result{margin-top:var(--space-5);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:.25rem;animation:challenge-answer-result-in .35s cubic-bezier(.22,1,.36,1) both}@keyframes challenge-answer-result-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.challenge-answer-result--correct{background:color-mix(in srgb,var(--success) 14%,var(--bg-elevated));border-color:color-mix(in srgb,var(--success) 40%,var(--border-subtle))}.challenge-answer-result--wrong{background:color-mix(in srgb,var(--error) 10%,var(--bg-elevated));border-color:color-mix(in srgb,var(--error) 35%,var(--border-subtle))}.challenge-answer-result-title{font-weight:800;font-size:1.0625rem;letter-spacing:-.02em}.challenge-answer-result--correct .challenge-answer-result-title{color:var(--success)}.challenge-answer-result--wrong .challenge-answer-result-title{color:var(--error)}.challenge-answer-result-detail{font-size:.875rem;line-height:1.5;color:var(--text-muted)}.challenge-answer-result--correct .challenge-answer-result-detail{color:color-mix(in srgb,var(--success) 75%,var(--text-muted));font-weight:600}.challenge-option{display:flex;align-items:center;gap:var(--space-4);width:100%;padding:var(--space-4) var(--space-5);border-radius:var(--radius-xl);border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text);font-size:.9375rem;line-height:1.45;text-align:left;cursor:pointer;transition:border-color .2s cubic-bezier(.22,1,.36,1),background .2s cubic-bezier(.22,1,.36,1),box-shadow .22s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1),opacity .18s ease;outline:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.challenge-option.challenge-option--pending{opacity:1;border-color:color-mix(in srgb,var(--accent) 48%,var(--border-subtle));background:color-mix(in srgb,var(--accent) 9%,var(--bg-elevated));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent)}.challenge-option:focus:not(:focus-visible){border-color:var(--border-subtle);background:var(--bg-elevated);box-shadow:none}.challenge-option:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (hover:hover) and (pointer:fine){.challenge-option:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 45%,var(--border-subtle));background:color-mix(in srgb,var(--accent) 6%,var(--bg-elevated));box-shadow:0 2px 12px color-mix(in srgb,var(--accent) 12%,transparent)}}.challenge-option:active:not(:disabled):not(.challenge-option--pending){transform:scale(.99)}.challenge-option:disabled{opacity:.55;cursor:not-allowed}.challenge-option.challenge-option--reveal-correct:disabled,.challenge-option.challenge-option--reveal-wrong:disabled{opacity:1;cursor:default}.challenge-option.challenge-option--reveal-correct{opacity:1;cursor:default;transform:scale(1.01);border-color:color-mix(in srgb,var(--success) 58%,var(--border-subtle));background:color-mix(in srgb,var(--success) 15%,var(--bg-elevated));box-shadow:0 0 0 2px color-mix(in srgb,var(--success) 32%,transparent),0 4px 16px color-mix(in srgb,var(--success) 12%,transparent);transition:border-color .2s cubic-bezier(.22,1,.36,1),background .2s cubic-bezier(.22,1,.36,1),box-shadow .24s cubic-bezier(.22,1,.36,1),transform .22s cubic-bezier(.22,1,.36,1),opacity .18s ease}.challenge-option.challenge-option--reveal-correct .challenge-option-key{background:color-mix(in srgb,var(--success) 28%,transparent);color:var(--success);transform:scale(1.03);transition:background .2s cubic-bezier(.22,1,.36,1),color .18s ease,transform .22s cubic-bezier(.22,1,.36,1)}.challenge-option.challenge-option--reveal-wrong{opacity:1;cursor:default;transform:scale(1.008);border-color:color-mix(in srgb,var(--error) 52%,var(--border-subtle));background:color-mix(in srgb,var(--error) 13%,var(--bg-elevated));box-shadow:0 0 0 2px color-mix(in srgb,var(--error) 26%,transparent),0 3px 14px color-mix(in srgb,var(--error) 8%,transparent);transition:border-color .2s cubic-bezier(.22,1,.36,1),background .2s cubic-bezier(.22,1,.36,1),box-shadow .24s cubic-bezier(.22,1,.36,1),transform .2s cubic-bezier(.22,1,.36,1),opacity .18s ease}.challenge-option.challenge-option--reveal-wrong .challenge-option-key{background:color-mix(in srgb,var(--error) 22%,transparent);color:var(--error);transform:scale(1.02);transition:background .2s cubic-bezier(.22,1,.36,1),color .18s ease,transform .2s cubic-bezier(.22,1,.36,1)}.challenge-option-key{flex-shrink:0;width:2.25rem;height:2.25rem;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:800;background:var(--accent-muted);color:var(--accent);transition:background .22s ease,color .22s ease,transform .26s cubic-bezier(.22,1,.36,1)}.challenge-feedback{margin-top:var(--space-5);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);font-size:.9375rem;font-weight:600}.challenge-feedback--ok{background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success);border:1px solid color-mix(in srgb,var(--success) 28%,transparent)}.challenge-feedback--no{background:color-mix(in srgb,var(--error) 10%,transparent);color:var(--error);border:1px solid color-mix(in srgb,var(--error) 22%,transparent)}.challenge-lobby-actions{margin-top:var(--space-5)}.challenge-lobby-actions .btn-primary{padding:var(--space-3) var(--space-8);font-weight:600;border-radius:var(--radius-lg)}.challenge-lobby-intro{margin:0;line-height:1.65}.challenge-lobby-meta{margin:.75rem 0 0;line-height:1.6}.challenge-lobby-autoclose{margin-top:.9rem;padding:.75rem .9rem;border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--warning) 26%,var(--border-subtle));background:linear-gradient(140deg,color-mix(in srgb,var(--warning) 12%,var(--bg-elevated)),color-mix(in srgb,var(--bg-card) 88%,var(--warning) 12%));box-shadow:var(--shadow-sm)}.challenge-lobby-autoclose-title{margin:0;font-weight:700;font-size:.95rem;color:color-mix(in srgb,var(--warning) 72%,var(--text))}.challenge-lobby-autoclose-note{margin:.35rem 0 0;line-height:1.55}.challenge-lobby-setup{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border-subtle)}.challenge-lobby-setup-title{font-size:1rem;margin-bottom:.75rem}.challenge-lobby-setup-lead{margin:0 0 .75rem;line-height:1.55}.challenge-finished-card{text-align:center;padding:var(--space-10) var(--space-6)}.challenge-finished-icon{font-size:3rem;line-height:1;margin-bottom:var(--space-4)}.challenge-finished-title{font-size:1.375rem;font-weight:800;margin:0 0 var(--space-2);letter-spacing:-.02em}.challenge-finished-desc{color:var(--text-muted);margin:0 0 var(--space-6);line-height:1.55}.challenge-history-page{max-width:40rem}.challenge-history-header{margin-bottom:var(--space-8)}.challenge-history-hero{border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border-subtle));border-radius:var(--radius-xl);padding:clamp(1rem,2.8vw,1.4rem) clamp(1rem,3vw,1.5rem);background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 8%,var(--bg-elevated)),var(--bg-card));box-shadow:var(--shadow-sm)}.challenge-history-eyebrow{margin:0 0 var(--space-2);font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.challenge-history-title-page{font-size:clamp(1.5rem,4vw,1.85rem);font-weight:800;letter-spacing:-.035em;margin:0 0 var(--space-2);line-height:1.15}.challenge-history-lead{margin:0;font-size:.9375rem;line-height:1.55;max-width:34rem}.challenge-history-page .challenge-history-pill--finished{border-color:color-mix(in srgb,var(--success) 38%,transparent);color:var(--success);background:color-mix(in srgb,var(--success) 12%,transparent);opacity:1}.challenge-history-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-3)}.challenge-history-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:var(--space-4) var(--space-5);gap:var(--space-4) var(--space-5);padding:var(--space-4) var(--space-5);border-radius:var(--radius-xl);text-decoration:none;color:inherit;background:linear-gradient(145deg,color-mix(in srgb,var(--bg-elevated) 88%,var(--accent) 4%),var(--bg-elevated));border:1px solid color-mix(in srgb,var(--border-subtle) 85%,var(--accent) 8%);box-shadow:0 1px 0 color-mix(in srgb,#fff 4%,transparent);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.challenge-history-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 35%,var(--border-subtle));box-shadow:0 8px 28px color-mix(in srgb,#000 22%,transparent),0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent)}.challenge-history-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.challenge-history-card-icon{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:var(--radius-lg);color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);flex-shrink:0}.challenge-history-card-body{min-width:0}.challenge-history-card-top{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);margin-bottom:.35rem}.challenge-history-card-name{margin:0;font-size:1.0625rem;font-weight:700;letter-spacing:-.02em;line-height:1.25;flex:1 1 auto;min-width:0}.challenge-history-card-when{margin:0 0 var(--space-3);font-size:.8125rem;line-height:1.45}.challenge-history-id-hint{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;letter-spacing:.02em;opacity:.85}.challenge-history-card-stats{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-3)}.challenge-history-card-score{display:inline-flex;align-items:baseline;gap:.35rem}.challenge-history-card-score-num{font-size:1.375rem;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.03em;line-height:1;color:var(--text)}.challenge-history-card-score-unit{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.challenge-history-card-chip{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;color:var(--text-muted);background:color-mix(in srgb,var(--bg-page) 70%,var(--bg-elevated));border:1px solid var(--border-subtle)}.challenge-history-card-cta{display:inline-flex;align-items:center;gap:.15rem;flex-shrink:0;font-size:.875rem;font-weight:600;color:var(--accent);white-space:nowrap}.challenge-history-card:hover .challenge-history-card-cta{text-decoration:underline;text-underline-offset:3px}@media (max-width:520px){.challenge-history-card{grid-template-columns:auto 1fr;grid-template-rows:auto auto}.challenge-history-card-cta{grid-column:1/-1;justify-content:flex-end;padding-top:var(--space-1);border-top:1px solid var(--border-subtle);margin-top:var(--space-1)}}.challenge-history-empty{text-align:center;padding:var(--space-10) var(--space-6);border-radius:var(--radius-xl);border:1px dashed color-mix(in srgb,var(--border-subtle) 80%,var(--accent) 15%);background:color-mix(in srgb,var(--bg-elevated) 92%,var(--accent) 4%)}.challenge-history-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;margin-bottom:var(--space-4);border-radius:var(--radius-lg);color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.challenge-history-empty-title{margin:0 0 var(--space-2);font-size:1.125rem;font-weight:800;letter-spacing:-.02em}.challenge-history-empty-desc{margin:0 auto var(--space-6);max-width:22rem;line-height:1.55;font-size:.9375rem}.challenge-history-list--skeleton .challenge-history-skel-row{display:flex;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-xl);background:var(--bg-elevated);border:1px solid var(--border-subtle)}.challenge-history-skel-icon{width:2.75rem;height:2.75rem;border-radius:var(--radius-lg);background:linear-gradient(90deg,var(--border-subtle) 0,color-mix(in srgb,var(--border-subtle) 60%,var(--bg-page)) 50%,var(--border-subtle) 100%);background-size:200% 100%;animation:challenge-history-shimmer 1.2s ease-in-out infinite;flex-shrink:0}.challenge-history-skel-lines{flex:1 1;display:flex;flex-direction:column;gap:var(--space-3);justify-content:center;min-width:0}.challenge-history-skel-line{display:block;height:.65rem;border-radius:4px;background:linear-gradient(90deg,var(--border-subtle) 0,color-mix(in srgb,var(--border-subtle) 55%,var(--bg-page)) 45%,var(--border-subtle) 100%);background-size:200% 100%;animation:challenge-history-shimmer 1.2s ease-in-out infinite}.challenge-history-skel-line--long{width:72%}.challenge-history-skel-line--mid{width:48%;animation-delay:.08s}@keyframes challenge-history-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.challenge-history-card{transition:none}.challenge-history-card:hover{transform:none}.challenge-history-skel-icon,.challenge-history-skel-line{animation:none;background:var(--border-subtle)}}.challenge-leaderboard{margin:0;padding:0;list-style:none}.challenge-lb-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-2);background:var(--bg-elevated);border:1px solid transparent;transition:border-color var(--transition)}.challenge-lb-row--1{border-color:color-mix(in srgb,#eab308 45%,transparent);background:linear-gradient(90deg,color-mix(in srgb,#eab308 12%,var(--bg-elevated)),var(--bg-elevated))}.challenge-lb-row--2{border-color:color-mix(in srgb,#94a3b8 40%,transparent)}.challenge-lb-row--3{border-color:color-mix(in srgb,#d97706 35%,transparent)}.challenge-lb-row--4,.challenge-lb-row--5{border-color:color-mix(in srgb,var(--border-subtle) 90%,transparent)}.challenge-lb-row--you{border-color:color-mix(in srgb,var(--accent) 50%,transparent)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 15%,transparent)}.challenge-lb-rank{font-size:.8125rem;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-muted);min-width:1.75rem}.challenge-lb-name{flex:1 1;min-width:0;font-weight:600;font-size:.9375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.challenge-lb-score{font-size:.875rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--accent)}.challenge-lb-hint{font-size:.75rem;color:var(--text-muted);margin:var(--space-3) 0 0;display:flex;align-items:center;gap:.35rem}.challenge-lb-hint--live{color:var(--success)}.challenge-daily-lb-panel{margin:0 0 var(--space-6);padding:var(--space-5);border-color:color-mix(in srgb,var(--accent) 24%,var(--border-subtle));background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 8%,var(--bg-card)) 0,color-mix(in srgb,var(--bg-card) 94%,var(--accent-muted)) 100%)}.challenge-page--state-live .challenge-daily-lb-panel{border-color:color-mix(in srgb,var(--error) 22%,var(--border-subtle));background:linear-gradient(160deg,color-mix(in srgb,var(--error) 9%,var(--bg-card)) 0,color-mix(in srgb,var(--bg-card) 94%,var(--accent-muted)) 100%)}.challenge-page--state-quiet .challenge-daily-lb-panel{border-color:var(--border-subtle);background:linear-gradient(160deg,color-mix(in srgb,var(--text-muted) 6%,var(--bg-card)) 0,color-mix(in srgb,var(--bg-card) 96%,var(--bg-elevated)) 100%)}.challenge-daily-lb-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-2)}.challenge-daily-lb-title{margin:0;font-size:1.075rem;font-weight:750;letter-spacing:-.01em;color:var(--text)}.challenge-daily-lb-live{font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.2rem .5rem;border-radius:999px;background:color-mix(in srgb,var(--success) 18%,transparent);color:var(--success);border:1px solid color-mix(in srgb,var(--success) 35%,transparent);flex-shrink:0}.challenge-daily-lb-sub{margin:0 0 var(--space-3);font-size:.875rem;line-height:1.5;color:var(--text-muted)}.challenge-daily-lb-panel--top5 .challenge-daily-lb-sub{margin-bottom:var(--space-3)}.challenge-daily-lb-list{margin:0;padding:0;list-style:none;max-height:min(40vh,280px);overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}.challenge-daily-lb-panel--top5 .challenge-daily-lb-list{max-height:none;overflow:visible}.challenge-daily-lb-list .challenge-lb-row{margin-bottom:var(--space-2);padding:var(--space-2) var(--space-3);min-height:2.75rem;box-sizing:border-box}.challenge-daily-lb-list .challenge-lb-row:last-child{margin-bottom:0}.challenge-daily-lb-empty{margin:0;font-size:.875rem;color:var(--text-muted);line-height:1.55}@media (max-width:640px){.challenge-daily-lb-panel{padding:var(--space-4);margin-bottom:var(--space-5)}.challenge-daily-lb-panel--top5 .challenge-daily-lb-list{max-height:none}.challenge-daily-lb-head{align-items:center}.challenge-daily-lb-title{font-size:1rem}.challenge-daily-lb-sub{font-size:.8125rem;margin-bottom:var(--space-3)}.challenge-daily-lb-list .challenge-lb-row{padding:var(--space-2) var(--space-3)}}.challenge-room-loading{padding:var(--space-12) 0;text-align:center}.challenge-spinner{width:2.5rem;height:2.5rem;border:3px solid var(--border-subtle);border-top-color:var(--accent);border-radius:50%;animation:challenge-spin .75s linear infinite;margin:0 auto var(--space-4)}@keyframes challenge-spin{to{transform:rotate(1turn)}}.admin-challenge-bank{border-radius:var(--radius-lg)!important;border-color:var(--border-subtle)!important;background:var(--bg-elevated)}.admin-challenge-bank-row{padding:var(--space-3) var(--space-3)!important;border-radius:var(--radius-md);transition:background var(--transition)}.admin-challenge-bank-row:hover{background:var(--accent-muted)}.admin-challenge-row{padding:var(--space-5) 0!important}.admin-challenge-row:last-child{border-bottom:none!important}.admin-ch-sessions-card .admin-section-title{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.admin-ch-badge{font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.2rem .45rem;border-radius:6px;background:var(--accent-muted);color:var(--accent)}.admin-ch-table-wrap{margin-top:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-challenges-table{width:100%;min-width:720px;border-collapse:collapse;font-size:.875rem}.admin-challenges-table td,.admin-challenges-table th{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--border-subtle);vertical-align:top}.admin-challenges-table th{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);background:var(--bg-elevated)}.admin-challenges-table tbody tr:last-child td{border-bottom:none}.admin-challenges-table tbody tr:hover td{background:color-mix(in srgb,var(--accent) 4%,transparent)}.admin-ch-td-title{max-width:220px}.admin-ch-td-title strong{display:block;line-height:1.3}.admin-ch-id{display:block;margin-top:.2rem}.admin-ch-pill{display:inline-block;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.2rem .5rem;border-radius:999px}.admin-ch-pill--lobby{background:color-mix(in srgb,var(--success) 18%,transparent);color:var(--success)}.admin-ch-pill--active{background:color-mix(in srgb,var(--error) 14%,transparent);color:var(--error)}.admin-ch-pill--draft{background:color-mix(in srgb,var(--warning) 16%,transparent);color:var(--warning)}.admin-ch-pill--finished{background:var(--bg-dark);color:var(--text-muted)}.admin-ch-pill--scheduled{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.admin-ch-pill--origin-staff{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.admin-ch-pill--origin-public{background:color-mix(in srgb,var(--success) 16%,transparent);color:var(--success)}.admin-ch-pill--origin-solo{background:color-mix(in srgb,var(--warning) 14%,transparent);color:var(--warning)}.admin-challenge-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.admin-challenge-actions--wrap{align-items:flex-start;max-width:22rem}.admin-challenge-actions--wide{max-width:none;width:100%}.admin-ch-schedule-new-title{font-size:1rem;font-weight:700;margin:0 0 .35rem;color:var(--text)}.admin-ch-publish-modes{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:.75rem}.admin-ch-publish-mode{display:inline-flex;align-items:center;gap:.45rem;padding:.42rem .65rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:.92rem;transition:border-color var(--transition),background var(--transition),color var(--transition)}.admin-ch-publish-mode input{margin:0}.admin-ch-publish-mode.is-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--bg-card))}.admin-ch-draft-list{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:1.25rem}.admin-ch-draft-item{margin:0;padding:1rem 1.1rem;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-elevated)}.admin-ch-draft-item-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;margin-bottom:.75rem}.admin-ch-draft-item-title{font-size:1.05rem}.admin-ch-schedule-row{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:flex-end;width:100%}.admin-ch-schedule-field{display:flex;flex-direction:column;gap:.25rem;flex:1 1;min-width:11rem}.admin-ch-datetime{font-size:.875rem;padding:.4rem .55rem}.admin-ch-schedule-new-picker-wrap{margin-top:.75rem;max-width:min(100%,22rem)}.admin-ch-schedule-new-picker-wrap.is-disabled{opacity:.55}@media (min-width:480px){.admin-ch-schedule-new-picker-wrap{max-width:min(100%,360px)}}.admin-ch-schedule-row--picker{flex-direction:column;align-items:stretch;gap:var(--space-3)}.admin-ch-schedule-submit{align-self:flex-start}.ch-schedule-simple{width:100%;max-width:22rem}.ch-schedule-simple--compact{max-width:100%}.ch-schedule-simple__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.ch-schedule-simple__label{margin:0}.ch-schedule-simple__clear{flex-shrink:0;padding:.2rem .5rem;font-size:.75rem}.ch-schedule-simple__hint{margin:.35rem 0 0;line-height:1.45}.ch-schedule-simple__fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-3);gap:var(--space-3);margin-top:var(--space-2);align-items:end}@media (max-width:420px){.ch-schedule-simple__fields{grid-template-columns:1fr}}.ch-schedule-simple__field{display:flex;flex-direction:column;gap:.35rem;min-width:0}.ch-schedule-simple__control{width:100%;min-height:2.75rem;font-size:.9375rem;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color-scheme:light dark}[data-theme=dark] .ch-schedule-simple__control{color-scheme:dark}.ch-schedule-simple__preview{margin:var(--space-2) 0 0;line-height:1.45}.ch-schedule-simple__preview-label{font-weight:600;color:var(--text-muted)}.admin-ch-field .admin-ch-slider-row{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-2) 0 var(--space-3)}.admin-ch-range{flex:1 1;min-width:0;height:6px;accent-color:var(--accent);cursor:pointer}.admin-ch-slider-value{flex-shrink:0;font-size:.875rem;font-weight:600;color:var(--text);min-width:2.5rem}.admin-ch-number{max-width:120px}.admin-ch-slider-section{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border-subtle)}.admin-ch-slider-title{font-size:1rem;font-weight:700;margin:0 0 var(--space-2);letter-spacing:-.02em}.admin-challenges-slider{margin-top:var(--space-3);margin-left:calc(-1 * var(--space-2));margin-right:calc(-1 * var(--space-2))}.admin-challenges-slider-track{display:flex;gap:var(--space-4);overflow-x:auto;padding:var(--space-3) var(--space-2) var(--space-4);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.admin-challenges-slide-card{flex:0 0 min(300px,88vw);scroll-snap-align:start;padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--bg-elevated);box-shadow:var(--shadow-sm)}.admin-ch-slide-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3)}.admin-ch-slide-title{font-size:1rem;font-weight:700;margin:0 0 var(--space-2);line-height:1.35;letter-spacing:-.02em}.admin-ch-slide-meta{margin:0 0 var(--space-4)}.admin-challenges-slide-card .admin-challenge-actions{flex-direction:column;align-items:stretch}.admin-challenges-slide-card .admin-challenge-actions--wrap{max-width:100%}.admin-challenges-slide-card .admin-challenge-actions .btn{justify-content:center}.challenge-page{-webkit-text-size-adjust:100%}@media (max-width:639px){.challenge-hero{padding:var(--space-6) var(--space-5) var(--space-8);margin-bottom:var(--space-8);border-radius:var(--radius-xl)}.challenge-hero-title{font-size:clamp(1.45rem,6.5vw,1.95rem)}.challenge-hero-desc{font-size:.9375rem;line-height:1.6}.challenge-hero-actions .btn{width:100%;justify-content:center}.challenge-section-label{margin-bottom:var(--space-3)}.challenge-list-toolbar{flex-direction:column;align-items:stretch;gap:var(--space-3);padding:var(--space-4)}.challenge-list-toolbar-right{display:flex;justify-content:stretch}.challenge-toolbar-refresh{width:100%;justify-content:center;min-height:2.75rem}.challenge-list-stats{margin-bottom:var(--space-4);font-size:.8125rem}.challenge-list-card{padding:var(--space-4) var(--space-4);gap:var(--space-3);align-items:center;min-height:4.5rem;grid-template-columns:auto 1fr auto}.challenge-list-card-icon{width:2.5rem;height:2.5rem}.challenge-list-card-title{font-size:1rem;line-height:1.35}.challenge-list-card-meta{font-size:.75rem}.challenge-list-card-arrow{width:2.75rem;height:2.75rem;min-width:2.75rem;min-height:2.75rem}.challenge-room-header{margin-bottom:var(--space-6)}.challenge-room-title-row{flex-direction:column;align-items:stretch;gap:var(--space-3)}.challenge-room-title{font-size:clamp(1.3rem,6.5vw,1.65rem)}.challenge-status-row{justify-content:flex-start}.challenge-room-grid{gap:var(--space-6)}.challenge-panel{padding:var(--space-5) var(--space-4);border-radius:var(--radius-lg);max-width:100%;box-sizing:border-box}.challenge-question-text{font-size:1rem;overflow-wrap:anywhere;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.challenge-timer-row{flex-wrap:wrap;gap:var(--space-4)}.challenge-timer-ring{width:4rem;height:4rem}.challenge-timer-label strong{font-size:1.35rem}.challenge-options{gap:var(--space-3)}.challenge-option{min-height:3rem;padding:.875rem var(--space-4);align-items:flex-start;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.challenge-option-label{min-width:0;overflow-wrap:anywhere;word-break:break-word}.challenge-option-key{margin-top:.125rem}.challenge-finished-card .btn,.challenge-finished-card .btn-primary,.challenge-lobby-actions .btn-primary{width:100%;justify-content:center;min-height:3rem;box-sizing:border-box}.challenge-countdown-box{padding:var(--space-5) var(--space-4)}.challenge-countdown-num{font-size:clamp(2.75rem,14vw,4rem)}.challenge-feedback{padding:var(--space-4);line-height:1.45}.challenge-empty{padding:var(--space-10) var(--space-4)}.challenge-back-link{display:inline-flex;min-height:2.75rem;padding:var(--space-2) 0;margin-bottom:var(--space-4)}.challenge-lb-row{padding:var(--space-3) var(--space-3);gap:var(--space-2)}.challenge-lb-name{font-size:.875rem}.challenge-lb-score{flex-shrink:0;font-size:.8125rem}.challenge-skeleton{height:4.75rem}.challenge-create-overlay{padding:max(var(--space-4),env(safe-area-inset-top,0px)) max(var(--space-4),env(safe-area-inset-right,0px)) max(var(--space-5),env(safe-area-inset-bottom,0px)) max(var(--space-4),env(safe-area-inset-left,0px))}.challenge-create-modal{width:100%;max-width:min(420px,100%)}.challenge-lobby-actions{display:flex;flex-direction:column;gap:var(--space-2)}.challenge-lobby-actions .btn-ghost{width:100%;justify-content:center;min-height:2.75rem;box-sizing:border-box}.challenge-daily-lb-panel{padding:var(--space-5) var(--space-4)}.quiz-review-page{padding-left:max(var(--space-3),env(safe-area-inset-left,0px));padding-right:max(var(--space-3),env(safe-area-inset-right,0px))}.challenge-history-hero,.challenge-results-hero{padding:var(--space-4) var(--space-4)}.challenge-results-page .quiz-review-back{min-height:2.75rem;display:inline-flex;align-items:center;justify-content:center;padding:.5rem .85rem}.quiz-review-option{min-height:2.75rem;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.quiz-review-card,.quiz-review-option{padding:var(--space-4)}}@media (max-width:380px){.challenge-list-card,.challenge-panel{padding:var(--space-4) var(--space-3)}.challenge-pill{font-size:.6875rem;padding:.3rem .6rem}}.admin-page .admin-card,.admin-page .admin-main-header,.admin-page .admin-mobile-bar,.admin-page .admin-sidebar{-webkit-backdrop-filter:blur(18px) saturate(1.28)!important;backdrop-filter:blur(18px) saturate(1.28)!important;border:1px solid color-mix(in srgb,var(--border-subtle) 75%,transparent)!important}[data-theme=light] .admin-page .admin-card,[data-theme=light] .admin-page .admin-main-header,[data-theme=light] .admin-page .admin-mobile-bar,[data-theme=light] .admin-page .admin-sidebar{background:linear-gradient(165deg,rgba(255,255,255,.78),rgba(248,250,252,.62))!important;box-shadow:0 16px 40px rgba(15,23,42,.11),inset 0 1px 0 rgba(255,255,255,.65)!important}[data-theme=dark] .admin-page .admin-card,[data-theme=dark] .admin-page .admin-main-header,[data-theme=dark] .admin-page .admin-mobile-bar,[data-theme=dark] .admin-page .admin-sidebar{background:linear-gradient(165deg,rgba(30,34,40,.64),rgba(19,22,27,.56))!important;box-shadow:0 20px 46px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.08)!important}.admin-page .admin-sidebar-link--active{background:color-mix(in srgb,var(--accent) 18%,transparent)!important;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent)!important}.admin-page .admin-card:hover{transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.challenge-list-card:hover{transform:none}.challenge-skeleton{animation:none;background:var(--bg-elevated)}.challenge-badge--live{animation:none}}.legal-back{margin-top:var(--space-8);margin-bottom:0}.legal-back a{color:var(--text-muted);font-size:.9375rem}.about-page{max-width:900px;margin:0 auto;padding:0 var(--space-2);padding-bottom:var(--space-12);box-sizing:border-box}.about-hero{text-align:center;padding:var(--space-10) 0 var(--space-8);margin-bottom:var(--space-6);border-bottom:1px solid var(--border-subtle)}.about-hero .about-hero-title{flex-wrap:wrap;justify-content:center}.about-hero-badge{display:block;font-size:.8125rem;font-weight:500;margin-bottom:var(--space-4);letter-spacing:.02em}.about-hero-badge,.about-hero-badge .mono{color:var(--accent)}.about-hero-title{font-family:var(--font-mono);font-size:clamp(2rem,5vw,2.75rem);font-weight:700;letter-spacing:-.03em;margin:0 0 var(--space-4);color:var(--text);display:flex;align-items:center;justify-content:center;gap:.15em;width:100%}.about-hero-bracket{color:var(--accent);font-weight:700}.about-hero-tagline{font-size:1.125rem;line-height:1.65;color:var(--text-muted);max-width:560px;margin:0 auto}.about-intro{margin-bottom:var(--space-10)}.about-intro-text{font-size:1.0625rem;line-height:1.75;color:var(--text-muted);margin:0}.about-section{margin-bottom:var(--space-10)}.about-section-title{font-size:1rem;font-weight:600;color:var(--text);margin:0 0 var(--space-5);letter-spacing:-.01em}.about-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:var(--space-4);gap:var(--space-4)}@media (min-width:640px){.about-cards{grid-template-columns:repeat(2,1fr)}}.about-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);transition:border-color var(--hover-transition),box-shadow var(--hover-transition),transform var(--hover-transition)}.about-card:hover{border-color:rgba(37,99,235,.15);box-shadow:var(--hover-shadow);transform:translateY(-2px)}[data-theme=dark] .about-card:hover{border-color:rgba(59,130,246,.2);box-shadow:var(--hover-shadow-dark)}.about-card-icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:var(--accent-muted);color:var(--accent);border-radius:var(--radius-md);font-size:1rem;font-family:var(--font-mono);margin-bottom:var(--space-3)}.about-card-title{font-size:1rem;font-weight:600;color:var(--text);margin:0 0 var(--space-2)}.about-card-desc{font-size:.9375rem;line-height:1.6;color:var(--text-muted);margin:0}.about-founder-block{background:var(--bg-card);border:1px solid var(--border-subtle);border-left:3px solid var(--accent);border-radius:var(--radius-md);padding:var(--space-5) var(--space-6);box-shadow:var(--shadow-sm)}.about-founder-text{font-size:1rem;line-height:1.7;color:var(--text-muted);margin:0}.about-founder-text strong{color:var(--text);font-weight:600}.about-body-text{font-size:1rem;line-height:1.7;color:var(--text-muted);margin:0 0 var(--space-4)}.about-body-text:last-child{margin-bottom:0}.about-body-text a{color:var(--accent);text-decoration:none}.about-body-text a:hover{color:var(--accent-hover);text-decoration:underline}.about-cta{padding:var(--space-6) 0;border-top:1px solid var(--border-subtle)}.about-cta .about-body-text{margin-bottom:var(--space-4)}.about-cta-btn{display:inline-block;margin-top:var(--space-2)}.about-support{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6)}.about-support-text{font-size:.9375rem;line-height:1.65;color:var(--text-muted);margin:0}.about-page .legal-back{margin-top:var(--space-10);text-align:center}.about-page .legal-back a{color:var(--text-muted);font-size:.9375rem}.about-page .legal-back a:hover{color:var(--accent)}@media (max-width:768px){.about-hero{padding:var(--space-8) 0 var(--space-6);margin-bottom:var(--space-5)}.about-hero-tagline{font-size:1rem}.about-cards{grid-template-columns:1fr}.about-founder-block{padding:var(--space-4) var(--space-4)}.about-section{margin-bottom:var(--space-8)}}@media (max-width:480px){.about-hero-title{font-size:1.75rem}.about-card{padding:var(--space-4)}}.legal-back a:hover{color:var(--accent)}.contact-page{max-width:560px}@media (min-width:1024px){.contact-page{max-width:1000px}}.contact-content{display:flex;flex-direction:column;gap:var(--space-10)}@media (min-width:1024px){.contact-content{flex-direction:row;align-items:flex-start;gap:var(--space-8)}.contact-form-section{flex:1.5 1;min-width:0}.contact-direct-section{flex:1 1;min-width:280px;max-width:360px}}.contact-section{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-8);transition:border-color var(--hover-transition)}.contact-section:focus-within{border-color:rgba(37,99,235,.15)}[data-theme=dark] .contact-section:focus-within{border-color:rgba(59,130,246,.2)}[data-theme=light] .contact-section{background:#ffffff;border-color:rgba(0,0,0,.06)}.contact-section-title{font-size:1rem;font-weight:600;margin:0 0 var(--space-4);color:var(--text);letter-spacing:-.01em}.contact-form{display:flex;flex-direction:column;gap:var(--space-4)}.contact-field{display:block}.contact-label{display:block;font-size:.8125rem;font-weight:600;color:var(--text);margin-bottom:var(--space-2)}.contact-input,.contact-textarea{width:100%;padding:var(--space-3) var(--space-4);font-size:.9375rem;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-dark);color:var(--text);transition:border-color .2s ease,background .2s ease}[data-theme=light] .contact-input,[data-theme=light] .contact-textarea{background:#ffffff;border-color:rgba(0,0,0,.1);color:var(--text)}[data-theme=light] .contact-input:hover,[data-theme=light] .contact-textarea:hover{border-color:rgba(0,0,0,.15);background:#fafbfc}[data-theme=light] .contact-social-link:hover{background:rgba(37,99,235,.08);border-color:rgba(37,99,235,.25);color:var(--accent)}.contact-input::placeholder,.contact-textarea::placeholder{color:var(--text-muted);opacity:.85}.contact-input:focus,.contact-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}[data-theme=light] .contact-input:focus,[data-theme=light] .contact-textarea:focus{background:#ffffff;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}.contact-textarea{resize:vertical;min-height:120px}.contact-submit{align-self:flex-start;margin-top:var(--space-2)}.contact-success{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.3);border-radius:var(--radius-md);color:#22c55e}.contact-error,.contact-success{padding:var(--space-4);margin-bottom:var(--space-4);font-size:.9375rem}.contact-error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.25);border-radius:var(--radius-md);color:var(--error)}.contact-error-fallback{margin:var(--space-3) 0 0}.contact-error-fallback .contact-email-link{color:var(--accent)}.contact-email-wrap{margin:0 0 var(--space-4)}.contact-email-link{color:var(--accent);font-weight:500;font-size:1rem;text-decoration:none}.contact-email-link:hover{color:var(--accent-hover);text-decoration:none}.contact-social-wrap{display:flex;flex-wrap:wrap;gap:var(--space-3)}.contact-social-link{display:inline-block;padding:var(--space-2) var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-muted);font-size:.875rem;font-weight:500;text-decoration:none;transition:color .2s ease,border-color .2s ease,background .2s ease}[data-theme=light] .contact-social-link{background:#f8f9fc;border-color:var(--border)}.contact-social-link:hover{color:var(--accent);border-color:var(--accent-muted);background:var(--accent-muted);text-decoration:none}.btn-lg{padding:.8125rem 1.625rem;min-height:48px;font-size:1rem;border-radius:var(--radius-xl);letter-spacing:.025em}.projects-header{margin-bottom:var(--section-gap)}.projects-intro{max-width:560px;font-size:1rem;line-height:1.6;margin-bottom:var(--space-4)}@media (min-width:769px){.home{overflow:visible}.home .page-header.projects-header{overflow:visible;min-height:0}.home .projects-intro{overflow:visible;display:block;margin-bottom:var(--space-4);max-height:none}}.projects-search-wrap{margin-top:var(--space-5);max-width:400px;position:relative;display:flex;align-items:center;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:border-color var(--transition),box-shadow var(--transition)}[data-theme=light] .projects-search-wrap{border-color:rgba(0,0,0,.08)}.projects-search-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}.projects-search-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:48px;height:48px;padding-left:var(--space-2);color:var(--text-muted);transition:color var(--transition)}.projects-search-wrap:focus-within .projects-search-icon{color:var(--accent)}.projects-search-input{flex:1 1;min-width:0;height:48px;padding:0 var(--space-4) 0 0;font-size:.9375rem;font-family:var(--font-sans);color:var(--text);background:transparent;border:none;outline:none;border-radius:0 var(--radius-xl) var(--radius-xl) 0}.projects-search-input::placeholder{color:var(--text-muted)}.projects-search-btn{flex-shrink:0}.project-card--popular{border:2px solid var(--accent);box-shadow:0 0 0 1px var(--accent),0 4px 14px var(--accent-muted);position:relative}.project-card--popular .project-card-thumb{position:relative}.project-card-popular-badge{position:absolute;top:var(--space-3);left:var(--space-3);z-index:2;padding:.25rem .65rem;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--accent);color:#0b1020;box-shadow:0 2px 8px rgba(0,0,0,.3)}[data-theme=light] .project-card-popular-badge{color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.2)}.projects-difficulty-filter{margin-top:var(--space-4);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.projects-difficulty-filter-label{display:inline-flex;align-items:center;gap:var(--space-2);font-size:.875rem;font-weight:500;color:var(--text-muted)}.projects-difficulty-filter-label svg{flex-shrink:0;color:var(--text-muted)}.projects-difficulty-filter-options{display:flex;flex-wrap:wrap;gap:var(--space-2)}.projects-difficulty-btn{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);font-size:.8125rem;font-family:var(--font-sans);font-weight:500;color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition),background var(--transition),color var(--transition)}.projects-difficulty-btn:hover{color:var(--text);border-color:var(--border);background:var(--bg-elevated)}.projects-difficulty-btn--active{color:var(--accent);border-color:var(--accent);background:var(--accent-muted)}[data-theme=light] .projects-difficulty-btn{border-color:rgba(0,0,0,.1)}[data-theme=light] .projects-difficulty-btn--active{border-color:var(--accent);background:var(--accent-muted)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.home .project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:var(--space-6);gap:var(--space-6)}.pagination{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border-subtle)}.pagination-list{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-2);list-style:none;margin:0;padding:0}.pagination-link,.pagination-link--current,.pagination-link--disabled{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-weight:500;text-decoration:none;color:var(--text);background:var(--bg-muted);border:1px solid var(--border-subtle);transition:background .2s,border-color .2s}.pagination-link:hover{background:var(--bg-hover);border-color:var(--border)}.pagination-link--current{background:var(--accent);border-color:var(--accent);color:var(--accent-fg,#fff)}.pagination-link--disabled{opacity:.6;cursor:not-allowed}.pagination-ellipsis{padding:0 var(--space-2);color:var(--text-muted)}.pagination-info{text-align:center;margin-top:var(--space-3);font-size:.9rem}.project-card{display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);overflow:hidden;color:var(--text);text-decoration:none;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}[data-theme=light] .project-card{border-color:rgba(0,0,0,.08);box-shadow:0 1px 3px rgba(0,0,0,.04)}[data-theme=dark] .project-card{border-color:rgba(255,255,255,.06);box-shadow:0 1px 3px rgba(0,0,0,.2)}.project-card>.project-card-link{display:flex;flex-direction:column;flex:1 1;text-decoration:none;color:inherit}.project-card:hover{border-color:rgba(37,99,235,.3);box-shadow:0 8px 24px rgba(37,99,235,.12);transform:translateY(-4px);text-decoration:none;color:var(--text)}[data-theme=dark] .project-card:hover{border-color:rgba(59,130,246,.35);box-shadow:0 8px 28px rgba(0,0,0,.35),0 0 0 1px rgba(59,130,246,.1)}.project-card-thumb{width:100%;height:160px;background:var(--bg);flex-shrink:0;overflow:hidden;position:relative}.project-card-thumb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;display:block;transition:transform .3s ease}.project-card:hover .project-card-thumb-img{transform:scale(1.03)}.project-card-thumb-placeholder{position:absolute;inset:0;width:100%;height:100%;background:linear-gradient(145deg,var(--bg) 0,var(--border-subtle) 50%);display:flex;align-items:center;justify-content:center}.project-card-thumb-icon{font-size:2rem;font-weight:600;font-family:var(--font-mono);color:var(--text-muted);opacity:.5}.project-card-body{display:flex;flex-direction:column;flex:1 1;padding:var(--space-5);min-width:0}.project-card-title{font-weight:600;font-size:1.0625rem;line-height:1.35;letter-spacing:-.02em;margin:0 0 var(--space-2);color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);font-size:.8125rem}.project-card-languages{color:var(--text-muted)}.project-card-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.project-tag{display:inline-block;font-size:.6875rem;font-weight:500;padding:.25em .6em;background:var(--accent-muted);color:var(--accent);border-radius:999px;text-transform:lowercase;letter-spacing:.01em}[data-theme=dark] .project-tag{background:rgba(59,130,246,.18);color:#93c5fd}.project-card-desc{font-size:.875rem;color:var(--text-muted);line-height:1.5;margin:0 0 var(--space-4);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1 1}.project-card-cta{font-size:.875rem;font-weight:600;color:var(--accent);display:inline-flex;align-items:center;gap:.35em;margin-top:auto;transition:color .2s ease,gap .2s ease}.project-card:hover .project-card-cta{color:var(--accent-hover);gap:.5em}.project-card-cta:after{content:"→";font-weight:500}.empty-state{grid-column:1/-1;text-align:center;padding:3rem 2rem;color:var(--text-muted);background:var(--bg-card);border:1px dashed var(--border-subtle);border-radius:var(--radius-md)}.empty-state .mono{display:block;margin-bottom:.5rem;color:var(--text);font-size:1rem}.auth-page{position:relative;min-height:60vh;min-height:60dvh;align-items:center;padding:var(--space-4) var(--space-3);background:var(--bg-dark)}.auth-code-bg,.auth-page{display:flex;justify-content:center;overflow:hidden}.auth-code-bg{position:absolute;inset:0;padding:0 var(--space-4);mask-image:linear-gradient(180deg,transparent 0,black 6%,black 94%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent 0,black 6%,black 94%,transparent)}.auth-code-bg-column{position:relative;overflow:hidden;width:100%;max-width:520px;height:100%}.auth-code-bg-track{display:flex;flex-direction:column;flex-shrink:0;animation:auth-code-scroll 40s linear infinite;will-change:transform;transform:translateZ(0)}@keyframes auth-code-scroll{0%{transform:translateZ(0) translateY(0)}to{transform:translateZ(0) translateY(-50%)}}.auth-code-bg-line{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;font-family:var(--font-mono);font-size:.9375rem;line-height:1.6;color:rgba(203,213,225,.6);white-space:nowrap;flex-shrink:0}.auth-code-bg-num{flex-shrink:0;width:2.5ch;text-align:right;color:rgba(148,163,184,.65);-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:.8125rem}.auth-code-token{color:inherit;background:none;padding:0;font-size:inherit;font-family:inherit}[data-theme=light] .auth-code-bg-line{color:rgba(71,85,105,.4)}[data-theme=light] .auth-code-bg-num{color:rgba(100,116,139,.5)}@media (prefers-reduced-motion:reduce){.auth-code-bg-track{animation:none}}.auth-page-content{position:relative;z-index:1;width:100%;max-width:360px}.auth-page-content:has(.onboarding-card--wide){max-width:540px}.auth-page-content:has(.onboarding-v2){max-width:min(1120px,calc(100vw - 2 * var(--space-4)))}.auth-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-8) var(--space-8);position:relative;overflow:hidden}[data-theme=light] .auth-card{background:#ffffff;border-color:rgba(0,0,0,.08)}.auth-title{font-size:1.25rem;font-weight:600;margin:0 0 var(--space-3);letter-spacing:-.02em;color:var(--text)}.auth-oauth{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.auth-oauth-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-4);font-size:.875rem;font-weight:500;background:var(--bg-dark);border:1px solid var(--border);color:var(--text);transition:border-color var(--transition),background var(--transition)}.auth-oauth-btn:hover:not(:disabled){border-color:var(--border);background:var(--bg-elevated)}[data-theme=light] .auth-oauth-btn{background:#ffffff;border-color:var(--border)}[data-theme=light] .auth-oauth-btn:hover:not(:disabled){background:#f4f6fa;border-color:#b4bcc8}.auth-oauth-btn:disabled{opacity:.7;cursor:not-allowed}.auth-oauth-icon{flex-shrink:0;width:20px;height:20px;display:block}.auth-divider{text-align:center;margin:0 0 var(--space-3)}.auth-divider,.auth-note{font-size:.8125rem;color:var(--text-muted)}.auth-note{margin:0 0 var(--space-4);line-height:1.5}.auth-note strong{color:var(--text)}.onboarding-choices{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}.onboarding-btn{padding:var(--space-3) var(--space-4);font-size:.9375rem;font-weight:500;border-radius:var(--radius-lg)}.onboarding-levels{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.onboarding-level-btn{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:var(--space-4);font-size:.9375rem;font-weight:600;border-radius:var(--radius-lg);border:2px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text);transition:border-color .2s,background .2s,box-shadow .2s;cursor:pointer}.onboarding-level-btn:hover:not(:disabled){border-color:var(--border);background:var(--bg-card)}.onboarding-level-btn--selected{border-color:var(--accent);background:var(--accent-muted);box-shadow:0 0 0 1px var(--accent)}.onboarding-level-btn:disabled{opacity:.8;cursor:wait}.onboarding-level-label{display:block;margin-bottom:.15rem}.onboarding-level-hint{font-size:.8125rem;font-weight:400;color:var(--text-muted)}.onboarding-back{margin-top:var(--space-2);font-size:.875rem}.onboarding-steps{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-6)}.onboarding-step-dot{width:8px;height:8px;border-radius:50%;background:var(--border);transition:background var(--transition),transform var(--transition)}.onboarding-step-dot--active{background:var(--accent);transform:scale(1.25)}.onboarding-step-dot--current{box-shadow:0 0 0 2px var(--accent-muted)}.onboarding-step-dot--done{background:var(--accent);opacity:.6}.onboarding-card--wide .auth-title{font-size:1.375rem;margin-bottom:var(--space-4)}.onboarding-goals,.onboarding-language-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-2);gap:var(--space-2);margin-bottom:var(--space-5)}.onboarding-language-btn{text-align:left;padding:var(--space-4);font-size:.9375rem;font-weight:600;border-radius:var(--radius-lg);border:2px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text);transition:border-color .2s,background .2s,box-shadow .2s,transform .2s;cursor:pointer}.onboarding-language-btn:hover:not(:disabled){border-color:var(--border);background:var(--bg-card);transform:translateY(-1px)}.onboarding-language-btn--selected{border-color:var(--accent);background:var(--accent-muted);box-shadow:0 0 0 1px var(--accent)}.onboarding-language-btn:disabled{opacity:.85;cursor:wait}.onboarding-goal{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-elevated);cursor:pointer;font-size:.875rem;font-weight:500;color:var(--text);transition:border-color .2s,background .2s}.onboarding-goal:hover{border-color:var(--border);background:var(--bg-card)}.onboarding-goal input[type=checkbox]{width:1.125rem;height:1.125rem;accent-color:var(--accent);flex-shrink:0}.onboarding-goal input:checked+span{color:var(--text)}.onboarding-goal:has(input:checked){border-color:var(--accent);background:var(--accent-muted)}.auth-form label{display:block;margin-bottom:var(--space-3)}.auth-form label:last-of-type{margin-bottom:0}.auth-form .label-text{display:block;font-size:.8125rem;font-weight:500;margin-bottom:var(--space-1);color:var(--text-muted);transition:color var(--transition)}.auth-form label:focus-within .label-text{color:var(--text)}.label-text{display:block;font-size:.8125rem;font-weight:500;margin-bottom:var(--space-1);color:var(--text-muted)}.input{width:100%;padding:var(--space-2) var(--space-3);background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text);font-size:.9375rem;transition:border-color .2s ease,background .2s ease}.input:hover{border-color:var(--border-subtle);background:var(--bg-elevated)}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted);background:var(--bg-dark)}[data-theme=light] .input{background:#ffffff;border-color:rgba(0,0,0,.1)}[data-theme=light] .input:hover{border-color:rgba(0,0,0,.15);background:#fafbfc}[data-theme=light] .input:focus{background:#ffffff;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}[data-theme=light] .textarea{background:#ffffff;border-color:rgba(0,0,0,.1)}[data-theme=light] .textarea:hover{background:#fafbfc;border-color:rgba(0,0,0,.15)}[data-theme=light] .textarea:focus{background:#ffffff;border-color:var(--accent)}.auth-form .input{padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-dark);transition:border-color .2s ease,background .2s ease}.auth-form .input:hover{border-color:var(--border);background:var(--bg-elevated)}.auth-form .input::placeholder{color:var(--text-muted);opacity:.8}.auth-form .input:focus,.auth-form .input:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted);background:var(--bg-dark)}[data-theme=light] .auth-form .input{background:#ffffff;border-color:rgba(0,0,0,.1)}[data-theme=light] .auth-form .input:hover{background:#fafbfc;border-color:rgba(0,0,0,.15)}[data-theme=light] .auth-form .input:focus,[data-theme=light] .auth-form .input:focus-visible{background:#ffffff;border-color:var(--accent)}.auth-form .btn-block:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-muted)}.textarea{resize:vertical;min-height:88px}.auth-form .btn-block{margin-top:var(--space-3);padding:var(--space-2) var(--space-4);font-weight:600;font-size:.875rem;letter-spacing:-.01em;transition:opacity .2s ease}.auth-form .btn-block:hover:not(:disabled){opacity:.92}.auth-error{background:rgba(248,81,73,.1);color:var(--error);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);margin-bottom:var(--space-3);font-size:.8125rem;border:1px solid rgba(248,81,73,.25);word-break:break-word}.auth-footer{margin:var(--space-3) 0 0;text-align:center;color:var(--text-muted);font-size:.8125rem;line-height:1.5}.auth-footer a{color:var(--accent);font-weight:500;transition:color var(--transition)}.auth-footer a:hover{color:var(--accent-hover);text-decoration:none}.quiz-wrapper{margin:var(--space-4) 0}.quiz-result{text-align:center;padding:var(--space-8) var(--space-6);background:var(--accent-muted);border-radius:var(--radius-xl);border:1px solid rgba(37,99,235,.15)}[data-theme=dark] .quiz-result{border-color:rgba(59,130,246,.2)}.quiz-result-label{font-size:1.25rem;font-weight:600;color:var(--text);margin:0 0 var(--space-2);letter-spacing:-.02em}.quiz-result-label strong{color:var(--accent)}.quiz-result-message{font-size:.9375rem;color:var(--text-muted);line-height:1.6;margin:0 0 var(--space-5);max-width:360px;margin-left:auto;margin-right:auto}.quiz-result-actions{display:flex;flex-direction:column;gap:var(--space-3);align-items:center;max-width:280px;margin:0 auto}.quiz-result-actions .btn{width:100%;justify-content:center}.quiz-question-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.quiz-meta-badge{font-size:.6875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.2rem .55rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent)}.quiz-meta-badge--muted{background:var(--bg-card);color:var(--text-muted);border-color:var(--border-subtle)}.quiz-question{margin:var(--space-4) 0}.quiz-question-text{font-size:1.0625rem;font-weight:500;color:var(--text);line-height:1.6;margin:0 0 var(--space-5);padding:0 var(--space-2)}.quiz-question-text .quiz-formatted-prose,.quiz-question-text .quiz-formatted-text{font-weight:500}.quiz-question-text .fd-code-block{margin:var(--space-3) 0}.quiz-formatted-text--inline .desc-inline-code{font-size:.9em}.quiz-options{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5)}.quiz-option{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);width:100%;text-align:left;font-size:.9375rem;font-weight:500;background:var(--bg-elevated);border:2px solid var(--border-subtle);border-radius:var(--radius-lg);color:var(--text);cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}.quiz-option:hover:not(:disabled){border-color:var(--border);background:var(--bg-card)}.quiz-option--selected{border-color:var(--accent);background:var(--accent-muted);box-shadow:0 0 0 1px var(--accent)}.quiz-option--correct{border-color:var(--success);background:rgba(5,150,105,.08)}.quiz-option--incorrect{border-color:var(--error);background:rgba(220,38,38,.06)}.quiz-option:disabled{cursor:default;opacity:.95}.quiz-option-letter{flex-shrink:0;width:1.5rem;height:1.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--border-subtle);color:var(--text-muted);font-size:.8125rem;font-weight:600}.quiz-option--selected .quiz-option-letter{background:var(--accent);color:#fff}.quiz-option-text{flex:1 1;min-width:0;line-height:1.5;text-align:left}.quiz-actions{display:flex;justify-content:flex-end;margin-top:var(--space-4)}.quiz-loading{text-align:center;padding:var(--space-6);color:var(--text-muted);font-size:.9375rem}.quiz-error{margin-top:var(--space-3)}@media (max-width:640px){.quiz-result{padding:var(--space-5) var(--space-4)}.quiz-result-label{font-size:1.0625rem}.quiz-result-message{font-size:.875rem;max-width:100%}.quiz-question-text{font-size:.9375rem;padding:0}.quiz-option{padding:var(--space-3);font-size:.875rem;gap:var(--space-2)}.quiz-loading{padding:var(--space-4)}}.quiz-hub-section-wrap,.quiz-review-section-wrap{max-width:680px;margin-left:auto;margin-right:auto;box-sizing:border-box}.quiz-hub{padding:var(--space-4) 0 var(--space-12);display:flex;flex-direction:column;gap:var(--space-6)}.quiz-hub-toolbar{margin-bottom:var(--space-4)}.quiz-hub-hero{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-8) var(--space-6);box-shadow:var(--shadow-sm)}[data-theme=dark] .quiz-hub-hero{background:var(--bg-elevated);box-shadow:none}.quiz-hub-eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-bottom:var(--space-3)}.quiz-hub-title{font-size:clamp(1.625rem,4vw,2rem);font-weight:800;letter-spacing:-.035em;line-height:1.15;margin:0 0 var(--space-3);color:var(--text)}.quiz-hub-lead{line-height:1.65;margin:0 0 var(--space-4);max-width:36rem;color:var(--text-muted);font-size:1rem}.quiz-hub-chips{list-style:none;margin:0 0 var(--space-6);padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.quiz-hub-chip{display:inline-block;font-size:.8125rem;font-weight:500;color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border-subtle);padding:var(--space-1) var(--space-3);border-radius:999px}[data-theme=light] .quiz-hub-chip{background:var(--bg-dark)}.quiz-hub-start{display:inline-flex;align-items:center;gap:var(--space-3);min-height:48px;padding-left:var(--space-6);padding-right:var(--space-6);font-weight:600}.quiz-hub-error{margin-top:var(--space-4);margin-bottom:0}.quiz-hub-load-err{margin:0}.quiz-hub-panel{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm)}[data-theme=dark] .quiz-hub-panel{background:var(--bg-elevated);box-shadow:none}.quiz-hub-panel-head{display:flex;gap:var(--space-4);align-items:flex-start;margin-bottom:var(--space-5)}.quiz-hub-panel-icon{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--accent-muted);color:var(--accent)}.quiz-hub-section-title{font-size:1.125rem;font-weight:700;margin:0 0 var(--space-2);letter-spacing:-.02em;color:var(--text)}.quiz-hub-section-desc{margin:0;max-width:100%;font-size:.875rem;line-height:1.55;color:var(--text-muted)}.quiz-hub-panel--coach .quiz-hub-panel-head{margin-bottom:var(--space-4)}.quiz-coach-message{position:relative;padding:var(--space-4) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-elevated) 92%,var(--accent) 8%)}.quiz-coach-message--ready{border-color:color-mix(in srgb,var(--accent) 35%,var(--border-subtle));background:color-mix(in srgb,var(--bg-elevated) 88%,var(--accent) 12%)}.quiz-coach-badge{display:inline-block;font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.2rem .5rem;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-contrast,#fff);margin-bottom:var(--space-2)}.quiz-coach-message-text{margin:0;font-size:.875rem;line-height:1.55;color:var(--text)}.quiz-hub-empty{text-align:center;padding:var(--space-8) var(--space-4);border-radius:var(--radius-lg);border:1px dashed var(--border-subtle);background:color-mix(in srgb,var(--bg-elevated) 80%,transparent)}.quiz-hub-empty--compact{padding:var(--space-6) var(--space-4)}.quiz-hub-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin:0 auto var(--space-3);border-radius:50%;background:var(--accent-muted);color:var(--accent);opacity:.9}.quiz-hub-empty-title{font-size:.9375rem;font-weight:700;margin:0 0 var(--space-2);color:var(--text)}.quiz-hub-empty-text{font-size:.875rem;line-height:1.55;color:var(--text-muted);max-width:280px;margin:0 auto}.quiz-hub-footer{margin-top:var(--space-2);padding-top:var(--space-6);border-top:1px solid var(--border-subtle)}.quiz-hub-back-link{display:inline-flex;align-items:center;gap:var(--space-2);font-size:.875rem;font-weight:600;color:var(--text-muted);text-decoration:none;transition:color .15s ease}.quiz-hub-back-link:hover{color:var(--accent)}@media (max-width:480px){.quiz-hub-hero{padding:var(--space-6) var(--space-4)}.quiz-hub-panel{padding:var(--space-5) var(--space-4)}.quiz-hub-start{width:100%;justify-content:center}}.quiz-insights-grid{display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:1fr}@media (min-width:640px){.quiz-insights-grid{grid-template-columns:1fr 1fr}.quiz-insights-card--wide{grid-column:1/-1}}.quiz-insights-card{background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5)}[data-theme=dark] .quiz-insights-card{background:rgba(0,0,0,.2)}.quiz-insights-card-title{font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 var(--space-3)}.quiz-insights-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.quiz-insights-list li{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;font-size:.875rem}.quiz-insights-label{font-weight:600;color:var(--text)}.quiz-insights-meta{color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.quiz-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.quiz-history-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-4);background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}[data-theme=dark] .quiz-history-row{background:rgba(0,0,0,.2)}.quiz-history-main{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.quiz-history-level{font-weight:800;font-size:.9375rem;color:var(--accent)}.quiz-review-page{padding:var(--space-2) max(var(--space-4),env(safe-area-inset-right,0px)) calc(var(--space-10) + env(safe-area-inset-bottom, 0px)) max(var(--space-4),env(safe-area-inset-left,0px));max-width:640px;margin:0 auto;width:100%;box-sizing:border-box}.quiz-review-nav{margin-bottom:var(--space-4)}.challenge-results-nav{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center}.quiz-review-back{font-size:.875rem;font-weight:500;color:var(--accent);text-decoration:none}.quiz-review-back:hover{text-decoration:underline}.challenge-results-page .quiz-review-back{border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border-subtle));border-radius:999px;padding:.4rem .75rem;text-decoration:none;background:color-mix(in srgb,var(--bg-elevated) 92%,var(--accent) 8%)}.challenge-results-page .quiz-review-back:hover{text-decoration:none;border-color:color-mix(in srgb,var(--accent) 40%,var(--border-subtle));background:color-mix(in srgb,var(--accent) 14%,var(--bg-elevated))}.challenge-results-hero{border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border-subtle));border-radius:var(--radius-xl);padding:clamp(1rem,2.8vw,1.4rem) clamp(1rem,3vw,1.5rem);background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 10%,var(--bg-elevated)),var(--bg-card));box-shadow:var(--shadow-sm);margin-bottom:var(--space-5)}.challenge-results-meta,.challenge-results-stats{margin-bottom:var(--space-3)}.challenge-results-stats{display:grid;grid-gap:var(--space-2);gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr))}.challenge-results-stat{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg-elevated) 88%,var(--bg-card));padding:.55rem .65rem}.challenge-results-stat-label{display:block;font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:.18rem}.challenge-results-stat-value{font-size:1rem;letter-spacing:-.02em}.challenge-results-rankline{margin:0}@media (max-width:560px){.challenge-results-stats{grid-template-columns:1fr}}.quiz-review-title{font-size:clamp(1.35rem,3.5vw,1.65rem);font-weight:800;letter-spacing:-.03em;margin:0 0 var(--space-2)}.quiz-review-meta{margin:0 0 var(--space-6)}.quiz-review-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-5)}.quiz-review-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-5)}.quiz-review-card--miss{border-color:color-mix(in srgb,var(--error) 22%,var(--border-subtle))}.quiz-review-card--ok{border-color:color-mix(in srgb,var(--success) 22%,var(--border-subtle))}.quiz-review-card-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-3)}.quiz-review-qnum{font-weight:800;font-size:.8125rem;color:var(--text-muted)}.quiz-review-badges{display:flex;flex-wrap:wrap;gap:var(--space-2)}.quiz-review-badge{font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.15rem .5rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent)}.quiz-review-badge--muted{background:var(--bg-card);color:var(--text-muted);border-color:var(--border-subtle)}.quiz-review-status{margin-left:auto;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.quiz-review-status--ok{color:var(--success)}.quiz-review-status--miss{color:var(--error)}.quiz-review-question{font-size:1rem;line-height:1.55;margin:0 0 var(--space-4);color:var(--text)}.quiz-review-question .fd-code-block{margin:var(--space-3) 0}.quiz-review-option-text{flex:1 1;min-width:0}.quiz-review-options{list-style:none;margin:0 0 var(--space-4);padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.quiz-review-option{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-card);font-size:.875rem;line-height:1.45}.quiz-review-option--correct{border-color:color-mix(in srgb,var(--success) 40%,var(--border-subtle));background:color-mix(in srgb,var(--success) 8%,var(--bg-card))}.quiz-review-option--yours-wrong{border-color:color-mix(in srgb,var(--error) 45%,var(--border-subtle));background:color-mix(in srgb,var(--error) 7%,var(--bg-card))}.quiz-review-option-key{flex-shrink:0;width:1.5rem;height:1.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--border-subtle);font-size:.75rem;font-weight:700}.quiz-review-option--correct .quiz-review-option-key{background:color-mix(in srgb,var(--success) 25%,transparent);color:var(--success)}.quiz-review-option-tag{margin-left:auto;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--success);flex-shrink:0}.quiz-review-option-tag--you{color:var(--error)}.quiz-review-compare{margin-bottom:var(--space-3);line-height:1.5}.quiz-review-compare-line{margin-bottom:var(--space-2)}.quiz-review-compare-line:last-child{margin-bottom:0}.quiz-review-explanation{padding:var(--space-4);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--accent) 8%,var(--bg-card));border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border-subtle))}.quiz-review-explanation-label{display:block;font-size:.6875rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-bottom:var(--space-2)}.quiz-review-explanation-body{margin:0;font-size:.9375rem;line-height:1.55;color:var(--text)}.quiz-review-explanation-body .fd-code-block{margin:var(--space-3) 0}.quiz-review-no-expl{margin:0 0 var(--space-2)}.quiz-review-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.quiz-review-tag{font-size:.75rem;padding:.2rem .5rem;border-radius:var(--radius-sm);background:var(--border-subtle);color:var(--text-muted)}.goal-v2-quiz-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-4) var(--space-5);margin-bottom:var(--space-5);border-radius:var(--radius-xl);border:1px solid var(--border-subtle);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,var(--bg-elevated)),var(--bg-elevated));text-decoration:none;color:inherit;transition:border-color .2s ease,box-shadow .2s ease}.goal-v2-quiz-card:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--border-subtle));box-shadow:0 4px 24px color-mix(in srgb,var(--accent) 10%,transparent)}.goal-v2-quiz-card-text{min-width:0}.goal-v2-quiz-card-title{display:block;font-weight:800;font-size:1rem;margin-bottom:.25rem;letter-spacing:-.02em}.goal-v2-quiz-card-desc{font-size:.8125rem;color:var(--text-muted);line-height:1.45;margin:0}.goal-v2-quiz-card-cta{flex-shrink:0;font-weight:600;font-size:.875rem;color:var(--accent)}.guide-header{margin-bottom:var(--space-10);padding-bottom:var(--space-8);border-bottom:1px solid var(--border-subtle)}.guide-intro{font-size:1.0625rem;line-height:1.65;color:var(--text);margin:0 0 var(--space-2)}.guide-message{margin:0 0 var(--space-4);font-size:.9375rem}.guide-coach{margin:0 0 var(--space-5);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-card) 92%,var(--accent) 8%)}.guide-coach--ready{border-color:color-mix(in srgb,var(--accent) 35%,var(--border-subtle))}.guide-coach-badge{display:inline-block;font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.2rem .5rem;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-contrast,#fff);margin-bottom:var(--space-2)}.guide-coach-text{margin:0 0 var(--space-3);font-size:.875rem;line-height:1.55;color:var(--text)}.guide-coach-lang{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--space-2);gap:var(--space-2);font-size:.8125rem}.guide-coach-lang li{display:flex;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.guide-coach-focus{margin:var(--space-3) 0 0;line-height:1.5}.guide-actions{margin:0;display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.guide-section-title{font-size:1.125rem;font-weight:600;color:var(--text);margin:0 0 var(--space-6);letter-spacing:-.02em}.guide .project-grid{margin-top:0}.guide .empty-state{padding:var(--space-12) var(--space-8);border-radius:var(--radius-xl);border-style:solid;border-width:1px}.guide .empty-state .mono{font-size:1.0625rem;margin-bottom:var(--space-2)}.guide .empty-state p+p{margin-top:var(--space-2)}.guide-loading-skeleton{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.guide-skeleton-line{height:14px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--border-subtle) 25%,var(--border) 50%,var(--border-subtle) 75%);background-size:200% 100%;animation:guide-skeleton-pulse 1.5s ease-in-out infinite}.guide-skeleton-line--short{width:60%}.guide-skeleton-line--medium{width:85%}@keyframes guide-skeleton-pulse{0%,to{opacity:.6}50%{opacity:1}}.guide-loading-placeholder{padding:var(--space-12) var(--space-8);text-align:center}.guide-error-card,.guide-loading-placeholder{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);margin-top:var(--space-6)}.guide-error-card{padding:var(--space-8);max-width:420px}.guide-error-message{color:var(--text);margin:0 0 var(--space-4);font-size:.9375rem;line-height:1.5}.guide-error-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.guide-loading{padding:var(--space-12) var(--space-8);text-align:center;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl)}.guide-loading .mono{display:block;margin-bottom:var(--space-2);color:var(--text);font-size:1rem}.guide-error{padding:var(--space-8);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);max-width:420px}.guide-error .auth-error{margin-bottom:var(--space-4)}@media (max-width:768px){.guide-header{margin-bottom:var(--space-6);padding-bottom:var(--space-5)}.guide-section-title{margin-bottom:var(--space-4)}}@media (max-width:640px){.guide-header{margin-bottom:var(--space-4);padding-bottom:var(--space-4)}.guide-intro{font-size:.9375rem}.guide-message{font-size:.875rem}.guide .empty-state,.guide-loading-placeholder{padding:var(--space-6) var(--space-4)}.guide-error,.guide-error-card{padding:var(--space-5);max-width:100%}.guide-loading{padding:var(--space-6) var(--space-4)}}.auth-terms-notice{margin:0 0 var(--space-3);font-size:.8125rem;color:var(--text-muted);line-height:1.5}.auth-terms-notice a{color:var(--accent);font-weight:500;text-decoration:none;transition:color var(--transition)}.auth-terms-notice a:hover{color:var(--accent-hover);text-decoration:underline}.auth-hint{margin:var(--space-3) 0 0;padding:var(--space-2) var(--space-3);background:rgba(37,99,235,.06);border:1px solid rgba(37,99,235,.12);border-radius:var(--radius-sm);font-size:.75rem;color:var(--text-muted);text-align:center;line-height:1.5}.auth-hint code{color:var(--accent);font-size:.75rem;background:rgba(37,99,235,.1);padding:.125rem .25rem;border-radius:3px;font-weight:500}.project-detail-header{margin-bottom:var(--space-8)}.project-meta-row{font-size:.9375rem;margin:var(--space-2) 0 0}.difficulty-badge{display:inline-flex;align-items:center;font-weight:600;font-size:.6875rem;letter-spacing:.02em;text-transform:uppercase;border-radius:var(--radius-sm);padding:.2em .5em;line-height:1.2}.difficulty-badge--beginner{background:rgba(5,150,105,.15);color:#059669}[data-theme=dark] .difficulty-badge--beginner{background:rgba(16,185,129,.2);color:#34d399}.difficulty-badge--intermediate{background:rgba(217,119,6,.15);color:#b45309}[data-theme=dark] .difficulty-badge--intermediate{background:rgba(245,158,11,.2);color:#fbbf24}.difficulty-badge--advanced{background:rgba(220,38,38,.15);color:#b91c1c}[data-theme=dark] .difficulty-badge--advanced{background:rgba(239,68,68,.2);color:#f87171}.difficulty-badge--sm{font-size:.625rem;padding:.15em .4em}.difficulty-badge--lg{font-size:.8125rem;padding:.25em .6em;text-transform:none;letter-spacing:0}.recent-card-meta.recent-card-meta-row{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.recent-card-languages{color:var(--text-muted);font-size:inherit}.project-meta-row--badges{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.back-link,.project-meta-languages{color:var(--text-muted);font-size:.9375rem}.back-link{display:inline-flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);font-weight:500;transition:color var(--hover-transition),gap var(--hover-transition)}.back-link:hover{color:var(--accent);gap:var(--space-3);text-decoration:none}.project-hero-and-files{margin-bottom:2rem}@media (min-width:1024px){.project-hero-and-files{display:flex;align-items:flex-start;gap:2.5rem;margin-bottom:2.5rem}.project-hero-and-files .project-thumbnail-section{flex-shrink:0;margin-bottom:0}.project-hero-and-files .files-section{flex:1 1;min-width:0;margin-top:0}}.project-thumbnail-section{margin-bottom:2rem}.project-thumbnail{position:relative;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);overflow:hidden;aspect-ratio:16/10;width:100%;max-width:100%;max-height:320px;display:flex;align-items:center;justify-content:center}@media (min-width:1024px){.project-thumbnail{width:480px;max-width:480px;height:300px;max-height:300px;aspect-ratio:16/10}}.project-thumbnail-img{width:100%;height:100%;object-fit:cover;display:block}.project-thumbnail-placeholder{width:100%;height:100%;min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1.5rem;color:var(--text-muted)}.project-thumbnail-icon{font-size:2.5rem;line-height:1}.thumb-window{display:inline-flex;flex-direction:column;align-items:center;width:80px;padding:.5rem .75rem 1rem;background:var(--bg);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.thumb-bar{display:block;width:100%;height:6px;margin-bottom:.5rem;background:var(--border-subtle);border-radius:3px}.thumb-dots{font-size:.5rem;letter-spacing:.25em;color:var(--text-muted)}.project-thumbnail-label{margin:0;font-size:.9375rem;font-weight:600;color:var(--text)}.project-thumbnail-files{margin:0;font-size:.8125rem;font-family:var(--font-mono);color:var(--text-muted)}.project-cta-share-row,.project-demo-ctas{display:block}.project-demo-cta,.project-demo-ctas .project-demo-cta{margin-top:var(--space-5)}.project-demo-cta{display:flex;justify-content:flex-start}.btn-view-demo{padding:var(--space-3) var(--space-6);font-size:1rem;font-weight:600;border-radius:var(--radius-xl);min-width:180px;text-align:center}.btn-view-demo:disabled{opacity:.8;cursor:not-allowed}.project-share-follow{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.project-share-row{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.project-follow-label,.project-share-label{display:block;font-size:.875rem;font-weight:600;color:var(--text);margin-bottom:var(--space-2)}.project-share-row .project-share-label{margin-bottom:0}.project-share-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:color .2s ease,border-color .2s ease}.project-share-icon-btn:hover{color:var(--accent);border-color:var(--accent)}.project-share-copied{font-size:.75rem;font-weight:600;color:var(--accent)}.project-follow-row{margin-top:var(--space-4)}.project-follow-links{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.project-follow-link{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--text-muted);transition:color .2s ease}.project-follow-link:hover{color:var(--accent)}@media (max-width:768px){.project-cta-share-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.project-demo-ctas{display:flex;flex-wrap:wrap;gap:var(--space-2);flex:1 1 100%;min-width:0}.project-demo-ctas .project-demo-cta{margin-top:0;flex:1 1 100%;min-width:0}.project-demo-ctas .project-demo-cta .btn-view-demo{width:100%;min-width:0}.project-share-follow{margin-top:0;padding-top:0;border-top:none;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.project-follow-row,.project-share-row{margin-bottom:0;flex-shrink:0}.project-follow-row{margin-top:0}.project-follow-row .project-follow-label,.project-share-row .project-share-label{display:none}}.project-description-section{margin-bottom:var(--space-8)}.project-description{margin-top:0;padding:var(--space-5);background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-subtle);font-size:.9375rem;line-height:1.6}.formatted-description{line-height:1.7}.formatted-description-prose{margin-bottom:var(--space-3)}.formatted-description-prose:last-child{margin-bottom:0}.formatted-description-prose-mixed .fd-code-block{margin-top:var(--space-3);margin-bottom:var(--space-3)}.formatted-description-prose-mixed .formatted-description-prose{margin-bottom:var(--space-2)}.formatted-description-pre{margin:var(--space-4) 0;padding:var(--space-4);border-radius:var(--radius-lg);overflow-x:auto;font-size:.8125rem;line-height:1.6;background:#1a1d24;border:1px solid var(--border-subtle)}.formatted-description-pre code{font-family:var(--font-mono,ui-monospace,monospace);white-space:pre}.fd-code-block{margin:var(--space-4) 0;border-radius:var(--radius-lg);overflow:hidden;border:1px solid rgba(255,255,255,.08)}[data-theme=light] .fd-code-block{border-color:#e2e8f0}.fd-code-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);background:#282c34;border-bottom:1px solid rgba(255,255,255,.06)}[data-theme=light] .fd-code-header{background:#e8eaed;border-bottom-color:#d4d8de}.fd-code-lang{font-family:var(--font-mono);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#9ca3af}[data-theme=light] .fd-code-lang{color:#6b7280}.fd-copy-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);color:#9ca3af;font-size:.6875rem;font-weight:500;padding:3px 8px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.fd-copy-btn:hover{color:#fff;border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.06)}[data-theme=light] .fd-copy-btn{border-color:#d4d8de;color:#6b7280}[data-theme=light] .fd-copy-btn:hover{color:#1e293b;background:rgba(0,0,0,.04);border-color:#9ca3af}.fd-code-pre{margin:0;padding:var(--space-4);overflow-x:auto;font-size:.8125rem;line-height:1.6;background:#1a1d24;border-radius:0;border:none}[data-theme=light] .fd-code-pre{background:#f4f5f7}.fd-code-pre code{white-space:pre}.desc-inline-code,.fd-code-pre code{font-family:var(--font-mono,ui-monospace,monospace)}.desc-inline-code{font-size:.88em;padding:.15em .4em;border-radius:var(--radius-sm);background:var(--accent-muted);color:var(--accent);border:none}[data-theme=light] .formatted-description-pre{background:#f4f5f7}.fd-table-wrap{overflow-x:auto;margin:var(--space-4) 0;border-radius:var(--radius-lg);border:1px solid var(--border-subtle)}.fd-table{width:100%;border-collapse:collapse;font-size:.875rem}.fd-table th{text-align:left;background:var(--bg-elevated);font-weight:650;font-size:.8125rem;border-bottom:2px solid var(--border)}.fd-table td,.fd-table th{padding:var(--space-3) var(--space-4);color:var(--text)}.fd-table td{border-bottom:1px solid var(--border-subtle)}.fd-table tbody tr:last-child td{border-bottom:none}.fd-table tbody tr:hover{background:var(--bg-elevated)}.fd-ol,.fd-ul{margin:var(--space-3) 0;padding-left:1.5rem}.fd-ol-item,.fd-ul-item{margin-bottom:var(--space-2);line-height:1.65}.fd-h2{font-size:1.25rem;font-weight:700;margin:var(--space-8) 0 var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle);letter-spacing:-.01em}.fd-h2,.fd-h3{color:var(--text)}.fd-h3{font-size:1.05rem;font-weight:650;margin:var(--space-6) 0 var(--space-2)}.fd-callout{margin:var(--space-6) 0 var(--space-4);padding:var(--space-4) var(--space-5);background:color-mix(in srgb,var(--accent) 6%,var(--bg-card));border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-left:4px solid var(--accent);border-radius:var(--radius-lg)}[data-theme=dark] .fd-callout{background:rgba(59,130,246,.06)}.fd-callout-header{display:flex;align-items:center;gap:var(--space-2);font-weight:700;font-size:.875rem;color:var(--accent);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.04em}.fd-callout .formatted-description-prose{color:var(--text)}.onboarding-v2{max-width:100%;width:100%}.auth-card.onboarding-v2{display:flex;flex-direction:column;gap:0}.auth-page:has(.onboarding-v2){min-height:100dvh;min-height:100svh;overflow-y:auto;overflow-x:hidden;align-items:center;justify-content:center;padding:max(var(--space-4),env(safe-area-inset-top,0px)) max(var(--space-4),env(safe-area-inset-right,0px)) max(var(--space-4),env(safe-area-inset-bottom,0px)) max(var(--space-4),env(safe-area-inset-left,0px));box-sizing:border-box}.onboarding-v2-header{text-align:center;margin-bottom:var(--space-6);flex-shrink:0}.onboarding-v2-title{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin:0 0 var(--space-2)}.onboarding-v2-subtitle{color:var(--text-muted);font-size:.9375rem;margin:0}.onboarding-v2-grid-scroll{flex:1 1 auto;min-height:0;margin:0}.onboarding-v2--few .onboarding-v2-grid-scroll{max-height:none;overflow:visible;padding:0;border:none;background:transparent;scrollbar-gutter:auto}.onboarding-v2--many .onboarding-v2-grid-scroll{max-height:min(65vh,560px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:var(--space-2);border-radius:var(--radius-lg);scrollbar-gutter:stable;border:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-elevated) 85%,transparent)}.onboarding-v2-grid{display:grid;grid-template-columns:1fr;grid-gap:var(--space-4);gap:var(--space-4);align-items:stretch}.onboarding-v2--few .onboarding-v2-grid{grid-template-columns:1fr}@media (min-width:560px){.onboarding-v2--few .onboarding-v2-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1100px){.onboarding-v2--few .onboarding-v2-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:560px) and (max-width:1099px){.onboarding-v2--few .onboarding-v2-grid .onboarding-v2-card:last-child:nth-child(odd){grid-column:1/-1;max-width:420px;justify-self:center}}.onboarding-v2--many .onboarding-v2-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:var(--space-3)}.onboarding-v2--many .onboarding-v2-card{padding:var(--space-3) var(--space-4);gap:var(--space-3)}.onboarding-v2--many .onboarding-v2-card-icon{width:40px;height:40px}.onboarding-v2--many .onboarding-v2-card-icon svg{width:22px;height:22px}.onboarding-v2--many .onboarding-v2-card-name{font-size:1rem}.onboarding-v2--many .onboarding-v2-card-meta{font-size:.6875rem}.onboarding-v2-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-5) var(--space-5);background:var(--bg-elevated);border:1.5px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s,transform .15s;position:relative;overflow:hidden;touch-action:manipulation;-webkit-tap-highlight-color:transparent}@media (hover:hover){.onboarding-v2-card:hover{transform:translateY(-2px)}}.onboarding-v2-card:after{content:"";position:absolute;top:0;bottom:0;left:0;width:4px;background:var(--lang-color);opacity:0;transition:opacity .15s}.onboarding-v2-card:hover{border-color:var(--lang-color);box-shadow:0 4px 16px rgba(0,0,0,.08)}.onboarding-v2-card--selected{border-color:var(--lang-color);box-shadow:0 0 0 1px var(--lang-color),0 4px 16px rgba(0,0,0,.1)}.onboarding-v2-card--selected:after{opacity:1}.onboarding-v2-card-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:color-mix(in srgb,var(--lang-color) 12%,transparent);color:var(--lang-color);flex-shrink:0}.onboarding-v2-card-info{width:100%;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.onboarding-v2-card-name{font-weight:700;font-size:1.0625rem;color:var(--text)}.onboarding-v2--few .onboarding-v2-card-desc{font-size:.875rem;color:var(--text-muted);line-height:1.55;display:block}.onboarding-v2--many .onboarding-v2-card-desc{font-size:.875rem;color:var(--text-muted);line-height:1.35;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.onboarding-v2-card-meta{font-size:.75rem;color:var(--text-muted);margin-top:2px}.onboarding-v2-card-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bg-card) 80%,transparent);border-radius:inherit}.onboarding-v2-spinner{width:24px;height:24px;border:3px solid var(--border);border-top-color:var(--lang-color);border-radius:50%;animation:spin .6s linear infinite}.onboarding-v2-footer{text-align:center;margin-top:var(--space-5);padding-top:var(--space-2);font-size:.875rem;color:var(--text-muted);flex-shrink:0}.onboarding-v2-footer a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:var(--space-2) var(--space-4);margin:0 calc(-1 * var(--space-2));color:var(--text-muted);text-decoration:underline;text-underline-offset:3px;border-radius:var(--radius-md);transition:color .15s,background .15s}.onboarding-v2-footer a:hover{color:var(--text);background:rgba(255,255,255,.06)}[data-theme=light] .onboarding-v2-footer a:hover{background:rgba(0,0,0,.04)}@media (min-width:900px){.auth-card.onboarding-v2{padding:var(--space-8) var(--space-10);box-shadow:0 4px 6px -1px rgba(0,0,0,.08),0 12px 24px -4px rgba(0,0,0,.12)}[data-theme=dark] .auth-card.onboarding-v2{box-shadow:0 4px 6px -1px rgba(0,0,0,.35),0 16px 40px -8px rgba(0,0,0,.55)}.onboarding-v2-title{font-size:1.625rem}}@media (max-width:639px){.onboarding-v2--many .onboarding-v2-grid-scroll{max-height:min(58vh,480px);padding:var(--space-1)}.onboarding-v2-grid{gap:var(--space-3)}.onboarding-v2--few .onboarding-v2-grid,.onboarding-v2--many .onboarding-v2-grid{grid-template-columns:1fr}.onboarding-v2-title{font-size:1.25rem}.onboarding-v2-subtitle{font-size:.875rem}.onboarding-v2-card{padding:var(--space-4);gap:var(--space-3)}.onboarding-v2-card-icon{width:44px;height:44px}.onboarding-v2-card-icon svg{width:24px;height:24px}.onboarding-v2-card-name{font-size:.9375rem}.onboarding-v2--few .onboarding-v2-card-desc{font-size:.8125rem}}@media (max-width:380px){.auth-page:not(:has(.onboarding-v2)){padding:var(--space-3) var(--space-2)}.auth-page:has(.onboarding-v2){padding:max(var(--space-3),env(safe-area-inset-top,0px)) max(var(--space-2),env(safe-area-inset-right,0px)) max(var(--space-3),env(safe-area-inset-bottom,0px)) max(var(--space-2),env(safe-area-inset-left,0px))}.auth-card.onboarding-v2{padding:var(--space-5) var(--space-3)}.onboarding-v2-title{font-size:1.125rem}.onboarding-v2-card{padding:var(--space-3);gap:var(--space-2)}.onboarding-v2-card-icon{width:40px;height:40px}.onboarding-v2-card-icon svg{width:22px;height:22px}}.desc-json-readable{line-height:1.6}.desc-json-readable--project .desc-json-title{font-size:1.35rem;font-weight:700;margin:0 0 var(--space-3);color:var(--text)}.desc-json-readable--project .desc-json-lead{font-size:1.05rem;font-weight:600;color:var(--text);margin:0 0 var(--space-3);line-height:1.65}.desc-json-readable--project .desc-json-summary{font-size:.98rem;color:var(--text-muted);margin:0 0 var(--space-6);line-height:1.7}.desc-json-steps--flow .desc-json-step--flow{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle)}.desc-json-steps--flow .desc-json-step--flow:last-child{border-bottom:none;padding-bottom:0}.desc-json-step-where{margin:var(--space-2) 0 0;line-height:1.5}.desc-json-step-where-label{color:var(--text)}.desc-json-cards{display:flex;flex-direction:column;gap:var(--space-4)}.desc-json-card{padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-muted,rgba(0,0,0,.04))}.desc-json-card-title{font-size:1rem;font-weight:600;margin:0 0 var(--space-2);color:var(--text)}.desc-json-card-body{font-size:.9375rem;color:var(--text-muted);line-height:1.6}.desc-json-card-meta{font-size:.875rem;color:var(--text-muted);margin:var(--space-2) 0 0;line-height:1.5}.desc-json-file-cards{display:flex;flex-direction:column;gap:var(--space-4)}.desc-json-file-card{padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.desc-json-file-card-path{margin:0 0 var(--space-2);font-size:.9375rem}.desc-json-file-card-role{font-size:.9375rem}.desc-json-file-card-contains,.desc-json-file-card-role{margin:0 0 var(--space-2);color:var(--text-muted);line-height:1.55}.desc-json-file-card-contains{padding-left:1.25rem;font-size:.875rem}.desc-json-file-card-read{margin:0;line-height:1.5}.desc-json-section{margin-bottom:var(--space-5)}.desc-json-section--top{padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.desc-json-heading{font-size:1.05rem;font-weight:600;margin:0 0 var(--space-3);color:var(--text)}.desc-json-object .desc-json-section .desc-json-heading{font-size:.98rem;opacity:.95}.desc-json-para{font-size:.9375rem}.desc-json-list,.desc-json-para{margin:0 0 var(--space-3);color:var(--text-muted)}.desc-json-list{padding-left:1.35rem}.desc-json-list--strings li{margin-bottom:var(--space-2);line-height:1.55}.desc-json-plugin-name{color:var(--text)}.desc-json-steps{margin:0 0 var(--space-3);padding-left:1.35rem}.desc-json-step{margin-bottom:var(--space-3);line-height:1.55;color:var(--text-muted)}.desc-json-step-action{display:block}.desc-json-code-block{margin:var(--space-3) 0}.desc-json-readable .desc-json-list .desc-json-para{margin-bottom:0}.desc-json-pre{margin:var(--space-3) 0;padding:var(--space-4);border-radius:var(--radius-md);overflow-x:auto;font-size:.8125rem;line-height:1.55;background:var(--bg-muted,#1a1d24);border:1px solid var(--border-subtle)}.desc-json-pre code{font-family:var(--font-mono,ui-monospace,monospace);white-space:pre-wrap;word-break:break-word;display:block}.desc-json-pre--compact{margin:var(--space-2) 0;padding:var(--space-3);font-size:.8rem}.desc-json-inline-code{font-family:var(--font-mono,ui-monospace,monospace);font-size:.88em;padding:.12em .4em;border-radius:4px;background:var(--bg-muted);border:1px solid var(--border-subtle);color:var(--text)}.desc-json-dl{margin:0}.desc-json-dt{font-weight:600;font-size:.9rem;color:var(--text);margin-top:var(--space-4);margin-bottom:var(--space-2)}.desc-json-dt:first-child{margin-top:0}.desc-json-dd{margin:0 0 var(--space-3);padding-left:0}.desc-json-dd-prose{color:var(--text-muted);font-size:.9375rem;line-height:1.6}.desc-json-plugin-li{margin-bottom:var(--space-4);list-style:none;margin-left:-1.35rem;padding-left:0}.desc-json-plugin-li .desc-json-pre--compact{margin-top:var(--space-2)}[data-theme=light] .desc-json-pre{background:#f0f1f4}.desc-json-links{list-style:none;padding:0;margin:0 0 var(--space-4)}.desc-json-links li{margin-bottom:var(--space-2)}.desc-json-link{font-weight:600;color:var(--link-color,#6b9fff);text-decoration:none}.desc-json-link:hover{text-decoration:underline}.desc-json-link-url{display:block;font-size:.8rem;word-break:break-all}.desc-json-deep-dive{display:flex;flex-direction:column;gap:var(--space-5)}.desc-json-article{padding:var(--space-4);background:var(--bg-muted);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.desc-json-article-title{margin:0 0 var(--space-2);font-size:1rem;font-weight:600;color:var(--text)}.desc-json-article-body{margin:0;color:var(--text-muted);font-size:.9375rem;line-height:1.6}[data-theme=light] .project-description{border-color:rgba(0,0,0,.06)}.ai-overview-section{margin-bottom:var(--space-8)}.ai-overview-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-5)}.ai-overview-tab{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-muted);font-size:.875rem;font-weight:500;cursor:pointer;transition:color .2s ease,background .2s ease,border-color .2s ease}.ai-overview-tab:hover{color:var(--text);border-color:var(--border-subtle)}.ai-overview-tab--active{border-color:var(--accent)}.ai-overview-tab--active,.ai-overview-tab--active:hover{background:var(--accent-muted);color:var(--accent)}.ai-overview-panel{margin-top:0}.ai-overview-panel[hidden]{display:none}.ai-breakdown-panel-title{font-size:1rem;font-weight:600;color:var(--text);margin:0 0 var(--space-3)}.ai-breakdown-intro{margin-bottom:var(--space-4)}.ai-breakdown-empty{padding:var(--space-6);background:var(--bg-elevated);border:1px dashed var(--border-subtle);border-radius:var(--radius-xl);text-align:center}.ai-breakdown-empty .btn{margin-top:var(--space-3)}@media (max-width:768px){.ai-overview-tabs{margin-bottom:var(--space-4)}.ai-overview-tab{min-height:44px;padding:var(--space-3) var(--space-4)}.ai-overview-content{padding:var(--space-4)}.ai-question-block{margin-top:var(--space-6);padding-top:var(--space-4)}}@media (max-width:480px){.ai-overview-section .section-title{margin-bottom:var(--space-2)}.ai-overview-section .ai-overview-intro{font-size:.875rem;margin-bottom:var(--space-3)}.ai-overview-tabs{flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.ai-overview-tab{width:100%;justify-content:center;min-height:48px}.ai-overview-content{padding:var(--space-3);font-size:.875rem}.ai-breakdown-empty{padding:var(--space-4)}}.ai-overview-intro{color:var(--text-muted);font-size:.9rem;margin:0 0 var(--space-4)}.ai-overview-error{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);color:var(--error);font-size:.9rem;margin-bottom:var(--space-3)}.ai-overview-error-hint{display:block;width:100%;color:var(--muted);font-size:.85rem;font-weight:400}.ai-overview-loading{color:var(--text-muted);font-size:.9rem;padding:var(--space-4)}.ai-overview-content{padding:var(--space-5);background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-subtle);font-size:.9375rem;line-height:1.6;margin-top:0}[data-theme=light] .ai-overview-content{border-color:rgba(0,0,0,.06)}.ai-overview-content p{margin:0 0 var(--space-3)}.ai-overview-content p:last-of-type{margin-bottom:var(--space-4)}.ai-overview-h2{font-size:1.125rem;font-weight:600;color:var(--text);margin:var(--space-6) 0 var(--space-2);padding-bottom:var(--space-1);border-bottom:1px solid var(--border-subtle)}.ai-overview-h2:first-child{margin-top:0}.ai-overview-h3{font-size:1rem;font-weight:600;color:var(--text);margin:var(--space-4) 0 var(--space-2)}.ai-overview-content .ai-inline-code{font-family:var(--font-mono);font-size:.875em;padding:.15em .4em;border-radius:var(--radius-sm);background:var(--bg-subtle,rgba(0,0,0,.06))}.ai-overview-snippet{margin:var(--space-3) 0;padding:var(--space-4);border-radius:var(--radius-md);overflow-x:auto;font-family:var(--font-mono);font-size:.8125rem;line-height:1.5;white-space:pre;border:1px solid var(--border-subtle)}[data-theme=light] .ai-overview-snippet{border-color:rgba(0,0,0,.08)}.ai-overview-snippet.hljs{padding:var(--space-4)}.ai-overview-snippet code{background:none;padding:0;font-size:inherit}.ai-overview-snippet .hljs{padding:0;background:transparent}.ai-overview-content .btn{margin-top:var(--space-2)}.ai-question-block{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border-subtle)}.ai-question-heading{font-size:1rem;font-weight:600;margin:0 0 var(--space-2);color:var(--text)}.ai-tool-title{font-size:1rem;font-weight:700;margin:0 0 var(--space-3);color:var(--text)}.ai-question-intro{color:var(--text-muted);font-size:.9rem;margin:0 0 var(--space-4)}.ai-question-form{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}.ai-question-input{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-sans);font-size:.9375rem;line-height:1.5;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-dark);color:var(--text);resize:vertical;min-height:72px}.ai-question-input::placeholder{color:var(--text-muted)}.ai-question-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}.ai-answer-content{margin-top:var(--space-4)}.ai-overview-streaming{margin-top:0}.ai-streaming-text{font-size:.9375rem;line-height:1.6;color:var(--text);white-space:pre-wrap;word-break:break-word}.ai-streaming-cursor{display:inline-block;width:2px;height:1em;margin-left:2px;background:var(--accent);animation:ai-cursor-blink 1s step-end infinite;vertical-align:text-bottom}@keyframes ai-cursor-blink{0%,to{opacity:1}50%{opacity:0}}[data-theme=light] .ai-question-input{background:#ffffff;border-color:var(--border);color:var(--text)}[data-theme=light] .ai-question-input:focus{background:#ffffff;border-color:var(--accent)}.project-comments-section{margin-bottom:var(--space-8)}.project-comments-list{list-style:none;padding:0;margin:0 0 var(--space-5)}.project-comment{padding:var(--space-4);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:var(--space-3)}.project-comment:last-child{margin-bottom:0}.project-comment-meta{display:flex;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-2)}.project-comment-author{font-weight:600;font-size:.9375rem;color:var(--text)}.project-comment-date{font-size:.8125rem;color:var(--text-muted)}.project-comment-body{margin:0;font-size:.9375rem;line-height:1.5;color:var(--text);white-space:pre-wrap;word-break:break-word}.project-comments-empty,.project-comments-sign-in{margin:0 0 var(--space-4);font-size:.9rem}.project-comment-form{display:flex;flex-direction:column;gap:var(--space-3);max-width:36rem}.project-comment-input{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-sans);font-size:.9375rem;line-height:1.5;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-dark);color:var(--text);resize:vertical;min-height:80px}.project-comment-input::placeholder{color:var(--text-muted)}.project-comment-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}[data-theme=light] .project-comment-input{background:#ffffff;border-color:var(--border)}[data-theme=light] .project-comment-input:focus{background:#ffffff;border-color:var(--accent)}.section-title{font-size:1rem;font-weight:600;margin:0 0 var(--space-3);color:var(--text-muted)}.demo-section{margin-bottom:var(--space-8)}.demo-frame-wrap{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;min-height:400px;box-shadow:var(--shadow-sm)}.demo-iframe{width:100%;height:500px;border:none;display:block}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4);animation:modal-fade-in .2s ease}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-box{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:0 24px 48px rgba(0,0,0,.12);width:100%;max-width:960px;height:90vh;max-height:90vh;display:flex;flex-direction:column;animation:modal-slide-in .25s ease}[data-theme=light] .modal-box{background:#ffffff;border-color:rgba(0,0,0,.08);box-shadow:0 24px 48px rgba(0,0,0,.1)}.modal-box-compact{height:auto;max-height:90vh;max-width:480px}@keyframes modal-slide-in{0%{opacity:0;transform:scale(.98) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);flex-shrink:0}.modal-title{font-size:1rem;font-weight:600;margin:0;color:var(--text)}.modal-header-action{margin-left:auto;margin-right:var(--space-2)}.modal-close{width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-muted);font-size:1.5rem;line-height:1;cursor:pointer;transition:color var(--transition),background var(--transition)}.modal-close:hover{color:var(--text);background:var(--bg-elevated)}[data-theme=light] .modal-close:hover{background:#f4f6fa}.modal-close:focus-visible{outline:none;box-shadow:var(--focus-ring)}.modal-body{flex:1 1;min-height:0;display:flex;flex-direction:column;overflow:hidden;position:relative}.modal-box-compact .modal-body{flex:0 1 auto;overflow:visible}.demo-modal-error{padding:var(--space-4);margin:var(--space-4);background:rgba(239,68,68,.1);color:var(--error);font-size:.9375rem;border-radius:var(--radius-sm);border:1px solid rgba(239,68,68,.25);flex-shrink:0}.demo-modal-loading{padding:var(--space-6);margin:0;color:var(--text-muted);text-align:center;flex-shrink:0}.demo-modal-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3);padding:0 var(--space-2)}.demo-modal-actions-hint{font-size:.8125rem;color:var(--text-muted)}.sign-in-modal-content{padding:var(--space-4)}.sign-in-modal-message{margin:0 0 var(--space-6);color:var(--text-muted);line-height:1.6;font-size:.9375rem}.sign-in-modal-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.sign-in-modal-actions .btn{text-decoration:none;flex:1 1;min-width:120px}.sign-in-modal-actions .btn:hover{text-decoration:none}.auth-required-notice{padding:var(--space-4);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:var(--space-4);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}.auth-required-text{margin:0;color:var(--text-muted);font-size:.9375rem;flex:1 1;min-width:200px}.demo-modal-frame-wrap{position:absolute;inset:0;background:var(--bg-dark);overflow:auto;min-height:200px;-webkit-overflow-scrolling:touch}.demo-modal-iframe{width:100%;height:100%;min-height:200px;border:none;display:block;vertical-align:top}.files-section{margin-top:2rem}.files-bundle-row{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.files-bundle-hint{font-size:.875rem;color:var(--text-muted)}.files-list{display:flex;flex-direction:column;gap:.5rem}.file-row{display:flex;align-items:center;gap:1rem;padding:.875rem 1.25rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);transition:border-color var(--hover-transition),background var(--hover-transition)}.file-row:hover{border-color:rgba(37,99,235,.15);background:var(--bg-elevated)}[data-theme=dark] .file-row:hover{border-color:rgba(59,130,246,.15)}.file-name{color:var(--accent);font-size:.8125rem;font-weight:500;min-width:2.5rem}.file-filename{flex:1 1;font-size:.9375rem}.admin-page{display:flex;flex-direction:row;align-items:flex-start;gap:0;max-width:1280px;margin:0 auto;min-height:72vh;padding:var(--space-5) var(--space-5) var(--space-12);box-sizing:border-box}.admin-sidebar{position:-webkit-sticky;position:sticky;top:calc(var(--nav-height, 56px) + var(--space-4));flex:0 0 220px;width:220px;max-height:calc(100vh - var(--nav-height, 56px) - var(--space-8));overflow-y:auto;padding:var(--space-4) var(--space-3);border-radius:var(--radius-xl);border:1px solid var(--border-subtle);background:var(--bg-card);box-shadow:var(--shadow-sm)}[data-theme=light] .admin-sidebar{background:#fff;border-color:rgba(0,0,0,.08)}[data-theme=dark] .admin-sidebar{border-color:rgba(255,255,255,.08)}.admin-sidebar-head{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-4);margin-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle)}.admin-sidebar-logo{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:var(--radius-lg);background:var(--accent-muted);color:var(--accent);flex-shrink:0}.admin-sidebar-logo svg{width:20px;height:20px}.admin-sidebar-brand{font-size:1rem;font-weight:700;letter-spacing:-.02em;color:var(--text);line-height:1.2}.admin-sidebar-tagline{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-top:.1rem}.admin-sidebar-nav{display:flex;flex-direction:column;gap:var(--space-5)}.admin-nav-group-label{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);padding:0 var(--space-2);margin-bottom:var(--space-2)}.admin-nav-group-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.admin-sidebar-link{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-muted);font-size:.875rem;font-weight:500;text-align:left;cursor:pointer;transition:background .15s ease,color .15s ease}.admin-sidebar-link:hover{background:var(--bg-elevated);color:var(--text)}.admin-sidebar-link--active,.admin-sidebar-link--active:hover{background:var(--accent-muted);color:var(--accent)}.admin-sidebar-link-icon{display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;flex-shrink:0;opacity:.9}.admin-sidebar-link-icon svg{width:18px;height:18px}.admin-sidebar-link--active .admin-sidebar-link-icon{opacity:1}.admin-sidebar-link-text{line-height:1.25}.admin-mobile-bar{display:none;width:100%;margin-bottom:var(--space-5);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--bg-card);box-shadow:var(--shadow-sm)}.admin-mobile-bar-label{display:block;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-2)}.admin-mobile-select{width:100%;margin:0;font-weight:500}.admin-workspace{padding-left:var(--space-8)}.admin-main,.admin-workspace{flex:1 1;min-width:0}.admin-main-header{margin-bottom:var(--space-6);display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.admin-main-header>div:first-child{min-width:0;flex:1 1}@media (max-width:900px){.admin-page{flex-direction:column;padding:var(--space-4) var(--space-4) var(--space-10)}.admin-sidebar{display:none}.admin-mobile-bar{display:block}.admin-workspace{padding-left:0;width:100%}}.admin-page{gap:var(--space-6);max-width:1440px;padding-top:var(--space-6)}.admin-sidebar{flex:0 0 250px;width:250px;padding:var(--space-4);border-radius:18px;box-shadow:0 10px 30px rgba(0,0,0,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}[data-theme=light] .admin-sidebar{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,252,.92));border-color:rgba(15,23,42,.09);box-shadow:0 12px 30px rgba(15,23,42,.08)}[data-theme=dark] .admin-sidebar{background:linear-gradient(180deg,rgba(22,24,29,.94),rgba(18,20,24,.9));border-color:rgba(148,163,184,.18)}.admin-sidebar-head{padding:var(--space-2) var(--space-2) var(--space-5);margin-bottom:var(--space-3)}.admin-sidebar-logo{width:2.65rem;height:2.65rem;border-radius:14px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 6px 18px rgba(37,99,235,.22)}.admin-sidebar-brand{font-size:1.05rem}.admin-nav-group-label{font-size:.62rem;letter-spacing:.13em;padding:0 var(--space-3)}.admin-sidebar-link{border:1px solid transparent;border-radius:12px;padding:.58rem .72rem;font-weight:600}.admin-sidebar-link:hover{border-color:var(--border-subtle);transform:translateX(2px)}.admin-sidebar-link--active{border-color:color-mix(in srgb,var(--accent) 25%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 16%,transparent)}.admin-workspace{padding-left:0;position:relative}.admin-workspace:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(900px 260px at 18% -5%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 70%),linear-gradient(transparent 95%,color-mix(in srgb,var(--border-subtle) 70%,transparent) 95%);background-size:auto,100% 24px;opacity:.22;border-radius:22px}.admin-main-header{margin-bottom:var(--space-8);padding:var(--space-6);border-radius:20px;border:1px solid var(--border-subtle);background:radial-gradient(1200px 180px at 0 -40%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 60%),var(--bg-card)}[data-theme=dark] .admin-main-header{background:radial-gradient(1200px 200px at 0 -40%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 62%),var(--bg-card)}.admin-page-title{font-size:clamp(1.45rem,2.4vw,2rem);letter-spacing:-.04em}.admin-page-subtitle{max-width:70ch;font-size:.96rem}.admin-card{border-radius:18px;box-shadow:0 12px 28px rgba(15,23,42,.08);position:relative;overflow:clip}[data-theme=dark] .admin-card{box-shadow:0 14px 34px rgba(0,0,0,.3)}.admin-card:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 48%,transparent),transparent);opacity:.8}.admin-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 26%,var(--border-subtle));box-shadow:0 16px 34px rgba(15,23,42,.14)}[data-theme=dark] .admin-card:hover{box-shadow:0 20px 42px rgba(0,0,0,.42)}.admin-main .btn{border-radius:10px;font-weight:600}.admin-main .btn-primary{box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 35%,transparent)}.admin-main .btn-primary:hover{transform:translateY(-1px)}.admin-main .btn{transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.admin-main .btn:hover{box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 18%,transparent)}.admin-main .input,.admin-main .textarea,.admin-main select.input{border-radius:12px}.admin-main .input:focus,.admin-main .textarea:focus,.admin-main select.input:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 24%,transparent)}.admin-challenges-table{border-radius:14px;overflow:hidden;border:1px solid var(--border-subtle)}.admin-challenges-table th{font-size:.74rem;letter-spacing:.08em;background:color-mix(in srgb,var(--accent) 8%,var(--bg-card))}.admin-challenges-table tbody tr{transition:background .2s ease}.admin-challenges-table tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--bg-elevated) 92%,transparent)}.admin-challenges-table tbody tr:hover td{background:color-mix(in srgb,var(--accent) 8%,var(--bg-card))}.admin-ch-publish-mode{border-radius:999px;padding:.5rem .85rem}@media (max-width:900px){.admin-main-header{border-radius:16px}.admin-card,.admin-main-header{padding:var(--space-5)}}.admin-ch-time-presets{display:flex;flex-wrap:wrap;gap:.45rem;margin:var(--space-2) 0 var(--space-3)}.admin-ch-time-pill{border:1px solid var(--border-subtle);background:var(--bg-card);color:var(--text);border-radius:999px;padding:.35rem .65rem;font-size:.8rem;font-weight:600;transition:all var(--transition)}.admin-ch-time-pill:hover{border-color:color-mix(in srgb,var(--accent) 34%,transparent);transform:translateY(-1px)}.admin-ch-time-pill.is-active{background:color-mix(in srgb,var(--accent) 16%,var(--bg-card));border-color:color-mix(in srgb,var(--accent) 55%,transparent);color:var(--accent)}.admin-ch-time-custom-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.admin-ch-time-select{max-width:220px}.admin-ch-time-current{font-size:.84rem;color:var(--text-muted)}.admin-page:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(600px 180px at 10% 0,color-mix(in srgb,var(--accent) 20%,transparent),transparent 70%),radial-gradient(500px 160px at 90% 8%,color-mix(in srgb,#22c55e 16%,transparent),transparent 72%);opacity:.55}.admin-page{position:relative}.admin-card,.admin-main-header,.admin-mobile-bar,.admin-sidebar{backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2)}[data-theme=light] .admin-card,[data-theme=light] .admin-main-header,[data-theme=light] .admin-mobile-bar{background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(248,250,252,.72));border-color:rgba(15,23,42,.12)}[data-theme=dark] .admin-card,[data-theme=dark] .admin-main-header,[data-theme=dark] .admin-mobile-bar{background:linear-gradient(180deg,rgba(30,34,40,.62),rgba(18,21,26,.58));border-color:rgba(148,163,184,.24)}.admin-sidebar-link{position:relative;overflow:hidden}.admin-sidebar-link:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 14%,transparent),transparent);transform:translateX(-110%);transition:transform .45s ease}.admin-sidebar-link:hover:after{transform:translateX(110%)}.admin-sidebar-link-icon{border-radius:8px;background:color-mix(in srgb,var(--accent) 12%,transparent)}.admin-sidebar-link--active .admin-sidebar-link-icon{background:color-mix(in srgb,var(--accent) 20%,transparent)}.admin-ch-pill{border:1px solid color-mix(in srgb,var(--border-subtle) 80%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.admin-desc-helpers{margin:var(--space-2) 0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-elevated);overflow:hidden}.admin-desc-helpers-summary{padding:var(--space-3) var(--space-4);font-size:.8125rem;font-weight:600;color:var(--text-muted);cursor:pointer;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.admin-desc-helpers-summary::-webkit-details-marker{display:none}.admin-desc-helpers-summary:before{content:"";display:inline-block;width:.35rem;height:.35rem;margin-right:var(--space-2);border-right:2px solid;border-bottom:2px solid;transform:rotate(-45deg);vertical-align:.15em;opacity:.6}.admin-desc-helpers[open] .admin-desc-helpers-summary:before{transform:rotate(45deg);vertical-align:.05em}.admin-desc-helpers .admin-desc-actions{padding:0 var(--space-4) var(--space-4);margin:0}.admin-desc-actions--wrap{display:flex;flex-wrap:wrap;gap:var(--space-2)}.admin-projects-search-wrap{max-width:360px;margin-top:var(--space-4)}.admin-page-title{font-size:clamp(1.35rem,2.5vw,1.6rem);font-weight:700;margin:0 0 var(--space-1);color:var(--text);letter-spacing:-.03em;line-height:1.25}.admin-page-subtitle{font-size:.9375rem;color:var(--text-muted);margin:0;line-height:1.6}.admin-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;padding:var(--space-8);margin-bottom:var(--space-6);box-shadow:none;transition:border-color .2s ease,box-shadow .2s ease}[data-theme=light] .admin-card{background:#ffffff;border-color:rgba(0,0,0,.08)}[data-theme=light] .admin-card:hover{border-color:rgba(0,0,0,.12)}[data-theme=dark] .admin-card{border-color:rgba(255,255,255,.08)}.admin-upload{margin-bottom:0}.admin-upload .admin-form{max-width:480px}.admin-form label{display:block;margin-bottom:var(--space-5)}.admin-form .label-text{display:block;font-size:.8125rem;font-weight:600;color:var(--text);margin-bottom:var(--space-2)}.admin-form .input,.admin-form .textarea{border-radius:10px;border:1px solid var(--border-subtle);transition:border-color .15s ease,box-shadow .15s ease}[data-theme=light] .admin-form .input,[data-theme=light] .admin-form .textarea{border-color:rgba(0,0,0,.12)}.admin-form .input:focus,.admin-form .textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted);outline:none}.admin-form .btn-primary{margin-top:var(--space-4);padding:var(--space-3) var(--space-6);font-weight:600;font-size:.9375rem;border-radius:10px}.input-file{width:100%;padding:var(--space-4);color:var(--text-muted);font-size:.875rem;border:2px dashed var(--border-subtle);border-radius:10px;background:var(--bg-dark);cursor:pointer;transition:all .15s ease}.input-file:hover{border-color:var(--accent);background:var(--accent-muted);color:var(--text)}[data-theme=light] .input-file{background:#f8f9fc;border-color:rgba(0,0,0,.1)}.admin-files-hint{margin:var(--space-2) 0 0;line-height:1.5;max-width:480px;font-size:.8125rem}.admin-files-hint code{font-family:var(--font-mono);font-size:.75rem;padding:.15em .4em;background:var(--bg-dark);border-radius:4px;color:var(--accent)}.admin-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-16)}.admin-loading-spinner{width:28px;height:28px;border:2px solid var(--border-subtle);border-top-color:var(--accent);border-radius:50%;animation:admin-spin .6s linear infinite}@keyframes admin-spin{to{transform:rotate(1turn)}}.admin-empty-state{text-align:center;padding:var(--space-12) var(--space-6)}.admin-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:var(--space-5);color:var(--text-muted);background:var(--bg-dark);border-radius:16px;opacity:.7}[data-theme=light] .admin-empty-icon{background:#f1f3f5}.admin-empty-title{font-size:1.125rem;font-weight:600;color:var(--text);margin:0 0 var(--space-2)}.admin-empty-text{font-size:.9375rem;color:var(--text-muted);margin:0;line-height:1.6}.admin-list{margin-top:0}.admin-project-list{display:flex;flex-direction:column;gap:var(--space-3)}.admin-project-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:12px;padding:var(--space-5);transition:border-color .15s ease,background .15s ease}[data-theme=light] .admin-project-card{background:#ffffff;border-color:rgba(0,0,0,.06)}.admin-project-card:hover{border-color:var(--border-subtle)}[data-theme=light] .admin-project-card:hover{border-color:rgba(0,0,0,.1)}.admin-project-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap}.admin-project-head a{font-weight:600;font-size:1rem;color:var(--accent);transition:color .15s ease}.admin-project-head a:hover{color:var(--accent-hover)}.admin-project-actions{display:flex;gap:var(--space-1)}.admin-project-actions .btn{border-radius:8px;font-size:.8125rem;padding:var(--space-2) var(--space-3)}.admin-project-desc{margin:var(--space-4) 0 0;font-size:.9375rem;color:var(--text-muted);line-height:1.55;padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.admin-desc-textarea{font-family:var(--font-mono,ui-monospace,monospace);font-size:.875rem;line-height:1.5;white-space:pre-wrap}.admin-desc-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.admin-desc-format-details{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-muted);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.admin-desc-format-details summary{cursor:pointer;font-weight:600}.admin-desc-keys-list{margin:var(--space-2) 0 0;padding-left:1.25rem}.admin-desc-keys-list li{margin-bottom:.35rem}.admin-edit-inline{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--border-subtle)}.admin-edit-inline .textarea{margin-bottom:.5rem}.admin-edit-field,.admin-edit-files{display:block;margin-bottom:var(--space-4)}.admin-edit-field .label-text,.admin-edit-files .label-text{display:block;margin-bottom:.25rem;font-size:.8125rem;font-weight:600}.admin-edit-thumbnail{display:block;margin-bottom:var(--space-4)}.admin-edit-thumbnail .label-text{display:block;margin-bottom:.25rem}.admin-edit-actions{display:flex;gap:var(--space-3);margin-top:var(--space-4)}.admin-meta-display{font-size:.8125rem;margin-bottom:var(--space-2)}.admin-meta-display--badges{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.admin-meta-display--badges .admin-meta-languages{color:var(--text-muted)}.admin-comments-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.admin-comment-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:12px;padding:var(--space-5);transition:border-color .15s ease}[data-theme=light] .admin-comment-card{background:#ffffff;border-color:rgba(0,0,0,.06)}.admin-comment-card:hover{border-color:var(--border-subtle)}.admin-comment-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-3)}.admin-comment-author{font-weight:600;font-size:.9375rem;color:var(--text)}.admin-comment-date{font-size:.75rem;color:var(--text-muted);padding:.2em .5em;background:var(--bg-dark);border-radius:6px}.admin-comment-project{font-size:.8125rem;color:var(--accent);font-weight:500}.admin-comment-project:hover{text-decoration:underline}.admin-comment-body{margin:0 0 var(--space-4);font-size:.9375rem;line-height:1.55;color:var(--text);white-space:pre-wrap;word-break:break-word}.admin-comment-actions{display:flex;gap:.5rem}.btn-danger{color:var(--error);font-size:.8125rem;border-radius:8px;padding:var(--space-2) var(--space-3)}.btn-danger:hover{background:rgba(239,68,68,.1);color:var(--error)}.admin-activity-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.admin-activity-header .admin-page-subtitle{margin-bottom:0}.admin-activity-error{padding:var(--space-2) 0}.admin-activity-error-hint{margin-top:var(--space-3);font-size:.8125rem;max-width:480px}.admin-activity-error-hint code{font-family:var(--font-mono);font-size:.75rem;padding:.15em .4em;background:var(--bg-dark);border-radius:4px;color:var(--accent)}.admin-activity-section{overflow:hidden}.admin-activity-table-wrap{overflow-x:auto;margin:calc(-1 * var(--space-4));padding:var(--space-4);border-radius:12px;background:var(--bg-dark)}[data-theme=light] .admin-activity-table-wrap{background:#f8f9fc}.admin-activity-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-activity-table td,.admin-activity-table th{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--border-subtle)}.admin-activity-table th{font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);white-space:nowrap}.admin-activity-table tbody tr:last-child td{border-bottom:none}.admin-activity-table tbody tr:hover{background:rgba(0,0,0,.02)}[data-theme=dark] .admin-activity-table tbody tr:hover{background:rgba(255,255,255,.03)}.admin-activity-time{white-space:nowrap;color:var(--text-muted);font-size:.8125rem}.admin-activity-uuid{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);word-break:break-all}.admin-activity-badge{display:inline-block;padding:.25em .6em;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:capitalize}.admin-activity-badge--login{background:var(--accent-muted);color:var(--accent)}.admin-activity-badge--download{background:rgba(34,197,94,.12);color:var(--success)}.admin-activity-badge--view_demo{background:rgba(59,130,246,.12);color:var(--accent)}.admin-activity-badge--comment{background:rgba(168,85,247,.12);color:#a855f7}.admin-activity-badge--search{background:rgba(245,158,11,.12);color:var(--warning)}.admin-activity-badge--quiz_taken{background:rgba(34,197,94,.12);color:var(--success)}.admin-activity-badge--level_chosen{background:rgba(59,130,246,.15);color:var(--accent)}.admin-activity-details{color:var(--text-muted);font-size:.875rem;max-width:280px}.admin-activity-tabs{display:flex;gap:var(--space-1);margin-bottom:var(--space-5)}.admin-activity-tab{padding:var(--space-2) var(--space-4);border:none;border-radius:8px;background:transparent;color:var(--text-muted);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.admin-activity-tab:hover{color:var(--text)}.admin-activity-tab--active{background:var(--accent-muted);color:var(--accent)}.admin-activity-charts{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:var(--space-5);gap:var(--space-5)}.admin-chart-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:12px;padding:var(--space-5)}[data-theme=light] .admin-chart-card{background:#f8f9fc;border-color:rgba(0,0,0,.06)}.admin-chart-title{font-size:.9375rem;font-weight:600;margin:0 0 var(--space-1);color:var(--text)}.admin-chart-subtitle{font-size:.8125rem;color:var(--text-muted);margin:0 0 var(--space-4)}.admin-chart-empty{margin:0;font-size:.875rem}.admin-chart-bars{display:flex;flex-direction:column;gap:var(--space-3)}.admin-chart-row{display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:var(--space-3);gap:var(--space-3);min-height:2rem}.admin-chart-label{font-size:.8125rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-chart-bar-wrap{display:flex;align-items:center;gap:var(--space-2);min-width:72px;max-width:160px}.admin-chart-bar{height:8px;border-radius:4px;min-width:4px;transition:width .25s ease}.admin-chart-bar--search{background:var(--warning);opacity:.9}.admin-chart-bar--view{background:var(--accent);opacity:.9}.admin-chart-bar--user{background:var(--success);opacity:.9}.admin-chart-bar--download{background:#8b5cf6;opacity:.9}.admin-chart-bar--level{background:var(--accent);opacity:.85}.admin-chart-learning-stats{display:flex;flex-direction:column;gap:var(--space-4)}.admin-chart-stat-row{display:flex;justify-content:space-between;align-items:center}.admin-chart-level-bars{margin-top:var(--space-2)}.admin-chart-value{font-size:.8125rem;font-weight:600;color:var(--text-muted);min-width:1.5rem;text-align:right}.admin-activity-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--border-subtle)}.admin-activity-pagination-info{font-size:.875rem}.admin-activity-pagination-buttons{display:flex;align-items:center;gap:var(--space-2)}.admin-activity-pagination-page{font-size:.8125rem;min-width:4rem;text-align:center}.admin-activity-pagination-buttons .btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width:768px){.admin-activity-table-wrap{overflow-x:visible;margin:0;padding:0}.admin-activity-table{display:block}.admin-activity-table thead{display:none}.admin-activity-table tbody{display:block}.admin-activity-table tbody tr{display:block;padding:var(--space-4);margin-bottom:var(--space-3);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--card-radius);box-shadow:var(--shadow-card)}.admin-activity-table tbody tr:last-child{margin-bottom:0}.admin-activity-table td{display:block;padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle);text-align:left}.admin-activity-table td:first-child{padding-top:0}.admin-activity-table td:last-child{border-bottom:none;padding-bottom:0}.admin-activity-table td:before{content:attr(data-label);display:block;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:var(--space-1)}.admin-activity-time{white-space:normal}.admin-activity-user-id{max-width:none}.admin-activity-details{max-width:none;word-break:break-word}.admin-activity-pagination{flex-direction:column;align-items:stretch;gap:var(--space-3)}.admin-activity-pagination-buttons{flex-wrap:wrap;justify-content:center}}.nav{background:var(--bg-card);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:100;padding-top:env(safe-area-inset-top,0);opacity:1;transition:opacity .22s ease}[data-theme=dark] .nav{background:rgba(15,17,21,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom-color:var(--border-subtle)}.nav.nav--scrolled{opacity:.82}[data-theme=dark] .ai-overview-content,[data-theme=dark] .ai-overview-content p,[data-theme=dark] .ai-overview-intro,[data-theme=dark] .auth-required-text,[data-theme=dark] .file-filename,[data-theme=dark] .files-bundle-hint,[data-theme=dark] .project-description,[data-theme=dark] .project-description p,[data-theme=dark] .project-detail,[data-theme=dark] .project-detail .page-title,[data-theme=dark] .project-thumbnail-files,[data-theme=dark] .project-thumbnail-label,[data-theme=dark] .sign-in-modal-message{color:var(--text)}[data-theme=dark] .project-card-desc,[data-theme=dark] .project-detail .back-link,[data-theme=dark] .project-detail .section-title,[data-theme=dark] .project-detail .text-muted,[data-theme=dark] .project-thumbnail-placeholder,[data-theme=dark] .thumb-dots{color:var(--text-muted)}[data-theme=dark] .project-card{color:var(--text);background:var(--bg-card);border-color:var(--border-subtle)}[data-theme=dark] .project-card-title{color:var(--text)}[data-theme=dark] .project-card-cta{color:var(--accent)}[data-theme=dark] .file-row,[data-theme=dark] .files-bundle-row{background:var(--bg-card);border-color:var(--border-subtle);color:var(--text)}[data-theme=dark] .auth-required-notice{background:var(--bg-card);border-color:var(--border-subtle)}[data-theme=dark] .empty-state,[data-theme=dark] .projects-header .page-title,[data-theme=dark] .projects-intro{color:var(--text)}[data-theme=dark] .projects-intro{color:var(--text-muted)}.nav-inner{max-width:var(--content-max);margin:0 auto;padding:var(--space-4) var(--space-8);padding-left:calc(var(--space-8) + env(safe-area-inset-left, 0));padding-right:calc(var(--space-8) + env(safe-area-inset-right, 0));display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:48px}.nav-brand{font-family:var(--font-mono);font-weight:700;font-size:1.375rem;letter-spacing:-.03em;transition:color var(--transition);flex-shrink:0;white-space:nowrap;display:inline-flex;align-items:center}.nav-brand,.nav-brand:hover{color:var(--text);text-decoration:none}.nav-brand-text{display:inline-block;vertical-align:middle}.nav-brand-bracket{color:var(--accent)}.nav-links{display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap;justify-content:flex-end;min-width:0}.nav-links a{color:var(--text-muted);font-weight:500;font-size:.9375rem;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);transition:color var(--transition),background var(--transition);white-space:nowrap}.nav-links a:hover{color:var(--accent);background:var(--accent-muted);text-decoration:none}.nav-links .btn{white-space:nowrap}.nav-user{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.nav-user-name{font-family:var(--font-mono);font-size:.875rem;color:var(--text-muted);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-user-role{color:var(--text-muted);font-size:.75rem;font-weight:500}.nav-toggle{display:none;flex-shrink:0;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:none;background:transparent;color:var(--text-muted);border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition),background var(--transition),transform .15s ease}.nav-toggle:hover{background:var(--accent-muted);color:var(--text)}.nav-toggle:active{transform:scale(.96)}.nav-toggle:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg-card),0 0 0 4px var(--accent)}.nav-toggle-bar{display:block;width:22px;height:2.5px;background:currentColor;border-radius:2px;transition:transform .25s ease,opacity .2s ease}.nav--open .nav-toggle{color:var(--text)}.nav--open .nav-toggle-bar:first-child{transform:translateY(8.5px) rotate(45deg)}.nav--open .nav-toggle-bar:nth-child(2){opacity:0}.nav--open .nav-toggle-bar:nth-child(3){transform:translateY(-8.5px) rotate(-45deg)}.loading-root{padding:var(--space-8) 0}.loading-bar{height:32px;width:200px;margin-bottom:var(--space-4);border-radius:var(--radius-sm);background:var(--border-subtle);position:relative;overflow:hidden}.loading-bar:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0,var(--border) 40%,transparent 60%);transform:translateX(-100%);animation:loading-shimmer-slide 1.6s ease-in-out infinite;will-change:transform}.loading-bar--sm{height:18px;width:70%;margin-bottom:var(--space-6)}.loading-grid{display:grid;grid-gap:var(--space-6);gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.loading-card{height:200px;border-radius:var(--radius-lg);background:var(--border-subtle);position:relative;overflow:hidden}.loading-card:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0,var(--border) 40%,transparent 60%);transform:translateX(-100%);animation:loading-shimmer-slide 1.6s ease-in-out infinite;will-change:transform}.loading-card:first-child:before{animation-delay:0s}.loading-card:nth-child(2):before{animation-delay:.2s}.loading-card:nth-child(3):before{animation-delay:.4s}@keyframes loading-shimmer-slide{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.skip-link{position:absolute;top:-100px;left:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--accent);color:white;font-weight:600;border-radius:var(--radius-sm);z-index:10000;transition:top .2s ease}.skip-link:focus{top:var(--space-4);outline:none;box-shadow:var(--focus-ring)}.layout-wrap{display:flex;flex-direction:column;min-height:100vh;position:relative}.layout-main{flex:1 1;margin:0 auto;padding:var(--page-pad-y) var(--page-pad-x);width:100%;max-width:min(var(--content-max),100%);padding-left:calc(var(--page-pad-x) + env(safe-area-inset-left, 0));padding-right:calc(var(--page-pad-x) + env(safe-area-inset-right, 0));box-sizing:border-box}@media (min-width:900px) and (max-width:1199px){.layout-main:not(:has(.landing)){padding-top:clamp(2rem,4vw,2.75rem);padding-bottom:clamp(2.25rem,4vw,3.5rem)}}.layout-main:has(.landing){max-width:100%;padding:0}.layout-main:has(.auth-page){padding-top:var(--space-8);padding-bottom:var(--space-8)}.site-footer{margin-top:auto;background:var(--bg-card);border-top:1px solid var(--border-subtle);padding:var(--space-12) var(--space-5) var(--space-6);padding-left:calc(var(--space-5) + env(safe-area-inset-left, 0));padding-right:calc(var(--space-5) + env(safe-area-inset-right, 0))}[data-theme=dark] .site-footer{background:var(--bg-dark);border-top-color:rgba(255,255,255,.06)}.footer-inner{max-width:var(--content-max);margin:0 auto}.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;grid-gap:var(--space-10);gap:var(--space-10);margin-bottom:var(--space-10)}.footer-brand-col{display:flex;flex-direction:column;align-items:flex-start}.footer-brand{display:inline-flex;align-items:center;gap:.15em;font-family:var(--font-mono);font-weight:700;font-size:1.0625rem;letter-spacing:-.02em;margin-bottom:var(--space-3);transition:color .2s ease}.footer-brand,.footer-brand:hover{color:var(--text);text-decoration:none}.footer-brand-bracket{color:var(--accent);font-weight:700}.footer-brand:hover .footer-brand-bracket{color:var(--accent-hover)}.footer-brand-text{letter-spacing:-.01em}.footer-tagline{font-size:.875rem;color:var(--text-muted);line-height:1.65;margin:0 0 var(--space-5);max-width:320px}.footer-social{display:flex;gap:var(--space-2)}.footer-social-link{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;color:var(--text-muted);border-radius:var(--radius-md);transition:color .2s ease,background .2s ease}.footer-social-link:hover{color:var(--accent);background:var(--accent-muted)}.footer-social-link:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg-card),0 0 0 4px var(--accent)}.footer-col{min-width:0}.footer-col-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text);margin:0 0 var(--space-4)}.footer-col-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.footer-col-list a{color:var(--text-muted);font-size:.875rem;font-weight:400;text-decoration:none;transition:color .15s ease;line-height:1.5}.footer-col-list a:hover{color:var(--accent)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-6);border-top:1px solid var(--border-subtle);gap:var(--space-4);flex-wrap:wrap}.footer-copyright{font-size:.8125rem;color:var(--text-muted);margin:0}.footer-legal{display:flex;gap:var(--space-5)}.footer-legal a{font-size:.8125rem;color:var(--text-muted);text-decoration:none;transition:color .15s ease}.footer-legal a:hover{color:var(--accent)}@media (max-width:768px){.footer-top{grid-template-columns:1fr 1fr;gap:var(--space-8)}.footer-brand-col{grid-column:1/-1}}@media (max-width:480px){.footer-top{grid-template-columns:1fr;gap:var(--space-6);text-align:center}.footer-brand-col{align-items:center}.footer-tagline{max-width:100%}.footer-social{justify-content:center}.footer-col-title{text-align:center}.footer-col-list{align-items:center}.footer-bottom{flex-direction:column;text-align:center;gap:var(--space-3)}.footer-legal{justify-content:center}}.landing{padding-bottom:0}.hero{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(var(--space-8),4vw,var(--space-12));padding:clamp(2.5rem,7vw,5rem) max(var(--space-5),env(safe-area-inset-left,0px)) clamp(2rem,5vw,3.5rem) max(var(--space-5),env(safe-area-inset-right,0px));max-width:var(--content-max);margin:0 auto;overflow:hidden;box-sizing:border-box}.hero-content{flex:1 1 320px;text-align:left;min-width:0}.hero-cta{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:flex-start}.hero-cta-btn{display:inline-flex;align-items:center;gap:var(--space-2)}.hero-code-side{flex:0 1 360px;min-width:0;display:flex;justify-content:center;align-items:center}.hero-code-side .code-typing{max-width:100%;margin:0;width:100%}.hero-code-side .code-typing-content{font-size:.8rem;min-height:5rem}@media (max-width:768px){.hero{flex-direction:column;text-align:center;padding:var(--space-10) var(--space-5) var(--space-10);gap:var(--space-6)}.hero-content{flex:0 0 auto;text-align:center;width:100%;align-items:center}.hero-platform-ribbon{margin-left:auto;margin-right:auto;justify-content:center}.hero-platform-ribbon__tagline,.hero-subtitle{text-align:center}.hero-subtitle{max-width:100%;margin-left:auto;margin-right:auto}.hero-cta{justify-content:center}.hero-code-side{width:100%;max-width:340px;flex:0 0 auto}.hero-bg-glow{display:none}}.hero-bg-glow{position:absolute;inset:0;pointer-events:none;overflow:hidden}.hero-bg-glow:before{top:-30%;left:5%;width:400px;height:400px;background:radial-gradient(circle,var(--accent-muted) 0,transparent 70%);opacity:.4}.hero-bg-glow:after,.hero-bg-glow:before{content:"";position:absolute;filter:blur(60px)}.hero-bg-glow:after{bottom:-20%;right:10%;width:300px;height:300px;background:radial-gradient(circle,rgba(13,148,136,.1) 0,transparent 70%);opacity:.35}@keyframes hero-platform-shine{0%,to{background-position:130% 50%}50%{background-position:-130% 50%}}.hero-platform-ribbon{position:relative;display:inline-flex;align-items:center;gap:.55rem;margin:0 0 var(--space-4);padding:.3rem .65rem .3rem .35rem;border-radius:var(--radius-lg);max-width:100%;box-sizing:border-box;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 26%,var(--border-subtle));background:linear-gradient(125deg,color-mix(in srgb,var(--accent) 11%,var(--bg-card)) 0,var(--bg-elevated) 50%,color-mix(in srgb,var(--success) 7%,var(--bg-card)) 100%);box-shadow:var(--shadow-sm),0 0 0 1px color-mix(in srgb,var(--accent) 5%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero-platform-ribbon__shine{position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 0,transparent 38%,color-mix(in srgb,var(--text) 8%,transparent) 50%,transparent 62%,transparent 100%);background-size:220% 100%;animation:hero-platform-shine 9s ease-in-out infinite;opacity:.85}@media (prefers-reduced-motion:reduce){.hero-platform-ribbon__shine{animation:none;opacity:0}}.hero-platform-ribbon__art{position:relative;z-index:1;flex-shrink:0;width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center}.hero-platform-graphic{width:100%;height:100%;display:block}.hero-platform-graphic__glow{fill:color-mix(in srgb,var(--accent) 22%,transparent)}.hero-platform-graphic__device{fill:color-mix(in srgb,var(--bg-card) 40%,var(--bg-elevated));stroke:color-mix(in srgb,var(--accent) 38%,var(--border-subtle));stroke-width:1.1}.hero-platform-graphic__device-bar{stroke:color-mix(in srgb,var(--border-subtle) 75%,var(--accent) 25%);stroke-width:1}.hero-platform-graphic__dot{fill:color-mix(in srgb,var(--accent) 70%,var(--text-muted))}.hero-platform-graphic__code{stroke:var(--accent)}.hero-platform-graphic__lines{stroke:var(--text-muted);stroke-opacity:.5}.hero-platform-ribbon__tagline{position:relative;z-index:1;margin:0;min-width:0;line-height:1.2;font-size:clamp(.8125rem,2vw,.9375rem);font-weight:600;letter-spacing:-.02em;text-align:left;background:linear-gradient(135deg,#1e40af,#0d9488);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=dark] .hero-platform-ribbon__tagline{background:linear-gradient(135deg,#93c5fd,#5eead4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-title{font-family:var(--font-sans);font-size:clamp(2.25rem,6vw,3.5rem);font-weight:700;margin:0 0 var(--space-5);letter-spacing:-.035em;line-height:1.12}.hero-title-bracket{color:var(--accent)}.hero-title-accent{background:linear-gradient(135deg,#1e40af,#0d9488);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=dark] .hero-title-accent{background:linear-gradient(135deg,#60a5fa,#2dd4bf);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.0625rem;color:var(--text-muted);line-height:1.75;margin:0 0 var(--space-8);max-width:560px;text-align:left}.hero-subtitle-strong{color:var(--accent);font-weight:700}@keyframes landing-challenge-card-live-border{0%,to{border-color:color-mix(in srgb,var(--error) 20%,var(--border-subtle))}50%{border-color:color-mix(in srgb,var(--error) 36%,var(--border-subtle))}}@keyframes landing-challenge-cta-live-glow{0%,to{box-shadow:var(--shadow-sm),0 0 0 0 color-mix(in srgb,var(--error) 0%,transparent)}50%{box-shadow:var(--shadow-sm),0 0 0 3px color-mix(in srgb,var(--error) 14%,transparent)}}@keyframes landing-challenge-scheduled-shimmer{0%,to{border-color:color-mix(in srgb,var(--accent) 26%,var(--border-subtle))}50%{border-color:color-mix(in srgb,var(--accent) 42%,var(--border-subtle))}}@keyframes landing-challenge-dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.65;transform:scale(.92)}}@keyframes landing-challenge-dot-soft{0%,to{opacity:1}50%{opacity:.5}}.landing-challenge-card{position:relative}.landing-challenge-chip{position:absolute;top:var(--space-4);right:var(--space-4);z-index:2;display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .6rem;border-radius:999px;font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;max-width:calc(100% - var(--space-8));flex-wrap:wrap;line-height:1.2}.landing-challenge-chip:not(.landing-challenge-chip--inline){text-transform:none;letter-spacing:.01em;font-size:.75rem;font-weight:600;padding:.4rem .75rem;border:1px solid color-mix(in srgb,currentColor 22%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-sm)}.landing-challenge-chip--idle:not(.landing-challenge-chip--inline){background:color-mix(in srgb,var(--accent) 10%,var(--bg-elevated));color:var(--text-muted);border-color:color-mix(in srgb,var(--accent) 18%,var(--border-subtle))}.landing-challenge-chip--inline{position:static;z-index:auto;text-transform:none;letter-spacing:.02em;font-size:.6875rem;font-weight:700;padding:.2rem .5rem;max-width:none;flex-shrink:0}.landing-challenge-chip--inline.landing-challenge-chip--loading{min-width:1.75rem;justify-content:center;padding-left:.45rem;padding-right:.45rem}.landing-challenge-chip-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:currentColor}.landing-challenge-chip--loading{background:var(--accent-muted);color:var(--accent)}.landing-challenge-chip--loading .landing-challenge-chip-dot{animation:landing-challenge-dot-soft 1.2s ease-in-out infinite}.landing-challenge-chip--live{background:color-mix(in srgb,var(--error) 14%,transparent);color:var(--error)}.landing-challenge-chip--live .landing-challenge-chip-dot{animation:landing-challenge-dot-pulse 1.8s ease-in-out infinite}.landing-challenge-chip--scheduled{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.landing-challenge-chip--scheduled .landing-challenge-chip-dot{animation:landing-challenge-dot-soft 2.4s ease-in-out infinite}.landing-challenge-chip--idle.landing-challenge-chip--inline{background:color-mix(in srgb,var(--text-muted) 12%,transparent);color:var(--text-muted)}.feature-card.landing-challenge-card--idle,.feature-card.landing-challenge-card--live,.feature-card.landing-challenge-card--loading,.feature-card.landing-challenge-card--scheduled{border-color:var(--border-subtle);border-style:solid;animation:none}.landing-challenge-cta.landing-challenge-cta--live.btn-ghost{border-color:color-mix(in srgb,var(--error) 35%,var(--border));color:var(--text);animation:landing-challenge-cta-live-glow 2.8s ease-in-out infinite}.landing-challenge-cta.landing-challenge-cta--live.btn-ghost:hover:not(:disabled){border-color:color-mix(in srgb,var(--error) 45%,var(--border));background:color-mix(in srgb,var(--error) 8%,var(--bg-card));color:var(--text)}.landing-challenge-cta.landing-challenge-cta--scheduled.btn-ghost{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));animation:landing-challenge-scheduled-shimmer 3.5s ease-in-out infinite}.landing-challenge-cta.landing-challenge-cta--scheduled.btn-ghost:hover:not(:disabled){color:var(--accent)}.landing-challenge-cta.landing-challenge-cta--idle.btn-ghost{opacity:.92}.landing-challenge-cta.landing-challenge-cta--loading.btn-ghost{border-color:var(--border-subtle)}@media (prefers-reduced-motion:reduce){.landing-challenge-chip--live .landing-challenge-chip-dot,.landing-challenge-chip--loading .landing-challenge-chip-dot,.landing-challenge-chip--scheduled .landing-challenge-chip-dot,.landing-challenge-cta.landing-challenge-cta--live.btn-ghost,.landing-challenge-cta.landing-challenge-cta--scheduled.btn-ghost{animation:none}}.section-subheading{color:var(--text-muted);font-size:1rem;line-height:1.6;margin:calc(-1 * var(--space-4)) 0 0 0;max-width:520px}.code-typing{max-width:400px;margin:0 auto 2rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);overflow:hidden}[data-theme=light] .code-typing{border-color:rgba(0,0,0,.08)}.code-typing-header{display:flex;align-items:center;gap:8px;padding:var(--space-2) var(--space-4);background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle)}.code-typing-dot{width:10px;height:10px;border-radius:50%}.code-typing-dot:first-child{background:#ff5f57}.code-typing-dot:nth-child(2){background:#febc2e}.code-typing-dot:nth-child(3){background:#28c840}.code-typing-label{margin-left:var(--space-3);font-family:var(--font-mono);font-size:.6875rem;color:var(--text-muted)}.code-typing-body{display:flex;min-height:5.5rem;min-width:0;overflow:hidden}.code-typing-gutter{flex-shrink:0;width:2.25rem;padding:var(--space-3) var(--space-2);color:var(--text-muted);text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-right:1px solid var(--border-subtle);background:rgba(0,0,0,.2)}.code-typing-content,.code-typing-gutter{font-family:var(--font-mono);font-size:.8125rem;line-height:1.6}.code-typing-content{margin:0;padding:var(--space-3) var(--space-4);color:var(--text);flex:1 1;min-width:0;overflow:hidden;white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word}.code-typing-content code{color:var(--text)}.code-typing-cursor{display:inline-block;color:var(--accent);font-weight:700;animation:code-cursor-blink .9s step-end infinite;margin-left:2px}@keyframes code-cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}.feature-card-goals{display:flex;flex-direction:column;border-color:rgba(37,99,235,.12)}[data-theme=dark] .feature-card-goals{border-color:rgba(59,130,246,.18)}.feature-card-goals:hover{border-color:rgba(37,99,235,.25)}[data-theme=dark] .feature-card-goals:hover{border-color:rgba(59,130,246,.35)}.feature-card-goals-inner{display:flex;flex-direction:column;flex:1 1;min-height:0}.feature-card-goals-pills{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-4)}.feature-card-goal-pill{display:inline-block;padding:var(--space-1) var(--space-3);background:var(--accent-muted);color:var(--accent);border-radius:999px;font-size:.8125rem;font-weight:500;line-height:1.3}.cms-toolbar{justify-content:space-between;margin-bottom:var(--space-4)}.cms-toolbar,.cms-toolbar-left{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.cms-lang-tabs{display:flex;gap:2px;background:var(--bg-elevated);padding:3px;border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.cms-lang-tab{padding:5px 12px;font-size:.8125rem;font-weight:600;border:none;background:none;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,color .15s}.cms-lang-tab:hover{color:var(--text)}.cms-lang-tab--active{background:var(--bg-card);color:var(--text);box-shadow:0 1px 2px rgba(0,0,0,.06)}.cms-search{padding:6px 12px;font-size:.8125rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:var(--text);width:200px}.cms-lesson-list{display:flex;flex-direction:column;gap:1px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.cms-lesson-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-card);transition:background .1s}.cms-lesson-row:hover{background:var(--bg-elevated)}.cms-lesson-order{font-size:.75rem;font-weight:700;color:var(--text-muted);width:28px;text-align:center;flex-shrink:0}.cms-lesson-info{flex:1 1;min-width:0}.cms-lesson-title{display:block;font-weight:600;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cms-lesson-meta{display:flex;align-items:center;gap:var(--space-2);margin-top:2px}.cms-lang-badge{font-size:.625rem;font-weight:700;padding:1px 6px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}.cms-lang-badge--html{background:rgba(227,76,38,.1);color:#e34c26}.cms-lang-badge--css{background:rgba(38,77,228,.1);color:#264de4}.cms-lang-badge--javascript{background:rgba(240,219,79,.15);color:#b8a000}.cms-lesson-slug{font-family:var(--font-mono);font-size:.6875rem;color:var(--text-muted)}.cms-lesson-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.cms-toggle-btn{font-size:.6875rem;font-weight:600;padding:3px 10px;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--text-muted);cursor:pointer;transition:all .15s}.cms-toggle-btn--on{background:rgba(34,197,94,.1);color:#22c55e;border-color:rgba(34,197,94,.3)}.cms-delete-btn{color:#ef4444!important}.cms-delete-btn:hover{background:rgba(239,68,68,.1)!important}.cms-lang-manager{margin-bottom:var(--space-4)}.cms-lang-manager-title{font-size:1rem;font-weight:700;margin:0 0 var(--space-3)}.cms-lang-list{display:flex;flex-direction:column;gap:1px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:var(--space-4)}.cms-lang-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-card)}.cms-lang-row:hover{background:var(--bg-elevated)}.cms-lang-swatch{width:16px;height:16px;border-radius:4px;flex-shrink:0}.cms-lang-row-info{flex:1 1;display:flex;flex-direction:column;min-width:0}.cms-lang-row-info strong{font-size:.875rem}.cms-lang-form{padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-elevated)}.cms-lang-form-title{font-size:.875rem;font-weight:700;margin:0 0 var(--space-3)}.cms-lang-form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-3);gap:var(--space-3)}@media (max-width:640px){.cms-lang-form-grid{grid-template-columns:1fr}}.cms-editor{gap:0}.cms-editor,.cms-editor-meta{display:flex;flex-direction:column}.cms-editor-meta{gap:var(--space-3);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-4)}.cms-editor-row{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:flex-end}.cms-label{display:flex;flex-direction:column;gap:4px;font-size:.8125rem;font-weight:600;color:var(--text-muted)}.cms-label--toggle{flex-direction:row;align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cms-label--toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.cms-input{padding:7px 12px;font-size:.875rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:var(--text);width:100%}.cms-input--sm{width:80px}.cms-select{padding:7px 12px;font-size:.875rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:var(--text)}.cms-slug-row{display:flex;gap:var(--space-2);align-items:center}.cms-slug-row .cms-input{flex:1 1}.cms-tags{display:flex;flex-wrap:wrap;gap:4px}.cms-tag-btn{font-size:.6875rem;font-weight:600;padding:3px 10px;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--text-muted);cursor:pointer;transition:all .15s}.cms-tag-btn--active,.cms-tag-btn:hover{border-color:var(--accent);color:var(--accent)}.cms-tag-btn--active{background:var(--accent-muted)}.cms-editor-tabs{display:flex;align-items:center;gap:2px;margin-bottom:var(--space-3)}.cms-editor-tab{padding:6px 16px;font-size:.8125rem;font-weight:600;border:1px solid var(--border);background:var(--bg);color:var(--text-muted);cursor:pointer;transition:all .15s}.cms-editor-tab:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.cms-editor-tab:nth-child(2){border-radius:0 var(--radius-md) var(--radius-md) 0;border-left:none}.cms-editor-tab--active{background:var(--bg-card);color:var(--text);border-color:var(--accent)}.cms-editor-stats{margin-left:auto;font-size:.75rem;color:var(--text-muted)}.cms-editor-body{min-height:500px}.cms-editor-textarea{width:100%;min-height:500px;padding:var(--space-4);font-family:var(--font-mono,ui-monospace,monospace);font-size:.875rem;line-height:1.6;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg);color:var(--text);resize:vertical;-moz-tab-size:2;tab-size:2}.cms-editor-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-muted)}.cms-editor-preview{min-height:500px;padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);overflow-y:auto}.cms-editor-actions{display:flex;gap:var(--space-3);justify-content:flex-end;padding-top:var(--space-4);border-top:1px solid var(--border-subtle);margin-top:var(--space-4)}@media (max-width:640px){.cms-toolbar{align-items:stretch}.cms-toolbar,.cms-toolbar-left{flex-direction:column}.cms-search{width:100%}.cms-editor-row{flex-direction:column}.cms-input--sm{width:100%}}.goal-v2-nav{margin-bottom:var(--space-4)}.goal-v2-nav-link{display:inline-flex;align-items:center;gap:var(--space-1);font-size:.8125rem;font-weight:600;color:var(--accent);text-decoration:none;transition:opacity .12s}.goal-v2-nav-link:hover{opacity:.8}.goal-v2-error,.goal-v2-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:var(--space-4);color:var(--text-muted)}.goal-v2-loading-spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}.goal-v2-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-8)}.goal-v2-title{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin:0}.goal-v2-subtitle{color:var(--text-muted);margin:var(--space-1) 0 0;font-size:.9375rem}.goal-v2-overall{display:flex;align-items:center;gap:var(--space-3)}.goal-v2-overall-ring{position:relative;width:52px;height:52px}.goal-v2-overall-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.goal-v2-overall-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:var(--text)}.goal-v2-overall-info{display:flex;flex-direction:column;gap:2px}.goal-v2-overall-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.goal-v2-overall-count{font-size:.875rem;font-weight:600;color:var(--text)}.goal-v2-stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--space-3);gap:var(--space-3);margin-bottom:var(--space-6)}.goal-v2-stat-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:border-color .15s,box-shadow .15s}.goal-v2-stat-card:hover{border-color:var(--border);box-shadow:0 2px 8px rgba(0,0,0,.04)}.goal-v2-stat-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);flex-shrink:0}.goal-v2-stat-info{display:flex;flex-direction:column}.goal-v2-stat-value{font-size:1.25rem;font-weight:700;line-height:1.2;color:var(--text)}.goal-v2-stat-label{font-size:.75rem;color:var(--text-muted);font-weight:500}.goal-v2-langs{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-3);gap:var(--space-3);margin-bottom:var(--space-6)}.goal-v2-lang-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s;text-align:left;position:relative;overflow:hidden}.goal-v2-lang-card:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--lang-color,var(--accent));opacity:0;transition:opacity .15s}.goal-v2-lang-card:hover{border-color:var(--lang-color,var(--accent));transform:translateY(-1px);box-shadow:var(--shadow-md)}.goal-v2-lang-card--active{border-color:var(--lang-color,var(--accent));box-shadow:0 0 0 1px var(--lang-color,var(--accent)),var(--shadow-md)}.goal-v2-lang-card--active:after{opacity:1}.goal-v2-lang-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--lang-color,var(--accent)) 12%,transparent);color:var(--lang-color,var(--accent));flex-shrink:0}.goal-v2-lang-info{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.goal-v2-lang-name{font-weight:650;font-size:.9375rem;color:var(--text)}.goal-v2-lang-stats{font-size:.75rem;color:var(--text-muted)}.goal-v2-lang-bar{position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--border)}.goal-v2-lang-bar-fill{height:100%;background:var(--lang-color,var(--accent));border-radius:0 999px 999px 0;transition:width .4s ease}.goal-v2-detail{display:grid;grid-template-columns:1fr 380px;grid-gap:var(--space-6);gap:var(--space-6);align-items:start}.goal-v2-detail-main{min-width:0}.goal-v2-continue{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5);background:var(--bg-card);border:1.5px solid var(--border);border-left:4px solid var(--lang-color,var(--accent));border-radius:var(--radius-lg);text-decoration:none;color:var(--text);margin-bottom:var(--space-5);transition:border-color .15s,box-shadow .15s,transform .15s}.goal-v2-continue:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--lang-color,var(--accent))}.goal-v2-continue-left{display:flex;flex-direction:column;gap:4px}.goal-v2-continue-label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--lang-color,var(--accent))}.goal-v2-continue-title{font-size:1.125rem;font-weight:650;letter-spacing:-.01em}.goal-v2-continue-meta{font-size:.8125rem;color:var(--text-muted)}.goal-v2-continue-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--lang-color,var(--accent));color:#fff;border-radius:var(--radius-md);font-weight:600;font-size:.875rem;white-space:nowrap;transition:opacity .15s}.goal-v2-continue:hover .goal-v2-continue-btn{opacity:.9}.goal-v2-complete{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5);background:rgba(34,197,94,.06);border:1.5px solid rgba(34,197,94,.3);border-radius:var(--radius-lg);margin-bottom:var(--space-5);color:#22c55e}.goal-v2-complete-title{display:block;font-weight:650;font-size:1rem;color:var(--text)}.goal-v2-complete-sub{display:block;font-size:.875rem;color:var(--text-muted);margin-top:2px}.goal-v2-progress{margin-bottom:var(--space-5)}.goal-v2-progress-info{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-2)}.goal-v2-progress-label{font-size:.8125rem;font-weight:600;color:var(--text-muted)}.goal-v2-progress-pct{font-size:.8125rem;font-weight:700;color:var(--text)}.goal-v2-progress-bar{height:6px;background:var(--border);border-radius:999px;overflow:hidden}.goal-v2-progress-fill{height:100%;border-radius:999px;transition:width .4s ease}.goal-v2-lessons{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-5)}.goal-v2-lessons-title{font-size:.875rem;font-weight:650;color:var(--text-muted);margin:0 0 var(--space-3);text-transform:uppercase;letter-spacing:.04em}.goal-v2-lesson{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3);border-radius:var(--radius-md);text-decoration:none;color:var(--text);transition:background .12s}.goal-v2-lesson:hover{background:var(--bg-elevated)}.goal-v2-lesson--next{background:var(--accent-muted)}.goal-v2-lesson-num{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--bg-elevated);border:1.5px solid var(--border);font-size:.75rem;font-weight:700;color:var(--text-muted);flex-shrink:0}.goal-v2-lesson-num--done{background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.3);color:#22c55e}.goal-v2-lesson--done .goal-v2-lesson-title{color:var(--text-muted)}.goal-v2-lesson-title{flex:1 1;font-size:.9375rem;font-weight:500}.goal-v2-lesson-time{display:inline-flex;align-items:center;gap:3px;font-size:.6875rem;color:var(--text-muted);margin-left:auto;flex-shrink:0}.goal-v2-lesson-badge{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);background:var(--accent-muted);padding:2px 8px;border-radius:999px}.goal-v2-lesson-arrow{color:var(--text-muted);opacity:0;transition:opacity .12s;flex-shrink:0}.goal-v2-lesson:hover .goal-v2-lesson-arrow{opacity:1}.goal-v2-ai-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-5);position:-webkit-sticky;position:sticky;top:calc(var(--nav-height, 56px) + var(--space-4))}.goal-v2-ai-header{display:flex;align-items:center;gap:var(--space-2);font-weight:650;font-size:1rem;margin-bottom:var(--space-4);color:var(--text)}.goal-v2-ai-header svg{color:var(--accent)}.goal-v2-ai-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.goal-v2-ai-chip{border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text);border-radius:999px;padding:6px 12px;font-size:.75rem;cursor:pointer;transition:border-color .15s,background .15s;line-height:1.4}.goal-v2-ai-chip:hover:not(:disabled){border-color:var(--accent);background:var(--accent-muted)}.goal-v2-ai-form{display:flex;flex-direction:column;gap:var(--space-3)}.goal-v2-ai-input{width:100%;resize:vertical;min-height:80px;padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text);font:inherit;font-size:.875rem;transition:border-color .15s}.goal-v2-ai-input:focus{outline:none;border-color:var(--accent)}.goal-v2-ai-error{margin-top:var(--space-3);padding:var(--space-3);background:rgba(220,38,38,.06);border:1px solid rgba(220,38,38,.2);border-radius:var(--radius-md);font-size:.8125rem;color:var(--error)}.goal-v2-ai-answer{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}@media (max-width:1000px){.goal-v2-detail{grid-template-columns:1fr}.goal-v2-ai-card{position:static}}@media (max-width:768px){.goal-v2-stats{grid-template-columns:repeat(2,1fr)}.goal-v2-header{margin-bottom:var(--space-5)}.goal-v2-title{font-size:1.5rem}.goal-v2-langs{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.goal-v2-header{flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}.goal-v2-title{font-size:1.25rem}.goal-v2-subtitle{font-size:.875rem}.goal-v2-overall{width:100%;padding:var(--space-3);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.goal-v2-stats{grid-template-columns:repeat(2,1fr);gap:var(--space-2)}.goal-v2-stat-card{padding:var(--space-3);gap:var(--space-2)}.goal-v2-stat-icon{width:34px;height:34px}.goal-v2-stat-value{font-size:1.0625rem}.goal-v2-langs{grid-template-columns:1fr;gap:var(--space-2)}.goal-v2-lang-card{padding:var(--space-3)}.goal-v2-lang-icon{width:34px;height:34px}.goal-v2-continue{flex-direction:column;align-items:flex-start;padding:var(--space-4)}.goal-v2-continue-title{font-size:1rem}.goal-v2-continue-btn{width:100%;justify-content:center}.goal-v2-lessons{padding:var(--space-3)}.goal-v2-lesson{padding:var(--space-3) var(--space-2);gap:var(--space-2)}.goal-v2-lesson-num{width:26px;height:26px}.goal-v2-lesson-title{font-size:.875rem}.goal-v2-lesson-arrow{opacity:.5}.goal-v2-ai-card{padding:var(--space-4)}.goal-v2-ai-chip{padding:5px 10px;font-size:.6875rem}.goal-v2-ai-input{min-height:68px}}@media (max-width:380px){.goal-v2-stats{grid-template-columns:1fr 1fr;gap:var(--space-2)}.goal-v2-stat-card{padding:var(--space-2);gap:var(--space-2)}.goal-v2-stat-icon{width:30px;height:30px}.goal-v2-stat-icon svg{width:16px;height:16px}.goal-v2-stat-value{font-size:.9375rem}.goal-v2-stat-label{font-size:.6875rem}.goal-v2-lesson-time{display:none}}.learn-dash--page{position:relative;padding-bottom:clamp(2.5rem,6vw,4rem);overflow-x:clip}.learn-dash-glow{pointer-events:none;position:absolute;left:50%;top:-4rem;transform:translateX(-50%);width:min(1400px,200vw);height:28rem;background:radial-gradient(ellipse 55% 70% at 50% 0,color-mix(in srgb,var(--accent) 22%,transparent),transparent 65%),radial-gradient(ellipse 35% 50% at 12% 35%,color-mix(in srgb,var(--warning) 12%,transparent),transparent 55%),radial-gradient(ellipse 30% 45% at 88% 40%,color-mix(in srgb,var(--success) 10%,transparent),transparent 50%);opacity:.85}[data-theme=light] .learn-dash-glow{opacity:1}.learn-dash-shell{position:relative;z-index:1;width:100%;max-width:none;margin-inline:0;padding-inline:0}.learn-dash-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:320px;gap:var(--space-3);color:var(--text-muted)}.learn-dash-spinner{width:32px;height:32px;border:2px solid var(--border-subtle);border-top-color:var(--accent);border-radius:50%;animation:spin .65s linear infinite}.learn-dash-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-8)}.learn-dash-top-copy{flex:1 1;min-width:min(100%,18rem);max-width:36rem}.learn-dash-title{font-size:clamp(1.75rem,4vw,2.25rem);font-weight:800;letter-spacing:-.03em;line-height:1.15;margin:0 0 var(--space-2);background:linear-gradient(135deg,var(--text) 0,color-mix(in srgb,var(--text) 72%,var(--accent)) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}[data-theme=light] .learn-dash-title{background:linear-gradient(135deg,#111827,#1e3a5f);-webkit-background-clip:text;background-clip:text;color:transparent}.learn-dash-lead{margin:0;font-size:1rem;line-height:1.55;max-width:32rem}.learn-dash-overall{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--bg-card) 88%,var(--accent) 6%);border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border-subtle));box-shadow:var(--shadow-sm)}.learn-dash-ring{--p:0;position:relative;width:4.25rem;height:4.25rem;border-radius:50%;flex-shrink:0;background:conic-gradient(from -90deg,var(--accent) calc(var(--p) * 1%),var(--border-subtle) 0);display:grid;place-items:center}.learn-dash-ring:after{content:"";position:absolute;inset:6px;border-radius:50%;background:var(--bg-card);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--text) 6%,transparent)}.learn-dash-ring-label{position:relative;z-index:1;font-size:.8125rem;font-weight:800;color:var(--text);letter-spacing:-.02em}.learn-dash-overall-text{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .35rem}.learn-dash-overall-num{font-size:1.5rem;font-weight:800;letter-spacing:-.03em;color:var(--text)}.learn-dash-overall-slash{font-size:1.125rem;font-weight:600;color:var(--text-muted)}.learn-dash-overall-den{font-size:1.125rem;font-weight:700;color:var(--text-muted)}.learn-dash-overall-caption{width:100%;font-size:.8125rem}.learn-dash-tracks{margin-bottom:var(--space-8)}.learn-dash-pills{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.learn-dash-pill{display:inline-flex;align-items:center;gap:var(--space-2);padding:.55rem 1rem;border-radius:999px;border:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-card) 70%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text);font-size:.8125rem;font-weight:600;cursor:pointer;transition:border-color .18s var(--ease-out-soft),box-shadow .18s var(--ease-out-soft),transform .18s var(--ease-out-soft)}.learn-dash-pill:hover{border-color:var(--border);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.learn-dash-pill--active{border-color:color-mix(in srgb,var(--track,var(--accent)) 50%,var(--border-subtle));background:color-mix(in srgb,var(--track,var(--accent)) 14%,var(--bg-card));box-shadow:0 0 0 1px color-mix(in srgb,var(--track,var(--accent)) 25%,transparent)}.learn-dash-pill-icon{display:flex;opacity:.88;color:var(--text-muted)}.learn-dash-pill--active .learn-dash-pill-icon{color:color-mix(in srgb,var(--track,var(--text)) 55%,var(--text-muted))}.learn-dash-pill-label{white-space:nowrap}.learn-dash-pill-meta{font-size:.75rem;font-weight:600}.learn-dash-meter{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm)}.learn-dash-meter-label{flex-shrink:0;font-size:.8125rem;font-weight:700;min-width:5.5rem;color:var(--text)}.learn-dash-meter-bar{flex:1 1;height:8px;border-radius:999px;background:var(--border-subtle);overflow:hidden;min-width:4rem}.learn-dash-meter-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--track,var(--accent)) 85%,#fff),var(--track,var(--accent)));transition:width .35s var(--ease-smooth)}.learn-dash-meter-count{flex-shrink:0;font-size:.8125rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.learn-dash-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,300px);grid-gap:clamp(1.25rem,3vw,2rem);gap:clamp(1.25rem,3vw,2rem);align-items:start}.learn-dash-col--main{display:flex;flex-direction:column;gap:var(--space-6);min-width:0}.learn-dash-col--side{position:-webkit-sticky;position:sticky;top:calc(var(--space-4) + 1rem)}.learn-dash-col--side,.learn-dash-continue{display:flex;flex-direction:column;gap:var(--space-4)}.learn-dash-continue{position:relative;padding:var(--space-6) var(--space-6);border-radius:var(--radius-xl);text-decoration:none;color:inherit;overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--bg-elevated) 92%,var(--track,var(--accent)) 8%) 0,var(--bg-card) 48%,color-mix(in srgb,var(--bg-card) 85%,var(--track,var(--accent)) 12%) 100%);border:1px solid color-mix(in srgb,var(--track,var(--accent)) 28%,var(--border-subtle));box-shadow:var(--shadow-md),0 0 0 1px color-mix(in srgb,var(--track,var(--accent)) 8%,transparent);transition:transform .22s var(--ease-out-soft),box-shadow .22s var(--ease-out-soft),border-color .22s}.learn-dash-continue:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),0 20px 48px color-mix(in srgb,var(--track,var(--accent)) 12%,transparent);border-color:color-mix(in srgb,var(--track,var(--accent)) 42%,var(--border-subtle))}.learn-dash-continue-shine{position:absolute;inset:-40% -20% auto 40%;height:120%;width:60%;background:linear-gradient(105deg,transparent,color-mix(in srgb,var(--track,var(--accent)) 18%,transparent),transparent);opacity:.5;pointer-events:none}.learn-dash-continue-text{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;min-width:0}.learn-dash-continue-kicker{font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--track,var(--accent)) 75%,var(--text-muted))}.learn-dash-continue-title{font-size:clamp(1.2rem,2.5vw,1.5rem);font-weight:700;line-height:1.3;letter-spacing:-.02em;color:var(--text)}.learn-dash-continue-meta{font-size:.875rem}.learn-dash-continue-go{position:relative;z-index:1;display:inline-flex;align-items:center;gap:var(--space-2);align-self:flex-start;font-size:.875rem;font-weight:700;color:color-mix(in srgb,var(--track,var(--accent)) 55%,var(--text));transition:gap .2s var(--ease-out-soft)}.learn-dash-continue:hover .learn-dash-continue-go{gap:var(--space-3);color:var(--track,var(--accent))}.learn-dash-banner{margin:0;padding:var(--space-5);border-radius:var(--radius-lg);border:1px dashed var(--border);font-size:.9375rem;line-height:1.55;background:color-mix(in srgb,var(--bg-card) 94%,var(--accent) 4%)}.learn-dash-score{margin-top:var(--space-4);padding:var(--space-4) var(--space-4) var(--space-3);border-radius:var(--radius-xl);border:1px solid var(--border-subtle);background:linear-gradient(165deg,color-mix(in srgb,var(--accent-muted) 35%,var(--bg-card)) 0,var(--bg-card) 48%,var(--bg-card) 100%);box-shadow:var(--shadow-sm)}.learn-dash-score-card{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) 0;border:none;border-radius:var(--radius-md);background:transparent;text-align:left;cursor:pointer;color:inherit;font:inherit;transition:background .15s}.learn-dash-score-card:hover{background:color-mix(in srgb,var(--accent-muted) 28%,transparent)}.learn-dash-score-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.learn-dash-score-card-icon{flex-shrink:0;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--accent-muted);color:var(--accent)}.learn-dash-score-card-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:.2rem;align-items:flex-start}.learn-dash-score-card-title{font-size:.9375rem;font-weight:700;color:var(--text);letter-spacing:-.01em}.learn-dash-score-card-teaser{font-size:.8125rem;line-height:1.35}.learn-dash-score-card-chevron{flex-shrink:0;color:var(--text-muted);transition:transform .22s ease,color .15s}.learn-dash-score-card:hover .learn-dash-score-card-chevron{color:var(--accent)}.learn-dash-score-card-chevron--open{transform:rotate(180deg)}.learn-dash-score-details{margin-top:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.learn-dash-score-details .learn-dash-score-lead{margin:0 0 var(--space-4);max-width:40rem;font-size:.875rem;line-height:1.5}.learn-dash-score-lead{margin:0;font-size:.875rem;line-height:1.5}.learn-dash-score-guest{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3)}.learn-dash-score-guest-text{margin:0;font-size:.875rem;line-height:1.45;max-width:36rem}.learn-dash-score-cta{display:inline-flex;align-items:center;gap:.5rem}.learn-dash-score-skeleton{display:flex;flex-direction:column;gap:var(--space-4)}.learn-dash-skel{border-radius:var(--radius-lg);background:linear-gradient(90deg,var(--border-subtle) 0,color-mix(in srgb,var(--bg-elevated) 80%,var(--accent) 8%) 50%,var(--border-subtle) 100%);background-size:200% 100%;animation:learn-dash-shimmer 1.2s ease-in-out infinite}@keyframes learn-dash-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.learn-dash-skel--donut{width:8rem;height:8rem;border-radius:50%;margin:0 auto}.learn-dash-skel-grid{display:grid;grid-gap:var(--space-3);gap:var(--space-3);grid-template-columns:1fr}@media (min-width:720px){.learn-dash-skel-grid{grid-template-columns:1fr 1fr}.learn-dash-skel--wide{grid-column:1/-1}}.learn-dash-skel--card{min-height:7.5rem}.learn-dash-skel--wide{min-height:5rem}.learn-dash-score-grid{display:grid;grid-gap:var(--space-3);gap:var(--space-3);grid-template-columns:1fr}@media (min-width:720px){.learn-dash-score-grid{grid-template-columns:minmax(11rem,.95fr) 1fr;grid-template-rows:auto auto auto;align-items:start}.learn-dash-chart-card--hero{grid-column:1;grid-row:1/span 3}.learn-dash-chart-card--mix{grid-column:2;grid-row:1}.learn-dash-score-grid>.learn-dash-chart-card:nth-child(3){grid-column:2;grid-row:2}.learn-dash-score-grid>.learn-dash-chart-card:nth-child(4){grid-column:2;grid-row:3}}.learn-dash-chart-card{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--bg-card);box-shadow:0 1px 0 color-mix(in srgb,var(--text) 4%,transparent)}.learn-dash-chart-card--hero{display:flex;flex-direction:column;align-items:center;text-align:center}.learn-dash-chart-card-head{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:var(--space-3);width:100%}.learn-dash-chart-card--hero .learn-dash-chart-card-head{justify-content:center}.learn-dash-chart-card:not(.learn-dash-chart-card--hero) .learn-dash-chart-card-head{justify-content:flex-start}.learn-dash-chart-card-icon{display:flex;color:var(--accent);opacity:.9}.learn-dash-chart-card-title{margin:0;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.learn-dash-chart-empty{margin:0;font-size:.8125rem;line-height:1.45}.learn-dash-chart-empty-block{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-2) 0 var(--space-1)}.learn-dash-empty-ico{color:var(--text-muted);opacity:.65}.learn-dash-chart-empty-title{margin:0;font-size:.9375rem;font-weight:700;color:var(--text)}.learn-dash-donut-wrap{position:relative;width:7.5rem;height:7.5rem;margin:0 auto var(--space-2)}.learn-dash-donut-svg{width:100%;height:100%;color:color-mix(in srgb,var(--border-subtle) 85%,var(--text-muted))}.learn-dash-donut-track{stroke:currentColor;opacity:.35}.learn-dash-donut-fill{stroke:var(--accent);transition:stroke-dasharray .5s ease}.learn-dash-donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.learn-dash-donut-pct{font-size:1.35rem;font-weight:800;letter-spacing:-.03em;color:var(--text);line-height:1.1}.learn-dash-donut-cap{font-size:.65rem;font-weight:600;color:var(--text-muted);max-width:5.5rem;text-align:center;line-height:1.25}.learn-dash-donut-foot{margin:0;font-size:.75rem;line-height:1.4;max-width:14rem}.learn-dash-chart-mix-desc{margin:0 0 var(--space-3);font-size:.75rem;line-height:1.4}.learn-dash-mix-empty{margin-top:var(--space-1)}.learn-dash-mix-bars{display:flex;justify-content:center;align-items:flex-end;gap:var(--space-6);min-height:6.5rem;padding:var(--space-2) var(--space-2) 0}.learn-dash-mix-col{display:flex;flex-direction:column;align-items:center;gap:.35rem;flex:1 1;max-width:5rem}.learn-dash-mix-track{width:100%;height:5.5rem;border-radius:var(--radius-md);background:color-mix(in srgb,var(--border-subtle) 70%,transparent);display:flex;align-items:flex-end;overflow:hidden;padding:2px}.learn-dash-mix-bar{width:100%;min-height:4px;border-radius:calc(var(--radius-md) - 2px);transition:height .35s ease}.learn-dash-mix-bar--quiz{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 88%,white) 0,var(--accent) 100%)}.learn-dash-mix-bar--live{background:linear-gradient(180deg,color-mix(in srgb,var(--success) 75%,white) 0,var(--success) 100%)}.learn-dash-mix-count{font-size:1.125rem;font-weight:800;color:var(--text);letter-spacing:-.02em}.learn-dash-mix-label{font-size:.65rem;font-weight:600;color:var(--text-muted);text-align:center;line-height:1.2}.learn-dash-bar-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.learn-dash-bar-top{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-bottom:.35rem}.learn-dash-bar-label{font-size:.8125rem;font-weight:600;color:var(--text)}.learn-dash-bar-meta{font-size:.7rem;font-weight:600;color:var(--text-muted);white-space:nowrap}.learn-dash-bar-track{position:relative;height:.55rem;border-radius:999px;overflow:hidden}.learn-dash-bar-track-bg{position:absolute;inset:0;border-radius:inherit;background:color-mix(in srgb,var(--border-subtle) 85%,transparent)}.learn-dash-bar-fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 70%,var(--success)) 0,var(--accent) 100%);transition:width .4s ease,opacity .3s ease}.learn-dash-score-cta-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);text-decoration:none;color:inherit;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border-subtle));background:color-mix(in srgb,var(--accent-muted) 40%,var(--bg-card));transition:border-color .18s,box-shadow .18s,transform .18s}.learn-dash-score-cta-row:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border-subtle));box-shadow:var(--shadow-md)}.learn-dash-score-cta-row:active{transform:scale(.995)}.learn-dash-score-cta-copy{display:flex;flex-direction:column;gap:.15rem;min-width:0}.learn-dash-score-cta-kicker{font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.learn-dash-score-cta-title{font-size:.9375rem;font-weight:700;color:var(--text)}.learn-dash-score-cta-arrow{flex-shrink:0;color:var(--accent);transition:transform .2s}.learn-dash-score-cta-row:hover .learn-dash-score-cta-arrow{transform:translateX(4px)}.learn-dash-score-promo{display:flex;align-items:flex-start;gap:var(--space-4);margin-top:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-xl);border:1px solid var(--border-subtle);text-decoration:none;color:inherit;background:linear-gradient(165deg,color-mix(in srgb,var(--accent-muted) 28%,var(--bg-card)) 0,var(--bg-card) 55%,var(--bg-card) 100%);box-shadow:var(--shadow-sm);transition:border-color .18s,box-shadow .18s,transform .18s}.learn-dash-score-promo:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--border-subtle));box-shadow:var(--shadow-md)}.learn-dash-score-promo:active{transform:scale(.997)}.learn-dash-score-promo-icon{flex-shrink:0;width:2.75rem;height:2.75rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--accent-muted);color:var(--accent)}.learn-dash-score-promo-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:.35rem;align-items:flex-start}.learn-dash-score-promo-title{font-size:1rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.learn-dash-score-promo-desc{margin:0;font-size:.8125rem;line-height:1.45;max-width:36rem}.learn-dash-score-promo-teaser{font-size:.8125rem;font-weight:600;line-height:1.35;color:var(--accent)}.learn-dash-score-promo-arrow{flex-shrink:0;margin-top:.15rem;color:var(--accent);transition:transform .2s}.learn-dash-score-promo:hover .learn-dash-score-promo-arrow{transform:translateX(4px)}.learn-score-page .learn-score-page-inner{max-width:42rem;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:var(--space-5)}.learn-score-page--modern .learn-score-card{margin-bottom:0;padding:var(--space-5) var(--space-5);border-radius:1.125rem;border:1px solid color-mix(in srgb,var(--border-subtle) 85%,var(--accent) 8%);background:color-mix(in srgb,var(--bg-card) 96%,var(--accent-muted) 4%);box-shadow:0 4px 24px color-mix(in srgb,var(--text) 4%,transparent)}[data-theme=dark] .learn-score-page--modern .learn-score-card{background:color-mix(in srgb,var(--bg-elevated) 92%,var(--accent) 5%);box-shadow:0 8px 32px color-mix(in srgb,#000 35%,transparent)}.learn-score-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.learn-score-page-back{display:inline-flex;align-items:center;gap:.45rem;font-size:.8125rem;font-weight:600;color:var(--text-muted);text-decoration:none;transition:color .15s}.learn-score-page-back:hover{color:var(--accent)}.learn-score-masthead{margin:0}.learn-score-masthead-title{margin:0 0 .35rem;font-size:clamp(1.65rem,4vw,2rem);font-weight:800;letter-spacing:-.04em;line-height:1.15;color:var(--text)}.learn-score-masthead-lead{margin:0;font-size:.9375rem;line-height:1.5;max-width:28rem}.learn-score-hero-modern{display:grid;grid-gap:var(--space-5);gap:var(--space-5);padding:var(--space-6) var(--space-5);border-radius:1.25rem;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border-subtle));background:linear-gradient(145deg,color-mix(in srgb,var(--accent-muted) 42%,var(--bg-card)) 0,var(--bg-card) 55%,color-mix(in srgb,var(--bg-elevated) 80%,var(--bg-card) 20%) 100%);box-shadow:0 12px 40px color-mix(in srgb,var(--accent) 8%,transparent)}[data-theme=dark] .learn-score-hero-modern{background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 14%,var(--bg-elevated)) 0,var(--bg-card) 50%,var(--bg-elevated) 100%)}@media (min-width:640px){.learn-score-hero-modern{grid-template-columns:1fr auto;align-items:center;padding:var(--space-6) var(--space-6)}}.learn-score-eyebrow{display:inline-flex;align-items:center;gap:.4rem;font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--space-2)}.learn-score-hero-tagline{margin:0 0 var(--space-3);font-size:1rem;line-height:1.55;color:var(--text-muted);max-width:22rem}.learn-score-hero-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.learn-score-hero-chips li{font-size:.75rem;font-weight:600;color:var(--text-muted);padding:.25rem .65rem;border-radius:999px;background:color-mix(in srgb,var(--bg-elevated) 70%,transparent);border:1px solid var(--border-subtle)}.learn-score-hero-modern-cta{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-3);min-width:min(100%,12rem)}.learn-score-start-btn{min-height:3rem}.learn-score-secondary-link,.learn-score-start-btn{width:100%;justify-content:center;border-radius:.875rem}.learn-score-secondary-link{display:inline-flex;align-items:center;gap:.5rem}.learn-score-start-error{margin:0;font-size:.8125rem}.learn-score-error-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--danger,#e11d48) 35%,var(--border-subtle));background:color-mix(in srgb,var(--danger,#e11d48) 8%,var(--bg-card));font-size:.875rem}.learn-score-coach-slim-top{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-3)}.learn-score-coach-slim-icon{display:flex;color:var(--accent)}.learn-score-coach-slim-title{margin:0;font-size:1.0625rem;font-weight:700;letter-spacing:-.02em;color:var(--text);flex:1 1;min-width:0}.learn-score-ready-pill{font-size:.65rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:.2rem .55rem;border-radius:999px;background:var(--accent);color:var(--accent-contrast,#fff)}.learn-score-coach-slim-msg{margin:0 0 var(--space-4);font-size:.875rem;line-height:1.55;color:var(--text-muted)}.learn-score-lang-grid{display:flex;flex-direction:column;gap:.35rem;margin-bottom:var(--space-4)}.learn-score-lang-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);font-size:.875rem;font-weight:600;color:var(--text);padding:.5rem 0;border-bottom:1px solid var(--border-subtle)}.learn-score-lang-row:last-child{border-bottom:none}.learn-score-lang-meta{font-weight:700;color:var(--accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.learn-score-focus-inline{padding-top:var(--space-2);border-top:1px solid var(--border-subtle)}.learn-score-focus-inline-label{display:block;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.5rem}.learn-score-focus-pills{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.learn-score-focus-pills li{font-size:.75rem;font-weight:600;padding:.3rem .6rem;border-radius:var(--radius-md);background:color-mix(in srgb,var(--accent-muted) 35%,var(--bg-elevated));color:var(--text);border:1px solid var(--border-subtle)}.learn-score-overview-head{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-5)}.learn-score-overview-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:var(--radius-md);background:color-mix(in srgb,var(--accent-muted) 55%,transparent);color:var(--accent)}.learn-score-overview-head-text{min-width:0}.learn-score-overview-title{margin:0 0 .35rem;font-size:1.125rem;font-weight:700;letter-spacing:-.03em;color:var(--text)}.learn-score-overview-one-liner{margin:0;font-size:.8125rem;line-height:1.5;max-width:26rem}.learn-score-overview-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .65rem;margin:0 0 var(--space-5);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-elevated) 70%,var(--bg-card) 30%);font-size:.875rem;line-height:1.45}.learn-score-overview-summary-pct{font-size:1.35rem;font-weight:800;letter-spacing:-.03em;color:var(--accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.learn-score-overview-summary-rest{color:var(--text-muted);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.learn-score-overview-summary-dot{margin:0 .35rem;opacity:.45}.learn-score-overview-breakdown{padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.learn-score-overview-breakdown-heading{margin:0 0 var(--space-4);font-size:.9375rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.personal-score-insights-body--overview .learn-dash-chart-card{border-radius:1rem;border-color:color-mix(in srgb,var(--border-subtle) 92%,var(--accent) 8%);background:color-mix(in srgb,var(--bg-elevated) 55%,var(--bg-card) 45%)}[data-theme=dark] .personal-score-insights-body--overview .learn-dash-chart-card{background:color-mix(in srgb,var(--bg-elevated) 88%,transparent)}.personal-score-insights-body--overview .learn-dash-chart-card-head{margin-bottom:var(--space-2)}.personal-score-insights-body--overview .learn-dash-chart-card-title{font-size:.625rem;letter-spacing:.1em}.personal-score-insights-body--overview .learn-dash-donut-wrap{transform:scale(.94)}.learn-score-gaps-title{margin:0 0 var(--space-3);font-size:1.0625rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.learn-score-history-head{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.learn-score-history-icon{display:flex;color:var(--accent)}.learn-score-history-title{margin:0;font-size:1.0625rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.learn-score-history-empty{margin:0;font-size:.875rem}.learn-score-play-toolbar{margin-bottom:var(--space-4)}.learn-score-exit-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.8125rem;font-weight:600;color:var(--text-muted);background:color-mix(in srgb,var(--bg-card) 80%,transparent);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:color .15s,border-color .15s}.learn-score-exit-btn:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 30%,var(--border-subtle))}.learn-score-page-error{margin:0 0 var(--space-4)}.learn-score-h2{margin:0 0 var(--space-3);font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.learn-score-h2--section{font-size:1rem;letter-spacing:-.02em;text-transform:none;color:var(--text);font-weight:700}.learn-score-section-head{margin-bottom:var(--space-4)}.learn-score-section-head--row{display:flex;gap:var(--space-3);align-items:flex-start}.learn-score-section-icon{flex-shrink:0;display:flex;color:var(--accent);margin-top:.1rem}.learn-score-section-lead{margin:.35rem 0 0;font-size:.875rem;line-height:1.55;max-width:42rem}.learn-score-method-list{margin:0;padding-left:1.15rem;display:flex;flex-direction:column;gap:var(--space-3);font-size:.875rem;line-height:1.55}.learn-score-method-strong{color:var(--text);font-weight:600}.learn-score-coach-head{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3)}.learn-score-coach-icon{flex-shrink:0;display:flex;color:var(--accent)}.learn-score-coach-titles{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.learn-score-coach-titles .learn-score-h2--section{margin:0}.learn-score-coach-badge{font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.2rem .5rem;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--success) 22%,var(--bg-elevated));color:var(--success);border:1px solid color-mix(in srgb,var(--success) 35%,transparent)}.learn-score-coach--ready{border-color:color-mix(in srgb,var(--success) 25%,var(--border-subtle))}.learn-score-coach-message{margin:0 0 var(--space-4);font-size:.9375rem;line-height:1.55;color:var(--text)}.learn-score-coach-dl{margin:0;display:grid;grid-gap:var(--space-3);gap:var(--space-3);grid-template-columns:1fr}@media (min-width:560px){.learn-score-coach-dl{grid-template-columns:1fr 1fr}}.learn-score-coach-dl dt{font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .2rem}.learn-score-coach-dl dd{margin:0;font-size:.875rem;font-weight:600;color:var(--text)}.learn-dash-score-grid--page{gap:var(--space-4)}@media (min-width:900px){.learn-dash-score-grid--page{gap:var(--space-5);grid-template-columns:minmax(12rem,1fr) 1.15fr;grid-template-rows:auto auto auto;align-items:start}.learn-dash-score-grid--page .learn-dash-chart-card--hero{grid-column:1;grid-row:1/span 3}.learn-dash-score-grid--page .learn-dash-chart-card--mix{grid-column:2;grid-row:1}.learn-dash-score-grid--page>.learn-dash-chart-card:nth-child(3){grid-column:2;grid-row:2}.learn-dash-score-grid--page>.learn-dash-chart-card:nth-child(4){grid-column:2;grid-row:3}}.learn-dash-score-grid--overview{gap:var(--space-3)}@media (min-width:720px){.learn-dash-score-grid--page.learn-dash-score-grid--overview{grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;align-items:stretch;gap:var(--space-4)}.learn-dash-score-grid--page.learn-dash-score-grid--overview .learn-dash-chart-card--hero{grid-column:1;grid-row:1}.learn-dash-score-grid--page.learn-dash-score-grid--overview .learn-dash-chart-card--mix{grid-column:2;grid-row:1}.learn-dash-score-grid--page.learn-dash-score-grid--overview>.learn-dash-chart-card:nth-child(3){grid-column:1/-1;grid-row:2}.learn-dash-score-grid--page.learn-dash-score-grid--overview>.learn-dash-chart-card:nth-child(4){grid-column:1/-1;grid-row:3}.learn-dash-score-grid--page.learn-dash-score-grid--overview .learn-dash-chart-card--hero,.learn-dash-score-grid--page.learn-dash-score-grid--overview .learn-dash-chart-card--mix{min-height:11rem;justify-content:center}}@media (min-width:1000px){.learn-dash-score-grid--page.learn-dash-score-grid--overview{grid-template-rows:auto auto;gap:var(--space-4)}.learn-dash-score-grid--page.learn-dash-score-grid--overview>.learn-dash-chart-card:nth-child(3){grid-column:1;grid-row:2}.learn-dash-score-grid--page.learn-dash-score-grid--overview>.learn-dash-chart-card:nth-child(4){grid-column:2;grid-row:2;align-self:start}}.learn-score-overview .personal-score-insights-body{margin-top:var(--space-1)}.learn-score-weakest-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.learn-score-weakest-item{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-elevated) 88%,var(--accent-muted) 6%)}.learn-score-weakest-label{font-size:.875rem;font-weight:600;color:var(--text)}.learn-score-weakest-meta{font-size:.8125rem;font-weight:600;color:var(--accent)}.learn-score-focus-chips{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.learn-score-focus-chip{display:inline-block;padding:.35rem .65rem;border-radius:var(--radius-md);font-size:.8125rem;font-weight:600;border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text)}.learn-score-actions-row{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}.learn-score-actions-challenge{display:inline-flex;align-items:center;gap:.5rem}.learn-score-integrated-hero{margin-bottom:var(--space-4)}.learn-score-coach-focus-wrap,.learn-score-coach-panel .learn-score-coach-dl--in-panel,.learn-score-coach-strength{margin-top:var(--space-4)}.learn-score-coach-focus-label{margin:0 0 .5rem;font-size:.8125rem}.learn-score-play-wrap{max-width:680px;margin-left:auto;margin-right:auto;width:100%}.learn-score-past-retry-hint{margin:0}.learn-dash-lessons-head{margin-bottom:var(--space-3)}.learn-dash-h2{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin:0 0 var(--space-1)}.learn-dash-lessons-hint{margin:0;font-size:.8125rem;line-height:1.45;max-width:40rem}.learn-dash-list{list-style:none;margin:0;padding:0;border-radius:var(--radius-xl);border:1px solid var(--border-subtle);overflow:hidden;background:var(--bg-card);box-shadow:var(--shadow-sm)}.learn-dash-item{display:flex;align-items:center;gap:var(--space-3);padding:.85rem 1.1rem;text-decoration:none;color:var(--text);font-size:.9rem;border-bottom:1px solid var(--border-subtle);transition:background .15s}.learn-dash-list li:last-child .learn-dash-item{border-bottom:none}.learn-dash-item:hover{background:color-mix(in srgb,var(--bg-elevated) 88%,var(--accent) 4%)}.learn-dash-item--done .learn-dash-item-title{color:var(--text-muted)}.learn-dash-item--next{background:color-mix(in srgb,var(--accent-muted) 55%,var(--bg-card))}.learn-dash-item-num{width:1.65rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:var(--text-muted)}.learn-dash-item--done .learn-dash-item-num{color:var(--success)}.learn-dash-item-title{flex:1 1;min-width:0;line-height:1.4;font-weight:500}.learn-dash-item-time{display:inline-flex;align-items:center;gap:.2rem;font-size:.75rem;flex-shrink:0}.learn-dash-item-badge{font-size:.625rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:.2rem .45rem;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent);flex-shrink:0}.learn-dash-ai-panel{border-radius:var(--radius-xl);border:1px solid color-mix(in srgb,var(--warning) 22%,var(--border-subtle));background:linear-gradient(180deg,color-mix(in srgb,var(--warning) 7%,var(--bg-card)) 0,var(--bg-card) 100%);box-shadow:var(--shadow-sm);overflow:hidden}.learn-dash-ai-panel-head{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-4);border-bottom:1px solid var(--border-subtle);background:color-mix(in srgb,var(--warning) 5%,transparent)}.learn-dash-ai-panel-icon{flex-shrink:0;width:2.75rem;height:2.75rem;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--warning) 24%,transparent);color:var(--warning)}.learn-dash-ai-panel-intro{flex:1 1;min-width:0}.learn-dash-ai-panel-title{margin:0;font-size:1rem;font-weight:800;letter-spacing:-.02em;color:var(--text)}.learn-dash-ai-panel-desc{margin:var(--space-2) 0 0;font-size:.8125rem;line-height:1.5}.learn-dash-ai-panel-desc strong{color:var(--text);font-weight:700}.learn-dash-ai-panel-body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.learn-dash-ai-starter-label{margin:0;font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.learn-dash-ai-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.learn-dash-ai-chip{font-size:.75rem;line-height:1.35;padding:.4rem .75rem;border-radius:999px;border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text);text-align:left;cursor:pointer;transition:border-color .15s,background .15s}.learn-dash-ai-chip:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 30%,var(--border-subtle));background:color-mix(in srgb,var(--accent) 6%,var(--bg-elevated))}.learn-dash-ai-chip:disabled{opacity:.55;cursor:not-allowed}.learn-dash-ai-field{display:flex;flex-direction:column;gap:var(--space-2)}.learn-dash-ai-label{font-size:.8125rem;font-weight:600;color:var(--text)}.learn-dash-ai-input{width:100%;min-height:0;resize:vertical;font-size:.875rem}.learn-dash-ai-submit{align-self:stretch;width:100%;font-weight:600}.learn-dash-ai-error{margin:0;font-size:.8125rem;color:var(--error)}.learn-dash-ai-answer-wrap{min-height:4.5rem;padding:var(--space-3);border-radius:var(--radius-lg);border:1px dashed var(--border-subtle);background:color-mix(in srgb,var(--bg-elevated) 88%,transparent)}.learn-dash-ai-answer-wrap--has{border-style:solid;border-color:var(--border-subtle);background:var(--bg-elevated)}.learn-dash-ai-loading,.learn-dash-ai-placeholder{margin:0;font-size:.8125rem;line-height:1.5}.learn-dash-ai-answer{font-size:.875rem;line-height:1.55;color:var(--text)}.learn-dash-ai-answer-label{display:block;font-size:.625rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-2)}@media (max-width:960px){.learn-dash-layout{grid-template-columns:1fr}.learn-dash-col--side{position:static}}@media (max-width:600px){.learn-dash-top{flex-direction:column;align-items:stretch}.learn-dash-overall{justify-content:center}.learn-dash-continue{padding:var(--space-5)}.learn-dash-item-time{display:none}}.lessons-v2-back-nav{margin-bottom:var(--space-4)}.lessons-v2-back-link{display:inline-flex;align-items:center;gap:var(--space-1);font-size:.8125rem;font-weight:600;color:var(--accent);text-decoration:none;transition:opacity .12s}.lessons-v2-back-link:hover{opacity:.8}.lessons-v2-error,.lessons-v2-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:var(--space-4);color:var(--text-muted)}.lessons-v2-loading-spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}.lessons-v2-hero{display:flex;align-items:center;gap:var(--space-5);padding:var(--space-6);background:var(--bg-card);border-radius:var(--radius-xl);margin-bottom:var(--space-5);border:1px solid var(--border-subtle);border-bottom:3px solid var(--lang-color,var(--accent))}.lessons-v2-hero-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-lg);background:color-mix(in srgb,var(--lang-color,var(--accent)) 12%,transparent);color:var(--lang-color,var(--accent));flex-shrink:0}.lessons-v2-hero-text{flex:1 1}.lessons-v2-hero-title{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin:0}.lessons-v2-hero-sub{color:var(--text-muted);font-size:.9375rem;margin:var(--space-1) 0 0}.lessons-v2-hero-progress{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);flex-shrink:0}.lessons-v2-hero-progress-ring{position:relative;width:60px;height:60px}.lessons-v2-hero-progress-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.lessons-v2-hero-progress-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;color:var(--text)}.lessons-v2-hero-progress-label{font-size:.75rem;color:var(--text-muted);font-weight:500}.lessons-v2-continue{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);border:1.5px solid var(--lang-color,var(--accent));border-radius:var(--radius-lg);background:color-mix(in srgb,var(--lang-color,var(--accent)) 6%,var(--bg-card));text-decoration:none;color:var(--text);margin-bottom:var(--space-5);transition:box-shadow .15s,transform .15s}.lessons-v2-continue:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.lessons-v2-continue-label{display:block;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--lang-color,var(--accent))}.lessons-v2-continue-title{display:block;font-weight:650;font-size:1rem}.lessons-v2-continue svg{color:var(--lang-color,var(--accent));flex-shrink:0}.lessons-v2-list{display:flex;flex-direction:column;gap:2px}.lessons-v2-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);text-decoration:none;color:var(--text);transition:background .12s;border:1px solid transparent}.lessons-v2-item:hover{background:var(--bg-card);border-color:var(--border-subtle)}.lessons-v2-item--next{background:color-mix(in srgb,var(--lang-color,var(--accent)) 8%,transparent);border-color:color-mix(in srgb,var(--lang-color,var(--accent)) 20%,transparent)}.lessons-v2-item-num{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--bg-card);border:1.5px solid var(--border);font-size:.8125rem;font-weight:700;color:var(--text-muted);flex-shrink:0;transition:background .15s,border-color .15s,color .15s}.lessons-v2-item:hover .lessons-v2-item-num{border-color:var(--lang-color,var(--accent));color:var(--lang-color,var(--accent))}.lessons-v2-item-num--done{background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.3);color:#22c55e}.lessons-v2-item:hover .lessons-v2-item-num--done{border-color:rgba(34,197,94,.5);color:#22c55e}.lessons-v2-item-body{flex:1 1;min-width:0}.lessons-v2-item-title{display:block;font-weight:600;font-size:.9375rem}.lessons-v2-item--done .lessons-v2-item-title{color:var(--text-muted)}.lessons-v2-item-excerpt{display:block;font-size:.8125rem;line-height:1.4;color:var(--text-muted);margin-top:2px}.lessons-v2-item-meta{display:flex;align-items:center;gap:var(--space-2);margin-top:4px}.lessons-v2-item-time{display:inline-flex;align-items:center;gap:3px;font-size:.6875rem;font-weight:500;color:var(--text-muted)}.lessons-v2-difficulty{font-size:.6875rem;font-weight:600;padding:1px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}.lessons-v2-difficulty--beginner{background:rgba(34,197,94,.1);color:#22c55e}.lessons-v2-difficulty--intermediate{background:rgba(245,158,11,.1);color:#f59e0b}.lessons-v2-difficulty--advanced{background:rgba(239,68,68,.1);color:#ef4444}.lessons-v2-tag{font-size:.6875rem;color:var(--text-muted);background:var(--bg-elevated);padding:1px 8px;border-radius:999px}.lessons-v2-item-badge{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--lang-color,var(--accent));background:color-mix(in srgb,var(--lang-color,var(--accent)) 12%,transparent);padding:2px 8px;border-radius:999px}.lessons-v2-item-arrow{color:var(--text-muted);opacity:0;transition:opacity .12s;flex-shrink:0}.lessons-v2-item:hover .lessons-v2-item-arrow{opacity:1}.lessons-v2-footer{display:flex;justify-content:center;margin-top:var(--space-6)}@media (max-width:768px){.lessons-v2-hero-title{font-size:1.375rem}.lessons-v2-hero{gap:var(--space-3);padding:var(--space-4)}.lessons-v2-hero-icon{width:44px;height:44px}.lessons-v2-hero-progress-ring{width:48px;height:48px}}@media (max-width:640px){.lessons-v2-hero{flex-direction:column;text-align:center;gap:var(--space-3);padding:var(--space-4)}.lessons-v2-hero-title{font-size:1.25rem}.lessons-v2-hero-icon{width:40px;height:40px}.lessons-v2-hero-progress-ring{width:44px;height:44px}.lessons-v2-continue{flex-direction:column;align-items:flex-start;text-align:left;padding:var(--space-3) var(--space-4)}.lessons-v2-item{padding:var(--space-3);gap:var(--space-2)}.lessons-v2-item-num{width:28px;height:28px;font-size:.75rem}.lessons-v2-item-title{font-size:.875rem}.lessons-v2-item-excerpt{display:none}.lessons-v2-item-arrow{opacity:.4}.lessons-v2-item-badge{font-size:.5625rem;padding:2px 6px}}@media (max-width:380px){.lessons-v2-hero-title{font-size:1.125rem}.lessons-v2-hero-sub{font-size:.8125rem}.lessons-v2-item-meta{flex-wrap:wrap;gap:var(--space-1)}}@keyframes spin{to{transform:rotate(1turn)}}.lesson-v2-error,.lesson-v2-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:var(--space-4);color:var(--text-muted)}.lesson-v2-loading-spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}.lesson-v2-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;margin-bottom:var(--space-5);border-bottom:1px solid var(--border-subtle)}.lesson-v2-topbar-left{display:flex;align-items:center;gap:var(--space-2);font-size:.875rem}.lesson-v2-back{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--accent);text-decoration:none;font-weight:600;transition:opacity .12s}.lesson-v2-back:hover{opacity:.8}.lesson-v2-back-label{display:none}@media (max-width:1100px){.lesson-v2-back-label{display:inline}}.lesson-v2-topbar-current,.lesson-v2-topbar-divider{color:var(--text-muted)}.lesson-v2-topbar-right{display:flex;align-items:center;gap:var(--space-4)}.lesson-v2-topbar-progress{display:flex;align-items:center;gap:var(--space-2)}.lesson-v2-topbar-progress-text{font-size:.75rem;font-weight:600;color:var(--text-muted)}.lesson-v2-topbar-progress-bar{width:80px;height:4px;background:var(--border);border-radius:999px;overflow:hidden}.lesson-v2-topbar-progress-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .4s ease}.lesson-v2-ai-toggle{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-muted);font-size:.8125rem;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.lesson-v2-ai-toggle--active,.lesson-v2-ai-toggle:hover{border-color:var(--accent);color:var(--accent)}.lesson-v2-ai-toggle--active{background:var(--accent-muted);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 14%,transparent)}.lesson-v2-ai-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lesson-v2-selection-toolbar{position:fixed;z-index:2100;transform:translateX(-50%);pointer-events:auto}.lesson-v2-selection-ask-ai{display:inline-flex;align-items:center;gap:6px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-card);color:var(--accent);font-size:.8125rem;font-weight:650;cursor:pointer;box-shadow:0 1px 0 color-mix(in oklab,var(--text) 5%,transparent),0 10px 32px color-mix(in oklab,var(--text) 12%,transparent);white-space:nowrap;-moz-user-select:none;user-select:none;-webkit-user-select:none;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .12s ease}.lesson-v2-selection-ask-ai:hover{border-color:color-mix(in oklab,var(--accent) 45%,var(--border));background:var(--accent-muted);box-shadow:0 1px 0 color-mix(in oklab,var(--accent) 12%,transparent),0 12px 36px color-mix(in oklab,var(--text) 14%,transparent)}.lesson-v2-selection-ask-ai:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lesson-v2-selection-ask-ai:active{transform:translateY(1px)}.lesson-v2-selectable{display:contents}.lesson-v2-selectable,.lesson-v2-selectable .lesson-v2-article-title{-moz-user-select:text;user-select:text;-webkit-user-select:text}.lesson-v2-selectable .fd-copy-btn,.lesson-v2-selectable button{-moz-user-select:none;user-select:none;-webkit-user-select:none}.lesson-v2-layout{display:grid;grid-template-columns:240px 1fr;grid-gap:var(--space-6);gap:var(--space-6);align-items:start}.lesson-v2-sidebar-inner{position:-webkit-sticky;position:sticky;top:calc(var(--nav-height, 56px) + var(--space-4));padding:var(--space-3);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:0 1px 0 color-mix(in oklab,var(--text) 4%,transparent),0 6px 24px color-mix(in oklab,var(--text) 4%,transparent)}.lesson-v2-sidebar-header{display:flex;align-items:center;gap:var(--space-2);font-size:.8125rem;font-weight:650;color:var(--text-muted);margin-bottom:var(--space-3);text-transform:uppercase;letter-spacing:.04em}.lesson-v2-toc{display:flex;flex-direction:column;gap:1px}.lesson-v2-toc-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);text-decoration:none;color:var(--text);font-size:.8125rem;font-weight:500;transition:background .12s,color .12s;border-left:2px solid transparent}.lesson-v2-toc-item:hover{background:var(--bg-elevated)}.lesson-v2-toc-item--active{background:var(--accent-muted);color:var(--accent);border-left-color:var(--accent);font-weight:600}.lesson-v2-toc-item--done,.lesson-v2-toc-num{color:var(--text-muted)}.lesson-v2-toc-num{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:700;background:var(--bg-elevated);border-radius:50%;flex-shrink:0}.lesson-v2-toc-item--active .lesson-v2-toc-num{background:var(--accent);color:#fff}.lesson-v2-toc-title{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-v2-toc-check{color:#22c55e;flex-shrink:0}.lesson-v2-main{min-width:0}.lesson-v2-article{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:clamp(var(--space-5),3.5vw,var(--space-8));box-shadow:0 1px 0 color-mix(in oklab,var(--text) 4%,transparent),0 12px 40px color-mix(in oklab,var(--text) 5%,transparent)}.lesson-v2-article-header{margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle)}.lesson-v2-article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-3)}.lesson-v2-article-num{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.lesson-v2-difficulty{font-size:.625rem;font-weight:600;padding:3px 9px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em}.lesson-v2-difficulty--beginner{background:rgba(34,197,94,.1);color:#22c55e}.lesson-v2-difficulty--intermediate{background:rgba(245,158,11,.1);color:#f59e0b}.lesson-v2-difficulty--advanced{background:rgba(239,68,68,.1);color:#ef4444}.lesson-v2-article-title{font-size:clamp(1.375rem,4vw,1.75rem);font-weight:700;letter-spacing:-.025em;margin:0;line-height:1.22;color:var(--text)}.lesson-v2-content{max-width:min(68ch,100%);font-size:1.0625rem;line-height:1.72;color:color-mix(in oklab,var(--text) 92%,var(--text-muted))}.lesson-v2-content .formatted-description{line-height:inherit}.lesson-v2-content .formatted-description-prose{margin-bottom:var(--space-3);color:inherit}.lesson-v2-content .formatted-description-prose:last-child{margin-bottom:0}.lesson-v2-content .fd-h2{font-size:1.3125rem;font-weight:700;letter-spacing:-.02em;margin:var(--space-6) 0 var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle);color:var(--text)}.lesson-v2-content .fd-h2:first-child{margin-top:0}.lesson-v2-content .fd-h3{font-size:1.0625rem;font-weight:650;margin:var(--space-5) 0 var(--space-2);letter-spacing:-.015em;color:var(--text)}.lesson-v2-content .fd-h3:first-child{margin-top:0}.lesson-v2-content .fd-ol,.lesson-v2-content .fd-ul{margin:var(--space-2) 0 var(--space-4);padding-left:1.35rem}.lesson-v2-content .fd-ol-item,.lesson-v2-content .fd-ul-item{margin-bottom:var(--space-2);line-height:1.68}.lesson-v2-content .desc-inline-code{font-size:.86em;padding:.1em .32em;border-radius:4px;font-weight:500}.lesson-v2-content .fd-code-block{margin:var(--space-3) 0;border-radius:var(--radius-md);border:1px solid color-mix(in oklab,var(--border) 70%,#0000);box-shadow:0 1px 2px color-mix(in oklab,var(--text) 4%,transparent)}.lesson-v2-content .fd-code-header{padding:5px 10px;min-height:0}.lesson-v2-content .fd-code-lang{font-size:.625rem;letter-spacing:.07em}.lesson-v2-content .fd-copy-btn{padding:2px 7px;font-size:.625rem}.lesson-v2-content .fd-code-pre{padding:.5rem .75rem;font-size:.8125rem;line-height:1.5}.lesson-v2-content .fd-code-pre code{font-size:inherit;line-height:inherit}.lesson-v2-content .formatted-description-pre{margin:var(--space-3) 0;padding:.5rem .75rem;font-size:.8125rem;line-height:1.5;border-radius:var(--radius-md)}.lesson-v2-content .formatted-description-prose-mixed .fd-code-block{margin-top:var(--space-2);margin-bottom:var(--space-2)}.lesson-v2-content .formatted-description-prose-mixed .formatted-description-prose{margin-bottom:var(--space-2)}.lesson-v2-content .fd-table-wrap{margin:var(--space-3) 0;border-radius:var(--radius-md)}.lesson-v2-content .fd-table td,.lesson-v2-content .fd-table th{padding:var(--space-2) var(--space-3);font-size:.875rem}.lesson-v2-content .fd-callout{margin:var(--space-5) 0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md)}.lesson-v2-content .fd-callout-header{font-size:.75rem;margin-bottom:var(--space-2)}.lesson-v2-nav{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-4);gap:var(--space-4);margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border-subtle)}.lesson-v2-nav-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);text-decoration:none;color:var(--text);transition:border-color .15s,box-shadow .15s,transform .15s}.lesson-v2-nav-link:hover{border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.lesson-v2-nav-link--next{justify-content:flex-end;text-align:right}.lesson-v2-nav-link svg{color:var(--accent);flex-shrink:0}.lesson-v2-nav-label{display:block;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:2px}.lesson-v2-nav-title{display:block;font-weight:600;font-size:.9375rem}.lesson-v2-ai-root{min-width:0}.lesson-v2-ai-backdrop{display:none}.lesson-v2-ai-backdrop:focus-visible{outline:2px solid var(--accent);outline-offset:-4px;z-index:2}.lesson-v2-ai{min-width:0}.lesson-v2-ai-inner{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:0;overflow:hidden;position:relative;isolation:isolate;box-shadow:0 4px 24px color-mix(in oklab,var(--text) 6%,transparent);transition:border-color .2s ease,box-shadow .2s ease}.lesson-v2-ai-inner:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:linear-gradient(90deg,var(--accent),color-mix(in oklab,var(--accent) 42%,#7dd3fc));pointer-events:none;z-index:3}.lesson-v2-ai-inner--streaming{border-color:color-mix(in oklab,var(--accent) 38%,var(--border-subtle));box-shadow:0 0 0 1px color-mix(in oklab,var(--accent) 12%,transparent),0 8px 28px color-mix(in oklab,var(--text) 8%,transparent)}.lesson-v2-ai-header{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--border-subtle);color:var(--text)}.lesson-v2-ai-header-icon{flex-shrink:0;width:40px;height:40px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;background:color-mix(in oklab,var(--accent) 14%,var(--bg-elevated));color:var(--accent)}.lesson-v2-ai-header-text{min-width:0;flex:1 1}.lesson-v2-ai-title{display:block;font-weight:650;font-size:.9375rem;letter-spacing:-.01em}.lesson-v2-ai-sub{display:block;font-size:.75rem;color:var(--text-muted);margin-top:3px;line-height:1.35}.lesson-v2-ai-close{flex-shrink:0;margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:0;border-radius:var(--radius-md);transition:color .15s,background .15s,transform .15s}.lesson-v2-ai-close:hover{color:var(--text);background:var(--bg-elevated)}.lesson-v2-ai-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lesson-v2-ai-close:active{transform:scale(.96)}.lesson-v2-ai-composer{padding:var(--space-4);background:color-mix(in oklab,var(--bg-elevated) 88%,var(--accent));border-bottom:1px solid var(--border-subtle)}.lesson-v2-ai-input{width:100%;resize:vertical;min-height:80px;padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--bg-card);color:var(--text);font:inherit;font-size:.875rem;line-height:1.5;transition:border-color .15s,box-shadow .15s}.lesson-v2-ai-input:focus{outline:none;border-color:color-mix(in oklab,var(--accent) 55%,var(--border-subtle));box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 12%,transparent)}.lesson-v2-ai-input:disabled{opacity:.65;cursor:not-allowed}.lesson-v2-ai-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3);align-items:center}.lesson-v2-ai-send{display:inline-flex;align-items:center;gap:6px}.lesson-v2-ai-spin{animation:lessonAiSpin .75s linear infinite}@keyframes lessonAiSpin{to{transform:rotate(1turn)}}.lesson-v2-ai-error{margin:0 var(--space-4) var(--space-3);padding:var(--space-3);background:rgba(220,38,38,.06);border:1px solid rgba(220,38,38,.2);border-radius:var(--radius-md);font-size:.8125rem;color:var(--error)}.lesson-v2-ai-response{background:var(--bg-card)}.lesson-v2-ai-response-toolbar{padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border-subtle);min-height:32px;display:flex;align-items:center}.lesson-v2-ai-status{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.lesson-v2-ai-status--live{color:var(--accent);display:inline-flex;align-items:center;gap:5px}.lesson-v2-ai-status--cache{color:var(--text-muted)}.lesson-v2-ai-answer-scroll{max-height:min(52vh,440px);overflow-y:auto;overflow-x:hidden;padding:var(--space-4);scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in oklab,var(--text) 28%,transparent) transparent}.lesson-v2-ai-answer{position:relative}.lesson-v2-ai-answer,.lesson-v2-ai-answer .formatted-description-prose,.lesson-v2-ai-answer .formatted-description-prose-mixed{font-size:.875rem;line-height:1.65}.lesson-v2-ai-answer .formatted-description-prose h2,.lesson-v2-ai-answer .formatted-description-prose-mixed h2{font-size:1.05rem;margin-top:var(--space-4);margin-bottom:var(--space-2);font-weight:650;letter-spacing:-.02em}.lesson-v2-ai-answer .formatted-description-prose h3,.lesson-v2-ai-answer .formatted-description-prose-mixed h3{font-size:.9375rem;margin-top:var(--space-3);margin-bottom:var(--space-2);font-weight:600}.lesson-v2-ai-answer .formatted-description-prose h2:first-child,.lesson-v2-ai-answer .formatted-description-prose-mixed h2:first-child{margin-top:0}.lesson-v2-ai-placeholder{margin:0;font-size:.875rem;color:var(--text-muted)}.lesson-v2-ai-cursor{display:inline-block;width:2px;height:1.1em;margin-left:2px;background:var(--accent);vertical-align:text-bottom;border-radius:1px;animation:lessonAiCursorBlink 1s step-end infinite}@keyframes lessonAiCursorBlink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes lessonAiBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes lessonAiDrawerIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes lessonAiSheetIn{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.lesson-v2-ai,.lesson-v2-ai-backdrop{animation:none!important}.lesson-v2-ai-spin{animation:none}.lesson-v2-ai-cursor{animation:none;opacity:1}}.lesson-v2-reading-time{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:500;color:var(--text-muted)}.lesson-v2-progress-fixed{position:fixed;top:0;left:0;right:0;height:3px;z-index:1000;background:transparent;pointer-events:none}.lesson-v2-progress-fixed-fill{height:100%;background:linear-gradient(90deg,var(--accent),#60a5fa);border-radius:0 999px 999px 0;transition:width .1s linear}.lesson-v2-back-to-top{position:fixed;bottom:var(--space-6);right:var(--space-6);width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:1px solid var(--border);border-radius:50%;box-shadow:var(--shadow-lg);color:var(--text-muted);cursor:pointer;z-index:100;transition:color .15s,border-color .15s,transform .15s;animation:fadeInUp .2s ease}.lesson-v2-back-to-top:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-2px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.lesson-v2-keyboard-hint{text-align:center;padding:var(--space-4) 0;font-size:.75rem;color:var(--text-muted);opacity:.5}.lesson-v2-keyboard-hint kbd{display:inline-block;padding:2px 6px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:4px;font-family:var(--font-mono);font-size:.6875rem;font-weight:600;line-height:1.4;box-shadow:0 1px 0 var(--border)}.lesson-v2--ai-open .lesson-v2-keyboard-hint{opacity:0;pointer-events:none;transition:opacity .2s ease}@media (min-width:1101px){.lesson-v2-ai-root{position:fixed;inset:0;z-index:2000;margin:0;padding:0 env(safe-area-inset-right,0) 0 0;box-sizing:border-box;pointer-events:auto}.lesson-v2-ai-backdrop{display:block;position:absolute;inset:0;margin:0;padding:0;border:none;background:color-mix(in oklab,var(--text) 28%,transparent);backdrop-filter:blur(14px) saturate(1.08);-webkit-backdrop-filter:blur(14px) saturate(1.08);cursor:pointer;-webkit-tap-highlight-color:transparent;animation:lessonAiBackdropIn .24s ease-out both}.lesson-v2-ai{position:absolute;right:0;top:0;bottom:0;width:min(420px,92vw);z-index:1;flex-direction:column;box-shadow:-1px 0 0 var(--border-subtle),-20px 0 56px color-mix(in oklab,var(--text) 16%,transparent);animation:lessonAiDrawerIn .32s cubic-bezier(.22,1,.36,1) both}.lesson-v2-ai,.lesson-v2-ai-inner{display:flex;min-height:0;max-height:100%}.lesson-v2-ai-inner{flex:1 1;flex-direction:column;border-radius:var(--radius-xl) 0 0 var(--radius-xl);box-sizing:border-box}.lesson-v2-ai-inner:before{border-radius:var(--radius-xl) 0 0 0}.lesson-v2-ai-composer,.lesson-v2-ai-error,.lesson-v2-ai-header{flex-shrink:0}.lesson-v2-ai-response{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.lesson-v2-ai-answer-scroll{max-height:none;flex:1 1 auto;min-height:72px}}@media (max-width:1100px){.lesson-v2-layout{grid-template-columns:1fr}.lesson-v2-sidebar{display:none}.lesson-v2-ai-root{position:fixed;inset:0;z-index:2000;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;margin:0;padding:0 0 env(safe-area-inset-bottom,0);box-sizing:border-box;pointer-events:auto}.lesson-v2-ai-backdrop{display:block;position:absolute;inset:0;margin:0;padding:0;border:none;background:color-mix(in oklab,var(--text) 28%,transparent);backdrop-filter:blur(12px) saturate(1.06);-webkit-backdrop-filter:blur(12px) saturate(1.06);cursor:pointer;-webkit-tap-highlight-color:transparent;animation:lessonAiBackdropIn .22s ease-out both}.lesson-v2-ai{z-index:1;width:100%;flex-shrink:0;animation:lessonAiSheetIn .34s cubic-bezier(.22,1,.36,1) both}.lesson-v2-ai,.lesson-v2-ai-inner{position:relative;max-height:min(92dvh,100%)}.lesson-v2-ai-inner{top:auto;display:flex;flex-direction:column;border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding-bottom:max(var(--space-3),env(safe-area-inset-bottom,0));box-shadow:0 -1px 0 var(--border-subtle),0 -12px 48px color-mix(in oklab,var(--text) 14%,transparent)}.lesson-v2-ai-composer,.lesson-v2-ai-error,.lesson-v2-ai-header{flex-shrink:0}.lesson-v2-ai-response{display:flex;flex-direction:column;flex:1 1;min-height:0}.lesson-v2-ai-answer-scroll{max-height:none;flex:1 1;min-height:120px}.lesson-v2-keyboard-hint{display:none}}@media (max-width:768px){.lesson-v2-topbar{flex-direction:column;align-items:stretch;gap:var(--space-2);padding:var(--space-3) 0;margin-bottom:var(--space-4)}.lesson-v2-topbar-left{flex-wrap:wrap;gap:var(--space-1)}.lesson-v2-back{font-size:.875rem;padding:var(--space-2) var(--space-3);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);min-height:40px}.lesson-v2-topbar-right{justify-content:space-between}.lesson-v2-topbar-progress-bar{width:60px}.lesson-v2-article{padding:var(--space-5)}.lesson-v2-content{font-size:1rem;line-height:1.7}.lesson-v2-article-title{font-size:1.5rem}.lesson-v2-article-header{margin-bottom:var(--space-4);padding-bottom:var(--space-4)}.lesson-v2-nav{margin-top:var(--space-5);padding-top:var(--space-4);gap:var(--space-3)}}@media (max-width:640px){.lesson-v2-topbar{gap:var(--space-2)}.lesson-v2-article{padding:var(--space-4) var(--space-3);border-radius:var(--radius-lg)}.lesson-v2-article-title{font-size:1.25rem}.lesson-v2-article-meta{flex-wrap:wrap;gap:var(--space-2)}.lesson-v2-content{max-width:100%}.lesson-v2-content .fd-code-block,.lesson-v2-content .formatted-description-pre,.lesson-v2-content pre{margin-left:calc(-1 * var(--space-3));margin-right:calc(-1 * var(--space-3));border-radius:0}.lesson-v2-content .fd-code-block pre{margin-left:0;margin-right:0}.lesson-v2-nav{grid-template-columns:1fr;gap:var(--space-2)}.lesson-v2-nav-link{padding:var(--space-3)}.lesson-v2-nav-link--next{justify-content:flex-start;text-align:left;flex-direction:row-reverse}.lesson-v2-nav-title{font-size:.875rem}.lesson-v2-back-to-top{bottom:var(--space-4);right:var(--space-4);width:38px;height:38px}.lesson-v2-ai-inner{border-radius:var(--radius-lg)}.lesson-v2-ai-answer-scroll{max-height:min(45vh,360px)}.lesson-v2-ai-input{min-height:64px;font-size:1rem}}@media (max-width:380px){.lesson-v2-article{padding:var(--space-3) var(--space-2)}.lesson-v2-article-title{font-size:1.125rem}.lesson-v2-article-num{font-size:.6875rem}.lesson-v2-difficulty{font-size:.625rem;padding:1px 6px}.lesson-v2-reading-time{font-size:.6875rem}.lesson-v2-ai-toggle span,.lesson-v2-topbar-progress{display:none}.lesson-v2-ai-toggle{padding:var(--space-2)}}.features{margin:0 auto}.features,.features.features--landing{padding:var(--space-16) var(--space-5) var(--space-12);max-width:var(--content-max)}.features.features--landing{position:relative;margin-left:auto;margin-right:auto}.features-intro{position:relative;z-index:1;margin-bottom:var(--space-8)}.features-grid--landing{position:relative;z-index:1;display:grid;grid-template-columns:1fr;grid-gap:var(--space-5);gap:var(--space-5);margin-top:0;align-items:stretch}.features-grid--landing>.feature-card-link.feature-card--landing{align-self:stretch;width:100%;min-width:0;min-height:100%;box-sizing:border-box}@media (min-width:700px){.features-grid--landing{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}}@media (min-width:1100px){.features-grid--landing{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-6)}}.feature-card--landing{position:relative;overflow:hidden;min-height:0;height:100%;padding:0;border-radius:var(--radius-xl);border:1px solid var(--border-subtle);background:var(--bg-card);box-shadow:var(--landing-card-shadow);transition:transform var(--duration-panel) var(--ease-smooth),box-shadow var(--duration-panel) var(--ease-smooth),border-color var(--duration-panel) var(--ease-smooth)}.feature-card--landing .feature-card-inner{flex:1 1;min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:var(--space-3);padding:clamp(1.25rem,3vw,1.65rem);box-sizing:border-box}.feature-card--landing .feature-icon{width:2.75rem;height:2.75rem;margin-bottom:0;border-radius:var(--radius-lg);flex-shrink:0;transition:background var(--duration-panel) var(--ease-smooth),color var(--duration-panel) var(--ease-smooth),transform var(--duration-panel) var(--ease-smooth)}.feature-card--landing .feature-title{font-size:clamp(1.0625rem,1.2vw,1.125rem);font-weight:700;letter-spacing:-.02em;margin:0;line-height:1.3}.feature-card--landing .feature-desc{flex:1 1 auto;font-size:.9375rem;line-height:1.6;margin:0;min-height:0}.feature-card--landing .feature-card-cta{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.1rem;border-radius:999px;font-size:.8125rem;font-weight:600;letter-spacing:.01em;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border-subtle));transition:background var(--duration-panel) var(--ease-smooth),color var(--duration-panel) var(--ease-smooth),border-color var(--duration-panel) var(--ease-smooth),transform var(--duration-panel) var(--ease-smooth),box-shadow var(--duration-panel) var(--ease-smooth)}.feature-card--landing:hover .feature-card-cta{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--border-subtle));box-shadow:none;transform:none}.feature-card--landing:hover{transform:translateY(-4px);border-color:var(--landing-card-hover-border);box-shadow:var(--landing-card-hover-shadow)}.feature-card--landing:focus-visible{outline:none;border-color:var(--landing-card-hover-border);box-shadow:var(--landing-card-hover-shadow),var(--focus-ring)}.section-heading{font-family:var(--font-sans);font-size:clamp(1.375rem,1.5vw + 1rem,1.875rem);font-weight:600;letter-spacing:-.03em;text-transform:none;margin:0 0 var(--space-5);color:var(--text);line-height:1.25}.section-heading:after{content:"";display:block;width:2.75rem;height:3px;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 45%,var(--success)));border-radius:2px;margin-top:var(--space-3)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:var(--space-5);gap:var(--space-5)}.feature-card:not(.feature-card--landing){background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-8) var(--space-6);transition:border-color var(--duration-panel) var(--ease-smooth),box-shadow var(--duration-panel) var(--ease-smooth),transform var(--duration-panel) var(--ease-smooth)}.feature-card-link{text-decoration:none;color:inherit;display:flex;flex-direction:column}.feature-card-link:not(.feature-card--landing) .feature-card-cta{margin-top:auto;padding-top:var(--space-4);font-size:.875rem;font-weight:500;color:var(--accent);display:inline-flex;align-items:center;gap:var(--space-2)}[data-theme=light] .feature-card:not(.feature-card--landing){border-color:rgba(0,0,0,.06)}.feature-card:not(.feature-card--landing):hover{border-color:rgba(37,99,235,.2);box-shadow:0 10px 28px rgba(15,23,42,.08);transform:translateY(-3px)}[data-theme=dark] .feature-card:not(.feature-card--landing):hover{border-color:rgba(59,130,246,.2);box-shadow:var(--hover-shadow-dark)}.feature-icon{width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;background:var(--accent-muted);color:var(--accent);border-radius:var(--radius-md);font-size:.875rem;margin-bottom:var(--space-5);font-family:var(--font-mono);transition:background .2s ease,color .2s ease,transform .2s ease}.feature-card:not(.feature-card--landing):hover .feature-icon{background:var(--accent);color:#fff;transform:scale(1.04)}.feature-card--landing:hover .feature-icon{background:var(--accent);color:#fff;transform:scale(1.05)}.feature-title{font-size:1rem;font-weight:600;margin:0 0 .375rem;letter-spacing:-.01em}.feature-desc{font-size:.9375rem;color:var(--text-muted);line-height:1.55;margin:0}.how-it-works{padding:var(--space-16) 0;border-top:1px solid var(--border-subtle)}.steps{display:flex;flex-direction:column;gap:var(--space-4)}.step{display:flex;gap:var(--space-5);align-items:flex-start;padding:var(--space-5) var(--space-6);background:var(--bg-card);border:1px solid var(--border-subtle);border-left:3px solid transparent;border-radius:var(--radius-lg);transition:border-color var(--hover-transition),background var(--hover-transition)}.step:hover{border-left-color:var(--accent);background:var(--bg-elevated)}[data-theme=light] .step:hover{border-color:rgba(0,0,0,.08)}.step-num{flex-shrink:0;color:var(--accent);font-weight:700;font-size:.875rem}.step h3{font-size:1rem;font-weight:600;margin:0 0 .25rem}.step p{font-size:.9375rem;color:var(--text-muted);margin:0;line-height:1.55}.recent-projects{padding:var(--space-12) var(--space-5) var(--space-16);max-width:var(--content-max);margin:0 auto}.recent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:var(--space-6);gap:var(--space-6);margin-bottom:var(--space-8)}@media (min-width:1024px){.recent-grid{grid-template-columns:repeat(3,1fr)}}.recent-card{display:flex;flex-direction:column;width:100%;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);overflow:hidden;color:var(--text);text-decoration:none;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}[data-theme=light] .recent-card{border-color:rgba(0,0,0,.08);box-shadow:0 1px 3px rgba(0,0,0,.04)}[data-theme=dark] .recent-card{border-color:rgba(255,255,255,.06);box-shadow:0 1px 3px rgba(0,0,0,.2)}.recent-card:hover{border-color:rgba(37,99,235,.3);box-shadow:0 8px 24px rgba(37,99,235,.12);transform:translateY(-4px)}[data-theme=dark] .recent-card:hover{border-color:rgba(59,130,246,.35);box-shadow:0 8px 28px rgba(0,0,0,.35)}.recent-card-thumb{width:100%;height:140px;flex-shrink:0;overflow:hidden;position:relative;background:var(--bg)}.recent-card-thumb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;display:block;transition:transform .3s ease}.recent-card:hover .recent-card-thumb-img{transform:scale(1.03)}.recent-card-thumb-placeholder{position:absolute;inset:0;width:100%;height:100%;background:linear-gradient(145deg,var(--bg) 0,var(--border-subtle) 50%);display:flex;align-items:center;justify-content:center}.recent-card-thumb-icon{font-size:1.75rem;font-weight:600;font-family:var(--font-mono);color:var(--text-muted);opacity:.5}.recent-card-body{display:flex;flex-direction:column;flex:1 1;padding:var(--space-4);min-width:0}.recent-card-title{font-weight:600;font-size:1rem;margin:0 0 var(--space-2);line-height:1.35;letter-spacing:-.02em;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recent-card-meta{font-size:.75rem;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.recent-card-desc{font-size:.8125rem;color:var(--text-muted);margin:0 0 var(--space-3);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1 1}.recent-card-cta{font-size:.8125rem;font-weight:600;color:var(--accent);margin-top:auto;display:inline-flex;align-items:center;gap:.35em;transition:color .2s ease,gap .2s ease}.recent-card:hover .recent-card-cta{color:var(--accent-hover);gap:.5em}.recent-card:hover{text-decoration:none;color:var(--text)}.recent-more{text-align:center;margin:0}.recent-more a{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:500;color:var(--accent);transition:color var(--hover-transition),gap var(--hover-transition)}.recent-more a:hover{color:var(--accent-hover);gap:var(--space-3)}.landing-stats{padding:var(--space-8) var(--space-5);display:flex;justify-content:center}.landing-stats-inner{max-width:680px;width:100%;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:0;gap:0;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-6) var(--space-2);box-shadow:var(--shadow-sm);transition:border-color var(--duration-panel) var(--ease-smooth),box-shadow var(--duration-panel) var(--ease-smooth)}[data-theme=dark] .landing-stats-inner{background:var(--bg-card);border-color:var(--border-subtle);box-shadow:var(--shadow-sm)}.landing-stat{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);position:relative}.landing-stat:not(:last-child):after{content:"";position:absolute;right:0;top:12%;height:76%;width:1px;background:var(--border-subtle)}.landing-stat-icon{width:38px;height:38px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--accent-muted);color:var(--accent);margin-bottom:var(--space-1)}.landing-stat-value{font-family:var(--font-mono);font-size:1.75rem;font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--text)}.landing-stat-label{font-size:.6875rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.08em;line-height:1.3;text-align:center}@media (max-width:600px){.landing-stats-inner{grid-template-columns:repeat(2,1fr);gap:var(--space-4) 0;max-width:360px;padding:var(--space-5) var(--space-2)}.landing-stat:nth-child(2):after{display:none}.landing-stat:first-child:after,.landing-stat:nth-child(3):after{top:12%;height:76%}.landing-stat:first-child,.landing-stat:nth-child(2){padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle)}}.landing-how{padding:var(--space-16) var(--space-5) var(--space-12);max-width:var(--content-max);margin:0 auto}.landing-how-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-6);gap:var(--space-6);margin-top:var(--space-8)}.landing-how-card{position:relative;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-6);text-align:left;box-shadow:var(--landing-card-shadow);transition:transform var(--duration-panel) var(--ease-smooth),box-shadow var(--duration-panel) var(--ease-smooth),border-color var(--duration-panel) var(--ease-smooth)}.landing-how-card:hover{transform:translateY(-4px);box-shadow:var(--landing-card-hover-shadow);border-color:var(--landing-card-hover-border)}.landing-how-num{display:block;font-family:var(--font-mono);font-size:.6875rem;font-weight:700;letter-spacing:.14em;color:var(--text-muted);margin:0 0 var(--space-2);line-height:1;text-transform:uppercase}.landing-how-icon{width:2.75rem;height:2.75rem;margin:0 0 var(--space-3);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);background:var(--accent-muted);color:var(--accent);flex-shrink:0;transition:background var(--duration-panel) var(--ease-smooth),color var(--duration-panel) var(--ease-smooth),transform var(--duration-panel) var(--ease-smooth)}.landing-how-card:hover .landing-how-icon{background:var(--accent);color:#fff;transform:scale(1.05)}.landing-how-title{font-size:clamp(1.0625rem,1.2vw,1.125rem);font-weight:700;margin:0 0 var(--space-2);letter-spacing:-.02em;line-height:1.3}.landing-how-desc{font-size:.9375rem;color:var(--text-muted);line-height:1.6;margin:0}.landing-how-connector{display:none}@media (min-width:769px){.landing-how-connector{display:block;right:calc(-1 * var(--space-3) - 1px);width:var(--space-6);height:2px;background:var(--border-subtle)}.landing-how-connector,.landing-how-connector:after{position:absolute;top:50%;transform:translateY(-50%)}.landing-how-connector:after{content:"";right:0;border:4px solid transparent;border-left:5px solid var(--border-subtle)}}@media (max-width:768px){.landing-how-grid{grid-template-columns:1fr;gap:var(--space-4)}}.landing-languages{padding:var(--space-12) var(--space-5);max-width:var(--content-max);margin:0 auto}.landing-lang-grid{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}.landing-lang-chip{display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5) var(--space-3) var(--space-3);background:var(--bg-card);border-radius:999px;text-decoration:none;color:var(--text);font-weight:600;font-size:.9375rem;transition:border-color .2s ease,box-shadow .2s ease,transform .15s ease;border:1px solid var(--border-subtle);border-left:3px solid var(--lang-color,var(--accent))}.landing-lang-chip:hover{border-color:color-mix(in srgb,var(--lang-color,var(--accent)) 40%,var(--border-subtle));transform:translateY(-2px);text-decoration:none;color:var(--text)}.landing-lang-chip:hover,[data-theme=dark] .landing-lang-chip:hover{box-shadow:var(--shadow-sm)}.landing-lang-dot{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:color-mix(in srgb,var(--lang-color,var(--accent)) 12%,transparent);color:var(--lang-color,var(--accent));flex-shrink:0}.landing-lang-name{white-space:nowrap}.landing-lang-more{margin:var(--space-5) 0 0}.landing-lang-more a{display:inline-flex;align-items:center;gap:var(--space-2);font-size:.875rem;font-weight:500;color:var(--accent);transition:gap .15s ease}.landing-lang-more a:hover{gap:var(--space-3)}@media (max-width:480px){.hero-title{font-size:1.75rem}.hero-cta{flex-direction:column;width:100%}.hero-cta-btn{width:100%;justify-content:center}.landing-stats-inner{gap:var(--space-3) 0;padding:var(--space-4) var(--space-1)}.landing-stat{padding:var(--space-2)}.landing-stat-icon{width:32px;height:32px}.landing-stat-value{font-size:1.25rem}.landing-how-card{padding:var(--space-6) var(--space-4)}}.cta-section{padding:var(--space-16) 0 var(--space-8)}.cta-box{text-align:center;background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-10) var(--space-8);box-shadow:var(--shadow-sm);border:1px solid var(--border-subtle);border-left:3px solid var(--accent)}.cta-title{font-size:1.375rem;font-weight:600;margin:0 0 var(--space-2);letter-spacing:-.02em}.cta-desc{color:var(--text-muted);margin:0 0 var(--space-6);font-size:.9375rem}.cta-buttons{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center}.cta-buttons .btn-ghost:hover{color:var(--accent)}@media (max-width:768px){.nav-inner{padding:var(--space-2) var(--space-5);padding-left:calc(var(--space-5) + env(safe-area-inset-left, 0));padding-right:calc(var(--space-5) + env(safe-area-inset-right, 0));gap:var(--space-2);min-height:48px;flex-wrap:wrap}.nav-brand{order:1;font-size:1.125rem;min-width:0;max-width:calc(100% - 52px)}.nav-brand-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-theme-toggle--desktop{display:none}.nav-theme-toggle--mobile{display:inline-flex;order:2;margin-left:auto}.nav-toggle{display:flex;order:3}.nav-links{order:4;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;max-height:0;overflow:hidden;padding:0;border-top:none;transition:max-height .25s ease}.nav--open .nav-links{max-height:320px;padding:var(--space-2) 0 var(--space-3);border-top:1px solid var(--border-subtle);margin-top:var(--space-2)}.nav.nav--dropdown-open .nav-links{overflow:visible}.nav-links .btn,.nav-links a{padding:var(--space-3) var(--space-4);min-height:48px;display:flex;align-items:center;font-size:.9375rem;border-radius:var(--radius-sm);justify-content:flex-start}.nav-user{flex-direction:column;align-items:stretch;gap:0;padding:var(--space-2) 0 0;border-top:1px solid var(--border-subtle);margin-top:var(--space-2)}.nav-user-name{max-width:none;padding:0 var(--space-4) var(--space-2);font-size:.8125rem;color:var(--text-muted)}.layout-main{padding:var(--space-5) var(--page-pad-x);padding-left:calc(var(--page-pad-x) + env(safe-area-inset-left, 0));padding-right:calc(var(--page-pad-x) + env(safe-area-inset-right, 0))}.layout-main:has(.landing){padding:0}.layout-main:has(.auth-page){padding-top:var(--space-3);padding-bottom:var(--space-3)}.page-header,.projects-header{margin-bottom:var(--space-5)}.projects-search-wrap{max-width:100%}.features{padding:var(--space-8) 0}.section-heading{margin-bottom:var(--space-5)}.section-subheading{margin-top:calc(-1 * var(--space-2));font-size:.9375rem}.features-grid{grid-template-columns:1fr;gap:var(--space-3)}.feature-card:not(.feature-card--landing){padding:var(--space-5)}.features.features--landing,.landing-how{padding:var(--space-10) var(--space-5) var(--space-8)}.landing-languages{padding:var(--space-8) var(--space-5) var(--space-10)}.recent-projects{padding:var(--space-8) var(--space-5)}.recent-grid{grid-template-columns:1fr;gap:var(--space-4);margin-bottom:var(--space-4)}.recent-card{width:100%}.cta-section{padding:var(--space-8) 0 var(--space-5)}.cta-box{padding:var(--space-6) var(--space-4)}.cta-desc{margin-bottom:var(--space-4)}.project-thumbnail{max-height:240px}.demo-section,.project-description-section,.project-detail-header,.project-thumbnail-section{margin-bottom:var(--space-5)}.demo-iframe{height:400px}.demo-frame-wrap{min-height:320px}.files-section{margin-top:var(--space-5)}.file-row,.files-bundle-row{padding:var(--space-2) var(--space-3)}.file-row{flex-wrap:wrap;gap:var(--space-2)}.admin-page{padding:0 var(--space-4) var(--space-6)}.admin-main{padding-top:0}.admin-page-title{font-size:1.35rem}.admin-card{padding:var(--space-4)}.admin-upload{margin-bottom:var(--space-6)}.admin-edit-actions{flex-wrap:wrap}.site-footer{padding:var(--space-6) var(--space-5);padding-left:calc(var(--space-5) + env(safe-area-inset-left, 0));padding-right:calc(var(--space-5) + env(safe-area-inset-right, 0))}.footer-brand,.footer-links{margin-bottom:var(--space-3)}.footer-links{gap:var(--space-3) var(--space-4)}}@media (max-width:480px){body{font-size:15px}.nav-inner{padding:var(--space-2) var(--space-5);padding-left:calc(var(--space-5) + env(safe-area-inset-left, 0));padding-right:calc(var(--space-5) + env(safe-area-inset-right, 0))}.nav-brand{font-size:1.0625rem}.nav--open .nav-links{max-height:360px}.layout-main{padding:var(--space-5) var(--page-pad-x);padding-left:calc(var(--page-pad-x) + env(safe-area-inset-left, 0));padding-right:calc(var(--page-pad-x) + env(safe-area-inset-right, 0))}.layout-main:has(.landing){padding:0}.layout-main:has(.auth-page){padding-top:var(--space-3);padding-bottom:var(--space-3)}.page-header{margin-bottom:var(--space-4)}.page-title{font-size:1.25rem}.projects-header{margin-bottom:var(--space-4)}.projects-intro{font-size:.9375rem;line-height:1.6}.projects-search-wrap{max-width:100%;margin-top:var(--space-4)}.projects-search-icon{width:44px;height:44px}.projects-search-input{height:44px;font-size:16px}.home .project-grid{grid-template-columns:1fr;gap:var(--space-4)}.project-card{border-radius:var(--radius-md)}.project-card-body{padding:var(--space-4)}.project-card-title{font-size:1rem}.project-card-meta{margin-bottom:var(--space-2)}.project-card-meta-row,.recent-card-meta-row{gap:var(--space-1)}.difficulty-badge--sm{font-size:.5625rem;padding:.12em .35em}.project-meta-row--badges{gap:var(--space-2)}.project-meta-row--badges .difficulty-badge--lg{font-size:.75rem;padding:.2em .5em}.project-card-desc{font-size:.8125rem;margin-bottom:var(--space-3);-webkit-line-clamp:2}.project-card-thumb{height:140px}.project-tag{font-size:.625rem;padding:.2em .5em}.empty-state{padding:var(--space-8) var(--space-4)}.hero{padding:var(--space-6) var(--space-5) var(--space-8);gap:var(--space-3)}.hero-code-side,.hero-content{flex:0 0 auto}.hero-title{font-size:clamp(1.5rem,8vw,2rem);margin-bottom:var(--space-3)}.hero-subtitle{font-size:.9375rem;line-height:1.7;margin-bottom:var(--space-4);padding:0}.hero-cta{margin-bottom:0}.hero-cta .btn{width:100%;min-height:48px}.hero-code-side,.hero-code-side .code-typing{max-width:100%}.hero-code-side .code-typing-content{font-size:.75rem;overflow-x:auto;word-break:break-all}.code-typing-body{min-height:4.5rem}.code-typing-gutter{width:2rem;padding:var(--space-2) var(--space-1);font-size:.75rem}.section-heading{font-size:clamp(1.25rem,.5vw + 1.1rem,1.5rem);margin-bottom:var(--space-4)}.features{padding:var(--space-5) 0}.feature-card:not(.feature-card--landing){padding:var(--space-3)}.how-it-works{padding:var(--space-5) 0}.steps{gap:var(--space-2)}.step{padding:var(--space-3) var(--space-3);gap:var(--space-3);flex-direction:column;align-items:flex-start}.recent-projects{padding:var(--space-6) var(--space-5);padding-left:calc(var(--space-5) + env(safe-area-inset-left, 0));padding-right:calc(var(--space-5) + env(safe-area-inset-right, 0))}.recent-projects .section-heading{margin-bottom:var(--space-2)}.recent-projects .section-subheading{margin-top:0;margin-bottom:var(--space-4)}.recent-grid{grid-template-columns:1fr;gap:var(--space-3);margin-bottom:var(--space-3)}.recent-card-thumb{height:110px}.recent-card-body{padding:var(--space-3)}.recent-card-title{font-size:.9375rem}.recent-card-desc{margin-bottom:var(--space-2);-webkit-line-clamp:2}.cta-section{padding:var(--space-5) 0 var(--space-4)}.cta-box{padding:var(--space-5) var(--space-4);margin:0 var(--space-1)}.cta-title{font-size:1.125rem;margin-bottom:var(--space-1)}.cta-desc{font-size:.875rem;margin-bottom:var(--space-3)}.cta-buttons{gap:var(--space-2)}.cta-buttons .btn{width:100%;min-height:48px}.auth-page:not(:has(.onboarding-v2)){padding:var(--space-3) var(--space-2);min-height:50vh}.auth-page-content{max-width:100%}.auth-page:has(.onboarding-v2){min-height:100dvh;min-height:100svh;padding:max(var(--space-3),env(safe-area-inset-top,0px)) max(var(--space-3),env(safe-area-inset-right,0px)) max(var(--space-3),env(safe-area-inset-bottom,0px)) max(var(--space-3),env(safe-area-inset-left,0px))}.auth-code-bg{padding:0 var(--space-2)}.auth-code-bg-line{font-size:.8125rem;color:rgba(203,213,225,.55)}.auth-code-bg-num{font-size:.75rem;color:rgba(148,163,184,.6)}.auth-card{padding:var(--space-4) var(--space-4)}.admin-page{padding:0 var(--space-4) var(--space-5)}.auth-title{font-size:1.125rem;margin-bottom:var(--space-2)}.auth-form label{margin-bottom:var(--space-3)}.input{padding:var(--space-2) var(--space-3);min-height:48px;font-size:16px}.project-detail-header,.project-thumbnail-section{margin-bottom:var(--space-4)}.project-thumbnail{max-height:180px;border-radius:var(--radius-md)}.project-description-section{margin-bottom:var(--space-4)}.project-description{padding:var(--space-3);font-size:.875rem}.section-title{margin-bottom:var(--space-2)}.project-demo-cta{margin-top:var(--space-3)}.btn-view-demo{width:100%;min-height:48px;padding:var(--space-3)}.demo-section{margin-bottom:var(--space-4)}.demo-frame-wrap{min-height:260px;border-radius:var(--radius-md)}.demo-iframe{height:300px}.files-section{margin-top:var(--space-4)}.files-bundle-row{margin-bottom:var(--space-2)}.file-row,.files-bundle-row{padding:var(--space-2) var(--space-3)}.file-filename{font-size:.875rem;word-break:break-all}.back-link{min-height:44px;margin-bottom:var(--space-2);display:inline-flex;align-items:center}.empty-state{padding:var(--space-4) var(--space-3)}.admin-upload{margin-bottom:var(--space-5)}.admin-project-list{gap:var(--space-3)}.admin-project-card{padding:var(--space-3)}.admin-project-head{flex-wrap:wrap;gap:var(--space-2)}.admin-project-desc{margin-top:var(--space-2)}.admin-project-actions{flex-wrap:wrap;gap:var(--space-2)}.admin-edit-actions .btn{min-height:44px}.site-footer{padding:var(--space-5) var(--space-5);padding-left:calc(var(--space-5) + env(safe-area-inset-left, 0));padding-right:calc(var(--space-5) + env(safe-area-inset-right, 0))}.footer-brand{font-size:.875rem}.footer-brand,.footer-links{margin-bottom:var(--space-2)}.footer-links{flex-direction:column;gap:var(--space-2)}.footer-links a{min-height:44px;display:inline-flex}.footer-links a,.modal-overlay{align-items:center;justify-content:center}.modal-overlay{padding:var(--space-4);padding-left:calc(var(--space-4) + env(safe-area-inset-left, 0));padding-right:calc(var(--space-4) + env(safe-area-inset-right, 0));padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom, 0))}.modal-box{max-height:calc(100vh - var(--space-8));width:100%;border-radius:var(--radius-lg);border-left:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle)}.modal-header{padding:var(--space-3) var(--space-4)}.modal-body:has(.demo-modal-frame-wrap){min-height:50vh;flex:1 1}.demo-modal-frame-wrap{min-height:280px}.demo-modal-iframe{min-height:260px}}@media (max-width:1024px) and (min-width:769px){.layout-main:not(:has(.landing)){padding:clamp(1.75rem,3.5vw,2.5rem) calc(clamp(1.25rem, 3vw, 1.75rem) + env(safe-area-inset-right, 0)) clamp(1.75rem,3.5vw,2.5rem) calc(clamp(1.25rem, 3vw, 1.75rem) + env(safe-area-inset-left, 0))}.features,.how-it-works,.recent-projects{padding:var(--space-10) 0}.recent-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4)}.recent-card{width:100%;max-width:100%}.cta-section{padding:var(--space-10) 0 var(--space-6)}}@media (max-width:768px){.auth-card{padding:var(--space-6) var(--space-5)}.fd-code-pre,.formatted-description-pre{padding:var(--space-3);font-size:.75rem}.fd-code-pre code,.formatted-description-pre code{font-size:.75rem}}@media (max-width:640px){.auth-card{border-radius:var(--radius-lg)}.auth-card,.auth-card.onboarding-v2{padding:var(--space-5) var(--space-4)}.auth-page-content{max-width:100%}.fd-code-pre,.formatted-description-pre{-webkit-overflow-scrolling:touch}}@media (max-width:380px){.auth-card{padding:var(--space-4) var(--space-3)}.auth-card.onboarding-v2{padding:var(--space-5) var(--space-3)}.auth-title{font-size:1.0625rem}.fd-code-pre,.formatted-description-pre{padding:var(--space-2);font-size:.6875rem}.desc-inline-code{font-size:.82em;padding:.1em .3em}}@media (prefers-reduced-motion:reduce){.btn,.challenge-option,.challenge-panel,.challenge-timer-ring-fg,.feature-card,.landing-lang-chip{transition-duration:.01ms!important}.challenge-room-grid>section.challenge-panel{transition:none!important}}