@import"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Bricolage+Grotesque:opsz,wght@12..96,300;12..96,400;12..96,600;12..96,700&display=swap";:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0}a{color:inherit;text-decoration:none}button{font-family:inherit}:root{color-scheme:light;font-family:Bricolage Grotesque,Inter,system-ui,sans-serif;--ink: #1b1a17;--muted: #5c534a;--cream: #f4ede4;--sand: #efe3d2;--teal: #0b4f6c;--mint: #2a7f62;--sun: #d4943a;--stone: #c8b8a4;--card: #fffaf4}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#fef7ec,#f1e6d8);color:var(--ink)}.app{min-height:100vh}.top-nav{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 3rem;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4ede4cc;border-bottom:1px solid rgba(27,26,23,.08)}.brand{font-family:"Instrument Serif",Georgia,serif;font-size:1.8rem;font-style:italic;color:var(--teal)}.nav-links{display:flex;gap:1.5rem}.nav-links a{text-decoration:none;color:var(--muted);font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.nav-links a.active{color:var(--ink)}.nav-actions{display:flex;gap:.75rem}main{padding:2rem 3rem 4rem}.page{display:flex;flex-direction:column;gap:2rem}.page-header{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;font-weight:700;color:var(--sun);margin:0 0 .75rem}h1{margin:0 0 .75rem;font-size:clamp(2rem,3vw,3rem)}h2{margin:0 0 .5rem;font-size:1.5rem}.subhead{max-width:480px;margin:0;color:var(--muted)}.quick-actions{display:flex;gap:.75rem;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;padding:.7rem 1.4rem;font-weight:600;cursor:pointer;font-size:.9rem;transition:transform .2s ease,box-shadow .2s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--teal);color:#fff;box-shadow:0 10px 20px #0b4f6c33}.btn.full{width:100%}.btn-outline{background:transparent;border:1px solid rgba(27,26,23,.2)}.btn-ghost{background:transparent;color:var(--ink)}.panel{background:var(--card);border-radius:20px;padding:2rem;box-shadow:0 16px 40px #1b1a1714}.teacher-app .panel{background:#fff;box-shadow:0 16px 40px #10182614}.glance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-top:1.5rem}.glance-card{background:#fff;border-radius:16px;padding:1.2rem;border:1px solid rgba(27,26,23,.06)}.tile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem}.tile{border:none;text-align:left;padding:1.5rem;border-radius:16px;background:#fff;cursor:pointer;display:block;transition:transform .2s ease,box-shadow .2s ease}.tile:hover{transform:translateY(-2px);box-shadow:0 14px 28px #1b1a171f}.tile-title{font-size:1.1rem;font-weight:700;margin-bottom:.35rem}.tile-desc{color:var(--muted);font-size:.9rem}.tile-primary{background:linear-gradient(135deg,#e2f1f6,#fff)}.tile-sun{background:linear-gradient(135deg,#fff2dc,#fff)}.tile-mint{background:linear-gradient(135deg,#e4f4ee,#fff)}.tile-ink{background:linear-gradient(135deg,#edf0f4,#fff)}.tile-sand{background:linear-gradient(135deg,#f7efe6,#fff)}.tile-stone{background:linear-gradient(135deg,#f2ede8,#fff)}.session-list,.conversation-list{display:grid;gap:1rem;margin-top:1.5rem}.session-card,.conversation-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fff;border-radius:14px;padding:1rem 1.5rem;border:1px solid rgba(27,26,23,.05)}.session-title{font-weight:600}.muted{color:var(--muted);font-size:.9rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.stat-card{background:#fff;border-radius:16px;padding:1.5rem;border:1px solid rgba(27,26,23,.06)}.stat-label{text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;color:var(--muted)}.stat-value{font-size:2rem;margin:.4rem 0 .3rem;font-weight:700}.stat-value.small{font-size:1.4rem}.two-col{display:grid;grid-template-columns:1.3fr .7fr;gap:2rem}.table{display:grid;gap:.5rem;margin-top:1rem}.table-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;padding:.8rem 1rem;background:#fff;border-radius:12px;border:1px solid rgba(27,26,23,.05)}.table-head{background:transparent;border:none;font-weight:700;color:var(--muted)}.usage-list{display:grid;gap:.75rem;margin:1rem 0 1.5rem}.usage-item{display:flex;justify-content:space-between;padding:.8rem 1rem;background:#fff;border-radius:12px;border:1px solid rgba(27,26,23,.05)}.usage-value{font-weight:700}.student-shell{display:grid;grid-template-columns:260px 1fr;gap:2rem;align-items:start}.student-rail{position:sticky;top:110px;display:flex;flex-direction:column;gap:2rem;background:#fffaf4;border-radius:20px;padding:1.5rem;border:1px solid rgba(27,26,23,.08);min-height:70vh}.student-rail-header{display:flex;gap:.8rem;align-items:center}.student-avatar{width:44px;height:44px;border-radius:14px;background:var(--teal);color:#fff;display:grid;place-items:center;font-weight:700}.student-name{font-weight:700}.student-nav{display:grid;gap:.6rem}.student-nav-link{padding:.7rem .9rem;border-radius:12px;background:#fff;border:1px solid rgba(27,26,23,.05);font-weight:600;font-size:.9rem}.student-rail-footer{margin-top:auto}.student-content{display:flex;flex-direction:column;gap:2rem}.student-header{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}.student-bottom-nav{display:none}.checklist{display:grid;gap:.75rem;margin-top:1rem}.checklist label{display:flex;gap:.6rem;align-items:center}.callout{margin-top:1rem;padding:1rem;border-radius:12px;background:#fff;border:1px solid rgba(27,26,23,.08)}.tutor-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.tutor-preview-tile{display:grid;gap:.5rem}.tutor-mobile-shell{display:grid;gap:1rem}.tutor-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.tutor-tab{border:1px solid rgba(27,26,23,.12);background:#fff;border-radius:14px;padding:.8rem;text-align:left;display:grid;gap:.2rem;cursor:pointer}.tutor-tab.active{border-color:#0b4f6c73;background:#edf5f8}.tutor-tab-subject{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}.tutor-tab-name{font-weight:700;font-size:.94rem}.lesson-brief-card{background:#fff;border:1px solid rgba(27,26,23,.08);border-radius:16px;padding:1rem 1.1rem;display:grid;gap:.8rem}.lesson-brief-card h2{margin-bottom:.35rem;font-size:1.15rem}.curriculum-choice{display:grid;gap:.35rem}.curriculum-choice label{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}.curriculum-choice select{border:1px solid rgba(27,26,23,.15);border-radius:10px;padding:.55rem .65rem;font:inherit;background:#fff}.lesson-meta{display:flex;gap:.55rem;flex-wrap:wrap}.lesson-meta span{background:#f7efe6;border-radius:999px;padding:.35rem .65rem;font-size:.75rem;border:1px solid rgba(27,26,23,.08)}.lesson-meta.compact{margin-top:.7rem}.pythagoras-stage{display:grid;grid-template-columns:minmax(180px,240px) 1fr;gap:1rem;align-items:center;background:linear-gradient(135deg,#f4efe6,#eef7fb)}.pythagoras-portrait-wrap{width:100%;max-width:240px;margin:0 auto}.pythagoras-portrait{width:100%;display:block;border-radius:16px;border:1px solid rgba(27,26,23,.08)}.pythagoras-meta h2{margin-bottom:.35rem}.tutor-architecture-card{border-radius:14px;background:#f7fafc;border:1px solid rgba(16,24,38,.1);padding:.8rem .95rem}.lesson-pace{display:grid;gap:.35rem}.lesson-mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem}.lesson-mini-card{border:1px solid rgba(27,26,23,.08);border-radius:12px;background:#fff;padding:.65rem .75rem}.mini-line{margin:.3rem 0 0;font-size:.82rem}.lesson-pace-header{display:flex;align-items:center;justify-content:space-between;font-size:.78rem;color:var(--muted)}.lesson-pace-track{width:100%;height:8px;border-radius:999px;background:#efe4d6;overflow:hidden}.lesson-pace-fill{height:100%;background:linear-gradient(90deg,#0b4f6c,#2a7f62);transition:width .25s ease}.chat-panel{display:flex;flex-direction:column;background:#fff;border-radius:18px;border:1px solid rgba(27,26,23,.08);min-height:460px}.chat-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 1.5rem;border-bottom:1px solid rgba(27,26,23,.06)}.chat-body{flex:1;padding:1.5rem;display:grid;gap:.9rem;background:linear-gradient(180deg,#fffaf4,#fff)}.mobile-chat-body{max-height:min(65vh,680px);overflow-y:auto;align-content:start}.chat-turn{display:grid;gap:.5rem}.bubble{max-width:70%;padding:.9rem 1rem;border-radius:16px;line-height:1.5}.bubble-tutor{background:#f1f6f8;border:1px solid rgba(11,79,108,.1)}.bubble-student{justify-self:end;background:#fff5e5;border:1px solid rgba(212,148,58,.2)}.bubble-meta{margin-top:.45rem;font-size:.72rem;line-height:1.35;color:#655543}.inline-card{width:min(100%,460px);background:#fff;border:1px solid rgba(27,26,23,.08);border-radius:14px;padding:.75rem .85rem;display:grid;gap:.5rem}.inline-card-label{margin:0;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:700}.quiz-card{border-color:#0b4f6c38}.challenge-card{border-color:#2a7f6247}.media-card{border-color:#d4943a52}.media-embed-shell{display:grid;gap:.35rem}.media-embed-frame{width:100%;aspect-ratio:16 / 9;border-radius:12px;overflow:hidden;border:1px solid rgba(27,26,23,.14);background:#111827}.media-embed-frame iframe,.media-embed-frame video,.media-embed-frame img{width:100%;height:100%;display:block;border:0}.media-embed-frame img{object-fit:cover}.media-embed-shell.audio .media-embed-frame,.media-embed-shell.unavailable .media-embed-frame{aspect-ratio:auto;min-height:3.1rem;background:#fff}.media-embed-shell.audio audio{width:100%;height:3.1rem;display:block}.media-embed-placeholder{display:grid;place-items:center;min-height:3.1rem;padding:.6rem;text-align:center;font-size:.82rem;color:var(--muted)}.challenge-title{font-weight:700;margin:0}.experience-badge{margin:0;width:fit-content;padding:.26rem .55rem;border-radius:999px;background:#2a7f621f;border:1px solid rgba(42,127,98,.22);font-size:.72rem;font-weight:700}.choice-row{display:flex;gap:.45rem;flex-wrap:wrap}.choice-chip{border-radius:999px;border:1px solid rgba(27,26,23,.16);background:#fff;padding:.4rem .75rem;font-size:.78rem;cursor:pointer}.quick-prompt-row{display:flex;gap:.4rem;padding:.4rem .75rem;overflow-x:auto}.quick-chip{white-space:nowrap;border:1px solid #d1d1d6;background:#fff;border-radius:999px;padding:.35rem .7rem;font-size:.76rem;cursor:pointer;color:#007aff}.loading-bubble{opacity:.75;font-style:italic}.chat-input{display:flex;gap:.8rem;padding:1rem 1.5rem;border-top:1px solid rgba(27,26,23,.06)}.chat-hint{padding:.6rem 1.5rem;font-size:.8rem;color:var(--muted);background:#fffaf4;border-top:1px dashed rgba(27,26,23,.12)}.input-language-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;padding:.6rem 1.2rem .5rem;border-top:1px solid rgba(27,26,23,.06);background:#fff}.lang-chip{border:1px solid rgba(27,26,23,.14);border-radius:999px;background:#fff;padding:.3rem .7rem;font-size:.78rem;cursor:pointer}.lang-chip.active{background:#edf5f8;border-color:#0b4f6c66;color:var(--teal)}.recording-note{font-size:.75rem;color:var(--muted)}.chat-input input{flex:1;padding:.8rem 1rem;border-radius:999px;border:1px solid rgba(27,26,23,.15)}.mobile-chat-input{position:sticky;bottom:0;background:#fff;padding-bottom:calc(.75rem + env(safe-area-inset-bottom))}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-top:1rem}.form-grid label,.full-width{display:grid;gap:.4rem;font-weight:600;font-size:.9rem}.form-grid input,.full-width input,.full-width textarea{padding:.8rem .9rem;border-radius:12px;border:1px solid rgba(27,26,23,.15);font-family:inherit}.output-box{background:#fff;border-radius:14px;border:1px solid rgba(27,26,23,.08);padding:1rem;min-height:180px}.output-actions{display:flex;gap:.6rem;margin-top:1rem}.longform-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:2rem}.outline-card{display:grid;gap:.8rem;margin-top:1rem}.outline-item{background:#fff;padding:.9rem 1rem;border-radius:12px;border:1px solid rgba(27,26,23,.08)}.longform-editor{width:100%;padding:1rem;border-radius:14px;border:1px solid rgba(27,26,23,.1);font-family:inherit}.editor-actions{display:flex;gap:.6rem;margin-top:1rem}.tip-list{display:grid;gap:.6rem;padding-left:1rem}.rubric{display:grid;gap:.8rem;margin-top:.5rem}.rubric div{display:flex;justify-content:space-between;background:#fff;padding:.8rem 1rem;border-radius:12px;border:1px solid rgba(27,26,23,.08)}.source-list{display:grid;gap:.8rem;margin-top:1rem}.source-card{background:#fff;border-radius:12px;border:1px solid rgba(27,26,23,.08);padding:.8rem 1rem}@media(max-width:960px){main{padding:2rem 1.5rem 3rem}.top-nav{padding:1rem 1.5rem;flex-direction:column;gap:1rem}.two-col,.student-shell{grid-template-columns:1fr}.student-rail{position:static}.longform-grid{grid-template-columns:1fr}.student-app{padding:1.6rem 1.4rem 3.2rem}}@media(max-width:720px){.nav-links{flex-wrap:wrap;justify-content:center}.quick-actions{width:100%;justify-content:flex-start}.student-rail{display:none}.student-bottom-nav{position:sticky;bottom:0;background:#fff;border-top:1px solid rgba(27,26,23,.1);display:flex;justify-content:space-around;padding:.8rem 1rem;margin-top:2rem}.student-bottom-nav a{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.student-bottom-nav{z-index:9}.tutor-tabs{grid-template-columns:1fr}.chat-header{padding:.9rem 1rem}.chat-body{padding:1rem}.bubble{max-width:88%}.chat-input{padding:.75rem .9rem}.quick-prompt-row{padding:.65rem .9rem}.chat-hint{padding:.5rem .9rem}.input-language-toggle{padding:.55rem .9rem .45rem}.pythagoras-stage{grid-template-columns:1fr}.pythagoras-portrait-wrap{max-width:220px}}.student-nav-link.active,.student-bottom-nav a.active{background:#0b4f6c14;border-color:#0b4f6c4d;color:var(--teal)}.student-shell.immersive{grid-template-columns:1fr}.student-header.compact{align-items:center}.student-header.compact h1{font-size:1.8rem}.student-app{padding:2rem 3rem 4rem;min-height:100vh}.student-app .student-shell{max-width:1200px;margin:0 auto}.icon-btn{width:40px;height:40px;border-radius:999px;border:1px solid rgba(27,26,23,.15);background:#fff;display:grid;place-items:center;cursor:pointer}.icon-btn svg{display:block}.icon-btn.recording{border-color:#b8293e73;color:#b8293e;background:#fff0f3}.bubble{position:relative}.bubble-text{padding-right:2.2rem}.bubble-audio{position:absolute;right:.7rem;bottom:.6rem;background:transparent;border:none;color:var(--teal);cursor:pointer}.chat-panel.immersive{min-height:70vh}@media(max-width:960px){.student-app{padding:1.6rem 1.4rem 3.2rem}}.sheet-backdrop{position:fixed;inset:0;background:#0006;display:grid;place-items:end center;z-index:100;padding:2rem 1rem}.sheet{width:min(420px,100%);background:#fff;border-radius:20px;padding:1.2rem 1.2rem 1.5rem;box-shadow:0 24px 60px #0003}.sheet-handle{width:44px;height:4px;background:#1b1a1733;border-radius:999px;margin:0 auto 1rem}.sheet-actions{display:grid;gap:.6rem;margin:1rem 0}.sheet-btn{width:100%;padding:.9rem 1rem;border-radius:12px;border:1px solid rgba(27,26,23,.12);background:#fff;font-weight:600;cursor:pointer}.sheet-btn.primary{background:var(--teal);color:#fff;border-color:transparent}.sheet-btn.cancel{background:transparent}.toast{position:fixed;bottom:2rem;right:2rem;background:#0b4f6c;color:#fff;padding:.8rem 1.2rem;border-radius:999px;box-shadow:0 12px 24px #0b4f6c4d}.notes-toolbar{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;background:#fff;border-radius:16px;padding:1rem 1.2rem;border:1px solid rgba(27,26,23,.08)}.notes-toolbar input{flex:1;min-width:220px;border:1px solid rgba(27,26,23,.15);border-radius:999px;padding:.7rem 1rem}.pill-group{display:flex;gap:.6rem}.pill{border-radius:999px;border:1px solid rgba(27,26,23,.15);padding:.5rem 1rem;background:transparent;cursor:pointer}.pill.active{background:#0b4f6c1f;color:var(--teal);border-color:#0b4f6c4d}.notes-list{display:grid;gap:1.5rem}.notes-group-title{font-size:.85rem;font-weight:700;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;margin-bottom:.5rem}.note-card{background:#fff;border-radius:16px;padding:1.2rem;border:1px solid rgba(27,26,23,.08);display:grid;gap:.4rem}.note-header{display:flex;justify-content:space-between;gap:1rem;align-items:center}.note-header h3{margin:0}.note-actions{display:flex;gap:.3rem}.note-title-input{border:1px solid rgba(27,26,23,.2);border-radius:10px;padding:.4rem .6rem;font-size:1rem}.note-body{margin:.4rem 0 0}.note-meta{font-size:.8rem;color:var(--muted)}.teacher-toolbar{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;background:#fff;border-radius:16px;padding:1rem 1.2rem;border:1px solid rgba(27,26,23,.08)}.teacher-toolbar input{flex:1;min-width:240px;border:1px solid rgba(27,26,23,.15);border-radius:999px;padding:.7rem 1rem}.status{padding:.2rem .6rem;border-radius:999px;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;width:fit-content}.status.active{background:#1018261a;color:#101826}.status.paused{background:#917a5e26;color:#6f5b44}.teacher-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.summary-card{background:#fff;border-radius:14px;padding:1.2rem;border:1px solid rgba(27,26,23,.08)}.credit-allocations{display:grid;gap:1rem}.allocation-grid{display:grid;gap:.8rem}.allocation-grid input{padding:.7rem .9rem;border-radius:12px;border:1px solid rgba(27,26,23,.15)}.panel-header{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:center;margin-bottom:1rem}.conversation-list.teacher{gap:1rem}.conversation-card.teacher{align-items:flex-start;flex-wrap:wrap}.conversation-snippet{margin:.4rem 0 0;color:var(--muted)}.conversation-meta{display:grid;gap:.4rem;text-align:right}.negative{color:#8a2d2d;font-weight:600}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.settings-grid.compact{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.settings-card{display:grid;gap:.6rem;background:#fff;border-radius:14px;padding:1.2rem;border:1px solid rgba(27,26,23,.08)}.toggle{display:flex;align-items:center;gap:.6rem;font-weight:600}.teacher-app{padding:2rem 3rem 4rem;background:#f5f7fb;min-height:100vh}.teacher-shell{max-width:1200px;margin:0 auto;display:grid;gap:1.5rem}.teacher-top{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}.teacher-nav{display:flex;gap:1rem;flex-wrap:wrap;padding:.8rem 1rem;background:#fff;border-radius:14px;border:1px solid rgba(27,26,23,.08)}.teacher-nav a{padding:.4rem .8rem;border-radius:10px;font-weight:600}.teacher-nav a.active{background:#101826;color:#fff}.teacher-actions .btn-primary{background:#101826;box-shadow:0 10px 20px #10182640}.eyebrow.teacher{color:#2c405a}.debug-home{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:start;padding:2rem 0}.debug-card{background:#fff;border-radius:20px;padding:2rem;box-shadow:0 16px 40px #1b1a1714}.debug-actions{display:flex;gap:.8rem;margin-top:1.5rem}.debug-note{background:#fdf6ea;border-radius:20px;padding:2rem}.marketing-shell{max-width:1080px;margin:0 auto;display:grid;gap:1.4rem;padding:1.5rem 0 3rem}.marketing-hero{background:linear-gradient(135deg,#ecf5f9,#fff7ee)}@media(max-width:960px){.student-app,.teacher-app{padding:2rem 1.5rem 3rem}.debug-home{grid-template-columns:1fr}.marketing-shell{padding-top:1rem}}.student-shell.immersive .student-content{min-height:calc(100vh - 4rem);gap:.72rem;max-width:100%;margin:0 auto}@media(min-width:768px){.student-shell.immersive .student-content{max-width:680px}}@media(min-width:1024px){.student-shell.immersive .student-content{max-width:780px}}.chat-focus-shell{display:grid;grid-template-rows:auto 1fr;min-height:calc(100vh - 5rem);min-height:calc(100dvh - 5rem);position:relative;background:#fff;overflow:hidden}.messenger-header{display:flex;justify-content:space-between;align-items:center;gap:.7rem;background:#fff9ecc7;border:1px solid rgba(206,184,145,.45);border-radius:20px;padding:.56rem .68rem;-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);box-shadow:inset 1px 1px #fffc,8px 10px 20px #b5a08133}.mode-toggle{display:flex;gap:2px;background:#ceb89140;border-radius:10px;padding:2px;flex-shrink:0}.mode-pill{padding:4px 10px;border-radius:8px;border:none;background:transparent;color:#7a6f60;font-size:.7rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s;letter-spacing:.02em;line-height:1.3}.mode-pill.active{background:#fff;color:#4f4a43;box-shadow:0 1px 3px #0000001a}.mode-pill:not(.active):hover{background:#fff6}.menu-btn{width:39px;height:39px;border-radius:14px;border:1px solid rgba(210,190,154,.6);background:linear-gradient(145deg,#fffdf8,#f0e4cd);color:#4f4a43;font-size:1rem;cursor:pointer;display:grid;place-items:center;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease;box-shadow:6px 6px 14px #beaa8b47,-4px -4px 10px #ffffffd9}.menu-btn:hover{transform:translateY(-1px)}.menu-btn:active{transform:translateY(0);box-shadow:inset 4px 4px 8px #ac977633,inset -3px -3px 8px #ffffffe6}.back-btn{font-size:0}.messenger-contact{display:flex;align-items:center;justify-content:center;gap:.62rem;min-width:0;flex:1}.messenger-avatar-shell{width:48px;height:48px;border-radius:50%;padding:4px;background:linear-gradient(150deg,#fffefc,#eadbc1);box-shadow:inset 1px 1px #ffffffd9,6px 7px 16px #af997857,-5px -4px 10px #ffffffeb}.messenger-avatar{width:100%;height:100%;border-radius:50%;border:1px solid rgba(205,182,143,.42);object-fit:cover;flex:0 0 auto}.messenger-name{font-size:.88rem;font-weight:700;line-height:1.2;color:#33302e;letter-spacing:.01em}.messenger-subject{font-size:.66rem;color:#6f655b;text-transform:uppercase;letter-spacing:.09em;font-weight:700}.hud-strip{display:flex;gap:.42rem;justify-content:center;flex-wrap:wrap;padding-inline:.2rem}.hud-chip{display:inline-flex;align-items:center;gap:.24rem;border-radius:999px;border:1px solid rgba(206,183,146,.56);background:linear-gradient(150deg,#fff9ef,#f4e7ce);padding:.28rem .62rem;font-size:.72rem;font-weight:700;color:#5a4f43;box-shadow:4px 4px 9px #b4a08347,-3px -3px 8px #ffffffe0}.hud-notice{background:#f2f2f7;color:#1a1a1a;padding:.35rem .75rem;font-size:.78rem;font-weight:500;text-align:center}.chat-panel.immersive.mobile-chat{min-height:0;height:100%;overflow:hidden;background:#fff;display:flex;flex-direction:column}.chat-panel.immersive.mobile-chat .chat-body.mobile-chat-body{max-height:none;min-height:0;flex:1;padding:.5rem .75rem;background:#fff;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.15) transparent}.chat-focus-shell .chat-turn{gap:.25rem}.chat-focus-shell .bubble{max-width:75%;border-radius:18px;border:none;line-height:1.4;font-size:.94rem;color:#1a1a1a;padding:.5rem .75rem;position:relative;animation:bubble-pop .2s cubic-bezier(.2,.7,.15,1);transform-origin:left bottom}.chat-focus-shell .bubble-student{justify-self:end;color:#fff;background:#007aff;border-radius:18px 18px 4px;transform-origin:right bottom}.chat-focus-shell .bubble-tutor{color:#1a1a1a;background:#e9e9eb;border-radius:18px 18px 18px 4px}.chat-focus-shell .bubble-meta{color:#8e8e93;margin-top:.25rem;font-size:.78rem}.chat-focus-shell .inline-card{width:min(100%,96%);background:#f5f5f5;border:1px solid #e0e0e0;border-radius:14px;padding:.65rem .75rem;gap:.4rem}.chat-focus-shell .inline-card-label{color:#666;width:fit-content;padding:.12rem .4rem;border-radius:999px;font-size:.64rem;background:#0000000d}.chat-focus-shell .quiz-card .inline-card-label{background:#007aff1a;color:#007aff}.chat-focus-shell .challenge-card .inline-card-label{background:#34c7591a;color:#248a3d}.chat-focus-shell .media-card .inline-card-label{background:#ff95001a;color:#c77c00}.chat-focus-shell .challenge-title{color:#1a1a1a}.chat-focus-shell .quiz-card{border-left:3px solid #007aff}.chat-focus-shell .challenge-card{border-left:3px solid #34c759}.chat-focus-shell .media-card{border-left:3px solid #ff9500}.chat-focus-shell .choice-chip,.chat-focus-shell .difficulty-chip{border-radius:999px;border:1px solid #d1d1d6;background:#fff}.chat-focus-shell .choice-chip.active,.chat-focus-shell .difficulty-chip.active{border-color:#007aff;color:#007aff;background:#007aff14}.chat-focus-shell .media-embed-frame{border-radius:12px;border-color:#e0e0e0;background:#f5f5f5}.chat-focus-shell .chat-input{align-items:center;gap:.5rem;padding:.5rem .5rem calc(.5rem + env(safe-area-inset-bottom));border-top:1px solid #e5e5ea;background:#f9f9f9}.chat-focus-shell .chat-input input{border-radius:20px;border:1px solid #d1d1d6;background:#fff;color:#1a1a1a;padding:.55rem .9rem;font-size:.94rem}.chat-focus-shell .chat-input input::placeholder{color:#8e8e93}.chat-focus-shell .icon-btn,.chat-focus-shell .math-tool-btn{width:34px;height:34px;border-radius:50%;border:none;background:transparent;color:#007aff;flex-shrink:0}.chat-focus-shell .icon-btn:active,.chat-focus-shell .math-tool-btn:active{background:#007aff14}.chat-focus-shell .send-btn.ready{background:#007aff;color:#fff;border-radius:50%}.chat-focus-shell .mic-btn.recording{color:#ff3b30}.chat-focus-shell .chat-hint{border-top:1px solid #e5e5ea;background:#f2f2f7;color:#8e8e93;font-size:.78rem;padding:.3rem .75rem}.typing-indicator-row{display:flex;align-items:flex-end;gap:.35rem}.typing-dots-bubble{display:flex;gap:.3rem;align-items:center;padding:.5rem .75rem;border-radius:18px 18px 18px 4px;background:#e9e9eb}.typing-dot{width:7px;height:7px;border-radius:50%;background:#2f2b2873;animation:typing-bounce 1.4s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.16s}.typing-dot:nth-child(3){animation-delay:.32s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}.drawer-backdrop{position:fixed;inset:0;z-index:95;background:#00000059;display:flex;justify-content:flex-start}.tutor-drawer{width:min(320px,90vw);height:100%;background:#fff;box-shadow:18px 0 40px #0000003d;padding:1rem .95rem 1.25rem;overflow-y:auto;display:grid;align-content:start;gap:.95rem}.drawer-header{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.drawer-header h2{margin:0;font-size:1.05rem}.drawer-section{display:grid;gap:.55rem}.drawer-section select{border-radius:10px;border:1px solid rgba(27,26,23,.15);padding:.55rem .65rem;font:inherit}.drawer-tutor-list{display:grid;gap:.45rem}.drawer-tutor-item{display:flex;align-items:center;justify-content:space-between;gap:.55rem;border-radius:12px;border:1px solid rgba(27,26,23,.11);background:#fff;padding:.55rem .65rem;text-align:left;cursor:pointer}.drawer-tutor-item.active{background:#edf5f8;border-color:#0b4f6c59}.difficulty-row{display:flex;gap:.4rem;flex-wrap:wrap}.difficulty-chip{border-radius:999px;border:1px solid rgba(27,26,23,.16);background:#fff;padding:.36rem .68rem;font-size:.74rem;text-transform:capitalize;cursor:pointer}.difficulty-chip.active,.choice-chip.active{border-color:#0b4f6c61;background:#edf5f8;color:var(--teal)}.challenge-overlay{position:fixed;inset:0;z-index:110;background:#0a0b0c8c;display:grid;place-items:center;padding:1rem}.challenge-modal{width:min(760px,100%);max-height:min(92vh,900px);overflow-y:auto;background:#fff;border-radius:20px;border:1px solid rgba(27,26,23,.1);padding:1rem;display:grid;gap:.85rem}.challenge-modal-header{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.challenge-modal-header h2{margin:0;font-size:1.18rem}.challenge-play{display:grid;gap:.7rem;border:1px solid rgba(27,26,23,.09);border-radius:14px;padding:1rem;background:#fffaf4}.challenge-question{margin:0;font-size:1.7rem;font-weight:700}.challenge-play input{width:100%;border-radius:12px;border:1px solid rgba(27,26,23,.16);padding:.75rem .85rem;font:inherit}.challenge-progress{font-size:.8rem;color:var(--muted)}.challenge-complete{display:grid;gap:.6rem}@media(max-width:720px){.student-shell.immersive .student-content{min-height:calc(100vh - 5rem)}.chat-focus-shell{min-height:calc(100vh - 6rem);padding:.42rem}.messenger-header{padding:.52rem .62rem}.hud-strip{justify-content:center}.messenger-contact{justify-content:flex-start}.challenge-overlay{padding:0}.challenge-modal{width:100%;height:100%;max-height:none;border-radius:0;padding:.9rem}}.lesson-reco-card{background:linear-gradient(145deg,#fff7ea,#f5e7cb);border:1px solid rgba(204,179,139,.52);border-radius:18px;padding:.84rem .96rem;display:grid;gap:.52rem;box-shadow:10px 10px 22px #af9a7938,-5px -5px 11px #ffffffbf}.lesson-reco-card h2{margin:0;font-size:1.05rem;color:#322d28}.lesson-reco-meta{display:flex;flex-wrap:wrap;gap:.45rem}.lesson-reco-meta span{border-radius:999px;border:1px solid rgba(200,173,133,.5);background:linear-gradient(145deg,#fffdf7,#efe0c5);font-size:.74rem;padding:.25rem .55rem;color:#6d6052}.chat-focus-shell .challenge-card:before{content:"";display:block;height:1px;width:100%;background:linear-gradient(90deg,#4ab0a81f,#e07a5f4d);margin-bottom:.1rem}.chat-focus-shell .challenge-card .btn-outline,.chat-focus-shell .media-card .btn-outline{border-color:#7ea4846b;color:#2c6d67;background:linear-gradient(145deg,#f4fbf8,#e2f2ec);box-shadow:4px 5px 12px #839d8b38,-2px -2px 6px #ffffffdb}.chat-focus-shell .challenge-card .btn-outline:active,.chat-focus-shell .media-card .btn-outline:active{box-shadow:inset 3px 3px 8px #78968340,inset -2px -2px 6px #ffffffd6}.chat-focus-shell .inline-card pre,.chat-focus-shell .inline-card code{font-family:Menlo,SFMono-Regular,ui-monospace,monospace}.chat-focus-shell .inline-card pre{margin:0;border-radius:14px;border:1px solid rgba(191,167,127,.46);background:linear-gradient(145deg,#f5ebd3,#fbf6ea);padding:.65rem .75rem;box-shadow:inset 2px 2px 4px #b9a27e33,inset -2px -2px 6px #ffffffb8}@keyframes bubble-pop{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes send-pulse{0%,to{filter:saturate(1) brightness(1);box-shadow:7px 8px 15px #5881cf52,-3px -3px 7px #c5d8ff9e}50%{filter:saturate(1.1) brightness(1.04);box-shadow:9px 10px 18px #5881cf6b,-3px -3px 8px #d2e2ffb8}}@media(prefers-reduced-motion:reduce){.chat-focus-shell .bubble,.send-pill.ready{animation:none}}.drawer-readonly{border:1px solid rgba(27,26,23,.1);border-radius:10px;background:#fffaf4;padding:.55rem .65rem;font-size:.85rem}.lesson-rating-shell{display:grid;gap:.75rem}.lesson-rating-shell textarea{width:100%;border:1px solid rgba(27,26,23,.16);border-radius:10px;padding:.6rem .7rem;font:inherit}.teacher-message-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:1rem;align-items:start}.review-card{width:100%;text-align:left;border:1px solid rgba(27,26,23,.08);background:#fff;cursor:pointer}.review-card.active{border-color:#0b4f6c59;background:#edf5f8}.transcript-panel{min-height:420px}.teacher-transcript{display:grid;gap:.7rem;max-height:62vh;overflow-y:auto}.teacher-turn{border-radius:12px;border:1px solid rgba(27,26,23,.1);padding:.65rem .75rem}.teacher-turn p{margin:0}.transcript-media-card{margin-top:.5rem}.teacher-turn.student{background:#fff5e5}.teacher-turn.tutor{background:#eef5f8}.rating-actions{display:grid;gap:.4rem;width:min(280px,100%)}.rating-actions select,.rating-actions input{border:1px solid rgba(27,26,23,.18);border-radius:10px;padding:.45rem .55rem;font:inherit}@media(max-width:960px){.teacher-message-grid{grid-template-columns:1fr}}body[data-theme=dark]{color-scheme:dark;background:radial-gradient(circle at top,#1a2028,#0f1318);color:#e7edf5}body[data-theme=dark] .top-nav,body[data-theme=dark] .panel,body[data-theme=dark] .sheet,body[data-theme=dark] .student-rail,body[data-theme=dark] .messenger-header,body[data-theme=dark] .chat-panel,body[data-theme=dark] .lesson-reco-card,body[data-theme=dark] .tutor-drawer,body[data-theme=dark] .challenge-modal,body[data-theme=dark] .teacher-nav,body[data-theme=dark] .settings-card,body[data-theme=dark] .summary-card,body[data-theme=dark] .stat-card,body[data-theme=dark] .table-row,body[data-theme=dark] .usage-item,body[data-theme=dark] .conversation-card,body[data-theme=dark] .review-card,body[data-theme=dark] .note-card,body[data-theme=dark] .notes-toolbar,body[data-theme=dark] .teacher-toolbar{background:#18212b;border-color:#d4dfec26;color:#e7edf5;box-shadow:none}body[data-theme=dark] .mode-toggle{background:#d4dfec1f}body[data-theme=dark] .mode-pill{color:#8a9aad}body[data-theme=dark] .mode-pill.active{background:#2a3544;color:#e7edf5;box-shadow:0 1px 3px #0000004d}body[data-theme=dark] .mode-pill:not(.active):hover{background:#d4dfec14}body[data-theme=dark] .subhead,body[data-theme=dark] .muted,body[data-theme=dark] .bubble-meta,body[data-theme=dark] .conversation-snippet,body[data-theme=dark] .stat-label{color:#b0bcc8}body[data-theme=dark] .btn-outline,body[data-theme=dark] .btn-ghost,body[data-theme=dark] .pill,body[data-theme=dark] .choice-chip,body[data-theme=dark] .difficulty-chip,body[data-theme=dark] .lang-chip,body[data-theme=dark] .hud-chip,body[data-theme=dark] .drawer-readonly,body[data-theme=dark] .lesson-reco-meta span{background:#202a35;color:#e7edf5;border-color:#d4dfec38}body[data-theme=dark] .btn-primary{background:#2a7f62;box-shadow:none}body[data-theme=dark] .chat-body,body[data-theme=dark] .chat-focus-shell,body[data-theme=dark] .chat-panel.immersive.mobile-chat,body[data-theme=dark] .chat-panel.immersive.mobile-chat .chat-body.mobile-chat-body{background:#000}body[data-theme=dark] .bubble-tutor,body[data-theme=dark] .teacher-turn.tutor{background:#262628;color:#e5e5ea}body[data-theme=dark] .bubble-student,body[data-theme=dark] .teacher-turn.student{background:#0a84ff;color:#fff}body[data-theme=dark] .typing-dots-bubble{background:#262628}body[data-theme=dark] .chat-focus-shell .chat-input,body[data-theme=dark] .chat-focus-shell .inline-card{background:#1c1c1e;border-color:#38383a}body[data-theme=dark] input,body[data-theme=dark] textarea,body[data-theme=dark] select,body[data-theme=dark] .chat-input input,body[data-theme=dark] .notes-toolbar input,body[data-theme=dark] .teacher-toolbar input{background:#121922;color:#e7edf5;border-color:#d4dfec33}body[data-theme=dark] .student-nav-link.active,body[data-theme=dark] .student-bottom-nav a.active,body[data-theme=dark] .teacher-nav a.active,body[data-theme=dark] .review-card.active{background:#2a7f623d;border-color:#2a7f628c;color:#d6f6e9}.chat-focus-shell .send-btn{width:40px;height:40px;border-radius:50%;background:linear-gradient(145deg,#c8d6e0,#b0bec5);border:1px solid rgba(150,170,185,.5);color:#6b7d8a;transition:all .2s ease}.chat-focus-shell .send-btn.ready{background:linear-gradient(145deg,#7ea8fa,#5a8ff0);border-color:#4a77cf85;color:#fff;box-shadow:7px 8px 15px #5881cf52,-3px -3px 7px #c5d8ff9e;animation:send-pulse 1.7s ease-in-out infinite}.tools-popover{display:flex;gap:.5rem;padding:.5rem .68rem;border-top:1px solid rgba(202,177,137,.35);background:#fff8eaed}.tool-item{display:flex;align-items:center;gap:.4rem;padding:.45rem .75rem;border-radius:14px;border:1px solid rgba(195,170,131,.45);background:linear-gradient(145deg,#fffdf8,#f0e3cd);color:#5a4f43;font-size:.78rem;font-weight:600;cursor:pointer;box-shadow:3px 4px 8px #ad977733,-2px -2px 6px #ffffffdb}.tool-item:active{box-shadow:inset 3px 3px 6px #b39d7c40,inset -2px -2px 5px #ffffffe6}.timestamp-divider{text-align:center;font-size:.68rem;color:#a09383;padding:.6rem 0 .3rem;letter-spacing:.04em}.inline-card.challenge-card.expanded{transition:max-height .3s ease-out}.inline-card.challenge-card.fullscreen{position:fixed;inset:0;z-index:100;border-radius:0;max-width:none;width:100%;max-height:none;overflow-y:auto;padding:1.5rem}.challenge-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.challenge-card-controls{display:flex;gap:.35rem}.icon-btn-sm{width:30px;height:30px;border-radius:10px;border:1px solid rgba(195,170,131,.45);background:linear-gradient(145deg,#fffdf8,#f0e3cd);color:#6a5d4f;display:grid;place-items:center;cursor:pointer;box-shadow:3px 3px 7px #ad977733,-2px -2px 5px #ffffffdb}.inline-challenge-content{display:grid;gap:.65rem}.challenge-complete-inline{display:grid;gap:.5rem}.inline-challenge-content input{padding:.7rem .9rem;border-radius:14px;border:1px solid rgba(194,170,132,.5);background:linear-gradient(145deg,#f8ecd7,#fffdf8);box-shadow:inset 3px 3px 6px #c1ab8733,inset -3px -3px 8px #fffc;font:inherit}@media(min-width:768px){.chat-focus-shell .inline-card{width:min(100%,580px)}.chat-focus-shell .media-card{width:min(100%,640px)}.media-embed-frame{min-height:320px}}@media(min-width:1024px){.chat-focus-shell .media-card{width:min(100%,720px)}.media-embed-frame{min-height:380px}}@media(min-width:768px){.inline-card.challenge-card.expanded{width:100%;padding:1.2rem 1.5rem}.inline-challenge-content input{min-width:320px}.challenge-play{gap:.85rem}.inline-card.challenge-card.fullscreen{display:grid;place-items:center;padding:3rem}.inline-card.challenge-card.fullscreen .inline-challenge-content{max-width:680px;width:100%}.inline-card.challenge-card.fullscreen .challenge-play{gap:1.2rem}.inline-card.challenge-card.fullscreen input{min-width:400px;padding:1rem 1.2rem;font-size:1.05rem}.inline-card.challenge-card.fullscreen .btn{padding:.85rem 1.8rem}}@media(min-width:768px){.drawer-backdrop{background:#0000002e}.tutor-drawer{position:fixed;right:0;top:0;height:100%;width:320px;box-shadow:-12px 0 40px #0000001f;border-left:1px solid rgba(27,26,23,.08)}}@media(min-width:1024px){.tutor-drawer{width:360px}}@media(min-width:768px){.chat-focus-shell .bubble{max-width:72%;font-size:1.02rem;line-height:1.52}.chat-focus-shell .bubble-tutor{padding-left:3.2rem}.chat-focus-shell .bubble-tutor .tutor-avatar-ring{left:.65rem;bottom:.65rem}.hud-chip{font-size:.76rem;padding:.32rem .72rem}}.login-page{min-height:100vh;display:grid;place-items:center;padding:2rem;background:radial-gradient(circle at top,#fef7ec,#f1e6d8)}.login-card{width:100%;max-width:420px;background:var(--card);border-radius:24px;padding:2.5rem 2rem;box-shadow:8px 8px 20px #0000000f,-4px -4px 12px #ffffffb3;display:flex;flex-direction:column;gap:1.5rem}.login-brand{display:flex;align-items:baseline;gap:.5rem}.login-brand .brand{font-size:2.2rem}.login-tagline{font-size:1.1rem;color:var(--muted);font-weight:500}.login-subtitle{color:var(--muted);font-size:.95rem;margin:0}.login-role-pills{display:flex;gap:.5rem}.login-role-pill{flex:1;padding:.6rem 1rem;border-radius:12px;border:1px solid rgba(27,26,23,.12);background:transparent;color:var(--muted);font-weight:600;font-size:.85rem;cursor:pointer;transition:all .15s ease}.login-role-pill.active{background:var(--teal);color:#fff;border-color:var(--teal)}.login-quick-section{display:flex;flex-direction:column;gap:.6rem}.login-section-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);margin:0}.login-quick-grid{display:flex;gap:.6rem;flex-wrap:wrap}.login-quick-btn{display:flex;align-items:center;gap:.5rem;padding:.55rem .9rem;border-radius:12px;border:1px solid rgba(27,26,23,.1);background:var(--cream);cursor:pointer;transition:all .15s ease}.login-quick-btn:hover{border-color:var(--teal);box-shadow:0 2px 8px #0b4f6c1a}.login-quick-avatar{width:32px;height:32px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font-size:.7rem;font-weight:700}.login-quick-name{font-weight:600;font-size:.85rem;color:var(--ink)}.login-divider{display:flex;align-items:center;gap:.75rem;color:var(--stone);font-size:.8rem}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#1b1a171a}.login-form{display:flex;flex-direction:column;gap:.75rem}.login-input{width:100%;padding:.75rem 1rem;border-radius:12px;border:1px solid rgba(27,26,23,.14);background:var(--cream);font-size:.95rem;color:var(--ink);outline:none;transition:border-color .15s ease}.login-input:focus{border-color:var(--teal)}.login-submit{width:100%}.login-footer-note{font-size:.75rem;text-align:center;margin:0}.admin-shell .eyebrow.admin{color:var(--mint)}.admin-user-badge{font-size:.82rem;font-weight:600;color:var(--muted);padding:.35rem .75rem;border-radius:8px;background:#1b1a170a}.admin-action-list{display:flex;flex-direction:column;gap:.5rem}.admin-action-row{display:flex;flex-direction:column;gap:.15rem;padding:.75rem 1rem;border-radius:12px;border:1px solid rgba(27,26,23,.08);text-decoration:none;color:var(--ink);transition:all .15s ease}.admin-action-row:hover{border-color:var(--teal);background:#0b4f6c08}.admin-action-label{font-weight:600;font-size:.9rem}.admin-health-grid{display:flex;flex-direction:column;gap:.5rem}.admin-health-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid rgba(27,26,23,.06)}.admin-health-label{font-weight:500;font-size:.88rem}.form-input{padding:.65rem 1rem;border-radius:10px;border:1px solid rgba(27,26,23,.14);background:var(--cream);font-size:.9rem;color:var(--ink);outline:none;width:100%;max-width:400px}.form-input:focus{border-color:var(--teal)}.form-select{padding:.55rem .8rem;border-radius:8px;border:1px solid rgba(27,26,23,.14);background:var(--cream);font-size:.88rem;color:var(--ink);outline:none}.form-label{display:flex;flex-direction:column;gap:.3rem;font-size:.82rem;font-weight:600;color:var(--muted)}.form-actions{display:flex;gap:.5rem;padding-top:.5rem}.form-note{font-size:.78rem;margin-top:.5rem}.inline-form{display:flex;flex-direction:column;gap:.75rem;max-width:500px}.toolbar{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem}.settings-group{display:flex;flex-direction:column;gap:.25rem}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:.55rem 0;border-bottom:1px solid rgba(27,26,23,.06)}.settings-row.clickable{cursor:pointer}.settings-label{font-weight:500;font-size:.88rem}.lesson-plan-list{display:flex;flex-direction:column;gap:.5rem}.lesson-plan-item{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.75rem 1rem;border-radius:12px;border:1px solid rgba(27,26,23,.08)}.lesson-plan-item .lesson-plan-info{display:flex;flex-direction:column;gap:.15rem}.lesson-plan-item .lesson-plan-title{font-weight:600;font-size:.92rem}.lesson-plan-item .lesson-plan-meta{display:flex;gap:.5rem;flex-wrap:wrap}.lesson-plan-chip{font-size:.72rem;font-weight:600;padding:.2rem .5rem;border-radius:6px;background:#0b4f6c14;color:var(--teal)}[data-theme=dark] .login-page{background:radial-gradient(circle at top,#1a1a1a,#111)}[data-theme=dark] .login-card{background:#1e1e1e;box-shadow:0 4px 20px #0000004d}[data-theme=dark] .login-quick-btn{background:#252525;border-color:#ffffff14}[data-theme=dark] .login-input,[data-theme=dark] .form-input,[data-theme=dark] .form-select{background:#252525;border-color:#ffffff1a;color:#e0e0e0}[data-theme=dark] .admin-action-row{border-color:#ffffff0f}[data-theme=dark] .admin-action-row:hover{border-color:var(--teal);background:#0b4f6c14}.tutor-hero{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem calc(.5rem + env(safe-area-inset-top));position:relative;background:#f9f9f9;border-bottom:1px solid #e5e5ea;flex-shrink:0}.hero-back-btn{width:32px;height:32px;border-radius:50%;border:none;background:transparent;color:#007aff;display:grid;place-items:center;text-decoration:none;flex-shrink:0}.hero-back-btn:active{background:#007aff14}.hero-portrait{flex-shrink:0}.hero-portrait .avatar-ring{box-shadow:none}.hero-info{flex:1;min-width:0;line-height:1.25}.hero-name{font-size:.95rem;font-weight:600;color:#1a1a1a}.hero-subject{font-size:.72rem;color:#8e8e93;font-weight:400;text-transform:none;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero-right{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.hero-menu-btn{width:32px;height:32px;border-radius:50%;border:none;background:transparent;color:#007aff;display:grid;place-items:center;cursor:pointer}.hero-menu-btn:active{background:#007aff14}.hero-lang-btn{height:28px;min-width:28px;padding:0 .4rem;border-radius:14px;border:1px solid #d1d1d6;background:#fff;color:#1a1a1a;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.72rem;font-weight:600}.hero-lang-btn:active{background:#f2f2f7}.hero-lang-icon{line-height:1}.drawer-hud-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.3rem}.home-shell{padding:1.5rem 1rem 3rem;max-width:680px;margin:0 auto}.home-greeting{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.8rem}.home-greeting-name{font-family:"Instrument Serif",serif;font-size:2rem;font-weight:400;line-height:1.1;color:var(--ink);margin:0}.home-greeting-sub{font-size:.9rem;color:var(--muted);margin:.25rem 0 0}.home-start-btn{flex-shrink:0;margin-top:.3rem}.home-section{margin-bottom:2rem}.home-section-title{font-size:1.05rem;font-weight:700;margin:0 0 .7rem;letter-spacing:-.01em}.home-section-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.7rem}.home-section-header .home-section-title{margin-bottom:0}.home-section-sub{font-size:.78rem;color:var(--muted);margin:0}.home-targeted-scroll{display:flex;gap:.85rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:.5rem}.home-targeted-scroll::-webkit-scrollbar{display:none}.home-targeted-scroll>.home-lesson-card{min-width:260px;max-width:300px;flex-shrink:0;scroll-snap-align:start}.home-bonus-grid{display:grid;grid-template-columns:1fr;gap:.75rem}@media(min-width:480px){.home-bonus-grid{grid-template-columns:1fr 1fr}}.home-lesson-card{display:block;text-decoration:none;color:inherit;border-radius:16px;overflow:hidden;background:#fff9ecd9;border:1px solid rgba(206,184,145,.35);transition:transform .18s,box-shadow .18s;position:relative}.home-lesson-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000014}.home-lesson-card:active{transform:scale(.98)}.home-lesson-accent{height:4px;background:var(--card-accent, var(--teal))}.home-lesson-body{padding:.85rem 1rem .9rem}.home-lesson-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.35rem}.home-lesson-subject{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--card-accent, var(--teal))}.home-lesson-duration{font-size:.68rem;font-weight:600;color:var(--muted);background:#0000000a;padding:2px 7px;border-radius:6px}.home-lesson-title{font-size:.95rem;font-weight:700;margin:0 0 .3rem;line-height:1.25;color:var(--ink)}.home-lesson-objective{font-size:.78rem;color:var(--muted);margin:0 0 .6rem;line-height:1.4}.home-lesson-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.55rem}.home-tag{font-size:.65rem;font-weight:600;padding:2px 8px;border-radius:6px;letter-spacing:.02em}.home-tag.game{background:#2a7f621f;color:#1a6b50}.home-tag.challenges{background:#5a8ff01f;color:#3a6fd0}.home-tag.media{background:#d4943a1f;color:#a06d1f}.home-lesson-footer{display:flex;align-items:center;justify-content:space-between}.home-lesson-tutor{font-size:.72rem;font-weight:600;color:var(--muted)}.home-lesson-reward{display:flex;align-items:center;gap:3px;font-size:.72rem;font-weight:700;color:var(--sun)}.home-lesson-card.completed{opacity:.7}.home-lesson-card.completed .home-lesson-accent{background:var(--grass, #4a9)}.home-lesson-check{color:var(--grass, #4a9);font-weight:700}.home-lesson-status{font-size:.7rem;font-weight:600;color:var(--grass, #4a9)}body[data-theme=dark] .home-greeting-name{color:#e7edf5}body[data-theme=dark] .home-lesson-card{background:#1a2332;border-color:#d4dfec1f}body[data-theme=dark] .home-lesson-title{color:#e7edf5}body[data-theme=dark] .home-lesson-duration{background:#ffffff0f;color:#b0bcc8}body[data-theme=dark] .home-tag.game{background:#2a7f6233;color:#5ec49e}body[data-theme=dark] .home-tag.challenges{background:#5a8ff033;color:#8ab4ff}body[data-theme=dark] .home-tag.media{background:#d4943a33;color:#e0a94a}body[data-theme=dark] .tutor-hero{background:#1c1c1e;border-color:#38383a}body[data-theme=dark] .hero-back-btn,body[data-theme=dark] .hero-menu-btn{color:#0a84ff}body[data-theme=dark] .hero-lang-btn{border-color:#48484a;background:#2c2c2e;color:#e5e5ea}body[data-theme=dark] .hero-name{color:#e5e5ea}body[data-theme=dark] .hero-subject{color:#8e8e93}body.pre-k{font-size:18px}body.pre-k .bubble{font-size:1.15rem;max-width:85%;padding:.75rem 1rem;border-radius:20px}body.pre-k .quick-chip{font-size:1rem;padding:.65rem 1.1rem;min-height:44px}body.pre-k .choice-chip{font-size:1rem;min-height:44px}body.pre-k .quick-prompt-row{flex-wrap:wrap;gap:.6rem}body.pre-k .chat-input input{font-size:1.1rem;min-height:48px}body.pre-k .icon-btn{min-width:48px;min-height:48px}.home-greeting-name{font-family:-apple-system,SF Pro Rounded,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:2.2rem;font-weight:700}.prek-progress-bar{height:12px;border-radius:999px;background:#e7eef8;overflow:hidden;margin-top:.5rem}.prek-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#34c759,#30d158);transition:width .3s ease}.prek-progress-label{font-size:.95rem;color:#546273;margin-top:.3rem}.prek-start-btn{font-size:1.2rem;min-height:52px;padding:.65rem 1.5rem;border-radius:16px}.prek-card{width:180px;min-width:180px;text-align:center;border-radius:20px;border:2px solid #d7e0ea;background:#fff;padding:1rem .75rem;position:relative;display:flex;flex-direction:column;align-items:center;gap:.35rem}.prek-card-icon{font-size:2.8rem;line-height:1}.prek-card-title{font-size:1.15rem;font-weight:700;color:#1f2b3a}.prek-card-game{font-size:.9rem;color:#617286}.prek-card-go{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.45rem 1.4rem;border-radius:999px;background:#007aff;color:#fff;font-size:1rem;font-weight:600;text-decoration:none;margin-top:.4rem}.prek-card-check{position:absolute;top:8px;right:8px;font-size:1.2rem}.prek-done{opacity:.65}.prek-done .prek-card-go{display:none}.prek-dots{display:flex;gap:6px;align-items:center}.prek-dot{width:12px;height:12px;border-radius:50%;background:#d7e0ea;display:inline-block}.prek-dot.filled{background:#34c759}body.pre-k .home-section-title{font-size:1.3rem}.prek-completion{text-align:center;padding:1.5rem}.prek-completion-star{font-size:3.5rem;display:inline-block;animation:prek-spin 1.2s ease-in-out}@keyframes prek-spin{0%{transform:rotate(0) scale(.5);opacity:0}50%{transform:rotate(200deg) scale(1.15);opacity:1}to{transform:rotate(360deg) scale(1);opacity:1}}.prek-completion-title{font-size:1.8rem;font-weight:700;margin-top:.5rem}.prek-emoji-row{display:flex;justify-content:center;gap:1.5rem;margin-top:1rem}.prek-emoji-btn{min-width:80px;min-height:80px;border-radius:16px;border:2px solid #d7e0ea;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;cursor:pointer;transition:transform .12s ease,border-color .12s ease}.prek-emoji-btn.active{border-color:#007aff;background:#eef5ff;transform:scale(1.08)}.prek-emoji{font-size:2rem}.prek-done-btn{font-size:1.2rem;min-height:52px;margin-top:1rem}.login-student-hero-btn{width:100%;min-height:72px;font-size:1.4rem;font-weight:700;border-radius:20px;border:none;background:#007aff;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;margin:1rem 0}.login-hero-emoji{font-size:1.8rem}.login-secondary-row{display:flex;gap:.75rem}.prek-launch-btn{font-size:1.15rem;min-height:52px}body.pre-k .hero-lang-btn{display:none}body.pre-k[data-theme=dark] .prek-card{background:#1e1e1e;border-color:#38383a}body.pre-k[data-theme=dark] .prek-card-title{color:#e5e5ea}body.pre-k[data-theme=dark] .prek-emoji-btn{background:#1e1e1e;border-color:#48484a}body.pre-k[data-theme=dark] .prek-emoji-btn.active{background:#1c3a5e;border-color:#0a84ff}body.pre-k[data-theme=dark] .login-student-hero-btn{background:#0a84ff}.ph-shell{max-width:600px;margin:0 auto;padding:1rem 1rem 5rem}.ph-hero{display:flex;align-items:center;justify-content:space-between;padding:1.25rem;background:linear-gradient(135deg,#f0f4ff,#e8f8f0);border-radius:20px;margin-bottom:1rem}.ph-hero-name{font-family:-apple-system,SF Pro Rounded,system-ui,sans-serif;font-size:1.75rem;font-weight:700;margin:0;color:#1a1a1a}.ph-hero-sub{font-size:1rem;color:#6b7280;margin:.25rem 0 0}.ph-ring-wrap{position:relative;flex-shrink:0}.ph-ring-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;color:#34c759}.ph-start-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;background:#007aff;color:#fff;border:none;border-radius:16px;font-size:1.2rem;font-weight:600;text-decoration:none;margin-bottom:1.25rem;cursor:pointer;gap:.5rem;transition:transform .1s ease}.ph-start-btn:hover{transform:scale(1.01)}.ph-start-btn:active{transform:scale(.98)}.ph-section{margin-bottom:1.25rem}.ph-section-header{display:flex;align-items:center;gap:.5rem;padding:.6rem .85rem;border-radius:12px;background:var(--ph-section-bg);margin-bottom:.5rem}.ph-section-icon{font-size:1.3rem}.ph-section-title{font-size:1.1rem;font-weight:700;color:var(--ph-section-color);flex:1}.ph-section-count{font-size:.85rem;font-weight:600;color:var(--ph-section-color);opacity:.7}.ph-card-list{display:flex;flex-direction:column;gap:.5rem}.ph-card{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fff;border-radius:14px;border-left:4px solid var(--ph-card-color, #007aff);text-decoration:none;color:inherit;box-shadow:0 1px 4px #0000000f;transition:transform .1s ease,box-shadow .1s ease}.ph-card:hover{transform:translateY(-1px);box-shadow:0 3px 8px #0000001a}.ph-card:active{transform:scale(.99)}.ph-card-done{opacity:.6;cursor:default}.ph-card-done:hover{transform:none;box-shadow:0 1px 4px #0000000f}.ph-card-icon{font-size:1.8rem;flex-shrink:0;width:48px;text-align:center}.ph-card-body{flex:1;min-width:0}.ph-card-title{font-size:1.05rem;font-weight:600;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ph-card-game{font-size:.85rem;color:#8e8e93;margin-top:.15rem}.ph-card-badge{font-size:1.3rem;flex-shrink:0}.ph-card-arrow{font-size:.9rem;color:var(--ph-card-color, #007aff);flex-shrink:0;opacity:.6}body[data-theme=dark] .ph-hero{background:linear-gradient(135deg,#1a1e2a,#162018)}body[data-theme=dark] .ph-hero-name{color:#f0f0f0}body[data-theme=dark] .ph-card{background:#1e2733;box-shadow:0 1px 4px #0003}body[data-theme=dark] .ph-card-title{color:#f0f0f0}body[data-theme=dark] .ph-section-header{background:#ffffff0d}body[data-theme=dark] .ph-start-btn{background:#0a84ff}body.pre-k .ph-hero-name{font-size:2rem}body.pre-k .ph-card-icon{font-size:2.2rem;width:56px}body.pre-k .ph-card-title{font-size:1.15rem}body.pre-k .ph-start-btn{min-height:64px;font-size:1.3rem;border-radius:20px}.ss-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:1.5rem 1rem;min-height:100%;background:#fff;font-family:-apple-system,BlinkMacSystemFont,SF Pro,Segoe UI,sans-serif;user-select:none;-webkit-user-select:none;touch-action:manipulation}.ss-container[data-mode=fullscreen]{min-height:100dvh;padding:2rem 1.5rem}.ss-progress{width:100%;max-width:280px;height:6px;background:#e5e5ea;border-radius:3px;overflow:hidden}.ss-progress-fill{height:100%;background:#007aff;border-radius:3px;transition:width .3s ease}.ss-round-label{font-size:.8rem;color:#8e8e93;font-weight:500;margin-top:-1rem}.ss-prompt{display:flex;flex-direction:column;align-items:center;gap:1.25rem}.ss-prompt-text{font-size:1.25rem;font-weight:600;color:#1a1a1a;text-align:center}.ss-shape-display{width:140px;height:140px;display:grid;place-items:center;border-radius:24px;background:#f2f2f7}.ss-shape-enter{animation:ss-pop .35s cubic-bezier(.34,1.56,.64,1) both}.ss-shape-correct{animation:ss-celebrate .5s cubic-bezier(.34,1.56,.64,1) both}.ss-shape-wrong{animation:ss-shake .4s ease both}@keyframes ss-pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes ss-celebrate{0%{transform:scale(1)}30%{transform:scale(1.15)}50%{transform:scale(.95)}to{transform:scale(1);background:#34c7591f}}@keyframes ss-shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.ss-choices{display:grid;gap:.75rem;width:100%;max-width:320px}.ss-choices[data-count="2"]{grid-template-columns:1fr 1fr}.ss-choices[data-count="3"]{grid-template-columns:1fr 1fr 1fr}.ss-choices[data-count="4"]{grid-template-columns:1fr 1fr}.ss-choice{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.85rem .5rem;border:2px solid #e5e5ea;border-radius:16px;background:#fff;cursor:pointer;transition:transform .15s,border-color .15s,background .15s;min-height:80px}.ss-choice:active:not(:disabled){transform:scale(.95)}.ss-choice:disabled{cursor:default}.ss-correct{border-color:#34c759;background:#34c75914;animation:ss-choice-bounce .3s cubic-bezier(.34,1.56,.64,1)}.ss-wrong{border-color:#ff3b30;background:#ff3b300f;animation:ss-shake .35s ease}@keyframes ss-choice-bounce{0%{transform:scale(1)}50%{transform:scale(1.06)}to{transform:scale(1)}}.ss-choice-label{font-size:.78rem;color:#3a3a3c;font-weight:500}.ss-done{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center;animation:ss-pop .4s cubic-bezier(.34,1.56,.64,1) both}.ss-done-icon{width:80px;height:80px;border-radius:50%;background:#f2f2f7;display:grid;place-items:center;font-size:2rem;color:#8e8e93}.ss-done-icon.ss-perfect{background:#ffcc0026;color:#ff9500;animation:ss-spin-star .6s cubic-bezier(.34,1.56,.64,1)}@keyframes ss-spin-star{0%{transform:scale(0) rotate(-180deg)}to{transform:scale(1) rotate(0)}}.ss-done-score{font-size:2.5rem;font-weight:700;color:#1a1a1a;line-height:1}.ss-done-detail{font-size:.9rem;color:#8e8e93}.ss-done-msg{font-size:1rem;color:#3a3a3c;font-weight:500;margin-top:.5rem}@media(prefers-reduced-motion:reduce){.ss-shape-enter,.ss-shape-correct,.ss-shape-wrong,.ss-correct,.ss-wrong,.ss-done,.ss-done-icon.ss-perfect{animation:none}}body[data-theme=dark] .ss-container{background:#000}body[data-theme=dark] .ss-prompt-text,body[data-theme=dark] .ss-done-score{color:#e5e5ea}body[data-theme=dark] .ss-shape-display{background:#1c1c1e}body[data-theme=dark] .ss-choice{background:#1c1c1e;border-color:#38383a}body[data-theme=dark] .ss-choice-label{color:#e5e5ea}body[data-theme=dark] .ss-done-icon{background:#1c1c1e}body[data-theme=dark] .ss-done-msg,body[data-theme=dark] .ss-done-detail{color:#8e8e93}.nm-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:1.5rem 1rem;min-height:100%;background:#fff;font-family:-apple-system,BlinkMacSystemFont,SF Pro,Segoe UI,sans-serif;user-select:none;-webkit-user-select:none;touch-action:manipulation}.nm-container[data-mode=fullscreen]{min-height:100dvh;padding:2rem 1.5rem}.nm-progress{width:100%;max-width:280px;height:6px;background:#e5e5ea;border-radius:3px;overflow:hidden}.nm-progress-fill{height:100%;background:#007aff;border-radius:3px;transition:width .3s ease}.nm-round-label{font-size:.8rem;color:#8e8e93;font-weight:500;margin-top:-1rem}.nm-prompt{display:flex;flex-direction:column;align-items:center;gap:1.25rem}.nm-prompt-text{font-size:1.25rem;font-weight:600;color:#1a1a1a;text-align:center}.nm-object-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;min-height:100px;max-width:280px;padding:1rem;border-radius:24px;background:#f2f2f7}.nm-object{transition:opacity .3s ease,transform .3s ease}.nm-eaten{animation:nm-eat .4s ease forwards}@keyframes nm-eat{0%{opacity:1;transform:scale(1)}60%{opacity:.3;transform:scale(.4)}to{opacity:0;transform:scale(0)}}.nm-choices{display:grid;gap:.75rem;width:100%;max-width:320px}.nm-choices[data-count="2"]{grid-template-columns:1fr 1fr}.nm-choices[data-count="3"]{grid-template-columns:1fr 1fr 1fr}.nm-choices[data-count="4"]{grid-template-columns:1fr 1fr}.nm-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;padding:.85rem .5rem;border:2px solid #e5e5ea;border-radius:16px;background:#fff;cursor:pointer;transition:transform .15s,border-color .15s,background .15s;min-height:80px}.nm-choice:active:not(:disabled){transform:scale(.95)}.nm-choice:disabled{cursor:default}.nm-choice-number{font-size:1.75rem;font-weight:700;color:#1a1a1a;line-height:1}.nm-correct{border-color:#34c759;background:#34c75914;animation:nm-choice-bounce .3s cubic-bezier(.34,1.56,.64,1)}.nm-wrong{border-color:#ff3b30;background:#ff3b300f;animation:nm-shake .35s ease}@keyframes nm-choice-bounce{0%{transform:scale(1)}50%{transform:scale(1.06)}to{transform:scale(1)}}.nm-done{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center;animation:nm-pop .4s cubic-bezier(.34,1.56,.64,1) both}.nm-done-icon{width:80px;height:80px;border-radius:50%;background:#f2f2f7;display:grid;place-items:center;font-size:2rem;color:#8e8e93}.nm-done-icon.nm-perfect{background:#ffcc0026;color:#ff9500;animation:nm-celebrate .6s cubic-bezier(.34,1.56,.64,1)}.nm-done-score{font-size:2.5rem;font-weight:700;color:#1a1a1a;line-height:1}.nm-done-detail{font-size:.9rem;color:#8e8e93}.nm-done-msg{font-size:1rem;color:#3a3a3c;font-weight:500;margin-top:.5rem}@keyframes nm-pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes nm-celebrate{0%{transform:scale(0) rotate(-180deg)}to{transform:scale(1) rotate(0)}}@keyframes nm-shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}@media(prefers-reduced-motion:reduce){.nm-eaten,.nm-correct,.nm-wrong,.nm-done,.nm-done-icon.nm-perfect{animation:none}.nm-object{transition:none}.nm-eaten{opacity:0;transform:scale(0)}}body[data-theme=dark] .nm-container{background:#000}body[data-theme=dark] .nm-prompt-text,body[data-theme=dark] .nm-done-score{color:#e5e5ea}body[data-theme=dark] .nm-object-grid{background:#1c1c1e}body[data-theme=dark] .nm-choice{background:#1c1c1e;border-color:#38383a}body[data-theme=dark] .nm-choice-number{color:#e5e5ea}body[data-theme=dark] .nm-done-icon{background:#1c1c1e}body[data-theme=dark] .nm-done-msg,body[data-theme=dark] .nm-done-detail{color:#8e8e93}.cp-container{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:1.25rem;padding:1.5rem 1rem;min-height:100%;background:#fff;font-family:-apple-system,BlinkMacSystemFont,SF Pro,Segoe UI,sans-serif;user-select:none;-webkit-user-select:none;touch-action:manipulation}.cp-container[data-mode=fullscreen]{min-height:100dvh;padding:2rem 1.5rem}.cp-progress{width:100%;max-width:280px;height:6px;background:#e5e5ea;border-radius:3px;overflow:hidden}.cp-progress-fill{height:100%;background:#007aff;border-radius:3px;transition:width .3s ease}.cp-round-label{font-size:.8rem;color:#8e8e93;font-weight:500;margin-top:-.75rem}.cp-prompt-text{font-size:1.25rem;font-weight:600;color:#1a1a1a;text-align:center;min-height:1.8em}.cp-objects-area{position:relative;width:320px;max-width:100%;min-height:250px;height:250px;border-radius:20px;background:#f2f2f7;overflow:hidden}.cp-object{position:absolute;display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:none;background:none;cursor:pointer;transform:translate(-50%,-50%);transition:transform .15s ease;-webkit-tap-highlight-color:transparent}.cp-object:focus-visible{outline:2px solid #007aff;outline-offset:4px;border-radius:8px}.cp-object-idle{animation:cp-pop .4s cubic-bezier(.34,1.56,.64,1) both}.cp-object-idle:active:not(:disabled){transform:translate(-50%,-50%) scale(.9)}.cp-object-tapped{animation:cp-bounce .35s cubic-bezier(.34,1.56,.64,1) both;cursor:default}.cp-object:disabled{cursor:default}.cp-number-badge{position:absolute;top:-4px;right:-4px;width:22px;height:22px;border-radius:50%;background:#007aff;color:#fff;font-size:.72rem;font-weight:700;display:grid;place-items:center;line-height:1;box-shadow:0 1px 3px #0000002e;pointer-events:none;animation:cp-pop .25s cubic-bezier(.34,1.56,.64,1) both}.cp-choices{display:grid;gap:.75rem;width:100%;max-width:320px;animation:cp-pop .3s cubic-bezier(.34,1.56,.64,1) both}.cp-choices[data-count="2"]{grid-template-columns:1fr 1fr}.cp-choices[data-count="3"]{grid-template-columns:1fr 1fr 1fr}.cp-choices[data-count="4"]{grid-template-columns:1fr 1fr 1fr 1fr}.cp-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.85rem .5rem;border:2px solid #e5e5ea;border-radius:16px;background:#fff;cursor:pointer;transition:transform .15s,border-color .15s,background .15s;min-height:80px;-webkit-tap-highlight-color:transparent}.cp-choice:active:not(:disabled){transform:scale(.95)}.cp-choice:disabled{cursor:default}.cp-choice:focus-visible{outline:2px solid #007aff;outline-offset:2px}.cp-choice-number{font-size:1.8rem;font-weight:700;color:#1a1a1a;line-height:1}.cp-correct{border-color:#34c759;background:#34c75914;animation:cp-celebrate .4s cubic-bezier(.34,1.56,.64,1)}.cp-correct .cp-choice-number{color:#248a3d}.cp-wrong{border-color:#ff3b30;background:#ff3b300f;animation:cp-shake .4s ease}.cp-wrong .cp-choice-number{color:#d70015}@keyframes cp-pop{0%{transform:translate(-50%,-50%) scale(0);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes cp-bounce{0%{transform:translate(-50%,-50%) scale(1)}40%{transform:translate(-50%,-50%) scale(1.25)}70%{transform:translate(-50%,-50%) scale(.92)}to{transform:translate(-50%,-50%) scale(1)}}@keyframes cp-celebrate{0%{transform:scale(1)}30%{transform:scale(1.12)}50%{transform:scale(.95)}to{transform:scale(1);background:#34c7591f}}@keyframes cp-shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.cp-done{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center;padding-top:2rem}.cp-done-icon{width:80px;height:80px;border-radius:50%;background:#f2f2f7;display:grid;place-items:center;font-size:2rem;color:#8e8e93;animation:cp-done-pop .4s cubic-bezier(.34,1.56,.64,1) both}@keyframes cp-done-pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.cp-done-icon.cp-perfect{background:#ffcc0026;color:#ff9500;animation:cp-spin-star .6s cubic-bezier(.34,1.56,.64,1)}@keyframes cp-spin-star{0%{transform:scale(0) rotate(-180deg)}to{transform:scale(1) rotate(0)}}.cp-done-score{font-size:2.5rem;font-weight:700;color:#1a1a1a;line-height:1}.cp-done-detail{font-size:.9rem;color:#8e8e93}.cp-done-msg{font-size:1rem;color:#3a3a3c;font-weight:500;margin-top:.5rem}@media(prefers-reduced-motion:reduce){.cp-object-idle,.cp-object-tapped,.cp-correct,.cp-wrong,.cp-choices,.cp-number-badge,.cp-done,.cp-done-icon,.cp-done-icon.cp-perfect{animation:none}.cp-object-idle{opacity:1;transform:translate(-50%,-50%) scale(1)}.cp-object-tapped{transform:translate(-50%,-50%) scale(1)}.cp-number-badge{opacity:1}}body[data-theme=dark] .cp-container{background:#000}body[data-theme=dark] .cp-prompt-text,body[data-theme=dark] .cp-done-score{color:#e5e5ea}body[data-theme=dark] .cp-objects-area{background:#1c1c1e}body[data-theme=dark] .cp-choice{background:#1c1c1e;border-color:#38383a}body[data-theme=dark] .cp-choice-number{color:#e5e5ea}body[data-theme=dark] .cp-correct{border-color:#34c759;background:#34c7591f}body[data-theme=dark] .cp-correct .cp-choice-number{color:#30d158}body[data-theme=dark] .cp-wrong{border-color:#ff453a;background:#ff453a1a}body[data-theme=dark] .cp-wrong .cp-choice-number{color:#ff453a}body[data-theme=dark] .cp-number-badge{background:#0a84ff}body[data-theme=dark] .cp-done-icon{background:#1c1c1e}body[data-theme=dark] .cp-done-msg{color:#aeaeb2}body[data-theme=dark] .cp-done-detail{color:#8e8e93}.pm-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:1.5rem 1rem;min-height:100%;background:#fff;font-family:-apple-system,BlinkMacSystemFont,SF Pro,Segoe UI,sans-serif;user-select:none;-webkit-user-select:none;touch-action:manipulation}.pm-container[data-mode=fullscreen]{min-height:100dvh;padding:2rem 1.5rem}.pm-progress{width:100%;max-width:280px;height:6px;background:#e5e5ea;border-radius:3px;overflow:hidden}.pm-progress-fill{height:100%;background:#007aff;border-radius:3px;transition:width .3s ease}.pm-round-label{font-size:.8rem;color:#8e8e93;font-weight:500;margin-top:-1rem}.pm-prompt-text{font-size:1.25rem;font-weight:600;color:#1a1a1a;text-align:center}.pm-pattern-row{display:flex;flex-direction:row;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:1rem;max-width:100%;overflow-x:auto}.pm-enter{animation:pm-pop .35s cubic-bezier(.34,1.56,.64,1) both}.pm-correct-anim{animation:pm-celebrate .5s cubic-bezier(.34,1.56,.64,1) both}.pm-wrong-anim{animation:pm-shake .4s ease both}.pm-element{width:48px;height:48px;display:grid;place-items:center;border-radius:12px;background:#f2f2f7;flex-shrink:0}.pm-mystery{border:2px dashed #007aff;background:#007aff0f;animation:pm-pulse 1.2s ease-in-out infinite}.pm-question{font-size:1.4rem;font-weight:700;color:#007aff;line-height:1}.pm-choices{display:grid;gap:.75rem;width:100%;max-width:320px}.pm-choices[data-count="2"]{grid-template-columns:1fr 1fr}.pm-choices[data-count="3"]{grid-template-columns:1fr 1fr 1fr}.pm-choices[data-count="4"]{grid-template-columns:1fr 1fr}.pm-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;padding:.85rem .5rem;border:2px solid #e5e5ea;border-radius:16px;background:#fff;cursor:pointer;transition:transform .15s,border-color .15s,background .15s;min-height:80px}.pm-choice:active:not(:disabled){transform:scale(.95)}.pm-choice:disabled{cursor:default}.pm-correct{border-color:#34c759;background:#34c75914;animation:pm-pop .3s cubic-bezier(.34,1.56,.64,1)}.pm-wrong{border-color:#ff3b30;background:#ff3b300f;animation:pm-shake .35s ease}.pm-done{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center;animation:pm-pop .4s cubic-bezier(.34,1.56,.64,1) both}.pm-done-icon{width:80px;height:80px;border-radius:50%;background:#f2f2f7;display:grid;place-items:center;font-size:2rem;color:#8e8e93}.pm-done-icon.pm-perfect{background:#ffcc0026;color:#ff9500;animation:pm-celebrate .6s cubic-bezier(.34,1.56,.64,1)}.pm-done-score{font-size:2.5rem;font-weight:700;color:#1a1a1a;line-height:1}.pm-done-detail{font-size:.9rem;color:#8e8e93}.pm-done-msg{font-size:1rem;color:#3a3a3c;font-weight:500;margin-top:.5rem}@keyframes pm-pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes pm-celebrate{0%{transform:scale(1)}30%{transform:scale(1.15)}50%{transform:scale(.95)}to{transform:scale(1);background:#34c7591f}}@keyframes pm-shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}@keyframes pm-pulse{0%,to{box-shadow:0 0 #007aff4d;border-color:#007aff}50%{box-shadow:0 0 12px 4px #007aff33;border-color:#5ac8fa}}@media(prefers-reduced-motion:reduce){.pm-enter,.pm-correct-anim,.pm-wrong-anim,.pm-correct,.pm-wrong,.pm-done,.pm-done-icon.pm-perfect,.pm-mystery{animation:none}}body[data-theme=dark] .pm-container{background:#000}body[data-theme=dark] .pm-prompt-text,body[data-theme=dark] .pm-done-score{color:#e5e5ea}body[data-theme=dark] .pm-element{background:#1c1c1e}body[data-theme=dark] .pm-mystery{border-color:#5ac8fa;background:#007aff1a}body[data-theme=dark] .pm-question{color:#5ac8fa}body[data-theme=dark] .pm-choice{background:#1c1c1e;border-color:#38383a}body[data-theme=dark] .pm-correct{border-color:#34c759;background:#34c7591f}body[data-theme=dark] .pm-wrong{border-color:#ff3b30;background:#ff3b301a}body[data-theme=dark] .pm-done-icon{background:#1c1c1e}body[data-theme=dark] .pm-done-msg,body[data-theme=dark] .pm-done-detail,body[data-theme=dark] .pm-round-label{color:#8e8e93}.cs-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:1.5rem 1rem;min-height:100%;background:#fff;font-family:-apple-system,BlinkMacSystemFont,SF Pro,Segoe UI,sans-serif;user-select:none;-webkit-user-select:none;touch-action:manipulation}.cs-container[data-mode=fullscreen]{min-height:100dvh;padding:2rem 1.5rem}.cs-progress{width:100%;max-width:280px;height:6px;background:#e5e5ea;border-radius:3px;overflow:hidden}.cs-progress-fill{height:100%;background:#007aff;border-radius:3px;transition:width .3s ease}.cs-round-label{font-size:.8rem;color:#8e8e93;font-weight:500;margin-top:-1rem}.cs-prompt{display:flex;flex-direction:column;align-items:center;gap:1.25rem}.cs-prompt-text{font-size:1.25rem;font-weight:600;color:#1a1a1a;text-align:center}.cs-object-display{width:140px;height:140px;display:grid;place-items:center;border-radius:24px;background:#f2f2f7}.cs-object-enter{animation:cs-pop .35s cubic-bezier(.34,1.56,.64,1) both}.cs-object-correct{animation:cs-celebrate .5s cubic-bezier(.34,1.56,.64,1) both}.cs-object-wrong{animation:cs-shake .4s ease both}@keyframes cs-pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes cs-celebrate{0%{transform:scale(1)}30%{transform:scale(1.15)}50%{transform:scale(.95)}to{transform:scale(1);background:#34c7591f}}@keyframes cs-shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.cs-choices{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:.75rem;width:100%;max-width:360px}.cs-choices[data-count="2"] .cs-choice{flex:0 1 140px}.cs-choices[data-count="3"] .cs-choice{flex:0 1 100px}.cs-choices[data-count="4"] .cs-choice{flex:0 1 140px}.cs-choice{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.85rem .75rem;border:2px solid #e5e5ea;border-radius:16px;background:#fff;cursor:pointer;transition:transform .15s,border-color .15s,background .15s;min-height:80px;justify-content:center}.cs-choice:active:not(:disabled){transform:scale(.95)}.cs-choice:disabled{cursor:default}.cs-swatch{display:inline-block;width:20px;height:20px;border-radius:50%;flex-shrink:0;border:1.5px solid rgba(0,0,0,.08)}.cs-choice-label{font-size:.85rem;color:#3a3a3c;font-weight:600}.cs-correct{border-color:#34c759;background:#34c75914;animation:cs-choice-bounce .3s cubic-bezier(.34,1.56,.64,1)}.cs-wrong{border-color:#ff3b30;background:#ff3b300f;animation:cs-shake .35s ease}@keyframes cs-choice-bounce{0%{transform:scale(1)}50%{transform:scale(1.06)}to{transform:scale(1)}}.cs-done{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center;animation:cs-pop .4s cubic-bezier(.34,1.56,.64,1) both}.cs-done-icon{width:80px;height:80px;border-radius:50%;background:#f2f2f7;display:grid;place-items:center;font-size:2rem;color:#8e8e93}.cs-done-icon.cs-perfect{background:#ffcc0026;color:#ff9500;animation:cs-spin-star .6s cubic-bezier(.34,1.56,.64,1)}@keyframes cs-spin-star{0%{transform:scale(0) rotate(-180deg)}to{transform:scale(1) rotate(0)}}.cs-done-score{font-size:2.5rem;font-weight:700;color:#1a1a1a;line-height:1}.cs-done-detail{font-size:.9rem;color:#8e8e93}.cs-done-msg{font-size:1rem;color:#3a3a3c;font-weight:500;margin-top:.5rem}@media(prefers-reduced-motion:reduce){.cs-object-enter,.cs-object-correct,.cs-object-wrong,.cs-correct,.cs-wrong,.cs-done,.cs-done-icon.cs-perfect{animation:none}}body[data-theme=dark] .cs-container{background:#000}body[data-theme=dark] .cs-prompt-text,body[data-theme=dark] .cs-done-score{color:#e5e5ea}body[data-theme=dark] .cs-object-display{background:#1c1c1e}body[data-theme=dark] .cs-choice{background:#1c1c1e;border-color:#38383a}body[data-theme=dark] .cs-choice-label{color:#e5e5ea}body[data-theme=dark] .cs-swatch{border-color:#ffffff1f}body[data-theme=dark] .cs-done-icon{background:#1c1c1e}body[data-theme=dark] .cs-done-msg,body[data-theme=dark] .cs-done-detail{color:#8e8e93}.lm-shell{width:100%;border-radius:16px;background:#f8fafc;border:1px solid #d7e0ea;padding:.85rem}.lm-progress{height:8px;border-radius:999px;overflow:hidden;background:#e7eef8}.lm-progress-fill{height:100%;background:linear-gradient(90deg,#5688ff,#68b6ff);transition:width .22s ease}.lm-round{margin-top:.45rem;font-size:.78rem;color:#546273}.lm-prompt{margin-top:.55rem;font-size:1rem;font-weight:700;color:#1f2b3a}.lm-letter{font-size:2rem;margin-left:.3rem;color:#2b54be}.lm-subprompt{margin-top:.35rem;font-size:.86rem;color:#617286}.lm-choice-grid{margin-top:.65rem;display:grid;gap:.55rem}.lm-choice-grid[data-count="2"],.lm-choice-grid[data-count="3"],.lm-choice-grid[data-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}.lm-choice{min-height:64px;border-radius:12px;border:1px solid #bfccda;background:#fff;font-size:1.65rem;font-weight:700;color:#233444}.lm-choice:disabled{opacity:.95}.lm-choice.lm-correct{border-color:#4ba861;background:#eaf9ee}.lm-choice.lm-wrong{border-color:#d56f62;background:#fdeeee}.lm-done{min-height:220px;display:grid;place-content:center;text-align:center;gap:.35rem}.lm-done-icon{width:58px;height:58px;margin:0 auto;border-radius:50%;display:grid;place-content:center;background:#e4f0ff;color:#2b54be;font-size:1.35rem;font-weight:700}.lm-done-score{font-size:1.65rem;font-weight:800;color:#1d2e42}.lm-done-detail{font-size:.9rem;color:#5f7288}.lm-done-msg{font-size:1rem;color:#546273;margin-top:.2rem}@keyframes lm-pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}@keyframes lm-celebrate{0%{transform:scale(1)}30%{transform:scale(1.25)}60%{transform:scale(.95)}to{transform:scale(1)}}@keyframes lm-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes lm-spin-star{0%{transform:rotate(0) scale(.5);opacity:0}50%{transform:rotate(200deg) scale(1.15);opacity:1}to{transform:rotate(360deg) scale(1);opacity:1}}.lm-prompt-enter .lm-letter,.lm-letter.lm-prompt-enter{animation:lm-pop .3s ease-out}.lm-letter.lm-prompt-correct{animation:lm-celebrate .4s ease}.lm-letter.lm-prompt-wrong{animation:lm-shake .4s ease}.lm-choice.lm-correct{animation:lm-celebrate .35s ease}.lm-choice.lm-wrong{animation:lm-shake .35s ease}.lm-choice.lm-hint{border-color:#4ba861;background:#e0f5e5;animation:lm-celebrate .4s ease}.lm-done-icon.lm-perfect{animation:lm-spin-star 1.2s ease-in-out;font-size:2.5rem;background:none}@media(prefers-reduced-motion:reduce){.lm-letter.lm-prompt-enter,.lm-letter.lm-prompt-correct,.lm-letter.lm-prompt-wrong,.lm-choice.lm-correct,.lm-choice.lm-wrong,.lm-choice.lm-hint,.lm-done-icon.lm-perfect{animation:none}}.rt-shell{width:100%;border-radius:16px;background:#fff9f0;border:1px solid #ecd9c0;padding:.85rem}.rt-progress{height:8px;border-radius:999px;overflow:hidden;background:#f4e5d4}.rt-progress-fill{height:100%;background:linear-gradient(90deg,#f39c4d,#f4be62);transition:width .22s ease}.rt-round{margin-top:.45rem;font-size:.78rem;color:#7f6753}.rt-prompt{margin-top:.7rem;font-size:1rem;font-weight:700;color:#453429}.rt-prompt span{color:#bd5f2a}.rt-choice-grid{margin-top:.75rem;display:grid;gap:.5rem}.rt-choice-grid[data-count="2"],.rt-choice-grid[data-count="3"],.rt-choice-grid[data-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}.rt-choice{min-height:54px;border-radius:12px;border:1px solid #ddc5a8;background:#fff;color:#49382d;font-size:1rem;font-weight:700;text-transform:lowercase}.rt-choice.rt-correct{border-color:#48a05c;background:#ebf9ef}.rt-choice.rt-wrong{border-color:#cf6c63;background:#fdeeee}.rt-done{min-height:220px;display:grid;place-content:center;gap:.35rem;text-align:center}.rt-done-score{font-size:1.65rem;font-weight:800;color:#4a392f}.rt-done-detail{font-size:.9rem;color:#7a6659}.rt-done-icon{width:58px;height:58px;margin:0 auto;display:grid;place-content:center;font-size:2rem}.rt-done-msg{font-size:1rem;color:#7a6659;margin-top:.2rem}@keyframes rt-pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}@keyframes rt-celebrate{0%{transform:scale(1)}30%{transform:scale(1.25)}60%{transform:scale(.95)}to{transform:scale(1)}}@keyframes rt-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes rt-spin-star{0%{transform:rotate(0) scale(.5);opacity:0}50%{transform:rotate(200deg) scale(1.15);opacity:1}to{transform:rotate(360deg) scale(1);opacity:1}}.rt-prompt-enter{animation:rt-pop .3s ease-out}.rt-prompt-correct{animation:rt-celebrate .4s ease}.rt-prompt-wrong{animation:rt-shake .4s ease}.rt-choice.rt-correct{animation:rt-celebrate .35s ease}.rt-choice.rt-wrong{animation:rt-shake .35s ease}.rt-choice.rt-hint{border-color:#48a05c;background:#e0f5e5;animation:rt-celebrate .4s ease}.rt-done-icon.rt-perfect{animation:rt-spin-star 1.2s ease-in-out;font-size:2.5rem}@media(prefers-reduced-motion:reduce){.rt-prompt-enter,.rt-prompt-correct,.rt-prompt-wrong,.rt-choice.rt-correct,.rt-choice.rt-wrong,.rt-choice.rt-hint,.rt-done-icon.rt-perfect{animation:none}}.playground{--pg-bg-from: #eef2ff;--pg-bg-to: #dde5ff;--pg-accent: #5a8ff0;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background:linear-gradient(180deg,var(--pg-bg-from),var(--pg-bg-to));position:relative;overflow:hidden;font-family:Bricolage Grotesque,Inter,system-ui,sans-serif;color:#1b1a17}.pg-hero{display:flex;align-items:center;height:48px;min-height:48px;padding:0 .75rem;background:#fff;box-shadow:0 1px 3px #0000000f;z-index:5;gap:.5rem}.pg-hero-back{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:none;cursor:pointer;font-size:1.25rem;color:#555;padding:0;border-radius:50%;transition:background .15s ease}.pg-hero-back:hover{background:#0000000d}.pg-hero-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}.pg-hero-info{display:flex;flex-direction:column;flex:1;min-width:0}.pg-hero-name{font-size:.95rem;font-weight:700;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pg-hero-subject{font-size:.75rem;color:#888;line-height:1.2}.pg-hero-menu{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:none;cursor:pointer;font-size:1.25rem;color:#555;padding:0;border-radius:50%;transition:background .15s ease}.pg-hero-menu:hover{background:#0000000d}.pg-chat-body{flex:1;overflow-y:auto;padding:.75rem;background:linear-gradient(180deg,var(--pg-bg-from),var(--pg-bg-to));display:flex;flex-direction:column;gap:.5rem;-webkit-overflow-scrolling:touch}.pg-tutor-card{width:calc(100% - 1rem);margin:.5rem auto;background:#fff;border-radius:20px;box-shadow:0 2px 8px #0000000f,0 .5px 2px #0000000a;border-left:4px solid var(--pg-accent);padding:1rem 1.15rem;position:relative;animation:pg-slide-up .2s cubic-bezier(.34,1.56,.64,1),pg-fade-in .2s ease-out}.pg-card-avatar{width:32px;height:32px;border-radius:50%;position:absolute;top:-8px;left:-8px;object-fit:cover;border:2px solid #fff;box-shadow:0 1px 4px #0000001f}.pg-card-text{font-size:1.1rem;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.pg-card-text strong,.pg-card-text b{font-size:1.25rem;font-weight:700}.pg-card-quiz{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.75rem}.pg-card-quiz-btn{min-height:88px;display:flex;align-items:center;justify-content:center;text-align:center;background:#f5f5f5;border:2px solid transparent;border-radius:14px;font-size:1.1rem;font-weight:600;cursor:pointer;padding:.5rem;transition:border-color .15s ease,background .15s ease,transform .1s ease;word-break:break-word}.pg-card-quiz-btn:hover{border-color:var(--pg-accent);background:#eef2ff}.pg-card-quiz-btn:active{transform:scale(.97)}.pg-card-quiz-btn.correct{animation:pg-bounce .35s cubic-bezier(.34,1.56,.64,1);background:#d4f5e0;border-color:#22c55e;color:#166534}.pg-card-quiz-btn.wrong{animation:pg-shake .4s ease-out;background:#fee2e2;border-color:#ef4444;color:#991b1b}.pg-card-quiz-btn.hint{animation:pg-hint-glow .5s ease-out;box-shadow:0 0 0 3px #5a8ff04d}.pg-card-quiz-btn.has-visual{flex-direction:column;gap:.35rem;padding:.75rem .5rem}.pg-card-quiz-btn.has-visual svg{flex-shrink:0}.pg-quiz-swatch{box-shadow:inset 0 0 0 2px #00000014}.pg-card-media{margin-top:.75rem}.pg-card-media .media-embed-frame{aspect-ratio:auto;min-height:0;max-height:200px;background:#fafafa;border-radius:12px;border:none;display:flex;align-items:center;justify-content:center}.pg-card-media .media-embed-frame img{width:auto;height:auto;max-width:100%;max-height:200px;object-fit:contain;padding:.5rem}.pg-card-game-btn{display:flex;align-items:center;justify-content:center;min-height:72px;margin-top:.75rem;background:#22c55e;color:#fff;border:none;border-radius:999px;font-size:1.15rem;font-weight:700;cursor:pointer;padding:0 1.5rem;transition:transform .1s ease,box-shadow .1s ease;box-shadow:0 4px 12px #22c55e4d}.pg-card-game-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #22c55e59}.pg-card-game-btn:active{transform:scale(.97)}.pg-student-pill{align-self:flex-end;background:#007aff;color:#fff;border-radius:20px 20px 4px;max-width:70%;padding:.5rem 1rem;font-size:1rem;line-height:1.4;word-wrap:break-word;animation:pg-slide-up .15s ease-out,pg-fade-in .15s ease-out}.pg-dock{position:sticky;bottom:0;background:#fff;box-shadow:0 -1px 4px #0000000f;padding:.5rem .75rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:.5rem;z-index:5}.pg-reaction-row{display:flex;flex-direction:row;gap:.5rem;justify-content:center}.pg-reaction-btn{width:36px;height:36px;background:none;border:none;font-size:1.5rem;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:transform .1s ease,background .15s ease}.pg-reaction-btn:hover{background:#0000000a}.pg-reaction-btn:active{transform:scale(.9)}.pg-action-row{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}.pg-action-btn{min-height:56px;border-radius:999px;background:var(--pg-accent);color:#fff;font-size:1.15rem;font-weight:600;border:none;cursor:pointer;padding:.5rem 1.25rem;flex:1 1 auto;display:flex;align-items:center;justify-content:center;text-align:center;transition:transform .1s ease,opacity .1s ease}.pg-action-btn:active{animation:pg-btn-press .1s ease-out}.pg-input-row{display:flex;flex-direction:row;gap:.5rem;align-items:center}.pg-input-row input{flex:1;height:48px;font-size:1.1rem;border:1px solid rgba(0,0,0,.12);border-radius:999px;padding:0 1rem;outline:none;background:#f8f8f8;transition:border-color .15s ease,box-shadow .15s ease;font-family:inherit}.pg-input-row input:focus{border-color:var(--pg-accent);box-shadow:0 0 0 2px #5a8ff033;background:#fff}.pg-mic-btn{width:48px;height:48px;border-radius:50%;border:none;background:#f0f0f0;cursor:pointer;font-size:1.25rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s ease,transform .1s ease}.pg-mic-btn:hover{background:#e4e4e4}.pg-mic-btn:active{transform:scale(.93)}.pg-mic-btn.recording{background:#fee2e2;color:#ef4444}.pg-send-btn{width:40px;height:40px;border-radius:50%;border:none;background:var(--pg-accent);color:#fff;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .1s ease,opacity .15s ease}.pg-send-btn:disabled{opacity:.4;cursor:default}.pg-send-btn:not(:disabled):active{transform:scale(.9)}.pg-game-stage{position:absolute;inset:0;z-index:10;background:#fff;border-radius:16px;display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:scale(.85);pointer-events:none;transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .2s ease-out}.pg-game-stage.active{opacity:1;transform:scale(1);pointer-events:auto}.pg-game-stage-content{flex:1;overflow:auto}.pg-game-mini-dock{height:44px;min-height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 .75rem;background:#fff;border-top:1px solid rgba(0,0,0,.06);position:sticky;bottom:0}.pg-game-progress{flex:1;height:6px;background:#e5e5e5;border-radius:3px;overflow:hidden;margin:0 .75rem}.pg-game-progress-fill{height:100%;background:var(--pg-accent);border-radius:3px;transition:width .3s ease-out}.pg-game-quit{border:none;background:none;font-size:.85rem;font-weight:600;color:#888;cursor:pointer;padding:.25rem .5rem;border-radius:8px;transition:background .15s ease}.pg-game-quit:hover{background:#0000000d;color:#555}.pg-celebration{text-align:center;padding:1.5rem}.pg-celebration-star{display:inline-block;font-size:3rem;animation:pg-star-spin .6s cubic-bezier(.34,1.56,.64,1)}.pg-celebration-text{font-size:1.5rem;font-weight:700;margin:.5rem 0}.pg-celebration-sub{font-size:1rem;color:#888}.pg-celebration-stars-earned{display:inline-block;font-size:1.25rem;font-weight:700;color:#d4943a;animation:pg-float-up .6s ease-out forwards}.pg-confetti-container{position:relative;width:100%;height:80px;overflow:hidden;pointer-events:none}.pg-confetti-dot{position:absolute;width:8px;height:8px;border-radius:50%;top:50%;left:50%;animation:pg-confetti .8s ease-out forwards}.pg-confetti-dot:nth-child(1){background:#ef4444;animation-delay:0ms;--pg-confetti-x: -40px;--pg-confetti-y: -60px}.pg-confetti-dot:nth-child(2){background:#f59e0b;animation-delay:50ms;--pg-confetti-x: 30px;--pg-confetti-y: -70px}.pg-confetti-dot:nth-child(3){background:#22c55e;animation-delay:.1s;--pg-confetti-x: -55px;--pg-confetti-y: -30px}.pg-confetti-dot:nth-child(4){background:#3b82f6;animation-delay:.15s;--pg-confetti-x: 50px;--pg-confetti-y: -45px}.pg-confetti-dot:nth-child(5){background:#a855f7;animation-delay:80ms;--pg-confetti-x: -25px;--pg-confetti-y: -75px}.pg-confetti-dot:nth-child(6){background:#ec4899;animation-delay:.12s;--pg-confetti-x: 45px;--pg-confetti-y: -55px}.pg-confetti-dot:nth-child(7){background:#14b8a6;animation-delay:60ms;--pg-confetti-x: -60px;--pg-confetti-y: -50px}.pg-confetti-dot:nth-child(8){background:#f97316;animation-delay:.14s;--pg-confetti-x: 20px;--pg-confetti-y: -65px}.pg-stars{display:flex;flex-direction:row;align-items:center;gap:.25rem;font-weight:700;font-size:.95rem;color:#d4943a}.pg-stars-icon{font-size:1.1rem}.pg-stars-bump{animation:pg-bounce .6s cubic-bezier(.34,1.56,.64,1)}.pg-emoji-float{position:absolute;pointer-events:none;font-size:2rem;z-index:20;animation:pg-emoji-rise 1.2s ease-out forwards}@keyframes pg-slide-up{0%{transform:translateY(16px)}to{transform:translateY(0)}}@keyframes pg-fade-in{0%{opacity:0}to{opacity:1}}@keyframes pg-bounce{0%{transform:scale(1)}30%{transform:scale(1.15)}50%{transform:scale(.95)}70%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes pg-shake{0%,to{transform:translate(0)}15%{transform:translate(-6px)}30%{transform:translate(5px)}45%{transform:translate(-4px)}60%{transform:translate(3px)}75%{transform:translate(-2px)}}@keyframes pg-star-spin{0%{transform:rotate(0) scale(.5);opacity:0}50%{transform:rotate(200deg) scale(1.2);opacity:1}to{transform:rotate(360deg) scale(1);opacity:1}}@keyframes pg-float-up{0%{transform:translateY(0);opacity:1}to{transform:translateY(-20px);opacity:0}}@keyframes pg-confetti{0%{transform:translate(0) scale(0);opacity:1}50%{opacity:1}to{transform:translate(var(--pg-confetti-x),var(--pg-confetti-y)) scale(1);opacity:0}}@keyframes pg-btn-press{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}@keyframes pg-emoji-rise{0%{transform:scale(.5) translateY(0);opacity:1}30%{transform:scale(1.3) translateY(-40px);opacity:1}to{transform:scale(1) translateY(-200px) translate(var(--pg-wobble-x, 15px));opacity:0}}@keyframes pg-hint-glow{0%{box-shadow:0 0 #5a8ff080}to{box-shadow:0 0 0 6px #5a8ff000}}@media(min-width:640px){.playground{max-width:480px;margin:0 auto;border-left:1px solid rgba(0,0,0,.06);border-right:1px solid rgba(0,0,0,.06);box-shadow:0 0 40px #0000000f}}@media(min-width:1024px){.playground{max-width:420px;border-radius:24px;margin-top:1rem;margin-bottom:1rem;min-height:calc(100vh - 2rem);min-height:calc(100dvh - 2rem)}}.playground[data-age-band=pre_k] .pg-card-text{font-size:1.3rem}.playground[data-age-band=pre_k] .pg-card-text strong,.playground[data-age-band=pre_k] .pg-card-text b{font-size:1.5rem;font-weight:700}.playground[data-age-band=pre_k] .pg-student-pill{font-size:1.15rem}.playground[data-age-band=pre_k] .pg-action-btn{font-size:1.15rem;font-weight:600}.playground[data-age-band=pre_k] .pg-reaction-btn{width:44px;height:44px;font-size:2rem}.playground[data-age-band=pre_k] .pg-input-row{display:none}.playground[data-age-band=pre_k] .pg-mic-btn{width:56px;height:56px;font-size:1.5rem}.playground[data-age-band=pre_k] .pg-action-row{max-width:100%}.playground[data-age-band=pre_k] .pg-action-btn:nth-child(n+4){display:none}.playground[data-age-band=pre_k] .pg-card-quiz-btn{min-height:100px;font-size:1.3rem}body[data-theme=dark] .playground{--pg-bg-from: #1a1e2a;--pg-bg-to: #12151e;color:#e7edf5}body[data-theme=dark] .pg-hero{background:#18212b;box-shadow:0 1px 3px #0003;color:#e7edf5}body[data-theme=dark] .pg-hero-back,body[data-theme=dark] .pg-hero-menu{color:#b0bcc8}body[data-theme=dark] .pg-hero-subject{color:#8a9aad}body[data-theme=dark] .pg-tutor-card{background:#1e2733;box-shadow:0 2px 8px #0003;color:#e7edf5}body[data-theme=dark] .pg-card-quiz-btn{background:#2a3544;color:#e7edf5}body[data-theme=dark] .pg-card-quiz-btn:hover{border-color:var(--pg-accent);background:#323f52}body[data-theme=dark] .pg-card-quiz-btn.correct{background:#1a3d2a;border-color:#22c55e;color:#86efac}body[data-theme=dark] .pg-card-quiz-btn.wrong{background:#3d1a1a;border-color:#ef4444;color:#fca5a5}body[data-theme=dark] .pg-dock{background:#18212b;box-shadow:0 -1px 4px #0003}body[data-theme=dark] .pg-input-row input{background:#2a3544;border-color:#ffffff1a;color:#e7edf5}body[data-theme=dark] .pg-input-row input:focus{background:#323f52;border-color:var(--pg-accent);box-shadow:0 0 0 2px #5a8ff026}body[data-theme=dark] .pg-mic-btn{background:#2a3544;color:#b0bcc8}body[data-theme=dark] .pg-mic-btn:hover{background:#323f52}body[data-theme=dark] .pg-game-stage{background:#18212b}body[data-theme=dark] .pg-game-mini-dock{background:#18212b;border-top-color:#ffffff14}body[data-theme=dark] .pg-game-quit{color:#8a9aad}body[data-theme=dark] .pg-game-progress{background:#2a3544}body[data-theme=dark] .pg-card-media .media-embed-frame{background:#1a1a2e}body[data-theme=dark] .pg-celebration-sub{color:#8a9aad}@media(min-width:640px){body[data-theme=dark] .playground{border-left-color:#ffffff0f;border-right-color:#ffffff0f;box-shadow:0 0 40px #0000004d}}body[data-theme=dark] .pg-reaction-btn:hover{background:#ffffff0f}@media(prefers-reduced-motion:reduce){.pg-tutor-card,.pg-student-pill,.pg-card-quiz-btn.correct,.pg-card-quiz-btn.wrong,.pg-card-quiz-btn.hint,.pg-celebration-star,.pg-celebration-stars-earned,.pg-stars-bump,.pg-emoji-float,.pg-confetti-dot,.pg-action-btn,.pg-game-stage{animation:none!important}.pg-game-stage{transition:none!important}.pg-game-stage.active{opacity:1;transform:scale(1)}}
