:root{--bg: #f5f7fb;--card: #ffffff;--text: #1f2937;--muted: #6b7280;--accent: #2563eb;--accent-text: #ffffff;--border: #e5e7eb;--error: #dc2626}@media(prefers-color-scheme:dark){:root{--bg: #0f172a;--card: #1e293b;--text: #e5e7eb;--muted: #94a3b8;--accent: #3b82f6;--border: #334155;--error: #f87171}}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1{font-size:24px;margin:0 0 12px}h2{font-size:18px;margin:0 0 12px}a{color:inherit;text-decoration:none}button{padding:10px 20px;border:0;border-radius:8px;cursor:pointer;background:var(--accent);color:var(--accent-text);font-size:14px}button:disabled{opacity:.5;cursor:default}button.ghost{background:transparent;color:var(--text);border:1px solid var(--border);padding:6px 12px}.center{min-height:100vh;display:grid;place-items:center;padding:16px;text-align:center}.card{background:var(--card);border-radius:16px;padding:24px;box-shadow:0 10px 30px #00000014}.card.narrow{width:100%;max-width:380px;padding:32px}.muted{color:var(--muted)}.small{font-size:13px}.error{color:var(--error);font-size:14px;margin-top:16px}.page{max-width:960px;margin:0 auto;padding:24px 16px}.stack{display:grid;gap:16px}.stack>*{min-width:0}.header{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:12px 16px;background:var(--card);border-bottom:1px solid var(--border)}.brand{font-weight:700}.nav{display:flex;gap:16px;flex:1}.nav a{color:var(--muted);white-space:nowrap}.nav a:hover{color:var(--text)}.me{display:flex;align-items:center;gap:8px;min-width:0}.me img{width:28px;height:28px;border-radius:50%}.me-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}ul.plain{margin:0 0 8px;padding-left:18px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:10px 8px;border-top:1px solid var(--border);vertical-align:middle}th{color:var(--muted);font-weight:500;border-top:0}td.right{text-align:right}@media(max-width:520px){.me-name{display:none}.card{padding:16px}}input,textarea,select{font:inherit;font-size:14px;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:8px 10px;min-width:0}textarea{resize:vertical;width:100%}.field{display:grid;gap:4px;font-size:13px;color:var(--muted)}.field>input,.field>textarea,.field>select{color:var(--text);font-size:14px}.plain-fieldset{border:0;padding:0;margin:0;min-width:0}.row{display:flex;align-items:center;gap:12px}.row.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.nowrap{white-space:nowrap}.button{display:inline-block;text-align:center}a.button.ghost,button.ghost{background:transparent;color:var(--text);border:1px solid var(--border);padding:6px 12px;border-radius:8px;font-size:14px;cursor:pointer}button.danger{color:var(--error)}button.icon{background:transparent;color:var(--text);border:1px solid var(--border);padding:2px 8px}h3{font-size:15px;margin:0}.notice{border-left:4px solid var(--accent)}.badge{font-size:12px;padding:2px 8px;border-radius:999px;white-space:nowrap;background:var(--bg);color:var(--muted);border:1px solid var(--border)}.badge-READY,.badge-PUBLISHED{color:#15803d;border-color:#86efac}.badge-NEEDS_REVIEW,.badge-IN_REVIEW,.badge-PROCESSING{color:#b45309;border-color:#fcd34d}.badge-FAILED{color:var(--error);border-color:var(--error)}.list{list-style:none;margin:0;padding:0}.list li+li{border-top:1px solid var(--border)}.list-link{display:flex;align-items:center;gap:12px;padding:12px 0}.list-link:hover .grow{color:var(--accent)}.lessons{list-style:none;margin:0;padding:0;display:grid;gap:8px}.lesson-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--border)}.order-buttons{display:inline-flex;gap:4px}.row-actions{display:inline-flex;gap:6px;flex-wrap:wrap}.inline-input{border-color:transparent;background:transparent;padding:4px 6px}.inline-input:hover,.inline-input:focus{border-color:var(--border);background:var(--bg)}.add-lesson{display:grid;gap:8px;padding-top:12px;border-top:1px solid var(--border);max-width:480px}.editor-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:16px;align-items:start}.editor-video{position:sticky;top:16px;display:grid;gap:8px}.editor-video video{width:100%;border-radius:12px;background:#000}.save-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.episode{display:grid;gap:10px;padding:16px}.episode.has-issues{border-left:4px solid #f59e0b}.time-input{width:64px;padding:2px 6px;font-weight:600}.options{display:grid;gap:6px}.option{display:flex;align-items:center;gap:8px}.option-letter{width:18px;color:var(--muted)}.check{display:inline-flex;align-items:center;gap:6px;font-size:14px}.issues{margin:0;padding-left:18px;color:#b45309}@media(max-width:760px){.editor-layout{grid-template-columns:minmax(0,1fr)}.editor-video{position:static}}.lesson-error{flex-basis:100%;margin:0;color:var(--error);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.wallet{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.wallet-balance{font-size:36px;font-weight:700;margin:4px 0}.earn-rules{margin-top:6px;display:grid;gap:4px}.reward-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.reward{display:grid;gap:8px;align-content:space-between;padding:14px;border:1px solid var(--border);border-radius:12px}.reward p{margin:0}.list-row{padding:10px 0}.list-row.archived{opacity:.55}.coins-plus{color:#15803d}.coins-minus{color:var(--error)}.badge-FULFILLED{color:#15803d;border-color:#86efac}.badge-PENDING{color:#b45309;border-color:#fcd34d}.badge-REJECTED{color:var(--error);border-color:var(--error)}.badge-count{margin-left:6px;color:var(--accent-text);background:var(--accent);border-color:var(--accent)}.grant-form{margin-top:8px}.grant-form input[type=number]{width:110px}.join-card{max-width:480px;margin:0 auto}.settings-form{max-width:640px}.settings-form .field input[type=number]{width:130px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border)}.tabs a{padding:8px 14px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.tabs a.active{color:var(--text);border-bottom-color:var(--accent)}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{background:var(--card);color:var(--text);border:1px solid var(--border);padding:6px 12px;border-radius:999px;font-size:13px}.chip.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.course-card{display:grid;gap:6px;align-content:start;transition:transform .15s}.course-card:hover{transform:translateY(-2px)}.course-card h2{margin:0;font-size:17px}.course-card p{margin:0}.course-card-foot{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-top:8px;flex-wrap:wrap}.free{color:#15803d}.rating{color:#b45309}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:0}.facts dt{font-size:12px;color:var(--muted)}.facts dd{margin:2px 0 0;font-weight:600}.plain-list{margin:0;padding-left:20px;display:grid;gap:8px}.pre-wrap{white-space:pre-wrap;margin:0}.lesson-picks{list-style:none;padding:0}.lesson-pick{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:transparent;color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.lesson-pick:hover{border-color:var(--accent)}.access-badge-FREE_PICK,.access-badge-OPEN{color:var(--accent);border-color:var(--accent)}.access-badge-COMPLETED{color:#15803d;border-color:#86efac}.modal-backdrop{position:fixed;inset:0;background:#0f172a8c;display:grid;place-items:center;padding:16px;z-index:50}.modal{width:100%;max-width:440px}.modal p{margin:0}.player{position:relative;background:#000;border-radius:14px;overflow:hidden}.player video{width:100%;display:block;max-height:70vh;cursor:pointer}.player:fullscreen video{max-height:none;height:calc(100% - 52px)}.player-controls{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#0b1220;color:#e5e7eb}.icon-btn{background:transparent;color:#e5e7eb;padding:4px 8px;font-size:16px;min-width:32px}.time{font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.seek{position:relative;flex:1;height:20px;display:flex;align-items:center;min-width:0}.seek:before{content:"";position:absolute;left:0;right:0;height:4px;border-radius:2px;background:#334155}.seek-watched{position:absolute;left:0;height:4px;border-radius:2px;background:#64748b}.seek-tick{position:absolute;width:2px;height:10px;background:#fbbf24;transform:translate(-1px)}.seek input[type=range]{position:relative;width:100%;margin:0;background:transparent;border:0;padding:0;accent-color:var(--accent)}.player-toast{position:absolute;left:50%;top:16px;transform:translate(-50%);z-index:3;background:#0f172ae6;color:#fff;padding:8px 14px;border-radius:8px;font-size:14px;max-width:90%}.player-stage{display:grid;gap:14px}.player-stage:fullscreen{background:#0b1220;padding:16px;align-content:center;overflow:auto}.question-panel{background:var(--card);color:var(--text);border-radius:16px;padding:20px;display:grid;gap:14px;align-content:start;box-shadow:0 10px 30px #0f172a1f;border:2px solid color-mix(in srgb,var(--accent) 35%,var(--border));animation:q-in .25s ease-out}.question-panel h2{margin:0;font-size:19px;line-height:1.35}.question-panel p{margin:0}.question-meta{text-transform:none}@keyframes q-in{0%{opacity:0;transform:translateY(-8px)}}@media(min-width:900px){.player-stage.with-question{grid-template-columns:minmax(0,1.25fr) minmax(320px,1fr);align-items:start}.player-stage.with-question>.question-panel{order:2;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto}.player-stage.with-question>.player{order:1}.player-stage.with-question video{max-height:80vh}}.answers{display:grid;gap:10px}.answer{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:10px 14px;background:var(--bg);color:var(--text);border:2px solid var(--border);border-radius:12px;text-align:left;font-size:15px;line-height:1.35;cursor:pointer;transition:border-color .12s,background .12s}.answer:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.answer:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}.answer.chosen{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--card))}.answer-letter{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:14px;background:var(--card);border:2px solid var(--border)}.answer.chosen .answer-letter{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.answer-text{flex:1;min-width:0;overflow-wrap:anywhere}.question-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.answer-submit{padding:12px 26px;font-size:15px;border-radius:999px}@media(max-width:640px){.question-panel{padding:16px}}.rating-step h2{margin:0;font-size:18px}.stars{display:flex;gap:4px}.star{background:transparent;color:var(--border);font-size:34px;padding:0 2px;line-height:1}.star.on{color:#f59e0b}a.button{background:var(--accent);color:var(--accent-text);padding:10px 20px;border-radius:8px;font-size:14px}.pop-stage{display:grid;justify-items:center;gap:12px;padding:8px 0 16px;text-align:center}.pop-wrap{position:relative;display:grid;place-items:center;width:260px;height:260px}.pop-bubble{position:relative;width:210px;height:210px;border-radius:50%;padding:22px;border:0;cursor:pointer;background-color:#2563eb;background-size:cover;background-position:center;box-shadow:0 0 0 3px #ffffff80,0 0 40px #a855f7a6,0 0 90px #3b82f673,inset -14px -18px 34px #00000073;color:#fff;display:grid;place-content:center;gap:6px;animation:float 2.6s ease-in-out infinite,hue 6s linear infinite}.pop-bubble:before{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;background:radial-gradient(circle at 30% 25%,#ffffffd9,#fff0 28%),radial-gradient(circle at 50% 50%,#2563eb26,#4c1d958c 75%,#1e1b4bd9)}.pop-bubble:hover{transform:scale(1.04)}.pop-title,.pop-cta{position:relative;text-shadow:0 2px 6px rgba(0,0,0,.7)}.pop-title{font-weight:800;font-size:17px}.pop-cta{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.95;animation:blink 1.2s ease-in-out infinite}.pop-bubble.popping{animation:burst .5s cubic-bezier(.2,.9,.3,1.3) forwards}.pop-bubble.popping .pop-title,.pop-bubble.popping .pop-cta{opacity:0;transition:opacity .1s}.shock{position:absolute;left:50%;top:50%;width:210px;height:210px;margin:-105px 0 0 -105px;border-radius:50%;pointer-events:none;border:6px solid #fde047;animation:shock .8s ease-out forwards}.shock-2{border-color:#ec4899;animation-delay:.08s}.shock-3{border-color:#22d3ee;animation-delay:.16s}.pop-done{display:grid;justify-items:center;gap:4px}.pop-done p{margin:0}.pop-trophy{font-size:64px;animation:trophy .9s cubic-bezier(.2,.9,.3,1.4) both;filter:drop-shadow(0 6px 14px rgba(245,158,11,.6))}.pop-plus{font-size:22px;font-weight:800;background:linear-gradient(90deg,#f59e0b,#ec4899,#8b5cf6);-webkit-background-clip:text;background-clip:text;color:transparent;animation:trophy .9s .15s cubic-bezier(.2,.9,.3,1.4) both}.confetti-canvas{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:1000}@keyframes float{50%{transform:translateY(-8px) scale(1.02)}}@keyframes hue{to{filter:hue-rotate(360deg)}}@keyframes blink{50%{opacity:.55}}@keyframes burst{0%{transform:scale(1)}35%{transform:scale(1.25);opacity:1;filter:brightness(1.6)}to{transform:scale(1.9);opacity:0;filter:brightness(2)}}@keyframes shock{0%{transform:scale(.6);opacity:1}to{transform:scale(2.6);opacity:0;border-width:1px}}@keyframes trophy{0%{transform:scale(0) rotate(-25deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@media(prefers-reduced-motion:reduce){.pop-bubble,.pop-bubble.popping,.pop-cta,.shock,.pop-trophy,.pop-plus{animation:none}}.access-badge-READY_TO_POP{color:#fff;background:var(--accent);border-color:var(--accent)}.status-line{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:999px;padding:3px;gap:2px;background:var(--bg)}.segmented button{background:transparent;color:var(--muted);border-radius:999px;padding:6px 14px;font-size:13px}.segmented button.on{background:var(--card);color:var(--text);box-shadow:0 1px 3px #0000001f}.small-seg button{padding:4px 10px;font-size:12px}.notice-inline{margin:0;padding:8px 12px;border-radius:8px;background:var(--bg);border-left:3px solid var(--accent)}.aquarium{position:relative;overflow:hidden;border-radius:16px;touch-action:pan-y;background:radial-gradient(ellipse at 50% -10%,#1a2140,#0b0e1a 60%,#07080f);box-shadow:inset 0 0 80px #788cff14}.aquarium-empty{position:absolute;inset:0;display:grid;place-items:center;color:#cbd5e1;margin:0;padding:16px;text-align:center}.bubble{position:absolute;left:0;top:0;border-radius:50%;padding:0;overflow:visible;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#fff;text-align:center;line-height:1.15;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;will-change:transform;border:0;--h: 210;--rim: hsl(var(--h) 95% 58%);--glow: hsl(var(--h) 100% 60% / .55);background:radial-gradient(circle at 50% 50%,hsl(var(--h) 80% 12% / .35) 52%,hsl(var(--h) 90% 45% / .45) 80%,var(--rim) 97%);box-shadow:0 0 14px var(--glow),inset 0 0 18px hsl(var(--h) 100% 60% / .35);transition:filter .2s,opacity .2s}.bubble:before{content:"";position:absolute;inset:7% 18% auto;height:34%;border-radius:50%;pointer-events:none;background:radial-gradient(ellipse at 50% 30%,#ffffff73,#fff0 70%);animation:gloss var(--wobble, 4s) ease-in-out infinite alternate}@keyframes gloss{0%{opacity:.55;transform:translateY(0) scaleX(1)}to{opacity:.95;transform:translateY(6%) scaleX(.9)}}.bubble-look-1{background:radial-gradient(circle at 32% 28%,hsl(var(--h) 100% 88%),hsl(var(--h) 85% 58%) 22%,hsl(var(--h) 80% 38%) 65%,hsl(var(--h) 85% 18%));box-shadow:0 0 16px var(--glow),inset -6px -10px 18px #0000004d}.bubble-look-1:before{opacity:.35}.bubble-look-2{background:radial-gradient(circle at 50% 50%,hsl(var(--h) 90% 60% / .28),hsl(var(--h) 80% 10% / .25) 70%,transparent 88%);box-shadow:0 0 0 2px var(--rim),0 0 18px var(--glow),inset 0 0 22px hsl(var(--h) 100% 60% / .45)}.bubble:hover{filter:brightness(1.18) saturate(1.1)}.bubble:active{cursor:grabbing}.bubble:focus-visible{outline:3px solid #fde047;outline-offset:3px}.bubble-title{position:relative;max-width:76%;font-weight:700;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 3px rgba(0,0,0,.7);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.bubble-meta{position:relative;font-size:.82em;opacity:.92;font-variant-numeric:tabular-nums;text-shadow:0 1px 2px rgba(0,0,0,.7)}.bubble-tag{position:absolute;bottom:10%;font-size:.7em;background:#f59e0b;color:#1f2937;border-radius:999px;padding:1px 6px}.bubble-meta,.bubble-tag{max-width:80%}.bubble-IN_PROGRESS:after{content:"";position:absolute;inset:-5px;border-radius:50%;pointer-events:none;background:conic-gradient(#fde047 var(--p),rgba(255,255,255,.14) 0);-webkit-mask:radial-gradient(closest-side,transparent calc(100% - 5px),#000 calc(100% - 4px));mask:radial-gradient(closest-side,transparent calc(100% - 5px),#000 calc(100% - 4px))}.bubble-LOCKED{filter:saturate(.35) brightness(.8);opacity:.7}.bubble-TOMORROW{filter:saturate(.5) brightness(.85);opacity:.78}.bubble-LOCKED:hover,.bubble-TOMORROW:hover{filter:saturate(.6) brightness(1)}.bubble-READY_TO_POP{--rim: #fde047;--glow: rgba(253, 224, 71, .7);animation:ready 1.4s ease-in-out infinite}.bubble-COMPLETED{filter:saturate(.8)}@keyframes ready{50%{box-shadow:0 0 0 6px #fde04759,0 0 30px #fde047cc}}@media(prefers-reduced-motion:reduce){.bubble-READY_TO_POP,.bubble:before{animation:none}}.access-badge-FREE_PICK,.access-badge-AVAILABLE,.access-badge-IN_PROGRESS{color:var(--accent);border-color:var(--accent)}.lesson-pick.access-LOCKED,.lesson-pick.access-TOMORROW{opacity:.6}.offer{display:grid;gap:12px;padding:16px;border-radius:14px;border:2px solid var(--accent);background:var(--bg)}.offer h2{margin:0;font-size:19px}.offer h3{margin:4px 0 0}.offer p{margin:0}.offer-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start}.countdown{display:grid;justify-items:end;gap:2px;text-align:right}.countdown strong{font-size:26px;font-variant-numeric:tabular-nums;letter-spacing:.5px}.offer-hold{display:grid;gap:4px;padding:12px;border-radius:10px;background:var(--card)}.offer-hold strong{font-size:18px}.offer-rules{margin:0;padding-left:20px;display:grid;gap:6px;font-size:14px}.offer-example{margin-top:4px;padding:6px 10px;border-left:3px solid #f59e0b;background:var(--card);border-radius:6px}@media(max-width:520px){.countdown{justify-items:start;text-align:left}}.center-card{display:grid;place-items:center;padding-top:40px}.spinner{width:32px;height:32px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--accent);animation:spin .9s linear infinite}.pay-status{margin:0}.pay-SUCCEEDED{color:#15803d;font-weight:600}.pay-FAILED,.pay-EXPIRED{color:var(--error)}.buy-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.panel{display:grid;gap:10px;padding:16px;border-radius:14px;border:2px solid #16a34a;background:var(--bg)}.panel h2{margin:0;font-size:19px}.panel p{margin:0}.panel-today{margin:0;padding:10px 12px;border-radius:10px;background:var(--card)}.panel-today.ok{color:#15803d;font-weight:600}.panel-today.due{display:grid;gap:2px;border-left:4px solid #f59e0b}.panel-today.due strong{font-size:26px;font-variant-numeric:tabular-nums}.panel-alert{padding:10px 12px;border-radius:10px;border-left:4px solid var(--error);background:var(--card);display:grid;gap:8px}.panel-confirm{padding:12px;border-radius:10px;background:var(--card)}.result-banner{display:grid;gap:8px;padding:12px 14px;border-radius:12px;background:var(--bg);border-left:4px solid var(--accent)}.result-banner p{margin:0}.result-SUCCEEDED{border-left-color:#16a34a}.result-MISSED_DAY,.result-HOLD_LOST{border-left-color:#f59e0b}.mine-list{display:grid;gap:8px}.mine-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 16px}.donation{padding:12px;border-radius:10px;background:var(--card)}.donation p{margin:0}.donation-other{width:170px}.content-json{width:100%;font-family:ui-monospace,Menlo,monospace;font-size:12px}.done-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:8px}.done-head h2{margin:0;font-size:18px}.aquarium-done{background:radial-gradient(ellipse at 50% 120%,#4a3410,#1c140a 55%,#0d0a06);box-shadow:inset 0 0 70px #fde0471f}.aquarium-done .aquarium-empty{color:#fde68a;opacity:.8}.aquarium-done .bubble{--rim: hsl(45 100% 60%)}.aquarium-done .bubble:after{content:"✓";position:absolute;top:6%;right:14%;font-size:1.1em;color:#fde047;text-shadow:0 0 6px rgba(253,224,71,.9)}.bubble-media{position:absolute;inset:3px;border-radius:50%;overflow:hidden;pointer-events:none}.bubble-media video,.bubble-media img{width:100%;height:100%;object-fit:cover;display:block}.bubble-art .bubble-media:after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 50% 50%,hsl(var(--h) 70% 12% / .35) 30%,hsl(var(--h) 85% 22% / .7) 75%,hsl(var(--h) 90% 45% / .85))}.bubble-art:before{z-index:1}.bubble-art .bubble-title,.bubble-art .bubble-meta,.bubble-art .bubble-tag{z-index:2}.home{display:grid;gap:28px}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:28px;align-items:center}.hero-kicker{margin:0;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#a855f7}.hero h1{font-size:clamp(30px,4.4vw,48px);line-height:1.05;margin:8px 0 12px;background:linear-gradient(100deg,#2563eb,#a855f7 45%,#ec4899);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-lead{font-size:16px;line-height:1.55;margin:0 0 18px}.hero-copy button,.hero-copy .button{font-size:16px;padding:12px 22px;border-radius:999px}.hero-tank{position:relative}.hero-tank-label{position:absolute;z-index:5;top:12px;left:50%;transform:translate(-50%);padding:6px 14px;border-radius:999px;background:#0f172ab3;color:#fff;font-size:13px;font-weight:600;white-space:nowrap;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hero-refill{position:absolute;z-index:5;bottom:14px;left:50%;transform:translate(-50%);background:#fff}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.step{position:relative;padding-top:18px}.step h3{margin:6px 0;font-size:16px}.step p{margin:0;line-height:1.5}.step-icon{font-size:30px}.step-n{position:absolute;top:12px;right:14px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;color:#fff;background:linear-gradient(135deg,#3b82f6,#a855f7)}.why h2{margin-top:0}.why ul{margin:0;padding-left:20px;display:grid;gap:6px}.final-cta{text-align:center;display:grid;justify-items:center;gap:6px}.final-cta h2{margin:0}.leaderboard{display:grid;gap:12px}.leader-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}.leader-head h2{margin:0}.leader-empty{margin:0;padding:16px;border-radius:12px;background:var(--bg);text-align:center}.leader-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.leader-row{display:grid;grid-template-columns:34px 34px minmax(0,1fr) auto auto auto 56px;align-items:center;gap:10px;padding:8px 12px;border-radius:12px;background:var(--bg)}.leader-row.podium{background:linear-gradient(90deg,rgba(253,224,71,.22),transparent 70%)}.leader-row.you{outline:2px solid var(--accent)}.leader-rank{font-size:20px;text-align:center;font-weight:700}.leader-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;background:linear-gradient(135deg,#22c55e,#06b6d4)}.leader-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;gap:6px;align-items:center}.leader-stat{font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.leader-points{text-align:right;font-size:18px;font-variant-numeric:tabular-nums}@media(max-width:860px){.hero{grid-template-columns:1fr}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.steps{grid-template-columns:1fr}.leader-row{grid-template-columns:28px minmax(0,1fr) auto 44px}.leader-avatar,.leader-row .leader-stat:nth-of-type(n+2){display:none}}.order-list{display:grid;gap:8px;justify-items:center}.order-row{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;min-height:48px;box-sizing:border-box;background:var(--bg);border:2px solid var(--border);border-radius:12px;cursor:grab;-webkit-user-select:none;user-select:none;transition:width .2s,border-color .12s,transform .12s}.order-row:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}.order-row.picked{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--card));transform:scale(1.02)}.order-row.dragging{opacity:.4;border-style:dashed}.order-row.just-moved{border-color:var(--accent)}.order-slot{width:100%;display:grid;gap:4px;transition:width .2s}.order-row{touch-action:none}.order-list.is-dragging{cursor:grabbing}.grip{flex:none;color:var(--muted);font-size:14px;letter-spacing:-2px;cursor:grab}.drop-line{height:4px;border-radius:2px;background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.order-n{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:13px;background:var(--card);border:2px solid var(--border)}.order-text{flex:1;min-width:0;font-size:15px;overflow-wrap:anywhere}.order-moves{display:flex;gap:4px}.order-move{padding:4px 9px;font-size:12px;border-radius:8px;background:var(--card);color:var(--text);border:1px solid var(--border)}.order-list.pyramid .order-row{justify-content:center;text-align:center;border-radius:10px;background:linear-gradient(180deg,color-mix(in srgb,#f59e0b 22%,var(--card)),var(--bg))}.order-list.pyramid .order-slot:first-of-type .order-row{border-top-left-radius:22px;border-top-right-radius:22px}.order-list.pyramid .order-n{display:none}.order-list.pyramid .order-row{padding-left:14px}.order-list.pyramid .order-text{font-weight:600;-webkit-hyphens:auto;hyphens:auto}@media(max-width:520px){.order-list.pyramid .order-slot{min-width:78%}}.pyramid-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.match-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:44px;align-items:start}.match-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:1}.match-col{display:grid;gap:8px}.match-cell{position:relative}.match-item{position:relative;width:100%;text-align:left;padding:10px 12px 10px 28px;min-height:48px;border-radius:12px;font-size:14px;line-height:1.3;background:var(--bg);color:var(--text);border:2px solid var(--border);overflow-wrap:anywhere;transition:border-color .12s,box-shadow .12s,transform .12s;-webkit-tap-highlight-color:transparent}.match-item.source{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.match-item.source:not(.paired){border-style:dashed}.match-item.active{border-color:var(--pc, var(--accent));border-style:solid;box-shadow:0 0 0 4px color-mix(in srgb,var(--pc, var(--accent)) 28%,transparent);transform:translate(4px)}.match-item.paired{border-color:var(--pc);background:color-mix(in srgb,var(--pc) 10%,var(--card))}.match-item.dragging{opacity:.45}.match-item.target.awaiting:not(.paired){border-style:dashed;border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.match-item.target.awaiting:hover,.match-item.target.drop-hover{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 25%,transparent);transform:scale(1.03)}.match-dot{position:absolute;left:10px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:var(--pc, var(--border))}.match-item.source:not(.paired) .match-dot{background:transparent;border:2px solid var(--muted);box-sizing:border-box}.match-remove{position:absolute;top:-8px;right:-8px;z-index:2;width:24px;height:24px;padding:0;border-radius:50%;display:grid;place-items:center;font-size:15px;line-height:1;background:var(--card);color:var(--text);border:1px solid var(--border);box-shadow:0 1px 3px #0003}.match-remove:hover{background:var(--danger, #dc2626);color:#fff;border-color:transparent}@media(max-width:520px){.match-grid{column-gap:26px}.match-item{font-size:13px;padding:8px 8px 8px 24px}.match-dot{left:8px}}.task-step{margin:0 0 12px;padding:8px 12px;border-radius:10px;font-size:14px;background:color-mix(in srgb,var(--accent) 10%,var(--card))}.task-step.done{background:color-mix(in srgb,#16a34a 14%,var(--card))}.drag-ghost{position:fixed;z-index:1000;pointer-events:none;transform:translate(-50%,-120%);max-width:260px;padding:8px 12px;border-radius:12px;font-size:14px;background:var(--card);color:var(--text);border:2px solid var(--accent);box-shadow:0 8px 24px #00000040}.burst-layer{position:fixed;inset:0;pointer-events:none;z-index:900}.mini-bubble{position:absolute;border-radius:50%;--h: 210;background:radial-gradient(circle at 32% 28%,#fffffff2,hsl(var(--h) 95% 70% / .7) 35%,hsl(var(--h) 90% 50% / .35) 70%,hsl(var(--h) 95% 60% / .9));box-shadow:0 0 8px hsl(var(--h) 100% 60% / .7)}.bubble.bursting{transition:transform .25s ease-out,opacity .25s ease-out;opacity:0}.course-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,1fr);gap:24px;align-items:center}.course-hero h1{margin:0}.course-description{margin:0;line-height:1.6}.course-highlights ul{margin:6px 0 0;padding-left:0;list-style:none;display:grid;gap:6px}.course-highlights li{position:relative;padding-left:26px;line-height:1.45}.course-highlights li:before{content:"🫧";position:absolute;left:0;top:0}.course-cover{position:relative;aspect-ratio:1;border-radius:22px;overflow:hidden;background:radial-gradient(ellipse at 50% -10%,#1a2140,#0b0e1a 60%,#07080f);box-shadow:inset 0 0 60px #788cff1f,0 14px 34px #0f172a40}.cover-bubble{position:absolute;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);background-color:hsl(var(--h) 70% 30%);background-size:cover;background-position:center;box-shadow:0 0 0 2px hsl(var(--h) 95% 60%),0 0 22px hsl(var(--h) 100% 60% / .55),inset 0 0 24px hsl(var(--h) 100% 50% / .6);animation:cover-float 6s ease-in-out infinite}.cover-bubble:after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.55),transparent 32%),radial-gradient(circle,transparent 55%,hsl(var(--h) 90% 40% / .55))}.cover-shine{position:absolute;inset:0;background:linear-gradient(160deg,rgba(255,255,255,.08),transparent 40%);pointer-events:none}@keyframes cover-float{50%{transform:translate(-50%,calc(-50% - 8px)) scale(1.03)}}@media(max-width:760px){.course-hero{grid-template-columns:1fr}.course-cover{max-width:360px;width:100%;justify-self:center}}@media(prefers-reduced-motion:reduce){.cover-bubble{animation:none}}.prize-backdrop{position:fixed;inset:0;z-index:950;display:grid;place-items:center;padding:16px;background:#0f172a8c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in .2s ease-out}.prize-card{position:relative;overflow:hidden;width:min(440px,100%);padding:28px 24px;border-radius:22px;text-align:center;background:var(--card);color:var(--text);box-shadow:0 30px 80px #00000059;display:grid;gap:10px;justify-items:center}.prize-card h2{margin:0;font-size:24px;position:relative}.prize-card p{margin:0;position:relative;line-height:1.5}.gift{font-size:96px;animation:gift-shake .9s ease-in-out both}.prize-medal{position:relative;font-size:84px;animation:trophy .8s cubic-bezier(.2,.9,.3,1.4) both;filter:drop-shadow(0 8px 18px rgba(245,158,11,.6))}.prize-rays{position:absolute;left:50%;top:70px;width:420px;height:420px;margin:-210px 0 0 -210px;background:repeating-conic-gradient(rgba(253,224,71,.35) 0 10deg,transparent 10deg 20deg);border-radius:50%;animation:spin 8s linear infinite;mask:radial-gradient(circle,#000 20%,transparent 65%);-webkit-mask:radial-gradient(circle,#000 20%,transparent 65%)}.prize-badge{font-weight:800;background:linear-gradient(90deg,#f59e0b,#ec4899,#8b5cf6);-webkit-background-clip:text;background-clip:text;color:transparent}.prize-actions{justify-content:center;position:relative}@keyframes gift-shake{0%,to{transform:rotate(0) scale(1)}20%{transform:rotate(-12deg) scale(1.05)}40%{transform:rotate(12deg) scale(1.1)}60%{transform:rotate(-10deg) scale(1.15)}80%{transform:rotate(8deg) scale(1.25)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.gift,.prize-medal,.prize-rays{animation:none}}.pending-access{border:2px solid #f59e0b;background:color-mix(in srgb,#f59e0b 10%,var(--card));margin-bottom:20px}.pending-access h2{margin-top:0}
