:root{color-scheme:dark;--paper:#efece0;--muted:#a1b9bd;--line:#b4d3d126;--glass:#0c262ae0;--mint:#b2d9cc;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#06181f;color:var(--paper)}body{height:100svh;overflow:hidden;background:radial-gradient(ellipse at 31% 45%,#2e4b46 0%,#142e33 24%,#081d26 50%,#040f19 100%)}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid var(--mint);outline-offset:5px}button:disabled{cursor:default;opacity:.45}[hidden]{display:none!important}header{position:absolute;z-index:5;top:0;left:0;width:100%;padding:30px 42px;display:flex;align-items:center;justify-content:space-between}.wordmark{font:23px Georgia,serif;letter-spacing:.2em;color:#e4e6db;text-decoration:none}.wordmark span{display:block;font:8px Georgia,serif;letter-spacing:.56em;text-align:center;margin-top:7px;opacity:.7}.tools{display:flex;align-items:center;gap:13px}.quiet-button,.icon-button{border:1px solid var(--line);background:#17313969;backdrop-filter:blur(12px);min-height:44px;border-radius:24px}.quiet-button{padding:11px 19px;font-size:12px;letter-spacing:.045em}.quiet-button span{margin-left:12px;color:#d9c594}.icon-button{width:44px;font-size:17px}.quiet-button:hover,.icon-button:hover{background:#2b494c80}.quiet-button[aria-expanded=true]{border-color:#bed7c982}main{height:100%}#stage{position:absolute;inset:0 36% 0 0}canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}canvas:active{cursor:grabbing}#loading{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);font-size:14px;color:var(--muted);pointer-events:none}.stage-caption{position:absolute;bottom:11%;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:.28em;color:#a8c4c3;white-space:nowrap;pointer-events:none}.light-dot{display:inline-block;width:4px;height:4px;border-radius:50%;background:#dcd4a0;box-shadow:0 0 14px #e2d699;margin-right:10px;vertical-align:2px}.conversation{position:absolute;right:7.2%;top:50%;transform:translateY(-48%);width:31%;max-width:460px}.eyebrow{font-size:9px;letter-spacing:.25em;color:#a6bcb7}h1{font:400 clamp(36px,4.25vw,64px)/1.04 Georgia,"Times New Roman",serif;letter-spacing:-.036em;margin:25px 0 23px}#line{font-size:15px;line-height:1.8;color:#b1c3c1;margin:0 0 26px}.question{font-size:16px;color:#e4e5d8;margin:0 0 15px}#name-form{display:flex;align-items:center;gap:10px;background:#92bbb30b;border:1px solid #c6dfd639;border-radius:18px;padding:7px 8px 7px 19px;box-shadow:0 13px 50px #00000012}input{color:var(--paper);min-width:0;width:100%;font-size:15px;padding:13px 0;border:0;background:transparent;outline:none}input::placeholder{color:#839b9c}.send{flex:0 0 43px;height:43px;border:0;border-radius:13px;background:#dae7d6;color:#123438;font-size:24px}.send:hover,.primary:hover{background:#f0f1dd}.looks{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:5px}.look{background:#d4e7de06;border:1px solid var(--line);border-radius:14px;padding:4px 4px 10px;font-size:10px;line-height:1.5;min-width:0;overflow:hidden}.look img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;margin-bottom:6px;display:block}.look[aria-pressed=true]{border-color:#d8ddba;background:#dae5bd14}.primary{background:#d9e5d3;color:#11373a;border:0;border-radius:15px;min-height:48px;padding:13px 19px;width:100%;margin-top:16px;display:flex;align-items:center;justify-content:space-between;font-size:13px}.primary span{font-size:22px}.text-button{border:0;background:transparent;font-size:12px;color:#c6dbcf;padding:10px 0;text-align:left;text-decoration:underline;text-decoration-color:#c6dbcf40;text-underline-offset:5px;min-height:44px}.future-note{color:#a1b9bd;font-size:13px;line-height:1.7}.future-options{display:flex;gap:8px;margin:17px 0 10px}.future-options span{font-size:11px;color:#93aaaa;padding:12px 13px;border:1px solid var(--line);border-radius:12px}.studio{position:absolute;z-index:8;right:30px;top:100px;width:min(430px,calc(100vw - 36px));padding:25px;background:linear-gradient(145deg,#23413ff2,#081d25f5);border:1px solid #b3d6ce39;border-radius:24px;box-shadow:0 30px 100px #0007;backdrop-filter:blur(24px)}.studio-top{display:flex;justify-content:space-between;align-items:center;gap:15px}.studio .eyebrow{font-size:8px}.studio h2{font:400 28px Georgia,serif;margin:10px 0 9px}.studio-label{color:#a5bdb7;font-size:10px;letter-spacing:.11em;margin:19px 0 10px}.chips{display:flex;flex-wrap:wrap;gap:7px}.chips button{border:1px solid #bed6d02a;background:#a5cec80a;border-radius:12px;min-height:40px;padding:10px 12px;font-size:11px}.chips button:hover{border-color:#b8d1c87a}.chips button[aria-pressed=true]{background:#d7e3c9;color:#183739;border-color:#d7e3c9}.studio-bottom{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:15px}.studio-bottom span{color:#93aca7;font-size:9px;max-width:145px;line-height:1.5;text-align:right}.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}
@media(max-width:900px){header{padding:24px}.conversation{right:5%;width:36%}#stage{right:38%}h1{font-size:42px}#line{font-size:13px}.looks{grid-template-columns:repeat(2,1fr)}.look{display:flex;align-items:center;gap:7px;padding:5px;font-size:10px}.look img{width:40px;margin:0}.stage-caption{font-size:8px;letter-spacing:.18em}}
@media(max-width:650px){body{height:auto;min-height:100svh;overflow:auto;background:radial-gradient(ellipse at 45% 26%,#2e4b46,#102b30 34%,#061720 75%)}header{position:absolute;padding:18px 20px}.wordmark{font-size:17px}.wordmark span{font-size:6px;margin-top:5px}.tools{gap:8px}.quiet-button{font-size:11px;padding:10px 14px}.icon-button{width:42px;min-height:42px}main{min-height:100svh;display:flex;flex-direction:column}#stage{position:relative;inset:auto;width:100%;height:54svh;min-height:350px;margin-top:32px}.stage-caption{bottom:2%;font-size:8px}.conversation{position:relative;inset:auto;transform:none;width:auto;max-width:none;margin:10px 28px 35px}.conversation>.eyebrow{font-size:8px}h1{font-size:35px;line-height:1.04;margin:13px 0 13px}h1 br{display:none}h1 br:after{content:' '}#line{font-size:13px;line-height:1.7;margin-bottom:16px}#line br{display:none}.question{font-size:14px;margin-bottom:12px}#name-form{padding:5px 6px 5px 16px;border-radius:16px}.send{height:42px;flex-basis:42px}input{font-size:16px}.looks{grid-template-columns:repeat(4,1fr)}.look{display:block;padding:4px 4px 8px;font-size:9px}.look img{width:100%;margin-bottom:6px}.studio{position:fixed;top:auto;bottom:12px;right:12px;left:12px;width:auto;max-height:55svh;overflow:auto;padding:19px;border-radius:22px}.studio h2{font-size:24px}.studio .eyebrow{display:none}.studio-label{margin-top:12px}.chips{gap:5px}.chips button{min-height:38px;padding:8px 10px;font-size:10px}.studio-bottom{margin-top:9px}.studio-bottom span{font-size:8px}.studio-top .icon-button{width:36px;min-height:36px}.future-options span{padding:10px;font-size:10px}}
@media(prefers-reduced-motion:no-preference){button{transition:background .2s,border-color .2s}.conversation{animation:arrive .8s ease both}.studio{animation:arrive .25s ease both}@keyframes arrive{from{opacity:0}to{opacity:1}}}

/* The entry and Buddy share the same live AXIOMA deep-sky scene. */
html,body{background:#02050b}body{background:#02050b}#space{position:fixed;inset:0;z-index:0;pointer-events:none;cursor:default}main{position:relative;z-index:1}.conversation{right:5%;width:35%;padding:32px;background:linear-gradient(135deg,#152d3b85,#0b192553);border:1px solid #d4dfea35;border-radius:26px;box-shadow:0 24px 100px #0004,inset 0 1px 0 #e8f4ff0b;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.eyebrow{color:#a5b9c4}.question{color:#e8e5dc}:root{--mint:#b3d7ff;--muted:#a5b4c5}.stage-caption{color:#a5b4c5}.studio{background:linear-gradient(145deg,#1a3141ee,#091725f5)}.chips button[aria-pressed=true]{background:#dfe6e8;color:#102535}.primary,.send{background:#e3e8e2;color:#102b39}.primary:hover,.send:hover{background:#f0eee2}.conversation h1{font-size:clamp(34px,3.8vw,55px)}#line{color:#adbbc5}
@media(max-width:900px) and (min-width:651px){.conversation{padding:24px;width:40%;right:3%}.conversation h1{font-size:36px}#stage{right:41%}}
@media(max-width:650px){body{background:#02050b}.conversation{inset:auto;width:auto;padding:23px;margin:12px 20px 28px;border-radius:22px}.conversation h1{font-size:34px}.conversation h1 br{display:inline}#stage{height:53svh;min-height:340px}.stage-caption{bottom:1%}.studio{background:linear-gradient(145deg,#1a3141f2,#091725f8)}}

.looks{grid-template-columns:repeat(3,1fr)}.look-thumb{display:block;aspect-ratio:1;overflow:hidden;border-radius:10px;margin-bottom:6px}.look-thumb img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;margin:0;border-radius:0}.look[data-look=boy] .look-thumb img,.look[data-look=girl] .look-thumb img{width:200%;max-width:none;object-fit:cover}.look[data-look=girl] .look-thumb img{transform:translateX(-50%)}
@media(max-width:900px) and (min-width:651px){.looks{grid-template-columns:repeat(3,1fr)}.look{display:block}.look-thumb{margin-bottom:5px}.look-thumb img{width:100%}}
@media(max-width:650px){.looks{grid-template-columns:repeat(3,1fr)}.look-thumb{max-height:85px}.look-thumb img{margin:0}.look{font-size:10px}}

/* One accessible hit target follows the actual 3D belly emblem. */
.belly-control{position:absolute;z-index:3;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;padding:0;border:1px solid transparent;background:transparent;cursor:pointer;touch-action:manipulation}.belly-control:hover{border-color:#e4f3ff90;box-shadow:0 0 20px #aad7ff26}.belly-control:focus-visible{outline:2px solid #d1ecff;outline-offset:4px}.belly-control[aria-pressed=true]{border-color:#badbe882;box-shadow:0 0 18px #72c1e135}
.conversation{max-height:calc(100svh - 140px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#6b849880 transparent}.voice-panel{margin-top:22px;padding-top:17px;border-top:1px solid #d4dfea25}.voice-top{display:flex;gap:12px;align-items:center;justify-content:space-between}.voice-top p{font-size:12px;line-height:1.65;color:#d3dfe5;margin:0}.voice-top button{white-space:nowrap;font-size:11px}.consent-line{display:flex;align-items:flex-start;gap:8px;margin:12px 0 7px;color:#a5b8c4;font-size:10px;line-height:1.55;cursor:pointer}.consent-line input{width:15px;height:15px;margin:2px 0 0;flex:0 0 15px;accent-color:#b4d3df}.memory-note{font-size:9px;line-height:1.6;color:#91a6b5;margin:6px 0 12px}.chat-form{display:flex;align-items:center;gap:8px;border:1px solid #c6dfd631;border-radius:16px;padding:5px 6px 5px 15px}.chat-form input{font-size:13px;padding:10px 0}.chat-form .send{font-size:21px;height:36px;flex-basis:36px}.chat-log{max-height:160px;overflow:auto;padding:6px 2px;margin-bottom:10px;scrollbar-width:thin}.message{display:flex;flex-direction:column;gap:4px;font-size:12px;line-height:1.65;white-space:pre-wrap;margin:0 0 13px}.message>span:first-child{font-size:9px;letter-spacing:.1em;color:#839dae}.message.user{color:#a8bfcc}.message.assistant{color:#e3e5dc}.memory-proposal{background:#a8ced414;border:1px solid #b1d4db25;border-radius:12px;padding:10px;font-size:12px;line-height:1.6;margin-bottom:10px}#voice-audio{max-width:100%;height:35px;margin-top:10px}
@media(max-width:650px){body{height:100svh;min-height:0;overflow:hidden}main{height:100svh;min-height:0;display:flex;flex-direction:column}#stage{height:45svh;min-height:0;flex:0 0 45svh;margin-top:37px}.conversation{flex:1;min-height:0;max-height:none;overflow-y:auto;margin:0 15px 15px;padding:20px}.conversation h1{font-size:31px}#line{line-height:1.55}.voice-panel{margin-top:16px;padding-top:13px}.chat-form input{font-size:16px}.belly-control{width:44px;height:44px}.studio{max-height:64svh}}

/* Accepted minimal conversation surface: reveal only the current step. */
.conversation{padding:19px;top:58%;width:32%;max-width:430px;min-height:0}.voice-panel{margin:0;padding:0;border:0}.voice-top:has(#voice-end[hidden]):has(#voice-status.sr-only){display:none}.voice-top p:not(.sr-only){margin:10px 0;font-size:12px;color:#d6bea6}.voice-top button{margin-left:auto}.chat-log{max-height:38svh;padding:3px 4px}.consent-dialog{padding:4px 3px}.consent-dialog p{font-size:13px;line-height:1.65;color:#ced9df;margin:12px 0}.consent-dialog>div{display:flex;gap:18px;align-items:center}.consent-accept{background:#dce6e5;color:#193440;border:0;border-radius:12px;min-height:42px;padding:10px 17px;font-size:12px}.privacy-control{font-size:9px;color:#8399a9;min-height:30px;margin-top:5px}.conversation #next{float:right}.conversation #next .text-button{font-size:10px;min-height:29px;padding:4px 0}#chat-form{clear:both}.conversation #name-form{margin:0}.conversation:has(#consent-dialog:not([hidden])) #name-form,.conversation:has(#consent-dialog:not([hidden])) #appearance,.conversation:has(#consent-dialog:not([hidden])) #chat-form,.conversation:has(#consent-dialog:not([hidden])) #next{display:none!important}
/* Invite the first voice turn with a soft halo; no automatic microphone start. */
.belly-control[data-invite=off]{animation:none}
.belly-control[data-invite=still]{border-color:#badfea55;box-shadow:0 0 15px #8fcadb24;animation:none}
@media(prefers-reduced-motion:no-preference){.belly-control[data-invite=pulse]{animation:belly-invite 2.6s ease-in-out infinite}@keyframes belly-invite{0%,100%{transform:translate(-50%,-50%) scale(1);border-color:#c2e8f13a;box-shadow:0 0 8px 1px #93d3df18}50%{transform:translate(-50%,-50%) scale(1.09);border-color:#d4f4fcc0;box-shadow:0 0 23px 8px #8ad8e56b,0 0 8px 2px #d4f4fc65}}}
@media(prefers-reduced-motion:reduce){.belly-control[data-invite=pulse]{animation:none;border-color:#badfea55;box-shadow:0 0 15px #8fcadb24}}
@media(max-width:900px) and (min-width:651px){.conversation{width:37%;right:3%;padding:16px}}
@media(max-width:650px){#stage{height:66svh;flex:0 0 66svh;margin-top:22px}.conversation{top:auto;flex:0 1 auto;width:auto;max-width:none;margin:0 20px 18px;padding:15px;max-height:calc(34svh - 42px)}.chat-log{max-height:18svh}.conversation:has(#appearance:not([hidden])){max-height:calc(34svh - 42px)}.looks{grid-template-columns:repeat(3,1fr)}.look-thumb{max-height:56px}.primary{margin-top:8px;min-height:40px;padding:7px 13px}}

/* A quiet glass conversation panel, with the active composer at its lower edge. */
.conversation{top:55%;height:320px;width:33%;max-width:450px;display:flex;flex-direction:column;padding:22px;border-color:#afc7d529;background:linear-gradient(140deg,#2037496b,#0b17275c);box-shadow:0 25px 90px #0005,inset 0 1px 0 #d7ebff0c}.conversation #name-form{margin-top:auto}.conversation #appearance{margin:auto 0}.conversation .voice-panel{margin-top:auto}.conversation:has(#name-form:not([hidden])) .voice-panel{margin-top:0}.conversation #chat-log{flex:1;min-height:0;max-height:none;overflow:auto;margin-bottom:13px}.conversation #next{position:absolute;top:12px;right:23px;float:none}.conversation:has(#next:not([hidden])){padding-top:45px}.send,.primary{background:linear-gradient(145deg,#2b4555,#172b3c);color:#c5d9e4;border:1px solid #67879550;box-shadow:inset 0 1px 0 #c8e5f009}.send:hover,.primary:hover{background:linear-gradient(145deg,#365568,#213c50);border-color:#8eb7c77a}.send:active{background:#152837}input:focus,input:focus-visible{outline:none;box-shadow:none}#name-form:focus-within,.chat-form:focus-within{border-color:#9bbec08c;box-shadow:0 0 0 3px #93bac713,0 0 24px #78adc00d}#name-form,.chat-form{background:#04101b25;border-color:#7896a13e;transition:border-color .2s,box-shadow .2s}button:focus-visible{outline:2px solid #a9c9d4;outline-offset:3px}body:has(#consent-dialog:not([hidden])) .conversation{height:220px}.consent-dialog{margin:auto 0}.voice-top button{font-size:11px;min-height:32px}.privacy-control{position:absolute;bottom:3px;left:24px;font-size:8px;min-height:19px;padding:2px 0}.conversation:has(.privacy-control:not([hidden])){padding-bottom:28px}
@media(max-width:900px) and (min-width:651px){.conversation{width:37%;height:300px;padding:18px}}
@media(max-width:650px){.conversation{top:auto;width:auto;height:210px;flex:0 1 210px;min-height:105px;max-height:calc(34svh - 42px);padding:17px;margin:0 20px 18px}.conversation:has(#next:not([hidden])){padding-top:35px}.conversation:has(.privacy-control:not([hidden])){padding-bottom:25px}body:has(#consent-dialog:not([hidden])) .conversation{height:210px}.conversation #next{top:6px;right:18px}.privacy-control{left:19px}.conversation:has(#appearance:not([hidden])){overflow:auto;display:block}.conversation #appearance{margin:0}}

/* Name is a slim profile row; chat is a separate composer below it. */
.conversation #name-form{order:0;flex:0 0 auto;margin:0 0 15px;border-radius:12px;padding:2px 5px 2px 12px;background:#05121b15;border-color:#8ca8b329}.conversation #name-form input{font-size:13px;padding:8px 0}.conversation #name-form .send{height:27px;flex-basis:28px;font-size:14px;border-radius:8px;background:#263d4c4d;border-color:#6a8a9728;color:#9ab7c4;box-shadow:none}.conversation #chat-log{order:1}.conversation #appearance{order:2;min-height:0;overflow:auto}.conversation .voice-panel{order:3;margin-top:auto}.conversation:has(#name-form:not([hidden])) .voice-panel{margin-top:auto}.conversation:has(#appearance:not([hidden])){height:510px}.conversation #appearance{margin:0 0 15px}.conversation .chat-form{min-height:59px;border-radius:16px}.conversation .chat-form input{padding:13px 0;font-size:14px}.conversation .chat-form .send{height:39px;flex-basis:39px;border-radius:11px}
@media(max-width:650px){.conversation #name-form{margin-bottom:10px}.conversation #name-form input{font-size:16px}.conversation .chat-form{min-height:54px}.conversation .chat-form input{font-size:16px}.conversation:has(#appearance:not([hidden])){display:flex;height:230px}.conversation #appearance{flex:1;min-height:90px;margin-bottom:8px}.conversation #appearance .look-thumb{max-height:45px}.conversation #appearance .primary{min-height:32px}.conversation .voice-panel{flex:0 0 auto}}

.account-dialog{position:fixed;width:min(390px,calc(100vw - 36px));padding:32px;background:linear-gradient(145deg,#213849f2,#0c1a29f7);border:1px solid #9cbece42;border-radius:26px;color:#dce6e8;box-shadow:0 30px 120px #000a;backdrop-filter:blur(22px)}.account-dialog::backdrop{background:#02081270;backdrop-filter:blur(5px)}.account-dialog h2{font:28px Georgia,serif;line-height:1.1;margin:15px 0 12px}.account-dialog p{font-size:13px;line-height:1.65;color:#aebfc9}.dialog-close{position:absolute;right:12px;top:12px;width:32px;min-height:32px;font-size:20px}.account-link{display:flex;justify-content:space-between;border:1px solid #8daeba50;border-radius:13px;color:#d4e5ed;text-decoration:none;background:#33526960;padding:14px 16px;margin:21px 0 12px;font-size:14px}.unavailable-providers{display:flex;gap:7px}.unavailable-providers button{flex:1;background:#1f3440;border:1px solid #667b862e;border-radius:10px;padding:10px 5px;font-size:11px}.account-dialog .account-note{font-size:10px;color:#91a9b7;margin:18px 0 0}
.video-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin:10px 0 14px}.video-controls .icon-button{width:38px;min-height:38px}
.private-dialog{width:min(530px,calc(100vw - 30px));max-height:80svh;overflow:auto}.private-dialog label{display:block;font-size:11px;color:#a2bdca}.private-dialog input,.private-dialog textarea{box-sizing:border-box;width:100%;background:#07131d70;border:1px solid #8eafc036;border-radius:11px;color:#dce8ed;padding:10px;font:13px/1.6 inherit;margin:5px 0 11px}.private-dialog input:focus-visible,.private-dialog textarea:focus-visible{outline:2px solid #91b9c7;outline-offset:1px}.private-dialog textarea{min-height:100px;resize:vertical}.private-dialog details{border-top:1px solid #acc8d126;padding:14px 0;font-size:12px}.private-dialog summary{cursor:pointer;color:#c1d6df}.private-dialog .text-button{display:inline-block;margin-right:14px}.data-row{border-bottom:1px solid #8ea7b31a;margin:12px 0;padding-bottom:8px}.privacy-control{font-size:15px;letter-spacing:.2em;line-height:1;min-width:33px}

/* Keep real conversation text readable while the mobile catalog is open. */
@media(max-width:650px){body:has(#appearance:not([hidden])) #stage{height:calc(55svh - 37px);flex:0 0 calc(55svh - 37px)}.conversation:has(#appearance:not([hidden])){height:40svh;flex:0 0 40svh;max-height:none}.conversation:has(#appearance:not([hidden])) #chat-log{flex:0 1 64px;min-height:42px;margin-bottom:8px}.conversation:has(#appearance:not([hidden])) #appearance{min-height:128px}}

/* First visit: the character leads; reveal conversation after a name or request. */
#stage{transition:right .85s cubic-bezier(.22,.61,.36,1)}
body:not([data-layout=conversation]) #stage{right:0}
.conversation{transition:opacity .55s ease,transform .7s ease,visibility .55s}
body:not([data-layout=conversation]) .conversation{opacity:0;visibility:hidden;pointer-events:none;transform:translate(24px,-48%)}
.profile-names{font-size:12px;color:#b4c9d5;margin:0 0 15px;flex:0 0 auto}
.text-entry{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:5;font-size:12px;text-decoration:none;color:#a9bec8}
body[data-layout=conversation] .text-entry{display:none}
body>#consent-dialog{position:fixed;z-index:9;bottom:25px;left:50%;transform:translateX(-50%);width:min(390px,calc(100vw - 36px));box-sizing:border-box;border:1px solid #9cbece42;border-radius:19px;background:#0d2134ed;backdrop-filter:blur(16px);padding:15px 20px;box-shadow:0 20px 60px #0006}
body:has(>#consent-dialog:not([hidden])) .text-entry{display:none}
@media(max-width:650px){body:not([data-layout=conversation]) #stage{height:100svh;flex:1;margin-top:0}body:not([data-layout=conversation]) .conversation{position:absolute;bottom:0}body[data-layout=conversation] .conversation{transform:none}}
@media(prefers-reduced-motion:reduce){#stage,.conversation{transition:none}}

body[data-face-video=playing] #voice-status,body[data-face-video=opening] #voice-status,body[data-face-video=paused] #voice-status{display:none}

/* Taller conversation glass; distinct profile-derived speaker names. */
.conversation{--buddy-chat-height:min(76svh,740px);height:var(--buddy-chat-height)!important;top:50%;width:29%;max-width:440px;right:4%;padding:26px 24px 32px;background:linear-gradient(145deg,#ccecff09,transparent 45%,#a3c6dc05);border-color:#b8d4e54d;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 18px 60px #0002,inset 0 1px 0 #e7f6ff20}
.conversation #chat-log{padding:5px 5px 0;min-height:70px;line-height:1.75}.message{font-size:14px;line-height:1.75;margin-bottom:18px;overflow-wrap:anywhere}.message>span:first-child{font-size:11px;font-weight:600;letter-spacing:.04em}.message.user>span:first-child{color:#9dcfff}.message.assistant>span:first-child{color:#f0adc9}.message.user{color:#d5e5f3}.message.assistant{color:#edf0ef}.profile-names{font-size:12px;color:#bfd0dc}.conversation .privacy-control{left:29px}.conversation #appearance{flex:0 1 auto;max-height:38svh}.conversation #next{right:29px}
@media(min-width:651px) and (max-width:1050px){body[data-layout=conversation] #stage{right:36%}.conversation{width:32%;right:3%;padding:20px}}
@media(max-width:650px){body[data-layout=conversation] #stage{height:calc(43svh - 30px);flex:0 0 calc(43svh - 30px);margin-top:30px}.conversation{--buddy-chat-height:calc(57svh - 18px);position:relative;top:auto;right:auto;width:auto;max-width:none;max-height:none!important;flex:0 0 var(--buddy-chat-height)!important;margin:0 14px 14px;padding:17px 17px 26px;border-radius:22px}.conversation:has(#next:not([hidden])){padding-top:36px}.conversation #next{right:19px}.conversation .privacy-control{left:19px}.conversation #appearance{max-height:27svh}.conversation #chat-log{min-height:60px}.message{font-size:13px;line-height:1.7;margin-bottom:15px}body:not([data-layout=conversation]) .conversation{position:absolute}}

@media(max-width:650px){.conversation{transform:none!important;transition:opacity .55s ease,visibility .55s}}
/* Preserve visible sky through the glass while separating each speaker from it. */
.message,.profile-names{text-shadow:0 1px 4px #000,0 0 14px #0009}.video-controls{flex-wrap:wrap;gap:8px 16px;margin:8px 0 10px}#video-fullscreen{flex-basis:100%;text-align:center;min-height:44px;padding:6px 0}
.film-player{position:fixed;inset:0;z-index:40;background:#000;display:flex;align-items:center;justify-content:center;width:100%;height:100dvh}.film-player video{width:100%;height:100%;object-fit:contain;display:block;touch-action:auto}.film-player:fullscreen{width:100vw;height:100vh}.film-player:-webkit-full-screen{width:100vw;height:100vh}#film-return{position:absolute;z-index:2;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));background:#091626bf;min-height:44px}#film-orientation{position:absolute;z-index:2;left:16px;right:16px;bottom:max(70px,calc(env(safe-area-inset-bottom) + 60px));margin:0;text-align:center;font-size:12px;line-height:1.5;color:#fff;text-shadow:0 1px 4px #000;background:#0008;padding:8px 12px;border-radius:12px;pointer-events:none}
@media(max-width:650px){.conversation{margin-left:20px;margin-right:20px}#film-return{font-size:12px;padding:9px 14px}}
/* Speaker hierarchy and a continuous rhythm for consecutive messages. */
.conversation #chat-log{padding:6px 3px 2px}.message{font-size:13px;line-height:1.68;gap:6px;margin-bottom:19px;letter-spacing:.005em}.message>span:first-child{font-size:13px;font-weight:650;line-height:1.35;letter-spacing:.015em}.message>span:last-child{font-weight:400}.message.assistant+.message.assistant,.message.user+.message.user{margin-top:-12px}.message.assistant+.message.assistant>span:first-child,.message.user+.message.user>span:first-child{display:none}.profile-names{font-size:11px;letter-spacing:.025em;color:#b9c8d2}
@media(max-width:650px){.message{font-size:13px;line-height:1.65;margin-bottom:18px}.message>span:first-child{font-size:13px}.message.assistant+.message.assistant,.message.user+.message.user{margin-top:-11px}}
.message{position:relative;padding-left:38px}.message>span:first-child::before{content:"";position:absolute;left:0;top:-2px;width:28px;height:28px;border-radius:50%;border:1px solid #c1dbed45;background-color:#10202e45;box-shadow:0 0 15px #0002}.message.assistant>span:first-child::before{background-image:var(--buddy-avatar);background-size:contain;background-position:center;background-repeat:no-repeat;border-color:#f0adc947}.message.user>span:first-child::before{border-color:#9dcfff47;background:radial-gradient(circle at 50% 35%,#c2d6e5 0 18%,transparent 20%),radial-gradient(ellipse at 50% 96%,#83a2bb 0 37%,transparent 39%),linear-gradient(145deg,#233b50,#10202e)}

.cosmic-emotion{display:inline-block;width:20px;height:20px;margin-left:.35em;vertical-align:-.3em;line-height:1;filter:drop-shadow(0 0 4px #b5b1d926)}.cosmic-emotion svg{display:block;width:100%;height:100%}
@media(max-width:650px){.cosmic-emotion{width:19px;height:19px}}

/* Same-scene cabinet. Conversation DOM and character stay mounted. */
.cabinet-tabs{display:flex;align-items:center;gap:4px;order:-1;flex:0 0 auto;margin:-6px -6px 18px;border-bottom:1px solid #bdd7e323;padding-bottom:9px}.cabinet-tabs button{flex:1;font-size:11px;padding:8px 5px;min-height:38px;border-radius:11px;border:1px solid transparent;background:transparent;color:#b6c9d7}.cabinet-tabs button[aria-selected=true]{background:#bcdef012;border-color:#bad5e032;color:#eef7fb}.cabinet-tabs button:hover{color:white;background:#cceaff0c}
body[data-cabinet]:not([data-cabinet=conversation]) .conversation{width:36%;max-width:520px;padding-top:25px;transition:width .3s ease,opacity .55s ease,transform .7s ease}
body[data-cabinet]:not([data-cabinet=conversation]) .conversation>#intro,body[data-cabinet]:not([data-cabinet=conversation]) .conversation>#chat-log,body[data-cabinet]:not([data-cabinet=conversation]) .conversation>#profile-names,body[data-cabinet]:not([data-cabinet=conversation]) .conversation>#appearance,body[data-cabinet]:not([data-cabinet=conversation]) .conversation>#next,body[data-cabinet]:not([data-cabinet=conversation]) .conversation>.voice-panel{display:none!important}
#cabinet-content{order:0;flex:1;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#acc9dc50 transparent;padding:0 3px}#cabinet-content h2{font:27px/1.2 Georgia,serif;margin:0 0 24px;color:#e8f0ed}.cabinet-eyebrow{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:#99b4c7;margin:0 0 9px}.cabinet-label{font-size:13px;font-weight:550;color:#dbe6ee}.cabinet-setting{display:flex;gap:16px;justify-content:space-between;align-items:center;border-bottom:1px solid #a8c4d426;padding:17px 0}.cabinet-setting:first-child{padding-top:0}.cabinet-setting p,.cabinet-note,.cabinet-future p{font-size:11px;line-height:1.65;color:#9db6c8;margin:5px 0 0}.cabinet-setting select{max-width:132px;min-height:40px;padding:8px 10px;border:1px solid #abc9d440;border-radius:12px;background:#12263580;color:#dcebf2;font:12px inherit}.cabinet-subtle{font-size:11px;color:#8eacbf}.cabinet-setting .text-button{white-space:nowrap;min-height:44px;font-size:11px}.cabinet-setting input[type=checkbox]{width:35px;height:21px;flex:0 0 35px;accent-color:#adc8d8;cursor:pointer}.cabinet-note{margin:17px 0 20px}.cabinet-copilot{display:flex;justify-content:space-between;width:100%;padding:13px 14px;min-height:45px;background:#9abedc10;border:1px solid #b2d0e030;border-radius:13px;color:#c7dae7;font-size:12px;margin-top:15px}.cabinet-person-row{display:flex;gap:17px;align-items:center;margin-bottom:13px}.cabinet-avatar{width:62px;height:62px;flex:0 0 62px;border:1px solid #bdddef55;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 50% 35%,#c2d6e5 0 18%,transparent 20%),radial-gradient(ellipse at 50% 96%,#83a2bb 0 37%,transparent 39%),linear-gradient(145deg,#233b50,#10202e)}.cabinet-avatar img{width:100%;height:100%;object-fit:cover}.cabinet-avatar[data-accent=lilac]{filter:hue-rotate(42deg)}.cabinet-avatar[data-accent=mint]{filter:hue-rotate(-40deg)}.cabinet-upload{display:block;position:relative;font-size:11px;margin-top:5px;min-height:32px;line-height:32px;cursor:pointer}.cabinet-upload input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.cabinet-upload:focus-within{outline:2px solid #a9c9d4;outline-offset:3px;border-radius:6px}.avatar-accents{display:flex;gap:9px;margin:0 0 19px 79px}.avatar-accents button{width:24px;height:24px;min-height:24px;border-radius:50%;border:2px solid transparent;background:#9ec5e4;outline-offset:3px}.avatar-accents button[data-avatar-accent=lilac]{background:#c3afdf}.avatar-accents button[data-avatar-accent=mint]{background:#a6d1bc}.avatar-accents button[aria-pressed=true]{border-color:#eff9ff;box-shadow:0 0 0 2px #b2d2e137}#cabinet-profile-form{display:grid;gap:12px}#cabinet-profile-form label{font-size:11px;color:#abc0d0}#cabinet-profile-form input{display:block;box-sizing:border-box;width:100%;margin-top:6px;padding:10px 12px;min-height:42px;border:1px solid #a4c4d438;border-radius:12px;background:#07203324;color:#e2edf4;font-size:13px}#cabinet-profile-form input:focus-visible{outline:2px solid #accddd;outline-offset:2px}.cabinet-save{justify-self:start;background:transparent;border:0;color:#c8deea;font-size:12px;min-height:38px;padding:3px 0}.cabinet-save span{margin-left:20px}.cabinet-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;border-top:1px solid #a8c4d426;margin-top:13px;padding-top:17px}.cabinet-metrics strong{display:block;font-size:23px;font-weight:400;color:#d3e6ef;margin-bottom:5px}.cabinet-metrics span{font-size:10px;line-height:1.45;color:#9cb6c9}.cabinet-future{margin-top:25px;padding:18px;border:1px dashed #a1bfd52e;border-radius:15px}#cabinet-status{font-size:11px;line-height:1.55;color:#bacfde;min-height:17px;margin:12px 0 0}.message.user>span:first-child::before{background-image:var(--person-avatar,none),radial-gradient(circle at 50% 35%,#c2d6e5 0 18%,transparent 20%),radial-gradient(ellipse at 50% 96%,#83a2bb 0 37%,transparent 39%),linear-gradient(145deg,#233b50,#10202e);background-size:cover;background-position:center}.conversation[data-person-accent=lilac] .message.user>span:first-child::before{filter:hue-rotate(42deg)}.conversation[data-person-accent=mint] .message.user>span:first-child::before{filter:hue-rotate(-40deg)}
@media(max-width:650px){body[data-cabinet]:not([data-cabinet=conversation]) .conversation{width:auto;max-width:none;padding:18px 17px 20px}.cabinet-tabs{margin-bottom:15px;gap:1px}.cabinet-tabs button{font-size:10px;padding:6px 3px;min-height:37px}#cabinet-content h2{font-size:25px;margin-bottom:18px}.cabinet-setting{gap:10px;padding:13px 0}.cabinet-metrics{gap:8px}.cabinet-note{font-size:10px}.cabinet-person-row{gap:13px}.cabinet-setting select{max-width:108px}#cabinet-profile-form input{font-size:16px}.cabinet-copilot{font-size:11px}}
@media(prefers-reduced-motion:reduce){body[data-cabinet]:not([data-cabinet=conversation]) .conversation{transition:none}}
.cabinet-avatar:has(img){filter:none!important}.cabinet-avatar[data-accent=lilac]{border-color:#c3afdf99}.cabinet-avatar[data-accent=mint]{border-color:#a6d1bc99}.conversation:has(.cabinet-avatar img) .message.user>span:first-child::before{filter:none!important}
body:not([data-cabinet]) .cabinet-tabs,body[data-cabinet=conversation] .cabinet-tabs{display:none}.privacy-control{letter-spacing:0;font-size:10px;min-width:70px;min-height:24px}
.cabinet-upload:has(input[disabled]){cursor:default;color:#91aabd;text-decoration:none}.cabinet-upload input[disabled]{display:none}

.buddy-quest-cards{width:min(1100px,calc(100vw - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box;background:#080c15;color:#f5f7fb;border:1px solid #ffffff30;border-radius:20px;padding:24px;box-shadow:0 24px 90px #0009}.buddy-quest-cards::backdrop{background:#02040bc4;backdrop-filter:blur(8px)}.buddy-quest-cards header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.buddy-quest-cards h2{font-size:24px;margin:0}.buddy-quest-cards button,.buddy-quest-cards a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 16px;border:1px solid #ffffff30;border-radius:9px;background:#111827;color:inherit;font:inherit;text-decoration:none;cursor:pointer}.buddy-quest-cards :focus-visible{outline:2px solid white;outline-offset:4px}.buddy-quest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.buddy-quest-grid article{min-width:0}.buddy-quest-grid img{display:block;width:100%;height:auto;border-radius:12px}.buddy-quest-grid h3{margin:12px 0 8px;font-size:19px}.buddy-quest-grid p{font-size:13px;line-height:1.5;color:#abb5c7}.buddy-quest-grid a{background:#f5f7fb;color:#080c15}@media(max-width:600px){.buddy-quest-cards{padding:16px}.buddy-quest-grid{grid-template-columns:1fr}.buddy-quest-cards h2{font-size:20px}}

/* Canonical outlined identity; existing centered Buddy and controls stay intact. */
.wordmark img{display:block;width:190px;height:auto;max-width:100%;object-fit:contain}
@media(max-width:650px){.wordmark img{width:min(154px,42vw)}}

/* Quest-card header participates in modal layout, independent of global page header. */
.buddy-quest-cards header{position:static;width:auto;padding:0;z-index:auto}

.qp-art{position:relative;isolation:isolate;container-type:inline-size;overflow:hidden;border-radius:13px;background:#0b101b;aspect-ratio:1672/941}.qp-art.qp-accepted{aspect-ratio:3/2}.qp-art .qp-image{display:block;width:100%;height:100%;object-fit:cover;border:0;border-radius:0}.qp-link{display:block;color:#fff;text-decoration:none}.qp-link:focus-visible{outline:3px solid #eacd83;outline-offset:5px;border-radius:13px}.qp-design{position:absolute;inset:0;background:linear-gradient(110deg,#06091685 0%,transparent 67%),linear-gradient(0deg,#05081585,transparent 35%);pointer-events:none}.qp-art .qp-logo{position:absolute;top:4%;left:4%;width:27%;height:auto;background:#070b16dd;padding:1.8% 2%;border:0;border-radius:7px;box-sizing:content-box}.qp-copy{position:absolute;top:27%;left:5%;width:68%}.qp-title{display:block;font-family:Arial,Helvetica,sans-serif;font-size:clamp(22px,6.1cqw,47px);font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.045em;line-height:1.03;color:#ffe8a4;background:linear-gradient(180deg,#fff9d9 0%,#ffc96d 48%,#dd8726 62%,#fff5b6 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(1px 2px 0 #753e39) drop-shadow(0 0 7px #c155de55);text-wrap:balance}.qp-subtitle{display:block;color:#fff9eb;font-size:clamp(11px,2.5cqw,18px);line-height:1.35;margin-top:3%;max-width:90%;text-shadow:0 2px 6px #000}.qp-cta{position:absolute;left:50%;bottom:7%;transform:translateX(-50%);display:inline-flex;align-items:center;justify-content:center;gap:.65em;min-height:38px;max-width:88%;padding:1.6% 5%;border:2px solid #e8b4ff;border-right-color:#ffcf75;border-bottom-color:#ffcf75;border-radius:100px;background:linear-gradient(120deg,#2f105de8,#121021ef 50%,#382310e8);box-shadow:0 0 14px #b54dff60,2px 2px 16px #ffc45b30;color:#fff2d4;font-size:clamp(15px,3.4cqw,24px);font-weight:800;white-space:nowrap}.qp-scene .qp-copy{top:auto;bottom:29%;width:75%}.qp-scene .qp-title{font-size:clamp(21px,5.1cqw,38px)}.qp-scene .qp-cta{left:5%;transform:none;font-size:clamp(13px,2.9cqw,21px);bottom:5%}.qs-card .qp-art{border-radius:0}.qp-art .qp-logo{object-fit:contain}@media(max-width:420px){.qp-copy{top:29%;width:75%}.qp-title{font-size:6.5cqw}.qp-cta{min-height:36px}.qp-subtitle{font-size:2.8cqw}}

.buddy-quest-grid .qp-art{display:block;padding:0;min-height:0;border:0;background:#0b101b;color:white}.buddy-quest-grid .qp-art .qp-logo{width:27%}.buddy-quest-grid .qp-art .qp-image{border-radius:0}

.qp-art.qp-native{aspect-ratio:3/2}.qp-art .qp-native-logo{position:absolute;left:2.9%;top:1.45%;width:15%;height:auto;object-fit:contain;border:0;border-radius:0;pointer-events:none}
