:root{color-scheme:light;--voice-level:0}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}
body{font-family:ui-rounded,system-ui,sans-serif;background:#f2eef5}
.universe{position:relative;width:100%;height:100%;height:100svh;min-height:280px;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 50% 44%,#fcf9f1 0%,#f8f5f2 30%,#f2eef5 68%,#eee9f5 100%)}
.companion{position:absolute;left:50%;top:48%;width:min(560px,90vw,80svh);aspect-ratio:1;transform:translate(-50%,-50%)}
.star-button{position:absolute;inset:0;display:block;padding:0;border:0;border-radius:44%;background:transparent;user-select:none;-webkit-touch-callout:none;touch-action:none;cursor:pointer;outline:none}
.star-button:focus-visible{outline:2px solid #c4b0d0;outline-offset:-22px}
.star-button canvas{display:block;position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}
.webgl-ready .star-button canvas{opacity:1}
.fallback-star{position:absolute;inset:6%;filter:drop-shadow(0 17px 12px #bba07d30);pointer-events:none}
.fallback-star svg{display:block;width:100%;height:100%}
.webgl-ready .fallback-star{opacity:0;visibility:hidden}
.star-shadow{position:absolute;bottom:5%;left:29%;width:42%;height:3.5%;border-radius:50%;background:#b3a0b921;filter:blur(16px);pointer-events:none}
body[data-state=thinking] .star-button{cursor:wait}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(min-width:1600px){.companion{width:min(630px,74svh)}}
@media(max-width:600px){.companion{top:47%;width:min(440px,108vw,78svh)}.star-shadow{filter:blur(12px)}}
@media(max-height:500px) and (min-width:601px){.companion{top:48%;width:85svh}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.star-button{transform:none!important}}
