.pace{position:relative;display:grid;grid-template-columns:repeat(3,1fr);align-items:center;grid-gap:0;gap:0;padding:5px 6px 3px;border:1px solid var(--border);border-radius:999px;background:rgba(0,0,0,.18)}.pace-track{grid-column:1/-1;height:2px;margin:2px 16.666% 0;border-radius:2px;background:var(--border)}.pace-thumb,.pace-track{grid-row:1;align-self:start}.pace-thumb{grid-column:1;justify-self:stretch;display:flex;justify-content:center;transform:translateX(calc(var(--pace-index, 0) * 100%));transition:transform .18s ease;pointer-events:none}.pace-thumb:before{content:"";width:10px;height:10px;margin-top:-2px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.22)}.pace-stop{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:0 2px;border:0;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:9px;letter-spacing:.02em;text-transform:none}.pace-dot{width:6px;height:6px;border-radius:50%;background:var(--border);transition:background .15s}.pace-stop:hover .pace-dot{background:rgba(var(--accent-rgb),.5)}.pace-stop-active{color:var(--accent-soft)}.pace-stop-active .pace-dot{background:transparent}.pace-label{line-height:1}.pace-stop:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}@media (prefers-reduced-motion:reduce){.pace-thumb{transition:none}}.persona-switch{position:relative;display:flex;align-items:center}.persona-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:40;display:flex;flex-direction:column;gap:2px;min-width:200px;max-width:min(300px,calc(100vw - 24px));padding:6px;border:1px solid var(--border);border-radius:12px;background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 12px 34px rgba(0,0,0,.45);animation:persona-popover-in .14s ease-out}.persona-option{display:flex;align-items:center;gap:10px;padding:6px 9px 6px 6px;border:0;border-radius:8px;background:transparent;color:var(--text);cursor:pointer;font:inherit;text-align:left}.persona-option:hover{background:rgba(var(--accent-rgb),.14)}.persona-option-active{background:rgba(var(--accent-rgb),.2)}.persona-option-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--border)}.persona-option-active .persona-option-dot{border-color:var(--accent);background:var(--accent)}.persona-option-name{font-size:12.5px;font-weight:600}.persona-option:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@keyframes persona-popover-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.persona-popover{animation:none}}.theme-switch{position:relative;display:flex;align-items:center}.theme-chip{width:17px;height:17px;padding:0;border:1px solid var(--border);border-radius:50%;background:none;cursor:pointer;overflow:hidden}.theme-trigger:hover,.theme-trigger[aria-expanded=true]{border-color:rgba(var(--accent-rgb),.75)}.theme-option:focus-visible,.theme-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.theme-popover{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);z-index:40;display:flex;align-items:center;gap:7px;padding:8px 9px;border:1px solid var(--border);border-radius:999px;background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 12px 34px rgba(0,0,0,.45);animation:theme-popover-in .14s ease-out}@keyframes theme-popover-in{0%{opacity:0;transform:translate(-50%,-4px)}to{opacity:1;transform:translate(-50%)}}.theme-option{width:19px;height:19px;transition:transform .12s ease}.theme-option:hover{transform:scale(1.18)}.theme-option[aria-checked=true]{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.3)}.theme-chip[data-preview=graphite]{background:linear-gradient(135deg,#232228 50%,#c9b48d 0)}.theme-chip[data-preview=indigo]{background:linear-gradient(135deg,#0f1117 50%,#8ea2ff 0)}.theme-chip[data-preview=terracotta]{background:linear-gradient(135deg,#1c1a19 50%,#d17c56 0)}.theme-chip[data-preview=teal]{background:linear-gradient(135deg,#0d1618 50%,#e0a34c 0)}.theme-chip[data-preview=lime]{background:linear-gradient(135deg,#141514 50%,#b6e64f 0)}.theme-chip[data-preview=plum]{background:linear-gradient(135deg,#191320 50%,#e08bab 0)}@media (prefers-reduced-motion:reduce){.theme-popover{animation:none}.theme-option:hover{transform:none}}.settings{position:relative;display:flex;align-items:center}.settings-trigger{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;padding:0;border:1px solid var(--border);border-radius:9px;background:rgba(255,255,255,.04);color:var(--muted);cursor:pointer;transition:color .14s,border-color .14s,background .14s}.settings-trigger:hover,.settings-trigger[aria-expanded=true]{color:var(--text);border-color:rgba(var(--accent-rgb),.5);background:rgba(var(--accent-rgb),.12)}.settings-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.settings-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:50;width:300px;display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 18px 50px rgba(0,0,0,.5);animation:theme-popover-in .14s ease-out;animation-name:settings-in}.settings[data-align=left] .settings-panel{right:auto;left:0}@keyframes settings-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-label{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.settings-voice-state{font-size:12px;color:var(--muted);margin-right:2px}.settings-select{font:inherit;font-size:13px;color:var(--text);background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:8px;padding:5px 8px}.settings-voice{display:inline-flex;align-items:center;gap:8px}.settings-account{display:flex;flex-direction:column;gap:6px;padding-top:12px;border-top:1px solid var(--border)}.settings-email{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-link{display:block;width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:12.5px;text-align:left;text-decoration:none;cursor:pointer}.settings-link:hover{border-color:rgba(var(--accent-rgb),.5)}.lesson-language,.settings-danger{color:var(--muted)}.lesson-language{flex:none;font-size:11px;font-weight:600;border:1px solid var(--border);border-radius:999px;padding:1px 8px;white-space:nowrap}.settings-primary{color:var(--accent);border-color:rgba(var(--accent-rgb),.5)}.settings-confirm{font-size:12.5px;line-height:1.45;color:var(--text)}.settings-confirm-actions{display:flex;gap:8px;margin-top:8px}.settings-delete{flex:1 1;padding:7px 10px;border:none;border-radius:8px;background:var(--chalk-coral);color:#1a1a1a;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.settings-delete:disabled{opacity:.6;cursor:default}@media (prefers-reduced-motion:reduce){.settings-panel{animation:none}}.wall{position:fixed;inset:0;z-index:70;overflow:hidden;color:var(--text);background:radial-gradient(120% 90% at 30% 20%,rgba(255,255,255,.035),transparent 60%),var(--bg)}.wall-world{position:absolute;left:0;top:0;transform-origin:0 0;--others:0}.wall:not([data-mode=wall]) .wall-world{pointer-events:none}.wall-tile{position:absolute;opacity:var(--others)}.wall-tile[data-lit=yes]{opacity:1}.wall-tile[data-dimmed=yes]{opacity:calc(var(--others) * .16)}.wall-pick{display:block;width:100%;margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.wall-pick:disabled{cursor:default}.wall-pick:focus-visible{outline:none}.wall-board>*{transition:transform .25s,box-shadow .25s}.wall[data-mode=wall] .wall-pick:focus-visible .wall-board>*,.wall[data-mode=wall] .wall-pick:not(:disabled):hover .wall-board>*{transform:translateY(calc(-14 * var(--u)));box-shadow:0 calc(50 * var(--u)) calc(90 * var(--u)) rgba(0,0,0,.6),0 0 0 calc(8 * var(--u)) var(--accent)}.wall-slate{position:relative;overflow:hidden;border-radius:3px;background-color:var(--board-bg);background-image:radial-gradient(58% 40% at 21% 17%,var(--board-dust),transparent 72%),radial-gradient(48% 32% at 73% 61%,var(--board-dust),transparent 74%),radial-gradient(44% 28% at 45% 89%,var(--board-dust),transparent 72%),radial-gradient(120% 85% at 50% -10%,var(--board-lift),transparent 70%);box-shadow:inset 0 0 70px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.05)}.wall-slate img{display:block;width:100%;height:100%;object-fit:cover}.wall-untitled{place-items:center;padding:calc(60 * var(--u));font:700 calc(64 * var(--u)) /1.05 Caveat,cursive;color:var(--chalk);opacity:.55;text-align:center}.wall-plus,.wall-untitled{position:absolute;inset:0;display:grid}.wall-plus{place-items:center;transition:opacity .5s}.wall-plus i{width:calc(190 * var(--u));height:calc(190 * var(--u));display:grid;place-items:center;padding-bottom:calc(14 * var(--u));border:calc(6 * var(--u)) dashed rgba(242,237,226,.5);border-radius:50%;font:600 calc(150 * var(--u)) /1 Caveat,cursive;font-style:normal;color:var(--chalk)}.wall-tile[data-fresh=yes] .wall-plus{opacity:0}.wall-label{padding:calc(22 * var(--u)) calc(6 * var(--u)) 0;opacity:var(--labels,1)}.wall-name{font:700 calc(68 * var(--u)) /1.02 Caveat,cursive;color:var(--chalk);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wall-tile-new .wall-name{color:var(--accent-soft)}.wall-meta{font-size:calc(33 * var(--u));color:var(--muted)}.wall-asked,.wall-meta{margin-top:calc(8 * var(--u));white-space:nowrap}.wall-asked{font-size:calc(34 * var(--u));font-style:italic;color:var(--chalk-student);opacity:.85;overflow:hidden;text-overflow:ellipsis}.wall-delete{position:absolute;top:calc(-24 * var(--u));right:calc(-24 * var(--u));width:calc(70 * var(--u));height:calc(70 * var(--u));display:grid;place-items:center;padding:0;border:calc(2 * var(--u)) solid var(--border);border-radius:50%;background:var(--panel);color:var(--muted);font-size:calc(46 * var(--u));line-height:1;cursor:pointer;opacity:0;transition:opacity .15s,color .15s}.wall-delete:focus-visible,.wall[data-mode=wall] .wall-tile:hover .wall-delete{opacity:1}.wall-delete:hover{color:var(--chalk-coral)}.wall-room{position:fixed;inset:0;transform-origin:0 0;pointer-events:none;opacity:0}.wall-hud{position:fixed;left:0;right:0;top:0;display:flex;align-items:flex-end;gap:14px;padding:18px 56px 26px;background:linear-gradient(to bottom,var(--bg) 78%,transparent)}.wall-heading{flex:1 1;min-width:0}.wall-heading h2{margin:0;font:700 46px/1 Caveat,cursive;color:var(--chalk)}.wall-heading p{margin:6px 0 0;font-size:14px;color:var(--muted)}.wall-back,.wall-search{height:34px;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.05);color:var(--text);font:inherit;font-size:13px}.wall-search{width:230px;padding:0 12px;outline:none}.wall-search::placeholder{color:var(--muted)}.wall-search:focus{border-color:rgba(var(--accent-rgb),.6);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.16)}.wall-back{padding:0 14px;font-weight:600;cursor:pointer;transition:border-color .14s,background .14s}.wall-back:hover{border-color:rgba(var(--accent-rgb),.5);background:rgba(var(--accent-rgb),.12)}.wall-sweep{position:fixed;z-index:75;overflow:hidden;border-radius:3px;pointer-events:none}.wall-sweep:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(242,201,135,.28) 50%,transparent 65%);animation:wall-sweep 1.1s ease-out both}@keyframes wall-sweep{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@media (prefers-reduced-motion:reduce){.wall-board>*,.wall-plus{transition:none}.wall-sweep:after{animation:none}}.message-backdrop{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:16px;background:rgba(7,9,15,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.message-dialog{width:min(480px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;padding:22px;border:1px solid var(--border);border-radius:16px;background:var(--panel);box-shadow:0 24px 70px rgba(0,0,0,.45);color:var(--text);text-align:left}.message-dialog h2{margin:0 0 14px;font-size:18px}.message-dialog form{display:flex;flex-direction:column;gap:12px}.message-kinds{display:flex;flex-wrap:wrap;gap:6px}.message-kind{padding:6px 11px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-size:12.5px;cursor:pointer}.message-kind[aria-checked=true]{border-color:rgba(var(--accent-rgb),.6);background:rgba(var(--accent-rgb),.15);color:var(--accent-soft)}.message-field{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--muted)}.message-field input,.message-field textarea{width:100%;box-sizing:border-box;padding:9px 11px;border:1px solid var(--border);border-radius:9px;background:rgba(0,0,0,.28);color:var(--text);font:inherit;font-size:14px;line-height:1.5;outline:none}.message-field textarea{resize:vertical;min-height:110px}.message-field input:focus,.message-field textarea:focus{border-color:rgba(var(--accent-rgb),.6);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.16)}.message-share{display:flex;gap:9px;align-items:flex-start;font-size:13px;line-height:1.45;cursor:pointer}.message-share input{margin-top:3px;accent-color:var(--accent)}.message-share small{display:block;color:var(--muted);font-size:12px}.message-error{margin:0;font-size:12.5px;color:#ff8f9b}.message-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:4px}.message-reply{margin-right:auto;font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-actions button{padding:8px 14px;border:1px solid var(--border);border-radius:9px;background:transparent;color:var(--text);font:inherit;font-size:13px;cursor:pointer}.message-actions .message-primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent);font-weight:600}.message-actions .message-primary:disabled{opacity:.45;cursor:default}.message-sent p{color:var(--muted);font-size:14px;line-height:1.6}.message-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.settings-panel{max-height:calc(100dvh - 80px);overflow-y:auto}.settings-memory{display:flex;flex-direction:column;gap:6px;min-height:24px}.settings-note{margin:0;font-size:12px;line-height:1.5;color:var(--muted)}.settings-switch{position:relative;flex-shrink:0;width:36px;height:20px;padding:0;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.08);cursor:pointer;transition:background .15s ease}.settings-switch[aria-checked=true]{border-color:rgba(var(--accent-rgb),.6);background:rgba(var(--accent-rgb),.55)}.settings-switch:disabled{opacity:.6;cursor:default}.settings-switch-knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--text);transition:transform .15s ease}.settings-switch[aria-checked=true] .settings-switch-knob{transform:translateX(16px)}.settings-switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tutor-stage{position:absolute;z-index:4;pointer-events:none}.tutor-stage-bust{overflow:hidden}.tutor-figure{position:relative}.tutor-bust{display:block;width:100%;height:100%;overflow:visible;animation:tutor-breathe 4.2s ease-in-out infinite;transition:filter .6s ease}@keyframes tutor-breathe{0%,to{translate:0 0}50%{translate:0 -.8px}}.tutor-head{transform-box:fill-box;transform-origin:50% 88%;transition:transform .22s ease-out}.tutor-features,.tutor-pupils{transition:transform .16s ease-out}.tutor-mouth{fill:#5e2126}.tutor-mouth-line{fill:none;stroke:#5a2226;stroke-width:2.6;stroke-linecap:round}.tutor-mouth:not(.tutor-mouth-line){stroke:#4a1a1e;stroke-width:.9;stroke-linejoin:round}.tutor-teeth{fill:#fbf8f2}.tutor-tongue{fill:#d9676a}.tutor-glasses circle,.tutor-glasses path,.tutor-glasses rect{fill:none;stroke:#1d1d1f;stroke-width:2}.tutor-hand-chalk,.tutor-paper,.tutor-reading-glasses{opacity:0;transition:opacity .22s ease;pointer-events:none}.tutor-bust[data-state=reading] .tutor-paper,.tutor-bust[data-state=reading] .tutor-reading-glasses{opacity:1}.tutor-bust[data-state=reading] .tutor-head{animation:tutor-read 3.2s ease-in-out infinite}@keyframes tutor-read{0%,to{rotate:-1deg;translate:0 2.5px}50%{rotate:1.5deg;translate:0 3px}}.tutor-bust[data-writing=yes] .tutor-hand-chalk{opacity:1}.tutor-bust[data-writing=yes] .tutor-head{rotate:4deg;translate:1.5px 1.5px}.tutor-bust[data-writing=yes] .tutor-body{transform-box:fill-box;transform-origin:50% 100%;rotate:2deg;transition:rotate .22s ease-out}.tutor-bust[data-writing=yes] .tutor-hand-chalk{animation:tutor-chalk .9s ease-in-out infinite;transform-box:fill-box;transform-origin:30% 100%}@keyframes tutor-chalk{0%,to{rotate:0deg}50%{rotate:-6deg}}.tutor-bust[data-facing=left][data-writing=yes] .tutor-head{rotate:-4deg;translate:-1.5px 1.5px}.tutor-bust[data-facing=left][data-writing=yes] .tutor-body{rotate:-2deg}.tutor-bust[data-state=speaking]{animation:tutor-talk .8s ease-in-out infinite}@keyframes tutor-talk{0%,to{translate:0 0}50%{translate:0 -1.2px}}.tutor-bust[data-state=listening] .tutor-head{animation:tutor-nod 1.8s ease-in-out infinite}.tutor-bust[data-state=resting] .tutor-head{animation:tutor-doze 5s ease-in-out infinite}@keyframes tutor-doze{0%,to{rotate:-1deg;translate:0 0}50%{rotate:-4deg;translate:0 1.5px}}@keyframes tutor-nod{0%,to{rotate:-2deg}50%{rotate:3deg}}.tutor-bust[data-offline=yes]{animation:tutor-breathe 6s ease-in-out infinite;filter:grayscale(.85) opacity(.65);transition:filter .6s ease}.tutor-bust[data-offline=yes] .tutor-head{animation:tutor-droop 6s ease-in-out infinite}.tutor-bust[data-offline=yes] .tutor-pupils{animation:none}@keyframes tutor-droop{0%,to{rotate:1deg;translate:0 2px}50%{rotate:2deg;translate:0 3px}}.tutor-bust[data-state=thinking] .tutor-pupils{animation:tutor-ponder 2.4s ease-in-out .7s infinite}@keyframes tutor-ponder{0%,to{translate:1.6px -2.2px}50%{translate:-.6px -2.6px}}.tutor-thinking{position:absolute;right:4%;top:8%;display:flex;gap:3px}.tutor-thinking i{width:6px;height:6px;border-radius:50%;background:var(--text);opacity:.25;animation:tutor-dot 1.2s ease-in-out infinite}.tutor-thinking i:nth-child(2){animation-delay:.2s}.tutor-thinking i:nth-child(3){animation-delay:.4s}@keyframes tutor-dot{0%,to{opacity:.25}40%{opacity:.9}}.tutor-stage-sparkle{z-index:5}.tutor-stage[data-mode=side] .tutor-stage-sparkle{position:absolute}.tutor-sparkle{display:block;width:100%;height:auto;overflow:visible;pointer-events:none}.tutor-portrait{position:relative}.tutor-portrait-sparkle{position:absolute;right:-16px;top:-12px;width:26px}.tutor-sparkle-tick{fill:none;stroke:var(--chalk-mint);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 3px rgba(var(--chalk-mint-rgb),.6));animation:tutor-tick 1.6s ease-out forwards}@keyframes tutor-tick{0%{stroke-dashoffset:1;opacity:1}30%{stroke-dashoffset:0;opacity:1}75%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}.tutor-sparkle-star{fill:var(--chalk-yellow);transform-box:fill-box;transform-origin:center;opacity:0;filter:drop-shadow(0 0 3px rgba(var(--chalk-yellow-rgb),.7));animation:tutor-star .9s ease-out var(--d,0s) forwards}@keyframes tutor-star{0%{opacity:0;scale:.2;rotate:-20deg}35%{opacity:1;scale:1.15;rotate:0deg}to{opacity:0;scale:.6;rotate:15deg}}.tutor-stage-plate{transform:translateY(-100%)}.tutor-plate{display:flex;flex-direction:column;gap:3px;white-space:nowrap}.tutor-plate-name{font-size:14px;font-weight:600;color:var(--text)}.tutor-plate-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.tutor-plate-timeline{display:flex;align-items:center;gap:2px;height:18px;margin-top:1px}.tutor-plate-progress{position:relative;display:block;flex:1 1 auto;height:3px;margin-right:8px;border-radius:2px;background:rgba(var(--chalk-rgb),.14);transition:opacity .4s ease .3s}.tutor-plate-progress:last-child{margin-right:0}.tutor-plate-progress i{position:absolute;left:0;top:0;display:block;height:100%;width:0;border-radius:2px;background:var(--chalk-yellow);transition:width .6s cubic-bezier(.2,.8,.2,1)}.tutor-plate-progress i:after{content:"";position:absolute;right:-1px;top:50%;width:2px;height:9px;margin-top:-4.5px;border-radius:1px;background:var(--chalk-yellow);box-shadow:0 0 0 2px var(--bg)}.tutor-plate-progress[data-known=no]{overflow:hidden}.tutor-plate-progress[data-known=no] i{width:35%;animation:tutor-progress-unknown 1.3s ease-in-out infinite;transition:none}.tutor-plate-progress[data-known=no] i:after{display:none}.tutor-plate-progress[data-paused=yes] i{background:repeating-linear-gradient(135deg,rgba(var(--chalk-yellow-rgb),.9) 0 2px,transparent 2px 5px);opacity:.7}.tutor-plate-progress[data-paused=yes] i:after{background:transparent;box-shadow:inset 0 0 0 1px var(--chalk-yellow),0 0 0 2px var(--bg)}.tutor-plate-progress[data-skipping=yes] i{background:linear-gradient(90deg,rgba(var(--chalk-yellow-rgb),.55),var(--chalk-yellow) 75%,#fff8e0);box-shadow:0 0 6px rgba(var(--chalk-yellow-rgb),.55)}.tutor-plate-progress[data-ending=yes]{opacity:0}@keyframes tutor-progress-unknown{0%{transform:translateX(-100%)}to{transform:translateX(300%)}}@media (prefers-reduced-motion:reduce){.tutor-plate-progress[data-known=no] i{animation:none;width:100%;opacity:.4}}.tutor-plate-dot{width:7px;height:7px;border-radius:50%;background:var(--chalk-mint);box-shadow:0 0 0 3px rgba(var(--chalk-mint-rgb),.18)}.tutor-plate-key{pointer-events:auto;display:inline-grid;place-items:center;flex:none;width:20px;height:18px;padding:0;margin:0;border:0;border-radius:9px;background:none;color:var(--muted);cursor:pointer;transition:color .12s ease,background-color .12s ease,transform .12s ease}.tutor-plate-key svg{width:10px;height:10px;display:block;overflow:visible;fill:currentColor}.tutor-plate-key:hover{color:var(--text);background:rgba(var(--chalk-rgb),.09)}.tutor-plate-key:active{transform:translateY(.5px)}.tutor-plate-key:focus{outline:none}.tutor-plate-key:focus-visible{color:var(--text);box-shadow:0 0 0 1.5px var(--accent)}.tutor-plate-key[data-play=yes]{color:var(--chalk-yellow)}.tutor-plate-key[data-play=yes]:hover{color:#fff2c8;background:rgba(var(--chalk-yellow-rgb),.14)}.tutor-plate-key:disabled{color:var(--muted);opacity:.32;cursor:not-allowed;transform:none}.tutor-plate-key:disabled:hover{background:none}.tutor-focus[data-busy=yes] .tutor-plate-dot,.tutor-plate[data-busy=yes] .tutor-plate-dot{background:var(--chalk-yellow);box-shadow:0 0 0 3px rgba(var(--chalk-yellow-rgb),.2);animation:tutor-busy 1.4s ease-in-out infinite}.tutor-focus[data-busy=off] .tutor-plate-dot,.tutor-focus[data-busy=rest] .tutor-plate-dot,.tutor-plate[data-busy=off] .tutor-plate-dot,.tutor-plate[data-busy=rest] .tutor-plate-dot{background:var(--muted);box-shadow:0 0 0 3px rgba(255,255,255,.08)}@keyframes tutor-busy{0%,to{opacity:1}50%{opacity:.45}}.tutor-stage-band{display:flex;align-items:center;justify-content:center;padding:0 28px;box-sizing:border-box;overflow:hidden}.tutor-stage[data-mode=side]{overflow:hidden}.tutor-stage-band[data-mode=header]{justify-content:flex-start;gap:16px;padding:0 14px}.tutor-stage-band[data-mode=header] .tutor-plate{flex-shrink:0;gap:0}.tutor-stage-band[data-mode=header] .tutor-plate-name,.tutor-stage-band[data-mode=header] .tutor-plate-status{line-height:17px}.tutor-stage-band[data-mode=header] .tutor-plate-timeline{height:16px;margin-top:0}.tutor-stage-band-words{flex:1 1;min-width:0;display:flex;align-items:center}.tutor-stage-band-words .tutor-subtitle{text-align:left;font-size:15px;max-width:none}.tutor-stage[data-mode=side] .tutor-stage-words{min-height:0;overflow:hidden}.tutor-subtitle{max-width:700px;text-align:center;font-size:clamp(15px,1.3vw,19px);line-height:1.45;font-weight:500;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:opacity .7s ease-out}.tutor-subtitle[data-faded=yes]{opacity:0}.tutor-subtitle-unsaid{opacity:.32}.tutor-subtitle-prompt{font-size:14px;font-weight:400;color:var(--muted)}.tutor-callout kbd,.tutor-subtitle kbd{font-size:11px;color:var(--text)}.tutor-stage[data-mode=side]{display:flex;flex-direction:column;gap:14px}.tutor-stage[data-mode=side] .tutor-stage-bust{flex-shrink:0;-webkit-mask-image:linear-gradient(180deg,#000 82%,transparent);mask-image:linear-gradient(180deg,#000 82%,transparent)}.tutor-stage-words{display:flex;flex-direction:column;gap:12px;min-height:0}.tutor-stage[data-place=column]{position:relative;flex-shrink:0;gap:8px;align-items:center;--figure-w:clamp(96px,calc(30vh - 90px),210px)}.tutor-stage[data-place=column] .tutor-stage-bust{height:calc(var(--figure-w) * 150 / 140 * .82);overflow:hidden}.tutor-stage[data-place=column] .tutor-plate{align-self:stretch}.tutor-stage[data-place=column] .tutor-subtitle{font-size:14px;text-align:left;align-self:stretch}.tutor-stage[data-place=column] .tutor-stage-sparkle{right:12%;top:0;width:calc(var(--figure-w) * .4)}.tutor-stage[data-place=column] .tutor-plate,.tutor-stage[data-place=column] .tutor-stage-bust{translate:var(--aside-x,0) var(--aside-y,0);transition:translate .5s cubic-bezier(.2,.8,.2,1)}.tutor-stage[data-place=column][data-aside=yes]{overflow:visible}@media (prefers-reduced-motion:reduce){.tutor-stage[data-place=column] .tutor-plate,.tutor-stage[data-place=column] .tutor-stage-bust{transition:none}}.tutor-stage-words .tutor-subtitle{text-align:left;font-size:17px;-webkit-line-clamp:7}.tutor-callout{pointer-events:auto;animation:tutor-callout-in .24s ease-out}@keyframes tutor-callout-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.tutor-question{display:flex;flex-direction:column;gap:9px;padding:11px 13px;border-radius:14px;border:1px solid rgba(var(--accent-rgb),.38);background:linear-gradient(180deg,rgba(var(--accent-rgb),.12),rgba(var(--accent-rgb),.04))}.tutor-question-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.tutor-question-tag{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-soft)}.tutor-question-voice{font-size:11px;color:var(--muted)}.tutor-question-text{font-size:15px;line-height:1.4;font-weight:500;color:var(--text)}.tutor-question-actions{display:flex;flex-wrap:wrap;gap:8px}.tutor-chip{height:30px;padding:0 11px;border-radius:999px;border:1px solid var(--border);background:rgba(255,255,255,.03);color:var(--text);font:inherit;font-size:12.5px;font-weight:500;display:inline-flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap}.tutor-chip:hover{background:rgba(255,255,255,.07)}.tutor-chip-primary{border-color:rgba(var(--accent-rgb),.55);background:rgba(var(--accent-rgb),.15);color:var(--accent-soft)}.tutor-chip-primary:hover{background:rgba(var(--accent-rgb),.26)}.tutor-tip{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 12px;border-radius:12px;border:1px dashed var(--border);background:rgba(255,255,255,.02);font-size:13px;line-height:1.4}.tutor-tip-mark{display:flex;color:var(--accent)}.tutor-tip-text{flex:1 1;min-width:0;color:var(--text)}.tutor-tip-dismiss{width:24px;height:24px;border:none;border-radius:50%;background:transparent;color:var(--muted);font:inherit;font-size:16px;line-height:1;cursor:pointer}.tutor-tip-dismiss:hover{color:var(--text)}.tutor-callout[data-variant=composer]{margin:0 12px 10px}.tutor-question[data-variant=band]{flex-direction:row;align-items:center;gap:16px;width:100%;max-width:900px;padding:10px 14px}.tutor-question[data-variant=band] .tutor-question-top{flex-direction:column;align-items:flex-start;gap:2px;line-height:15px}.tutor-question[data-variant=band] .tutor-question-text{flex:1 1;min-width:0;font-size:16px}.tutor-question[data-variant=band] .tutor-question-actions{flex-wrap:nowrap}.tutor-tip[data-variant=band]{max-width:700px}.tutor-question[data-variant=column] .tutor-question-actions{flex-direction:column}.tutor-question[data-variant=column] .tutor-chip{justify-content:flex-start;height:auto;min-height:30px;padding:6px 11px;border-radius:14px;white-space:normal;text-align:left}.tour{position:fixed;z-index:1000}.tour,.tour-dim{inset:0;pointer-events:none}.tour-dim{position:absolute;fill:rgba(4,8,8,.58)}.tour-dim .tour-block{pointer-events:visiblePainted}.tour-halo{position:absolute;border-radius:12px;box-shadow:0 0 0 2px rgba(var(--accent-rgb),.85),0 0 24px rgba(var(--accent-rgb),.35);pointer-events:none;transition:left .3s ease,top .3s ease,width .3s ease,height .3s ease}.tour-halo[data-main=no][data-step=focus],.tour-halo[data-step=attach][data-main=no],.tour-halo[data-step=draw],.tour-halo[data-step=explain],.tour-halo[data-step=write][data-main=yes]{box-shadow:0 0 0 1px rgba(var(--accent-rgb),.45)}.tour-card{position:absolute;width:min(330px,calc(100vw - 24px));box-sizing:border-box;padding:16px 16px 12px;border-radius:16px;border:1px solid rgba(var(--accent-rgb),.35);background:var(--panel);box-shadow:0 18px 50px rgba(0,0,0,.5);color:var(--text);transition:left .3s ease,top .3s ease;animation:tutor-callout-in .24s ease-out;pointer-events:auto}.tour-card[data-place=bubble]{width:min(380px,calc(100vw - 24px));border-radius:18px}.tour-card[data-place=bubble] .tour-text{font-size:17px}.tour-card:before{content:"";position:absolute;width:14px;height:14px;background:var(--panel);border:1px solid rgba(var(--accent-rgb),.35);transform:rotate(45deg)}.tour-card[data-side=none]:before{display:none}.tour-card[data-side=top-start]:before{top:-8px;left:22px;border-right:0;border-bottom:0}.tour-card[data-side=top]:before{top:-8px;left:calc(50% - 7px);border-right:0;border-bottom:0}.tour-card[data-side=bottom]:before{bottom:-8px;left:calc(50% - 7px);border-left:0;border-top:0}.tour-card[data-side=left]:before{left:-8px;top:26px;border-top:0;border-right:0}.tour-card[data-side=right]:before{right:-8px;top:26px;border-bottom:0;border-left:0}.tour-text{margin:0 0 14px;font-size:15px;line-height:1.5;font-weight:500}.tour-language{float:inline-end;display:inline-flex;align-items:center;gap:4px;margin:-6px -6px 4px 8px;padding:2px 4px 2px 8px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:12px}.tour-language:focus-within,.tour-language:hover{color:var(--text);border-color:rgba(var(--accent-rgb),.55)}.tour-language select{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:2px 0}.tour-language option{color:var(--text);background:var(--panel)}.tour-text-rest{visibility:hidden}.tour-languages{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 14px;padding:0}.tour-languages button{font:inherit;font-size:12.5px;padding:3px 9px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer}.tour-languages button:hover{color:var(--text);border-color:rgba(var(--accent-rgb),.45)}.tour-languages button[data-current=yes]{color:var(--accent);border-color:rgba(var(--accent-rgb),.6);background:rgba(var(--accent-rgb),.12);font-weight:600}.tour-file{position:absolute;box-sizing:border-box;border:1px solid var(--border);border-radius:12px;background:var(--panel);box-shadow:0 10px 30px rgba(0,0,0,.45);animation:tour-file-in .9s cubic-bezier(.2,.9,.25,1.1) both}@keyframes tour-file-in{0%{opacity:0;transform:translate(-40px,-160px) rotate(-8deg) scale(.9)}60%{opacity:1}to{opacity:1;transform:none}}.tour-actions{display:flex;align-items:center;gap:8px}.tour-count{flex:1 1;text-align:center;font-size:12px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tour-back,.tour-skip{padding:6px 4px;border:0;background:transparent;color:var(--muted);font:inherit;font-size:12.5px;cursor:pointer}.tour-back:hover,.tour-skip:hover{color:var(--text)}.tour-next{padding:7px 16px;border:0;border-radius:999px;background:var(--accent);color:#1d1406;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.tour-next:focus-visible{outline:2px solid var(--accent-soft);outline-offset:2px}.tour-next:disabled{opacity:.6;cursor:default}.tour-next[data-ready=no]{background:transparent;color:var(--accent);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.55)}.tour-next[data-ready=yes]{animation:tour-next-glow 1.8s ease-in-out infinite}@keyframes tour-next-glow{0%,to{box-shadow:0 0 0 0 rgba(var(--accent-rgb),.55)}50%{box-shadow:0 0 0 6px rgba(var(--accent-rgb),0),0 0 18px 2px rgba(var(--accent-rgb),.45)}}.tour-next{gap:6px}.tour-mute,.tour-next{display:inline-flex;align-items:center}.tour-mute{width:28px;height:28px;justify-content:center;border:1px solid var(--border);border-radius:50%;background:transparent;color:var(--text);cursor:pointer}.tour-mute[aria-pressed=true]{color:var(--muted)}.tour-mute:hover{border-color:rgba(var(--accent-rgb),.6)}@media (prefers-reduced-motion:reduce){.tour-card,.tour-file,.tour-halo{transition:none;animation:none}.tour-next[data-ready=yes]{animation:none;box-shadow:0 0 14px 2px rgba(var(--accent-rgb),.45)}}.tutor-subtitle-greeting,.tutor-subtitle-resting{font-size:15px;font-weight:400;color:var(--muted)}.tutor-presence{display:flex;align-items:center;gap:8px;flex:1 1 200px;min-width:0;text-transform:none;letter-spacing:normal;font-weight:500}.tutor-portrait{flex-shrink:0;width:38px;height:38px;border-radius:50%;background:radial-gradient(circle at 50% 40%,rgba(var(--accent-rgb),.14),var(--panel) 75%);border:1px solid var(--border);overflow:visible}.tutor-portrait>.tutor-bust{border-radius:50%;-webkit-clip-path:circle(50%);clip-path:circle(50%)}.tutor-presence[data-awaiting=yes] .tutor-portrait{border-color:rgba(var(--accent-rgb),.7);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.16)}.tutor-strip{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:8px;min-height:22px;font-size:12.5px;line-height:1.35;color:var(--text)}.tutor-strip[data-kind=empty]{flex:0 0}.tutor-presence[data-strip=empty]{flex:0 0 auto}.tutor-plate-inline{flex-direction:row;align-items:center;gap:10px}.tutor-plate-inline .tutor-plate-status{font-size:11.5px;flex:none}.tutor-plate-inline .tutor-plate-timeline{flex:1 1 60px;min-width:60px;margin-top:0}.tutor-strip-text{min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tutor-strip-unsaid{opacity:.35}.tutor-strip-quiet{color:var(--muted)}.tutor-strip-tag{flex-shrink:0;padding:1px 7px;border-radius:999px;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-soft);background:rgba(var(--accent-rgb),.16);animation:tutor-tag-in .2s ease-out}@keyframes tutor-tag-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}.tutor-strip-actions{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.tutor-strip-button{padding:3px 9px;border-radius:999px;border:1px solid rgba(var(--accent-rgb),.6);background:rgba(var(--accent-rgb),.18);color:var(--accent-soft);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.tutor-strip-button:hover{background:rgba(var(--accent-rgb),.3)}.tutor-strip-dismiss{width:20px;height:20px;border-radius:50%;border:none;background:transparent;color:var(--muted);font:inherit;font-size:14px;line-height:1;cursor:pointer}.tutor-strip-dismiss:hover{color:var(--text)}@media (prefers-reduced-motion:reduce){.tutor-features,.tutor-head,.tutor-pupils{transition:none}.tutor-sparkle{display:none}.tutor-bust,.tutor-callout,.tutor-head,.tutor-plate-dot,.tutor-pupils,.tutor-thinking i{animation:none!important}}.tutor-stage.tutor-focus[data-mode]{position:relative;z-index:auto;display:flex;flex-direction:row;align-items:center;gap:10px;min-width:0;overflow:visible;pointer-events:auto}.tutor-focus-face{position:relative;flex:none;border-radius:50%;background:rgba(var(--chalk-rgb),.06)}.tutor-focus-face>.tutor-bust{width:100%;height:100%;border-radius:50%;-webkit-clip-path:circle(50%);clip-path:circle(50%)}.tutor-focus-ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);overflow:visible;pointer-events:none}.tutor-focus-ring circle{fill:none;stroke-width:2.5}.tutor-focus-ring-track{stroke:rgba(var(--chalk-rgb),.12)}.tutor-focus-ring-done{stroke:var(--chalk-yellow);stroke-linecap:round;filter:drop-shadow(0 0 2px rgba(var(--chalk-yellow-rgb),.8));opacity:0;transition:stroke-dasharray 0s .5s,opacity .5s ease}.tutor-focus-ring-done[data-on=yes]{opacity:1;transition:stroke-dasharray .3s linear,opacity .5s ease}.tutor-focus-ring-wait{transform-box:view-box;transform-origin:50% 50%;animation:tutor-ring-spin 2.4s linear infinite;opacity:0;transition:opacity .5s ease}.tutor-focus-ring-wait[data-on=yes]{opacity:1}.tutor-focus-ring-wait[data-on=no]{animation-play-state:paused}.tutor-focus-ring-light{stroke:rgba(var(--chalk-yellow-rgb),.7);stroke-linecap:round}@keyframes tutor-ring-spin{to{rotate:1turn}}@media (prefers-reduced-motion:reduce){.tutor-focus-ring-wait[data-on=yes]{animation:tutor-ring-pulse 2.4s ease-in-out infinite}}@keyframes tutor-ring-pulse{50%{opacity:.35}}.tutor-focus-sparkle{position:absolute;right:-14px;top:-12px;width:24px}.tutor-focus-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);white-space:nowrap}.tutor-focus-keys{display:inline-flex;gap:2px}.tutor-focus-line{max-width:none;text-align:start;font-size:14px;line-height:1.4;font-weight:500;color:var(--text);display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;-webkit-line-clamp:2}.admin-shell{display:flex;height:100vh}.admin-nav{width:200px;flex-shrink:0;display:flex;flex-direction:column;gap:4px;padding:16px 12px;background:var(--panel);border-right:1px solid var(--border)}.admin-nav-title{font-size:15px;font-weight:700;padding:4px 10px 12px}.admin-nav-link{padding:8px 10px;border-radius:8px;font-size:13px;color:var(--muted);text-decoration:none}.admin-nav-active,.admin-nav-link:hover{color:var(--text);background:var(--border)}.admin-nav-spacer{flex:1 1}.admin-main{flex:1 1;min-width:0;overflow-y:auto;padding:24px 28px}.admin-title{font-size:20px;margin:0 0 16px}.admin-empty,.admin-loading{color:var(--muted);font-size:13px;padding:16px 0}.admin-error{color:#ff8f9b;font-size:13px;padding:12px 0}.admin-page{max-width:1240px}.admin-page-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-bottom:18px}.admin-page-head .admin-title{margin:0}.admin-nav-sub{font-weight:400;font-size:12px;margin-left:4px}.admin-dim,.admin-nav-sub{color:var(--muted)}.admin-accent{color:var(--accent-soft)}.admin-num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.admin-crumbs{font-size:12px;margin-bottom:4px}.admin-badge{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:999px;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle;color:var(--chalk-coral);border:1px solid rgba(var(--chalk-coral-rgb),.5);background:rgba(var(--chalk-coral-rgb),.1)}.admin-deleted-note{margin:4px 0 10px;padding:8px 12px;border-radius:10px;font-size:12.5px;line-height:1.5;color:var(--text);background:rgba(var(--chalk-coral-rgb),.08);border:1px solid rgba(var(--chalk-coral-rgb),.35)}.admin-range{display:inline-flex;padding:3px;gap:2px;border-radius:10px;background:var(--panel);border:1px solid var(--border)}.admin-range button{padding:5px 11px;border:none;border-radius:7px;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.admin-range button:hover{color:var(--text)}.admin-range .admin-range-on{background:rgba(var(--accent-rgb),.18);color:var(--accent-soft)}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));grid-gap:12px;gap:12px;margin-bottom:18px}.admin-stat{padding:14px 16px 12px;background:var(--panel);border:1px solid var(--border);border-radius:14px}.admin-stat-label{font-size:11.5px;color:var(--muted)}.admin-stat-value{margin-top:4px;font-size:28px;font-weight:700;line-height:1.15;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.admin-stat-foot{margin-top:6px;font-size:11.5px;color:var(--muted);min-height:15px}.admin-delta{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.admin-delta-good{color:var(--chalk-mint)}.admin-delta-bad{color:var(--chalk-coral)}.admin-delta-none{color:var(--muted)}.admin-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));grid-gap:14px;gap:14px;margin-bottom:18px}.admin-chart{min-width:0;padding:12px 14px 8px;background:var(--panel);border:1px solid var(--border);border-radius:14px}.admin-chart-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:4px}.admin-chart-title{font-size:13px;margin:0}.admin-chart-svg{display:block;width:100%}.admin-legend{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:11px;color:var(--muted)}.admin-legend-item{display:inline-flex;align-items:center;gap:5px}.admin-legend-swatch{display:inline-block;width:10px;height:10px;border-radius:3px;vertical-align:middle;margin-right:4px}.admin-legend-line{height:3px;border-radius:2px}.admin-legend-dashed{background:transparent!important;border-top:2px dashed;height:0}.admin-legend-mark{border-radius:50%;width:8px;height:8px}.admin-chart-grid{stroke:var(--border);stroke-width:1}.admin-chart-tick{fill:var(--muted);font-size:10px}.admin-chart-hover{fill:rgba(var(--accent-rgb),.08)}.admin-chart-empty{fill:var(--muted);font-size:12px}.admin-chart-readout{display:flex;flex-wrap:wrap;gap:4px 14px;min-height:18px;padding:4px 2px 0;font-size:11.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.admin-panel{min-width:0;padding:12px 14px;background:var(--panel);border:1px solid var(--border);border-radius:14px}.admin-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:6px}.admin-panel-title{font-size:13px;margin:0}.admin-link-button{border:none;background:transparent;padding:0;color:var(--accent);font:inherit;font-size:12px;cursor:pointer}.admin-link-button:hover{text-decoration:underline}.admin-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:-6px 0 16px}.admin-toolbar .admin-search{flex:1 1 260px;max-width:420px;margin:0}.admin-range button[aria-pressed]{padding-left:9px;padding-right:9px}.admin-split{display:grid;grid-template-columns:minmax(340px,2fr) minmax(0,3fr);grid-gap:14px;gap:14px;align-items:start}@media (max-width:1180px){.admin-split{grid-template-columns:1fr}}.admin-panel{overflow-x:auto}.admin-people .admin-table{table-layout:fixed}.admin-people .admin-table th:first-child{width:auto}.admin-people .admin-table .admin-num{width:64px}.admin-table-pick tbody tr{cursor:pointer}.admin-table-pick tbody tr:hover td{background:rgba(var(--accent-rgb),.06)}.admin-row-on td{background:rgba(var(--accent-rgb),.14)}.admin-row-deleted .admin-row-link,.admin-row-deleted td{color:var(--muted)}.admin-cell-main{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-cell-sub{font-size:11px;color:var(--muted)}.admin-search{width:100%;max-width:420px;margin-bottom:14px;padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:13px;outline:none}.admin-search:focus{border-color:var(--accent)}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th{text-align:left;color:var(--muted);font-weight:600}.admin-table td,.admin-table th{padding:8px 10px;border-bottom:1px solid var(--border)}.admin-row-link{color:var(--accent);text-decoration:none}.admin-row-link:hover{text-decoration:underline}.admin-inspector{display:flex;flex-direction:column;height:100%;min-height:0}.admin-inspector-header{margin-bottom:12px}.admin-inspector-header .admin-title{margin:6px 0 4px}.admin-inspector-meta{font-size:12px;color:var(--muted)}.admin-inspector-body{flex:1 1;min-height:0;display:flex;gap:16px}.admin-inspector-body[data-trace=on] .admin-transcript{width:62%}.admin-transcript{width:40%;min-width:320px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-right:4px}.admin-turn{text-align:left;border:1px solid var(--border);border-radius:12px;background:var(--panel);color:var(--text);padding:10px 12px;cursor:pointer;font:inherit}.admin-turn:hover{border-color:rgba(var(--accent-rgb),.5)}.admin-turn-selected{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.2)}.admin-turn-head{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-bottom:6px}.admin-turn-stats{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.admin-msg{font-size:13px;line-height:1.5;border-radius:8px;padding:6px 10px;margin-top:6px}.admin-msg-user{background:rgba(var(--accent-rgb),.18)}.admin-msg-tutor{background:var(--border)}.admin-msg-user img{display:block;max-width:180px;max-height:180px;border-radius:6px;margin-bottom:6px}.admin-tool-call{margin:6px 0;padding:6px 8px;border-left:3px solid var(--accent);background:rgba(var(--accent-rgb),.08);border-radius:0 6px 6px 0}.admin-tool-code{font-size:11.5px;word-break:break-word;color:var(--accent)}.admin-tool-result{font-size:11px;color:var(--muted);margin-top:4px;word-break:break-word}.admin-replay-button{margin-left:8px;font-size:11px;padding:1px 8px;border-radius:10px;border:1px solid var(--accent);background:transparent;color:var(--accent);cursor:pointer}.admin-replay-button:hover{background:rgba(var(--accent-rgb),.15)}a.admin-replay-button{text-decoration:none}.admin-watch-bar{display:flex;align-items:center;gap:6px;font-size:12px}.admin-watch-bar span{flex:1 1;color:var(--muted)}.admin-watch-bar a,.admin-watch-bar button{font-size:12px;padding:2px 8px;border-radius:6px;border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;text-decoration:none}.admin-watch-bar a:hover,.admin-watch-bar button:hover{border-color:var(--accent)}.admin-watch-frame{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:8px;flex:none}.admin-watch-frame iframe{position:absolute;top:0;left:0;border:0;transform-origin:0 0;background:var(--bg)}.admin-board-pane{flex:1 1;min-width:0;min-height:0;display:flex;flex-direction:column;gap:12px}.admin-board-pane>.board-frame{flex:1 1 auto;min-height:360px}.admin-profile{flex:0 1 auto;max-height:38vh;overflow-y:auto;overscroll-behavior:contain;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:12px 14px}.admin-profile-note{margin:0 0 8px;font-size:11.5px;color:var(--muted)}.admin-profile-table th{padding:0 8px 4px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:left;border-bottom:1px solid var(--border)}.admin-profile-table th:not(:first-child){text-align:right}.admin-profile-cumulative{color:var(--muted)}.admin-profile-after{color:var(--muted);font-style:italic}.admin-profile-title{font-size:13px;margin:0 0 8px}.admin-profile-empty{color:var(--muted);font-size:12px}.admin-profile-table{width:100%;border-collapse:collapse;font-size:12px}.admin-profile-table td{padding:4px 8px;border-bottom:1px solid var(--border)}.admin-profile-table td:last-child{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.admin-headline{margin-bottom:4px;padding:10px 12px 8px;border:1px solid rgba(var(--accent-rgb),.35);border-radius:10px;background:rgba(var(--accent-rgb),.07)}.admin-headline-value{font-size:26px;font-weight:700;line-height:1.1;color:var(--accent-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.admin-headline-label{margin-bottom:6px;font-size:11.5px;color:var(--muted)}.admin-turn-first{color:var(--accent-soft);font-weight:600}.admin-trace{margin-top:6px;border-top:1px dashed var(--border);padding-top:6px;font-size:12px}.admin-trace-toggle{background:transparent;border:1px solid var(--border);color:var(--muted);border-radius:6px;padding:2px 8px;font-size:11px;cursor:pointer}.admin-trace-toggle:hover{color:var(--text);border-color:var(--accent)}.admin-turn-details{display:block;margin-top:6px}.admin-trace-head{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center;margin-bottom:6px;color:var(--muted);font-size:11px}.admin-trace-head button{margin-left:auto}.admin-trace-bad{color:#e0705a;font-weight:600}.admin-trace-label{color:var(--muted);font-weight:500}.admin-trace-pre{margin:2px 0;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,JetBrains Mono,Menlo,monospace;font-size:11px;line-height:1.45;max-height:360px;overflow:auto}.admin-trace-prompt{max-height:640px;padding:6px 8px;border:1px solid var(--border);border-radius:6px}.admin-trace-call{display:block;font-family:ui-monospace,JetBrains Mono,Menlo,monospace;font-size:11px;color:var(--accent-soft);white-space:pre-wrap;word-break:break-word;margin:2px 0}.admin-tl-note{color:var(--muted);font-size:11px;margin:4px 0}.admin-tl{width:100%;border-collapse:collapse;font-size:11.5px;line-height:1.45}.admin-tl td{padding:3px 6px 3px 0;vertical-align:top;border-top:1px solid var(--border)}.admin-tl-t{width:62px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}.admin-tl-who{width:58px;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding-top:5px}.admin-tl tr[data-who=student] .admin-tl-who{color:var(--chalk-coral)}.admin-tl tr[data-who=model] .admin-tl-who{color:var(--accent-soft)}.admin-tl tr[data-who=tool] .admin-tl-who{color:var(--chalk-mint)}.admin-tl tr[data-who=speech] .admin-tl-who{color:var(--chalk-sky)}.admin-tl tr[data-bad=yes] .admin-tl-what>div:first-child{color:#e0705a;font-weight:600}.admin-tl tr[data-bad=yes] td{background:rgba(224,112,90,.06)}.admin-tl-what .admin-trace-pre{max-height:240px}.admin-trace-given{margin-top:10px;padding:8px 10px;background:var(--panel);border-radius:6px;font-size:11.5px;line-height:1.5}.admin-trace-given h4{margin:0 0 4px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.admin-trace-fold{margin-top:2px}.admin-trace-fold-body{margin:4px 0 6px 10px}.admin-trace-msg{display:grid;grid-template-columns:70px minmax(0,1fr);grid-column-gap:8px;column-gap:8px;padding:3px 0;border-top:1px solid var(--border)}.admin-trace-msg[data-who=tutor]{background:rgba(var(--accent-rgb),.05)}.admin-trace-picture{max-width:100%;border-radius:4px;display:block}.admin-sort{margin-left:auto;margin-right:8px;padding:3px 6px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text);font:inherit;font-size:12px}.admin-feedback td{vertical-align:top}.admin-feedback-message{white-space:pre-wrap;line-height:1.5;max-width:640px}.admin-sub{margin-top:3px;font-size:11.5px;color:var(--muted)}.admin-nowrap{white-space:nowrap}.admin-memory{display:flex;flex-direction:column;gap:6px;margin:4px 0 14px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:rgba(var(--accent-rgb),.05)}.admin-memory-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.admin-memory-profile{margin:0;font:inherit;font-size:13px;line-height:1.55;white-space:pre-wrap}