*{box-sizing:border-box}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#e8f0f2;--surface:#fff;--surface-soft:#f4f8f9;--line:#d1dee2;--line-strong:#b8cbd0;--ink:#17353d;--muted:#637b82;--teal:#167f83;--rose:#ca5b7c;--green:#25875d;--gold:#ad8127;--dialogue-ink:#f8fcfd;--dialogue-muted:#c9d9dc;--dialogue-bg:#0f1f25d6;--dialogue-height:276px;--drawer-width:min(410px, calc(100vw - 24px));--font:"Microsoft YaHei", -apple-system, BlinkMacSystemFont, "PingFang SC", "Noto Sans SC", sans-serif}html,body{width:100%;max-width:100%;height:100%;min-height:0;margin:0;overflow:hidden}body{min-width:320px;color:var(--ink);background:var(--page);font-family:var(--font);letter-spacing:0}button,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{grid-template-rows:62px minmax(0,1fr);width:100%;height:100dvh;min-height:0;display:grid;overflow:hidden}.topbar{z-index:50;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;justify-content:space-between;align-items:center;gap:18px;padding:0 18px 0 22px;display:flex;position:relative}.brand,.topbar-actions,.brand-copy,.download-link,.icon-link,.stage-actions,.history-header-actions{align-items:center;display:flex}.brand{gap:10px;min-width:0}.brand-avatar{object-fit:cover;object-position:top;border:1px solid var(--line);background:#dff1ef;border-radius:50%;flex:none;width:38px;height:38px}.brand-copy{gap:9px;min-width:0}.brand-copy strong{font-size:19px;line-height:1}.brand-copy small{color:var(--muted);font-size:12px;font-weight:700}.topbar-actions,.stage-actions,.history-header-actions{justify-content:flex-end;gap:8px}.version-badge,.status-chip,.service-status{border:1px solid var(--line);min-height:30px;color:var(--muted);white-space:nowrap;background:#ffffffe0;border-radius:999px;align-items:center;gap:7px;padding:5px 9px;font-size:12px;font-weight:700;display:inline-flex}.version-badge{color:var(--teal);background:#dff1ef;border-color:#c7e6e2}.icon-link,.stage-icon-button,.drawer-close{border:1px solid var(--line);width:36px;height:36px;color:var(--muted);background:var(--surface);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.download-link{color:#fff;background:var(--teal);border-radius:8px;justify-content:center;gap:7px;min-height:36px;padding:7px 12px;font-size:13px;font-weight:800}.icon-link:hover,.stage-icon-button:hover,.drawer-close:hover,.download-link:hover{transform:translateY(-1px)}.experience{width:100%;min-width:0;height:100%;min-height:0;padding:10px;position:relative;overflow:hidden}.system-notice{z-index:80;color:#574620;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffcf2f5;border:1px solid #ad81274d;border-radius:10px;grid-template-columns:9px minmax(0,1fr) 26px;align-items:start;gap:10px;width:min(420px,100vw - 28px);padding:12px 10px 12px 13px;transition:opacity .16s,transform .16s;display:grid;position:fixed;top:70px;right:18px;transform:translateY(-8px);box-shadow:0 14px 36px #14262c33}.system-notice[data-visible=true]{opacity:1;pointer-events:auto;transform:translateY(0)}.system-notice[data-level=error]{color:#7d2942;background:#fff4f7f7;border-color:#b0365352}.system-notice[data-level=success]{color:#23694f;background:#f1fbf6f7;border-color:#2e85634d}.system-notice[data-level=info]{color:#2d6570;background:#f2fafcf7;border-color:#39778447}.system-notice-indicator{width:9px;height:9px;box-shadow:0 0 0 4px color-mix(in srgb, currentColor 13%, transparent);background:currentColor;border-radius:50%;margin-top:5px}.system-notice-text{overflow-wrap:anywhere;min-width:0;font-size:13px;font-weight:700;line-height:1.55}.system-notice-close{color:currentColor;cursor:pointer;background:0 0;border:0;border-radius:6px;width:26px;height:26px;padding:0;font-size:20px;line-height:1}.system-notice-close:hover{background:color-mix(in srgb, currentColor 10%, transparent)}.character-pane{border:1px solid var(--line-strong);background:#dfe9ec;border-radius:8px;width:100%;min-width:0;height:100%;min-height:0;position:relative;overflow:hidden;box-shadow:0 18px 52px #22444e24}.stage-visual{--scene-image:url(./sakura-CL-jf-_g.webp);z-index:1;background-color:#dfe9ec;background-image:var(--scene-image);background-position:50%;background-size:cover;transition:background-image .18s;position:absolute;inset:0;overflow:hidden}.stage-visual[data-scene=school]{--scene-image:url(./school-DgopU4F5.webp)}.stage-visual[data-scene=seaside]{--scene-image:url(./seaside-D4w_Q2pf.webp)}.stage-topline{z-index:8;pointer-events:none;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;top:16px;left:16px;right:16px}.character-identity,.status-chip,.stage-icon-button{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.character-identity{background:#ffffffd6;border:1px solid #b8cbd0e6;border-radius:8px;align-items:baseline;gap:9px;padding:8px 10px;display:flex}.character-name{font-size:16px;font-weight:900}.character-role{color:var(--muted);font-size:12px;font-weight:700}.stage-actions{pointer-events:auto}.status-chip,.stage-icon-button{background:#ffffffdb}.status-dot{background:var(--gold);border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 0 4px #ad81271f}[data-state=ready] .status-dot,[data-state=online] .status-dot{background:var(--green);box-shadow:0 0 0 4px #25875d1f}[data-state=offline] .status-dot,[data-state=error] .status-dot{background:var(--rose);box-shadow:0 0 0 4px #ca5b7c1f}.pet-frame{z-index:1;pointer-events:none;background:0 0;border:0;width:100%;height:100%;position:absolute;inset:0}.stage-customizer{z-index:9;right:16px;bottom:calc(var(--dialogue-height) + 30px);justify-content:flex-end;align-items:center;gap:8px;display:flex;position:absolute}.scene-picker,.render-picker,.speech-toggle{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffdb;border:1px solid #b8cbd0eb;border-radius:8px;align-items:center;gap:6px;padding:5px;display:flex}.speech-toggle{color:var(--muted);cursor:pointer;gap:8px;font-size:11px;font-weight:800}.speech-toggle>span:first-child{flex:none;padding-left:3px}.speech-toggle input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.speech-toggle__track{background:#dce8ebfa;border:1px solid #8fa8aef2;border-radius:999px;width:42px;height:24px;transition:border-color .16s,background .16s;position:relative}.speech-toggle__thumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #27434942}.speech-toggle input:checked+.speech-toggle__track{border-color:var(--teal);background:var(--teal)}.speech-toggle input:checked+.speech-toggle__track .speech-toggle__thumb{transform:translate(18px)}.render-picker{gap:2px}.render-picker button{min-width:46px;height:31px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 8px;font-size:11px;font-weight:800}.render-picker button:hover,.render-picker button[aria-pressed=true]{color:#fff;background:var(--teal)}.scene-option{background:var(--surface-soft);cursor:pointer;border:2px solid #0000;border-radius:6px;width:48px;height:31px;padding:0;overflow:hidden}.scene-option img{object-fit:cover;width:100%;height:100%;display:block}.scene-option:hover,.scene-option[aria-pressed=true]{border-color:var(--rose)}.scene-option:focus-visible,.composer:focus-within,.stage-icon-button:focus-visible,.drawer-close:focus-visible{outline-offset:2px;outline:3px solid #167f833d}.speech-toggle:has(input:focus-visible){outline-offset:2px;outline:3px solid #167f833d}.dialogue-box{z-index:10;height:var(--dialogue-height);border:1px solid #deeff2b8;border-left:4px solid var(--rose);min-width:0;color:var(--dialogue-ink);background:linear-gradient(135deg, #23404652, transparent 45%), var(--dialogue-bg);-webkit-backdrop-filter:blur(18px)saturate(1.08);text-shadow:0 1px 2px #051014b3;border-radius:8px;grid-template-rows:35px minmax(0,1fr) auto auto auto;padding:0 18px 14px;display:grid;position:absolute;bottom:16px;left:clamp(14px,3vw,46px);right:clamp(14px,3vw,46px);overflow:hidden;box-shadow:0 20px 44px #08161b61,inset 0 1px #ffffff14}.dialogue-heading{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.dialogue-speaker{color:#fff;background:var(--rose);border-radius:0 0 6px 6px;align-self:stretch;align-items:center;min-width:112px;margin-top:-1px;padding:0 16px;font-size:15px;font-weight:900;display:inline-flex}.dialogue-status{min-width:0;color:var(--dialogue-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;overflow:hidden}.dialogue-content{min-width:0;min-height:0;color:var(--dialogue-ink);overflow-wrap:anywhere;scrollbar-color:#dfeff15c transparent;scrollbar-width:thin;padding:13px 2px 10px;font-size:15px;line-height:1.8;overflow-y:auto}.quick-actions{scrollbar-width:none;gap:7px;min-width:0;padding:0 0 8px;display:flex;overflow-x:auto}.quick-actions::-webkit-scrollbar{display:none}.quick-actions button{min-height:28px;color:var(--dialogue-muted);cursor:pointer;background:#ffffff24;border:1px solid #d3e6e94d;border-radius:999px;flex:none;padding:4px 9px;font-size:11px;font-weight:700}.quick-actions button:hover:enabled{color:#fff;background:#ffffff24;border-color:#ffffff94}.quick-actions button:disabled{cursor:not-allowed;opacity:.42}.attachment-preview{scrollbar-width:thin;gap:7px;min-width:0;padding:0 0 8px;display:flex;overflow-x:auto}.attachment-preview[hidden]{display:none}.attachment-card{background:#ffffff24;border:1px solid #d3e6e957;border-radius:7px;flex:none;grid-template-columns:38px minmax(0,1fr) 26px;align-items:center;gap:7px;max-width:min(260px,75vw);padding:6px;display:grid}.attachment-icon{color:#fff;width:38px;height:34px;text-shadow:none;background:#cb5376db;border-radius:5px;justify-content:center;align-items:center;font-size:9px;font-weight:900;display:inline-flex}.attachment-copy{flex-direction:column;gap:1px;min-width:0;display:flex}.attachment-copy strong,.attachment-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attachment-copy strong{color:#fff;font-size:11px}.attachment-copy small{color:var(--dialogue-muted);font-size:10px}.attachment-remove{width:26px;height:26px;color:var(--dialogue-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;font-size:18px}.attachment-remove:hover{color:#fff;background:#ffffff1f}.composer{background:#ffffff29;border:1px solid #d3e6e957;border-radius:8px;grid-template-columns:36px minmax(0,1fr) 36px 42px;align-items:end;gap:8px;min-width:0;padding:5px;display:grid}.attach-button,.voice-input-button{color:#dbe9eb;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;width:36px;height:42px;padding:0;display:inline-flex}.attach-button:hover:enabled,.voice-input-button:hover:enabled{color:#fff;background:#ffffff1f}.attach-button:disabled,.voice-input-button:disabled{cursor:not-allowed;opacity:.42}.attach-button svg,.voice-input-button svg,.send-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:20px;height:20px}.voice-input-button[data-state=starting],.voice-input-button[data-state=listening],.voice-input-button[data-state=processing]{color:#fff;background:#cb5376d1}.voice-input-button[data-state=listening]{animation:1.4s ease-in-out infinite voice-input-pulse}.voice-input-button .voice-icon-stop,.voice-input-button[data-state=starting] .voice-icon-mic,.voice-input-button[data-state=listening] .voice-icon-mic,.voice-input-button[data-state=processing] .voice-icon-mic{display:none}.voice-input-button[data-state=starting] .voice-icon-stop,.voice-input-button[data-state=listening] .voice-icon-stop,.voice-input-button[data-state=processing] .voice-icon-stop{display:block}@keyframes voice-input-pulse{0%,to{box-shadow:0 0 #ffffff14}50%{box-shadow:0 0 0 4px #ffffff2e}}.experience[data-dragging-files=true] .dialogue-box{border-color:#ffffffe6;box-shadow:0 20px 44px #08161b61,0 0 0 4px #cb537647,inset 0 1px #ffffff14}.composer:focus-within{border-color:#ffffffad}.composer textarea{resize:none;color:#fff;background:0 0;border:0;outline:0;width:100%;min-height:38px;max-height:92px;padding:8px 9px;font-size:14px;line-height:1.55;overflow-y:auto}.composer textarea::placeholder{color:#b8cacc}.send-button{color:#fff;background:var(--rose);cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.send-button:hover:enabled{background:#b84b6b}.send-button:disabled{cursor:not-allowed;opacity:.42}.history-backdrop{z-index:19;opacity:0;pointer-events:none;background:#1120243d;border:0;padding:0;transition:opacity .18s;display:block;position:absolute;inset:0}.history-drawer{z-index:20;width:var(--drawer-width);border:1px solid var(--line-strong);background:var(--surface);visibility:hidden;border-radius:8px 0 0 8px;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;transition:transform .21s,visibility .21s step-end;display:grid;position:absolute;top:10px;bottom:10px;right:10px;overflow:hidden;transform:translate(calc(100% + 18px));box-shadow:-20px 0 44px #13303838}.experience[data-history-open=true] .history-backdrop{opacity:1;pointer-events:auto}.experience[data-history-open=true] .history-drawer{visibility:visible;transition:transform .21s,visibility;transform:translate(0)}.history-header{border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:16px;display:flex}.eyebrow{color:var(--rose);margin:0 0 4px;font-size:10px;font-weight:900}.history-header h1{margin:0;font-size:19px;line-height:1.2}.service-status[data-state=online]{color:var(--green);background:#edf8f2;border-color:#cce4d8}.service-status[data-state=offline]{color:var(--rose);background:#fae8ee;border-color:#efd0da}.message-list{background:var(--surface-soft);overscroll-behavior:contain;scrollbar-color:#c3d3d8 transparent;scrollbar-width:thin;flex-direction:column;gap:13px;min-width:0;min-height:0;padding:16px;display:flex;overflow-y:auto}.empty-state{min-height:180px;color:var(--muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;display:flex}.empty-state img{object-fit:cover;object-position:top;border:1px solid var(--line);background:#dff1ef;border-radius:50%;width:54px;height:54px}.empty-state strong{color:var(--ink);font-size:14px}.message-row{grid-template-columns:30px minmax(0,1fr);align-items:end;gap:8px;max-width:94%;display:grid}.message-row[data-role=user]{grid-template-columns:minmax(0,1fr);align-self:flex-end}.message-avatar{object-fit:cover;object-position:top;border:1px solid var(--line);background:#dff1ef;border-radius:50%;width:30px;height:30px}.message{border:1px solid var(--line);width:fit-content;min-width:0;max-width:100%;color:var(--ink);background:var(--surface);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px 8px 8px 2px;padding:10px 12px;font-size:13px;line-height:1.65}.message-row[data-role=user] .message{color:#fff;border-color:var(--teal);background:var(--teal);border-radius:8px 8px 2px;justify-self:end}.message-row[data-role=system],.message-row[data-role=loading]{align-self:center;max-width:100%;display:block}.message-row[data-role=system] .message,.message-row[data-role=loading] .message{color:var(--muted);background:#ffffffc7;border-color:#e0e8eb;border-radius:999px;font-size:12px}.history-footer{border-top:1px solid var(--line);color:var(--teal);background:var(--surface);justify-content:flex-end;padding:11px 16px;font-size:12px;font-weight:800;display:flex}.message-markdown{white-space:normal}.message-markdown>:first-child{margin-top:0}.message-markdown>:last-child{margin-bottom:0}.message-markdown p,.message-markdown ul,.message-markdown ol,.message-markdown blockquote,.message-markdown pre{margin:0 0 .65em}.message-markdown h1,.message-markdown h2,.message-markdown h3,.message-markdown h4{margin:0 0 .5em;font-size:1em;font-weight:800;line-height:1.35}.message-markdown ul,.message-markdown ol{padding-left:1.25em}.message-markdown li+li{margin-top:.25em}.message-markdown code{background:#24445b1a;border-radius:4px;padding:.08em .32em;font-family:Cascadia Code,Consolas,monospace;font-size:.92em}.dialogue-content.message-markdown code{background:#ffffff21}.message-markdown pre{color:#f7fbff;background:#102638;border-radius:6px;max-width:100%;padding:10px;overflow-x:auto}.message-markdown pre code{color:inherit;white-space:pre;background:0 0;padding:0}.message-markdown blockquote{color:inherit;opacity:.86;border-left:3px solid #75bec085;padding-left:.8em}.message-markdown a{color:#2d88aa;text-decoration:underline}.dialogue-content.message-markdown a{color:#9fdee0}.ailis-emote-sticker{vertical-align:-.68em;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 2px 4px #12282e38);border-radius:50%;width:2.3em;height:2.3em;margin:0 .06em;display:inline-block}.dialogue-content .ailis-emote-sticker{vertical-align:-.82em;width:2.7em;height:2.7em}@media (width>=1180px){.dialogue-box{left:max(46px,50% - 560px);right:max(46px,50% - 560px)}}@media (width<=760px){:root{--dialogue-height:310px;--drawer-width:min(92vw, 390px)}.app-shell{grid-template-rows:56px minmax(0,1fr)}.topbar{padding:0 10px 0 12px}.brand-avatar{width:34px;height:34px}.brand-copy small,.version-badge,.download-link span{display:none}.download-link{width:36px;padding:0}.experience{padding:0}.character-pane{border:0;border-radius:0}.stage-topline{top:10px;left:10px;right:10px}.character-role,.status-chip span:last-child{display:none}.status-chip{justify-content:center;width:34px;padding:0}.stage-customizer{flex-direction:row;align-items:center;gap:6px;inset:62px 10px auto}.scene-picker{flex:none;align-self:center}.render-picker{display:none}.scene-option{width:40px;height:27px}.render-picker button{min-width:40px;height:27px;padding:0 5px;font-size:10px}.speech-toggle{flex:none;min-height:27px}.dialogue-box{border-left-width:3px;padding:0 12px 11px;bottom:8px;left:8px;right:8px}.dialogue-speaker{min-width:94px;padding:0 12px}.dialogue-content{padding-top:10px;font-size:14px;line-height:1.7}.quick-actions button:nth-child(n+4){display:none}.history-drawer{border-radius:0;top:0;bottom:0;right:0}.history-header{padding:13px}.service-status span:last-child{display:none}.service-status{justify-content:center;width:32px;min-height:32px;padding:0}}@media (width<=420px),(height<=700px){:root{--dialogue-height:286px}.icon-link{display:none}.topbar-actions{gap:5px}.dialogue-status{max-width:46%}.system-notice{width:calc(100vw - 20px);top:58px;right:10px}.quick-actions button:nth-child(n+3){display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
