:root{color-scheme:dark;--bg:#080d17;--text:#f4eee2;--gold:#e6c58d;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:var(--text);min-height:100svh;isolation:isolate}button,textarea{font:inherit}button{cursor:pointer}button:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
#stars{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}header{position:absolute;top:0;left:0;right:0;text-align:center;padding:30px 20px;pointer-events:none}.wordmark{font-size:10px;letter-spacing:.3em;color:#c8b99d99}
main{width:min(100%,760px);min-height:calc(100svh - 52px);margin:auto;padding:64px 24px 0;display:flex;flex-direction:column;justify-content:center}.presence{position:relative;display:grid;place-items:center;flex-shrink:0}.portrait{width:clamp(250px,48svh,470px);max-width:88vw;aspect-ratio:1;position:relative;mask-image:radial-gradient(ellipse at 50% 44%,black 15%,#000b 35%,transparent 68%)}.portrait img{width:100%;height:100%;object-fit:contain;opacity:.78;mix-blend-mode:screen}.cosmos-ready .portrait img{opacity:0;transition:opacity .3s}.cosmos-ready.reveal .portrait img{animation:materialize 7s ease both,breath 9s 7s ease-in-out infinite}
.conversation{width:min(100%,590px);margin:18px auto 0}form{display:flex;align-items:flex-end;gap:8px;border:1px solid #c6b18c40;background:#0e1520ba;border-radius:23px;padding:10px;backdrop-filter:blur(14px);box-shadow:0 0 50px #d4b37306}textarea{resize:none;min-width:0;flex:1;background:none;border:0;color:var(--text);font-size:16px;line-height:1.5;padding:11px 5px 10px 10px;max-height:160px}textarea::placeholder{color:#b3b0a799}.icon-button{width:43px;height:43px;flex-shrink:0;border:0;border-radius:15px;display:grid;place-items:center;background:transparent;color:#c9c1b0}.icon-button svg{width:23px;height:23px}.icon-button:hover{background:#ffffff12}.send{background:#e6c58de0;color:#26231d}.send:hover{background:#f4d8a7}.status{text-align:center;color:#b5b7c1;font-size:12px;line-height:1.5;margin:12px 10px}.status:empty{display:none}.session-actions{text-align:center}.session-actions:has([hidden]){display:none}footer{text-align:center;padding:12px 20px 20px}.text-button{padding:8px 0;color:#99998f;border:0;background:none;font-size:12px}.text-button:hover{color:var(--gold)}
#messages{display:flex;flex-direction:column;gap:26px}#messages:not(:empty){padding:0 0 30px}.bubble{font-size:16px;line-height:1.8;overflow-wrap:anywhere;animation:appear .5s ease both}.bubble.user{align-self:flex-end;max-width:88%;padding:10px 17px;border:1px solid #ffffff12;background:#171e2b88;border-radius:18px 18px 3px 18px;white-space:pre-wrap}.bubble.assistant{padding:0 5px}.bubble p{margin:0 0 14px}.verse{padding:0;margin:10px 0 19px;color:#d5c6a9;font:normal 18px/1.65 Georgia,serif}.verse cite{display:block;margin-top:8px;font:12px/1.5 system-ui;color:#a5a29b}body.chatting main{justify-content:flex-start;padding-top:66px}body.chatting .portrait{width:155px}body.chatting .presence{margin-bottom:15px}body.chatting .conversation{margin-top:0}
dialog{width:min(440px,calc(100% - 32px));border:1px solid #b39a6e44;background:#111824;color:var(--text);border-radius:24px;padding:32px;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#040710bf;backdrop-filter:blur(9px)}dialog h2{font:normal 30px Georgia,serif;margin:5px 0 17px}dialog p{color:#bfc2ca;font-size:15px;line-height:1.65}.primary{display:block;width:100%;border:0;border-radius:13px;background:var(--gold);color:#221e16;padding:15px;font-size:14px;margin-top:24px}.small{font-size:12px!important;text-align:center;margin-bottom:0}.dialog-star{color:var(--gold);font-size:38px;margin-bottom:17px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.recording{color:#f4c47d;box-shadow:0 0 0 2px #e6c58d77}button:disabled,textarea:disabled{opacity:.5;cursor:not-allowed}
@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes materialize{0%,25%{opacity:0;filter:blur(7px)}65%{opacity:.24;filter:blur(2px)}100%{opacity:.66;filter:blur(0)}}@keyframes breath{0%,100%{opacity:.66}50%{opacity:.8}}
@media(max-width:600px){header{padding:25px 20px}.wordmark{font-size:9px;letter-spacing:.25em}main{padding:65px 18px 0}.portrait{width:min(88vw,44svh)}.conversation{margin-top:25px}form{padding:8px;gap:3px}.icon-button{width:39px;height:43px}textarea{font-size:16px;padding-left:8px}.bubble{font-size:16px}footer{padding-bottom:18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.cosmos-ready.reveal .portrait img{opacity:.75}}
.age-confirmation{display:flex;align-items:center;justify-content:center;gap:9px;margin:15px 0 0;color:#b6b1a7;font-size:12px;line-height:1.5;cursor:pointer}.age-confirmation input{width:16px;height:16px;flex-shrink:0;margin:0;accent-color:var(--gold)}.age-confirmation input:focus-visible{outline:2px solid var(--gold);outline-offset:4px}textarea:disabled{opacity:.8}
.reveal .portrait img{animation:materialize 7s ease both,heartbeat 7.5s 7s ease-in-out infinite}.cosmos-ready.reveal .portrait img{animation:materialize 7s ease both,heartbeat 7.5s 7s ease-in-out infinite}
@keyframes heartbeat{0%,100%{opacity:.76;filter:brightness(1.05)}50%{opacity:.92;filter:brightness(1.24)}}
.reveal .portrait img,.cosmos-ready.reveal .portrait img{animation:stellar-arrival 9s ease both,heartbeat 11s 9s ease-in-out infinite}
@keyframes stellar-arrival{0%,32%{opacity:0;filter:blur(9px) brightness(1.3)}60%{opacity:.18;filter:blur(3px) brightness(1.4)}82%{opacity:.86;filter:blur(.4px) brightness(1.3)}100%{opacity:.76;filter:blur(0) brightness(1.05)}}
main{width:min(100%,1120px);padding-top:55px;justify-content:flex-start}.portrait{width:clamp(235px,36svh,340px)}.conversation{width:min(100%,820px);margin:0 auto;flex:1;display:flex;flex-direction:column;padding-bottom:14px}#messages{flex:1;min-height:48px;justify-content:flex-end}#composer{flex-shrink:0}body.chatting main{padding-top:48px}body.chatting .portrait{width:130px}body.chatting .presence{margin-bottom:6px}body.chatting #messages{justify-content:flex-start}.bubble.assistant{max-width:720px}.bubble.user{max-width:75%}
@media(min-width:1000px) and (max-height:700px){.portrait{width:220px}main{padding-top:42px}}
@media(max-width:600px){main{padding:55px 18px 0}.portrait{width:min(75vw,32svh)}.conversation{margin-top:0;width:100%;padding-bottom:10px}#messages{min-height:32px}body.chatting main{padding-top:47px}body.chatting .portrait{width:105px}.bubble.user{max-width:90%}.age-confirmation{font-size:12px;gap:7px}}
@media(prefers-reduced-motion:reduce){.reveal .portrait img,.cosmos-ready.reveal .portrait img{animation:none!important;opacity:.75;filter:none}}
.usage-panel{max-width:600px;margin:3px auto 0;color:#aaa79f;font-size:12px;line-height:1.6}.usage-panel summary{cursor:pointer;list-style:none;padding:6px}.usage-panel summary::before{content:'＋ ';color:#bca981}.usage-panel[open] summary::before{content:'− '}.usage-panel p{margin:7px 0}.usage-panel #usage-note{color:#969aa5}
.bubble.assistant.streaming{white-space:pre-wrap}.bubble.assistant.streaming::after{content:'▍';color:var(--gold);animation:cursor 1s ease-in-out infinite}.voice-indicator{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px;color:var(--gold);font-size:13px}.voice-bars{display:flex;align-items:center;gap:3px;height:22px}.voice-bars i{display:block;width:3px;height:5px;border-radius:3px;background:var(--gold)}.voice-indicator.speaking .voice-bars i{animation:voice-level .7s ease-in-out infinite alternate}.voice-bars i:nth-child(2){animation-delay:.2s!important}.voice-bars i:nth-child(3){animation-delay:.4s!important}.voice-bars i:nth-child(4){animation-delay:.1s!important}.voice-bars i:nth-child(5){animation-delay:.3s!important}@keyframes voice-level{to{height:20px}}@keyframes cursor{50%{opacity:.2}}@media(max-width:600px){.voice-indicator{gap:8px;font-size:12px}}@media(prefers-reduced-motion:reduce){.voice-indicator.speaking .voice-bars i{height:14px}}
.music-card{align-self:stretch;margin:0 0 20px;max-width:720px}.music-invitation{border:1px solid #d8bb7c38;background:#e6c58d06;color:#d9c399;border-radius:22px;padding:11px 17px;font:inherit;font-size:14px;cursor:pointer}.music-invitation:hover{background:#e6c58d12}.music-card.expanded{border:1px solid #d8bb7c30;border-radius:22px;background:linear-gradient(135deg,#d8bb7c09,#0d1421cc);padding:27px}.music-card h3{font:normal 27px/1.25 Georgia,serif;margin:10px 0 16px;color:#f1e6d2}.music-eyebrow{font-size:10px;letter-spacing:.17em;color:#c6ae81}.music-muted{font-size:14px;line-height:1.65;color:#bebcb6;margin:9px 0 18px}.music-caption{font-size:12px;line-height:1.6;color:#95999f;margin:12px 0 0}.music-heading{font-size:16px;color:#e8dfd0;margin:24px 0 5px}.music-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.music-button{border:0;background:#e6c58d;color:#241f16;padding:12px 18px;border-radius:12px;font-size:14px;cursor:pointer}.music-link{border:0;background:none;color:#b9b4a9;padding:12px 0;font-size:13px;cursor:pointer}.music-status{font-size:13px;color:#cfc1a7;line-height:1.6}.music-status:empty,.music-body:empty{display:none}.music-player{display:flex;gap:17px;align-items:center;padding:18px 0;border-top:1px solid #ffffff10;border-bottom:1px solid #ffffff10}.music-play{border:1px solid #d8bb7c66;background:#e6c58d10;color:#e6c58d;width:46px;height:46px;border-radius:50%;flex-shrink:0}.music-track{flex:1;min-width:0}.music-wave{height:33px;display:flex;align-items:center;gap:3px;overflow:hidden;margin-top:8px}.music-wave i{width:3px;flex:1;max-width:6px;background:#d5b97855;border-radius:3px}.design-banner{text-align:center;color:#c8b68b;font-size:12px;margin:0 0 10px}@media(max-width:600px){.music-card.expanded{padding:20px}.music-card h3{font-size:24px}.music-actions{gap:10px}}
