:root{--apricot:#f2a96b;--apricot-deep:#e08a4f;--teal:#2f6f73;--teal-light:#5fa3a3;--plum:#7b5a8c;--mustard:#e8b54a;--cream:#f7eedc;--ink:#232a3d;--wall-top:#2b3452;--wall-bottom:#3e3557;--floor:#4b3548;--wood:#b77a4e;--wood-dark:#8a5634;--grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none;height:100%;overflow:hidden}body{background:var(--ink);color:var(--cream);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;margin:0;font:17px/1.4 ui-rounded,SF Pro Rounded,system-ui,sans-serif}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0}.room{padding:max(2.4vh, env(safe-area-inset-top)) max(2vw, env(safe-area-inset-right)) max(1.6vh, env(safe-area-inset-bottom)) max(2vw, env(safe-area-inset-left));background:radial-gradient(60vw 50vh at 18% 30%, #f2a96b38, transparent 70%), linear-gradient(to bottom, transparent 76%, var(--floor) 76.2%, #3a2a3c 100%), linear-gradient(to bottom, var(--wall-top), var(--wall-bottom));grid-template-rows:1fr 24vh;grid-template-columns:25vw 1fr 19vw;display:grid;position:fixed;inset:0}.room:after{content:"";background-image:var(--grain);opacity:.16;mix-blend-mode:overlay;pointer-events:none;position:absolute;inset:0}.lamp{display:none}.window-frame{aspect-ratio:3/2;z-index:1;background:linear-gradient(160deg,#fbf2e2,#e9d6b8);border-radius:48% 48% 3vh 3vh/30% 30% 3vh 3vh;grid-area:1/2;place-self:end center;width:min(100%,106.8vh);padding:1.6vh;position:relative;box-shadow:0 2vh 5vh #0a0c1973,inset 0 -.6vh #8a563440}.window{isolation:isolate;background:#26303a;border-radius:48% 48% 1.6vh 1.6vh/30% 30% 1.6vh 1.6vh;width:100%;height:100%;position:relative;overflow:hidden;box-shadow:inset 0 0 0 .5vh #2b345259}.window .picture{width:100%;height:100%;transition:opacity .6s,transform .9s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0}.window .picture.entering{opacity:0;transform:scale(1.03)}.window .picture.leaving{opacity:0}.sill{background:linear-gradient(var(--wood), var(--wood-dark));z-index:2;border-radius:1vh;grid-area:1/2;place-self:end center;width:calc(min(100%,106.8vh) + 4vw);height:2.6vh;margin-bottom:-1.6vh;box-shadow:0 1.2vh 2vh #0a0c1966}.guide-spot{aspect-ratio:640/600;z-index:3;grid-area:1/1/3;place-self:end start;width:25vw;margin-bottom:2vh;margin-left:-1vw;position:relative}.guide-spot canvas,.guide-spot img{width:100%;height:100%;display:block}.guide-spot img{object-fit:contain;object-position:bottom}.controls{grid-area:2/2;justify-content:center;align-items:center;gap:4vw;padding-top:1vh;display:flex}.mic{background:radial-gradient(circle at 35% 30%, #f8c08d, var(--apricot) 55%, var(--apricot-deep));width:min(19vh,164px);height:min(19vh,164px);color:var(--cream);border-radius:50%;transition:background .4s,transform .15s,box-shadow .15s;position:relative;box-shadow:0 1vh #b8693a,0 2vh 4vh #0a0c1973}.mic .glyph{width:52%;height:52%;transition:opacity .3s,transform .3s;position:absolute;inset:24%}.mic .wave-glyph,.mic .moon-glyph{opacity:0;transform:scale(.6)}.mic.pressed,.follow.pressed,.wonder.pressed{animation:.32s press}@keyframes press{30%{transform:scale(.9)translateY(4px)}70%{transform:scale(1.04)}}[data-phase=idle] .mic{animation:3.2s ease-in-out infinite breathe}@keyframes breathe{50%{transform:scale(1.05);box-shadow:0 1vh #b8693a,0 2vh 6vh #f2a96b8c}}.mic .rings{pointer-events:none;position:absolute;inset:0}.mic .rings i{border:.6vh solid var(--teal-light);opacity:0;border-radius:50%;position:absolute;inset:0}[data-phase=listening] .mic,[data-phase=connecting] .mic{background:radial-gradient(circle at 35% 30%, #4f9a9b, var(--teal) 60%, #24585b);box-shadow:0 1vh #1d4648,0 2vh 5vh #5fa3a373}[data-phase=listening] .mic .rings i{animation:2.4s ease-out infinite ring}[data-phase=listening] .mic .rings i:nth-child(2){animation-delay:.8s}[data-phase=listening] .mic .rings i:nth-child(3){animation-delay:1.6s}[data-hearing=true] .mic .rings i{border-color:var(--mustard);animation-duration:1.1s!important}@keyframes ring{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.75)}}.mic .dots{opacity:0;justify-content:center;align-items:center;gap:8%;display:flex;position:absolute;inset:0}.mic .dots i{background:var(--cream);border-radius:50%;width:13%;height:13%;animation:1.1s ease-in-out infinite dot}.mic .dots i:nth-child(2){animation-delay:.15s}.mic .dots i:nth-child(3){animation-delay:.3s}@keyframes dot{40%{opacity:1;transform:translateY(-40%)}0%,80%,to{opacity:.55}}[data-phase=thinking] .mic{background:radial-gradient(circle at 35% 30%, #a383b3, var(--plum) 60%, #5b4068);box-shadow:0 1vh #4a3356,0 2vh 5vh #7b5a8c80}[data-phase=thinking] .mic .dots,[data-pondering=true] .mic .dots{opacity:1}[data-pondering=true] .mic .mic-glyph{opacity:0;transform:scale(.6)}[data-pondering=true] .mic .rings i{opacity:0;animation:none!important}[data-phase=thinking] .mic .mic-glyph{opacity:0;transform:scale(.6)}[data-phase=speaking] .mic,[data-phase=aside] .mic,[data-local=true] .mic{background:radial-gradient(circle at 35% 30%, #a383b3, var(--plum) 60%, #5b4068);animation:none;box-shadow:0 1vh #4a3356,0 2vh 5vh #7b5a8c80}[data-phase=speaking] .mic .mic-glyph,[data-phase=aside] .mic .mic-glyph,[data-local=true] .mic .mic-glyph{opacity:0;transform:scale(.6)}[data-phase=speaking] .mic .wave-glyph,[data-phase=aside] .mic .wave-glyph,[data-local=true] .mic .wave-glyph{opacity:1;transform:none}.wave-glyph path{transform-origin:50%;animation:.9s ease-in-out infinite wave}@keyframes wave{50%{transform:scaleY(.6)}}[data-phase=offline] .mic{background:radial-gradient(circle at 35% 30%,#8b93a6,#626a7e 60%,#4a5062);animation:none;box-shadow:0 1vh #383d4c,0 2vh 4vh #0a0c1973}[data-phase=offline] .mic .mic-glyph{opacity:0}[data-phase=offline] .mic .moon-glyph{opacity:1;color:var(--mustard);transform:none}.follow{opacity:0;pointer-events:none;border-radius:50%;place-items:center;width:min(12.5vh,108px);height:min(12.5vh,108px);transition:transform .45s cubic-bezier(.3,1.6,.5,1),opacity .3s;display:grid;transform:scale(0)}.follow svg{width:56%;height:56%}.follow.why{background:radial-gradient(circle at 35% 30%, #fffaf0, var(--cream) 60%, #e8d6b6);color:var(--teal);box-shadow:0 .8vh #b99a6c,0 1.6vh 3vh #0a0c1966}.follow.more{background:radial-gradient(circle at 35% 30%, #f3cd78, var(--mustard));color:#fff8e6;box-shadow:0 .8vh #a97c24,0 1.6vh 3vh #0a0c1966}[data-followups=true] .follow{opacity:1;pointer-events:auto;animation:1.6s ease-in-out .5s 2 offer;transform:scale(1)}@keyframes offer{50%{transform:scale(1.12);box-shadow:0 .8vh #00000040,0 0 4vh #ffdca099}}[data-followups=true] .follow.more{transition-delay:.12s}.shelf{background:linear-gradient(90deg,#0000002e,#00000014);border-radius:2vh;grid-area:1/3/3;margin:3vh 0 4vh 1.5vw;position:relative;box-shadow:inset 0 0 0 .6vh #b77a4e8c}.planks{pointer-events:none;grid-template-rows:repeat(3,1fr);display:grid;position:absolute;inset:0}.planks i{background:linear-gradient(var(--wood), var(--wood-dark));border-radius:.6vh;align-self:end;height:2vh;margin:0 -.4vw;box-shadow:0 .8vh 1.2vh #0a0c1959}.shelf-items{z-index:1;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(2,1fr);padding:0 .8vw;display:grid;position:absolute;inset:0}.wonder{aspect-ratio:1;background:var(--cream);border-radius:50%;place-self:end center;width:min(8vw,13vh);margin-bottom:2vh;position:relative;box-shadow:0 .6vh #8a563499,0 1vh 1.6vh #0a0c1959}.wonder.first-load{animation:.6s cubic-bezier(.3,1.6,.5,1) both arrive;animation-delay:calc(var(--i) * 40ms)}.wonder.new{animation:.7s cubic-bezier(.3,1.6,.5,1) both arrive}.shelf .spot{aspect-ratio:1;background:#0000001f;border:.35vh dashed #f7eedc2e;border-radius:50%;place-self:end center;width:min(8vw,13vh);margin-bottom:2vh}.wonder .wonder-bg{background:#2b3a55;border-radius:50%;position:absolute;inset:7%}.wonder .bg-day{background:linear-gradient(#a9d3cf,#f5d7b0)}.wonder .bg-night{background:linear-gradient(#24365a,#6b4d78)}.wonder .bg-sea{background:linear-gradient(#5c9fa6,#2f6f73)}.wonder .bg-land{background:linear-gradient(#f3d2a4,#8db08a)}.wonder .bg-cozy{background:radial-gradient(#f7c38f,#8a5f86)}.wonder img{object-fit:contain;width:72%;height:72%;position:absolute;inset:14%}.shelf[data-busy] .wonder{pointer-events:none}@keyframes arrive{0%{transform:scale(0)rotate(-20deg)}}.grownup{top:max(1.6vh, env(safe-area-inset-top));right:max(1.2vw, env(safe-area-inset-right));color:#f7eedc52;z-index:5;width:48px;height:48px;position:absolute}.grownup svg{width:32px;height:32px;position:absolute;inset:8px}.grownup .hold-ring{width:48px;height:48px;inset:0;transform:rotate(-90deg)}.hold-ring circle{fill:none;stroke:var(--mustard);stroke-width:4px;stroke-dasharray:183;stroke-dashoffset:183px}.grownup.holding .hold-ring circle{stroke-dashoffset:0;transition:stroke-dashoffset 3s linear}dialog#parent{background:var(--cream);width:min(720px,92vw);max-height:86vh;color:var(--ink);-webkit-user-select:text;user-select:text;border:0;border-radius:20px;padding:0}dialog#parent::backdrop{background:#14162399}.gate,.panel{padding:24px 28px}.gate-q{margin:0 0 16px;font-size:22px}.gate input,.settings input,.settings select{font:inherit;background:#fffaf0;border:2px solid #d9c7a6;border-radius:12px;width:100%;padding:10px 14px;font-size:20px}.gate .row{justify-content:flex-end;gap:12px;margin-top:16px;display:flex}dialog button{background:var(--teal);color:var(--cream);border-radius:12px;padding:12px 20px;font-weight:600}dialog button.ghost{color:var(--teal);background:0 0}dialog button.danger{background:#a34a3a;margin-top:20px}.shake{animation:.4s shake}@keyframes shake{25%{transform:translate(-8px)}75%{transform:translate(8px)}}.panel header{justify-content:space-between;align-items:center;display:flex}.panel h2{margin:0}.settings{gap:14px;margin:16px 0;display:grid}.settings label{gap:6px;font-weight:600;display:grid}.log ol{gap:12px;max-height:38vh;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.log li{background:#fff8ea;border-radius:12px;padding:10px 14px}.log time{color:#8a7a66;font-size:13px}.log .q{margin:4px 0;font-weight:700}.log .a{margin:0}.log .aside{color:#a34a3a;margin:0;font-size:14px}.note{color:#6b5d4c;font-size:14px}@media (orientation:portrait){.room{grid-template-rows:1fr auto auto;grid-template-columns:1fr}}[hidden]{display:none!important}dialog#parent{font-size:18px}.panel h3{color:var(--teal);margin:22px 0 8px;font-size:19px}.safety ul{gap:6px;margin:0;padding-left:20px;display:grid}.flagged ol{gap:8px;margin:0;padding:0;list-style:none;display:grid}.flagged li{background:#fbe9e2;border-radius:12px;padding:8px 14px}.flagged .q{margin:2px 0 0;font-weight:700}.hint{color:#6b5d4c;font-size:14px;font-weight:400}.reveal{gap:8px;display:flex}.reveal input{flex:1}.panel{background:radial-gradient(120% 60% at 100% 0%, #f2a96b2e, transparent), var(--cream)}[data-followups=true][data-offer=why] .follow.why{animation:1.4s ease-in-out .4s 3 offer-strong}@keyframes offer-strong{50%{transform:scale(1.22);box-shadow:0 .8vh #00000040,0 0 5vh #ffdca0d9}}.window:after{content:"";opacity:0;pointer-events:none;background:radial-gradient(60% 60% at 50% 55%,#ffd6a047,#232a3d73);transition:opacity .35s;position:absolute;inset:0}[data-waiting=true] .window:after{opacity:1;animation:1.6s ease-in-out infinite shimmer}@keyframes shimmer{50%{opacity:.6}}.nudge [data-followups=true] .follow,html.nudge[data-followups=true] .follow{animation:1.2s ease-in-out 2 offer-strong}
