:root{--bg: #14100c;--bg-panel: rgba(0, 0, 0, .55);--ink: #f2ece2;--ink-dim: #a89e90;--accent: #d8a657;--student: #8fbcd4;--caption-size: clamp(1rem, 1.5vw, 1.6rem);--label-size: clamp(.7rem, .85vw, .9rem)}*{box-sizing:border-box}html{background:var(--bg)}html,body{height:100%;margin:0;background:transparent;color:var(--ink);font-family:Heebo,Assistant,Rubik,system-ui,-apple-system,sans-serif;overflow:hidden;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}body:before{content:"";position:fixed;inset:-4%;z-index:-2;background-image:url(/scene/aliza-begin-living-room.jpg);background-size:cover;background-position:center 40%;background-repeat:no-repeat;filter:blur(7px) saturate(.85) brightness(.72);transform:scale(1.04);pointer-events:none}body:after{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(to left,rgba(10,10,12,.72) 0%,rgba(10,10,12,.3) 45%,transparent 70%),radial-gradient(ellipse 85% 80% at 30% 45%,transparent 35%,rgba(10,10,12,.55) 100%);pointer-events:none}.school-logo{position:absolute;top:clamp(.9rem,2vh,1.8rem);inset-inline-start:clamp(.9rem,2vw,2rem);z-index:2;height:clamp(86px,13.7vh,168px);width:auto;opacity:.82;filter:drop-shadow(0 2px 6px rgba(0,0,0,.55));pointer-events:none;-webkit-user-select:none;user-select:none}.stage{position:relative;direction:ltr;display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;height:100dvh;width:100%}.stage>.avatar{grid-column:1;grid-row:1}.stage>.captions{grid-column:2;grid-row:1}.stage>.status-bar{direction:rtl;display:flex;align-items:baseline;justify-content:space-between;gap:1rem;grid-column:1 / -1;grid-row:2}@media(max-width:900px),(orientation:portrait){.stage{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto auto}.stage>.avatar{grid-column:1;grid-row:1}.stage>.captions{grid-column:1;grid-row:2}.stage>.status-bar{grid-column:1;grid-row:3}}.avatar{direction:ltr;position:relative;min-height:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse 60% 55% at 50% 45%,rgba(216,166,87,.1),transparent 70%)}.avatar canvas{display:block;max-width:100%;max-height:100%}.placeholder-avatar{width:100%;height:100%}.photo{margin:.9rem 0 .2rem;padding:.6rem .6rem .5rem;background:#f7f5f1;border-radius:2px;box-shadow:0 1px 2px #00000059,0 10px 24px #00000073;transform:rotate(-.6deg);width:fit-content;max-width:100%;direction:rtl}.photo img{display:block;width:100%;max-width:340px;height:auto;border-radius:1px}.photo__caption{margin:.5rem .15rem 0;color:#2a2724;font-size:clamp(.72rem,.95vw,.92rem);line-height:1.35;max-width:340px}.photo__credit{margin:.2rem .15rem 0;color:#6b655d;font-size:clamp(.58rem,.72vw,.72rem);line-height:1.3;max-width:340px}.ask-prompt{position:absolute;z-index:3;right:clamp(1.25rem,3vw,3rem);bottom:clamp(2.2rem,5vh,3.5rem);display:none;align-items:center;gap:.85rem;padding:.85rem 1.4rem;border-radius:999px;background:#100d0ab8;border:1px solid rgba(216,166,87,.45);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 6px 24px #00000073;pointer-events:none}.stage[data-state=idle] .ask-prompt{display:flex;animation:ask-breathe 2.6s ease-in-out infinite}.ask-prompt__key{font-family:inherit;font-size:clamp(.85rem,1.1vw,1.05rem);color:var(--bg);background:var(--accent);border-radius:7px;padding:.35em .9em;white-space:nowrap;font-weight:600}.ask-prompt__text{font-size:clamp(1rem,1.5vw,1.5rem);color:var(--ink);white-space:nowrap}@keyframes ask-breathe{0%,to{transform:scale(1);opacity:.88}50%{transform:scale(1.035);opacity:1}}@media(prefers-reduced-motion:reduce){.stage[data-state=idle] .ask-prompt{animation:none}}@media(max-width:900px),(orientation:portrait){.ask-prompt{left:0;right:0;margin-inline:auto;width:fit-content;bottom:clamp(3rem,7vh,5rem)}}.captions{direction:rtl;min-height:0;overflow-y:auto;scrollbar-width:none;padding:clamp(1rem,3vh,2.5rem) clamp(1.25rem,3vw,3rem);padding-bottom:clamp(5.5rem,11vh,7.5rem);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 18%,#000 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 18%,#000 100%);scroll-behavior:smooth}.transcript{display:flex;flex-direction:column;gap:.85rem;min-height:100%;justify-content:flex-end}.transcript>.caption:not(:nth-last-child(-n+2)){opacity:.45}.caption{transition:opacity .4s ease}@media(prefers-reduced-motion:reduce){.captions{scroll-behavior:auto}.caption{transition:none}}@media(max-width:900px),(orientation:portrait){.captions{justify-content:flex-start;min-height:22dvh;max-height:34dvh}}.captions::-webkit-scrollbar{display:none}.caption{background:var(--bg-panel);border-radius:1rem;padding:.85rem 1.5rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.caption__label{display:block;font-size:var(--label-size);letter-spacing:.08em;color:var(--ink-dim);margin-bottom:.3rem}.caption__text{margin:0;font-size:var(--caption-size);line-height:1.35;font-weight:500;text-wrap:balance}.caption--student{border-inline-start:6px solid var(--student)}.caption--student .caption__text{color:var(--student)}.caption--student.is-interim .caption__text{opacity:.6;font-style:italic}.caption--aliza{border-inline-start:6px solid var(--accent)}.status-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem clamp(1.5rem,5vw,5rem) 1rem;font-size:clamp(.8rem,1.1vw,1.05rem);color:var(--ink-dim);height:calc(clamp(.8rem,1.1vw,1.05rem)*1.5 + 1.6rem);box-sizing:border-box}.status:after{content:"​"}.status{margin:0;display:flex;align-items:center;gap:.5rem}.status:before{content:"";width:.6em;height:.6em;border-radius:50%;background:currentColor;opacity:.35}[data-state=idle] .status:before{display:none}[data-state=listening] .status{color:var(--student)}[data-state=listening] .status:before{opacity:1;animation:pulse 1.6s ease-in-out infinite}[data-state=thinking] .status:before{opacity:1;animation:pulse .7s ease-in-out infinite}[data-state=speaking] .status{color:var(--accent)}[data-state=speaking] .status:before{opacity:1}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.4}}.disclaimer{margin:0;text-align:end;opacity:.75}.gate{position:fixed;inset:0;display:grid;place-items:center;background:var(--bg);padding:2rem;transition:opacity .4s ease;z-index:10}.gate.is-hidden{opacity:0;pointer-events:none}.gate__panel{max-width:46rem;text-align:center}.gate__logo{display:block;margin:0 auto 1.75rem;height:clamp(120px,20vh,230px);width:auto}.gate__title{font-size:clamp(2.5rem,6vw,5rem);margin:0 0 1.5rem;color:var(--accent);font-weight:600}.gate__disclaimer{font-size:clamp(1rem,1.6vw,1.4rem);line-height:1.6;color:var(--ink-dim);margin:0 0 2.5rem}.gate__button{font:inherit;font-size:clamp(1.2rem,2vw,1.8rem);padding:1rem 3rem;border:2px solid var(--accent);border-radius:999px;background:transparent;color:var(--accent);cursor:pointer;transition:background .2s ease,color .2s ease}.gate__button:hover:not(:disabled),.gate__button:focus-visible{background:var(--accent);color:var(--bg)}.gate__button:disabled{opacity:.4;cursor:not-allowed}.credit{direction:rtl;margin:0;color:var(--ink-faint, rgba(233, 226, 214, .3));font-size:clamp(.6rem,.72vw,.75rem);letter-spacing:.04em;white-space:nowrap}.gate__version{margin:1.4rem 0 0;color:var(--ink-faint, rgba(233, 226, 214, .35));font-size:.7rem;letter-spacing:.05em;font-variant-numeric:tabular-nums}.gate__error{margin:1.5rem 0 0;color:#e08c7d;font-size:clamp(.95rem,1.4vw,1.2rem);line-height:1.5}@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important}}
