:root{--grad:linear-gradient(119.54deg,#4d8fe2,#6857ed);--grad-warm:linear-gradient(119.54deg,#6857ed,#8b5cf6);--brand:#6857ed;--brand-2:#4d8fe2;--accent:#548cff;--bg:#f6f8fc;--bg-soft:#eef1f8;--panel:#fff;--panel-2:#f9fafd;--border:#e3e7f0;--text:#151515;--muted:#6f7686;--good:#0b8f66;--bad:#d13b4b;--warn:#b0741a;--radius:16px;--shadow:0 1px 2px rgba(21,30,60,.06),0 18px 40px -24px rgba(21,30,60,.28)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-sans),"Heebo","Assistant","Rubik","Noto Sans Hebrew","Arial Hebrew",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.6}body{background:radial-gradient(1200px 700px at 15% -10%,rgba(104,87,237,.07),transparent 60%),radial-gradient(1000px 600px at 100% 0,rgba(77,143,226,.06),transparent 55%),var(--bg);min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.container{width:100%;max-width:1080px;margin:0 auto;padding:0 20px}.site-header{justify-content:space-between;padding:18px 20px;gap:12px}.logo,.site-header{display:flex;align-items:center}.logo{gap:10px;font-weight:800;font-size:20px;letter-spacing:-.02em}.logo .spark{width:34px;height:34px;border-radius:10px;background:var(--grad);display:grid;place-items:center;box-shadow:0 8px 24px -8px rgba(124,92,255,.7);font-size:18px}.btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:var(--panel);color:var(--text);padding:10px 16px;border-radius:12px;font-weight:600;font-size:15px;transition:transform .08s ease,border-color .2s ease,background .2s ease}.btn:hover{border-color:var(--brand);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--grad);border:none;color:var(--bg);font-weight:800;box-shadow:0 12px 30px -10px rgba(124,92,255,.7)}.btn-primary:hover{filter:brightness(1.05)}.btn-ghost{background:transparent}.btn-sm{padding:7px 12px;font-size:14px;border-radius:10px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.hero{text-align:center;padding:40px 0 24px}.hero h1{font-size:clamp(32px,6vw,58px);line-height:1.05;letter-spacing:-.03em;margin:14px 0 12px;font-weight:850;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p.sub{color:var(--muted);font-size:clamp(16px,2.4vw,20px);max-width:680px;margin:0 auto 24px}.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;border:1px solid var(--border);background:rgba(124,92,255,.1);color:var(--brand-2);font-size:13px;font-weight:600}.search-wrap{max-width:620px;margin:0 auto;position:relative}.search{width:100%;padding:16px 18px;-webkit-padding-start:46px;padding-inline-start:46px;border-radius:14px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:16px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.search:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(124,92,255,.18)}.search-icon{position:absolute;inset-inline-start:15px;top:50%;transform:translateY(-50%);color:var(--muted)}.chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:20px 0 8px}.chip{padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--muted);font-size:14px;font-weight:600;transition:all .15s ease}.chip.active,.chip:hover{color:var(--text);border-color:var(--brand);background:rgba(124,92,255,.14)}.section-title{font-size:22px;font-weight:800;margin:34px 0 16px;letter-spacing:-.01em}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:16px;gap:16px}.card{background:linear-gradient(180deg,var(--panel) 0,var(--bg-soft) 100%);border:1px solid var(--border);border-radius:var(--radius);padding:18px;gap:10px;transition:transform .12s ease,border-color .2s ease,box-shadow .2s ease;position:relative;overflow:hidden}.card:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--grad);opacity:0;transition:opacity .2s ease}.card:hover{transform:translateY(-3px);border-color:var(--brand);box-shadow:var(--shadow)}.card:hover:before{opacity:1}.card .emoji{font-size:30px}.card .meta{display:flex;gap:8px;flex-wrap:wrap}.tag{font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;background:rgba(34,211,238,.12);color:var(--brand-2);border:1px solid rgba(34,211,238,.25)}.tag.grade{background:rgba(255,122,182,.12);color:var(--accent);border-color:rgba(255,122,182,.25)}.card h3{margin:2px 0 0;font-size:18px;font-weight:800;letter-spacing:-.01em}.card p.blurb{color:var(--muted);font-size:14px;margin:0;flex:1 1}.card .learn{margin-top:6px;display:inline-flex;align-items:center;gap:6px;color:var(--brand-2);font-weight:700;font-size:14px}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:16px;gap:16px;margin:30px 0}.feature{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.feature .fi{width:42px;height:42px;border-radius:12px;background:rgba(124,92,255,.14);display:grid;place-items:center;color:var(--brand-2);margin-bottom:10px}.feature h4{margin:0 0 6px;font-size:17px}.feature p{margin:0;color:var(--muted);font-size:14px}.footer{text-align:center;color:var(--muted);font-size:13px;padding:30px 0 40px}.session{display:flex;flex-direction:column;height:100dvh;max-width:900px;margin:0 auto}.session-top{justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border);background:rgba(11,16,32,.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:-webkit-sticky;position:sticky;top:0;z-index:5}.session-title,.session-top{display:flex;align-items:center}.session-title{gap:10px;min-width:0}.session-title .t{font-weight:800;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar{width:34px;height:34px;border-radius:10px;background:var(--grad);display:grid;place-items:center;font-size:18px;flex-shrink:0}.messages{flex:1 1;overflow-y:auto;padding:20px 18px 8px;display:flex;flex-direction:column;gap:16px}.msg{display:flex;gap:12px;max-width:100%}.msg .bubble{border-radius:16px;padding:14px 16px;font-size:15.5px;max-width:min(680px,88%);overflow-wrap:anywhere}.msg.user{flex-direction:row-reverse}.msg.user .bubble{background:var(--grad-warm);color:var(--bg);font-weight:600;border-bottom-right-radius:4px}[dir=rtl] .msg.user .bubble{border-bottom-right-radius:16px;border-bottom-left-radius:4px}.msg.assistant .bubble{background:var(--panel);border:1px solid var(--border);border-bottom-left-radius:4px}[dir=rtl] .msg.assistant .bubble{border-bottom-left-radius:16px;border-bottom-right-radius:4px}.msg .mini-avatar{width:30px;height:30px;border-radius:9px;flex-shrink:0;display:grid;place-items:center;font-size:15px}.msg.assistant .mini-avatar{background:var(--grad)}.msg.user .mini-avatar{background:var(--panel-2);border:1px solid var(--border)}.markdown p{margin:0 0 10px}.markdown p:last-child{margin-bottom:0}.markdown ol,.markdown ul{margin:6px 0 10px;-webkit-padding-start:22px;padding-inline-start:22px}.markdown li{margin:3px 0}.markdown h1,.markdown h2,.markdown h3{margin:12px 0 6px;line-height:1.25}.markdown code{background:rgba(21,30,60,0);padding:1px 6px;border-radius:6px;font-size:.92em}.markdown strong{color:var(--text)}.markdown a{color:var(--brand-2);text-decoration:underline}.composer{border-top:1px solid var(--border);padding:12px 16px 18px;background:rgba(11,16,32,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modes{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}.mode-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:10px;border:1px solid var(--border);background:var(--panel);color:var(--muted);font-size:13.5px;font-weight:700;transition:all .12s ease}.mode-btn.active{color:var(--bg);background:var(--grad);border-color:transparent}.mode-hint{color:var(--muted);font-size:12.5px;margin:0 0 8px;min-height:16px}.composer-row{display:flex;gap:10px;align-items:flex-end}.composer textarea{flex:1 1;resize:none;min-height:48px;max-height:160px;padding:13px 14px;border-radius:14px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:15.5px;font-family:inherit;outline:none;transition:border-color .2s ease}.composer textarea:focus{border-color:var(--brand)}.send-btn{width:48px;height:48px;flex-shrink:0;border-radius:14px;border:none;background:var(--grad);color:var(--bg);display:grid;place-items:center;box-shadow:0 10px 24px -10px rgba(124,92,255,.7)}.send-btn:disabled{opacity:.5}.widget{border:1px solid var(--border);border-radius:14px;background:var(--bg-soft);padding:14px;margin:12px 0}.widget-title{font-weight:800;font-size:15px;margin-bottom:10px;display:flex;align-items:center;gap:8px}.stepper-body{min-height:90px}.step-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}.step-num{width:28px;height:28px;border-radius:50%;background:var(--grad);color:var(--bg);font-weight:800;display:grid;place-items:center;font-size:14px;flex-shrink:0}.step-title{font-weight:700}.step-detail{color:var(--muted);font-size:14.5px}.step-math{margin:10px 0 2px;padding:10px 12px;background:rgba(124,92,255,.08);border:1px solid var(--border);border-radius:10px;overflow-x:auto}.stepper-controls{display:flex;align-items:center;justify-content:space-between;margin-top:12px;gap:10px}.dots{display:flex;gap:6px}.dot{width:8px;height:8px;border-radius:50%;background:var(--border)}.dot.on{background:var(--brand-2)}.quiz-q{margin-bottom:16px}.quiz-q:last-child{margin-bottom:0}.quiz-prompt{font-weight:700;margin-bottom:10px}.choices{display:flex;flex-direction:column;gap:8px}.choice{text-align:start;padding:11px 13px;border-radius:11px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:14.5px;font-weight:600;transition:all .12s ease;display:flex;align-items:center;gap:10px}.choice:hover:not(:disabled){border-color:var(--brand)}.choice.correct{border-color:var(--good);background:rgba(52,211,153,.14)}.choice.wrong{border-color:var(--bad);background:rgba(251,113,133,.14)}.choice .letter{width:24px;height:24px;border-radius:7px;background:var(--panel-2);display:grid;place-items:center;font-size:13px;font-weight:800;flex-shrink:0}.quiz-explain{margin-top:10px;padding:10px 12px;border-radius:10px;background:rgba(34,211,238,.08);border:1px solid var(--border);font-size:14px}.quiz-score{margin-top:8px;font-weight:800;font-size:16px}.chart-box{width:100%;height:300px}.mermaid-box{overflow-x:auto;text-align:center}.widget-note{color:var(--muted);font-size:12.5px;margin-top:8px}.typing{display:inline-flex;gap:4px;align-items:center}.typing span{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:bounce 1.2s ease-in-out infinite}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,80%,to{transform:translateY(0);opacity:.5}40%{transform:translateY(-5px);opacity:1}}.lang-toggle{display:inline-flex;border:1px solid var(--border);border-radius:10px;overflow:hidden}.lang-toggle button{padding:7px 12px;background:var(--panel);color:var(--muted);border:none;font-weight:700;font-size:13px}.lang-toggle button.active{background:var(--grad);color:var(--bg)}.ws-toolbar{justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;background:var(--bg);z-index:5}.ws-actions,.ws-toolbar{display:flex;align-items:center}.ws-actions{gap:8px;flex-wrap:wrap;justify-content:flex-end}@media (max-width:560px){.ws-toolbar{flex-wrap:wrap;padding:10px 12px}.ws-actions{width:100%}}.worksheet-page{background:#fff;color:var(--text);max-width:820px;margin:24px auto;padding:44px 48px;border-radius:12px;box-shadow:var(--shadow)}.worksheet-page h1{font-size:26px;margin:0 0 4px}.ws-sub{color:var(--muted);font-weight:600;margin-bottom:18px}.ws-namebar{display:flex;gap:24px;border-top:2px solid var(--text);border-bottom:2px solid var(--text);padding:8px 0;margin-bottom:20px;font-weight:700}.ws-namebar .field{flex:1 1;display:flex;align-items:baseline;gap:8px}.ws-namebar .line{flex:1 1;border-bottom:1px solid var(--border);min-width:80px}.ws-objectives{background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;padding:12px 16px;margin-bottom:22px}.ws-objectives h3{margin:0 0 6px;font-size:15px;color:var(--brand)}.ws-objectives ul{margin:0;-webkit-padding-start:20px;padding-inline-start:20px;color:var(--text)}.ws-section{margin-bottom:26px;page-break-inside:avoid;break-inside:avoid}.ws-section h2{font-size:18px;border-bottom:2px solid var(--brand);padding-bottom:4px;margin:0 0 6px}.ws-section .intro{color:var(--muted);font-size:14px;margin:0 0 12px}.ws-problem{display:flex;gap:12px;margin-bottom:14px;page-break-inside:avoid;break-inside:avoid}.ws-problem .qnum{font-weight:800;color:var(--brand);flex-shrink:0}.ws-problem .qbody{flex:1 1}.ws-problem .qprompt{font-weight:600}.ws-problem .qhint{color:var(--muted);font-size:13px;font-style:italic;margin-top:2px}.ws-space{border-bottom:1px dashed var(--border);margin-top:10px}.ws-answers{margin-top:34px;border-top:3px double var(--text);padding-top:14px;page-break-before:always;break-before:page}.ws-answers h2{font-size:18px;margin:0 0 10px}.ws-answers ol{margin:0;-webkit-padding-start:22px;padding-inline-start:22px}.ws-answers li{margin:4px 0}.loading-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:60vh;color:var(--muted)}.spinner{width:42px;height:42px;border-radius:50%;border:4px solid var(--border);border-top-color:var(--brand);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.katex{color:inherit}@media (max-width:640px){.worksheet-page{padding:22px 18px;margin:12px}.hero{padding:20px 0 10px}}@media print{@page{margin:16mm}body{background:#fff!important}.no-print{display:none!important}.worksheet-page{box-shadow:none;margin:0;padding:0;max-width:100%;border-radius:0}.ws-answers{page-break-before:always;break-before:page}}.nav{display:flex;gap:4px;align-items:center;overflow-x:auto;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav-link{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:999px;font-size:14px;font-weight:600;color:var(--muted);white-space:nowrap;transition:background .15s,color .15s}.nav-link:hover{color:var(--text);background:rgba(21,30,60,0)}.nav-link.active{color:var(--text);background:var(--panel-2);box-shadow:inset 0 0 0 1px var(--border)}.header-right{display:flex;align-items:center;gap:10px}.user-switch{display:inline-flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:4px 10px 4px 8px}.user-switch select{background:transparent;border:none;color:var(--text);font:inherit;font-size:13px;font-weight:600;outline:none;max-width:148px}.user-switch select option{background:var(--panel);color:var(--text)}.user-emoji{font-size:16px}.hero.compact{padding-bottom:6px}.hero.compact h1{font-size:clamp(26px,5vw,40px)}.empty-note,.error-note{color:var(--muted);text-align:center;padding:18px}.error-note{color:var(--bad)}.btn-wide{width:100%;justify-content:center;margin:6px 0 40px;padding:15px;font-size:16px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin:18px 0}.panel-title{display:flex;margin:0 0 12px;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.panel-title,.timer{align-items:center;gap:8px}.timer{display:inline-flex;background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:6px 12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;font-size:14px}.timer-track{display:block;width:56px;height:4px;border-radius:999px;background:rgba(21,30,60,.01);overflow:hidden}.timer-fill{display:block;height:100%;background:var(--good);transition:width 1s linear}.timer.low .timer-fill{background:var(--warn)}.timer.low .timer-value{color:var(--warn)}.timer.urgent{border-color:var(--bad)}.timer.urgent .timer-fill{background:var(--bad)}.timer.urgent .timer-value{color:var(--bad)}.timer.over{opacity:.6}.alloc{display:flex;flex-direction:column;gap:6px}.alloc-track{height:7px;border-radius:999px;background:rgba(21,30,60,.1);overflow:hidden}.alloc-fill{height:100%;border-radius:999px;background:var(--brand);transition:width .4s ease}.alloc.low .alloc-fill{background:var(--bad)}.alloc-label{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted)}.alloc.compact .alloc-label{font-size:11px}.alloc-total{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card-teacher{display:flex;align-items:center;gap:8px;margin:10px 0 8px;padding-top:10px;border-top:1px solid var(--border);font-size:12.5px;color:var(--muted)}.card-teacher-emoji{font-size:15px}.card-teacher strong{color:var(--text)}.card-time{display:inline-flex;align-items:center;gap:4px;-webkit-margin-start:auto;margin-inline-start:auto;white-space:nowrap}.subject-head{gap:20px;flex-wrap:wrap;justify-content:space-between;padding:20px 0 6px}.subject-head,.subject-head-main{display:flex;align-items:flex-start}.subject-head-main{gap:16px;flex:1 1 340px}.subject-head-main h1{margin:6px 0;font-size:clamp(24px,4vw,36px);line-height:1.15}.subject-emoji{font-size:44px;line-height:1}.subject-teacher{display:flex;gap:14px;align-items:center;background:var(--panel);border:1px solid var(--border);-webkit-border-start:3px solid var(--brand);border-inline-start:3px solid var(--brand);border-radius:var(--radius);padding:14px 16px;flex:0 1 340px}.subject-teacher-name{font-weight:800;font-size:17px}.subject-teacher-style,.subject-teacher-title{color:var(--muted);font-size:13px}.subject-teacher-style{margin:8px 0 0}.lesson-list{display:flex;flex-direction:column;gap:10px}.lesson{display:flex;align-items:center;gap:14px;width:100%;text-align:start;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:14px 16px;color:var(--text);transition:border-color .15s,background .15s,transform .15s}.lesson:hover{transform:translateY(-1px)}.lesson.active,.lesson:hover{border-color:var(--accent,var(--brand))}.lesson.active{background:var(--panel-2);box-shadow:inset 0 0 0 1px var(--accent,var(--brand))}.lesson-order{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:var(--accent,var(--brand));color:var(--bg);font-weight:800;font-size:14px}.lesson-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1}.lesson-title{font-weight:700}.lesson-blurb{font-size:13px;color:var(--muted)}.lesson-time{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--muted);white-space:nowrap}.objectives{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.objectives li{display:flex;align-items:flex-start;gap:9px;font-size:14.5px}.objectives svg{margin-top:4px;flex:0 0 auto;color:var(--brand-2)}[dir=rtl] .objectives svg{transform:scaleX(-1)}.teacher-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:16px;gap:16px;margin-bottom:34px}.teacher-card{display:flex;gap:16px;background:var(--panel);border:1px solid var(--border);border-top:3px solid var(--accent,var(--brand));border-radius:var(--radius);padding:18px}.teacher-body{min-width:0;flex:1 1}.teacher-body h3{margin:0;font-size:20px}.teacher-title{color:var(--accent,var(--brand-2));font-weight:700;font-size:13px;margin-bottom:8px}.teacher-bio{margin:0 0 12px;font-size:14px;color:var(--muted)}.teacher-facts{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.fact-key{display:block;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.fact-value{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600}.chips.tight{gap:6px;margin-top:6px}.teacher-subjects .chip{font-size:12.5px;padding:5px 10px}.presenter{display:flex;flex-direction:column;align-items:center;gap:8px;flex:0 0 auto;width:var(--presenter-size,190px)}.presenter-frame{position:relative;width:100%;aspect-ratio:1;border-radius:20px;overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow)}.presenter-svg{width:100%;height:100%;display:block}.presenter-body{transform-origin:100px 200px;animation:presenter-breathe 5.2s ease-in-out infinite}.presenter-head{transform-origin:100px 140px;animation:presenter-idle 9s ease-in-out infinite}.presenter-lid{transform-origin:center;transform:scaleY(0);animation:presenter-blink 6.4s infinite}.presenter-mouth-group{transform-origin:100px 124px;transform:scaleY(.18)}.presenter-teeth{opacity:0}.presenter-frame.speaking .presenter-mouth-group{animation:presenter-speak .58s step-end infinite}.presenter-frame.speaking .presenter-teeth{animation:presenter-teeth .58s step-end infinite}.presenter-frame.speaking .presenter-body{animation:presenter-breathe 3.1s ease-in-out infinite}.presenter-frame.speaking .presenter-head{animation:presenter-idle 5.4s ease-in-out infinite}@keyframes presenter-breathe{0%,to{transform:translateY(0) scaleY(1)}50%{transform:translateY(-1.4px) scaleY(1.012)}}@keyframes presenter-idle{0%,to{transform:translate(0) rotate(0deg)}22%{transform:translate(1.4px,-.6px) rotate(.7deg)}55%{transform:translate(-1.2px,.4px) rotate(-.6deg)}78%{transform:translate(.6px,-.3px) rotate(.25deg)}}@keyframes presenter-blink{0%,92%,to{transform:scaleY(0)}94%,96%{transform:scaleY(1)}}@keyframes presenter-speak{0%{transform:scaleY(.9) scaleX(.94)}25%{transform:scaleY(.34) scaleX(1.06)}50%{transform:scaleY(1.15) scaleX(.88)}75%{transform:scaleY(.2) scaleX(1.02)}}@keyframes presenter-teeth{0%,50%{opacity:.9}25%,75%{opacity:0}}@media (prefers-reduced-motion:reduce){.presenter-body,.presenter-frame.speaking .presenter-body,.presenter-frame.speaking .presenter-head,.presenter-frame.speaking .presenter-mouth-group,.presenter-frame.speaking .presenter-teeth,.presenter-head,.presenter-lid{animation:none}}.presenter-badge{position:absolute;inset-block-end:8px;inset-inline-start:8px;font-size:18px;background:rgba(10,14,28,.7);border-radius:999px;width:30px;height:30px;display:grid;place-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.presenter-live{position:absolute;inset-block-start:8px;inset-inline-end:8px;display:inline-flex;align-items:center;gap:5px;background:rgba(10,14,28,.72);color:#fff;font-size:10px;font-weight:800;letter-spacing:.08em;padding:4px 8px;border-radius:999px}.presenter-live-dot{width:6px;height:6px;border-radius:50%;background:var(--bad);animation:presenter-pulse 1.2s infinite}@keyframes presenter-pulse{0%,to{opacity:1}50%{opacity:.25}}.presenter-note{margin:0;font-size:11px;line-height:1.4;color:var(--muted);text-align:center;max-width:200px}.stage{display:flex;flex-direction:column;gap:14px;flex:1 1;min-height:0}.stage-empty{align-items:center;justify-content:center;text-align:center;gap:12px;padding:40px 20px;color:var(--muted)}.stage-hint{font-size:13px;max-width:380px}.stage-body{display:flex;gap:18px;align-items:flex-start;flex:1 1}.stage-body.with-presenter .stage-canvas,.stage-canvas{flex:1 1;min-width:0}.stage-canvas{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:22px;overflow-y:auto;animation:scene-in .35s ease}@keyframes scene-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.scene-title{text-align:center;padding:26px 10px}.scene-title h2{margin:0 0 8px;font-size:clamp(22px,3.4vw,34px);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.scene-title p{margin:0;color:var(--muted)}.scene-h{margin:0 0 12px;font-size:18px}.scene-bullets{margin:0;-webkit-padding-start:20px;padding-inline-start:20px;display:flex;flex-direction:column;gap:10px}.scene-bullets li{animation:scene-in .4s ease both}.scene-math{text-align:center}.scene-caption{color:var(--muted);font-size:13.5px;margin:6px 0 0}.stage-narration{font-size:14.5px;line-height:1.55;color:var(--muted);max-height:96px;overflow-y:auto}.stage-progress{gap:4px}.stage-tick{flex:1 1;height:5px;border:none;padding:0;border-radius:999px;background:rgba(21,30,60,.01);transition:background .2s}.stage-tick.done{background:var(--brand)}.stage-tick.on{background:var(--brand-2)}.stage-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.stage-play{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:none;background:var(--grad);color:var(--bg)}.stage-count{font-size:13px;color:var(--muted);-webkit-margin-start:auto;margin-inline-start:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.session-sub{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.session-alloc{padding:0 16px 8px}.session-tabs{display:flex;gap:6px;padding:0 16px 10px}.session-tab{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--muted);font-weight:700;font-size:14px}.session-tab.active{color:var(--bg);background:var(--grad);border-color:transparent}.session-body{flex:1 1;padding:0 16px 16px}.chat,.session-body{min-height:0;display:flex;flex-direction:column}.chat{flex:1 1}.bubble-who{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--brand-2);margin-bottom:4px}.mode-btn.ghost{padding-inline:10px}.timeup{position:fixed;inset:0;display:grid;place-items:center;background:rgba(6,9,20,.78);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:40;padding:20px}.timeup-card{background:var(--panel);border:1px solid var(--border);border-radius:20px;padding:30px 26px;text-align:center;max-width:380px;box-shadow:var(--shadow)}.timeup-emoji{font-size:40px}.timeup-card h3{margin:10px 0 6px;font-size:22px}.timeup-card p{margin:0 0 18px;color:var(--muted)}.timeup-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.next-class{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--border);-webkit-border-start:4px solid var(--accent,var(--brand));border-inline-start:4px solid var(--accent,var(--brand));border-radius:var(--radius);padding:16px 18px;margin-bottom:20px}.next-class.live{box-shadow:0 0 0 1px var(--accent,var(--brand)),0 0 34px -12px var(--accent,var(--brand))}.next-tag{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent,var(--brand-2))}.next-body{display:flex;align-items:center;gap:12px;flex:1 1;min-width:200px}.next-emoji{font-size:28px}.next-title{font-weight:800;font-size:17px}.next-meta{font-size:13px;color:var(--muted)}.next-actions{display:flex;align-items:center;gap:12px}.next-countdown{font-size:13px;color:var(--muted)}.week{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:14px;gap:14px;margin-bottom:36px}.day{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.day.today{border-color:var(--brand)}.day-name{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:14px;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}.day-badge{font-size:10px;font-weight:800;background:var(--brand);color:var(--bg);padding:2px 7px;border-radius:999px;letter-spacing:.04em}.day-slots{display:flex;flex-direction:column;gap:8px}.slot{display:flex;align-items:center;gap:10px;width:100%;text-align:start;background:var(--bg-soft);border:1px solid var(--border);-webkit-border-start:3px solid var(--accent,var(--brand));border-inline-start:3px solid var(--accent,var(--brand));border-radius:12px;padding:10px 12px;color:var(--text);transition:transform .15s,border-color .15s}.slot:hover{transform:translateY(-1px)}.slot.past{opacity:.45}.slot.live{box-shadow:0 0 0 1px var(--accent,var(--brand))}.slot-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:800;font-size:13px;color:var(--accent,var(--brand-2))}.slot-main{display:flex;flex-direction:column;min-width:0;flex:1 1}.slot-title{font-weight:700;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slot-len,.slot-teacher{font-size:12px;color:var(--muted)}.slot-len{white-space:nowrap}.table-scroll{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:14px;min-width:720px}.admin-table th{text-align:start;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:0 10px 10px;font-weight:700}.admin-table td{padding:10px;border-top:1px solid var(--border);vertical-align:middle}.muted-cell{color:var(--muted)}.cell-emoji{-webkit-margin-end:6px;margin-inline-end:6px}.mini-input{width:74px;background:var(--bg-soft);border:1px solid var(--border);border-radius:8px;color:var(--text);font:inherit;padding:6px 8px}.unit{color:var(--muted);font-size:12px;-webkit-margin-start:6px;margin-inline-start:6px}.usage{display:flex;align-items:center;gap:8px;min-width:130px}.usage-track{flex:1 1;height:6px;border-radius:999px;background:rgba(21,30,60,.1);overflow:hidden}.usage-fill{display:block;height:100%}.usage-text{font-size:12px;color:var(--muted);white-space:nowrap}.row-actions{display:flex;gap:6px;white-space:nowrap}.slot-form{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:16px}.slot-form label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--muted)}.slot-form input,.slot-form select{background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;color:var(--text);font:inherit;font-size:14px;padding:8px 10px;min-width:120px}.slot-form select option{background:var(--panel)}.admin-week{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px}.admin-day h4{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.admin-slot{display:flex;align-items:center;gap:8px;background:var(--bg-soft);border:1px solid var(--border);-webkit-border-start:3px solid var(--accent,var(--brand));border-inline-start:3px solid var(--accent,var(--brand));border-radius:10px;padding:8px 10px;margin-bottom:6px;font-size:13px}.admin-slot-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}.admin-slot-title{flex:1 1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-btn{background:transparent;border:none;color:var(--muted);padding:4px;border-radius:6px}.icon-btn:hover{color:var(--bad);background:rgba(251,113,133,.12)}@media (max-width:780px){.stage-body{flex-direction:column;align-items:stretch}.presenter{align-self:center}.subject-teacher{flex:1 1 100%}}.session{max-width:1180px}.session-alloc{-webkit-padding-before:10px;padding-block-start:10px}.presenter{align-self:flex-start}.stage-canvas{justify-content:center}.admin-slot-title,.slot-title{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}.teacher-grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.card{display:flex;flex-direction:column}.card .learn{-webkit-margin-before:auto;margin-block-start:auto}.auth-page{min-height:100dvh;display:grid;place-items:center;padding:24px}.auth-card{width:100%;max-width:420px;background:var(--panel);border:1px solid var(--border);border-radius:20px;padding:30px 26px 22px;box-shadow:var(--shadow)}.auth-brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:19px;margin-bottom:20px}.auth-card h1{margin:0 0 6px;font-size:25px;line-height:1.2}.auth-sub{margin:0 0 20px;color:var(--muted);font-size:14.5px}.auth-form{gap:14px}.auth-form,.auth-form label{display:flex;flex-direction:column}.auth-form label{gap:6px;font-size:12.5px;color:var(--muted)}.auth-form input{background:var(--bg-soft);border:1px solid var(--border);border-radius:11px;color:var(--text);font:inherit;font-size:15px;padding:11px 13px;transition:border-color .15s}.auth-form input:focus{outline:none;border-color:var(--brand)}.auth-form .btn-wide{margin:4px 0 0}.auth-error,.auth-ok{margin:0;font-size:13.5px;padding:10px 12px;border-radius:10px}.auth-error{color:var(--bad);background:rgba(251,113,133,.1);border:1px solid rgba(251,113,133,.28)}.auth-ok{color:var(--good);background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.28)}.auth-foot{display:flex;justify-content:center;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.account{position:relative}.account-trigger{display:inline-flex;align-items:center;gap:7px;background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:6px 13px 6px 9px;color:var(--text);font-weight:600;font-size:13.5px}.account-name{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-backdrop{position:fixed;inset:0;background:transparent;border:none;z-index:20}.account-menu{position:absolute;inset-block-start:calc(100% + 8px);inset-inline-end:0;z-index:21;width:290px;background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:8px}.account-head{display:flex;flex-direction:column;gap:2px;padding:10px 12px 12px;border-bottom:1px solid var(--border);margin-bottom:6px;font-size:13px;color:var(--muted)}.account-head strong{color:var(--text);font-size:15px}.account-role{align-self:flex-start;margin-top:4px;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:var(--panel-2);border-radius:999px;padding:3px 9px}.account-item{display:flex;align-items:center;gap:9px;width:100%;text-align:start;background:transparent;border:none;border-radius:10px;padding:10px 12px;color:var(--text);font:inherit;font-size:14px}.account-item:hover{background:var(--panel-2)}.account-item.danger:hover{color:var(--bad);background:rgba(251,113,133,.1)}.account-form{padding:8px 10px 12px}.account-form .auth-form input{font-size:14px;padding:9px 11px}.status{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:3px 9px;border-radius:999px}.status.on{color:var(--good);background:rgba(52,211,153,.12)}.status.warn{color:var(--warn);background:rgba(251,191,36,.12)}.status.off{color:var(--muted);background:rgba(21,30,60,0)}.notice-note{color:var(--good);background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.28);border-radius:10px;padding:10px 12px;font-size:13.5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.student-picker{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-bottom:14px}.student-picker select{background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;color:var(--text);font:inherit;font-size:14px;padding:7px 10px}.illus{margin:0;padding:0;overflow:hidden}.illus img{display:block;width:100%;height:auto;max-height:420px;object-fit:contain;background:var(--bg-soft)}.illus figcaption,.video-embed figcaption{display:flex;flex-direction:column;gap:3px;padding:10px 14px 12px;border-top:1px solid var(--border)}.illus-caption{font-size:13.5px;line-height:1.45}.illus-credit{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--muted)}.illus-credit:hover{color:var(--brand-2)}.illus-skeleton{height:190px;padding:0;overflow:hidden;position:relative}.illus-shimmer{position:absolute;inset:0;background:linear-gradient(100deg,var(--panel) 30%,var(--panel-2) 50%,var(--panel) 70%);background-size:220% 100%;animation:illus-sweep 1.4s linear infinite}@keyframes illus-sweep{0%{background-position:180% 0}to{background-position:-80% 0}}@media (prefers-reduced-motion:reduce){.illus-shimmer{animation:none}}.illus-empty{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--muted)}.illus-empty em{color:var(--text);font-style:normal}.video-embed{margin:0;padding:0;overflow:hidden}.video-frame{position:relative;aspect-ratio:16/9;background:#000}.video-frame iframe{border:0}.video-frame iframe,.video-poster{position:absolute;inset:0;width:100%;height:100%}.video-poster{padding:0;border:none;background:#000;display:grid;place-items:center}.video-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72;transition:opacity .2s}.video-poster:hover img{opacity:.9}.video-play{position:relative;display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:var(--grad);color:var(--bg);box-shadow:0 8px 26px -8px rgba(0,0,0,.9);transition:transform .15s}.video-poster:hover .video-play{transform:scale(1.06)}.video-link{display:flex;align-items:center;gap:12px;color:var(--text)}.video-link span{display:flex;flex-direction:column;gap:2px;flex:1 1}.video-link-sub{font-size:12px;color:var(--muted)}.inline-scenes{padding-bottom:12px}.inline-canvas{background:var(--bg-soft);border:1px solid var(--border);border-radius:12px;padding:16px;min-height:130px;display:flex;flex-direction:column;justify-content:center;animation:scene-in .3s ease}.inline-narration{margin:10px 0 0;font-size:13.5px;line-height:1.5;color:var(--muted)}.inline-controls{display:flex;align-items:center;gap:8px;margin-top:12px}.inline-play{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;border:none;background:var(--grad);color:var(--bg)}.inline-progress{display:flex;gap:3px;flex:1 1;min-width:40px}.inline-tick{flex:1 1;height:4px;border-radius:999px;background:rgba(21,30,60,.01)}.inline-tick.on{background:var(--brand-2)}.inline-count{font-size:12px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.time-pill{display:inline-flex;align-items:center;gap:7px;background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:6px 13px 6px 11px;font-size:13px;font-weight:700;color:var(--text);white-space:nowrap;transition:border-color .15s}.time-pill:hover{border-color:var(--brand)}.time-pill svg{color:var(--brand-2)}.time-pill-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.time-pill-label{font-weight:500;color:var(--muted);font-size:12px}.time-pill-track{display:block;width:34px;height:4px;border-radius:999px;background:rgba(21,30,60,.01);overflow:hidden}.time-pill-fill{display:block;height:100%;background:var(--good);transition:width .4s ease}.time-pill.low{border-color:var(--warn)}.time-pill.low .time-pill-value,.time-pill.low svg{color:var(--warn)}.time-pill.low .time-pill-fill{background:var(--warn)}.time-pill.gone{border-color:var(--bad)}.time-pill.gone .time-pill-value,.time-pill.gone svg{color:var(--bad)}.time-pill.gone .time-pill-fill{background:var(--bad)}.upgrade-balance{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.upgrade-balance>svg{color:var(--brand-2)}.upgrade-figure{font-size:30px;font-weight:800;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.upgrade-figure-label{font-size:12.5px;color:var(--muted);margin-top:4px}.upgrade-track{flex:1 1;min-width:140px;height:8px;border-radius:999px;background:rgba(21,30,60,.1);overflow:hidden}.upgrade-fill{height:100%;background:var(--grad)}.upgrade-note{margin:14px 0 0;font-size:13px;color:var(--muted)}.mini-select{background:var(--bg-soft);border:1px solid var(--border);border-radius:8px;color:var(--text);font:inherit;font-size:13px;padding:5px 8px}.mini-select option{background:var(--panel)}.n-cell{white-space:nowrap}.illus-frame{position:relative;display:block;min-height:120px;background:var(--bg-soft)}.illus-frame img{opacity:0;transition:opacity .25s ease}.illus-frame.loaded img{opacity:1}.illus-frame.loaded{min-height:0}.disclosure{margin:10px auto 0;max-width:46ch;font-size:12.5px;color:var(--muted);opacity:.85}.auth-foot{flex-direction:column;gap:14px}.auth-alt{font-size:13.5px;color:var(--muted);text-align:center}.auth-alt a{color:var(--brand-2);font-weight:600}.auth-alt a:hover{text-decoration:underline}.field-hint{font-size:11.5px;color:var(--muted);font-weight:400}.auth-form select{background:var(--bg-soft);border:1px solid var(--border);border-radius:11px;color:var(--text);font:inherit;font-size:15px;padding:11px 13px}.auth-form select option{background:var(--panel)}.checkbox-row{flex-direction:row!important;align-items:flex-start;gap:10px;font-size:13px;line-height:1.45;color:var(--muted);cursor:pointer}.checkbox-row input{width:17px;height:17px;flex:0 0 17px;margin-top:2px;accent-color:var(--brand)}.landing-hero{padding-bottom:8px}.landing-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}.btn-lg{padding:14px 26px;font-size:16px;font-weight:700}.landing-fineprint{margin:14px 0 0;font-size:13px;color:var(--muted)}.landing-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:14px;gap:14px;margin:46px 0 40px}.landing-step{position:relative;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:22px 20px 20px}.landing-step>svg{color:var(--brand-2);margin-bottom:10px}.landing-step h3{margin:0 0 6px;font-size:17px}.landing-step p{margin:0;font-size:14px;color:var(--muted);line-height:1.55}.landing-step-n{position:absolute;inset-block-start:16px;inset-inline-end:18px;font-size:30px;font-weight:800;line-height:1;color:var(--border)}.landing-teachers{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:14px;gap:14px;margin-bottom:40px}.landing-teacher{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;background:var(--panel);border:1px solid var(--border);border-top:3px solid var(--accent,var(--brand));border-radius:var(--radius);padding:20px 16px 18px}.landing-teacher-name{margin-top:8px;font-weight:800;font-size:17px}.landing-teacher-title{font-size:12.5px;font-weight:700;color:var(--accent,var(--brand-2))}.landing-teacher-style{margin:8px 0 0;font-size:13px;color:var(--muted);line-height:1.5}.landing-final{text-align:center;background:var(--grad);color:var(--bg);border-radius:var(--radius);padding:40px 24px;margin:20px 0 44px}.landing-final h2{margin:0 0 8px;font-size:clamp(24px,4vw,32px)}.landing-final p{margin:0 auto 22px;max-width:44ch;font-weight:600}.landing-final .btn{background:var(--bg);color:#fff;border:none}.landing .disclosure{text-align:center;margin-bottom:18px}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px;margin:18px 0}.stat{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.stat-n{font-size:28px;font-weight:700;line-height:1.1;color:var(--text)}.stat-k{margin-top:4px;font-size:13px;color:var(--muted)}.topic-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:12px;gap:12px}.topic-cols .panel{margin:18px 0 0}.topic-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.topic-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border:1px solid var(--border);border-radius:12px;background:rgba(21,30,60,0)}.topic-name{font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topic-score{flex:none;font-size:13px;font-weight:700;padding:2px 9px;border-radius:999px;border:1px solid var(--border)}.topic-score.strong{color:var(--good);border-color:rgba(110,231,183,.35)}.topic-score.weak{color:var(--bad);border-color:hsla(0,94%,82%,.35)}.lesson-log,.subject-progress{display:flex;flex-direction:column;gap:8px}.lesson-log-row,.subject-progress-row{display:flex;align-items:center;gap:12px;padding:10px 12px}.lesson-log-row,.report-lesson,.subject-progress-row{border:1px solid var(--border);border-radius:12px;background:rgba(21,30,60,0)}.report-lesson{padding:12px}.report-lesson-head{display:flex;align-items:center;gap:12px}.report-note{margin-top:10px}.report-note p{margin:4px 0 0;color:var(--text);font-size:14px;line-height:1.5}.report-lesson .chips{margin-top:10px;gap:6px}.report-lesson .chip{padding:4px 10px;font-size:12px;font-weight:600}.report-lesson .chip.weak{color:var(--bad);border-color:hsla(0,94%,82%,.35)}.pw-wrap{position:relative;display:block}.pw-wrap input{width:100%;-webkit-padding-end:40px;padding-inline-end:40px}.pw-toggle{position:absolute;inset-block-start:50%;inset-inline-end:8px;transform:translateY(-50%);display:grid;place-items:center;width:28px;height:28px;border:none;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;transition:color .15s ease,background .15s ease}.pw-toggle:hover{color:var(--text);background:rgba(21,30,60,0)}.pw-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.auth-form .checkbox-row{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.auth-form .checkbox-row input{width:auto;-webkit-margin-before:2px;margin-block-start:2px;accent-color:var(--brand)}.auth-form .checkbox-row>span{display:flex;flex-direction:column;gap:2px;font-size:14px;color:var(--text)}.auth-form .checkbox-row .field-hint{font-size:12.5px;color:var(--muted)}.auth-link{display:inline-block;-webkit-margin-before:2px;margin-block-start:2px;text-align:center;font-size:13.5px;color:var(--muted);text-decoration:none}.auth-link:hover{color:var(--brand-2);text-decoration:underline}body,html{max-width:100%;overflow-x:hidden}.chart-box,.mermaid-box,.scroller,.table-scroll,pre{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}table.admin-table{display:block;overflow-x:auto;overscroll-behavior-x:contain}.table-scroll>table{min-width:720px}canvas,iframe,img,svg,video{max-width:100%;height:auto}.bubble,.illus-caption,.markdown,.quiz-prompt,.report-note p,.step-detail,.topic-name{overflow-wrap:anywhere}@media (max-width:900px){.container{padding-inline:16px}.grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.teacher-grid{grid-template-columns:1fr}.session{max-width:100%}.admin-week{grid-template-columns:1fr}}@media (max-width:640px){:root{--radius:14px}body{font-size:15.5px}.container{padding-inline:14px}.site-header{flex-wrap:wrap;padding:12px 14px;row-gap:10px}.site-header .nav{order:3;width:100%;justify-content:space-between;gap:4px;overflow-x:auto;-webkit-padding-after:2px;padding-block-end:2px}.nav-link{flex:1 0 auto;justify-content:center;padding:8px 10px;font-size:13px}.header-right{gap:8px}.hero h1{font-size:clamp(1.6rem,7vw,2.1rem)}.hero .sub{font-size:15px}.grid{grid-template-columns:1fr}.session-top{flex-wrap:wrap;padding:10px 12px;row-gap:8px}.session-title .t{font-size:15px}.session-tools{width:100%;justify-content:space-between;flex-wrap:wrap;gap:8px}.session-tabs{position:-webkit-sticky;position:sticky;top:0;z-index:3}.session-tab{flex:1 1;justify-content:center}.msg .bubble{max-width:100%;padding:12px 13px;font-size:15px}.msg{gap:8px}.msg .mini-avatar{width:26px;height:26px;font-size:13px}.composer{padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.modes{gap:6px;overflow-x:auto;-webkit-padding-after:2px;padding-block-end:2px}.mode-btn{flex:0 0 auto;font-size:13px;padding:7px 10px}.composer-row textarea{font-size:16px}.stage-body{flex-direction:column}.stage-controls{flex-wrap:wrap;gap:8px}.presenter{align-self:center}.choices{grid-template-columns:1fr}.choice{padding:11px 12px}.inline-controls,.stepper-controls{flex-wrap:wrap;gap:8px}.widget{padding:12px}.stat-row{grid-template-columns:repeat(2,1fr)}.topic-cols{grid-template-columns:1fr}.admin-slot,.lesson-log-row,.slot,.subject-progress-row{flex-wrap:wrap;row-gap:6px}.slot-form{grid-template-columns:1fr}.auth-page{padding:16px;align-items:flex-start}.auth-card{padding:22px 18px}.auth-form input,.auth-form select{font-size:16px}.features,.landing-steps,.landing-teachers{grid-template-columns:1fr}.landing-actions{flex-direction:column;align-items:stretch}.landing-actions .btn{justify-content:center}}@media (max-width:380px){.stat-row{grid-template-columns:1fr}.nav-link span{display:none}.nav-link{padding:8px}}@media (max-height:460px) and (orientation:landscape){.session-tabs,.session-top{position:static}}@media (pointer:coarse){.account-trigger,.auth-alt a,.auth-link,.btn,.chip,.choice,.icon-btn,.lang-toggle button,.logo,.mini-input,.mini-select,.mode-btn,.nav-link,.pw-toggle,.session-tab,.time-pill,input[type=email],input[type=number],input[type=password],input[type=text],input[type=time],select{min-height:44px}.auth-alt a,.auth-link,.logo{display:inline-flex;align-items:center}.checkbox-row input[type=checkbox]{width:20px;height:20px}.pw-toggle{min-width:44px}}.session-body{overflow-y:auto;overscroll-behavior-y:contain}.stage{flex:1 0 auto;height:auto;gap:12px}.stage-body{align-items:stretch;flex:1 1 auto;min-height:0}.stage-canvas{display:flex;flex-direction:column;justify-content:flex-start;padding:clamp(16px,2.4vw,26px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;min-height:140px;max-height:min(72vh,720px)}.stage-scene{margin-block:auto;width:100%;min-width:0}.stage-scene>.scene{display:flex;flex-direction:column;gap:10px}.stage-scene .widget{margin:0;background:transparent;border-color:transparent;padding:0}.scene-h{font-size:clamp(17px,2.1vw,22px);line-height:1.3}.scene-bullets{font-size:clamp(15px,1.7vw,18px);line-height:1.6;gap:12px}.scene-math-body{display:flex;align-items:center;justify-content:center;min-height:0;overflow:visible;padding-block:6px}.stage-narration{position:relative;margin:0;padding:12px 16px;background:var(--bg-soft);border:1px solid var(--border);border-radius:12px;flex:0 0 auto;max-height:none;overflow:visible}.stage-narration-text{margin:0;font-size:clamp(14px,1.5vw,15.5px);line-height:1.6;color:var(--text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.stage-narration.open .stage-narration-text{-webkit-line-clamp:unset;max-height:34vh;overflow-y:auto}.stage-narration-toggle{display:inline-flex;align-items:center;gap:4px;margin-top:6px;padding:2px 0;border:none;background:none;color:var(--brand-2);font-size:12.5px;font-weight:700}.stage-narration.open .stage-narration-toggle svg{transform:rotate(180deg)}.stage-narration-toggle svg{transition:transform .2s}.stage-foot{display:flex;flex-direction:column;gap:10px;flex:0 0 auto}.stage-progress{gap:3px}.stage-tick{min-width:4px}.chart-box{height:clamp(200px,32vh,340px)}.mermaid-box{overflow:auto;max-height:52vh}.mermaid-box svg{max-width:100%;height:auto;display:block;margin:0 auto}.stage-scene[data-kind=diagram] .mermaid-box{overflow:hidden}.stage-scene[data-kind=diagram] .mermaid-box svg{width:100%;height:100%;max-height:100%}.mermaid-source{color:var(--muted);font-size:12.5px;white-space:pre-wrap;overflow-x:auto}.math-block{max-width:100%;padding-block:2px}.math-block.is-display .katex-display{margin:0}.math-block .katex{font-size:1.5em}.math-block .katex .mord.text,.math-block .katex .text{font-family:inherit}.math-fallback{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.math-fallback-text{font-size:clamp(17px,2.6vw,24px);font-weight:600;letter-spacing:.01em}.math-fallback-note{font-size:12px;color:var(--muted)}@media (max-width:640px){.stage-canvas{min-height:120px;max-height:none;padding:14px}.chart-box{height:clamp(190px,30vh,260px)}.mermaid-box{max-height:44vh}.stage-narration-text{-webkit-line-clamp:2}.stage-count{font-size:12px}}@media (max-height:460px) and (orientation:landscape){.stage-canvas{min-height:210px;max-height:none}.stage-narration-text{-webkit-line-clamp:2}}.stage-scene[data-kind=chart],.stage-scene[data-kind=diagram],.stage-scene[data-kind=figure],.stage-scene[data-kind=plot]{margin-block:0;flex:1 1;min-height:0;display:flex;flex-direction:column}.stage-scene[data-kind=chart]>.scene,.stage-scene[data-kind=diagram]>.scene,.stage-scene[data-kind=figure]>.scene,.stage-scene[data-kind=plot]>.scene{flex:1 1;min-height:0}.stage-scene[data-kind=chart] .widget,.stage-scene[data-kind=diagram] .widget,.stage-scene[data-kind=plot] .widget{flex:1 1;min-height:0;display:flex;flex-direction:column}.stage-scene[data-kind=chart] .chart-box,.stage-scene[data-kind=plot] .chart-box{flex:1 1;height:auto;min-height:190px}.stage-scene[data-kind=diagram] .mermaid-box{flex:1 1;min-height:180px;max-height:none;display:flex;align-items:center;justify-content:center}.chart-box .recharts-responsive-container,.chart-box .recharts-wrapper{line-height:0}.chart-box svg{display:block}.math-block{display:flex;justify-content:center;overflow:visible;width:100%}.math-block-fit{min-width:0;max-width:100%}.math-block[data-overflowing=true]{overflow-x:auto;overflow-y:hidden;-webkit-padding-after:8px;padding-block-end:8px}.stage-scene[data-kind=math] .math-block .katex{font-size:2.1em}@media (max-width:900px){.math-block .katex{font-size:1.35em}.stage-scene[data-kind=math] .math-block .katex{font-size:1.7em}}@media (max-width:640px){.math-block .katex{font-size:1.2em}.stage-scene[data-kind=math] .math-block .katex{font-size:1.45em}}@media (max-width:780px){.presenter{width:min(var(--presenter-size,190px),132px)}}@media (max-width:640px){.presenter{width:min(var(--presenter-size,190px),104px)}.presenter-note{display:none}}@media (max-height:560px) and (orientation:landscape){.stage-body.with-presenter{flex-direction:row}.presenter{width:min(var(--presenter-size,190px),96px);align-self:flex-start}}.katex,.katex-display,.math-block,.math-fallback-text{direction:ltr;unicode-bidi:-webkit-isolate;unicode-bidi:isolate}.katex-display{text-align:center}.dots.following .dot.on:last-of-type,.dots.following .dot.on~.dot:not(.on){transition:background .35s ease}.dots.following .dot.on{animation:dot-settle .35s ease}@keyframes dot-settle{0%{transform:scale(.6)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.dots.following .dot.on{animation:none}}.math-block.is-writing .math-block-fit{will-change:clip-path}.math-pen{position:absolute;inset-block-start:50%;width:2px;height:1.35em;-webkit-margin-before:-.68em;margin-block-start:-.68em;background:linear-gradient(to bottom,transparent,var(--brand-2) 18%,var(--brand-2) 82%,transparent);box-shadow:0 0 12px var(--brand-2);border-radius:2px;pointer-events:none;animation:pen-flicker .5s ease-in-out infinite alternate}@keyframes pen-flicker{0%{opacity:.55}to{opacity:1}}.math-block,.scene-math-mark{position:relative}.scene-math-mark{display:inline-block;max-width:100%}.marker{position:absolute;inset:0;pointer-events:none}.marker,.marker svg{overflow:visible}.marker path{stroke-dasharray:1400;stroke-dashoffset:1400}.marker.on path{animation-name:marker-draw;animation-timing-function:cubic-bezier(.25,.6,.3,1);animation-fill-mode:forwards}@keyframes marker-draw{to{stroke-dashoffset:0}}.scene-bullets li{transition:opacity .4s ease,transform .4s ease}.scene-bullets li.out{opacity:0;transform:translateY(6px)}.scene-bullets li.in{opacity:1;transform:none;animation:none}.scene-caption{transition:opacity .5s ease}.scene-caption.out{opacity:0}.scene-caption.in{opacity:1}.mermaid-box .mmd-hidden{opacity:0}.mermaid-box .edgeLabels>*,.mermaid-box .edgePaths>*,.mermaid-box g.edgeLabel,.mermaid-box g.edgePath,.mermaid-box g.node{transition:opacity .45s ease}@media (prefers-reduced-motion:reduce){.math-pen{animation:none}.marker.on path{animation:none;stroke-dashoffset:0}.mermaid-box .edgeLabels>*,.mermaid-box .edgePaths>*,.mermaid-box g.edgePath,.mermaid-box g.node,.scene-bullets li,.scene-caption{transition:none}.scene-bullets li.out{opacity:1;transform:none}}.teacher-grid:has(>.teacher-card:only-child){grid-template-columns:1fr;max-width:760px;margin-inline:auto}.teacher-grid>.teacher-card:only-child{padding:clamp(20px,3vw,30px);gap:24px}.teacher-grid>.teacher-card:only-child .presenter{width:min(var(--presenter-size,190px),190px)}@media (max-width:640px){.teacher-grid>.teacher-card:only-child{flex-direction:column;align-items:center;text-align:center}}:root[lang=he] body,[dir=rtl] body{line-height:1.7;letter-spacing:0}[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3{letter-spacing:0;line-height:1.35}[dir=rtl] .scene-bullets{-webkit-padding-start:22px;padding-inline-start:22px}[dir=rtl] .stage-narration-text{line-height:1.75}[dir=rtl] .admin-slot-time,[dir=rtl] .slot-time,[dir=rtl] .stage-count,[dir=rtl] .stat-n,[dir=rtl] .time-pill,[dir=rtl] .timer-value{direction:ltr;unicode-bidi:-webkit-isolate;unicode-bidi:isolate}.landing-teachers:has(>.landing-teacher:only-child){grid-template-columns:1fr;max-width:480px;margin-inline:auto}.checkpoint{margin-top:clamp(14px,2vw,22px);padding:clamp(14px,2vw,20px);border:1px solid var(--border);border-radius:14px;background:linear-gradient(180deg,var(--panel) 0,var(--bg-soft) 100%);box-shadow:0 12px 30px -22px rgba(8,12,30,.9);display:flex;flex-direction:column;gap:12px;animation:checkpoint-in .28s ease-out both}@keyframes checkpoint-in{0%{opacity:0;transform:translateY(8px)}}.checkpoint-status{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;letter-spacing:.01em;color:var(--muted)}.checkpoint-dot{width:8px;height:8px;border-radius:50%;background:var(--warn);flex:0 0 auto}.checkpoint-dot.pulsing{animation:checkpoint-pulse 2.4s ease-in-out infinite}@keyframes checkpoint-pulse{0%,to{opacity:1;box-shadow:0 0 0 0 rgba(251,191,36,.45)}50%{opacity:.55;box-shadow:0 0 0 7px rgba(251,191,36,0)}}.checkpoint-status-text{flex:1 1 auto;min-width:0}.checkpoint-kind{padding:2px 9px;border-radius:999px;border:1px solid var(--border);background:var(--bg-soft);font-size:11.5px;font-weight:700;color:var(--brand-2);white-space:nowrap}.checkpoint[data-status=correct] .checkpoint-dot{background:var(--good)}.checkpoint[data-status=correct] .checkpoint-status-text{color:var(--good)}.checkpoint[data-status=incorrect] .checkpoint-dot{background:var(--bad)}.checkpoint[data-status=incorrect] .checkpoint-status-text{color:var(--bad)}.checkpoint-prompt{font-size:clamp(15.5px,1.8vw,18px);line-height:1.5;color:var(--text)}.checkpoint-prompt .markdown>:first-child{margin-top:0}.checkpoint-prompt .markdown>:last-child{margin-bottom:0}.checkpoint-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:10px;gap:10px}.checkpoint-option{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:start;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-soft);color:var(--text);font-size:15px;line-height:1.4;transition:border-color .15s,transform .12s,background .15s}.checkpoint-option:hover:not(:disabled){border-color:var(--brand);transform:translateY(-1px)}.checkpoint-option:disabled{cursor:default}.checkpoint[data-status]:not([data-status=waiting]) .checkpoint-option:disabled{opacity:.55}.checkpoint-option[data-chosen]{opacity:1!important;border-color:var(--brand)}.checkpoint-option[data-right]{opacity:1!important;border-color:var(--good);background:color-mix(in srgb,var(--good) 12%,var(--bg-soft));color:var(--text)}.checkpoint-option[data-wrong]{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 12%,var(--bg-soft))}.checkpoint-option-text{min-width:0;text-align:start}.checkpoint-option-text .markdown p{margin:0}.checkpoint-write{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.checkpoint-textarea{width:100%;resize:vertical;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-soft);color:var(--text);font:inherit;font-size:15px;line-height:1.5}.checkpoint-textarea:focus{outline:2px solid var(--brand);outline-offset:1px}.checkpoint-nudge{margin:0;font-size:13px;color:var(--muted);animation:checkpoint-in .4s ease-out both}.checkpoint-after{display:flex;justify-content:flex-end}.stage-generating{position:relative;margin-top:16px;padding:12px 16px;border:1px dashed var(--border);border-radius:12px;background:var(--bg-soft);color:var(--muted);font-size:13.5px;display:flex;align-items:center;gap:8px;overflow:hidden}.stage-shimmer{position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(124,92,255,.16) 50%,transparent);transform:translateX(-100%);animation:stage-shimmer 1.6s linear infinite}@keyframes stage-shimmer{to{transform:translateX(100%)}}.stage-ended{margin-top:16px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--bg-soft);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.stage-ended p{margin:0;font-weight:700}.stage-progress{gap:8px}.stage-beat,.stage-progress{display:flex;align-items:center}.stage-beat{gap:3px;flex:1 1 auto;min-width:0;position:relative}.stage-beat[data-checkpoint]:after{content:"";width:5px;height:5px;border-radius:50%;background:var(--warn);flex:0 0 auto;-webkit-margin-start:3px;margin-inline-start:3px;opacity:.75}.stage-tick[data-patch]{background:rgba(124,92,255,.26);box-shadow:inset 0 0 0 1px var(--brand);animation:tick-arrive .5s ease-out both}.stage-tick[data-patch].done{background:var(--brand)}.stage-tick[data-patch].on{background:var(--brand-2);box-shadow:inset 0 0 0 1px var(--brand-2)}@keyframes tick-arrive{0%{transform:scaleX(0);opacity:0}}@media (prefers-reduced-motion:reduce){.checkpoint,.checkpoint-nudge,.stage-tick[data-patch]{animation:none}.checkpoint-dot.pulsing,.stage-shimmer{animation-duration:.001ms;animation-iteration-count:1}}.stage-play:disabled{opacity:.4;filter:grayscale(.55);cursor:not-allowed;box-shadow:none}.catalogue-group+.catalogue-group{margin-top:clamp(28px,4vw,44px)}.catalogue-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid var(--border);font-size:clamp(15px,1.9vw,17px);font-weight:700;color:var(--text)}.catalogue-count{font-size:12.5px;font-weight:500;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.tag.programme{border-color:color-mix(in srgb,var(--brand-2) 45%,transparent);color:var(--brand-2)}.catalogue-empty{color:var(--muted);padding:28px 0;margin:0}.figure{flex:1 1;min-height:200px;width:100%;position:relative}.figure svg{display:block;overflow:visible}.fig-el path{stroke-dasharray:1;stroke-dashoffset:1}.fig-el path.fig-solid{stroke-dasharray:none;stroke-dashoffset:0;opacity:0;transition:opacity .35s ease .3s;animation:none}.fig-el.in path.fig-solid{opacity:1}.fig-el.settled path.fig-solid{opacity:1;transition:none}.fig-el.in path{animation-name:fig-draw;animation-timing-function:cubic-bezier(.32,.72,.36,1);animation-fill-mode:forwards}@keyframes fig-draw{to{stroke-dashoffset:0}}.fig-el.settled path{stroke-dashoffset:0;animation:none}.fig-el.settled polygon,.fig-el.settled text{opacity:1;animation:none;transition:none}.fig-el polygon,.fig-el text{opacity:0;transition:opacity .45s ease .28s}.fig-el.in text{opacity:1}.fig-el.in polygon{opacity:.08}.fig-el.out path{stroke-dashoffset:1;animation:none}.fig-label{font-family:inherit;font-weight:500;letter-spacing:.01em;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media (prefers-reduced-motion:reduce){.fig-el path{stroke-dashoffset:0;animation:none}.fig-el polygon,.fig-el text{transition:none}}.lab{max-width:1180px;margin:0 auto;padding:28px 20px 48px;display:flex;flex-direction:column;gap:16px}.lab-head h1{font-size:26px;margin:0 0 4px}.lab-head p{margin:0;color:var(--muted);font-size:14px}.lab-controls{display:flex;align-items:center;gap:12px;margin-top:14px}.lab-controls input[type=range]{flex:1 1;max-width:420px}.lab-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:13px;color:var(--muted);min-width:42px}.lab-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.lab-tab{border:1px solid var(--border);background:var(--bg-soft);border-radius:999px;padding:6px 14px;font-size:13px;cursor:pointer;color:var(--muted)}.lab-tab.on{background:var(--accent,var(--brand));border-color:transparent;color:#fff}.lab-board{border:1px solid var(--border);border-radius:18px;background:var(--card,#fff);min-height:460px;display:flex;flex-direction:column;padding:20px}.lab-board .stage-scene{flex:1 1;min-height:0;display:flex;flex-direction:column}.lab-note{color:var(--muted);font-size:13px;margin:0}.dev-readout{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:6px;padding:5px 10px;border:1px dashed var(--border);border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;letter-spacing:.01em;color:var(--muted);opacity:.85;-webkit-user-select:text;-moz-user-select:text;user-select:text}.dev-readout .dev-right{display:flex;align-items:center;gap:10px}.dev-readout .dev-state{text-transform:lowercase;padding:1px 6px;border-radius:999px;background:var(--bg-soft)}.dev-readout .dev-patch{font-style:normal;color:#c2831f}.lhero{position:relative;isolation:isolate;margin:0 0 48px;padding:clamp(56px,9vw,104px) 20px clamp(72px,10vw,128px);text-align:center;overflow:hidden;color:#fff;background:var(--grad)}.lhero-media{position:absolute;inset:0;z-index:-1}.lhero-video{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease}.lhero-video.on{opacity:1}.lhero-veil{position:absolute;inset:0;background:linear-gradient(180deg,hsla(0,0%,8%,.55),hsla(0,0%,8%,.42) 45%,hsla(0,0%,8%,.62))}.lhero-body{position:relative;max-width:940px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:22px}.lhero h1{margin:0;font-size:clamp(30px,5.4vw,56px);font-weight:800;line-height:1.08;letter-spacing:-.025em;text-wrap:balance;color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.28)}.lhero-search{display:flex;align-items:center;gap:14px;width:min(620px,100%);padding:9px 10px;background:#fff;border-radius:999px;box-shadow:0 18px 45px -20px rgba(0,0,0,.6);transition:transform .18s ease,box-shadow .18s ease}.lhero-search:hover{transform:translateY(-1px);box-shadow:0 22px 55px -20px rgba(0,0,0,.7)}.lhero-search:focus-visible{outline:3px solid #fff;outline-offset:3px}.lhero-search-btn{flex:0 0 auto;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff}.lhero-search-text{color:var(--muted);font-size:16px;text-align:start}.lhero-kicker{margin:0;font-size:clamp(15px,1.8vw,18px);color:hsla(0,0%,100%,.92)}.lhero-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(24px,6vw,72px);margin:10px 0 0}.lhero-stats div{display:flex;flex-direction:column;gap:2px}.lhero-stats dt{font-size:clamp(28px,4vw,42px);font-weight:800;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1}.lhero-stats dd{margin:0;font-size:13px;color:hsla(0,0%,100%,.82)}.lhero-curve{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:clamp(40px,6vw,90px);color:var(--bg);display:block}@media (prefers-reduced-motion:reduce){.lhero-search,.lhero-video{transition:none}}.lfooter{margin-top:64px;padding:40px 0 32px;background:var(--accent);color:#fff}.lfooter-in{display:flex;flex-wrap:wrap;gap:24px 48px;align-items:flex-start;justify-content:space-between}.lfooter-brand{display:flex;flex-direction:column;gap:6px;max-width:320px}.lfooter-brand strong{font-size:22px;font-weight:800;letter-spacing:-.02em}.lfooter-brand span{font-size:13px;color:hsla(0,0%,100%,.85)}.lfooter-links{display:grid;grid-template-columns:repeat(2,minmax(120px,auto));grid-gap:10px 32px;gap:10px 32px;font-size:14px}.lfooter-links a{color:hsla(0,0%,100%,.92);text-decoration:none}.lfooter-links a:focus-visible,.lfooter-links a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}.lfooter small{width:100%;padding-top:18px;border-top:1px solid hsla(0,0%,100%,.28);font-size:12px;color:hsla(0,0%,100%,.8)}.public-nav{position:relative;max-width:none;padding:14px clamp(16px,5vw,48px);background:var(--grad);color:#fff;border-radius:0}.public-nav .btn,.public-nav .logo{color:#fff}.public-nav .btn-ghost{border-color:hsla(0,0%,100%,.55);background:transparent}.public-nav .btn-ghost:hover{background:hsla(0,0%,100%,.14)}.public-nav .btn-primary{background:#fff;color:var(--brand);border-color:transparent}.public-nav .btn-primary:hover{background:hsla(0,0%,100%,.9)}.public-nav+.lhero{margin-top:0}.lhero-stats dt{direction:ltr;unicode-bidi:-webkit-isolate;unicode-bidi:isolate}.stage-ended-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.curr{gap:22px;padding-block:28px 64px}.curr,.curr-head{display:flex;flex-direction:column}.curr-head{gap:6px}.curr-head h1{margin:0;font-size:clamp(24px,3.6vw,34px);letter-spacing:-.025em}.curr-head .sub{margin:0;color:var(--muted);max-width:46ch}.curr-controls{position:-webkit-sticky;position:sticky;top:0;z-index:4;flex-wrap:wrap;padding:10px 0;background:var(--bg);border-bottom:1px solid var(--border)}.curr-controls,.curr-search{display:flex;align-items:center;gap:8px}.curr-search{flex:1 1;min-width:220px;padding:7px 12px;background:var(--panel);border:1px solid var(--border);border-radius:999px;color:var(--muted)}.curr-search input{flex:1 1;border:0;background:transparent;color:var(--text);font:inherit;font-size:14px;outline:none;min-width:0}.curr-grades{display:flex;flex-wrap:wrap;gap:5px}.curr-grades .chip{min-width:32px;padding:5px 10px;font-size:13px;font-weight:600;background:var(--panel);color:var(--muted);border:1px solid var(--border);border-radius:999px;cursor:pointer}.curr-grades .chip:hover{border-color:var(--brand);color:var(--text)}.curr-grades .chip.on{background:var(--grad);border-color:transparent;color:#fff}.curr-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:13px;color:var(--muted);-webkit-margin-start:auto;margin-inline-start:auto}.curr-none{color:var(--muted);padding:32px 0}.curr-grade{display:flex;flex-direction:column;gap:10px}.curr-grade-head{display:flex;align-items:baseline;gap:10px;padding-bottom:4px;border-bottom:2px solid var(--border)}.curr-grade-head h2{margin:0;font-size:18px;letter-spacing:-.01em}.curr-grade-head span{font-size:12px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.curr-subject{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.curr-subject-head{display:flex;align-items:flex-start;gap:10px}.curr-subject-head h3{margin:0;font-size:15px}.curr-subject-head h3 a{color:inherit}.curr-subject-head h3 a:hover{color:var(--brand);text-decoration:underline;text-underline-offset:3px}.curr-subject-head p{margin:2px 0 0;font-size:13px;color:var(--muted)}.curr-subject-head .tag{-webkit-margin-start:auto;margin-inline-start:auto;flex-shrink:0}.curr-emoji{font-size:20px;line-height:1.2}.curr-lessons{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.curr-lessons>li{border-top:1px solid var(--border)}.curr-lessons>li:first-child{border-top:0}.curr-lessons summary{display:flex;align-items:center;gap:10px;padding:7px 2px;cursor:pointer;list-style:none}.curr-lessons summary::-webkit-details-marker{display:none}.curr-lessons summary:hover{color:var(--brand)}.curr-lessons summary:focus-visible{outline:2px solid var(--brand);outline-offset:-2px;border-radius:6px}.curr-n{flex-shrink:0;width:20px;font-size:12px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.curr-l-title{flex:1 1;font-size:14px;min-width:0}.curr-min{font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.curr-chev,.curr-min{flex-shrink:0;color:var(--muted)}.curr-chev{transition:transform .15s ease}.curr-lessons details[open] .curr-chev{transform:rotate(90deg)}.curr-l-blurb{margin:0 0 6px;font-size:13px;color:var(--muted)}.curr-l-blurb,.curr-obj{-webkit-padding-start:30px;padding-inline-start:30px}.curr-obj{margin:0 0 10px;list-style:none;display:flex;flex-direction:column;gap:3px}.curr-obj li{font-size:12.5px;color:var(--muted)}.curr-obj li:before{content:"— ";color:var(--brand)}@media (prefers-reduced-motion:reduce){.curr-chev{transition:none}}.spin{animation:spin .9s linear infinite}.cload-head{display:flex;gap:10px;align-items:flex-start;color:var(--text)}.cload-head h3{margin:0 0 2px;font-size:15px;font-weight:650}.cload-head p{margin:0;font-size:13px;color:var(--muted);max-width:62ch}.cload-head svg{color:var(--brand);margin-top:2px;flex:none}.cload-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.cload-actions .btn:disabled{opacity:.55;cursor:not-allowed}.cload-error{margin:12px 0 0;display:flex;align-items:center;gap:6px;font-size:13px;color:var(--bad)}.cload-result{margin-top:14px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg)}.cload-result>strong{font-size:13px}.cload-result>p{margin:6px 0 0;font-size:13px;color:var(--muted)}.cload-result>ul{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px 16px}.cload-result>ul li{font-size:13px;color:var(--muted)}.cload-result>ul li b{color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cload-result details{margin-top:10px}.cload-result summary{cursor:pointer;font-size:12.5px;color:var(--brand)}ul.cload-list{margin:8px 0 0;-webkit-padding-start:18px;padding-inline-start:18px;max-height:220px;overflow-y:auto}ul.cload-list li{font-size:12.5px;color:var(--muted)}.cload-orphans{margin:10px 0 0;font-size:12.5px;color:var(--warn)}@media (prefers-reduced-motion:reduce){.spin{animation:none}}.path-note{margin:0 0 12px;font-size:13px;color:var(--muted);max-width:66ch}.path-years{display:flex;flex-wrap:wrap;gap:6px}.path-year{min-width:40px;padding:7px 11px;border:1px solid var(--border);border-radius:9px;background:var(--panel);color:var(--text);font:inherit;font-size:13px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.path-year:hover:not(:disabled){border-color:var(--brand)}.path-year.on{background:var(--grad);border-color:transparent;color:#fff;font-weight:600}.path-year:disabled{opacity:.6;cursor:default}.path-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:12px;gap:12px}.path-card{display:flex;flex-direction:column;gap:5px;padding:14px;border:1px solid var(--border);-webkit-border-start:3px solid var(--accent,var(--brand));border-inline-start:3px solid var(--accent,var(--brand));border-radius:12px;background:var(--panel);color:var(--text);text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}.path-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.07)}.path-card-emoji{font-size:20px}.path-card strong{font-size:14.5px}.path-card-blurb{font-size:12.5px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.path-stands{font-size:11.5px;color:var(--muted);margin-top:4px;font-style:italic}.path-ladders{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:16px;gap:16px}.path-ladder h4{margin:0 0 8px;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.path-ladder ol{margin:0;padding:0;list-style:none}.rung{position:relative;padding:7px 0 7px 18px;font-size:13px;-webkit-border-start:2px solid var(--border);border-inline-start:2px solid var(--border);-webkit-margin-start:5px;margin-inline-start:5px}.rung a{color:var(--muted);text-decoration:none}.rung a:hover{color:var(--brand)}.rung:before{content:"";position:absolute;inset-inline-start:-5px;top:13px;width:8px;height:8px;border-radius:50%;background:var(--border)}.rung.here{border-inline-start-color:var(--brand)}.rung.here a{color:var(--text);font-weight:600}.rung.here:before{background:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 22%,transparent)}.rung.ahead a{opacity:.75}.rung-tag{-webkit-margin-start:7px;margin-inline-start:7px;font-size:10.5px;color:var(--brand);text-transform:uppercase;letter-spacing:.05em}.path-next{display:flex;flex-wrap:wrap;gap:8px}.path-chip{padding:7px 12px;border:1px solid var(--border);border-radius:999px;background:var(--panel);color:var(--text);font-size:12.5px;text-decoration:none}.path-chip:hover{border-color:var(--accent,var(--brand))}@media (prefers-reduced-motion:reduce){.path-card{transition:none}}.speed-picker{display:inline-flex;align-items:center;gap:3px;padding:3px 5px 3px 7px;border:1px solid var(--border);border-radius:999px;background:var(--bg)}.speed-icon{color:var(--muted);-webkit-margin-end:2px;margin-inline-end:2px;flex:none}.speed-chip{border:0;background:transparent;color:var(--muted);font:inherit;font-size:12px;padding:4px 9px;border-radius:999px;cursor:pointer;transition:background .15s ease,color .15s ease}.speed-chip:hover{color:var(--text)}.speed-chip.on{background:var(--brand);color:#fff;font-weight:600}.path-year.wide{min-width:0}@media (max-width:560px){.speed-chip{padding:4px 7px;font-size:11.5px}}@media (prefers-reduced-motion:reduce){.speed-chip{transition:none}}.ws-saved{font-size:12px;color:var(--muted)}.ws-answer-box{width:100%;margin-top:8px;padding:9px 11px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font:inherit;font-size:14.5px;line-height:1.5;resize:vertical}.ws-answer-box:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 16%,transparent)}.ws-answer-box[readonly]{background:var(--panel);cursor:default}.ws-mark{display:flex;align-items:flex-start;gap:6px;margin-top:7px;font-size:13px;line-height:1.45}.ws-mark.right{color:var(--good)}.ws-mark.wrong{color:var(--bad)}.ws-mark.close{color:var(--warn)}.ws-mark.unmarked{color:var(--muted);font-style:italic}.ws-mark svg{flex:none;margin-top:2px}.ws-expected{margin-top:5px;font-size:13px;color:var(--text);background:var(--bg-soft);-webkit-border-start:3px solid var(--good);border-inline-start:3px solid var(--good);padding:6px 10px;border-radius:0 7px 7px 0}.ws-problem.is-right .qnum{color:var(--good)}.ws-problem.is-close .qnum,.ws-problem.is-wrong .qnum{color:var(--bad)}.ws-result{display:flex;align-items:center;gap:18px;margin:0 0 22px;padding:16px 18px;border:1px solid var(--border);border-radius:12px;background:var(--bg-soft)}.ws-score{display:flex;align-items:baseline;gap:4px;flex:none}.ws-score strong{font-size:34px;color:var(--brand);line-height:1}.ws-score span{font-size:15px;color:var(--muted)}.ws-result-body h3{margin:0 0 4px;font-size:15px}.ws-result-body p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.5}@media print{.ws-answer-box{border:0;border-bottom:1px dashed #999;border-radius:0;background:transparent;min-height:44px}.ws-expected,.ws-mark,.ws-result{page-break-inside:avoid;break-inside:avoid}.ws-mark.right{color:#0b8f66!important}.ws-mark.close,.ws-mark.wrong{color:#d13b4b!important}.ws-expected{-webkit-border-start:3px solid #0b8f66;border-inline-start:3px solid #0b8f66}.ws-answer-box[readonly],.ws-expected{background:transparent;color:#151515!important}.ws-answer-box[readonly]{border:0;border-bottom:1px solid #ccc}}.strand-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:14px;gap:14px}.strand-row{padding:12px 14px;border:1px solid var(--border);-webkit-border-start:3px solid var(--border);border-inline-start:3px solid var(--border);border-radius:10px;background:var(--panel)}.strand-row.is-secure{border-inline-start-color:var(--good)}.strand-row.is-working{border-inline-start-color:var(--warn)}.strand-row.is-struggling{border-inline-start-color:var(--bad)}.strand-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.strand-name{font-weight:600;font-size:14.5px}.strand-badge{font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:999px;white-space:nowrap}.strand-badge.secure{background:color-mix(in srgb,var(--good) 14%,transparent);color:var(--good)}.strand-badge.working{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn)}.strand-badge.struggling{background:color-mix(in srgb,var(--bad) 13%,transparent);color:var(--bad)}.strand-badge.untested{background:var(--bg-soft);color:var(--muted)}.strand-bar{height:6px;border-radius:999px;background:var(--bg-soft);margin:9px 0 7px;overflow:hidden}.strand-bar span{display:block;height:100%;background:var(--grad);border-radius:999px}.is-struggling .strand-bar span{background:var(--bad)}.is-working .strand-bar span{background:var(--warn)}.is-secure .strand-bar span{background:var(--good)}.strand-meta,.strand-revisit{font-size:12.5px;color:var(--muted)}.strand-revisit{margin-top:6px}.strand-revisit a{color:var(--brand);text-decoration:none}.strand-revisit a:hover{text-decoration:underline}.paper-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:12px;gap:12px}.paper-row{padding:12px 14px;border:1px solid var(--border);border-radius:10px}.paper-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.paper-title{font-weight:600;font-size:14.5px}.paper-score{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.paper-score.strong{color:var(--good)}.paper-score.weak{color:var(--bad)}.paper-meta{margin-top:4px;font-size:12.5px;color:var(--muted)}.paper-meta a{color:var(--brand);text-decoration:none}.paper-meta a:hover{text-decoration:underline}.paper-advice{margin:7px 0 0;font-size:13px;color:var(--text);line-height:1.5}.time-pill.compact .time-pill-label,.timer-label{font-size:11px;color:var(--muted);white-space:nowrap;-webkit-margin-start:1px;margin-inline-start:1px}@media (max-width:720px){.timer-label{display:none}}.lp{max-width:46rem;margin:0 auto;padding-inline:20px;padding-block:28px 64px;font-size:17px;line-height:1.7;color:var(--text)}.lp p{max-width:38em}.lp-top{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:14px;padding-bottom:20px;border-bottom:1px solid var(--border);margin-bottom:28px}.lp-top,.lp-top a{color:var(--muted)}.lp-top a{text-decoration:none}.lp-top a:hover{color:var(--brand);text-decoration:underline}.lp-lang{-webkit-margin-start:auto;margin-inline-start:auto;border:1px solid var(--border);border-radius:999px;padding:3px 12px}.lp-head{margin-bottom:32px}.lp-kicker{font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--brand);margin:0 0 8px}.lp h1{font-size:clamp(28px,5vw,40px);line-height:1.2;margin:0 0 18px;text-wrap:balance}.lp-answer{font-size:19px;line-height:1.6;margin:0;padding:16px 20px;-webkit-border-start:3px solid var(--brand);border-inline-start:3px solid var(--brand);background:var(--panel-2);border-radius:0 10px 10px 0}[dir=rtl] .lp-answer{border-radius:10px 0 0 10px}.lp-section{margin-bottom:34px}.lp h2{font-size:clamp(20px,3.2vw,25px);line-height:1.3;margin:0 0 12px;text-wrap:balance}.lp h3{font-size:18px;margin:0 0 8px}.lp-objectives{background:var(--panel-2);border:1px solid var(--border);border-radius:12px;padding:16px 20px;margin-bottom:32px}.lp-objectives h2{font-size:15px;color:var(--muted);margin-bottom:8px}.lp-objectives ul{margin:0;-webkit-padding-start:20px;padding-inline-start:20px;font-size:15.5px}.lp-examples{list-style:none;margin:0;padding:0;display:grid;grid-gap:18px;gap:18px}.lp-examples>li{border:1px solid var(--border);border-radius:12px;padding:18px 20px;background:var(--panel)}.lp-example-prompt{font-weight:600;margin:0 0 10px}.lp-steps{margin:0 0 12px;-webkit-padding-start:22px;padding-inline-start:22px;display:grid;grid-gap:6px;gap:6px;font-size:16px}.lp-steps li{-webkit-padding-start:2px;padding-inline-start:2px}.lp-example-answer{margin:0;font-weight:600}.lp-example-answer span{color:var(--muted);font-weight:400}.lp-mistakes{margin:0;display:grid;grid-gap:14px;gap:14px}.lp-mistakes>div{-webkit-border-start:3px solid var(--border);border-inline-start:3px solid var(--border);-webkit-padding-start:16px;padding-inline-start:16px}.lp-mistakes dt{font-weight:700;margin-bottom:4px}.lp-mistakes dd{margin:0;color:var(--muted)}.lp-takeaways ul{margin:0;-webkit-padding-start:20px;padding-inline-start:20px;display:grid;grid-gap:8px;gap:8px}.lp-cta{background:var(--panel-2);border:1px solid var(--border);border-radius:14px;padding:24px;margin:40px 0 32px;text-align:center}.lp-cta h2{margin-bottom:8px}.lp-cta p{margin:0 auto 16px;max-width:34em;color:var(--muted);font-size:16px}.lp-around{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:32px}.lp-step{border:1px solid var(--border);border-radius:12px;padding:14px 16px;text-decoration:none;color:var(--text);display:grid;grid-gap:3px;gap:3px}.lp-step:hover{border-color:var(--brand)}.lp-step span{font-size:12.5px;color:var(--muted)}.lp-step strong{font-size:15.5px;line-height:1.4}.lp-next{text-align:end}.lp-around .lp-next:only-child{grid-column:2}.lp-siblings{margin:0;-webkit-padding-start:20px;padding-inline-start:20px;display:grid;grid-gap:7px;gap:7px;font-size:16px}.lp-index{list-style:none;margin:0;padding:0;display:grid;grid-gap:10px;gap:10px;counter-reset:none}.lp-index>li>a{display:grid;grid-template-columns:2.2rem 1fr;grid-gap:14px;gap:14px;align-items:start;border:1px solid var(--border);border-radius:12px;padding:14px 16px;text-decoration:none;color:var(--text)}.lp-index>li>a:hover{border-color:var(--brand)}.lp-index-n{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;color:var(--brand);font-size:18px}.lp-index-body{display:grid;grid-gap:4px;gap:4px}.lp-index-answer{color:var(--muted);font-size:15px;line-height:1.55}.lp-index-time{color:var(--muted);font-size:13px}.lp-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:20px;border-top:1px solid var(--border);font-size:14px}.lp-foot,.lp-foot a{color:var(--muted)}@media (max-width:560px){.lp{font-size:16.5px;padding-block:20px 48px}.lp-around{grid-template-columns:1fr}.lp-around .lp-next:only-child{grid-column:1}.lp-next{text-align:start}}.ap-wrap{padding:20px 22px 60px;max-width:1500px;margin:0 auto}.ap-head{display:flex;align-items:flex-start;gap:18px;flex-wrap:wrap;margin-bottom:18px}.ap-head h1{margin:0;font-size:24px}.ap-head p{margin:3px 0 0;color:var(--muted);font-size:14px}.ap-tally{-webkit-margin-start:auto;margin-inline-start:auto;display:flex;gap:8px;flex-wrap:wrap}.ap-pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 11px;font-size:12.5px;font-weight:600;border:1px solid var(--border)}.ap-pill.published{color:#0b8f66;border-color:#bfe6d6;background:#f0faf6}.ap-pill.draft{color:var(--muted);background:var(--panel-2)}.ap-cols{display:grid;grid-template-columns:250px 320px 1fr;grid-gap:16px;gap:16px;align-items:start}.ap-col{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:14px;max-height:calc(100vh - 170px);overflow-y:auto}.ap-col ul{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-gap:4px;gap:4px}.ap-subject{width:100%;text-align:start;background:none;border:1px solid transparent;border-radius:10px;padding:9px 11px;cursor:pointer;display:grid;grid-gap:2px;gap:2px;color:var(--text);position:relative}.ap-subject.is-open,.ap-subject:hover{background:var(--panel-2)}.ap-subject.is-open{border-color:var(--brand)}.ap-subject-title{font-weight:600;font-size:14px}.ap-subject-meta{color:var(--muted);font-size:12px}.ap-subject-tally{position:absolute;inset-inline-end:10px;top:9px;display:flex;gap:5px}.ap-subject-tally b{font-size:11px;border-radius:999px;padding:1px 7px;font-weight:700}.ap-subject-tally b.published{background:#e6f6ef;color:#0b8f66}.ap-subject-tally b.draft{background:var(--panel-2);color:var(--muted)}.ap-lesson{border-bottom:1px solid var(--border);padding:10px 2px}.ap-lesson:last-child{border-bottom:0}.ap-lesson-head{display:flex;gap:9px;align-items:baseline;margin-bottom:7px}.ap-order{color:var(--muted);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:1.4em}.ap-lesson-title{font-size:14px;font-weight:600;line-height:1.4}.ap-langs{display:flex;gap:10px;flex-wrap:wrap;-webkit-margin-start:2.1em;margin-inline-start:2.1em}.ap-chip-group{gap:3px}.ap-chip,.ap-chip-group{display:inline-flex;align-items:center}.ap-chip{gap:5px;border:1px solid var(--border);background:var(--panel);border-radius:999px;padding:3px 10px;font-size:12.5px;cursor:pointer;color:var(--text)}.ap-chip.is-open,.ap-chip:hover{border-color:var(--brand)}.ap-chip.is-open{background:var(--panel-2)}.ap-chip.published{color:#0b8f66;border-color:#bfe6d6}.ap-icon{border:0;background:none;color:var(--muted);cursor:pointer;padding:3px;border-radius:6px;display:inline-flex}.ap-icon:hover{color:var(--brand);background:var(--panel-2)}.input{width:100%;background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;color:var(--text);font:inherit;font-size:14.5px;padding:9px 12px;transition:border-color .15s}.input:focus{outline:none;border-color:var(--brand)}textarea.input{line-height:1.6;resize:vertical;min-height:70px}.ape{display:grid;grid-gap:16px;gap:16px}.ape-bar{justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}.ape-bar,.ape-bar>div:first-child{display:flex;flex-wrap:wrap;align-items:center}.ape-bar>div:first-child{gap:9px}.ape-actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.ape-status{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:3px 9px;background:var(--panel-2);color:var(--muted)}.ape-status.published{background:#e6f6ef;color:#0b8f66}.ape-lang{color:var(--muted);font-size:13px}.ape-error{background:#fdeaec;color:#a32a3c;border-radius:10px;padding:10px 13px;font-size:14px}.ape-live{margin:0;color:var(--muted);font-size:13px}.ape-problems{background:#fdf6e8;border:1px solid #f0dcb4;border-radius:12px;padding:13px 16px}.ape-problems h3{margin:0 0 7px;font-size:14px;display:flex;align-items:center;gap:7px;color:#8a5d09}.ape-problems ul{margin:0;-webkit-padding-start:20px;padding-inline-start:20px;display:grid;grid-gap:5px;gap:5px;font-size:13.5px;color:#6b4a08}.ape-ready{display:flex;align-items:center;gap:8px;background:#f0faf6;border:1px solid #bfe6d6;color:#0b7350;border-radius:12px;padding:11px 15px;font-size:13.5px}.ape-group{border:0;padding:0;margin:0;display:grid;grid-gap:12px;gap:12px}.ape-group:disabled{opacity:.65}.ape-group h3{margin:4px 0 0;font-size:15px}.ape-group label{display:grid;grid-gap:5px;gap:5px;font-size:13.5px}.ape-group label>span{font-weight:600}.ape-group small{color:var(--muted);font-size:12.5px}.ape-two{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.ape-card{border:1px solid var(--border);border-radius:12px;padding:12px;display:grid;grid-gap:9px;gap:9px;background:var(--panel-2)}.ape-card-head{display:flex;gap:8px;align-items:center}.ape-card-head .input{flex:1 1}.ap-preview-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 18px;background:#fdf6e8;border-bottom:1px solid #f0dcb4;position:-webkit-sticky;position:sticky;top:0;z-index:6}.ap-preview-note{color:#8a5d09;font-size:13.5px}.ap-preview-bar .btn{-webkit-margin-start:auto;margin-inline-start:auto}.lp-missing{color:var(--muted);font-style:italic}@media (max-width:1100px){.ap-cols{grid-template-columns:1fr}.ap-col{max-height:none}.ape-two{grid-template-columns:1fr}}.pi{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:15px 18px;margin-bottom:16px}.pi-head{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}.pi-head strong{font-size:15px}.pi-head p{margin:3px 0 0;color:var(--muted);font-size:13.5px;max-width:52ch}.pi-actions{-webkit-margin-start:auto;margin-inline-start:auto;display:flex;gap:8px;flex-wrap:wrap}.pi-error{color:#a32a3c;font-size:13.5px;margin:10px 0 0}.pi-result{margin-top:13px;border-top:1px solid var(--border);padding-top:12px}.pi-line{margin:0 0 8px;font-size:13.5px;font-weight:600}.pi-summary{list-style:none;margin:0;padding:0;display:flex;gap:8px;flex-wrap:wrap}.pi-summary li{font-size:12.5px;border:1px solid var(--border);border-radius:999px;padding:3px 11px;color:var(--muted)}.pi-summary li b{color:var(--text)}.pi-summary li.created{border-color:#bfe6d6;background:#f0faf6}.pi-summary li.created b{color:#0b7350}.pi-summary li.no-lesson,.pi-summary li.not-ready{border-color:#f0c9cf;background:#fdf2f4}.pi-problems,.pi-summary li.no-lesson b,.pi-summary li.not-ready b{color:#a32a3c}.pi-problems{margin:10px 0 0;-webkit-padding-start:20px;padding-inline-start:20px;font-size:13px;display:grid;grid-gap:4px;gap:4px}.pi-problems code{font-size:12.5px}.pi-note{margin:10px 0 0;color:var(--muted);font-size:13px}.ap-chip.ready{color:#0b8f66;border-color:#bfe6d6;background:#f4fbf8}.ap-chip.started{color:#8a5d09;border-color:#f0dcb4;background:#fdfaf3}.ap-chip.empty{color:var(--muted)}.ap-chip.empty em{font-style:normal;font-size:11px;opacity:.75}.ap-chip-add{color:var(--muted);border-style:dashed;background:transparent}.ap-chip-add:hover{color:var(--brand);border-color:var(--brand)}.ap-published-note{margin:0 0 14px;background:#f0faf6;border:1px solid #bfe6d6;color:#0b7350;border-radius:10px;padding:10px 14px;font-size:14px}.legal .legal-updated{color:var(--muted);font-size:.85rem;margin-top:.75rem}.legal .legal-other{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}.legal .legal-other a{color:var(--accent);font-weight:600}