:root{--bg:#0b0d12;--bg-soft:#12151d;--surface:#171b25;--surface-2:#1f2431;--border:#2a3040;--text:#eef1f7;--muted:#9aa3b5;--accent:#6ee7c7;--accent-2:#7c8cff;--accent-strong:#34d399;--danger:#f87171;--warn:#fbbf24;--radius:14px;--radius-sm:10px;--maxw:1240px;--shadow:0 10px 30px #00000059}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(1100px 600px at 80% -10%, #7c8cff1f, transparent 60%), radial-gradient(900px 500px at 0% 0%, #6ee7c714, transparent 55%), var(--bg);color:var(--text);flex-direction:column;min-height:100vh;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.55;display:flex}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5{margin:0 0 .4em;font-weight:700;line-height:1.2}h1{letter-spacing:-.02em;font-size:clamp(1.7rem,4vw,2.4rem)}p{margin:0 0 1rem}.container{width:100%;max-width:var(--maxw);flex:1 0 auto;margin:0 auto;padding:2rem 1.25rem 4rem}.stack{flex-direction:column;gap:1rem;display:flex}.stack-lg{flex-direction:column;gap:2.25rem;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--accent);margin:0 0 .35rem;font-size:.72rem;font-weight:700}.muted{color:var(--muted)}.link{color:var(--accent);font-weight:600}.link:hover{text-decoration:underline}.tag{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:.1rem .5rem;font-size:.68rem;display:inline-block}.nav{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background:#0b0d12cc;position:sticky;top:0}.nav-inner{max-width:var(--maxw);justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;padding:.85rem 1.25rem;display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:.5rem;font-weight:800;display:inline-flex}.brand-mark{color:var(--accent);font-size:.8rem}.nav-links{align-items:center;gap:1.1rem;display:flex}.nav-links a{color:var(--muted);font-size:.95rem;font-weight:600}.nav-links a:hover,.nav-links a.active{color:var(--text)}.btn-logout{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:.35rem .85rem;font-size:.9rem;font-weight:600}.btn-logout:hover{color:var(--text);border-color:var(--muted)}.nav-avatar{color:#07120f;background:linear-gradient(135deg, var(--accent), var(--accent-2));border-radius:10px;flex:none;place-items:center;width:34px;height:34px;font-weight:900;display:grid;overflow:hidden}.nav-avatar img{object-fit:cover;width:100%;height:100%}.site-foot{border-top:1px solid var(--border);color:var(--muted);text-align:center;flex-shrink:0;padding:1.5rem;font-size:.85rem}.btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;width:fit-content;padding:.7rem 1.2rem;font-size:.98rem;font-weight:700;transition:transform 50ms,opacity .15s,background .15s;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#0b0d12}.btn-primary:hover:not(:disabled){filter:brightness(1.05)}.btn-ghost{border-color:var(--border);color:var(--text);background:0 0}.btn-ghost:hover:not(:disabled){border-color:var(--muted)}.form{flex-direction:column;gap:.7rem;margin-top:1rem;display:flex}.form label{color:var(--muted);font-size:.85rem;font-weight:600}.form input{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:.75rem .9rem;font-size:1rem}.form input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #6ee7c726}.form .btn{width:100%;margin-top:.35rem}.auth-wrap{justify-content:center;padding-top:2rem;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:420px;box-shadow:var(--shadow);padding:2rem}.error-box,.info-box,.success-box,.dev-box{border-radius:var(--radius-sm);border:1px solid var(--border);padding:.7rem .9rem;font-size:.92rem}.error-box{color:#fecaca;background:#f871711a;border-color:#f8717159}.info-box{color:#c7d0ff;background:#7c8cff1a;border-color:#7c8cff59}.success-box{color:#b6f3dc;background:#34d3991f;border-color:#34d39966}.dev-box{color:#fde4a6;background:#fbbf241a;border-color:#fbbf2466}.hero{background:linear-gradient(180deg, var(--surface), var(--bg-soft));border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:2rem}.progress-row{align-items:center;gap:.85rem;margin:.5rem 0 .4rem;display:flex}.progress{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;flex:1;height:12px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:999px;height:100%;transition:width .4s}.progress-label{font-variant-numeric:tabular-nums;text-align:right;min-width:3ch;font-weight:700}.stats{flex-wrap:wrap;gap:.75rem;margin:1.25rem 0;display:flex}.stat{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:.15rem;min-width:110px;padding:.75rem 1rem;display:flex}.stat-num{letter-spacing:-.02em;font-size:1.35rem;font-weight:800}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.weeks{gap:1rem;display:grid}.week-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.week-card.locked{opacity:.7}.week-head{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.75rem;display:flex}.week-head h3{margin:0;font-size:1.15rem}.week-tag{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:#6ee7c71a;border:1px solid #6ee7c74d;border-radius:999px;padding:.15rem .6rem;font-size:.72rem;font-weight:700}.lock{color:var(--muted);margin-left:auto;font-size:.85rem}.lesson-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.lesson-link{border-radius:var(--radius-sm);border:1px solid #0000;align-items:center;gap:.7rem;padding:.6rem .7rem;display:flex}.lesson-link:not(.disabled):hover{background:var(--surface-2);border-color:var(--border)}.lesson-link.disabled{color:var(--muted);cursor:not-allowed}.check{border:1px solid var(--border);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.8rem;display:inline-flex}li.done .check{background:var(--accent-strong);border-color:var(--accent-strong);color:#06281d}.lesson-title{flex:1}.lesson-dur{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.82rem}.back-link{color:var(--muted);font-size:.9rem;font-weight:600}.back-link:hover{color:var(--text)}.video-frame,.video-placeholder{border:1px solid var(--border);border-radius:var(--radius);aspect-ratio:16/9;color:var(--muted);background:#05070b;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex}.video-placeholder span{color:var(--accent);font-size:2.5rem}.markdown{color:#dfe4ee}.markdown h2,.markdown h3,.markdown h4,.markdown h5{color:var(--text);margin-top:1.4rem}.markdown ul{margin:0 0 1rem;padding-left:1.2rem}.markdown li{margin-bottom:.35rem}.asset-mini{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.asset-mini li{align-items:center;gap:.5rem;display:flex}.lesson-foot{border-top:1px solid var(--border);flex-direction:column;gap:1rem;padding-top:1.5rem;display:flex}.reward{flex-direction:column;gap:.85rem;display:flex}.reward-stats{flex-wrap:wrap;gap:.6rem;display:flex}.reward-stats span{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:.3rem .8rem;font-size:.9rem;font-weight:700}.new-badges ul{flex-wrap:wrap;gap:.5rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.badge-chip{color:#fde4a6;background:#fbbf241f;border:1px solid #fbbf2466;border-radius:999px;padding:.3rem .75rem;font-size:.9rem;font-weight:700}.asset-grid{gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.asset-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.asset-icon{font-size:1.6rem}.asset-body{flex-direction:column;flex:1;gap:.3rem;display:flex}.asset-body h3{margin:0;font-size:1.02rem}.level-head{justify-content:space-between;align-items:baseline;font-weight:700;display:flex}.badge-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;display:grid}.badge-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;flex-direction:column;gap:.4rem;padding:1.25rem;display:flex}.badge-card.locked{opacity:.55}.badge-card.awarded{border-color:#fbbf2480;box-shadow:inset 0 0 0 1px #fbbf2426}.badge-card h3{margin:0;font-size:1rem}.badge-medal{font-size:2.2rem}.badge-state{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-top:auto;font-size:.72rem;font-weight:700}.badge-card.awarded .badge-state{color:var(--warn)}.flix-home{min-width:0}.flix-hero{background:linear-gradient(90deg,#05080df5 0%,#080c13c7 48%,#080c1333 100%),radial-gradient(circle at 82% 30%,#6ee7c76e,#0000 25%),radial-gradient(circle at 70% 72%,#7c8cff6b,#0000 34%),#111722;border:1px solid #ffffff17;border-radius:26px;justify-content:space-between;align-items:flex-end;gap:2rem;min-height:420px;padding:clamp(2rem,7vw,5.5rem);display:flex;position:relative;overflow:hidden;box-shadow:0 28px 70px #00000073}.flix-hero:after{content:"";pointer-events:none;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 20%,#000);mask-image:linear-gradient(90deg,#0000 20%,#000)}.flix-hero-glow{border:1px solid #ffffff2e;border-radius:46% 54% 62% 38%;width:260px;height:260px;position:absolute;top:8%;right:10%;transform:rotate(22deg);box-shadow:inset 0 0 100px #6ee7c72b}.flix-hero-copy{z-index:1;max-width:650px;position:relative}.flix-hero h1{letter-spacing:-.055em;max-width:15ch;font-size:clamp(2.35rem,6vw,4.8rem)}.flix-hero-meta{color:#c5cbd6}.flix-progress{max-width:480px;margin-bottom:1.5rem}.flix-progress .progress{background:#ffffff24;border:0;height:7px}.btn-play{min-height:48px;padding-inline:1.35rem}.level-panel{z-index:1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#080b118f;border:1px solid #ffffff29;border-radius:18px;flex-direction:column;gap:.25rem;min-width:190px;padding:1.15rem 1.3rem;display:flex;position:relative}.level-panel strong{font-size:1.8rem}.level-panel span:last-child,.level-kicker{color:var(--muted);font-size:.82rem}.level-kicker{text-transform:uppercase;letter-spacing:.12em;font-weight:800}.content-rail-section{min-width:0}.section-heading{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.section-heading h2{letter-spacing:-.025em;margin:0;font-size:clamp(1.35rem,3vw,1.9rem)}.section-heading.compact{align-items:center}.section-count{color:var(--muted);font-size:.85rem}.content-rail{scroll-snap-type:x proximity;scrollbar-color:var(--border) transparent;grid-auto-columns:minmax(245px,28%);grid-auto-flow:column;gap:1rem;padding:.15rem .1rem 1.1rem;display:grid;overflow:auto hidden}.content-rail>*{scroll-snap-align:start}.flix-card,.lesson-tile,.news-card,.offer-card{transition:transform .18s,border-color .18s,box-shadow .18s}.flix-card:hover,.lesson-tile:hover,.news-card:hover,.offer-card:hover{border-color:#ffffff3b;transform:translateY(-4px);box-shadow:0 18px 42px #00000059}.module-poster{border:1px solid var(--border);background:var(--surface);border-radius:18px;flex-direction:column;min-height:360px;display:flex;overflow:hidden}.module-poster.locked{opacity:.64}.poster-art{background:linear-gradient(145deg,#263b46,#0b1218);justify-content:flex-end;align-items:flex-end;min-height:158px;padding:0 1rem;display:flex;overflow:hidden}.tone-2 .poster-art{background:linear-gradient(145deg,#353862,#111322)}.tone-3 .poster-art{background:linear-gradient(145deg,#4a324c,#171018)}.tone-4 .poster-art{background:linear-gradient(145deg,#405032,#12170e)}.poster-art span{color:#ffffff21;letter-spacing:-.12em;font-size:8rem;font-weight:950;line-height:.82}.poster-body{flex-direction:column;flex:1;gap:.8rem;padding:1.15rem;display:flex}.poster-body h3,.poster-body p{margin:0}.poster-body p{color:var(--muted);font-size:.85rem}.poster-body .progress{border:0;height:5px}.poster-topline{justify-content:space-between;align-items:center;display:flex}.poster-link{color:var(--accent);margin-top:auto;font-size:.9rem;font-weight:800}.lesson-rail{grid-auto-columns:minmax(220px,23%)}.lesson-tile{border:1px solid var(--border);background:var(--surface);border-radius:15px;min-height:205px;display:block;overflow:hidden}.lesson-tile.is-locked{opacity:.55}.lesson-art{background:radial-gradient(circle at 65% 30%,#7c8cff52,#0000 34%),linear-gradient(135deg,#19212c,#0c1017);place-items:center;min-height:126px;display:grid;position:relative}.lesson-number{color:#ffffff1f;font-size:4.6rem;font-weight:950;line-height:1;position:absolute;bottom:-.22rem;left:.8rem}.lesson-play{z-index:1;background:#04070c9e;border:1px solid #ffffff52;border-radius:999px;place-items:center;width:42px;height:42px;font-size:.82rem;display:grid;position:relative}.lesson-card-body{padding:.85rem .95rem}.lesson-card-body h3{min-height:2.4em;margin:0;font-size:.96rem}.lesson-card-body p{color:var(--muted);margin:.35rem 0 0;font-size:.78rem}.progress-showcase{border:1px solid var(--border);background:linear-gradient(125deg, #6ee7c717, #7c8cff14), var(--surface);border-radius:22px;grid-template-columns:minmax(240px,1.3fr) 1fr;align-items:center;gap:2rem;padding:clamp(1.5rem,4vw,3rem);display:grid}.progress-metrics{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.progress-metrics div{background:#00000021;border:1px solid #ffffff1a;border-radius:14px;flex-direction:column;padding:1rem;display:flex}.progress-metrics strong{font-size:1.7rem}.progress-metrics span{color:var(--muted);font-size:.78rem}.earned-badges{flex-wrap:wrap;grid-column:1/-1;gap:.5rem;display:flex}.earned-badges span,.feed-pin,.offer-price{color:#fde4a6;background:#fbbf2417;border:1px solid #fbbf2459;border-radius:999px;width:fit-content;padding:.28rem .65rem;font-size:.73rem;font-weight:800}.news-rail,.offer-rail{grid-auto-columns:minmax(285px,37%)}.news-card,.offer-card{border:1px solid var(--border);background:var(--surface);border-radius:18px;overflow:hidden}.news-card img,.offer-card img,.news-art,.offer-art{object-fit:cover;width:100%;height:155px}.news-art,.offer-art{color:#ffffff80;background:linear-gradient(145deg,#6ee7c73d,#7c8cff2e);place-items:center;font-size:3rem;display:grid}.news-card>div:last-child,.offer-copy{padding:1.15rem}.news-card h3,.offer-card h3{margin:.75rem 0 .45rem}.news-card p,.offer-card p{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.88rem;display:-webkit-box;overflow:hidden}.offer-copy{flex-direction:column;align-items:flex-start;display:flex}.offer-copy .btn{margin-top:1rem}.pwa-controls{z-index:50;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0f131bf0;border:1px solid #ffffff29;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem;width:min(520px,100vw - 2rem);padding:1rem;display:grid;position:fixed;bottom:1rem;right:1rem;box-shadow:0 22px 60px #00000094}.pwa-icon{color:#07120f;background:linear-gradient(135deg, var(--accent), var(--accent-2));border-radius:12px;place-items:center;width:42px;height:42px;font-size:1.5rem;font-weight:900;display:grid}.pwa-copy{flex-direction:column;min-width:0;display:flex}.pwa-copy span{color:var(--muted);font-size:.78rem}.pwa-actions{gap:.5rem;display:flex}.pwa-actions .btn{padding:.55rem .8rem;font-size:.78rem}.pwa-close{border:1px solid var(--border);width:26px;height:26px;color:var(--muted);background:var(--surface-2);cursor:pointer;border-radius:999px;place-items:center;display:grid;position:absolute;top:-8px;right:-8px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.profile-page{max-width:880px;margin-inline:auto}.profile-card{border:1px solid var(--border);background:radial-gradient(circle at 12% 20%, #6ee7c71f, transparent 34%), var(--surface);box-shadow:var(--shadow);border-radius:24px;grid-template-columns:240px 1fr;gap:clamp(1.5rem,5vw,3.5rem);padding:clamp(1.35rem,5vw,3rem);display:grid}.profile-avatar-wrap{flex-direction:column;align-items:center;gap:.7rem;display:flex}.profile-avatar{color:#06130f;background:linear-gradient(135deg, var(--accent), var(--accent-2));border:3px solid #ffffff29;border-radius:42px;place-items:center;width:152px;height:152px;font-size:3.8rem;font-weight:950;display:grid;overflow:hidden;box-shadow:0 20px 50px #00000059}.profile-avatar img{object-fit:cover;width:100%;height:100%}.avatar-edit{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;font-size:.86rem;font-weight:800}.avatar-edit:disabled{opacity:.55;cursor:wait}.avatar-help{color:var(--muted);text-align:center;font-size:.7rem}.profile-details{flex-direction:column;margin:0;display:flex}.profile-details div{border-bottom:1px solid var(--border);padding:1rem 0}.profile-details div:last-child{border-bottom:0}.profile-details dt{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.25rem;font-size:.72rem;font-weight:800}.profile-details dd{overflow-wrap:anywhere;margin:0;font-size:1.05rem;font-weight:700}@media (min-width:640px){.asset-grid{grid-template-columns:1fr 1fr}}@media (max-width:800px){.container{padding:1.2rem .9rem 5rem}.nav-inner{padding-inline:.9rem}.brand{max-width:42vw}.brand span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nav-links{gap:.35rem}.nav-links>a:not(.nav-avatar){display:none}.flix-hero{align-items:flex-end;min-height:510px;padding:2rem 1.35rem}.level-panel{display:none}.content-rail{grid-auto-columns:minmax(250px,82%)}.lesson-rail{grid-auto-columns:minmax(220px,74%)}.progress-showcase,.profile-card{grid-template-columns:1fr}.pwa-controls{grid-template-columns:auto 1fr}.pwa-actions{grid-column:1/-1}.pwa-actions .btn{flex:1}.earned-badges{grid-column:1}}
