:root{--bg:#0b101c;--panel:#141c2c;--text:#e9edf6;--muted:#98a8c0;--mint:#afe1e4;--accent:#a7dadd;--line:#a8bcdf18;--rail:72px}
body{background:radial-gradient(ellipse at top,#18213a,#0b101c 60%)}
.rail{background:#0d1422;border-color:#879cc514}.nav-btn{color:#8190ad}.nav-btn.active,.nav-btn:hover{background:#a8c1e410;color:#b9dce6}.brandmark{color:#c1dce8;height:70px}.rail-links{margin-top:24px}.topbar{height:70px;padding:0 25px}.subtitle{color:#8f9fb7}.connection{color:#bcdbd9}.connection b{animation:breathe 3.6s infinite}.local-badge{color:#7e8fa9}main{max-width:1900px;padding:0 22px 15px}
.stage{height:calc(100svh - 157px);min-height:530px;max-height:1100px;border-radius:19px;border-color:#afc6fa24;background:linear-gradient(180deg,#08132912 35%,#080d2377 78%,#080d23e8),url('./assets/night-room-v1.png') center center/cover no-repeat;box-shadow:0 20px 70px #0003}
.stage-grid,.ambient,.avatar-halo,.avatar-floor{display:none}.stage-grain{opacity:.025}.scene-heading{left:34px;top:30px}.scene-heading .eyebrow{font-size:8px;letter-spacing:2px;color:#a3bad7}.scene-heading h1{font-family:'Microsoft YaHei UI',sans-serif;font-size:clamp(23px,2.5vw,36px);font-weight:300;line-height:1.6;letter-spacing:3px;margin:18px 0;color:#ebf1ff;text-shadow:0 2px 30px #11182d}.scene-heading p{color:#9caec8;font-size:11px}.scene-top-right{top:25px;right:28px;color:#a9b7cc}.scene-tag{color:#b4c3d5}
.avatar-wrap{width:auto;height:158%;aspect-ratio:1;left:51%;top:-11%;bottom:auto;transform:translateX(-50%);align-items:flex-start}.avatar-wrap canvas{width:100%;height:100%;filter:drop-shadow(0 10px 22px #040d3055)}
.character-name{right:auto;left:33px;top:auto;bottom:192px;gap:5px}.name-line strong{font-size:17px;color:#d9edff}.name-line>span{color:#b9c8e2;border-color:#b5c9f133}.character-caption{color:#93aac7;max-width:none}.scene-bottom-left{left:33px;bottom:153px}.scene-note{display:none}.mood-line{color:#aecbdc}.mood-orb{background:#a9c8f0;box-shadow:0 0 16px #8cace8}.scene-bottom-right{bottom:155px;right:30px;color:#9fb7cd;font-size:10px}.call-timer{color:#c8e3ed}
.live-caption{position:absolute;z-index:4;left:50%;transform:translateX(-50%);bottom:165px;width:min(590px,60%);text-align:center;pointer-events:none}.caption-speaker{font-size:10px;letter-spacing:4px;color:#b7d7e8;display:block;margin-bottom:8px}.live-caption p{margin:0;line-height:1.85;color:#f0f2fb;font-size:14px;text-shadow:0 2px 5px #000,0 0 18px #090c23;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.call-status{position:absolute;bottom:124px;left:0;width:100%;text-align:center;z-index:5;font-size:10px;color:#a8bfd4;letter-spacing:1px}.stage-dock{position:absolute;z-index:8;bottom:45px;left:26px;right:26px;display:flex;align-items:center;gap:10px;padding:10px;background:#111a32c9;border:1px solid #b0c2e72b;border-radius:18px;backdrop-filter:blur(22px);box-shadow:0 12px 45px #0004}
.video-call-btn{height:43px;padding:0 18px;border-radius:11px;background:#b7dce1;color:#1b3443;white-space:nowrap;font-size:12px;box-shadow:0 0 20px #91cce00a}.video-call-btn:hover{background:#d1f0f4}.call-controls{position:static;transform:none;background:transparent;border:0;box-shadow:none;backdrop-filter:none;padding:0;gap:5px;flex-shrink:0}.call-control{width:37px;height:37px;color:#b7c6dc;background:#b4c8f00a}.call-control:hover,.call-control.on{background:#adcfdc;color:#183348}.call-control.end-call{background:#ad5465;color:#fff}.control-divider{background:#91afd522;margin:0 3px}.composer{position:static;flex:1;min-width:0;border:1px solid #b3c6f21a;border-radius:11px;background:#080e1e9c;padding:5px;box-shadow:none;margin:0}.composer-inner{min-width:0}.composer textarea{font-size:12px;color:#e1eafa}.composer textarea::placeholder{color:#8393b0}.composer>.icon-btn{width:30px;height:30px;color:#98adc7}.composer-mic{display:none!important}.send-btn{height:32px;width:34px;flex-shrink:0;background:#b4d7de;color:#1b3442;border-radius:8px}.capture-note{position:absolute;bottom:19px;left:16px;right:16px;text-align:center;font-size:9px;letter-spacing:.5px;color:#8597b6;z-index:4}
.self-preview{right:25px;top:80px;width:180px;border-color:#b1c9ec40;background:#141f32;border-radius:12px}.self-preview span{color:#b3c5da}.self-preview button{background:#2a3d56;color:#c8dfeb;font-size:10px}.vision-toggle{display:flex;align-items:center;gap:5px;font-size:9px;color:#bdcadc;padding:9px 6px}.vision-toggle input{accent-color:#9bd3d9;margin:0}.conversation{margin:12px 2px 0}.conversation-header{margin:0}.conversation-header strong,.text-btn{color:#9cafc8}.conversation-header span{color:#70829c}.conversation .messages{display:none}.history-open .conversation .messages{display:block;height:300px;max-height:45svh;padding:16px;background:#101a2c;border:1px solid #35415a;border-radius:12px;margin-top:10px}.composer-footer{display:none}.space-footer{margin:9px 0 0;padding-top:10px}.space-footer button{color:#91a6bf}.footer-quote{color:#60748f}.working{position:fixed;bottom:137px;left:50%;transform:translateX(-50%);width:min(460px,75vw);border:1px solid #b2c5ec2b;border-radius:10px;background:#111c32ee;color:#c7d9ee;padding:9px 13px;z-index:12}.bubble{background:#18283a;border-color:#7897c21a}.message.user .bubble{background:#273347}.message-avatar{background:#24324c;color:#c3d2e8}.message-label{color:#8f9fb8}
.drawer{background:#101725;border-color:#354463}.drawer .eyebrow{color:#8facce}.drawer .panel-intro{color:#a1b1cb}.panel-card{background:#172235;border-color:#5870922e}.panel-card p,.small-help{color:#93a6c0}.panel-card .number{color:#cee7f4}.field{background:#111b2c;border-color:#425777;color:#d3e1f3}.field option{background:#142139}.secondary-btn{background:#1a2940;border-color:#657b993b;color:#b6cadf}.primary-btn{background:#b4d9e1;color:#1c3446}.form-label,.toggle-row{color:#afc5df}.source-quote{background:#0e1829;border-color:#7194b4;color:#a9c5dd}.toast{background:#1c2e44;border-color:#7593b6;color:#dceafa}.memory-item{background:#111d32b5;border-color:#54709630}.memory-item:hover{border-color:#9ab4dc77}.memory-item p{color:#bfcee2}.memory-meta,.memory-item small{color:#8fa8c5;font-size:10px}.memory-detail{background:#142137f5;border-color:#8093b650}.memory-detail small{color:#9fb6d4}.detail-close{display:block;margin-left:auto}.memory-detail p{white-space:pre-wrap;overflow-wrap:anywhere}.section-label{color:#9fbbd5}
.memory-universe{width:calc(100% - var(--rail));border:0;background:#060612}.memory-universe .drawer-header{position:absolute;inset:0 0 auto;z-index:4;border:0;background:linear-gradient(#060612a8,transparent);padding:35px 42px;pointer-events:none}.memory-universe .drawer-header h2{font-size:40px;font-weight:300;letter-spacing:8px;text-shadow:0 0 30px #bba1ff55}.memory-universe .drawer-header .icon-btn{pointer-events:auto;background:#24335080;width:38px;height:38px;color:#becce5}.memory-universe .drawer-body{position:relative;height:100%;padding:0;overflow:hidden}.memory-universe .graph-shell{position:absolute;inset:0;border:0;border-radius:0;width:100%;height:100%;margin:0;background:#060612}.graph-shell canvas{display:block}.universe-intro{position:absolute;top:141px;left:42px;pointer-events:none}.universe-intro p{font-size:12px;color:#9fa5c4;letter-spacing:1px}.universe-intro>span{font-size:10px;letter-spacing:1.5px;color:#7c8ba8}.universe-search{position:absolute;top:40px;left:360px;right:112px;display:flex;flex-wrap:wrap;gap:8px;max-width:640px}.universe-search>.field{flex:1;min-width:130px;background:#10172cbb;backdrop-filter:blur(12px)}.universe-search>.secondary-btn{padding:9px 13px;background:#151c35b0}.universe-filters{display:flex;width:100%;gap:8px}.universe-filters .field{width:33.33%;background:#121a31e8}.universe-list{position:absolute;left:38px;top:220px;bottom:155px;width:310px;overflow:auto;scrollbar-width:thin;padding:12px;border:1px solid #8c9cc825;background:#090e20cc;backdrop-filter:blur(16px);border-radius:16px}.universe-list .section-label{margin:0 3px 10px}.universe-list .memory-item p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.memory-universe #memory-detail:not(:empty){position:absolute;right:30px;top:120px;bottom:140px;width:365px;overflow:auto;scrollbar-width:thin;border-radius:14px;background:#111c30ef;backdrop-filter:blur(12px);z-index:5}.memory-universe .memory-detail{margin:0;border-radius:14px}.universe-bottom{position:absolute;bottom:34px;left:40px;pointer-events:none}.universe-bottom p{color:#6f7c9d;font-size:9px;line-height:1.9;letter-spacing:.4px}.brain-legend{font-size:10px;color:#aab6d0;gap:15px}.brain-legend b{width:6px;height:6px;box-shadow:0 0 8px currentColor}.universe-actions{position:absolute;bottom:38px;right:35px;display:flex;align-items:center;gap:8px}.universe-actions>.secondary-btn{font-size:10px;background:#131c31aa;border-radius:10px}.universe-actions .graph-tools{position:static;display:flex;margin-left:12px;gap:5px}.universe-actions .graph-tools button{background:#1a233dbb;border:1px solid #c0ccec22;color:#c6d2ed;width:33px;height:34px;font-size:15px}.graph-tooltip{background:#151d35ee;border-color:#8a9ed288;color:#d0ddf0;box-shadow:0 10px 25px #0006}.stage:fullscreen{height:100svh;min-height:0;max-height:none}.stage:fullscreen .avatar-wrap{height:158%;width:auto;left:51%;top:-11%;transform:translateX(-50%)}
@media(max-width:1100px){.stage-dock{left:18px;right:18px;gap:7px}.video-call-btn{padding:0 13px}.call-controls{gap:1px}.call-control{width:33px;height:33px}.scene-heading h1{font-size:26px}.character-name{left:25px}.live-caption{width:53%;bottom:164px}.universe-search{left:310px;right:85px}.universe-actions{bottom:27px}.universe-bottom{bottom:88px}.memory-universe #memory-detail:not(:empty){bottom:150px;right:20px;width:330px}.universe-list{bottom:155px}}
@media(max-width:760px){:root{--rail:0px}.rail{height:61px;padding-bottom:env(safe-area-inset-bottom);background:#0c1424f2}.nav-btn{height:49px}.topbar{height:58px;padding:0 16px}.subtitle{font-size:9px}.brand-divider{height:13px}.topbar .wordmark{gap:10px}.connection{font-size:10px}main{padding:0 8px 80px}.stage{height:calc(100svh - 168px);min-height:530px;max-height:none;border-radius:15px;background-position:52% center}.scene-heading{left:20px;top:22px}.scene-heading .eyebrow{font-size:6px;letter-spacing:1.3px}.scene-heading h1{font-size:22px;line-height:1.6;margin-top:11px;letter-spacing:2px}.scene-heading p{display:none}.scene-top-right{right:17px;top:24px}.scene-tag{font-size:8px;max-width:95px;line-height:1.8}.avatar-wrap{height:129%;width:auto;left:50%;top:6%;transform:translateX(-50%)}.stage:fullscreen .avatar-wrap{height:135%;width:auto;left:50%;top:0;transform:translateX(-50%)}.character-name{left:18px;bottom:241px;top:auto}.name-line strong{font-size:13px}.name-line>span{display:none}.character-caption{display:none}.scene-bottom-left{left:18px;bottom:220px}.mood-line{font-size:8px}.scene-bottom-right{bottom:221px;right:18px;max-width:160px;display:flex;flex-direction:row;font-size:8px}.live-caption{bottom:170px;width:calc(100% - 42px);max-width:500px}.live-caption .caption-speaker{display:none}.live-caption p{font-size:12px;-webkit-line-clamp:2}.call-status{bottom:143px;font-size:9px}.stage-dock{bottom:37px;left:12px;right:12px;display:grid;grid-template-columns:1fr auto;gap:8px;padding:8px;border-radius:14px}.video-call-btn{height:34px;font-size:11px;padding:0 10px}.call-controls{justify-content:flex-end;gap:2px}.call-control{width:29px;height:29px}.call-control i svg{width:15px;height:15px}.call-controls .control-divider{display:none}.stage-dock .composer{grid-column:1/-1;position:static!important;padding:4px;width:100%;min-height:39px;box-shadow:none;background:#08101fab}.capture-note{bottom:14px;font-size:7px;letter-spacing:0;left:8px;right:8px}.self-preview{right:14px;top:66px;width:108px}.self-preview span,.self-preview button{font-size:8px}.vision-toggle{font-size:7px;padding:6px 4px;gap:3px}.vision-toggle input{width:11px;height:11px}.conversation{margin:8px 3px 0}.conversation-header{height:25px}.conversation-header span{font-size:8px}.space-footer{margin-top:4px;padding-top:7px}.space-footer button{font-size:8px}.working{bottom:218px;left:50%;right:auto;transform:translateX(-50%);width:80%;font-size:9px}.toast{bottom:155px}.history-open .messages{max-height:55svh}.memory-universe{width:100%;padding:0}.memory-universe .drawer-header{padding:24px}.memory-universe .drawer-header h2{font-size:29px;letter-spacing:6px}.memory-universe .drawer-header .eyebrow{font-size:8px}.universe-intro{left:25px;top:108px}.universe-intro p{font-size:10px}.universe-intro>span{font-size:8px}.universe-search{top:172px;left:22px;right:22px;gap:6px}.universe-search>.field{font-size:10px;padding:9px;width:0;min-width:110px}.universe-search>.secondary-btn{font-size:9px;padding:7px 9px}.universe-filters{gap:5px}.universe-filters .field{font-size:9px;padding:7px}.universe-bottom{left:22px;right:18px;bottom:80px}.brain-legend{font-size:8px;gap:10px}.universe-bottom p{font-size:7px;line-height:1.8}.universe-actions{left:22px;right:22px;bottom:25px;justify-content:space-between;gap:5px}.universe-actions>.secondary-btn{font-size:9px;padding:8px 9px}.universe-actions .graph-tools{margin-left:auto;gap:3px}.universe-actions .graph-tools button{width:28px;height:30px}.universe-list{left:20px;right:20px;top:255px;bottom:160px;width:auto;z-index:4}.memory-universe #memory-detail:not(:empty){left:18px;right:18px;top:240px;bottom:150px;width:auto}.keyboard-open .stage-dock{position:fixed;left:8px;right:8px;bottom:calc(var(--keyboard-offset,0px) + 8px);z-index:15}.keyboard-open .working{bottom:calc(var(--keyboard-offset,0px) + 122px)}.keyboard-open .rail{visibility:hidden}}
@media(max-height:700px) and (min-width:761px){.stage{min-height:470px}.scene-heading h1{font-size:25px}}
/* Keep the complete gaze and controls visible on narrow and short screens. */
@media(min-width:761px){.avatar-wrap,.stage:fullscreen .avatar-wrap{height:148%;top:-5%}}
@media(max-width:760px){.stage{min-height:420px}.avatar-wrap{height:min(115%,185vw);top:5%}.character-name{bottom:auto;top:155px}.scene-bottom-left{bottom:auto;top:184px}.scene-bottom-right{bottom:149px;right:18px;font-size:7px}.live-caption{bottom:170px}.call-status{bottom:133px}.stage-dock{bottom:33px}.capture-note{bottom:12px;font-size:6.5px}}
@media(max-width:760px){.stage-dock{bottom:48px}.capture-note{bottom:9px;font-size:9px;line-height:1.5;max-width:350px;margin:auto}.composer textarea{font-size:16px}.video-call-btn{font-size:12px}.call-control{height:34px;width:32px}.call-status{bottom:153px}.live-caption{bottom:180px}.scene-bottom-right{bottom:165px}.universe-bottom p{font-size:9px}.universe-bottom{bottom:91px}.brain-legend{font-size:9px}.universe-search>.field{font-size:12px}.universe-search>.secondary-btn{font-size:10px}}
