:root{color-scheme:dark;--bg:#12061f;--ink:#f6ecff;--lil:#f2b8ff;--line:#a64dff66;--hot:#ff4fd8;font-family:Nunito,system-ui,sans-serif;background:var(--bg);color:var(--ink)}
.autonomy{padding:.9rem 1rem;margin:.8rem 0;border:1px solid var(--line);border-radius:18px;background:#a64dff0c}.autonomy label{display:flex;align-items:center;gap:.6rem;font-size:.8rem;font-weight:800}.autonomy input{width:18px;height:18px;accent-color:var(--hot)}.autonomy p{font-size:.78rem;margin:.55rem 0 0;opacity:.85;min-height:2.5em}
*{box-sizing:border-box}body{margin:0}html[data-maintenance-check="pending"] body{visibility:hidden}[hidden]{display:none!important}
a{color:inherit}.logo{font:400 1.6rem 'Bagel Fat One',sans-serif;text-decoration:none}header,footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:1240px;margin:auto;padding:1.2rem clamp(20px,5vw,60px)}header{border-bottom:1px solid var(--line)}
main{max-width:1240px;margin:auto;padding:clamp(2rem,6vw,5rem) clamp(20px,5vw,60px)}.intro{max-width:760px;margin-bottom:2rem}.eyebrow{font-size:.8rem;letter-spacing:.13em;text-transform:uppercase;color:var(--lil);font-weight:800}h1,h2{font-family:'Bagel Fat One',sans-serif;font-weight:400}h1{font-size:clamp(2.7rem,7vw,5.5rem);line-height:1;margin:.8rem 0 1.2rem}p{line-height:1.6}.intro p{max-width:38em;opacity:.8}
.experience{overflow:hidden;border:1px solid var(--line);border-radius:32px;background:#1c0b30;box-shadow:0 30px 90px #0004}.viewport{position:relative;height:clamp(390px,60vh,650px);background:radial-gradient(ellipse at 50% 70%,#64358e55,transparent 65%),#160824}.viewport canvas{display:block;width:100%;height:100%;touch-action:none}.welcome{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.5rem}.welcome img{width:140px;height:110px;object-fit:contain}.welcome h2{font-size:2rem;margin:.5rem}.welcome p{max-width:27em;margin:.5rem 0 1.5rem;opacity:.75}.scene-label{position:absolute;top:20px;left:20px;border:1px solid var(--line);background:#12061fcc;border-radius:99px;padding:.5rem .9rem;font-size:.8rem;pointer-events:none}.scene-label span{color:#b4fdc1;margin-right:.35rem}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.8rem;border:2px solid var(--lil);border-radius:99px;background:var(--lil);color:#2a0f3d;padding:.8rem 1.25rem;font:800 1rem Nunito,system-ui,sans-serif;cursor:pointer;text-decoration:none;min-height:44px}.button.outline{background:transparent;border-color:var(--line);color:var(--ink)}.button.outline[aria-pressed="true"]{background:var(--lil);color:#2a0f3d;border-color:var(--lil)}.button:disabled{opacity:.4;cursor:default}.button:not(:disabled):hover{border-color:var(--hot)}.button.small{padding:.5rem 1rem;font-size:.9rem}.button:focus-visible,select:focus-visible{outline:3px solid var(--hot);outline-offset:3px}
.controls{padding:clamp(1rem,3vw,2rem);border-top:1px solid var(--line)}.status{margin:0 0 1rem;min-height:1.5em;color:var(--lil);font-weight:800}.animation-buttons,.extra-controls{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.extra-controls{margin-top:1rem}.extra-controls label{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.extra-controls select{background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:.5rem;font:inherit}.hint,.footnote{font-size:.85rem;opacity:.65}.hint{margin:1.2rem 0 0}.footnote{margin:1.5rem 0}footer{border-top:1px solid var(--line);padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0px))}footer small{opacity:.5}
.expression{padding:1rem 1.2rem;margin-bottom:1.2rem;border:1px solid var(--line);border-radius:18px;background:linear-gradient(120deg,#a64dff22,#ff4fd811)}.expression>span{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--lil)}.expression p{margin:.4rem 0 0}.original-motions{margin-top:1rem}.original-motions summary{cursor:pointer;font-size:.85rem;opacity:.75;padding:.5rem 0}.original-motions[open] .animation-buttons{margin-top:.5rem}
@media(max-width:600px){header .button{padding:.5rem .8rem;font-size:.8rem}.animation-buttons .button{flex:1 0 40%}.viewport{height:460px}.experience{border-radius:22px}}
.model-error{margin:0 0 1.2rem;padding:.8rem 1rem;border:1px solid var(--line);border-radius:16px}.model-error summary{cursor:pointer;font-size:.9rem}.model-error pre{font:inherit;font-size:.8rem;white-space:pre-wrap;overflow-wrap:anywhere}
header,footer,main{max-width:1440px}.lab-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr);gap:1.25rem;align-items:start}.lab-layout>.experience{min-width:0}.lab-layout .viewport{height:560px}.chat-panel{min-width:0;padding:clamp(1rem,2.5vw,1.6rem);border:1px solid var(--line);border-radius:28px;background:linear-gradient(150deg,#26103b,#190a2a);position:sticky;top:16px}.chat-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.chat-heading .eyebrow{font-size:.62rem;letter-spacing:.09em}.chat-heading h2{font-size:clamp(1.7rem,3vw,2.2rem);line-height:1.1;margin:.45rem 0}.chat-badge{border:1px solid var(--line);border-radius:12px;padding:.4rem .6rem;font-size:.8rem;color:var(--lil)}.chat-intro{font-size:.9rem;opacity:.8;margin:.7rem 0 1rem}.chat-account{display:flex;gap:.6rem;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:1px solid var(--line);font-size:.8rem;overflow-wrap:anywhere}.chat-account .button{font-size:.78rem;padding:.4rem .7rem;flex-shrink:0}.chat-messages{height:clamp(240px,35vh,390px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a64dff66 transparent;display:flex;flex-direction:column;align-items:flex-start;gap:.8rem;padding:1rem .2rem}.chat-message{max-width:95%;padding:.8rem 1rem;border:1px solid var(--line);border-radius:18px 18px 18px 5px;background:#ffffff06}.chat-message small{display:block;color:var(--lil);font-size:.68rem;font-weight:800;margin-bottom:.3rem}.chat-message p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9rem;margin:0}.chat-message.user{align-self:flex-end;border-color:#a64dff88;background:#a64dff24;border-radius:18px 18px 5px 18px}.chat-message.failed{border-style:dashed;opacity:.65}.chat-message .delivery{font-size:.7rem;opacity:.8;margin-top:.4rem}.chat-suggestions{display:flex;flex-wrap:wrap;gap:.4rem;margin:.3rem 0 1rem}.chat-suggestions button{font:700 .72rem Nunito,system-ui,sans-serif;padding:.4rem .65rem;border:1px solid var(--line);border-radius:999px;color:var(--lil);background:#a64dff12;cursor:pointer}.chat-form{display:grid;gap:.5rem}.chat-form label{font-size:.8rem;font-weight:800}.chat-form textarea,#ul input{width:100%;min-width:0;border:1px solid #a64dff88;border-radius:16px;background:#12061f;color:var(--ink);padding:.85rem;font:600 1rem/1.5 Nunito,system-ui,sans-serif;resize:vertical;max-height:180px}.chat-form textarea:focus-visible,#ul input:focus-visible{outline:2px solid var(--hot);outline-offset:2px}.chat-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem}.chat-actions small{opacity:.55;font-size:.7rem}.chat-actions .button{padding:.6rem 1.1rem;min-height:44px;font-size:.9rem}.chat-status{min-height:1.6em;font-size:.8rem;color:var(--lil);margin:.8rem 0}.chat-bottom{display:flex;justify-content:space-between;gap:1rem;font-size:.75rem}.chat-clear{background:none;border:0;padding:0;color:var(--lil);font:inherit;text-decoration:underline;cursor:pointer}.chat-bottom a{opacity:.7}.chat-privacy{font-size:.67rem;opacity:.6;line-height:1.6;margin:.7rem 0 0}.chat-status[data-error="true"]{color:#ffbddf}#ul{width:min(92vw,420px);background:#12061f;color:var(--ink);border:2px solid var(--line);border-radius:24px;padding:1.5rem}#ul::backdrop{background:#08010ed9}#ulf{display:grid;gap:.7rem}#ulf h2{font-size:2rem;margin:0 0 .4rem}#ulf label{font-size:.85rem}#um{font-size:.85rem;margin:.2rem 0}.chat-suggestions button:focus-visible,.chat-clear:focus-visible{outline:2px solid var(--hot);outline-offset:3px}
@media(max-width:960px){.lab-layout{grid-template-columns:1fr}.chat-panel{position:static}.chat-messages{height:320px}.lab-layout .viewport{height:440px}}
@media(max-width:600px){.lab-layout .viewport{height:380px}.chat-panel{border-radius:22px}.chat-messages{height:300px}.chat-account .button{flex:0 0 auto}}
.chat-voice{padding:.9rem 0;border-bottom:1px solid var(--line)}.voice-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.voice-actions .button{font-size:.78rem;padding:.4rem .8rem}.voice-link{font:700 .75rem Nunito,system-ui,sans-serif;color:var(--lil);background:none;border:0;text-decoration:underline;cursor:pointer;padding:.35rem 0;min-height:40px}.voice-link:disabled{opacity:.4;cursor:default}.voice-link:focus-visible{outline:2px solid var(--hot);outline-offset:3px}.voice-choice{display:flex;align-items:center;gap:.6rem;font-size:.7rem;margin-top:.6rem;flex-wrap:wrap}.voice-choice select{min-width:0;max-width:100%;flex:1;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:10px;padding:.45rem;font:inherit}#voice-status{font-size:.7rem;opacity:.8;line-height:1.5;margin:.5rem 0 0}
