:root{--paper:#fff;--wash:#f4f0fb;--ink:#20172c;--muted:#6d637a;--accent:#6946bd;--pink:#d81b65;--line:#e9e3ef;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,textarea,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{border:0;background:none}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,textarea:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:4px}a{color:inherit}button svg{pointer-events:none}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:fixed;top:-100px;z-index:20;background:white;padding:15px}.skip:focus{top:10px}
.topbar{height:88px;display:flex;align-items:center;padding:0 38px;gap:32px;border-bottom:1px solid var(--line)}.brand{font:700 38px 'Outfit',sans-serif;letter-spacing:-1.8px;text-decoration:none}.brand span{color:var(--pink)}.top-note{font-size:13px;color:var(--muted);margin-left:44px}.demo-badge{margin-left:auto;display:flex;align-items:center;gap:9px;background:var(--wash);border-radius:30px;font-size:12px;padding:10px 14px;min-height:44px}.dot{height:6px;width:6px;background:var(--accent);border-radius:50%}.shell{display:grid;grid-template-columns:106px minmax(320px,1fr) minmax(420px,540px);height:calc(100dvh - 88px);min-height:660px}.rail{display:flex;flex-direction:column;align-items:center;border-right:1px solid var(--line);padding:28px 9px 20px;gap:24px}.nav-main{width:100%;display:grid;gap:14px}.nav-item{display:flex;flex-direction:column;align-items:center;gap:8px;border-radius:15px;padding:13px 4px;min-height:64px;width:100%;font-size:11px;color:var(--muted)}.nav-item.active{color:var(--accent);background:var(--wash)}.nav-item:hover{background:var(--wash)}.help{margin-top:auto}.guest{display:flex;flex-direction:column;align-items:center;gap:8px;font-family:Outfit;font-size:20px}.guest span{font:10px 'DM Sans';color:var(--muted)}
.stage{position:relative;overflow:hidden;background:var(--wash);min-width:0;touch-action:pan-y}.stage>img,.stage>video{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 44%;inset:0}.stage>video{opacity:0}.stage>video.playing{opacity:1}.stage:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#fff9 0%,transparent 18%,transparent 55%,#ffffffeb 85%,white 100%)}.stage-top{position:absolute;z-index:1;left:30px;right:24px;top:23px;display:flex;justify-content:space-between;align-items:center}.world-label{font-size:12px;color:var(--muted)}.icon-button{width:44px;height:44px;display:grid;place-items:center;border-radius:50%}.glass{background:#ffffffc9;border:1px solid #fff}.stage-bottom{position:absolute;z-index:1;bottom:30px;left:38px;right:30px}.character-tag{font-size:12px;color:var(--accent)}h1{font:500 clamp(42px,4.5vw,68px)/1.05 Outfit,sans-serif;letter-spacing:-2px;margin:12px 0}.stage-bottom p{font-size:14px;line-height:1.7;color:var(--muted);margin:0 0 24px}.character-picker{display:flex;gap:9px}.character-picker button{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:30px;padding:5px 15px 5px 5px;font-size:12px;min-height:46px}.character-picker button.selected{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.character-picker img{width:34px;height:34px;border-radius:50%;object-fit:cover;object-position:50% 28%}.asset-status{position:absolute;z-index:2;top:73px;right:24px;font-size:12px;max-width:220px;text-align:right;background:#fffd;border-radius:9px;padding:5px}.asset-status:empty{display:none}
.workspace{display:flex;flex-direction:column;min-width:0;border-left:1px solid var(--line);background:white;overflow:hidden}.room-header{padding:26px 28px;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:105px;border-bottom:1px solid var(--line)}.room-header h2{font:500 22px Outfit;margin:0 0 5px;letter-spacing:-.3px}.room-header p{font-size:11px;color:var(--muted);margin:0}.call-start{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--accent);border:1px solid var(--line);border-radius:30px;padding:11px 14px;min-height:44px}.view{min-height:0;flex:1}.chat-view{display:flex;flex-direction:column}.chat-scroll{overflow-y:auto;padding:28px;flex:1;scrollbar-width:thin}.welcome{margin:18px 0 38px}.small-orbit{display:grid;place-items:center;background:var(--wash);color:var(--accent);width:46px;height:46px;border-radius:50%;font-size:28px;margin-bottom:20px}.welcome p{font-size:13px;color:var(--muted);margin-bottom:12px}.welcome h3{font:400 clamp(28px,2.5vw,37px)/1.22 Outfit;letter-spacing:-.8px;margin:0 0 14px}.welcome>span:last-child{font-size:11px;color:var(--muted)}.messages{display:grid;gap:20px}.message{max-width:91%;font-size:14px;line-height:1.7;overflow-wrap:anywhere}.message-label{font-size:11px;color:var(--muted);margin-bottom:6px;display:flex;align-items:center;gap:7px}.message-label i{height:6px;width:6px;background:var(--accent);border-radius:50%}.message p{margin:0}.message.user{justify-self:end;background:var(--wash);padding:12px 16px;border-radius:18px 18px 3px 18px}.message.system{font-size:12px;color:var(--muted);background:var(--wash);padding:12px;border-radius:10px}.chat-bottom{padding:18px 24px 22px}.suggestions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}.suggestions button{font-size:12px;border:1px solid var(--line);border-radius:25px;padding:10px 13px;min-height:40px;color:var(--muted)}.suggestions button:hover{border-color:var(--accent);color:var(--accent)}.composer{display:flex;gap:10px;align-items:flex-end;border:1px solid #d8cee5;padding:10px 10px 10px 16px;border-radius:22px;background:#fff}.composer:focus-within{border-color:var(--accent)}textarea{border:0;resize:none;outline:none;background:transparent;width:100%;padding:11px 0;font-size:14px;line-height:1.5;max-height:110px;color:var(--ink)}textarea::placeholder{color:var(--muted)}.send{background:var(--accent);color:white;width:42px;height:42px;flex-shrink:0;border-radius:50%}.privacy-note{font-size:10px;line-height:1.6;color:var(--muted);text-align:center;margin:12px 0 0}.privacy-note svg{width:12px;height:12px;margin-right:4px}
.content-view{overflow:auto;padding:32px 28px}.content-view h3{font:400 32px/1.2 Outfit;letter-spacing:-.6px;margin:0 0 14px}.intro-copy{color:var(--muted);font-size:13px;line-height:1.75;margin:0 0 25px}.inline-note{background:var(--wash);border-radius:12px;padding:14px;font-size:12px;line-height:1.7;color:var(--muted)}.section-heading{font:500 19px Outfit;margin:30px 0 12px}.memory-entry{border-bottom:1px solid var(--line);padding:20px 0}.memory-entry p{font-size:14px;line-height:1.6;margin:8px 0}.memory-entry small{font-size:11px;color:var(--muted)}.memory-actions{display:flex;gap:18px;margin-top:8px}.text-button{padding:10px 0;font-size:12px;color:var(--accent);min-height:40px}.danger{color:#ac304e}.primary,.secondary{border-radius:30px;padding:13px 20px;font-size:13px;font-weight:600;min-height:46px}.primary{background:var(--accent);color:#fff}.secondary{border:1px solid #d8cee5;background:#fff}.content-view>.secondary{margin-top:18px}.setting-row{padding:20px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.setting-row label,.setting-row strong{font-size:14px;font-weight:500}.setting-row p{font-size:12px;line-height:1.7;color:var(--muted);margin:6px 0 0;max-width:32ch}.setting-row input[type=checkbox]{accent-color:var(--accent);width:22px;height:22px;flex-shrink:0}.setting-row select{border:1px solid var(--line);padding:10px;border-radius:10px;background:#fff;font-size:12px;max-width:150px}.empty-state{text-align:center;padding:30px 10px;color:var(--muted);font-size:13px;line-height:1.7}
.call-view{padding:28px;text-align:center;overflow:auto;display:flex;flex-direction:column;align-items:center}.call-label{font-size:11px;color:var(--muted)}.call-orbit{width:142px;height:142px;border:1px solid #ddd0f2;border-radius:50%;display:grid;place-items:center;margin:32px 0 22px;box-shadow:0 0 0 14px #f4f0fb,0 0 0 28px #fbf9fe;color:var(--accent)}.call-orbit span{font-size:70px;font-family:Outfit}.call-view>p#call-status{font-size:12px;color:var(--accent);margin:12px 0}.call-view h3{font:400 31px Outfit;letter-spacing:-.6px;margin:0 0 15px}.caption{font-size:14px;line-height:1.7;max-width:34ch;min-height:72px;margin:0}.call-demo-actions{display:grid;gap:3px;margin:16px 0 20px}.call-controls{display:flex;gap:21px;justify-content:center;margin-top:auto}.round-control{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:11px;padding:5px;min-width:64px}.round-control>span:first-child{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:var(--wash)}.round-control[aria-pressed=true]>span:first-child{background:#e5d9f6;color:var(--accent)}.end-call>span:first-child{background:#b52e51!important;color:#fff}.call-footnote{font-size:10px;line-height:1.6;color:var(--muted);margin:20px 0 0}dialog{border:1px solid var(--line);border-radius:24px;padding:38px;width:min(460px,calc(100vw - 32px));max-height:85dvh;color:var(--ink);box-shadow:0 25px 100px #20172c26}dialog::backdrop{background:#20172c66}.dialog-close{position:absolute;right:12px;top:12px}dialog h2{font:500 28px Outfit;letter-spacing:-.5px;padding-right:18px;margin:6px 0 15px}dialog p{font-size:13px;line-height:1.8;color:var(--muted)}dialog label{font-size:12px;display:block;margin:18px 0 8px}dialog textarea{border:1px solid var(--line);border-radius:12px;padding:12px;min-height:95px}dialog .dialog-actions{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:13px 20px;background:var(--ink);color:#fff;border-radius:14px;z-index:10;font-size:12px;max-width:90vw;box-shadow:0 8px 30px #20172c22}.toast:empty{display:none}
@media(min-width:1600px){.shell{grid-template-columns:120px 1fr 590px}.room-header{padding:30px 38px}.chat-scroll{padding:38px}.stage-bottom{left:60px;bottom:45px}.chat-bottom{padding:24px 36px}.welcome{margin-top:55px}}
@media(max-width:1050px){.shell{grid-template-columns:80px minmax(260px,1fr) minmax(360px,1.1fr)}.topbar{padding:0 24px}.top-note{margin-left:0}.stage-bottom{left:22px;right:16px}.stage-top{left:22px}.character-picker{gap:6px}.character-picker button{padding-right:11px;gap:5px}.room-header{padding:20px}.chat-scroll{padding:24px}.call-start span:last-child{display:none}.call-start{padding:11px}.world-label{max-width:130px;line-height:1.7}}
@media(max-width:760px){.topbar{height:65px;padding:0 18px;gap:12px}.brand{font-size:31px}.top-note{display:none}.demo-badge{font-size:10px;padding:8px 11px;min-height:38px}.shell{height:calc(100dvh - 65px);min-height:620px;display:grid;grid-template-columns:1fr;grid-template-rows:172px minmax(0,1fr) 66px}.rail{grid-row:3;padding:0 14px calc(env(safe-area-inset-bottom,0px));border:0;border-top:1px solid var(--line);display:block;background:#fff;z-index:2}.nav-main{display:flex;gap:12px;height:100%;align-items:center;justify-content:space-around}.nav-item{min-height:52px;flex-direction:row;justify-content:center;gap:7px;font-size:11px;width:auto;padding:10px 17px}.help,.guest{display:none}.stage{grid-row:1}.stage>img,.stage>video{width:62%;left:auto;right:0;object-position:50% 31%;object-fit:cover;height:300px;top:-12px}.stage:after{background:linear-gradient(90deg,var(--wash) 0%,#f4f0fbdf 32%,transparent 65%),linear-gradient(0deg,#f4f0fb 0%,transparent 30%)}.stage-top{top:10px;left:auto;right:12px}.world-label{display:none}.stage-top .icon-button{width:36px;height:36px}.stage-bottom{bottom:13px;left:23px;right:auto}.character-tag{font-size:10px}.stage-bottom h1{font-size:34px;letter-spacing:-1px;margin:5px 0 10px}.stage-bottom p{display:none}.character-picker{gap:6px}.character-picker button{font-size:11px;min-height:38px;padding:8px 15px;background:#fffd}.character-picker img{display:none}.asset-status{top:45px;font-size:10px;max-width:150px;right:10px}.workspace{grid-row:2;border-left:0}.room-header{padding:13px 20px;min-height:70px}.room-header h2{font-size:19px}.room-header p{font-size:10px}.call-start{padding:10px}.call-start span:last-child{display:inline}.chat-scroll{padding:20px}.welcome{margin:4px 0 23px}.small-orbit{display:none}.welcome p{font-size:11px;margin:0 0 8px}.welcome h3{font-size:26px;margin-bottom:9px}.welcome h3 br{display:none}.welcome>span:last-child{font-size:10px}.message{font-size:13px}.messages{gap:16px}.chat-bottom{padding:10px 16px 10px}.suggestions{margin-bottom:9px;gap:6px}.suggestions button{font-size:11px;padding:9px 11px;min-height:36px}.composer{padding:6px 7px 6px 13px;border-radius:21px}textarea{font-size:16px;padding:9px 0}.privacy-note{font-size:9px;margin-top:7px}.send{height:40px;width:40px}.content-view{padding:24px 22px}.content-view h3{font-size:29px}.toast{bottom:80px;width:max-content;text-align:center}.call-view{padding:18px}.call-orbit{width:76px;height:76px;margin:20px 0 12px;box-shadow:0 0 0 8px #f4f0fb,0 0 0 16px #fbf9fe}.call-orbit span{font-size:45px}.call-view h3{font-size:26px}.caption{font-size:12px;min-height:55px}.call-demo-actions{margin:10px 0}.call-footnote{margin:10px 0 0}.call-controls{gap:14px}.round-control>span:first-child{width:44px;height:44px}}
@media(max-height:750px) and (max-width:760px){.shell{grid-template-rows:132px minmax(0,1fr) 62px;min-height:530px}.stage-bottom h1{font-size:29px}.stage>img,.stage>video{height:250px}.character-tag{display:none}.welcome{margin-top:0}.welcome p{display:none}.welcome h3{font-size:23px}.call-orbit{display:none}.call-footnote{display:none}.call-view{padding:12px}.call-view>p#call-status{margin:6px 0}}
.stage-bottom p{white-space:pre-line}
dialog.character-dialog .dialog-actions{position:sticky;bottom:-38px;background:var(--paper);padding:14px 0;margin-bottom:0;z-index:1}
.primary-companion{display:inline-block;font-size:11px;color:var(--accent);padding:10px 0;border-top:1px solid var(--line)}
dialog.character-dialog{width:min(800px,calc(100vw - 32px))}.companion-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 16px}.companion-option{padding:0 0 16px;text-align:left;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:white}.companion-option[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.companion-option img{display:block;width:100%;height:160px;object-fit:cover}.companion-option strong{display:block;font:500 23px Outfit;margin:14px 14px 7px}.companion-option span,.companion-option small{display:block;margin:0 14px;font-size:12px;line-height:1.7;color:var(--muted)}.companion-option small{margin-top:10px;font-size:10px;color:var(--accent)}.choice-description{min-height:24px}.primary-setting .section-heading{margin-top:18px}.primary-setting .secondary{flex-shrink:0;padding:11px 14px}
@media(max-width:600px){dialog.character-dialog{padding:24px}.companion-options{grid-template-columns:1fr;gap:10px;margin:18px 0}.companion-option{display:grid;grid-template-columns:94px 1fr;padding:0;column-gap:0;min-height:105px}.companion-option img{grid-column:1;grid-row:1/4;width:94px;height:100%;object-fit:cover}.companion-option strong{font-size:20px;margin:10px 12px 2px}.companion-option span,.companion-option small{margin:0 12px;font-size:10px}.companion-option small{margin:3px 12px 10px}.primary-companion{font-size:10px;padding:6px 0}.primary-setting .setting-row{flex-wrap:wrap}.character-dialog h2{font-size:27px}.character-dialog>div>p{font-size:12px}}
@media(max-width:760px){.shell{grid-template-columns:minmax(0,1fr)}.rail{min-width:0}.nav-main{gap:4px}.nav-item{padding:10px 12px}}
@media(max-width:360px){.nav-item{flex-direction:column;gap:3px;font-size:10px;padding:5px 12px}.call-start span:last-child{display:none}.demo-badge{gap:5px;font-size:9px}.room-header h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
