:root{--tutor-ink:#f8f7ff;--tutor-muted:#a9a9c3;--tutor-canvas:#090a1a;--tutor-surface:#161733b8;--tutor-line:#b1b3ff2e;--tutor-primary:#8773ff;--tutor-primary-strong:#a997ff;--tutor-aqua:#4ee5d0;--tutor-coral:#ff8caa;--tutor-font:Inter, ui-sans-serif, system-ui, -apple-system, sans-serif;--tutor-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--tutor-topbar-h:52px;--tutor-left-w:300px;--tutor-right-w:420px}.tutor-body{min-height:100dvh;color:var(--tutor-ink);font-family:var(--tutor-font);background:var(--tutor-canvas);margin:0;padding:0;line-height:1.6;overflow:hidden}.tutor-body *{box-sizing:border-box}.tutor-topbar{height:var(--tutor-topbar-h);border-bottom:1px solid var(--tutor-line);backdrop-filter:blur(16px);z-index:100;background:#090a1af2;align-items:center;gap:1rem;padding:0 1rem;display:flex}.tutor-topbar-brand{color:#fff;flex-shrink:0;align-items:center;gap:.5rem;font-size:.95rem;font-weight:800;text-decoration:none;display:flex}.tutor-topbar-logo{filter:drop-shadow(0 2px 6px #62ead74d);border-radius:6px;width:auto;height:28px}.tutor-topbar-center{text-align:center;flex:1;min-width:0}.tutor-topbar-lesson{color:var(--tutor-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:700;overflow:hidden}.tutor-topbar-actions{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.tutor-top-nav-links{align-items:center;gap:.25rem;display:flex}.tutor-top-nav-links a{color:var(--tutor-muted);border-radius:7px;padding:.35rem .55rem;font-size:.78rem;font-weight:600;text-decoration:none}.tutor-top-nav-links a:hover,.tutor-top-nav-links a.current{color:var(--tutor-ink);background:#ffffff14}.tutor-user-badge{color:var(--tutor-muted);background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .7rem;font-size:.78rem;font-weight:700;display:inline-flex}.tutor-user-dot{background:#fff3;border-radius:50%;width:7px;height:7px}.tutor-user-dot.online{background:var(--tutor-aqua);box-shadow:0 0 8px var(--tutor-aqua)}.tutor-exit-btn{width:34px;height:34px;color:var(--tutor-muted);background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;justify-content:center;align-items:center;text-decoration:none;transition:all .2s;display:inline-flex}.tutor-exit-btn:hover{color:var(--tutor-coral);background:#ff8caa1a;border-color:#ff8caa40}.tutor-workspace{grid-template-columns:var(--tutor-left-w) 1fr var(--tutor-right-w);height:calc(100dvh - var(--tutor-topbar-h));display:grid;overflow:hidden}.tutor-left{border-right:1px solid var(--tutor-line);background:#090b17f2;flex-direction:column;display:flex;overflow:hidden}.tutor-global-language{border-bottom:1px solid var(--tutor-line);background:linear-gradient(#121430f2,#0c0e22d9);padding:.75rem .85rem}.global-lang-header{justify-content:space-between;align-items:center;margin-bottom:.45rem;display:flex}.global-lang-title-wrap{align-items:center;gap:.4rem;display:flex}.global-lang-icon{font-size:.85rem;line-height:1}.global-lang-label{color:var(--tutor-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:800}.global-lang-badge{color:var(--tutor-aqua);letter-spacing:.02em;background:#4ee5d01f;border:1px solid #4ee5d047;border-radius:999px;padding:.15rem .45rem;font-size:.6rem;font-weight:800}.global-lang-select-wrap select{color:#fff;width:100%;font-family:var(--tutor-font);cursor:pointer;background:#070816f2;border:1px solid #4ee5d040;border-radius:10px;outline:none;padding:.5rem .65rem;font-size:.78rem;font-weight:600;transition:all .2s}.global-lang-select-wrap select:hover{background:#0a0c1cfa;border-color:#4ee5d080}.global-lang-select-wrap select:focus{border-color:var(--tutor-aqua);box-shadow:0 0 10px #4ee5d040}.global-lang-status{color:var(--tutor-muted);margin-top:.4rem;font-size:.66rem;line-height:1.35}.tutor-tree{flex:1;padding:.75rem;overflow-y:auto}.tutor-tree::-webkit-scrollbar{width:4px}.tutor-tree::-webkit-scrollbar-track{background:0 0}.tutor-tree::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.tree-section{margin-bottom:.5rem}.tree-course-btn{width:100%;color:var(--tutor-ink);font-family:var(--tutor-font);cursor:pointer;text-align:left;background:#ffffff08;border:none;border-radius:12px;align-items:center;gap:.55rem;padding:.65rem .75rem;font-size:.85rem;font-weight:700;transition:all .2s;display:flex}.tree-course-btn:hover{background:#8773ff1a}.tree-course-btn.expanded{background:#8773ff1f;border-bottom-right-radius:0;border-bottom-left-radius:0}.tree-course-icon{font-size:1.1rem}.tree-chevron{color:var(--tutor-muted);margin-left:auto;font-size:.7rem;transition:transform .25s}.tree-course-btn.expanded .tree-chevron{transform:rotate(90deg)}.tree-modules{background:#ffffff04;border-bottom-right-radius:12px;border-bottom-left-radius:12px;margin:0;padding:0 0 0 .5rem;list-style:none;display:none}.tree-modules.open{display:block}.tree-module-label{color:var(--tutor-aqua);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;align-items:center;gap:.45rem;padding:.55rem .65rem;font-size:.72rem;font-weight:800;display:flex}.tree-module-label:hover{color:#fff}.tree-lessons{margin:0;padding:0;list-style:none;display:none}.tree-lessons.open{display:block}.tree-lesson-btn{width:100%;color:var(--tutor-muted);font-family:var(--tutor-font);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem .65rem .5rem 1.5rem;font-size:.82rem;font-weight:600;transition:all .15s;display:flex}.tree-lesson-btn:hover{color:#fff;background:#ffffff0d}.tree-lesson-btn.active{color:#fff;border-left:2px solid var(--tutor-aqua);background:#62ead71f}.tree-lesson-btn.completed{color:#d1d0e4}.tree-lesson-btn.completed .lesson-check{filter:drop-shadow(0 0 4px #4ee5d066)}.lesson-check{flex-shrink:0;font-size:.8rem}.lesson-tree-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tree-lesson-duration{color:var(--tutor-muted);opacity:.7;flex-shrink:0;margin-left:auto;font-size:.68rem}.tutor-voice-controls{border-top:1px solid var(--tutor-line);backdrop-filter:blur(12px);background:#0c0e22e0;margin-top:auto;padding:.85rem}.voice-header{align-items:center;gap:.5rem;margin-bottom:.65rem;display:flex}.voice-header-title{color:var(--tutor-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:800}.voice-state-badge{letter-spacing:.04em;color:var(--tutor-aqua);text-transform:uppercase;background:#ffffff0f;border:1px solid #ffffff14;border-radius:6px;margin-left:auto;padding:.15rem .45rem;font-size:.62rem;font-weight:800}.voice-status-dot{background:#fff3;border-radius:50%;width:8px;height:8px;transition:all .3s}.voice-status-dot.speaking{background:var(--tutor-aqua);box-shadow:0 0 12px var(--tutor-aqua);animation:1.5s ease-in-out infinite pulse-glow}.voice-status-dot.paused{background:#ffb74d;box-shadow:0 0 10px #ffb74d80}.voice-status-dot.error{background:var(--tutor-coral);box-shadow:0 0 10px var(--tutor-coral)}@keyframes pulse-glow{0%,to{opacity:1;box-shadow:0 0 12px var(--tutor-aqua)}50%{opacity:.6;box-shadow:0 0 6px var(--tutor-aqua)}}.voice-playback{align-items:center;gap:.45rem;margin-bottom:.6rem;display:flex}.voice-btn{width:36px;height:36px;color:var(--tutor-ink);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:10px;justify-content:center;align-items:center;font-size:.85rem;transition:all .2s;display:inline-flex}.voice-btn:hover{color:#fff;background:#62ead726;border-color:#62ead759;transform:translateY(-1px)}.voice-btn.active{border-color:var(--tutor-aqua);color:#fff;background:linear-gradient(135deg,#62ead740,#a997ff40);box-shadow:0 0 12px #4ee5d033}.voice-speed-group{align-items:center;gap:.3rem;margin-left:auto;display:flex}.speed-chip{color:var(--tutor-muted);cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;padding:.25rem .5rem;font-size:.7rem;font-weight:700;transition:all .15s}.speed-chip:hover{color:#fff;background:#ffffff14}.speed-chip.active{color:#fff;background:#8773ff40;border-color:#a997ff73}.voice-lesson-actions{grid-template-columns:1fr 1fr;gap:.45rem;margin-bottom:.65rem;display:grid}.voice-lesson-btn{color:var(--tutor-ink);font-family:var(--tutor-font);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:10px;justify-content:center;align-items:center;gap:.35rem;padding:.5rem .55rem;font-size:.72rem;font-weight:700;transition:all .2s;display:inline-flex}.voice-lesson-btn .btn-icon{font-size:.85rem;line-height:1}.voice-lesson-btn:hover:not(:disabled){color:#fff;background:#62ead71f;border-color:#62ead759;transform:translateY(-1px)}.voice-lesson-btn:disabled{opacity:.4;cursor:not-allowed;color:var(--tutor-muted);background:#ffffff05;border-color:#ffffff0d}.voice-gender-row{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.65rem;display:flex}.voice-gender-label{color:var(--tutor-muted);letter-spacing:.04em;font-size:.68rem;font-weight:800}.voice-gender-group{flex:1;gap:.35rem;display:flex}.voice-gender-btn{color:var(--tutor-ink);font-family:var(--tutor-font);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.3rem;padding:.35rem .45rem;font-size:.74rem;font-weight:700;transition:all .2s;display:flex}.voice-gender-btn:hover{background:#ffffff1a;border-color:#ffffff2e}.voice-gender-btn.active{border-color:var(--tutor-aqua);color:#fff;background:linear-gradient(135deg,#4ee5d033,#a997ff40);box-shadow:0 0 10px #4ee5d040}.voice-volume{align-items:center;gap:.5rem;margin-bottom:.55rem;display:flex}.voice-volume label{color:var(--tutor-muted);font-size:.7rem;font-weight:700}.voice-volume input[type=range]{appearance:none;background:#ffffff1f;border-radius:4px;outline:none;flex:1;height:4px}.voice-volume input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--tutor-aqua);cursor:pointer;border-radius:50%;width:14px;height:14px;box-shadow:0 0 8px #4ee5d080}.tutor-status-panel{display:none}.status-row{justify-content:space-between;align-items:center;padding:.3rem 0;font-size:.72rem;display:flex}.status-label{color:var(--tutor-muted);font-weight:600}.status-value{font-weight:700}.status-value.connected{color:var(--tutor-aqua)}.status-value.disconnected{color:var(--tutor-coral)}.tutor-center{background:var(--kindle-bg,#fff);flex-direction:column;display:flex;position:relative;overflow:hidden}.tutor-content{background:var(--kindle-bg,#fff);flex:1;padding:1.5rem 2rem;position:relative;overflow-y:auto}.tutor-content::-webkit-scrollbar{width:6px}.tutor-content::-webkit-scrollbar-track{background:0 0}.tutor-content::-webkit-scrollbar-thumb{background:#0000001f;border-radius:4px}.tutor-welcome{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100%;padding:2rem;display:flex}.tutor-welcome-icon{opacity:.9;margin-bottom:.5rem;font-size:4rem;line-height:1}.tutor-welcome h2{color:#1f2328;margin:0;font-size:1.8rem}.tutor-welcome p{color:#57606a;max-width:420px;margin:0;font-size:.95rem}.tutor-slide{display:none}.tutor-slide.active{display:block}:root,body,.tutor-body,.kindle-reader-surface{--tutor-reader-font-scale:1;--kindle-bg:#fff;--kindle-text:#1f2328;--kindle-muted:#57606a;--kindle-card-bg:#f6f8fa;--kindle-card-border:#d0d7de;--kindle-active-glow:#0969da26;--kindle-active-border:#0969da;--kindle-line-height:1.8;transition:background-color .25s,color .25s}body[data-wiki-theme=light],body[data-kindle-theme=light],.tutor-center[data-kindle-theme=light],.kindle-reader-surface[data-kindle-theme=light]{--kindle-bg:#fff;--kindle-text:#1f2328;--kindle-muted:#57606a;--kindle-card-bg:#f6f8fa;--kindle-card-border:#d0d7de;--kindle-active-glow:#0969da26;--kindle-active-border:#0969da}body[data-wiki-theme=dark],body[data-kindle-theme=dark],.tutor-center[data-kindle-theme=dark],.kindle-reader-surface[data-kindle-theme=dark]{--kindle-bg:#0d1117;--kindle-text:#e6edf3;--kindle-muted:#8b949e;--kindle-card-bg:#161b22;--kindle-card-border:#30363d;--kindle-active-glow:#2f81f733;--kindle-active-border:#58a6ff}body[data-wiki-theme=sepia],body[data-kindle-theme=sepia],.tutor-center[data-kindle-theme=sepia],.kindle-reader-surface[data-kindle-theme=sepia]{--kindle-bg:#fbf0d9;--kindle-text:#3d3024;--kindle-muted:#796855;--kindle-card-bg:#f2e5c8;--kindle-card-border:#dfd0b0;--kindle-active-glow:#b4530933;--kindle-active-border:#b45309}body[data-wiki-theme=paper],body[data-kindle-theme=paper],.tutor-center[data-kindle-theme=paper],.kindle-reader-surface[data-kindle-theme=paper]{--kindle-bg:#1a1c26;--kindle-text:#e2e1db;--kindle-muted:#9e9db0;--kindle-card-bg:#222533;--kindle-card-border:#32374d;--kindle-active-glow:#8b5cf633;--kindle-active-border:#a78bfa}.wiki-tts-toolbar{z-index:90;background:var(--kindle-card-bg);border:1px solid var(--kindle-card-border);backdrop-filter:blur(12px);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;width:100%;margin:0 0 1.25rem;padding:.65rem 1.15rem;transition:all .25s;display:flex;position:sticky;top:0;box-shadow:0 4px 16px #0000000f}.tts-left-controls{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.listen-play-btn{color:#fff;cursor:pointer;font-size:.82rem;font-weight:700;font-family:var(--tutor-font);background:#0969da;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.45rem .9rem;transition:all .2s;display:inline-flex}.listen-play-btn:hover{background:#0854b0;transform:translateY(-1px)}.listen-play-btn.speaking{background:#1a7f37}.listen-stop-btn{color:var(--kindle-text);border:1px solid var(--kindle-card-border);cursor:pointer;background:0 0;border-radius:8px;align-items:center;padding:.45rem .65rem;font-size:.82rem;transition:all .2s;display:inline-flex}.listen-stop-btn:hover{background:#7d7d7d1f}.tts-lang-wrap{border:1px solid var(--kindle-card-border);background:#7d7d7d14;border-radius:8px;align-items:center;gap:.35rem;padding:.25rem .5rem;display:inline-flex}.tts-lang-select{color:var(--kindle-text);cursor:pointer;max-width:140px;font-size:.78rem;font-weight:600;font-family:var(--tutor-font);background:0 0;border:none;outline:none}.tts-lang-select option{background:var(--kindle-bg);color:var(--kindle-text)}.tts-right-controls{align-items:center;gap:.6rem;display:flex}.font-group{border:1px solid var(--kindle-card-border);background:#7d7d7d14;border-radius:8px;align-items:center;padding:.15rem;display:inline-flex}.font-btn{color:var(--kindle-text);cursor:pointer;font-size:.75rem;font-weight:700;font-family:var(--tutor-font);background:0 0;border:none;border-radius:6px;padding:.25rem .55rem;transition:all .15s}.font-btn:hover{background:#7d7d7d26}.font-label{color:var(--kindle-muted);text-align:center;min-width:38px;padding:0 .4rem;font-size:.72rem;font-weight:700}.theme-btn{background:var(--kindle-card-bg);border:1px solid var(--kindle-card-border);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;transition:all .2s;display:inline-flex}.theme-btn:hover{border-color:var(--kindle-active-border);transform:translateY(-1px)}.theme-btn.active{border-color:var(--kindle-active-border);box-shadow:0 0 8px var(--kindle-active-glow);background:#0969da1f}.lesson-progress-bar-wrap{background:var(--kindle-card-bg);border:1px solid var(--kindle-card-border);border-radius:14px;margin-bottom:1.25rem;padding:.75rem 1rem}.lesson-progress-header{justify-content:space-between;align-items:center;margin-bottom:.45rem;display:flex}.lesson-progress-label{color:var(--kindle-muted);font-size:.75rem;font-weight:700}.lesson-progress-pct{color:var(--kindle-active-border);font-size:.75rem;font-weight:800}.lesson-progress-track{background:#00000014;border-radius:6px;width:100%;height:6px;overflow:hidden}.lesson-progress-fill{background:linear-gradient(90deg, var(--kindle-active-border), #0969da);border-radius:6px;width:0%;height:100%;transition:width .35s}.tutor-slide-title.kindle-title{font-size:calc(1.6rem * var(--tutor-reader-font-scale,1));color:var(--kindle-text);letter-spacing:-.01em;margin-bottom:.35rem;font-weight:800}.tutor-slide-meta{color:var(--kindle-muted);gap:.75rem;margin-bottom:1.5rem;font-size:.78rem;display:flex}.tutor-slide-meta span{align-items:center;gap:.3rem;display:inline-flex}.kindle-content-flow{flex-direction:column;gap:1rem;width:100%;max-width:820px;display:flex}.tutor-section{background:var(--kindle-card-bg);border:1px solid var(--kindle-card-border);color:var(--kindle-text);font-size:calc(1.02rem * var(--tutor-reader-font-scale,1));line-height:var(--kindle-line-height);letter-spacing:.01em;cursor:pointer;border-left:4px solid #0000;border-radius:14px;padding:1.4rem 1.75rem;transition:all .25s;box-shadow:0 2px 8px #0000000a}.tutor-section:hover{border-color:var(--kindle-active-border);transform:translateY(-1px)}.tutor-section.active-section{border-color:var(--kindle-card-border);border-left-color:var(--kindle-active-border);background:var(--kindle-card-bg);box-shadow:0 0 20px var(--kindle-active-glow);border-left-width:5px;transform:translate(4px)}.tutor-section.spoken{opacity:.75}.tutor-section.translating{border-color:var(--kindle-active-border);animation:1.2s ease-in-out infinite section-shimmer}@keyframes section-shimmer{0%,to{opacity:.6}50%{opacity:1;border-color:#0969da80}}.tutor-challenge{background:#0969da0f;border:1px solid #0969da40;border-radius:14px;margin-top:1.5rem;padding:1.25rem 1.5rem}.tutor-challenge-label{color:#0969da;text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:.4rem;margin-bottom:.5rem;font-size:.75rem;font-weight:800;display:inline-flex}.tutor-challenge p{color:var(--kindle-text);font-size:calc(.92rem * var(--tutor-reader-font-scale,1));margin:0}.tutor-doodle-canvas{pointer-events:none;z-index:5;width:100%;height:100%;position:absolute;top:0;left:0}.tutor-caption-bar{background:var(--kindle-card-bg);border-top:1px solid var(--kindle-card-border);align-items:center;gap:.75rem;min-height:44px;padding:.6rem 1.5rem;display:flex}.caption-icon{color:#0969da;flex-shrink:0;font-size:.85rem}.caption-text{color:var(--kindle-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-style:italic;overflow:hidden}.caption-text.active{color:var(--kindle-text)}.tutor-right{background:#fff;border-left:1px solid #d0d7de;flex-direction:column;display:flex;overflow:hidden}.sandbox-tabs{background:#f6f8fa;border-bottom:1px solid #d0d7de;gap:.25rem;padding:.4rem .5rem;display:flex;overflow-x:auto}.sandbox-tabs::-webkit-scrollbar{height:3px}.sandbox-tabs::-webkit-scrollbar-thumb{background:#d0d7de;border-radius:2px}.sandbox-tab{color:#57606a;min-width:44px;font-family:var(--tutor-font);cursor:pointer;white-space:nowrap;text-align:center;background:0 0;border:1px solid #0000;border-radius:6px;flex:1;padding:.35rem .55rem;font-size:.75rem;font-weight:700;transition:all .2s}.sandbox-tab:hover{color:#1f2328;background:#0000000a}.sandbox-tab.active{color:#0969da;background:#fff;border-color:#d0d7de;box-shadow:0 1px 3px #00000014}.sandbox-editor-wrap{background:#fff;flex-direction:column;flex:1;padding:.5rem;display:flex;overflow:hidden}.sandbox-editor-header{justify-content:space-between;align-items:center;margin-bottom:.35rem;padding:.4rem .6rem;display:flex}.sandbox-editor-label{color:#57606a;letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:800}.sandbox-editor{color:#1f2328;width:100%;min-height:0;font-family:var(--tutor-mono);resize:none;tab-size:2;background:#fff;border:1px solid #d0d7de;border-radius:10px;flex:1;padding:.85rem 1rem;font-size:.85rem;line-height:1.5;box-shadow:inset 0 1px 2px #0000000a}.sandbox-editor:focus{border-color:#0969da;outline:none;box-shadow:0 0 0 3px #0969da26}.sandbox-run-bar{background:#f6f8fa;border-top:1px solid #d0d7de;border-bottom:1px solid #d0d7de;gap:.5rem;padding:.5rem;display:flex}.sandbox-run-btn{color:#fff;min-height:36px;font-family:var(--tutor-font);cursor:pointer;background:#2da44e;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:.45rem;font-size:.85rem;font-weight:700;transition:background .2s,transform .15s;display:inline-flex;box-shadow:0 1px 2px #0000001a}.sandbox-run-btn:hover{background:#2c974b;transform:translateY(-1px)}.sandbox-run-btn:active{transform:translateY(0)scale(.98)}.sandbox-clear-btn{color:#57606a;min-width:65px;min-height:36px;font-family:var(--tutor-font);cursor:pointer;background:#fff;border:1px solid #d0d7de;border-radius:6px;font-size:.78rem;font-weight:700;transition:all .2s}.sandbox-clear-btn:hover{color:#1f2328;background:#f3f4f6;border-color:#bbc0c5}.sandbox-console-wrap{background:#fff;flex-direction:column;max-height:200px;display:flex}.sandbox-console-header{color:#57606a;letter-spacing:.04em;text-transform:uppercase;background:#f6f8fa;border-bottom:1px solid #d0d7de;justify-content:space-between;align-items:center;padding:.4rem .75rem;font-size:.72rem;font-weight:800;display:flex}.sandbox-console{font-family:var(--tutor-mono);color:#1f2328;white-space:pre-wrap;word-break:break-word;background:#fff;flex:1;min-height:80px;padding:.65rem .85rem;font-size:.8rem;overflow-y:auto}.sandbox-console::-webkit-scrollbar{width:4px}.sandbox-console::-webkit-scrollbar-thumb{background:#d0d7de;border-radius:4px}.sandbox-console .error{color:#cf222e}.sandbox-console .info{color:#0969da}.sandbox-preview-wrap{border-top:1px solid #d0d7de;flex:1;min-height:200px;display:none;overflow:hidden}.sandbox-preview-wrap.visible{display:block}.sandbox-preview-frame{background:#fff;border:none;width:100%;height:100%;min-height:250px}.sandbox-status{color:#57606a;text-align:center;background:#f6f8fa;border-top:1px solid #d0d7de;padding:.35rem .75rem;font-size:.7rem;font-weight:600}.tutor-drawer-toggle{z-index:200;color:#111024;cursor:pointer;background:linear-gradient(135deg,#62ead7,#a997ff);border:none;border-radius:50%;width:48px;height:48px;font-size:1.2rem;display:none;position:fixed;bottom:1rem;left:1rem;box-shadow:0 8px 25px #62ead759}.tutor-sandbox-toggle{z-index:200;color:#111024;cursor:pointer;background:linear-gradient(135deg,#a997ff,#62ead7);border:none;border-radius:50%;width:48px;height:48px;font-size:1.2rem;display:none;position:fixed;bottom:1rem;right:1rem;box-shadow:0 8px 25px #a997ff59}@media (width<=1200px){:root{--tutor-left-w:260px;--tutor-right-w:360px}}@media (width<=900px){.tutor-topbar{gap:.5rem;padding:0 .65rem}.tutor-topbar-brand span{display:none}.tutor-topbar-actions{gap:.4rem}.tutor-top-nav-links{display:none}.tutor-goal-btn{padding:.45rem .6rem;font-size:.75rem}.tutor-workspace{grid-template-columns:1fr;position:relative}.tutor-left{top:var(--tutor-topbar-h);z-index:50;width:min(300px,100vw - 2rem);transition:transform .3s;position:fixed;bottom:0;left:0;transform:translate(-100%);box-shadow:4px 0 25px #0006}.tutor-left.drawer-open{transform:translate(0)}.tutor-right{top:var(--tutor-topbar-h);z-index:50;width:100%;max-width:min(420px,100vw - 2rem);transition:transform .3s;position:fixed;bottom:0;right:0;transform:translate(100%);box-shadow:-4px 0 25px #0006}.tutor-right.sandbox-open{transform:translate(0)}.tutor-drawer-toggle,.tutor-sandbox-toggle{justify-content:center;align-items:center;display:inline-flex}.tutor-drawer-backdrop,.tutor-sandbox-backdrop{z-index:40;background:#00000080;display:none;position:fixed;inset:0}.tutor-drawer-backdrop.visible,.tutor-sandbox-backdrop.visible{display:block}}@media (width<=480px){.tutor-topbar-center{display:none}.tutor-topbar-logo{height:26px}.tutor-auth-link{display:none!important}.tutor-content{padding:1rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.4s forwards fadeIn}.goal-modal-backdrop{z-index:500;backdrop-filter:blur(8px);opacity:0;pointer-events:none;background:#000000a6;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;inset:0}.goal-modal-backdrop.visible{opacity:1;pointer-events:auto}.goal-modal{background:#0e1028f5;border:1px solid #ffffff1f;border-radius:28px;width:95%;max-width:560px;padding:2rem 1.75rem;transition:transform .3s;transform:translateY(20px)scale(.96);box-shadow:0 40px 80px #00000080}.goal-modal-backdrop.visible .goal-modal{transform:translateY(0)scale(1)}.goal-modal-header{text-align:center;margin-bottom:1.5rem}.goal-modal-header h2{color:#fff;margin:0 0 .4rem;font-size:1.45rem}.goal-modal-header p{color:var(--tutor-muted);margin:0;font-size:.88rem}.goal-cards{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.25rem;display:grid}.goal-card{cursor:pointer;text-align:center;background:#ffffff08;border:1px solid #ffffff1a;border-radius:18px;flex-direction:column;align-items:center;gap:.45rem;padding:1.1rem .75rem;transition:all .2s;display:flex}.goal-card:hover{background:#62ead714;border-color:#62ead740;transform:translateY(-2px)}.goal-card.selected{background:#62ead724;border-color:#62ead780;box-shadow:0 0 18px #62ead71f}.goal-card-icon{font-size:1.8rem}.goal-card-title{color:#fff;font-size:.88rem;font-weight:800}.goal-card-desc{color:var(--tutor-muted);font-size:.72rem;line-height:1.35}.goal-modal-actions{gap:.65rem;display:flex}.goal-modal-actions button{min-height:44px;font-family:var(--tutor-font);cursor:pointer;border-radius:14px;flex:1;font-size:.88rem;font-weight:800;transition:all .2s}.goal-start-btn{color:#111024;background:linear-gradient(135deg,#62ead7,#a997ff);border:none}.goal-start-btn:hover{transform:translateY(-1px);box-shadow:0 8px 22px #62ead74d}.goal-skip-btn{color:var(--tutor-muted);background:#ffffff0a;border:1px solid #ffffff1a}.goal-skip-btn:hover{color:#fff;background:#ffffff14}@media (width<=480px){.goal-cards{grid-template-columns:1fr}}.tutor-progress{border-bottom:1px solid var(--tutor-line);background:#07081480;padding:.6rem .75rem}.progress-info{justify-content:space-between;align-items:center;margin-bottom:.35rem;display:flex}.progress-label{color:var(--tutor-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:800}.progress-pct{color:var(--tutor-aqua);font-size:.72rem;font-weight:800}.progress-track{background:#ffffff14;border-radius:6px;width:100%;height:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--tutor-aqua), var(--tutor-primary-strong));border-radius:6px;width:0%;height:100%;transition:width .5s}.progress-lessons{color:var(--tutor-muted);justify-content:space-between;margin-top:.3rem;font-size:.65rem;display:flex}.autoplay-overlay{z-index:50;backdrop-filter:blur(16px);text-align:center;background:#090a1af0;flex-direction:column;justify-content:center;align-items:center;gap:1.1rem;padding:2rem;display:none;position:absolute;inset:0}.autoplay-overlay.visible{display:flex}.autoplay-badge{color:var(--tutor-aqua);letter-spacing:.02em;background:#4ee5d01f;border:1px solid #4ee5d04d;border-radius:999px;padding:.35rem .9rem;font-size:.85rem;font-weight:800}.autoplay-ring{width:100px;height:100px;position:relative}.autoplay-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.autoplay-ring circle{fill:none;stroke-width:5px}.autoplay-ring .ring-bg{stroke:#ffffff14}.autoplay-ring .ring-fill{stroke:var(--tutor-aqua);stroke-dasharray:283;stroke-dashoffset:0;stroke-linecap:round;filter:drop-shadow(0 0 8px var(--tutor-aqua));transition:stroke-dashoffset 1s linear}.autoplay-count{color:#fff;place-items:center;font-size:2rem;font-weight:900;display:grid;position:absolute;inset:0}.autoplay-label{color:var(--tutor-muted);font-size:.88rem;font-weight:700}.autoplay-next-title{color:#fff;max-width:420px;font-size:1.2rem;font-weight:800}.autoplay-actions{align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.autoplay-play-now-btn{color:#fff;min-height:42px;font-family:var(--tutor-font);cursor:pointer;background:linear-gradient(135deg,#4ee5d04d,#8773ff4d);border:1px solid #4ee5d066;border-radius:12px;padding:.5rem 1.4rem;font-size:.85rem;font-weight:800;transition:all .2s}.autoplay-play-now-btn:hover{border-color:var(--tutor-aqua);background:linear-gradient(135deg,#4ee5d073,#8773ff73);transform:translateY(-1px);box-shadow:0 4px 16px #4ee5d04d}.autoplay-cancel-btn{min-height:42px;color:var(--tutor-muted);font-family:var(--tutor-font);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:12px;padding:.5rem 1.2rem;font-size:.82rem;font-weight:700;transition:all .2s}.autoplay-cancel-btn:hover{color:#fff;background:#ffffff1a}.chatbot-fab{z-index:300;color:#111024;cursor:pointer;background:linear-gradient(135deg,#62ead7,#a997ff);border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.5rem;transition:transform .2s,box-shadow .2s;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 8px 30px #62ead759}.chatbot-fab:hover{transform:scale(1.08);box-shadow:0 12px 35px #62ead773}.chatbot-fab.hidden{display:none}.chatbot-window{z-index:310;backdrop-filter:blur(20px);resize:both;background:#0c0e22f7;border:1px solid #ffffff1f;border-radius:22px;flex-direction:column;width:370px;max-height:520px;display:none;position:fixed;bottom:5.5rem;right:1.5rem;overflow:hidden;box-shadow:0 25px 60px #00000080}.chatbot-window.open{animation:.3s chatbotSlideIn;display:flex}@keyframes chatbotSlideIn{0%{opacity:0;transform:translateY(16px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.chatbot-header{cursor:move;user-select:none;background:#070816cc;border-bottom:1px solid #ffffff14;align-items:center;gap:.55rem;padding:.75rem 1rem;display:flex}.chatbot-header-dot{background:var(--tutor-aqua);width:10px;height:10px;box-shadow:0 0 8px var(--tutor-aqua);border-radius:50%;flex-shrink:0}.chatbot-header-title{color:#fff;flex:1;font-size:.85rem;font-weight:800}.chatbot-header-lesson{color:var(--tutor-muted);text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:.68rem;overflow:hidden}.chatbot-close-btn{width:28px;height:28px;color:var(--tutor-muted);cursor:pointer;background:#ffffff0f;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:.85rem;transition:all .15s;display:flex}.chatbot-close-btn:hover{color:var(--tutor-coral);background:#ff8caa1f}.chatbot-messages{flex-direction:column;flex:1;gap:.55rem;min-height:200px;padding:.75rem;display:flex;overflow-y:auto}.chatbot-messages::-webkit-scrollbar{width:3px}.chatbot-messages::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.chatbot-msg{border-radius:14px;max-width:88%;padding:.65rem .85rem;font-size:.84rem;line-height:1.5;animation:.2s fadeIn}.chatbot-msg.user{color:#e0f8f3;background:#62ead726;border:1px solid #62ead733;align-self:flex-end}.chatbot-msg.bot{color:#e0d8f5;background:#8773ff1f;border:1px solid #a997ff26;align-self:flex-start}.chatbot-msg.bot.thinking{color:var(--tutor-muted);font-style:italic}.chatbot-input-bar{background:#07081699;border-top:1px solid #ffffff14;gap:.45rem;padding:.6rem;display:flex}.chatbot-input{color:#fff;min-height:38px;font-family:var(--tutor-font);background:#070814e6;border:1px solid #ffffff1a;border-radius:12px;flex:1;padding:.5rem .8rem;font-size:.84rem}.chatbot-input:focus{border-color:#62ead759;outline:none}.chatbot-input::placeholder{color:#ffffff59}.chatbot-send-btn{color:#111024;cursor:pointer;background:linear-gradient(135deg,#62ead7,#a997ff);border:none;border-radius:10px;flex-shrink:0;width:38px;height:38px;font-size:.95rem;font-weight:800;transition:transform .15s}.chatbot-send-btn:hover{transform:scale(1.06)}.tutor-goal-btn{color:var(--tutor-muted);font-family:var(--tutor-font);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;align-items:center;gap:.35rem;padding:.3rem .7rem;font-size:.75rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.tutor-goal-btn:hover{color:#fff;background:#62ead71a;border-color:#62ead740}@media (width<=900px){.chatbot-fab{width:48px;height:48px;font-size:1.2rem;bottom:4.5rem;right:4.5rem}.chatbot-window{width:calc(100% - 2rem);max-height:400px;bottom:7rem;right:1rem}}.tutor-slide-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.tutor-slide-titles{flex:1}.header-user-wrapper{align-items:center;display:inline-flex;position:relative}.profile-circle{color:#111024;cursor:pointer;background:linear-gradient(135deg,#62ead7,#a997ff);border:2px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-size:.9rem;font-weight:700;transition:transform .2s,box-shadow .2s,border-color .2s;display:inline-flex;overflow:hidden;box-shadow:0 4px 14px #62ead740}.profile-circle:hover{border-color:#62ead799;transform:scale(1.05);box-shadow:0 6px 20px #a997ff59}.profile-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.user-menu{-webkit-backdrop-filter:blur(20px);z-index:1000;opacity:0;visibility:hidden;pointer-events:none;background:#10112cf7;border:1px solid #a997ff40;border-radius:16px;min-width:220px;padding:.5rem 0;transition:opacity .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1),visibility .2s;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(6px);box-shadow:0 20px 40px #00000073,0 0 0 1px #ffffff0d}.header-user-wrapper:hover .user-menu,.header-user-wrapper:focus-within .user-menu,.user-menu.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.header-user-wrapper:after{content:"";height:12px;position:absolute;top:100%;left:0;right:0}.user-menu-header{padding:.75rem 1rem .5rem}.user-menu-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:700;overflow:hidden}.user-menu-email{color:var(--tutor-muted,#a9a9c3);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.78rem;overflow:hidden}.user-menu-divider{background:#ffffff14;height:1px;margin:.4rem 0}.user-menu-item{color:#cfcee3;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.65rem;width:100%;padding:.65rem 1rem;font-size:.88rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.user-menu-item:hover{color:#fff;background:#ffffff14}.user-menu-item svg{color:var(--tutor-aqua,#4ee5d0);flex-shrink:0}.user-menu-button{color:#ff8caa}.user-menu-button:hover{color:#ff6b8b;background:#ff4b4b1f}.user-menu-button svg{color:#ff8caa}.tutor-auth-link{color:var(--tutor-aqua,#4ee5d0);border:1px solid #4ee5d04d;border-radius:999px;align-items:center;padding:.35rem .75rem;font-size:.8rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.tutor-auth-link:hover{color:#fff;background:#4ee5d01a}
