.combat-ui-overlay{z-index:1000;pointer-events:none;position:fixed;top:80px;right:20px}.combat-ui{pointer-events:auto;background:#000000d9;border:2px solid #4a5568;border-radius:8px;min-width:280px;padding:16px;box-shadow:0 4px 12px #00000080}.stat-bar{margin-bottom:12px}.stat-bar:last-of-type{margin-bottom:0}.stat-bar label{color:#a0aec0;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:12px;font-weight:600;display:block}.bar{background:#2d3748;border-radius:4px;height:24px;position:relative;overflow:hidden}.bar-fill{height:100%;transition:width .3s;position:absolute;top:0;left:0}.hp-fill{background:linear-gradient(90deg,#e53e3e 0%,#fc8181 100%)}.mp-fill{background:linear-gradient(90deg,#3182ce 0%,#63b3ed 100%)}.bar-text{color:#fff;text-shadow:0 1px 2px #000c;z-index:1;font-size:13px;font-weight:600;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.status-effects{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.status-effect{color:#fff;text-transform:uppercase;letter-spacing:.3px;background:#805ad5;border-radius:12px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-block}.custom-stat{background:#1a202c;border-radius:4px;justify-content:space-between;align-items:center;margin-top:8px;padding:6px 8px;display:flex}.stat-key{color:#a0aec0;font-size:12px;font-weight:500}.stat-value{color:#edf2f7;font-size:13px;font-weight:600}.notification{z-index:2000;background:#fff;border-radius:8px;align-items:center;gap:12px;min-width:300px;max-width:400px;padding:12px 16px;animation:.3s slideIn;display:flex;position:fixed;top:20px;right:20px;box-shadow:0 4px 12px #00000026}@keyframes slideIn{0%{opacity:0;transform:translate(400px)}to{opacity:1;transform:translate(0)}}.notification-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:16px;font-weight:700;display:flex}.notification-info .notification-icon{color:#fff;background:#3182ce}.notification-success .notification-icon{color:#fff;background:#38a169}.notification-warning .notification-icon{color:#fff;background:#d69e2e}.notification-error .notification-icon{color:#fff;background:#e53e3e}.notification-message{color:#2d3748;flex:1;font-size:14px;line-height:1.5}.notification-close{color:#718096;cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:20px;display:flex}.notification-close:hover{color:#2d3748}:root{--page:#140c12;--surface:#2a1c24c7;--surface-raised:#3a2630e6;--text:#fff7fa;--text-muted:#ebd7e0;--text-faint:#c4a8b4;--line:#ffd6e429;--line-soft:#ffd6e41a;--accent:#ff5a8a;--accent-soft:#ff8aaf;--accent-ink:#3a0f1f;--blush:#ff5a8a29;--card-glass:linear-gradient(160deg, #301e28b8 0%, #20141ec7 100%);--card-glass-mobile:linear-gradient(165deg, #48302a94 0%, #2a1e1cb3 100%);--card-border:#ffffff1a;--card-ink:#fff7fa;--card-ink-muted:#ffe6eec7;--panel-glass:linear-gradient(165deg, #2a1c26e0 0%, #160e16f0 100%);--positive:#8ed9c0;--danger:#f08a9a;--shadow:0 28px 72px #0802087a;--shadow-soft:0 12px 32px #0c040a47;--radius-xl:22px;--radius-lg:16px;--radius-md:12px;--radius-pill:999px;--sans:"SF Pro Text", Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", sans-serif;--display:"SF Pro Display", "Avenir Next", Inter, ui-sans-serif, -apple-system, sans-serif;--frame-h:min(860px, calc(100dvh - 48px));--portrait-w:calc(var(--frame-h) * 2 / 3);--chat-w:min(560px, max(420px, 38vw));--portrait-gap:18px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--sans);font-synthesis:none;letter-spacing:.01em}*{box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{background:0 0;width:0!important;height:0!important;display:none!important}html,body,#root{width:100%;max-width:100%;height:100%;margin:0;overflow-x:hidden}button,textarea,select{font:inherit;letter-spacing:inherit}button{color:inherit}body{background:var(--page);min-width:320px;color:var(--text);-webkit-font-smoothing:antialiased;overflow:hidden}.stage{isolation:isolate;background:var(--page);justify-content:center;align-items:center;width:100%;height:100%;min-height:100dvh;display:flex;position:relative;overflow:hidden}.stage.has-cover:before{content:"";z-index:0;background:var(--cover-image) center / cover no-repeat, var(--page);filter:blur(48px)saturate(1.25)brightness(.55);opacity:.72;pointer-events:none;position:absolute;inset:-24px;transform:scale(1.08)}.stage.is-coverless:before{content:"";z-index:0;background:radial-gradient(900px 600px at 20% 30%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 60%), radial-gradient(700px 500px at 80% 70%, #84737933, transparent 55%), var(--page);pointer-events:none;position:absolute;inset:0}.stage-frame{z-index:1;width:auto;max-width:min(1280px,100vw - 48px);height:var(--frame-h);max-height:var(--frame-h);direction:ltr;flex-direction:row;align-items:stretch;gap:16px;display:flex;position:relative}.stage-hero{width:var(--portrait-w);max-width:min(var(--portrait-w), 42vw);aspect-ratio:2/3;border-radius:var(--radius-xl);min-width:0;height:100%;min-height:0;box-shadow:var(--shadow);flex:none;position:relative;overflow:hidden}.immersive-hint{left:50%;bottom:max(28px, env(safe-area-inset-bottom));z-index:4;border-radius:var(--radius-pill);color:#ffffffe0;letter-spacing:.04em;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;background:#00000073;border:1px solid #fff3;margin:0;padding:8px 16px;font-size:13px;font-weight:550;position:absolute;transform:translate(-50%)}.stage-hero-art{background:#1a1224;position:absolute;inset:0;overflow:hidden}.stage-hero-art img{object-fit:cover;object-position:var(--cover-position,50% 28%);filter:saturate(1.06)contrast(1.03);width:100%;height:100%;display:block;transform:scale(1.02)}.stage-hero-veil{pointer-events:none;background:linear-gradient(#08040e14 0%,#0000 32% 58%,#08040e8c 100%);position:absolute;inset:0}.stage-hero-glow{background:radial-gradient(700px 480px at 40% 30%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 60%), radial-gradient(500px 400px at 70% 80%, #0000002e, transparent 55%);pointer-events:none;mix-blend-mode:soft-light;position:absolute;inset:0}.cover-fallback{background:radial-gradient(circle at 40% 32%, color-mix(in srgb, var(--accent) 32%, #3f3f46), #18181b 72%);place-items:center;width:100%;height:100%;display:grid}.cover-fallback span{aspect-ratio:1;border:1px solid color-mix(in srgb, var(--accent) 45%, white 10%);background:color-mix(in srgb, var(--accent) 18%, transparent);width:128px;color:var(--accent-soft);font-family:var(--display);box-shadow:0 0 48px color-mix(in srgb, var(--accent) 30%, transparent);border-radius:50%;place-items:center;font-size:52px;font-weight:500;display:grid}.stage-hero-meta{z-index:2;width:min(440px,100% - 56px);max-height:min(48vh,420px);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;text-shadow:0 6px 28px #0000008c;background:0 0;border:0;border-radius:0;padding:0 4px;position:absolute;bottom:36px;left:36px;overflow-y:auto}.character-kicker{color:var(--accent-soft);letter-spacing:.04em;text-transform:none;margin:0 0 10px;font-size:12px;font-weight:650}.stage-hero-meta h1{overflow-wrap:anywhere;color:#fff;font-family:var(--display);letter-spacing:-.03em;margin:0;font-size:clamp(34px,4vw,52px);font-weight:620;line-height:1.08}.character-tags{flex-wrap:wrap;gap:7px;margin:16px 0 0;padding:0;list-style:none;display:flex}.character-tags li{border-radius:var(--radius-pill);color:#fff0f5e0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-shadow:none;background:#281c2073;border:1px solid #ffffff24;padding:5px 12px;font-size:11.5px;font-weight:550}.character-description{color:#fff0f5d1;-webkit-line-clamp:3;white-space:pre-wrap;-webkit-box-orient:vertical;margin:16px 0 0;font-size:14px;line-height:1.7;display:-webkit-box;overflow:hidden}.character-description.is-expanded{display:block;overflow:visible}.stage-hero-meta:has(.character-description.is-expanded){max-height:min(70vh,560px)}.description-toggle{color:var(--accent-soft);cursor:pointer;text-shadow:0 2px 10px #0006;background:0 0;border:0;margin-top:10px;padding:0;font-size:13px;font-weight:650}.stage-shell{z-index:3;width:var(--chat-w);flex:1 1 var(--chat-w);pointer-events:none;flex-direction:column;min-width:min(420px,36vw);max-width:min(600px,46vw);min-height:0;display:flex;position:relative}.stage-shell>*{pointer-events:auto}@media (width>=761px){.stage-hero-meta{width:min(360px,100% - 48px);max-width:none;display:block;bottom:28px;left:28px;right:auto}.stage-hero-veil{background:linear-gradient(#0c040a14 0%,#0000 28% 48%,#0c040a94 100%)}.stage.is-chat-hidden .stage-shell{display:none}.stage.is-chat-hidden .stage-hero{cursor:pointer;margin:0 auto}}.conversation{border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--panel-glass);min-width:0;min-height:0;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(28px)saturate(1.15);backdrop-filter:blur(28px)saturate(1.15);flex-direction:column;flex:1;animation:.42s cubic-bezier(.22,1,.36,1) both panel-in;display:flex;position:relative;overflow:hidden}@keyframes panel-in{0%{opacity:0;transform:translate(16px)scale(.985)}to{opacity:1;transform:none}}.conversation-head{border-bottom:1px solid var(--line);background:linear-gradient(#3e263280,#28182433);flex:none;align-items:center;gap:11px;min-height:64px;padding:11px 14px;display:flex}.icon-button{width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:#0003;border:1px solid #fff3;border-radius:50%;flex:0 0 34px;place-items:center;transition:border-color .14s,color .14s,background .14s,transform .14s;display:grid}.icon-button:hover{border-color:color-mix(in srgb, var(--accent) 50%, transparent);background:var(--blush);color:var(--text);transform:scale(1.04)}.conversation-avatar{background:var(--surface-raised);width:36px;height:36px;color:var(--text-muted);font-family:var(--display);border:1.5px solid #fff3;border-radius:50%;flex:0 0 36px;place-items:center;font-size:15px;display:grid;overflow:hidden;box-shadow:0 0 0 2px #ffffff0a}.conversation-avatar img{object-fit:cover;object-position:var(--cover-position,50% 28%);width:100%;height:100%}.conversation-identity{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.conversation-identity strong{color:var(--text);font-family:var(--display);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:15.5px;font-weight:620;overflow:hidden}.conversation-identity span{color:var(--text-faint);align-items:center;gap:6px;font-size:11px;font-weight:500;display:flex}.conversation-identity i{background:var(--positive);border-radius:50%;width:7px;height:7px;display:block;box-shadow:0 0 0 3px #8ed9c029}.head-actions{flex:none;align-items:center;gap:6px;display:flex}.head-actions button,.message-actions button,.generation-error button{border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--text-muted);cursor:pointer;background:#ffffff0a;padding:6px 11px;font-size:12px;font-weight:600;transition:border-color .14s,color .14s,background .14s,transform .12s}.head-actions button:hover,.message-actions button:hover:not(:disabled),.generation-error button:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 48%, transparent);background:var(--blush);color:var(--text)}.message-actions button:active:not(:disabled){transform:scale(.97)}.head-actions .auth-button{background:linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 70%, #ffb0c8));color:var(--accent-ink);box-shadow:0 8px 20px color-mix(in srgb, var(--accent) 28%, transparent);border-color:#0000}.profile-button{display:none}.notice,.generation-error,.generation-stopped{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--accent) 10%, transparent);min-width:0;color:var(--text-muted);flex:none;justify-content:center;align-items:center;gap:12px;padding:9px 14px;font-size:12px;display:flex}.notice.is-error,.generation-error{color:pink;background:#f08a9a1a}.generation-error{border-top:1px solid #f08a9a38;border-bottom:0;justify-content:space-between}.generation-stopped{border-top:1px solid color-mix(in srgb, var(--accent) 28%, transparent);background:color-mix(in srgb, var(--accent) 10%, transparent);border-bottom:0;justify-content:space-between}.generation-stopped button{border:1px solid color-mix(in srgb, var(--accent) 50%, transparent);border-radius:var(--radius-pill);color:var(--text);cursor:pointer;background:0 0;padding:6px 12px;font-size:12px;font-weight:600}.generation-notice-actions{flex:none;gap:6px;display:flex}.generation-error span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.message-flow{overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;background:0 0;flex:auto;min-height:0;overflow:hidden auto}.message-flow::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}.message-column{flex-direction:column;gap:14px;width:100%;min-height:100%;margin:0 auto;padding:12px 16px 16px;display:flex}.message-column>:first-child{margin-top:auto}.msg-enter{animation:.36s cubic-bezier(.22,1,.36,1) both msg-in}@keyframes msg-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}.message-row{min-width:0}.message-row.is-user{justify-content:flex-end;display:flex}.message-row.is-character{align-items:flex-start;gap:10px;display:flex}.message-avatar{border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);background:var(--surface-raised);width:34px;height:34px;color:var(--accent-soft);border-radius:50%;flex:0 0 34px;place-items:center;margin-top:4px;font-size:13px;font-weight:600;display:grid;overflow:hidden;box-shadow:0 4px 14px #00000038}.message-avatar img{object-fit:cover;object-position:var(--cover-position,50% 28%);width:100%;height:100%}.message-stack{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.message-meta{align-items:baseline;gap:8px;margin:0 0 2px 2px;display:flex}.message-author{color:var(--accent-soft);font-family:var(--display);letter-spacing:.01em;font-size:12.5px;font-weight:650}.message-meta time,.message-user time{color:var(--text-faint);opacity:.8;font-variant-numeric:tabular-nums;font-size:10.5px;font-weight:500}.message-live-tag{color:var(--accent-soft);letter-spacing:.04em;font-size:10.5px;font-weight:650;animation:1.4s ease-in-out infinite pulse-soft}@keyframes pulse-soft{0%,to{opacity:.55}50%{opacity:1}}.message-user{overflow-wrap:anywhere;border:1px solid color-mix(in srgb, var(--accent) 28%, transparent);background:linear-gradient(145deg, color-mix(in srgb, var(--accent) 36%, #4a2838), color-mix(in srgb, var(--accent) 18%, #3a2230));max-width:min(86%,340px);color:var(--text);border-radius:18px 18px 6px;padding:10px 14px 8px;font-size:14.5px;line-height:1.6;box-shadow:inset 0 1px #ffffff1a,0 8px 22px #12060e38}.message-user time{text-align:right;opacity:.72;margin-top:6px;display:block}.message-formatted{min-width:0}.message-formatted-body{overflow-wrap:anywhere;color:inherit;font-size:inherit;line-height:inherit}.message-paragraph{margin:0 0 .85em}.message-paragraph:last-child{margin-bottom:0}.fmt-action{color:var(--card-ink-muted);font-style:italic;font-weight:450}.fmt-dialogue{color:var(--card-ink);letter-spacing:.005em;font-weight:560}.fmt-strong{color:var(--card-ink);font-weight:700}.fmt-em{color:#ffffffe6;font-style:italic}.fmt-regex-hit{color:var(--accent-soft)}.message-user .message-formatted-body{font-size:14.5px;line-height:1.6}.message-user .fmt-action{color:color-mix(in srgb, var(--text-muted) 88%, var(--accent-soft))}.message-user .fmt-dialogue{color:var(--text)}.message-character{overflow-wrap:anywhere;max-width:100%;color:var(--card-ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff8fc13;border:1px solid #ffffff14;border-radius:8px 18px 18px;padding:11px 14px;font-size:14.5px;line-height:1.78;box-shadow:0 6px 20px #08020829}.message-character .message-formatted-body{font-size:14.5px;line-height:1.78}.message-row.is-opening .message-stack{border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);border-radius:var(--radius-lg);background:linear-gradient(160deg, color-mix(in srgb, var(--accent) 15%, #301e28b3), #241620ad);box-shadow:inset 0 1px #ffffff14, var(--shadow-soft);gap:6px;padding:14px 15px 15px;position:relative;overflow:hidden}.message-row.is-opening .message-stack:before{content:"";background:linear-gradient(180deg, var(--accent-soft), var(--accent));border-radius:0 3px 3px 0;width:3px;position:absolute;top:12px;bottom:12px;left:0}.message-row.is-opening .message-character{max-width:100%;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;padding:0;font-size:15px;line-height:1.82}.message-row.is-opening .message-character .message-formatted-body{font-size:15px;line-height:1.82}.message-row.is-opening .message-meta{margin-left:4px}.typing:after,.message-formatted-body.typing:after{content:"";vertical-align:-.12em;background:#ffffffd9;border-radius:1px;width:6px;height:1em;margin-left:4px;animation:1s steps(2,end) infinite caret;display:inline-block}@keyframes caret{50%{opacity:0}}.system-message{border-radius:var(--radius-pill);color:var(--text-faint);text-align:center;background:#ffffff0a;align-self:center;margin:0;padding:6px 12px;font-size:12px}.message-actions{opacity:.55;flex-wrap:wrap;align-items:center;gap:4px;margin-top:2px;transition:opacity .14s;display:flex}.message-row.is-character:hover .message-actions,.message-actions:focus-within{opacity:1}.message-actions button{min-width:0;color:var(--text-faint)!important;background:0 0!important;border:0!important;border-radius:8px!important;padding:6px 8px!important;font-size:11.5px!important;font-weight:550!important}.message-actions button:hover:not(:disabled){color:var(--text)!important;background:#ffffff14!important}.message-actions button:disabled,.generation-error button:disabled,.generation-stopped button:disabled{cursor:not-allowed;opacity:.4}.waiting{border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--text-faint);background:#ffffff0d;align-self:flex-start;align-items:center;gap:10px;margin:0;padding:8px 14px;font-size:13px;font-weight:500;display:inline-flex}.waiting-pulse{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 45%, transparent);border-radius:50%;animation:1.2s ease-out infinite waiting-pulse}@keyframes waiting-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 40%, transparent);opacity:1}70%{opacity:.55;box-shadow:0 0 0 10px #0000}to{opacity:.35;box-shadow:0 0 #0000}}.thinking-panel{border:1px dashed color-mix(in srgb, var(--accent) 32%, transparent);background:color-mix(in srgb, var(--accent) 10%, #0006);border-radius:12px;margin:0;overflow:hidden}.thinking-panel.is-live{border-style:solid;border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 12%, #0006)}.thinking-panel-toggle{width:100%;min-width:0;color:color-mix(in srgb, var(--text-faint) 80%, var(--card-ink-muted));font:600 12px/1.4 var(--sans);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:9px 12px;display:flex}.thinking-panel-toggle:hover{color:var(--text)}.thinking-panel-dot{background:color-mix(in srgb, var(--accent) 55%, #888);border-radius:50%;flex:none;width:7px;height:7px}.thinking-panel.is-live .thinking-panel-dot{background:var(--accent);animation:1.1s ease-out infinite waiting-pulse}.thinking-panel-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.thinking-panel-chevron{color:var(--text-faint);flex:none;font-size:11px}.thinking-panel-body{border-top:1px solid color-mix(in srgb, var(--line) 70%, transparent);padding:0 12px 10px}.thinking-panel-text{max-height:120px;color:color-mix(in srgb, var(--text) 58%, var(--text-faint));font:12.5px/1.7 var(--sans);white-space:pre-wrap;word-break:break-word;margin:10px 0 0;font-style:italic;overflow:auto}.thinking-panel-placeholder{color:var(--text-faint);margin:10px 0 0;font-size:12px;line-height:1.5}.jump-latest{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-raised) 92%, transparent);width:40px;height:40px;box-shadow:var(--shadow-soft);color:var(--text);cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:50%;place-items:center;transition:transform .14s;display:grid;position:absolute;bottom:112px;right:16px}.jump-latest:hover{transform:scale(1.06)}.composer-area{flex-direction:column;flex:none;gap:8px;width:calc(100% - 32px);margin:0 auto;padding:0 0 12px;display:flex}.composer-tools{flex-wrap:wrap;order:0;align-items:center;gap:6px;min-width:0;padding:0 4px;display:flex}.composer{border:1px solid color-mix(in srgb, var(--accent) 30%, var(--line));-webkit-backdrop-filter:blur(22px)saturate(1.18);backdrop-filter:blur(22px)saturate(1.18);background:linear-gradient(#3a2430f0,#281824eb);border-radius:22px;flex:none;order:1;align-items:center;min-height:48px;padding:6px 8px 6px 14px;transition:border-color .16s,box-shadow .16s;display:flex;box-shadow:inset 0 1px #ffffff14,0 14px 36px #08020857}.composer:focus-within{border-color:color-mix(in srgb, var(--accent) 60%, white 8%);box-shadow:inset 0 1px #ffffff1a, 0 16px 44px color-mix(in srgb, var(--accent) 18%, #08020852);background:linear-gradient(#3e2834f5,#2c1c28f0)}.composer.is-multiline{border-radius:18px;align-items:flex-end}.composer.is-multiline .composer-main{align-items:flex-end}.composer-main{align-items:center;gap:8px;width:100%;min-width:0;display:flex}.composer textarea{resize:none;min-width:0;height:30px;max-height:120px;color:var(--text);background:0 0;border:0;outline:0;flex:1;padding:4px 0 4px 11px;font-size:14px;line-height:22px;overflow:hidden auto;scrollbar-width:none!important;-ms-overflow-style:none!important}.composer textarea::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}.composer textarea::placeholder{color:#ffffff61}.composer textarea:disabled{cursor:not-allowed;opacity:.55}.composer-main>button{cursor:pointer;border:0;border-radius:50%;place-items:center;width:32px;min-width:32px;height:32px;padding:0;font-size:15px;transition:transform .12s,opacity .12s,box-shadow .12s;display:grid}.composer-main>button:hover:not(:disabled){transform:translateY(-1px)scale(1.03)}.settings-chips{flex-wrap:wrap;flex:1;gap:6px;min-width:0;display:flex}.settings-chip{min-width:0;max-width:100%;color:var(--text);cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#18181bb8;border:1px solid #ffffff1a;border-radius:999px;flex-direction:column;align-items:flex-start;gap:0;padding:5px 11px;transition:border-color .12s,background .12s;display:inline-flex}.settings-chip:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 45%, var(--line));background:#ffffff12}.settings-chip:disabled{cursor:not-allowed;opacity:.45}.settings-chip.is-active{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));background:color-mix(in srgb, var(--accent) 12%, transparent)}.settings-chip-main{max-width:120px;font:650 12px/1.25 var(--sans);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settings-chip-meta{color:var(--text-faint);font:500 10px/1.2 var(--sans);letter-spacing:.02em}.settings-sheet-root{z-index:80;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.settings-sheet-backdrop{cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000008c;border:0;position:absolute;inset:0}.settings-sheet{z-index:1;background:var(--panel-glass);-webkit-backdrop-filter:blur(22px)saturate(1.08);backdrop-filter:blur(22px)saturate(1.08);border:1px solid #fff6;border-radius:14px;flex-direction:column;width:min(440px,100%);max-height:min(86dvh,720px);animation:.28s cubic-bezier(.22,1,.36,1) both panel-in;display:flex;position:relative;overflow:hidden;box-shadow:0 28px 72px #0000008c}.settings-sheet-header{border-bottom:1px solid #ffffff1f;flex:none;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.settings-sheet-header h2{color:#fff;font:650 16px/1.25 var(--display);letter-spacing:-.01em;margin:0}.settings-sheet-x{color:#ffffffd9;cursor:pointer;background:#00000038;border:1px solid #ffffff38;border-radius:50%;place-items:center;width:32px;height:32px;font-size:18px;transition:background .12s,border-color .12s;display:grid}.settings-sheet-x:hover{background:#ffffff14;border-color:#fff6}.settings-sheet-body{flex:1;min-height:0;padding:14px 16px 10px;overflow:auto}.settings-sheet-footer{padding:12px 16px max(14px, env(safe-area-inset-bottom));border-top:1px solid #ffffff1f;flex:none;justify-content:flex-end;gap:8px;display:flex}.settings-sheet-btn{min-width:88px;font:650 13px/1.2 var(--sans);cursor:pointer;border:1px solid #ffffff38;border-radius:999px;padding:9px 16px;transition:background .12s,border-color .12s,color .12s}.settings-sheet-btn.is-ghost{color:#ffffffc7;background:#0003}.settings-sheet-btn.is-ghost:hover{color:#fff;border-color:#fff6}.settings-sheet-btn.is-primary{background:linear-gradient(145deg, var(--accent-soft), var(--accent));color:var(--accent-ink);box-shadow:0 8px 20px color-mix(in srgb, var(--accent) 30%, transparent);border-color:#0000}.settings-sheet-btn.is-primary:hover:not(:disabled){filter:brightness(1.05)}.settings-sheet-btn:disabled{cursor:not-allowed;opacity:.4}.settings-section{margin-bottom:18px}.settings-usage{flex-direction:column;align-items:center;gap:4px;margin-bottom:14px;padding:12px 0 4px;display:flex}.settings-usage strong{font:750 28px/1 var(--display);letter-spacing:.02em}.settings-usage span{color:var(--text-faint);font-size:12px}.settings-field-label{color:var(--text-muted);font:650 12.5px/1.3 var(--sans);justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.settings-field-value{color:var(--accent-soft);font-weight:700}.settings-slider{width:100%;accent-color:var(--accent)}.settings-slider-ends{color:var(--text-faint);justify-content:space-between;margin-top:4px;font-size:11px;display:flex}.settings-hint{color:var(--text-faint);margin:8px 0 0;font-size:12px;line-height:1.45}.settings-hint.is-lead{margin:0 0 14px}.settings-model-list{gap:8px;display:grid}.settings-model-card{width:100%;color:inherit;text-align:left;cursor:pointer;background:#00000047;border:1px solid #ffffff2e;border-radius:12px;padding:12px 14px;transition:border-color .12s,background .12s;display:block}.settings-model-card:hover{background:#0000005c;border-color:#ffffff52}.settings-model-card.is-selected{background:#8145a847;border-color:#ffb4648c}.settings-model-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.settings-model-card-title{font:700 14px/1.3 var(--sans)}.settings-model-card-check{color:var(--accent-soft);font-weight:700}.settings-model-card-blurb{color:var(--text-faint);margin:6px 0 0;font-size:12px;line-height:1.45}.settings-segmented{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.settings-segmented button{color:#ffffffb3;font:650 12.5px/1.2 var(--sans);cursor:pointer;background:#00000047;border:1px solid #ffffff2e;border-radius:12px;padding:10px 8px;transition:border-color .12s,background .12s,color .12s}.settings-segmented button.is-active{color:#fff;background:#8145a852;border-color:#ffb46480}.settings-field{color:var(--text-muted);font:650 12.5px/1.3 var(--sans);gap:6px;margin-bottom:12px;display:grid}.settings-field input,.settings-field select,.settings-field textarea{width:100%;color:var(--text);font:500 14px/1.45 var(--sans);resize:vertical;background:#00000052;border:1px solid #fff3;border-radius:12px;padding:10px 12px}.settings-field input:focus,.settings-field select:focus,.settings-field textarea:focus{border-color:#ffb4648c;outline:none;box-shadow:0 0 0 2px #8145a840}.settings-char-count{color:var(--text-faint);font:500 11px/1 var(--sans);justify-self:end}.send-button{background:linear-gradient(145deg, var(--accent-soft), var(--accent) 55%, color-mix(in srgb, var(--accent) 80%, #c43d6a));color:var(--accent-ink);box-shadow:0 10px 24px color-mix(in srgb, var(--accent) 34%, transparent);font-weight:700}.send-button:hover:not(:disabled){filter:brightness(1.04)}.send-button span{transform:translateY(-1px)}.send-button:disabled{cursor:not-allowed;opacity:.38;box-shadow:none}.stop-button{color:#ffc4ce;background:#f08a9a24;outline:1px solid #f08a9a73;font-size:13px}.session-backdrop{z-index:20;opacity:0;pointer-events:none;background:#06020c94;transition:opacity .18s;position:fixed;inset:0}.session-backdrop.is-open{opacity:1;pointer-events:auto}.session-drawer{z-index:21;border-right:1px solid var(--line);width:320px;max-width:88vw;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(#18181bfa,#09090bfc);flex-direction:column;transition:transform .2s;display:flex;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.session-drawer.is-open{transform:translate(0)}.session-drawer-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px;display:flex}.session-drawer-title{font-family:var(--display);font-size:16px;font-weight:620}.session-new{border-radius:var(--radius-pill);background:linear-gradient(135deg, var(--accent), var(--accent-soft));color:var(--accent-ink);cursor:pointer;border:0;padding:7px 12px;font-weight:650}.session-new:disabled{cursor:not-allowed;opacity:.45}.session-list{flex-direction:column;flex:1;gap:4px;min-height:0;padding:8px;display:flex;overflow-y:auto}.session-empty{color:var(--text-faint);text-align:center;padding:32px 16px;font-size:12px}.session-row{border:1px solid #0000;border-radius:12px;align-items:stretch;display:flex}.session-row:hover,.session-row.is-active{border-color:var(--line);background:#ffffff0a}.session-row.is-active{border-color:color-mix(in srgb, var(--accent) 48%, transparent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.session-row-main{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;gap:3px;min-width:0;padding:10px;display:flex}.session-row-title{color:var(--text);align-items:center;gap:4px;font-size:13px;display:flex}.session-branch-mark{color:var(--accent)}.session-row-preview{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.session-row-meta{color:var(--text-faint);gap:8px;font-size:10px;display:flex}.session-row-actions{flex-direction:column;justify-content:center;gap:2px;padding:4px;display:flex}.session-row-actions button{width:24px;height:22px;color:var(--text-faint);cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;display:grid}.session-row-actions button:hover:not(:disabled){color:var(--text);background:#ffffff12}.session-row-actions .session-del:hover:not(:disabled){color:var(--danger)}.session-rename-input{border:1px solid var(--accent);background:var(--page);min-width:0;color:var(--text);border-radius:10px;outline:0;flex:1;margin:8px;padding:8px}.profile-backdrop,.profile-sheet{display:none}@media (width<=760px){:root{--chat-w:100%}html,body,#root{width:100%;max-width:100%;height:100%;overflow:hidden}.stage{width:100%;height:100%;min-height:100%;padding:0;display:block}.stage.has-cover:before{filter:blur(28px)saturate(1.15)brightness(.45);opacity:.85}.stage-frame{gap:0;width:100%;max-width:100%;height:100%;max-height:none;display:block;position:absolute;inset:0}.stage-hero{aspect-ratio:auto;width:100%;max-width:none;height:100%;box-shadow:none;border-radius:0;position:absolute;inset:0}.stage-hero-art img{object-position:var(--cover-position,50% 22%);transform:scale(1.04)}.stage-hero-veil{background:linear-gradient(#08040c2e 0%,#08040c14 30%,#08040c40 55%,#08040c80 100%)}.stage:not(.is-chat-hidden) .stage-hero-meta{display:none}.stage.is-chat-hidden .stage-hero-meta{left:16px;right:16px;bottom:max(72px, env(safe-area-inset-bottom));width:auto;max-height:40vh;display:block;top:auto}.stage-hero-meta h1{font-size:28px}.character-kicker{margin-bottom:6px;font-size:11px}.stage:not(.is-chat-hidden) .character-tags,.stage:not(.is-chat-hidden) .character-description,.stage:not(.is-chat-hidden) .description-toggle{display:none}.stage-shell{z-index:3;flex:none;width:100%;min-width:0;max-width:none;padding:0;transition:opacity .24s,transform .24s;position:absolute;inset:0}.stage.is-chat-hidden .stage-shell{opacity:0;pointer-events:none;transform:translateY(12px)}.stage.is-chat-hidden .stage-hero{cursor:pointer}.conversation{box-shadow:none;-webkit-backdrop-filter:blur(18px)saturate(1.1);backdrop-filter:blur(18px)saturate(1.1);background:linear-gradient(#120a10b8 0%,#0c060cd1 100%);border:0;border-radius:0;animation:.42s cubic-bezier(.22,1,.36,1) both panel-up}@keyframes panel-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.conversation-head{min-height:52px;margin:max(10px, env(safe-area-inset-top)) 12px 0;border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(18px)saturate(1.15);backdrop-filter:blur(18px)saturate(1.15);background:#120c188c;border:1px solid #ffffff1f;padding:6px 8px 6px 10px}.message-flow{touch-action:manipulation}.conversation-avatar{flex-basis:32px;width:32px;height:32px}.profile-button{display:block}.quiet-button{display:none}.message-flow{background:0 0}.message-column{gap:12px;padding:12px 12px 16px}.message-character{background:var(--card-glass-mobile);-webkit-backdrop-filter:blur(22px)saturate(1.05);backdrop-filter:blur(22px)saturate(1.05);border:1px solid #ffffff1a;border-radius:16px;max-width:100%;padding:12px 14px;font-size:14.5px;line-height:1.75;box-shadow:inset 0 1px #ffffff14,0 12px 32px #00000047}.message-row.is-opening .message-stack{background:linear-gradient(160deg, color-mix(in srgb, var(--accent) 18%, #2818208c), #1c10189e);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.message-row.is-opening .message-character{max-width:100%;font-size:14.5px;line-height:1.75}.fmt-action{color:#ffffffb3}.fmt-dialogue{color:#fff}.message-author{color:#fffffff5}.message-meta time{color:#ffffff80}.message-live-tag{color:#fffc}.message-user{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(145deg,#3f3f46c7,#27272ad1);max-width:90%}.waiting{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#120c1880}.thinking-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#120c186b}.notice,.generation-error,.generation-stopped{border:1px solid var(--line);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#120c188c;border-radius:12px;margin:0 12px}.composer-area{width:calc(100% - 16px);margin-bottom:max(10px, env(safe-area-inset-bottom))}.composer{-webkit-backdrop-filter:blur(24px)saturate(1.05);backdrop-filter:blur(24px)saturate(1.05);background:#18181bb8;border-color:#ffffff1f;border-radius:999px}.composer.is-multiline{border-radius:18px}.jump-latest{background:#18181bb8;bottom:118px;right:12px}.message-actions{opacity:.85}.profile-backdrop{z-index:30;opacity:0;pointer-events:none;background:#06020c94;transition:opacity .18s;display:block;position:fixed;inset:0}.profile-backdrop.is-open{opacity:1;pointer-events:auto}.profile-sheet{z-index:31;border-top:1px solid var(--line);max-height:min(72dvh,560px);padding:18px 20px max(24px, env(safe-area-inset-bottom));background:linear-gradient(#18181bfa,#09090bfc);border-radius:22px 22px 0 0;transition:transform .2s;display:block;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(100%);box-shadow:0 -16px 48px #0006}.profile-sheet.is-open{transform:translateY(0)}.profile-sheet-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.profile-sheet-head strong{font-family:var(--display);font-size:20px}.profile-sheet-head button{border:1px solid var(--line);background:0 0;border-radius:50%;place-items:center;width:36px;height:36px;font-size:20px;display:grid}.profile-sheet p{color:var(--text-muted);white-space:pre-wrap;margin:0;font-size:14px;line-height:1.8}}@media (width<=760px) and (height<=520px){.stage.is-chat-hidden .stage-hero-meta{bottom:max(48px, env(safe-area-inset-bottom));max-height:36vh}.stage-hero-meta h1{font-size:20px}}@media (width<=420px){.conversation-identity span{display:none}.head-actions button{padding-inline:8px}.message-actions{opacity:1}.message-column{padding-inline:10px}}@media (width>=1400px){:root{--frame-h:min(900px, calc(100dvh - 56px));--portrait-w:calc(var(--frame-h) * 2 / 3);--chat-w:min(580px, 40vw)}.stage-frame{gap:18px;max-width:min(1360px,100vw - 64px)}}@media (width>=761px) and (width<=1100px){:root{--frame-h:min(780px, calc(100dvh - 32px));--portrait-w:calc(var(--frame-h) * 2 / 3);--chat-w:min(480px, 44vw);--portrait-gap:14px}.stage-frame{gap:12px;max-width:min(1100px,100vw - 32px)}.stage-hero{max-width:min(var(--portrait-w), 46vw)}.stage-hero-meta{bottom:20px;left:20px}}@media (prefers-reduced-motion:reduce){.conversation,.msg-enter{animation:none}}
