:root{--bg:#17122f;--bg-2:#2a2060;--ink:#fff;--soft:#ffffffb3;--faint:#ffffff73;--line:#ffffff1f;--card:#ffffff12;--accent:#ffd166;--pink:#ff5fa2;--violet:#9b5bff;--gutter:16px;--font:"Nunito", ui-rounded, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--read:18px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:radial-gradient(120% 70% at 20% 0%, var(--bg-2) 0%, var(--bg) 62%) fixed, var(--bg);color:var(--ink);font:500 16px/1.5 var(--font);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;overflow-wrap:anywhere}[hidden]{display:none!important}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.center{min-height:100dvh;padding:24px var(--gutter) calc(24px + env(safe-area-inset-bottom));text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.welcome h1{letter-spacing:-.01em;margin:0;font-size:36px;font-weight:700}.welcome p{max-width:320px;color:var(--soft);margin:0}.big{background:linear-gradient(135deg, var(--pink), var(--violet));border:0;border-radius:29px;width:100%;max-width:360px;min-height:58px;font-size:17px;font-weight:600;box-shadow:0 10px 30px #9b5bff59}.big:disabled{opacity:.6}.secondary{border:1px solid var(--line);color:var(--soft);background:0 0;border-radius:22px;padding:10px 20px}.app{flex-direction:column;height:100dvh;display:flex}.app>main,.app>main>div:not([hidden]){flex-direction:column;flex:1;min-height:0;display:flex}.bar{padding:calc(8px + env(safe-area-inset-top)) var(--gutter) 6px;flex:none;justify-content:space-between;align-items:center;gap:10px;display:flex}.brand{letter-spacing:-.01em;background:0 0;border:0;align-items:center;gap:8px;padding:4px 0;font-size:20px;font-weight:700;display:flex}.bar-actions{align-items:center;gap:8px;min-width:0;display:flex}.pill{border:1px solid var(--line);background:var(--card);color:var(--soft);white-space:nowrap;border-radius:20px;padding:7px 14px;font-size:13.5px;font-weight:600}.me{position:relative}.me summary{color:#17122f;cursor:pointer;background:linear-gradient(135deg,#7cf5ff,#5b6cff);border-radius:50%;place-items:center;width:34px;height:34px;font-weight:700;list-style:none;display:grid}.me summary::-webkit-details-marker{display:none}.me .menu{z-index:5;min-width:220px;max-width:calc(100vw - 2 * var(--gutter));border:1px solid var(--line);background:#241c4f;border-radius:16px;padding:12px;position:absolute;top:42px;right:0;box-shadow:0 16px 40px #00000073}.me .menu p{color:var(--soft);text-overflow:ellipsis;white-space:nowrap;margin:0 0 10px;font-size:14px;overflow:hidden}.me .menu button{background:var(--card);border:0;border-radius:12px;width:100%;padding:10px;font-weight:600}.talk{flex-direction:column;flex:1;min-height:0;display:flex}.stage{min-height:0;padding:8px var(--gutter) 0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;width:100%;max-width:640px;margin:0 auto;display:flex}.hello{text-align:center;max-width:340px;animation:.4s both rise}.hello h1{letter-spacing:-.01em;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:26px;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.hello p{color:var(--soft);margin:6px 0 0}.talk.focus .stage{grid-template-rows:auto minmax(0,1fr);grid-template-columns:56px minmax(0,1fr);place-content:start stretch;align-items:start;gap:14px 12px;display:grid}.talk.focus .pip-spot{grid-area:1/1}.talk.focus .answer{grid-area:1/2}.talk.focus .frame{grid-area:2/1/auto/-1;place-self:center}.talk.focus.reading .answer{grid-row:1/-1;height:100%;min-height:0}.pip-spot{place-items:center;display:grid}.answer{flex-direction:column;gap:6px;min-width:0;animation:.35s both rise;display:flex}.asked{color:var(--faint);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:14px;font-weight:600;overflow:hidden}.said-box{--lh:1.5em;font-size:var(--read);line-height:var(--lh);max-height:calc(var(--lh) * 4);overflow:hidden}.said-box.clipped{-webkit-mask-image:linear-gradient(transparent, #000 var(--lh));-webkit-mask-image:linear-gradient(transparent, #000 var(--lh));mask-image:linear-gradient(transparent, #000 var(--lh))}.said{color:#fffffff0;margin:0;font-weight:500}.talk.reading .said-box{overscroll-behavior:contain;flex:0 auto;min-height:0;max-height:none;padding-right:4px;overflow-y:auto;-webkit-mask-image:none;mask-image:none}.read-all{color:var(--accent);background:0 0;border:0;align-self:flex-start;padding:2px 0;font-size:14px;font-weight:600}.dock{padding:12px var(--gutter) calc(16px + env(safe-area-inset-bottom));flex-direction:column;flex:none;align-items:center;gap:8px;display:flex}.mic{background:linear-gradient(135deg, var(--pink), var(--violet));color:#fff;border:0;border-radius:50%;place-items:center;width:78px;height:78px;transition:transform .15s,background .3s;display:grid;position:relative;box-shadow:0 12px 30px #9b5bff73}.talk{--level:0}.mic:active{transform:scale(.94)}.mic:disabled{opacity:.7}.mic svg{z-index:1;position:relative}.mic .ring{pointer-events:none;border:3px solid #0000;border-radius:50%;transition:transform .1s linear,border-color .3s;position:absolute;inset:-8px}.mic.on{background:#3a2f78;box-shadow:0 10px 26px #0006}.talk.state-listening .mic .ring{transform:scale(calc(1 + var(--level) * .35));border-color:#7cf5ffd9}.talk.state-connecting .mic .ring,.talk.state-thinking .mic .ring{border-color:#fff9 #0000 #fff9 #fff9;animation:.9s linear infinite spin}.talk.state-talking .mic .ring{border-color:#ff5fa2cc;animation:1.2s ease-in-out infinite pulse}.status{min-height:21px;color:var(--soft);text-align:center;max-width:340px;margin:0;font-size:14px;font-weight:600}.fine{color:var(--faint);text-align:center;max-width:360px;margin:0;font-size:12.5px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.12)}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.pip{aspect-ratio:1;flex:none;width:min(52vw,220px,32dvh);transition:width .4s cubic-bezier(.2,.8,.2,1);position:relative}.pip svg{display:block;overflow:visible}.talk.focus .pip{width:56px}.frame{aspect-ratio:1;color:#2a1f5c;background:#fff;border-radius:26px;flex:none;width:min(100%,560px,100dvh - 400px);animation:.35s cubic-bezier(.2,.9,.3,1.2) both pop;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ffffff24,0 18px 44px #00000073}.frame>*{width:100%;height:100%;position:absolute;inset:0}.frame-wait{text-align:center;background:linear-gradient(110deg,#f1ecff 30%,#fff 50%,#f1ecff 70%) 0 0/300% 100%;place-items:center;margin:0;padding:16px;font-size:16px;font-weight:600;animation:1.6s linear infinite shimmer;display:grid}.frame-drawing{object-fit:contain;background:#fff;padding:4%}.frame iframe{background:#000;border:0}.frame-close{color:#fff;background:#17122fe6;border:0;border-radius:18px;width:auto;height:auto;padding:8px 14px;font-size:14px;font-weight:600;inset:auto 10px 10px auto}.frame-thumb{text-align:left;background:#000;border:0;padding:0}.frame-thumb img{object-fit:cover;opacity:.92;width:100%;height:100%;position:absolute;inset:0}.frame-thumb .play{color:#17122f;background:#ffffffeb;border-radius:50%;place-items:center;width:68px;height:68px;font-size:26px;display:grid;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 24px #00000059}.frame-thumb .title{color:#fff;background:linear-gradient(#0000,#000000d1);padding:28px 14px 12px;font-size:15px;font-weight:600;line-height:1.35;position:absolute;bottom:0;left:0;right:0}.frame-thumb .title-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.frame-thumb small{opacity:.8;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:13px;font-weight:500;display:block;overflow:hidden}@keyframes pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@keyframes shimmer{to{background-position:-300% 0}}.learned{padding:4px var(--gutter) calc(24px + env(safe-area-inset-bottom));flex:1;width:100%;max-width:640px;margin:0 auto;overflow-y:auto}.learned h2{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:20px 0 8px;font-size:12px;font-weight:700}.lesson{background:var(--card);border:1px solid var(--line);border-radius:18px;margin-bottom:10px;padding:14px 16px}.lesson .where{color:var(--faint);font-size:12.5px;font-weight:600}.lesson p{margin:4px 0 10px}.lesson ul{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.lesson li{white-space:nowrap;text-overflow:ellipsis;background:#ffffff1a;border-radius:12px;max-width:100%;padding:3px 10px;font-size:13px;font-weight:600;overflow:hidden}.learned-empty{padding:48px var(--gutter);text-align:center;color:var(--soft);flex-direction:column;align-items:center;gap:12px;display:flex}.learned-empty p{margin:0}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
