:root{--ink: #f4ead8;--ink-dim: rgba(244, 234, 216, .6);--panel: rgba(12, 10, 8, .86)}*{box-sizing:border-box}html,body{margin:0;height:100%;background:#000;overflow:hidden}body{font-family:Georgia,Times New Roman,serif;color:var(--ink)}#stage{position:fixed;inset:0}#stage canvas{display:block;width:100%;height:100%}.poster{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;object-position:0% 35%;transition:opacity .6s ease;z-index:1;pointer-events:none}.poster.gone{opacity:0}.subtitle{position:fixed;left:0;right:0;bottom:max(16vh,130px);z-index:3;text-align:center;font-size:clamp(20px,2.4vw,34px);letter-spacing:.02em;text-shadow:0 2px 10px rgba(0,0,0,.9),0 0 2px #000;opacity:0;transform:translateY(6px);transition:opacity .9s ease,transform .9s ease;pointer-events:none}.subtitle.show{opacity:1;transform:none}.sound-hint{position:fixed;left:20px;bottom:18px;z-index:3;font:13px/1 system-ui,sans-serif;color:var(--ink-dim);background:#00000073;border:1px solid rgba(244,234,216,.25);border-radius:999px;padding:8px 14px;cursor:pointer}.sound-hint:hover{color:var(--ink)}.error{position:fixed;inset:0;display:grid;place-items:center;z-index:5;font:15px/1.5 system-ui,sans-serif;color:var(--ink);background:#000;padding:24px;text-align:center}.debug{position:fixed;top:10px;right:10px;width:340px;max-height:calc(100vh - 20px);overflow:auto;z-index:10;background:var(--panel);border:1px solid #333;border-radius:8px;font:11px/1.35 ui-monospace,Menlo,monospace;color:#ddd;padding:8px}.debug.collapsed>:not(.debug-head){display:none}.debug button{font:inherit;background:#222;color:#eee;border:1px solid #444;border-radius:4px;padding:3px 7px;cursor:pointer}.debug-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.debug-poses{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:6px}.debug-status{color:#9cf;margin-bottom:4px}.debug-running{white-space:pre;color:#fc6;margin-bottom:6px;min-height:1.4em}.debug-behaviors{border-top:1px solid #333;border-bottom:1px solid #333;padding:6px 0;margin-bottom:6px}.debug-sub{color:#9cf;margin:6px 0 3px}.debug-try{display:flex;gap:4px}.debug-try input{flex:1;font:inherit;background:#111;color:#eee;border:1px solid #444;border-radius:4px;padding:3px 6px}.debug-decision{color:#fc6;margin-top:4px;min-height:1.2em}.debug-row{display:grid;grid-template-columns:16px 118px 1fr 36px;gap:4px;align-items:center}.debug-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.debug-row input[type=range]{width:100%}.tune{width:380px;font-size:12px;max-height:calc(100vh - 24px);overflow-y:auto}.tune select,.tune input[type=text],.tune .tune-text{font:inherit;background:#1a1a1a;color:#eee;border:1px solid #444;border-radius:4px;padding:3px;width:100%;box-sizing:border-box;margin-bottom:6px}.tune .tune-row select{width:auto;margin:0}.tune-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:6px 0}.tune-now{color:#8f8;min-height:1.4em;font-size:14px}.tune-group{margin:8px 0 2px;color:#fc6;border-top:1px solid #333;padding-top:6px}.tune-group small{color:#888}.tune-slider{display:grid;grid-template-columns:170px 1fr 48px;gap:6px;align-items:center}.tune-slider span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default}.tune [data-shapes] .tune-slider span{cursor:pointer;text-decoration:underline dotted #666}.tune-slider span.on{color:#8f8}.tune-slider b{font-weight:400;text-align:right}.tune-slider input{width:100%}.tune-custom{color:#888}.tune-out{width:100%;height:150px;box-sizing:border-box;background:#111;color:#ddd;border:1px solid #444;font:inherit}.talk{position:fixed;left:50%;bottom:22px;transform:translate(-50%);z-index:4;display:flex;flex-direction:column;align-items:center;gap:8px}.talk-btn{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--ink);background:#0000008c;border:1px solid rgba(244,234,216,.35);transition:background .2s ease,box-shadow .3s ease,border-color .2s ease}.talk-btn svg{width:26px;height:26px}.talk-btn:hover{background:#000000b3;border-color:#f4ead899}.talk-btn:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.talk-label{font:12px/1 system-ui,sans-serif;color:var(--ink-dim);letter-spacing:.04em;text-shadow:0 1px 4px #000}.talk[data-state=connecting] .talk-btn{animation:talk-pulse 1.2s ease-in-out infinite}.talk[data-state=listening] .talk-btn,.talk[data-state=thinking] .talk-btn,.talk[data-state=speaking] .talk-btn{background:#c44830d9;border-color:#ffdcc8b3;box-shadow:0 0 0 6px #c448302e}@keyframes talk-pulse{50%{box-shadow:0 0 0 8px #f4ead826}}.toast{position:fixed;left:50%;bottom:110px;transform:translate(-50%,6px);z-index:4;font:14px/1.4 system-ui,sans-serif;color:var(--ink);background:#000000b8;border-radius:8px;padding:10px 16px;max-width:min(90vw,460px);text-align:center;opacity:0;transition:opacity .3s ease,transform .3s ease;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%)}.privacy-link{position:fixed;right:16px;bottom:14px;z-index:4;cursor:pointer;font:12px/1 system-ui,sans-serif;color:var(--ink-dim);background:none;border:0;text-decoration:underline}.privacy-link:hover{color:var(--ink)}.privacy{position:fixed;right:16px;bottom:40px;z-index:6;width:min(360px,calc(100vw - 32px));font:13px/1.5 system-ui,sans-serif;color:var(--ink);background:var(--panel);border:1px solid rgba(244,234,216,.2);border-radius:10px;padding:6px 16px 14px}.privacy p{margin:10px 0}.privacy-close{font:inherit;color:var(--ink);background:#222;border:1px solid #444;border-radius:6px;padding:4px 12px;cursor:pointer}.breather{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(ellipse at 50% 40%,#1e1812d1,#000000f0 70%);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .32s ease}.breather.show{opacity:1}.breather[hidden]{display:none}.breather-card{max-width:440px;text-align:center;transform:translateY(8px);transition:transform .42s ease}.breather.show .breather-card{transform:none}.breather-logo{width:clamp(120px,34vw,168px);height:auto;display:block;margin:0 auto 18px;filter:drop-shadow(0 0 22px rgba(255,245,220,.18));animation:breather-breathe 4.8s ease-in-out infinite}@keyframes breather-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.035)}}.breather-title{font-size:clamp(26px,6vw,36px);font-weight:400;letter-spacing:.01em;margin:0 0 12px}.breather-text{font-size:clamp(16px,4vw,18px);line-height:1.5;color:var(--ink-dim);margin:0 0 18px}.breather-place{font:15px/1.4 system-ui,sans-serif;color:var(--ink);margin:0 0 22px;min-height:1.4em}.breather-place strong{font-size:18px}.breather-dots i{font-style:normal;animation:breather-dot 1.4s infinite;opacity:.2}.breather-dots i:nth-child(2){animation-delay:.2s}.breather-dots i:nth-child(3){animation-delay:.4s}@keyframes breather-dot{0%,to{opacity:.2}40%{opacity:1}}.breather-btn{font:14px/1 system-ui,sans-serif;color:var(--ink);background:transparent;border:1px solid rgba(244,234,216,.35);border-radius:999px;padding:11px 22px;cursor:pointer}.breather-btn:hover{border-color:var(--ink)}@media (prefers-reduced-motion: reduce){.breather-logo,.breather-dots i{animation:none;opacity:1}}
