:root{--bg:#05070c;--surface:#0c1016;--surface-2:#14191f;--surface-hover:#1c2025;--border:#25292f;--border-subtle:#181b1f;--text:#e7ebf2;--text-secondary:#9da5b1;--muted:#7e8792;--primary:#4c9deb;--primary-hover:#2389e2;--primary-subtle:#122334;--success:#3bb974;--success-subtle:#102719;--danger:#f14d4c;--danger-subtle:#361715;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-size-sm:.8125rem;--font-size-base:.9375rem;--font-size-lg:1.125rem;--font-size-xl:1.375rem;--font-size-2xl:1.75rem;--font-size-3xl:2.25rem;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--ease-out:cubic-bezier(.16, 1, .3, 1);--duration-fast:.15s;--duration-normal:.2s}@supports (color:lab(0% 0 0)){:root{--bg:lab(1.96267% -.122614 -2.00764);--surface:lab(4.39593% -.275098 -3.95434);--surface-2:lab(8.30832% -.645667 -5.08353);--surface-hover:lab(11.7991% -.616558 -4.38254);--border:lab(16.4464% -.782594 -4.36031);--border-subtle:lab(9.48673% -.528015 -3.6582);--text:lab(93.0079% -.518054 -3.73492);--text-secondary:lab(67.469% -1.39681 -7.31035);--muted:lab(55.8675% -1.36945 -7.29713);--primary:lab(62.3092% -6.43936 -47.3377);--primary-hover:lab(55.1124% -4.33153 -53.7148);--primary-subtle:lab(12.8695% -2.47981 -13.6374);--success:lab(67.145% -47.9208 24.7216);--success-subtle:lab(13.525% -12.6451 6.50586);--danger:lab(57.3944% 63.124 38.0626);--danger-subtle:lab(12.5137% 15.6344 8.83056)}}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}a{color:inherit;text-decoration:none}h1,h2,h3{text-wrap:balance;letter-spacing:-.02em;line-height:1.25}h1{font-size:var(--font-size-2xl);font-weight:700}h2{font-size:var(--font-size-xl);font-weight:600}h3{font-size:var(--font-size-lg);font-weight:600}.container{max-width:900px;padding:var(--space-xl) var(--space-lg);margin:0 auto}header.site{border-bottom:1px solid var(--border-subtle);background:var(--surface);z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0}header.site .inner{max-width:900px;padding:var(--space-md) var(--space-lg);align-items:center;gap:var(--space-lg);margin:0 auto;display:flex}header.site .brand{font-weight:700;font-size:var(--font-size-lg);letter-spacing:-.02em;color:var(--text)}header.site nav{align-items:center;gap:var(--space-md);display:flex}header.site nav a{color:var(--text-secondary);font-size:var(--font-size-sm);transition:color var(--duration-fast) var(--ease-out);font-weight:500}header.site nav a:hover{color:var(--text)}header.site .spacer{flex:1}.grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.card{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-lg);transition:border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out)}.card:hover{border-color:var(--border);background:var(--surface-2)}.card h3{margin:0 0 var(--space-sm)}.card-highlight{border-color:var(--primary);background:var(--primary-subtle)}.card-highlight:hover{border-color:var(--primary)}.price{color:var(--primary);font-weight:700;font-size:var(--font-size-xl)}.btn{justify-content:center;align-items:center;gap:var(--space-sm);background:var(--primary);color:#fff;border-radius:var(--radius-sm);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);white-space:nowrap;border:none;padding:10px 18px;font-weight:600;display:inline-flex}.btn:hover{background:var(--primary-hover)}.btn:active{transform:scale(.97)}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn:disabled{opacity:.5;cursor:default;pointer-events:none}.btn.secondary{background:var(--surface-2);border:1px solid var(--border);color:var(--text-secondary)}.btn.secondary:hover{background:var(--surface-hover);color:var(--text);border-color:var(--border)}.lesson{align-items:center;gap:var(--space-md);padding:var(--space-md) 0;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);font-size:var(--font-size-base);display:flex}.lesson:last-child{border-bottom:none}.lesson .lock{font-size:var(--font-size-sm);color:var(--muted)}.lesson.clickable{cursor:pointer;transition:color var(--duration-fast) var(--ease-out)}.lesson.clickable:hover{color:var(--text)}.muted{color:var(--text-secondary)}.badge-owned{color:var(--success);font-weight:600;font-size:var(--font-size-sm)}.field{gap:var(--space-sm);margin-bottom:var(--space-lg);flex-direction:column;display:flex}.field label{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:500}.field input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:var(--font-size-base);transition:border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);padding:12px 14px}.field input:focus{border-color:var(--primary);background:var(--surface-2);outline:none}.field input::placeholder{color:var(--muted)}.form-narrow{max-width:380px}.form-centered{max-width:380px;padding-top:var(--space-3xl);margin:0 auto}.alert{padding:var(--space-md);border-radius:var(--radius-sm);margin-bottom:var(--space-md);font-size:var(--font-size-sm);font-weight:500}.alert.error{background:var(--danger-subtle);border:1px solid var(--danger);color:var(--danger)}.alert.success{background:var(--success-subtle);border:1px solid var(--success);color:var(--success)}.player-wrap{aspect-ratio:16/9;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#000;background:lab(.112911% 0 0);width:100%;position:relative;overflow:hidden}.player-wrap iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.progress-bar{background:var(--surface-2);width:100%;height:5px;margin:var(--space-sm) 0;border-radius:3px;overflow:hidden}.progress-fill{background:var(--primary);transform-origin:0;height:100%;transition:transform .3s var(--ease-out);border-radius:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
