:root{color:#f8f3f8;font-synthesis:none;text-rendering:optimizelegibility;background:#0d0b12;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}body{color:#f8f3f8;background:#0d0b12;min-height:100vh;overflow-x:hidden}button,input,textarea{font:inherit}.page-loading{color:#c9bacd;background:radial-gradient(circle at 65% 40%,#33243b,#0d0b12 62%);place-items:center;min-height:100vh;display:grid}.app-shell{background:#0d0b12;min-height:100vh;overflow:hidden}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:30;background:linear-gradient(90deg,#0f0c14fa,#15101ce6);border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;height:68px;padding:0 30px;display:flex;position:relative}.brand{align-items:center;gap:11px;display:flex}.brand-mark{background:linear-gradient(145deg,#f1a16f,#9b6fd0);border-radius:12px;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 9px 28px #d9797533}.brand div{gap:1px;display:grid}.brand strong{letter-spacing:.16em;font-size:17px}.brand small{color:#8f8394;font-size:10px}.top-actions{align-items:center;gap:8px;display:flex}.top-actions .ant-btn{color:#bfb2c4;border-radius:50%;width:36px;height:36px}.top-actions .ant-btn:hover{color:#fff!important;background:#ffffff14!important}.user-name{color:#958a9b;margin:0 4px;font-size:12px}.connection-dot{cursor:help;background:#ffffff0a;border:1px solid #ffffff17;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.connection-dot i{background:#4f9b78;border-radius:50%;width:7px;height:7px;transition:background .3s,box-shadow .3s}.connection-dot[data-tone=live] i{background:#6ce3a6;box-shadow:0 0 12px #6ce3a6cc}.connection-dot[data-tone=busy] i{background:#f0a76f;animation:1.1s ease-in-out infinite dot-pulse;box-shadow:0 0 10px #f0a76f99}.connection-dot[data-tone=error] i{background:#e98585;box-shadow:0 0 10px #e98585b3}@keyframes dot-pulse{50%{opacity:.55;transform:scale(1.42)}}.immersive-workspace{background:radial-gradient(circle at 48% 48%,#5c383a38,#0000 27%),linear-gradient(135deg,#17111d 0%,#100d15 54%,#17101c 100%);grid-template-columns:minmax(400px,48%) 1fr;height:calc(100dvh - 68px);min-height:620px;display:grid;position:relative;overflow:hidden}.immersive-workspace:before{content:"";pointer-events:none;z-index:2;background:linear-gradient(90deg,#0000 0 38%,#0d0a114d 49%,#0000 70%);position:absolute;inset:0}.left-experience{z-index:10;box-sizing:border-box;grid-area:1/1;justify-content:center;min-width:0;height:100%;min-height:0;padding:20px 26px 18px 30px;display:flex;position:relative}.error-banner{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);position:absolute;top:14px;left:30px;right:26px;background:#3f2918eb!important;border-color:#ffb86b47!important}.companion-stage{background:linear-gradient(160deg,#30263a,#16111c 58%,#0e0b12);grid-area:1/2;min-width:0;height:100%;position:relative;overflow:hidden}.companion-stage:before{content:"";z-index:3;pointer-events:none;background:linear-gradient(90deg,#100d15 0%,#100d15d1 8%,#100d152e 38%,#0000 66%),linear-gradient(#0000 70%,#08070bc7);position:absolute;inset:0}.sky-glow{z-index:1;aspect-ratio:1;filter:blur(18px);background:radial-gradient(circle,#e285623b,#8659921a 42%,#0000 70%);border-radius:50%;width:75%;position:absolute;top:8%;left:-22%}.portrait{background:linear-gradient(150deg,var(--character-accent),#2a1f31 55%,#0d0b12);position:absolute;inset:0;overflow:hidden}.portrait-ring{z-index:2;opacity:.3;border:1px solid #ffffff0d;border-radius:47% 47% 30% 30%;position:absolute;inset:6% 5%}.character-media{object-fit:cover;-webkit-user-select:none;user-select:none;width:100%;height:100%;transition:transform .35s,filter .35s;display:block;transform:scale(1.002)}.fallback-face{background:radial-gradient(circle at 52% 32%,#f4b19a47,#0000 35%);place-items:end center;width:100%;height:100%;padding-top:6%;display:grid}.fallback-avatar{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 36px 42px #00000061);width:96%;height:94%}.stage-shade{z-index:4;pointer-events:none;background:radial-gradient(circle at 56% 40%,#0000 0 34%,#0f0c1414 65%),linear-gradient(90deg,#0e0b127a,#0000 38%);position:absolute;inset:0}.stage-identity{z-index:8;text-align:right;text-shadow:0 2px 16px #000000a6;justify-items:end;gap:4px;display:grid;position:absolute;bottom:23px;right:24px}.stage-identity strong{letter-spacing:.1em;font-size:20px}.stage-identity small{color:#ffffffa8;font-size:11px}.render-badge{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#f7eef7;background:#0f0c1485;border:1px solid #ffffff21;border-radius:999px;align-items:center;gap:5px;margin-bottom:7px;padding:6px 10px;font-size:10px;display:flex}.stage-ambient{z-index:7;pointer-events:none;position:absolute;inset:0}.stage-ambient i{opacity:.3;background:#ffd1aa;border-radius:50%;width:3px;height:3px;animation:8s ease-in-out infinite float-particle;position:absolute;box-shadow:0 0 11px #f2a878}.stage-ambient i:first-child{top:22%;left:17%}.stage-ambient i:nth-child(2){animation-delay:-1.8s;top:16%;left:75%}.stage-ambient i:nth-child(3){animation-delay:-4s;top:52%;left:84%}.stage-ambient i:nth-child(4){animation-delay:-5.5s;top:74%;left:24%}.stage-ambient i:nth-child(5){animation-delay:-2.8s;top:82%;left:60%}@keyframes float-particle{50%{opacity:.75;transform:translateY(-18px)scale(1.5)}}.status-ai-speaking .character-media{transform:scale(calc(1.008 + var(--audio-level)*.014));filter:saturate(calc(1 + var(--audio-level)*.08));transition:transform 60ms linear}.status-processing .portrait-ring{animation:1.45s ease-in-out infinite thinking-ring}@keyframes thinking-ring{50%{opacity:.62;inset:4% 3%}}.lip-sync-mouth{z-index:9;height:calc(3px + var(--audio-level)*15px);min-height:3px;max-height:19px;transform:translate(-50%,-50%) scaleX(calc(.94 + var(--audio-level)*.08));box-shadow:0 0 calc(4px + var(--audio-level)*12px) #f4697e59,inset 0 1px 1px #ffffff42;pointer-events:none;mix-blend-mode:multiply;background:radial-gradient(at 50% 30%,#8f3348 0,#451821 58%,#16090d 100%);border-radius:50%;transition:height 42ms linear,transform 42ms linear,opacity .16s;position:absolute;overflow:hidden}.lip-sync-mouth i{height:40%;opacity:calc(.35 + var(--audio-level)*.58);background:linear-gradient(#e27889,#762238);border-radius:50%;position:absolute;bottom:5%;left:18%;right:18%}.lip-sync-mouth b{background:#ffcecfb8;border-radius:50%;height:2px;position:absolute;top:-1px;left:17%;right:17%}.lip-sync-mouth em{background:#ffece47a;border-radius:50%;height:1px;position:absolute;top:22%;left:24%;right:24%}.voice-wave{z-index:8;opacity:0;align-items:center;gap:4px;transition:opacity .2s;display:flex;position:absolute;bottom:13%;left:50%;transform:translate(-50%)}.voice-wave i{background:#ffd2b2;border-radius:999px;width:2px;height:7px;animation:.58s ease-in-out infinite paused wave;display:block}.voice-wave i:nth-child(2),.voice-wave i:nth-child(4){animation-delay:-.18s}.voice-wave i:nth-child(3){animation-delay:-.34s}.status-ai-speaking .voice-wave{opacity:.8}.status-ai-speaking .voice-wave i{animation-play-state:running}@keyframes wave{50%{height:calc(8px + var(--audio-level)*22px)}}.conversation-card{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:linear-gradient(#21192abd,#100c169e);border:1px solid #ffffff12;border-radius:26px;flex-direction:column;width:100%;max-width:820px;height:100%;min-height:0;max-height:100%;padding:15px 17px 13px;display:flex;position:relative;overflow:auto;box-shadow:0 34px 90px #0000006b,inset 0 1px #ffffff0d}.chat-header{border-bottom:1px solid #ffffff0f;flex:none;justify-content:space-between;align-items:center;gap:16px;padding:3px 5px 13px;display:flex}.chat-peer{align-items:center;gap:12px;min-width:0;display:flex}.peer-avatar-slot{flex:0 0 46px;width:46px;height:46px;position:relative}.peer-avatar{color:#ffc9a3;background:radial-gradient(circle at 38% 30%,#7d4a44,#241a2b);border-radius:50%;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden;box-shadow:0 0 0 1px #ffffff1a,0 10px 26px #00000057}.peer-avatar img{object-fit:cover;object-position:50% 20%;width:100%;height:100%;display:block}.peer-avatar-slot:after{content:"";opacity:0;border:1px solid #ffb18766;border-radius:50%;transition:opacity .3s;position:absolute;inset:-5px}.peer-avatar-slot.is-speaking:after,.peer-avatar-slot.is-listening:after{opacity:1;animation:1.5s ease-out infinite peer-ring}.peer-avatar-slot.is-speaking:after{animation-duration:.9s}.peer-dot{z-index:2;background:#6ce3a6;border:2px solid #191323;border-radius:50%;width:11px;height:11px;position:absolute;bottom:1px;right:0;box-shadow:0 0 10px #6ce3a6b3}.conversation-status-ai-speaking .peer-dot{background:#ffc38d;box-shadow:0 0 12px #ffa374d9}.peer-meta{gap:3px;min-width:0;display:grid}.peer-meta strong{letter-spacing:.09em;color:#f7eef7;align-items:center;gap:9px;font-size:19px;font-weight:500;display:flex}.peer-live{letter-spacing:.14em;color:#d7c6da;background:#ffffff0b;border:1px solid #ffffff1a;border-radius:999px;flex:none;padding:3px 8px;font-size:9px;font-style:normal}.peer-status{color:#a99dab;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.chat-header-actions{flex:none;align-items:center;gap:8px;display:flex}.eyebrow{color:#b8aabf;letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:7px;font-size:10px;display:inline-flex}.message-count{color:#756d7b;white-space:nowrap;border:1px solid #ffffff14;border-radius:999px;padding:6px 10px;font-size:10px}.message-list{scrollbar-width:thin;scrollbar-color:#ffffff1f transparent;flex-direction:column;flex:auto;gap:14px;min-height:0;padding:16px 10px 14px 3px;display:flex;overflow:auto;-webkit-mask-image:linear-gradient(#0000,#000 3% 98.5%,#0000);mask-image:linear-gradient(#0000,#000 3% 98.5%,#0000)}.message-list>.message:first-of-type{margin-top:auto}.message{align-items:flex-start;gap:9px;max-width:min(86%,600px);animation:.28s both message-in;display:flex}.bubble-avatar{color:#ffc9a3;background:radial-gradient(circle at 38% 30%,#7d4a44,#241a2b);border:1px solid #ffffff17;border-radius:50%;flex:0 0 26px;place-items:center;width:26px;height:26px;margin-top:15px;display:grid;overflow:hidden}.bubble-avatar img{object-fit:cover;object-position:50% 20%;width:100%;height:100%;display:block}.bubble-body{gap:5px;min-width:0;display:grid}.bubble-meta{color:#746b79;align-items:center;gap:7px;padding:0 4px;font-size:9px;display:flex}.message-audio-button{color:#aa9bab;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff17;border-radius:999px;align-items:center;gap:3px;padding:1px 5px;font-size:9px;line-height:1.4;transition:color .2s,background .2s,border-color .2s;display:inline-flex}.message-audio-button:hover:not(:disabled),.message-audio-button.is-playing{color:#f5c2a9;background:#c8777929;border-color:#ea998940}.message-audio-button:disabled{cursor:default;opacity:.78}.message-audio-button.is-paused{color:#f3c7a5;background:#f3c7a51a;border-color:#f3c7a56b}.bubble-meta b{color:#5e5764;font-weight:400}.message p{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#dcd3df;background:#ffffff0d;border:1px solid #ffffff12;border-radius:5px 17px 17px;margin:0;padding:10px 14px;font-size:13px;line-height:1.7;box-shadow:0 10px 26px #0000001a}.message.user{flex-direction:row-reverse;align-self:flex-end}.message.user .bubble-meta{justify-content:flex-end}.message.user p{color:#fff;background:linear-gradient(135deg,#97677a4d,#5a3f6c3d);border-color:#ea99892e;border-radius:17px 5px 17px 17px}.message.image-message{max-width:min(80%,440px)}.generated-image{object-fit:cover;border-radius:18px 18px 0 0;width:100%;max-height:340px;display:block}.image-message .ant-image{width:100%;display:block}.image-message .ant-image-img{object-fit:cover;border-radius:18px 18px 0 0;width:100%;max-height:340px;display:block}.image-message p{border-radius:0 0 18px 18px}@keyframes message-in{0%{opacity:0;transform:translateY(7px)}}@keyframes peer-ring{0%{opacity:.85;transform:scale(.94)}to{opacity:0;transform:scale(1.22)}}.empty-state{color:#746b79;text-align:center;margin:auto;padding:0 20px}.empty-state .orb.small{background:radial-gradient(circle at 38% 32%,#f7c184,#7f4a52 45%,#211827 74%);border-radius:50%;width:38px;height:38px;margin:0 auto 13px;animation:3.4s ease-in-out infinite orb-breathe;box-shadow:0 0 30px #ec91684d}.empty-state h3{color:#a99dab;margin:0 0 6px;font-size:14px;font-weight:500}.empty-state p{margin:0;font-size:11.5px;line-height:1.8}.composer{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#19131fb8;border:1px solid #ffffff17;border-radius:17px;flex:none;grid-template-columns:38px minmax(0,1fr) 42px 46px;align-items:end;gap:7px;margin-top:13px;padding:6px;display:grid;box-shadow:0 18px 50px #0003}.composer .ant-input{resize:none;box-shadow:none!important;color:#f3ecf4!important;background:0 0!important;border:0!important;padding:8px 10px!important}.composer .ant-input::placeholder{color:#6f6575}.composer .ant-btn{border-radius:12px;height:42px}.composer .ant-btn-primary{box-shadow:0 10px 24px #e57e622b}.composer-extra.ant-btn{color:#9a8da0;background:0 0;border:0;height:42px;padding:0}.composer-extra.ant-btn:hover{color:#fff!important;background:#ffffff14!important}@keyframes orb-breathe{50%{opacity:.55;transform:scale(1.09)}}.creative-dock{z-index:24;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:linear-gradient(145deg,#251c2bf7,#120e18f7);border:1px solid #ffffff1c;border-radius:20px;width:min(560px,100% - 34px);padding:18px;animation:.2s both dock-in;position:absolute;top:20px;right:22px;box-shadow:0 28px 80px #00000075}@keyframes dock-in{0%{opacity:0;transform:translateY(-8px)}}.creative-dock-heading{justify-content:space-between;align-items:flex-start;margin-bottom:15px;display:flex}.creative-dock-heading>div{gap:7px;display:grid}.creative-dock-heading strong{color:#8e8494;font-size:12px;font-weight:400}.creative-dock-heading .ant-btn{color:#9f94a5}.experience-selects{flex-wrap:wrap;align-items:flex-end;gap:9px;display:flex}.experience-selects label{flex:1;gap:5px;min-width:140px;display:grid}.experience-selects label>span{color:#8c8192;font-size:10px}.experience-selects .ant-select{width:100%}.experience-selects .ant-select-selector,.image-generator-inline .ant-input-affix-wrapper,.image-generator-inline .ant-select-selector{background:#17121c!important;border-color:#ffffff17!important}.image-generator-inline{grid-template-columns:minmax(230px,1fr) 112px auto;gap:8px;margin-top:12px;display:grid}.image-generator-inline .ant-input-affix-wrapper,.image-generator-inline .ant-select-selector{min-height:40px!important}.image-generator-inline .ant-btn{height:40px}.feature-disabled{color:#938799;align-items:center;gap:8px;margin-top:12px;font-size:11px;display:flex}.creative-hint{color:#6f6575;align-items:center;gap:6px;margin-top:11px;font-size:9px;display:flex}.settings-drawer .ant-drawer-header{background:#1a1520;border-bottom:1px solid #ffffff14}.settings-drawer .ant-drawer-body{background:#120f19;padding:20px 24px}.settings-drawer .ant-alert{background:linear-gradient(135deg,#9b83d71f,#9b83d70f);border:1px solid #9b83d73d;border-radius:14px;align-items:flex-start;padding:14px 16px}.settings-drawer .ant-alert .ant-alert-icon{color:#a98fd6;margin-top:2px}.settings-drawer .ant-alert .ant-alert-message{color:#e2d5ec;letter-spacing:.04em;font-size:13px;font-weight:500}.settings-drawer .ant-alert .ant-alert-description{color:#aa9cb4;font-size:12px;line-height:1.75}.settings-drawer .ant-descriptions-bordered .ant-descriptions-item-label{color:#9b8da2;background:#ffffff08;border-color:#ffffff0f;width:28%;font-size:11.5px;font-weight:400}.settings-drawer .ant-descriptions-bordered .ant-descriptions-item-content{color:#d4c5d8;background:#ffffff03;border-color:#ffffff0f;font-size:12px}.settings-group{margin-bottom:24px}.settings-group:last-of-type{margin-bottom:26px}.settings-group-title{color:#b8a3c7;letter-spacing:.08em;align-items:center;gap:8px;margin:0 0 10px;padding:0 2px;font-size:12px;font-weight:500;display:flex}.settings-group-title i{color:#9b83c4;place-items:center;display:grid}.settings-mono{color:#c8b8d1;background:#9b83d714;border:1px solid #9b83d724;border-radius:4px;padding:2px 6px;font-family:ui-monospace,Consolas,Courier New,monospace;font-size:11px}.settings-tip{background:linear-gradient(135deg,#9b83d714,#ec7b680f);border:1px solid #9b83d72e;border-radius:16px;align-items:flex-start;gap:14px;margin-top:22px;padding:16px 18px;display:flex;box-shadow:0 8px 24px #0000001f}.settings-tip-icon{color:#b8a3d7;background:linear-gradient(145deg,#9b83d729,#9b83d714);border:1px solid #9b83d73d;border-radius:12px;flex:0 0 40px;place-items:center;width:40px;height:40px;display:grid}.settings-tip-content{flex:1;gap:6px;min-width:0;display:grid}.settings-tip-content strong{color:#d4c5e2;letter-spacing:.08em;font-size:13px;font-weight:500}.settings-tip-content p{color:#b0a2b8;margin:0;font-size:12px;line-height:1.7}.creative-toggle{color:#b6a8bb;cursor:pointer;background:#ffffff08;border:1px solid #ffffff12;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:9px;padding:8px 11px;display:flex}.creative-toggle:hover{background:#ffffff0e;border-color:#ffffff1f}.creative-toggle>svg{color:#d3a58c;flex:none}.creative-toggle>span{font-size:11px}.creative-toggle small{color:#7d7284;text-align:right;flex:auto;min-width:120px;font-size:9px;line-height:1.6}.creative-toggle .ant-switch{background:#ffffff24;min-width:28px;height:16px;line-height:16px}.creative-toggle .ant-switch .ant-switch-handle{width:12px;height:12px;top:2px}.creative-toggle .ant-switch.ant-switch-checked{background:#c87779}@media (width<=520px){.creative-toggle small{text-align:left;flex-basis:100%;min-width:0}}.auth-page{background:radial-gradient(circle at 22% 40%,#6b457573,#0000 38%),linear-gradient(135deg,#17111e,#0e0c13);grid-template-columns:minmax(460px,1.2fr) minmax(430px,.8fr);min-height:100vh;display:grid}.auth-hero{background:linear-gradient(90deg,#0000,#0c0a1029);flex-direction:column;justify-content:center;padding:9vh 8vw;display:flex}.auth-brand{color:#f5c2a2;align-items:center;gap:9px;font-weight:600;display:flex}.auth-hero h1{letter-spacing:.04em;margin:42px 0 22px;font-size:clamp(45px,6vw,78px);font-weight:300;line-height:1.14}.auth-hero>p{color:#aea0b3;max-width:610px;line-height:1.8}.auth-pills{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.auth-pills span{color:#d8ccd9;background:#ffffff09;border:1px solid #ffffff1a;border-radius:999px;padding:7px 12px;font-size:11px}.auth-card{background:#201928f0;border:1px solid #ffffff1a;border-radius:26px;width:min(430px,100% - 40px);margin:auto;padding:34px;box-shadow:0 30px 80px #00000059}.auth-card h2{margin:0;font-size:28px}.auth-card>p{color:#9e91a4}@media (width<=1050px){.immersive-workspace{grid-template-columns:minmax(380px,52%) 1fr}.left-experience{padding:16px 18px 14px 20px}.conversation-card{border-radius:22px;padding:13px 14px 11px}.peer-meta strong{font-size:17px}.error-banner{left:20px;right:18px}.creative-dock{right:14px}.topbar{padding:0 20px}}@media (width<=820px){html,body{height:var(--app-vh,100dvh);overscroll-behavior:none;overflow:hidden}.app-shell{height:var(--app-vh,100dvh);flex-direction:column;display:flex;overflow:hidden}.stage-identity{display:none}.immersive-workspace{flex:auto;height:auto;min-height:0;display:block;overflow:hidden}.companion-stage{height:calc(var(--app-vh,100dvh)*.52);opacity:.66;min-height:380px;transition:opacity .2s;position:absolute;inset:0 0 auto}.companion-stage:before{background:linear-gradient(#100d1514,#100d1559 45%,#100d15 100%),linear-gradient(90deg,#100d1559,#0000)}.left-experience{height:100%;min-height:0;padding:22px 16px calc(16px + env(safe-area-inset-bottom));flex-direction:column;justify-content:flex-start;display:flex}.conversation-card{-webkit-backdrop-filter:none;backdrop-filter:none;max-width:none;min-height:0;max-height:none;box-shadow:none;background:0 0;border:0;border-radius:0;flex:auto;padding:0;overflow:hidden}.chat-header{border-bottom-color:#ffffff17}.message-list{max-height:calc(var(--app-vh,100dvh)*.34);overscroll-behavior:contain;flex:0 auto;margin-top:auto}.creative-dock{width:auto;max-height:calc(var(--app-vh,100dvh) - 96px);overscroll-behavior:contain;position:fixed;top:76px;left:14px;right:14px;overflow:auto}.topbar{flex:none;height:64px}.top-actions .user-name,.brand small{display:none}.auth-page{height:var(--app-vh,100dvh);min-height:var(--app-vh,100dvh);overscroll-behavior:contain;grid-template-columns:1fr;overflow:auto}.auth-hero{display:none}html[data-keyboard=open] .message-list{flex:auto;max-height:none}html[data-keyboard=open] .companion-stage{opacity:.4}}@media (width<=520px){.topbar{padding:0 12px}.brand strong{font-size:15px}.left-experience{padding:16px 12px 12px}.peer-avatar-slot{flex-basis:40px;width:40px;height:40px}.peer-meta strong{font-size:16px}.peer-live{display:none}.peer-status{max-width:52vw}.emotion-chip,.message-count{display:none}.message-list{max-height:calc(var(--app-vh,100dvh)*.32);padding-right:4px}.message{max-width:90%}.composer{margin-top:11px}.creative-dock{padding:15px}.experience-selects{grid-template-columns:1fr 1fr;display:grid}.experience-selects label{min-width:0}.image-generator-inline{grid-template-columns:1fr 105px}.image-generator-inline .ant-btn{grid-column:1/-1}.auth-card{padding:26px}}.app-shell{--stage-ambient-color:#3b2f24}.app-shell .topbar{background:linear-gradient(90deg,#0f0c14fa,color-mix(in srgb,var(--stage-ambient-color) 24%,#15101ceb))}.app-shell .immersive-workspace{background:radial-gradient(circle at 72% 32%,color-mix(in srgb,var(--stage-ambient-color) 42%,transparent),transparent 34%),radial-gradient(circle at 48% 48%,#5c383a38,transparent 27%),linear-gradient(135deg,#17111d 0%,#100d15 54%,#17101c 100%)}.app-shell .companion-stage{background:radial-gradient(circle at 62% 26%,color-mix(in srgb,var(--stage-ambient-color) 58%,transparent),transparent 40%),linear-gradient(160deg,#30263a,#16111c 58%,#0e0b12)}.stage-config-tagline{letter-spacing:.08em;opacity:.9;margin-top:9px;font-style:normal;display:block;color:#d9a38f!important;font-size:10px!important}.app-shell[data-stage-theme=light]{color:#302b34;background:#f4eee9}.app-shell[data-stage-theme=light] .topbar{background:linear-gradient(90deg,#fffcf9fa,color-mix(in srgb,var(--stage-ambient-color) 12%,#fff8f3));border-bottom-color:#503c341f;box-shadow:0 8px 24px #533d340f}.app-shell[data-stage-theme=light] .brand strong{color:#302b34}.app-shell[data-stage-theme=light] .brand small,.app-shell[data-stage-theme=light] .user-name{color:#776d79}.app-shell[data-stage-theme=light] .connection-dot{background:#ffffff9e;border-color:#503c3421}.app-shell[data-stage-theme=light] .top-actions .ant-btn{color:#655c69}.app-shell[data-stage-theme=light] .immersive-workspace{background:radial-gradient(circle at 72% 30%,color-mix(in srgb,var(--stage-ambient-color) 20%,transparent),transparent 36%),linear-gradient(135deg,#fffaf7,#f4ece7 55%,#eee3df)}.app-shell[data-stage-theme=light] .immersive-workspace:before{background:linear-gradient(90deg,#0000 0 46%,#ffffff29 56%,#0000 76%)}.app-shell[data-stage-theme=light] .companion-stage{background:radial-gradient(circle at 58% 24%,color-mix(in srgb,var(--stage-ambient-color) 34%,transparent),transparent 42%),linear-gradient(160deg,#f7eee9,#eadfda 58%,#ded1cf)}.app-shell[data-stage-theme=light] .companion-stage:before{background:linear-gradient(90deg,#f4ece7 0%,#f4ece7b8 10%,#f4ece71f 42%,#0000 68%),linear-gradient(#0000 70%,#43322f66)}.app-shell[data-stage-theme=light] .conversation-card{background:linear-gradient(#fffcfae0,#faf3efc2);border-color:#503c341f;box-shadow:0 30px 76px #533d341f,inset 0 1px #fff9}.app-shell[data-stage-theme=light] .chat-header{border-bottom-color:#503c341f}.app-shell[data-stage-theme=light] .peer-meta strong,.app-shell[data-stage-theme=light] .empty-state h3{color:#2f2933}.app-shell[data-stage-theme=light] .peer-status{color:#6b6270}.app-shell[data-stage-theme=light] .peer-live{color:#6b6270;background:#ffffffb3;border-color:#503c3429}.app-shell[data-stage-theme=light] .peer-dot{border-color:#fdf8f5}.app-shell[data-stage-theme=light] .message p{color:#3b333f;background:#ffffffbd;border-color:#503c341f}.app-shell[data-stage-theme=light] .message.user p{color:#2f2933;background:linear-gradient(135deg,#ec7b6829,#9b83d724);border-color:#d67c683d}.app-shell[data-stage-theme=light] .quick-prompts button{color:#6b6270;background:#fff9;border-color:#503c3424}.app-shell[data-stage-theme=light] .round-control.ant-btn{color:#6b6270;background:#ffffffb8;border-color:#503c3424}.app-shell[data-stage-theme=light] .bubble-meta,.app-shell[data-stage-theme=light] .message-count,.app-shell[data-stage-theme=light] .empty-state p{color:#8a8090}.app-shell[data-stage-theme=light] .stage-caption{background:#fffcfab8;border-color:#503c3424}.app-shell[data-stage-theme=light] .stage-caption.is-live{background:#fffcfae6;border-color:#d67c6857}.app-shell[data-stage-theme=light] .stage-caption>i{background:#503c3457}.app-shell[data-stage-theme=light] .stage-caption.is-live>i{background:#e2794f;box-shadow:0 0 12px #e2794f8c}.app-shell[data-stage-theme=light] .stage-caption p{color:#3b333f;text-shadow:none}.zhaomu-maintenance{text-align:center;background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--stage-ambient-color) 34%,transparent),transparent 30%),linear-gradient(145deg,#17111d,#0d0b12);flex-direction:column;justify-content:center;align-items:center;min-height:calc(100dvh - 68px);padding:48px 24px;display:flex}.zhaomu-maintenance>span{color:#f0aa89;width:58px;height:58px;box-shadow:0 18px 50px color-mix(in srgb,var(--stage-ambient-color) 38%,transparent);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:20px;place-items:center;display:grid}.zhaomu-maintenance small{color:#d9a38f;letter-spacing:.2em;margin-top:22px;font-size:10px}.zhaomu-maintenance h1{letter-spacing:.08em;margin:9px 0 10px;font-family:Georgia,Noto Serif SC,serif;font-size:34px;font-weight:500}.zhaomu-maintenance p{color:#a89cab;max-width:520px;margin:0 0 24px;font-size:13px;line-height:1.8}.app-shell[data-stage-theme=light] .zhaomu-maintenance{color:#302b34;background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--stage-ambient-color) 22%,transparent),transparent 31%),linear-gradient(145deg,#fffaf7,#eee3df)}.app-shell[data-stage-theme=light] .zhaomu-maintenance p{color:#776d79}.companion-stage{--look-x:0px;--look-y:0px;--tilt-x:0deg;--tilt-y:0deg;--glow-x:50%;--glow-y:42%;--reaction-x:50%;--reaction-y:45%;isolation:isolate;perspective:1100px;cursor:default}.companion-stage .portrait{transform-style:preserve-3d}.portrait-parallax{z-index:1;transform:translate3d(var(--look-x),var(--look-y),0) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) scale(1.055);transform-origin:52% 45%;will-change:transform;transition:transform .26s cubic-bezier(.2,.75,.2,1);position:absolute;inset:-2.5%}.portrait-breathe{transform-origin:52% 58%;will-change:transform;animation:7.2s ease-in-out infinite zhaomu-breathe;position:absolute;inset:0}.portrait-breathe>.character-media,.portrait-breathe>.portrait-face{width:100%;height:100%;position:absolute;inset:0;transition:filter .35s!important;transform:none!important}.motion-paused .portrait-parallax{transition:transform .3s;transform:scale(1.055)!important}.motion-paused .portrait-breathe,.motion-paused .stage-ambient i,.motion-paused .portrait-light-sweep{animation-play-state:paused!important}.view-close .portrait-parallax{transform:translate3d(var(--look-x),var(--look-y),0) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) scale(1.17)}.status-ai-speaking .portrait-breathe{animation:1.8s ease-in-out infinite zhaomu-speaking-body}.status-processing .portrait-breathe{animation-duration:3.1s}.portrait-light-sweep{z-index:10;pointer-events:none;opacity:.18;mix-blend-mode:screen;background:linear-gradient(108deg,#0000 34%,#ffebd940 46%,#0000 57%);animation:9s ease-in-out infinite portrait-light-pass;position:absolute;inset:-20%;transform:translate(-60%)}.stage-cursor-glow{z-index:6;left:var(--glow-x);top:var(--glow-y);aspect-ratio:1;pointer-events:none;opacity:.34;filter:blur(18px);mix-blend-mode:screen;background:radial-gradient(circle,#ffc49638,#e5807c14 38%,#0000 70%);border-radius:50%;width:45%;transition:left .22s,top .22s,opacity .3s;position:absolute;transform:translate(-50%,-50%)}.motion-paused .stage-cursor-glow{opacity:.12;top:42%;left:50%}.stage-reaction{z-index:14;left:var(--reaction-x);top:var(--reaction-y);pointer-events:none;color:#ffb49f;opacity:0;width:10px;height:10px;position:absolute}.stage-reaction>i{border:1px solid #ffc0a6b8;border-radius:50%;position:absolute;inset:-22px;transform:scale(.2)}.stage-reaction>i:nth-child(2){border-color:#e199d76b;inset:-38px}.stage-reaction>span{filter:drop-shadow(0 0 12px #ff9184e6);position:absolute;top:-15px;left:-9px;transform:translateY(8px)scale(.5)}.is-reacting .stage-reaction{opacity:1}.is-reacting .stage-reaction>i{animation:.9s ease-out forwards touch-ripple}.is-reacting .stage-reaction>i:nth-child(2){animation-delay:80ms}.is-reacting .stage-reaction>span{animation:1.15s ease-out forwards heart-rise}.is-reacting .portrait-parallax{filter:saturate(1.06)brightness(1.025);transition-duration:.18s}.stage-motion-controls{z-index:16;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:.78;background:#0d0a126b;border:1px solid #ffffff1a;border-radius:16px;align-items:center;gap:7px;padding:6px;transition:opacity .25s,transform .25s;display:flex;position:absolute;top:22px;left:22px;transform:translateY(-4px);box-shadow:0 12px 34px #0000002e}.companion-stage:hover .stage-motion-controls,.stage-motion-controls:focus-within{opacity:1;transform:translateY(0)}.stage-motion-controls button{color:#ffffffa6;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:6px;height:31px;padding:0 10px;font-size:10px;transition:all .22s;display:flex}.stage-motion-controls button:hover,.stage-motion-controls button.active{color:#fff;background:#ffffff17;border-color:#ffba9738;box-shadow:inset 0 0 18px #f2997a14}.stage-motion-controls button:focus-visible{outline-offset:2px;outline:2px solid #ffb9919e}.motion-tip{color:#ffffff85;white-space:nowrap;align-items:center;gap:5px;padding:0 8px;font-size:9px;display:flex}.stage-presence{z-index:15;color:#ffffffb8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);letter-spacing:.08em;background:#0c091059;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:9px;display:flex;position:absolute;top:23px;right:23px}.stage-presence i{background:#71e6ae;border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite presence-pulse;box-shadow:0 0 14px #71e6aecc}.status-ai-speaking .stage-presence i{background:#ffc38d;animation-duration:.65s;box-shadow:0 0 16px #ffa374e6}.stage-actor-panel{z-index:16;box-sizing:border-box;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:.72;background:#0d0a126b;border:1px solid #ffffff1a;border-radius:16px;width:188px;padding:7px;transition:opacity .25s;position:absolute;top:62px;right:23px;box-shadow:0 12px 34px #0000002e}.companion-stage:hover .stage-actor-panel,.stage-actor-panel:focus-within{opacity:1}.stage-actor-head{color:#fff9;letter-spacing:.08em;justify-content:space-between;align-items:center;gap:6px;padding-left:6px;font-size:9px;display:flex}.stage-actor-head>span{align-items:center;gap:5px;display:flex}.stage-actor-head button{color:#ffffff8c;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:0 0 24px;justify-content:center;align-items:center;width:24px;height:24px;transition:color .22s,background .22s;display:flex}.stage-actor-head button:hover{color:#fff;background:#ffffff17}.stage-actor-head button svg{transition:transform .22s}.stage-actor-panel.is-collapsed .stage-actor-head button svg{transform:rotate(-90deg)}.stage-actor-body{flex-direction:column;gap:9px;margin-top:8px;display:flex}.stage-actor-group{flex-direction:column;gap:5px;display:flex}.stage-actor-group em{color:#ffffff61;letter-spacing:.1em;align-items:center;gap:4px;padding-left:3px;font-size:8.5px;font-style:normal;display:flex}.stage-actor-chips{flex-wrap:wrap;gap:4px;display:flex}.stage-actor-chips button{color:#ffffffa8;cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:9px;height:24px;padding:0 8px;font-size:10px;transition:color .22s,border-color .22s,background .22s}.stage-actor-chips button:hover:not(:disabled){color:#fff;background:#ffffff17;border-color:#ffba9738}.stage-actor-chips button.active{color:#fff;background:#f2997a2e;border-color:#ffba9766;box-shadow:inset 0 0 16px #f2997a1f}.stage-actor-chips button:disabled{opacity:.34;cursor:default}.stage-actor-reset{color:#ffffff8f;cursor:pointer;background:0 0;border:1px solid #ffffff14;border-radius:10px;justify-content:center;align-items:center;gap:5px;height:26px;font-size:9.5px;transition:color .22s,border-color .22s,background .22s;display:flex}.stage-actor-reset:hover{color:#fff;background:#ffffff12;border-color:#ffba9738}.stage-actor-panel button:focus-visible{outline-offset:2px;outline:2px solid #ffb9919e}.status-ai-speaking .portrait{box-shadow:inset 0 0 calc(38px + var(--audio-level)*52px) #ef907038}.status-ai-speaking .stage-cursor-glow{opacity:calc(.38 + var(--audio-level)*.32)}.status-ai-speaking .lip-sync-mouth{filter:saturate(calc(1 + var(--audio-level)*.18))}.stage-ambient i:nth-child(6){animation-delay:-2.7s;top:16%;left:72%}.stage-ambient i:nth-child(7){animation-delay:-5.2s;top:57%;left:83%}.stage-caption{z-index:9;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:.6;background:#0b080f66;border:1px solid #ffffff17;border-radius:16px;align-items:flex-start;gap:10px;max-width:min(60%,520px);padding:11px 15px;transition:opacity .35s,transform .35s,border-color .35s,background .35s;display:flex;position:absolute;bottom:24px;left:24px;transform:translateY(5px)}.stage-caption.is-live{opacity:1;background:#0b080f99;border-color:#ffba8e52;transform:none}.stage-caption>i{background:#ffffff61;border-radius:50%;flex:0 0 6px;width:6px;height:6px;margin-top:7px}.stage-caption.is-live>i{background:#ffc38d;animation:.7s ease-in-out infinite presence-pulse;box-shadow:0 0 12px #ffa374e6}.stage-caption p{color:#ffffffd6;text-shadow:0 2px 14px #0009;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:12.5px;line-height:1.72;display:-webkit-box;overflow:hidden}.companion-stage:hover .stage-caption{opacity:1;transform:none}.emotion-chip{color:#d98f98;white-space:nowrap;background:#e577840f;border:1px solid #eb97981f;border-radius:999px;align-items:center;gap:5px;padding:5px 9px;font-size:9px;display:flex}.quick-prompts{z-index:2;flex-wrap:wrap;flex:none;gap:7px;margin:12px 2px 0;display:flex;position:relative}.quick-prompts button{color:#8e8292;cursor:pointer;background:#ffffff06;border:1px solid #ffffff12;border-radius:999px;align-items:center;gap:5px;height:28px;padding:0 10px;font-size:10px;transition:color .2s,border-color .2s,background .2s,transform .2s;display:flex}.quick-prompts button:hover{color:#f6eaf4;background:#ef8e7112;border-color:#e9977f33;transform:translateY(-1px)}.quick-prompts button:disabled{opacity:.45;cursor:default;transform:none}.typing-message p{align-items:center;gap:4px;min-width:55px;height:36px;display:flex}.typing-message p i{background:#d8a690;border-radius:50%;width:5px;height:5px;animation:1s ease-in-out infinite typing-dot}.typing-message p i:nth-child(2){animation-delay:.14s}.typing-message p i:nth-child(3){animation-delay:.28s}.composer{transition:border-color .25s,box-shadow .25s,transform .25s}.composer:focus-within{border-color:#ef9c8247;transform:translateY(-1px);box-shadow:0 20px 54px #00000040,0 0 0 3px #ef9c820b}.message p{transition:border-color .2s,background .2s,transform .2s}.message:hover p{background:#ffffff0f;border-color:#ffffff1f;transform:translateY(-1px)}.message.user:hover p{background:linear-gradient(135deg,#97677a4f,#5a3f6c42);border-color:#ea99893b}@keyframes zhaomu-breathe{0%,to{transform:translate(0,0)scale(1)}42%{transform:translateY(-3px)scale(1.008)}68%{transform:translate(1px,-1px)scale(1.003)}}@keyframes zhaomu-speaking-body{0%,to{transform:translate(0,0)scale(1.004)}30%{transform:translateY(-2px)scale(1.012)}60%{transform:translate(1px)scale(1.007)}}@keyframes portrait-light-pass{0%,22%{opacity:0;transform:translate(-70%)}36%{opacity:.2}54%,to{opacity:0;transform:translate(70%)}}@keyframes touch-ripple{0%{opacity:.8;transform:scale(.2)}to{opacity:0;transform:scale(1.35)}}@keyframes heart-rise{0%{opacity:0;transform:translateY(8px)scale(.5)}18%{opacity:1;transform:translateY(-3px)scale(1)}to{opacity:0;transform:translateY(-45px)scale(.75)rotate(8deg)}}@keyframes presence-pulse{0%,to{opacity:.65;transform:scale(.82)}50%{opacity:1;transform:scale(1.15)}}@keyframes typing-dot{0%,60%,to{opacity:.42;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}@media (width<=1050px){.stage-motion-controls{top:16px;left:16px}.motion-tip{display:none}.stage-presence{top:16px;right:16px}.stage-actor-panel{width:168px;top:52px;right:16px}.stage-caption{max-width:74%;padding:9px 12px;bottom:16px;left:16px}.stage-caption p{-webkit-line-clamp:2;font-size:11.5px}.quick-prompts{max-width:520px}}@media (width<=760px){.companion-stage{pointer-events:none}.stage-motion-controls,.stage-presence,.stage-caption,.stage-actor-panel{display:none}.portrait-parallax{inset:-1%;transform:scale(1.04)}.quick-prompts{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:3px;overflow-x:auto}.quick-prompts::-webkit-scrollbar{display:none}.quick-prompts button{flex:none}}@media (prefers-reduced-motion:reduce){.portrait-breathe,.portrait-light-sweep,.stage-ambient i,.stage-presence i,.stage-caption>i,.connection-dot i,.typing-message p i,.empty-state .orb.small,.peer-avatar-slot:after{animation:none!important}.portrait-parallax,.stage-cursor-glow{transition:none!important}.stage-reaction{display:none}.quick-prompts button,.composer,.message p,.stage-actor-panel,.stage-actor-panel *{transition:none!important}.stage-actor-panel{opacity:1}}.composer-voice-hold.ant-btn{touch-action:none;-webkit-user-select:none;user-select:none;color:#c7b8ca;background:#ffffff0b;border:0;height:42px;padding:0}.composer-voice-hold.ant-btn:hover{color:#fff!important;background:#ffffff17!important}.composer-voice-hold.is-listening{box-shadow:0 0 0 4px #c84f5d1f;color:#fff!important;background:#c84f5d!important}.conversation-status-listening .peer-dot{background:#f09c82;box-shadow:0 0 12px #f09c82d9}.conversation-status-transcribing .peer-dot{background:#d6a8ff;box-shadow:0 0 12px #b882e8b3}.composer{background:linear-gradient(#1f1826e0,#14101acc);border-radius:20px;grid-template-columns:none;align-items:stretch;gap:0;padding:7px 8px;display:block;box-shadow:0 20px 56px #00000040,inset 0 1px #ffffff09}.composer.is-listening{border-color:#ec7b686b;box-shadow:0 20px 56px #00000040,0 0 0 3px #ec7b6814}.composer-input-row{min-height:50px;padding:1px 4px 4px}.composer-input-row .ant-input{min-height:42px;font-size:13px;line-height:1.65;padding:8px 7px!important}.composer-toolbar{border-top:1px solid #ffffff0f;justify-content:space-between;align-items:center;gap:10px;padding-top:6px;display:flex}.composer-toolbar-left,.composer-toolbar-actions{align-items:center;gap:7px;min-width:0;display:flex}.composer-toolbar-left{flex:1}.composer-toolbar-actions{flex:none}.composer-extra.ant-btn{width:32px;border-radius:10px!important;height:32px!important}.composer-toggle{color:#a99bac;cursor:pointer;white-space:nowrap;background:#ffffff09;border-radius:10px;align-items:center;gap:6px;height:30px;padding:0 8px;transition:color .2s,background .2s;display:flex}.composer-toggle:hover{color:#f6edf7;background:#ffffff12}.composer-toggle>span:not(.ant-switch){font-size:10px}.composer-toggle .ant-switch{background:#ffffff24;min-width:26px;height:15px;line-height:15px}.composer-toggle .ant-switch .ant-switch-handle{width:11px;height:11px;top:2px}.composer-toggle .ant-switch.ant-switch-checked{background:#c87779}.composer-voice-hold.ant-btn{background:#ffffff0e;justify-content:center;align-items:center;gap:4px;width:auto;min-width:104px;display:inline-flex;border-radius:11px!important;height:34px!important;padding:0 12px!important}.composer-voice-hold.ant-btn>span{align-items:center;display:inline-flex}.voice-button-label{white-space:nowrap;font-size:10px}.composer-voice-hold kbd{color:inherit;box-shadow:none;font:inherit;background:0 0;border:0;border-radius:0;margin:0 1px;padding:0;font-weight:700}.composer-voice-hold.is-listening{box-shadow:0 0 0 4px #c84f5d1f,0 8px 20px #c84f5d2e;background:linear-gradient(135deg,#c84f5d,#d56f64)!important}.composer-send.ant-btn{justify-content:center;align-items:center;width:36px;display:inline-flex;border-radius:11px!important;height:34px!important;padding:0!important}.composer-send.ant-btn>.ant-btn-icon{justify-content:center;align-items:center;line-height:0;display:inline-flex}.composer-send.ant-btn:disabled,.composer-send.ant-btn.ant-btn-disabled{color:#f7eef770!important;box-shadow:none!important;background:#ffffff17!important;border-color:#ffffff21!important}.app-shell[data-stage-theme=light] .composer{background:linear-gradient(#fffcfaf0,#f9f1ede6);border-color:#503c341f;box-shadow:0 20px 54px #533d341f,inset 0 1px #ffffffb3}.app-shell[data-stage-theme=light] .composer-toolbar{border-top-color:#503c3417}.app-shell[data-stage-theme=light] .composer .ant-input{color:#3d3540!important}.app-shell[data-stage-theme=light] .composer .ant-input::placeholder{color:#9a8f96}.app-shell[data-stage-theme=light] .composer-toggle,.app-shell[data-stage-theme=light] .composer-voice-hold.ant-btn{color:#675c68;background:#5b453d0f}.app-shell[data-stage-theme=light] .composer-voice-hold kbd{box-shadow:none;background:0 0}.app-shell[data-stage-theme=light] .composer-send.ant-btn:disabled,.app-shell[data-stage-theme=light] .composer-send.ant-btn.ant-btn-disabled{color:#3d354073!important;background:#5b453d1a!important;border-color:#503c3429!important}@media (width<=520px){.composer{padding:6px 7px}.composer-toolbar{gap:6px}.composer-toolbar-left,.composer-toolbar-actions{gap:5px}.composer-toggle{gap:4px;padding:0 5px}.composer-toggle>span:not(.ant-switch){display:none}.composer-voice-hold.ant-btn{width:42px;min-width:42px;padding:0!important}.voice-button-label{display:none!important}.composer-send.ant-btn{width:38px}}.image-message{--image-thumb-width:280px}.image-message.image-thumb-tall{--image-thumb-width:168px}.image-message.image-thumb-portrait{--image-thumb-width:210px}.image-message.image-thumb-square{--image-thumb-width:248px}.image-message.image-thumb-landscape{--image-thumb-width:300px}.image-message .bubble-body{width:min(72vw,var(--image-thumb-width))}.generated-image-placeholder,.generated-image-error{color:#eee4f0;text-align:center;isolation:isolate;background:radial-gradient(circle at 30% 16%,#e3918429,#0000 34%),linear-gradient(145deg,#312539f2,#18121ffa);border:1px solid #eea48b29;border-radius:18px 18px 0 0;flex-direction:column;justify-content:center;align-items:center;gap:9px;width:100%;min-height:160px;padding:24px;display:flex;position:relative;overflow:hidden}.image-placeholder-shimmer{z-index:0;background:linear-gradient(110deg,#0000 36%,#ffffff14 49%,#0000 62%);animation:2.1s ease-in-out infinite image-placeholder-shimmer;position:absolute;inset:-40%}.generated-image-placeholder>:not(.image-placeholder-shimmer){z-index:1;position:relative}.image-placeholder-icon{color:#ffd1b9;background:linear-gradient(145deg,#e2847038,#915c972e);border-radius:18px;place-items:center;width:58px;height:58px;animation:2.4s ease-in-out infinite image-placeholder-float;display:grid;box-shadow:0 16px 40px #00000038}.generated-image-placeholder strong,.generated-image-error strong{letter-spacing:.02em;font-size:14px;font-weight:650}.generated-image-placeholder small,.generated-image-error small{color:#95899c;max-width:280px;font-size:11px;line-height:1.6}.image-progress-dots{gap:5px;margin-top:2px;display:flex}.image-progress-dots i{background:#eda78e;border-radius:50%;width:6px;height:6px;animation:1.15s ease-in-out infinite image-progress-dot}.image-progress-dots i:nth-child(2){animation-delay:.16s}.image-progress-dots i:nth-child(3){animation-delay:.32s}.generated-image-error{color:#ffb7b2;background:linear-gradient(145deg,#3c1f2aeb,#1b131ffa);border-color:#e0646c33}.generated-image-error .ant-btn{color:#fff;background:#ffffff14;border-color:#ffffff24;margin-top:4px}.generated-image-thumbnail{cursor:zoom-in;background:#17121c;border:1px solid #ffffff14;border-radius:16px 16px 0 0;place-items:center;width:100%;display:grid;position:relative;overflow:hidden}.generated-image-thumbnail .ant-image{background:#17121c;width:100%;height:100%;display:block;position:relative;overflow:hidden}.generated-image-thumbnail .ant-image-img,.generated-image-thumbnail .generated-image{object-fit:contain;background:#17121c;border-radius:16px 16px 0 0;width:100%;height:100%;display:block}.generated-image-loading{color:#a99cad;background:linear-gradient(145deg,#2c2232,#17121c);justify-content:center;align-items:center;gap:8px;width:100%;height:100%;min-height:160px;display:flex}.generated-image-loading svg{animation:1.1s linear infinite image-loading-spin}.image-preview-mask{align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.image-message .bubble-body>p{box-sizing:border-box;width:100%}.image-prompt-note{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;color:#8d8194!important;background:0 0!important;border:0!important;border-radius:0!important;margin-top:-2px!important;padding:0 4px!important;font-size:10px!important;line-height:1.6!important}.image-prompt-note svg{vertical-align:-1px;color:#d3a58c;margin-right:3px}.app-shell[data-stage-theme=light] .image-prompt-note{color:#8a7c88!important}.image-message.is-pending p,.image-message.is-error p{color:#bdb1c0;border-top-color:#ffffff09}.image-message.is-pending:hover p,.image-message.is-error:hover p{transform:none}.app-shell[data-stage-theme=light] .generated-image-placeholder{color:#51444f;background:radial-gradient(circle at 30% 16%,#e0927a2e,#0000 34%),linear-gradient(145deg,#fffbf9fa,#f4eaeffa);border-color:#855b4c24}.app-shell[data-stage-theme=light] .generated-image-placeholder small{color:#897b88}.app-shell[data-stage-theme=light] .generated-image-error{color:#9f454d;background:linear-gradient(145deg,#fff5f3,#f9e8e8)}@keyframes image-placeholder-shimmer{0%{transform:translate(-34%)}to{transform:translate(34%)}}@keyframes image-placeholder-float{50%{transform:translateY(-5px);box-shadow:0 22px 48px #00000042}}@keyframes image-progress-dot{0%,80%,to{opacity:.35;transform:scale(.75)}40%{opacity:1;transform:scale(1)}}@keyframes image-loading-spin{to{transform:rotate(360deg)}}@media (width<=640px){.message.image-message{max-width:94%}.image-message .bubble-body{width:min(78vw,var(--image-thumb-width))}.generated-image-placeholder,.generated-image-error{min-height:150px;padding:18px}}@media (prefers-reduced-motion:reduce){.image-placeholder-shimmer,.image-placeholder-icon,.image-progress-dots i,.generated-image-loading svg{animation:none!important}}.zhaomu-thumb{cursor:zoom-in;line-height:0;display:block;position:relative;overflow:hidden}.zhaomu-thumb .zhaomu-thumb-inner.ant-image{width:100%;height:100%;display:block;overflow:hidden}.zhaomu-thumb .ant-image-img{width:100%;height:100%;display:block}.chat-message-image .ant-image-img,.composer-attachment-thumb .ant-image-img{object-fit:cover}.zhaomu-thumb .ant-image-cover{border-radius:inherit;color:#fff;opacity:0;cursor:zoom-in;background:#0c091080;transition:opacity .18s}.zhaomu-thumb:hover .ant-image-cover,.zhaomu-thumb .ant-image-cover:focus-visible{opacity:1}.zhaomu-thumb-cover{color:#fff;place-items:center;width:100%;height:100%;display:grid}.generated-image-thumbnail .zhaomu-thumb{border-radius:16px 16px 0 0;width:100%;height:100%}.zhaomu-preview-popup{z-index:2000}.zhaomu-preview-popup .ant-image-preview-img{max-width:88vw;max-height:76vh}.chat-message-images{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px;max-width:360px;display:grid}.chat-message-image{aspect-ratio:1;background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px}.message.user .chat-message-images{justify-self:end}.composer-attachments{flex-wrap:wrap;gap:6px;padding:4px 4px 7px;display:flex}.composer-attachment{background:#ffffff0b;border:1px solid #ffffff17;border-radius:13px;align-items:center;gap:7px;max-width:222px;padding:4px 7px 4px 4px;display:flex}.composer-attachment.is-uploading{opacity:.7}.composer-attachment.is-error{background:#c84f5d1a;border-color:#e0646c52}.composer-attachment-thumb{border-radius:9px;flex:0 0 32px;width:32px;height:32px}.composer-attachment-meta{gap:1px;min-width:0;display:grid}.composer-attachment-meta b{color:#cbbfcd;white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:400;overflow:hidden}.composer-attachment-meta small{color:#7d7382;white-space:nowrap;text-overflow:ellipsis;font-size:9px;overflow:hidden}.composer-attachment.is-error .composer-attachment-meta small{color:#e79aa0}.composer-attachment-remove{color:#9a8da0;cursor:pointer;background:#ffffff12;border:0;border-radius:50%;flex:0 0 18px;place-items:center;width:18px;height:18px;padding:0;transition:color .2s,background .2s;display:grid}.composer-attachment-remove:hover{color:#fff;background:#c84f5d99}.composer-attachment-count{color:#7d7382;white-space:nowrap;font-size:9px}.app-shell[data-stage-theme=light] .chat-message-image{background:#ffffffb3;border-color:#503c3424}.app-shell[data-stage-theme=light] .composer-attachment{background:#ffffffb8;border-color:#503c3424;box-shadow:0 4px 14px #533d340f}.app-shell[data-stage-theme=light] .composer-attachment.is-error{background:#fff2f1e6;border-color:#be565e4d}.app-shell[data-stage-theme=light] .composer-attachment-meta b{color:#4a4250}.app-shell[data-stage-theme=light] .composer-attachment-meta small,.app-shell[data-stage-theme=light] .composer-attachment-count{color:#887c82}.app-shell[data-stage-theme=light] .composer-attachment.is-error .composer-attachment-meta small{color:#a8545c}.app-shell[data-stage-theme=light] .composer-attachment-remove{color:#7a6f7d;background:#5b453d14}@media (width<=520px){.chat-message-images{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));max-width:100%}.composer-attachment{flex:160px;max-width:100%}}.character-sprite{place-items:center;display:grid;overflow:hidden;container-type:size}.character-sprite>span{width:max(100cqw,calc(100cqh*var(--sprite-cell)));height:max(100cqh,calc(100cqw/var(--sprite-cell)));display:block}.character-sprite[data-fit=contain]>span{width:min(100cqw,calc(100cqh*var(--sprite-cell)));height:min(100cqh,calc(100cqw/var(--sprite-cell)))}.status-ai-speaking .character-sprite>span{transform:scale(calc(1.006+var(--audio-level)*.012));transition:transform 60ms linear}.motion-paused .character-sprite>span{transform:none}.render-model3d .portrait-ring{opacity:0}.render-model3d .portrait-ring,.render-model3d .voice-wave{pointer-events:none}.render-model3d canvas{cursor:grab}.render-model3d canvas:active{cursor:grabbing}.render-model3d .character-media{background:0 0}.render-model3d .portrait-light-sweep{opacity:.1}.render-model3d .portrait-parallax{transform:none!important}.render-model3d .portrait-breathe{animation:none}.render-clip .stage-shade{opacity:.72}@media (width<=820px){input,textarea,select,.ant-input,.ant-select-selection-search-input{font-size:16px}.composer-input-row .ant-input,.image-generator-inline .ant-input{font-size:16px;line-height:1.5}}
