.allowance-status[data-v-bf957ca6]{display:block;color:var(--text-muted, #aab9c7);padding:6px 0}section[data-v-bdec6861]{margin:18px 0}h3[data-v-bdec6861],h4[data-v-bdec6861]{margin:16px 0 10px}p[data-v-bdec6861]{margin:8px 0;line-height:1.6}small[data-v-bdec6861]{display:block;color:#b5bed0;line-height:1.6}.usage-actions[data-v-bdec6861]{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0}label[data-v-bdec6861]{display:flex;align-items:center;gap:8px}button[data-v-bdec6861],input[data-v-bdec6861]{border:1px solid #58617c;background:#2e344b;color:inherit;border-radius:8px;padding:8px 12px;font:inherit}input[data-v-bdec6861]{width:7rem}button[data-v-bdec6861]{cursor:pointer}button[data-v-bdec6861]:disabled{opacity:.5;cursor:default}table[data-v-bdec6861]{width:100%;border-collapse:collapse}th[data-v-bdec6861],td[data-v-bdec6861]{padding:10px 12px;text-align:left;border-bottom:1px solid #424b65;white-space:nowrap}.knowledge-panel[data-v-1f067b82]{width:min(1080px,94vw);max-height:90vh;overflow:auto;border:1px solid #52536c;border-radius:18px;padding:24px;background:#161827;color:#eef0f6;box-shadow:0 24px 90px #0009}.knowledge-panel[data-v-1f067b82]::backdrop{background:#050812b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}header[data-v-1f067b82]{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}h2[data-v-1f067b82],h3[data-v-1f067b82],h4[data-v-1f067b82]{margin:0 0 10px}section[data-v-1f067b82]{margin-top:26px}p[data-v-1f067b82]{line-height:1.65;margin:8px 0}h3[data-v-1f067b82]{font-size:1.05rem}.ops-muted[data-v-1f067b82],small[data-v-1f067b82]{color:#b4b9cc}.ops-warning[data-v-1f067b82]{color:#f2cb88}.ops-error[data-v-1f067b82]{color:#ffadb5}button[data-v-1f067b82],select[data-v-1f067b82]{font:inherit;color:inherit;background:#30354d;border:1px solid #656c8b;border-radius:9px;padding:9px 14px}button[data-v-1f067b82]{cursor:pointer}button[data-v-1f067b82]:disabled{opacity:.5;cursor:not-allowed}select[data-v-1f067b82]{margin:0 12px;max-width:100%}.ops-stats[data-v-1f067b82],.ops-cards[data-v-1f067b82]{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:12px}.ops-stats>div[data-v-1f067b82],article[data-v-1f067b82]{background:#202438;border:1px solid #3b425c;border-radius:12px;padding:16px}.ops-stats strong[data-v-1f067b82]{font-size:1.7rem;display:block}.ops-stats span[data-v-1f067b82]{color:#b4b9cc}.ops-review[data-v-1f067b82]{display:flex;flex-wrap:wrap;gap:8px 18px}.ops-job[data-v-1f067b82]{margin:12px 0}li[data-v-1f067b82]{line-height:1.8;overflow-wrap:anywhere}@media (max-width:600px){.knowledge-panel[data-v-1f067b82]{padding:16px}header[data-v-1f067b82]{gap:8px}select[data-v-1f067b82]{display:block;margin:10px 0;width:100%}}:root{--bg: oklch(.16 .022 255);--surface: oklch(.205 .026 255);--surface-2: oklch(.25 .03 255);--fg: oklch(.96 .008 240);--muted: oklch(.72 .02 250);--border: oklch(.33 .035 250);--accent: oklch(.79 .13 205);--accent-strong: oklch(.72 .14 205);--accent-ink: oklch(.17 .03 235);--danger: oklch(.66 .17 22);--ok: oklch(.72 .18 150);--bg-image: url(/assets/app-background.webp);--bg-image-scrim: .6;--font-display: "Songti SC", "STSong", "SimSun", "Noto Serif SC", serif;--font-body: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", "Segoe UI", sans-serif;--font-mono: "SFMono-Regular", "JetBrains Mono", "Consolas", "Liberation Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}body{font-family:var(--font-body);background:var(--bg);color:var(--fg);line-height:1.6;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:var(--bg-image);background-size:cover;background-position:center;background-repeat:no-repeat}.bg-video{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;object-fit:cover;pointer-events:none}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:linear-gradient(oklch(.16 .022 255 / var(--bg-image-scrim)),oklch(.12 .022 255 / calc(var(--bg-image-scrim) + .14)))}button,select,textarea{font-family:inherit}.app-shell{position:relative;z-index:1;display:grid;grid-template-columns:272px minmax(0,1fr) 320px;height:100vh;background:radial-gradient(1100px 560px at 82% -12%,oklch(.3 .055 240 / .35),transparent 62%)}.sidebar{display:flex;flex-direction:column;gap:14px;padding:18px 14px;min-height:0;background:#0c141e8c;border-right:1px solid var(--border)}.brand{display:flex;align-items:center;gap:12px;padding:4px 6px 16px;border-bottom:1px solid var(--border)}.brand-mark{width:42px;height:42px;display:grid;place-items:center;flex-shrink:0;font-family:var(--font-display);font-size:22px;color:var(--accent-ink);background:var(--accent);border-radius:12px;box-shadow:0 0 0 1px #b8e8ee40,0 8px 22px #00717a38;box-shadow:0 0 0 1px #b8e8ee40,0 8px 22px oklch(.5 .1 205 / .22)}.brand-text{display:flex;flex-direction:column;line-height:1.3;min-width:0}.brand-text strong{font-family:var(--font-display);font-size:17px;letter-spacing:.03em}.brand-text span{font-size:12px;color:var(--muted)}.new-session{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;padding:0 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--fg);font-size:14px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.new-session:hover{background:var(--surface-2);border-color:#225c62}.new-session:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.session-list{display:flex;flex-direction:column;gap:6px;flex:1;overflow-y:auto;min-height:0}.session-row{display:flex;align-items:stretch;border:1px solid transparent;border-radius:10px;transition:background .15s ease,border-color .15s ease}.session-row:hover{background:var(--surface)}.session-row.active{background:#10263599;border-color:#00525980;border-color:oklch(.4 .08 205 / .5)}.session-title{flex:1;min-width:0;text-align:left;padding:11px 12px;background:none;border:none;color:var(--muted);font-size:13px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-row.active .session-title{color:var(--fg)}.session-title:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:10px}.session-delete{width:40px;flex-shrink:0;background:none;border:none;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;border-radius:0 10px 10px 0;transition:color .15s ease,background .15s ease}.session-delete:hover{color:var(--fg);background:#3c282866}.session-delete:focus-visible{outline:2px solid var(--danger);outline-offset:-2px}.chat-view{display:flex;flex-direction:column;min-width:0;min-height:0}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;border-bottom:1px solid var(--border);background:#0a121c80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.chat-header-title h1{font-family:var(--font-display);font-size:20px;font-weight:600;letter-spacing:.03em}.session-id{font-family:var(--font-mono);font-size:11px;color:var(--muted);margin-top:2px}.chat-header-right{display:flex;align-items:center;gap:16px}.status{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.status i{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px #32c36426}.mobile-controls{display:none}.message-list{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:18px;min-height:0}.message{display:flex;gap:12px;max-width:860px;width:100%}.message.user{flex-direction:row-reverse;align-self:flex-end}.avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1px solid var(--border)}.bubble{padding:12px 16px;border-radius:14px;max-width:72ch;font-size:14.5px;line-height:1.7;white-space:pre-wrap;word-break:break-word}.message.assistant .bubble{background:var(--surface);border:1px solid var(--border);border-top-left-radius:4px}.message.user .bubble{background:#103243;color:var(--fg);border-top-right-radius:4px}.bubble-md{white-space:normal;min-width:0;max-width:min(72ch,calc(100% - 52px));overflow-wrap:anywhere}.md{min-width:0}.md strong{font-weight:700;color:var(--fg)}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:0 0 .7em}.md h1,.md h2,.md h3,.md h4,.md h5,.md h6{font-family:var(--font-body);line-height:1.35;margin:1em 0 .5em}.md h1{font-size:1.32em}.md h2{font-size:1.18em}.md h3{font-size:1.06em}.md h4,.md h5,.md h6{font-size:1em}.md ul,.md ol{margin:0 0 .7em;padding-left:1.5em}.md li{margin:.2em 0}.md li>p{margin:0 0 .35em}.md li>:last-child{margin-bottom:0}.md li>ul,.md li>ol{margin-top:.35em}.md li::marker{color:var(--accent)}.md blockquote{margin:0 0 .7em;padding:.15em 0 .15em .9em;border-left:3px solid var(--accent);color:var(--muted)}.md hr{border:none;border-top:1px solid var(--border);margin:1em 0}.md a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.md code{font-family:var(--font-mono);font-size:.88em;background:#192532;border:1px solid var(--border);border-radius:5px;padding:.08em .34em}.md pre{margin:0 0 .7em;padding:10px 12px;overflow-x:auto;background:#091019;border:1px solid var(--border);border-radius:10px;white-space:pre;overflow-wrap:normal;word-break:normal;max-width:100%}.md pre code{background:none;border:none;padding:0;font-size:.86em;line-height:1.6}.md table{display:block;overflow-x:auto;max-width:100%;margin:0 0 .7em;border-collapse:collapse;font-size:.94em}.md th,.md td{border:1px solid var(--border);padding:6px 10px;text-align:left;white-space:normal;min-width:6em;overflow-wrap:break-word}.md :is(th,td)[align=center]{text-align:center}.md :is(th,td)[align=right]{text-align:right}.md th{background:#14202d;font-weight:600}.md tbody tr:nth-child(2n) td{background:#121b2780}.md img{cursor:zoom-in;max-width:100%;max-height:420px;height:auto;object-fit:contain;border-radius:8px;display:block;margin:.7em 0}.md .image-unavailable{color:var(--muted);font-size:.9em}.md .image-retry{color:var(--accent);background:transparent;border:1px solid var(--border);border-radius:6px;padding:3px 8px;cursor:pointer}.md img[src^="https://prod-alicdn-community.kurobbs.com/forum/"]{width:100%;max-height:none;aspect-ratio:auto 3 / 4;background:var(--surface-2)}.md img[hidden]{display:none}.md del{color:var(--muted)}.thinking{display:inline-flex;align-items:center;gap:8px;color:var(--muted)}.thinking-dots{display:inline-flex;gap:3px;align-items:flex-end;height:12px}.thinking-dots span{width:4px;height:4px;border-radius:50%;background:var(--accent);animation:thinking-bounce 1.1s infinite ease-in-out}.thinking-dots span:nth-child(2){animation-delay:.15s}.thinking-dots span:nth-child(3){animation-delay:.3s}@keyframes thinking-bounce{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}@media (prefers-reduced-motion: reduce){.thinking-dots span{animation:none;opacity:.75}}.chat-input-wrap{padding:14px 24px 20px;border-top:1px solid var(--border)}.chat-input{display:flex;align-items:flex-end;gap:12px;max-width:860px;margin:0 auto;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:10px 10px 10px 16px;transition:border-color .15s ease,box-shadow .15s ease}.chat-input:focus-within{border-color:#00717a;border-color:oklch(.5 .1 205);box-shadow:0 0 0 3px #00717a24;box-shadow:0 0 0 3px oklch(.5 .1 205 / .14)}.chat-input textarea{flex:1;resize:none;max-height:140px;background:none;border:none;color:var(--fg);font-size:14.5px;line-height:1.6;outline:none}.chat-input textarea::placeholder{color:#77818c}.send{min-height:40px;padding:0 22px;border:none;border-radius:10px;background:var(--accent);color:var(--accent-ink);font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease,transform .1s ease}.send:hover:not(:disabled){background:var(--accent-strong)}.send:active:not(:disabled){transform:translateY(1px)}.send:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.send:disabled{background:var(--surface-2);color:var(--muted);opacity:.6;cursor:not-allowed}.bg-toggle{flex:none;display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--fg);cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease}.bg-toggle:hover{background:#253444;border-color:#225c62}.bg-toggle:active{transform:translateY(1px)}.bg-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bg-toggle svg{display:block;width:16px;height:16px}.input-counter{margin:8px auto 0;max-width:860px;text-align:right;font-family:var(--font-mono);font-size:12px;color:var(--muted)}.input-error{margin:10px auto 0;max-width:860px;font-size:12px;color:var(--danger)}.character-panel{display:flex;flex-direction:column;gap:20px;padding:24px 20px;min-height:0;background:#0c141e8c;border-left:1px solid var(--border);overflow-y:auto}.portrait{aspect-ratio:1080 / 1701;border:1px solid var(--border);border-radius:16px;background:var(--surface);overflow:hidden;display:grid;place-items:center}.portrait img{width:100%;height:100%;display:block;object-fit:contain}.portrait-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:24px;color:var(--muted)}.portrait-placeholder span{font-family:var(--font-display);font-size:16px;color:var(--fg)}.portrait-placeholder small{font-size:11px;line-height:1.5;opacity:.8}.character-meta h2{font-family:var(--font-display);font-size:20px;letter-spacing:.03em}.character-meta p{font-family:var(--font-mono);font-size:12px;color:var(--muted);margin-top:4px}.ghost{background:var(--surface);color:var(--fg);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:13px;cursor:pointer}.ghost:hover{background:var(--surface-2)}.ghost:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#2f3c4a;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#3c4f62}::-webkit-scrollbar-track{background:transparent}@media (max-width: 1100px){.app-shell{grid-template-columns:272px minmax(0,1fr)}.character-panel{display:none}}@media (max-width: 760px){.app-shell{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.mobile-controls{display:flex;align-items:center;gap:8px}.mobile-controls select{background:var(--surface);color:var(--fg);border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:13px;max-width:150px}.chat-header{padding:12px 16px}.message-list{padding:16px}.chat-input-wrap{padding:12px 16px 16px}.chat-input{gap:8px}.send{padding:0 16px}}.auth-shell{position:relative;z-index:1;min-height:100%;display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,420px);background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:32px;box-shadow:0 20px 70px #0007}.auth-brand{color:var(--accent);font-size:14px;margin-bottom:16px}.auth-card h1{font-size:27px;font-family:var(--font-display)}.auth-intro{color:var(--muted);margin:8px 0 24px}.auth-card label{display:grid;gap:8px;margin:16px 0;font-size:14px}.auth-card input{width:100%;padding:12px;border:1px solid var(--border);border-radius:9px;background:var(--bg);color:var(--fg);font:inherit}.auth-card input:focus{outline:2px solid var(--accent);outline-offset:2px}.auth-submit{width:100%;padding:12px;margin-top:10px;border:0;border-radius:9px;color:var(--accent-ink);background:var(--accent);font:inherit;cursor:pointer}.auth-switch{display:block;margin:18px auto 0;border:0;color:var(--muted);background:transparent;cursor:pointer}.auth-error{color:var(--danger);font-size:13px;margin:12px 0;overflow-wrap:anywhere}.auth-card button:disabled{opacity:.6;cursor:wait}.auth-hint{color:var(--muted);font-size:12px;line-height:1.6}.email-code-row{display:flex;gap:8px;min-width:0}.email-code-row input{min-width:0;flex:1}.email-code-row button{white-space:nowrap}.new-session:disabled{opacity:.5;cursor:not-allowed}.account-menu{margin-top:auto;padding:16px;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.account-menu button{padding:5px 9px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.account-menu .auth-error{width:100%}.mobile-auth-error{display:none}@media (max-width: 760px){.mobile-auth-error{display:block;margin:8px 16px}.mobile-controls{flex-wrap:wrap;justify-content:flex-end}.chat-header-right{min-width:0}}
