:root{--bg:#fffaf4;--panel:rgba(255,255,255,0.82);--panel-strong:#ffffff;--line:rgba(41,27,21,0.08);--text:#241412;--muted:#7a5d56;--accent:#ff5e7c;--accent-deep:#d83f63;--accent-soft:rgba(255,94,124,0.12);--shadow:0 6px 18px rgba(90,47,52,0.06);--topbar-height:68px;--content-max-width:1180px;--content-side-gap:40px;--app-width:100%;--content-width:min(var(--content-max-width),calc(var(--app-width) - var(--content-side-gap)));--content-offset-inline:max(0px,calc((var(--app-width) - var(--content-width)) / 2));--topbar-inline-padding:clamp(16px,2.4vw,28px);--brand-logo-width:120px;--z-topbar:200;--z-modal:300;--z-message:400;--z-lightbox:450;--z-user-menu-backdrop:calc(var(--z-topbar) + 1);--z-user-menu:calc(var(--z-topbar) + 5)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;width:100%;max-width:100%;overflow-x:clip;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:var(--text);background:var(--body-gradient,radial-gradient(circle at top left,rgba(255,202,214,.55),transparent 24rem),radial-gradient(circle at top right,rgba(255,237,191,.7),transparent 26rem),linear-gradient(180deg,#fffdf8 0,#fff4f0 100%))}body{min-height:100vh}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}input,textarea{color:var(--text);background:var(--input-bg,rgba(255,255,255,.96))}input::placeholder,textarea::placeholder{color:var(--placeholder,#a18a84)}.page-shell{width:var(--content-width);max-width:100%;margin:0 auto;padding-bottom:24px;min-height:100dvh;box-sizing:border-box}body:has(.chat-page-shell){overflow:hidden;height:100dvh;display:flex;flex-direction:column}html:has(.chat-page-shell){overflow:hidden;height:100dvh}body:has(.chat-page-shell) .topbar{margin-bottom:0;flex-shrink:0}body:has(.chat-page-shell) .page-shell{flex:1 1 auto;height:auto;max-height:none;min-height:0;padding-bottom:0;overflow:hidden;display:flex;flex-direction:column}.chat-page-shell{flex:1 1 auto;height:100%;min-height:0;overflow:hidden}.chat-layout{display:grid;grid-template-columns:360px minmax(0,1fr);grid-gap:18px;gap:18px;height:100%;min-height:0;padding:8px 0 12px}.chat-layout-main{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;height:100%}.chat-layout-main>.chat-panel{flex:1 1 auto;min-height:0}.chat-mobile-bar,.chat-mobile-sidebar-backdrop,.chat-mobile-sidebar-close,.ghost-button.chat-mobile-sidebar-close{display:none}.glass-panel,.hero-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow)}.hero-card{border-radius:28px}.glass-panel{border-radius:24px}.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:#fff;border:1px solid rgba(255,94,124,.15);color:var(--muted);font-size:13px;line-height:1.1}.accent-button,.ghost-button{border:0;border-radius:999px;padding:10px 16px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;font-size:14px;line-height:1.1;white-space:nowrap}.accent-button{color:#fff;background:linear-gradient(135deg,var(--accent) 0,#ff7a54 100%);box-shadow:0 14px 30px rgba(255,94,124,.3)}.ghost-button{color:var(--text);background:rgba(255,255,255,.72);border:1px solid var(--line)}.accent-button:hover,.ghost-button:hover{transform:translateY(-1px)}.upload-dropzone{width:100%;border:1.5px dashed rgba(255,94,124,.26);border-radius:22px;background:rgba(255,255,255,.92);padding:28px 20px;display:grid;place-items:center;grid-gap:8px;gap:8px;color:var(--text);cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease;text-align:center}.upload-dropzone:disabled{cursor:wait;opacity:.72}.upload-dropzone:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(255,94,124,.45)}.upload-dropzone-icon{width:46px;height:46px;border-radius:999px;display:grid;place-items:center;background:rgba(255,94,124,.12);color:var(--accent-deep);font-size:28px;line-height:1}.upload-dropzone-title{font-size:16px;font-weight:700}.upload-dropzone-copy{font-size:13px;color:var(--muted);line-height:1.6}.upload-preview-card{display:grid;grid-gap:12px;gap:12px;padding:14px;border-radius:22px;border:1px solid var(--line);background:rgba(255,255,255,.84)}.upload-preview-image{width:100%;max-height:260px;object-fit:cover;border-radius:18px;display:block}.section-title{margin:0;font-size:clamp(20px,2.4vw,24px);line-height:1.25}.section-copy{margin:0;color:var(--muted);font-size:14px;line-height:1.65}.page-stack{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:22px;gap:22px;padding-bottom:24px;width:100%;max-width:100%;min-width:0}.page-hero{padding:24px;display:grid;grid-gap:18px;gap:18px}.page-hero-split{grid-template-columns:minmax(0,1.1fr) minmax(280px,360px);align-items:stretch}.page-hero-compact{padding:22px 24px}.page-copy-block{display:grid;grid-gap:10px;gap:10px;align-content:start;justify-items:start}.page-title{font-size:clamp(20px,2.4vw,24px);line-height:1.25}.page-subtitle,.page-title{margin:0;letter-spacing:-.01em}.page-subtitle{font-size:clamp(17px,2vw,20px);line-height:1.3}.page-caption{margin:0;color:var(--muted);font-size:15px;line-height:1.7;max-width:680px}.page-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.page-section{display:grid;grid-gap:14px;gap:14px}.page-section-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;flex-wrap:wrap}.info-card,.page-section-head>div{display:grid;grid-gap:10px;gap:10px}.info-card{padding:18px}.info-card-title{margin:0;font-size:20px;line-height:1.22}.info-card-copy{margin:0;color:var(--muted);font-size:14px;line-height:1.65}.detail-list{display:grid;grid-gap:10px;gap:10px}.detail-list li,.detail-list p{margin:0;color:var(--muted);line-height:1.65}.detail-list strong{color:var(--text)}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.info-grid-compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px;gap:16px}.form-shell{display:grid;grid-gap:18px;gap:18px}.form-stack{display:grid;grid-gap:14px;gap:14px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.form-field{display:grid;grid-gap:8px;gap:8px}.field-label{font-size:14px;font-weight:700;color:var(--text)}.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-forgot-link{border:0;background:transparent;color:var(--accent-deep);font-size:13px;font-weight:600;cursor:pointer;padding:0}.auth-forgot-sent .accent-button,.auth-forgot-sent>.ghost-button{width:100%;justify-content:center}.field-hint{margin:0;color:var(--muted);font-size:13px;line-height:1.65}.select-input,.text-area,.text-input{width:100%;border-radius:18px;border:1px solid var(--line);padding:14px 16px;background:rgba(255,255,255,.96);color:var(--text)}.select-input,.text-input{min-height:52px}.text-area{min-height:120px;resize:vertical}.select-input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-error{color:#d83f63}.form-error,.form-success{margin:0;font-size:14px;line-height:1.5}.form-success{color:#2f7a4e}.auth-shell{width:min(620px,100%);margin:36px auto 0}.auth-card{position:relative;overflow:hidden}.auth-panel{display:grid;grid-gap:20px;gap:20px;padding:30px}.auth-badges{display:flex;gap:10px;flex-wrap:wrap}.auth-form{display:grid;grid-gap:16px;gap:16px}.auth-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}.auth-footer--center{justify-content:center}.auth-modal-switch{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-bottom:18px}.auth-modal-switch.is-hidden{display:none}.auth-modal-switch button{min-height:44px;padding:10px 16px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.72);color:var(--text);cursor:pointer;font-size:14px;line-height:1.1;transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease}.auth-modal-switch button.is-active{border-color:transparent;color:#fff;background:linear-gradient(135deg,var(--accent) 0,#ff7a54 100%);box-shadow:0 10px 22px rgba(255,94,124,.22)}.auth-modal-pane[hidden]{display:none!important}.auth-modal-pane{display:block}.auth-form .select-input,.auth-form .text-input{min-height:44px;padding:10px 14px;border-radius:14px}.auth-form>.accent-button{width:100%;min-height:44px;padding:10px 18px}.auth-oauth{display:grid;grid-gap:12px;gap:12px}.auth-oauth-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px}.auth-oauth-divider:after,.auth-oauth-divider:before{content:"";flex:1 1;height:1px;background:color-mix(in srgb,var(--line,#d9cfc8) 80%,transparent)}.google-sign-in-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 16px;border-radius:14px;border:1px solid color-mix(in srgb,var(--line,#d9cfc8) 90%,transparent);background:color-mix(in srgb,var(--surface,#fff) 92%,#f7f7f7);color:var(--ink,#2b2422);text-decoration:none;font-size:14px;font-weight:600;transition:background .18s ease,border-color .18s ease}.google-sign-in-button:hover{background:color-mix(in srgb,var(--surface,#fff) 80%,#eee);border-color:color-mix(in srgb,var(--ink,#2b2422) 18%,transparent)}.otp-code-input{display:flex;justify-content:center;align-items:center;gap:10px;width:100%}.otp-code-box{width:44px;height:52px;flex:0 0 44px;box-sizing:border-box;border-radius:12px;border:1px solid color-mix(in srgb,var(--line,#d9cfc8) 88%,transparent);background:color-mix(in srgb,var(--surface,#fff) 96%,#f4f4f5);color:var(--ink,#2b2422);text-align:center;font-size:22px;font-weight:700;letter-spacing:0;padding:0;line-height:1}.otp-code-box:focus{outline:none;border-color:color-mix(in srgb,var(--accent,#ff5e7c) 70%,transparent);background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,#ff5e7c) 16%,transparent)}.auth-otp-panel{display:grid;justify-items:center;grid-gap:18px;gap:18px;text-align:center;padding-top:4px}.auth-otp-back{justify-self:start;display:inline-flex;align-items:center;min-height:32px;padding:0;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:13px}.auth-otp-back:hover{color:var(--ink,#2b2422)}.auth-otp-copy{display:grid;grid-gap:8px;gap:8px;width:100%}.auth-otp-title{margin:0;font-size:22px;font-weight:700;line-height:1.3;color:var(--ink,#2b2422)}.auth-otp-desc{margin:0;font-size:14px;line-height:1.5;color:var(--muted);word-break:break-all}.auth-otp-desc span{color:var(--ink,#2b2422);font-weight:600}.auth-otp-submit{width:min(100%,360px);min-height:48px;border-radius:999px;justify-content:center}.auth-otp-login,.auth-otp-resend,.auth-otp-tip{margin:0;font-size:13px;line-height:1.6;color:var(--muted)}.auth-otp-tip{font-size:12px;max-width:28em}.auth-otp-login a,.auth-otp-login button,.auth-otp-resend button{border:0;background:transparent;padding:0;margin-left:4px;color:var(--ink,#2b2422);font-weight:600;cursor:pointer;text-decoration:none}.auth-otp-login a:hover,.auth-otp-login button:hover,.auth-otp-resend button:hover{color:var(--accent,#ff5e7c)}.auth-otp-email{font-size:15px;word-break:break-all}.auth-back-button{justify-self:start;min-height:36px;padding:6px 12px}@media (max-width:420px){.otp-code-input{gap:8px}.otp-code-box{width:40px;height:48px;flex-basis:40px;font-size:20px}}.auth-form>.accent-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.password-strength{display:grid;grid-gap:8px;gap:8px;margin-top:8px}.password-strength-hint{margin:0;font-size:12px;line-height:1.4;color:var(--muted)}.password-strength-track{height:6px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--line,#d9cfc8) 70%,transparent)}.password-strength-fill{display:block;height:100%;border-radius:inherit;transition:width .2s ease,background .2s ease;background:#d0b8b2}.password-strength[data-score="1"] .password-strength-fill{background:#e05b5b}.password-strength[data-score="2"] .password-strength-fill{background:#e0a145}.password-strength[data-score="3"] .password-strength-fill{background:#5bb07a}.password-strength[data-score="4"] .password-strength-fill{background:#2f9e6a}.password-strength-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;font-size:12px;line-height:1.4;color:var(--muted)}.password-strength[data-ok="0"] .password-strength-label{color:#c45b5b}.password-strength[data-ok="1"] .password-strength-label{color:#2f9e6a}.password-strength-rules{display:inline-flex;gap:8px;flex-wrap:wrap}.password-strength-rules span{padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--line,#d9cfc8) 55%,transparent)}.password-strength-rules span.is-ok{color:#2f9e6a;background:color-mix(in srgb,#2f9e6a 14%,transparent)}.auth-form .auth-footer .ghost-button{min-height:40px;padding:9px 16px}.content-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:14px;gap:14px}.discover-page{padding-bottom:32px}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.stat-card{padding:16px;border-radius:22px;background:rgba(255,255,255,.72);border:1px solid rgba(41,27,21,.06)}.stat-card strong{display:block;font-size:24px;margin-bottom:6px}.tag-row{display:flex;flex-wrap:wrap;gap:10px}.tag{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.88);border:1px solid rgba(41,27,21,.07);color:var(--muted);font-size:13px}.card-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:14px;gap:14px}.character-card{overflow:clip;padding:16px;display:flex;flex-direction:column;gap:12px;min-height:0}.character-cover{display:block;height:160px;border-radius:22px;background:transparent;position:relative;overflow:hidden}.character-cover-overlay{position:absolute;inset:16px 16px auto;display:flex;justify-content:space-between;gap:12px;z-index:2}.character-cover:after{content:"";position:absolute;inset:18px;border-radius:18px;background:radial-gradient(circle at top left,rgba(255,255,255,.84),transparent 40%),linear-gradient(180deg,rgba(255,94,124,.18),rgba(255,122,84,.06))}.character-meta{display:flex;justify-content:space-between;gap:12px;align-items:center}.character-name{margin:0;font-size:18px;line-height:1.3}.character-author{margin:2px 0 0;color:var(--muted);font-size:12px}.character-summary{margin:0;font-size:12px;line-height:1.55;letter-spacing:.015em;color:var(--muted);display:block;max-height:calc(1.55em * 3);min-height:calc(1.55em * 3);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding-right:4px;word-break:break-word;--scrollbar-size:3px;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}.character-summary::-webkit-scrollbar{width:3px;height:3px}.character-summary::-webkit-scrollbar-track{background:transparent}.character-summary::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:0;border-radius:999px;background-clip:border-box}.character-summary::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);border:0;background-clip:border-box}.character-card-actions{display:flex;flex-direction:row;flex-wrap:nowrap;gap:6px;margin-top:auto}.character-stats{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:14px}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-topbar)}.topbar,.topbar-inner{width:100%;overflow:visible}.topbar-inner{max-width:none;margin:0;box-sizing:border-box;position:relative;display:flex;align-items:center;gap:0;height:var(--topbar-height);padding:0 var(--topbar-inline-padding)}.brand{display:inline-flex;align-items:center;line-height:0;flex-shrink:0}.brand-logo{width:auto;height:38px;display:block;flex-shrink:0}.topnav{position:absolute;left:var(--content-offset-inline);top:50%;transform:translateY(-50%);display:flex;gap:4px;color:var(--muted);flex-wrap:nowrap;justify-content:flex-start;align-items:center;min-width:0;max-width:calc(var(--app-width) - var(--content-offset-inline) - 280px);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;white-space:nowrap}.topnav::-webkit-scrollbar{display:none}.topnav a{padding:7px 10px;border-radius:999px;transition:background .2s ease,color .2s ease;font-size:13px;flex:0 0 auto}.topnav a:hover{background:rgba(255,255,255,.75);color:var(--text)}.topbar-actions{gap:8px;flex-wrap:nowrap;justify-content:flex-end;flex:0 0 auto}.topbar-actions,.topbar-end{display:flex;align-items:center;min-width:0}.topbar-end{gap:10px;margin-left:auto;flex:0 1 auto}.theme-toggle.topbar-theme--mobile,.topbar-theme--mobile{display:none}.topbar-search{display:flex;align-items:center;gap:8px;padding:6px;width:min(340px,34vw);min-width:0;margin-left:0;border-radius:999px;background:rgba(255,255,255,.78);border:1px solid var(--line);flex:0 1 auto}@media (min-width:961px){.topbar-search{min-width:220px}}.topbar-search input{flex:1 1;min-width:0;border:0;outline:none;background:transparent;font-size:13px}.topbar-search>button{padding:9px 14px;font-size:14px}.topbar-userzone,.topbar-userzone>div{display:inline-flex;align-items:center;gap:8px;flex-wrap:nowrap;white-space:nowrap}.topbar-userzone a,.topbar-userzone span{font-size:12px}.topbar-button,.topbar-userzone .ghost-button{padding:9px 13px;font-size:13px}.topbar-cta{display:inline-flex;align-items:center}.discovery-hero{padding:24px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);grid-gap:18px;gap:18px}.hero-actions{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}.hero-mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:14px}.mini-stat{padding:14px;border-radius:22px;background:rgba(255,255,255,.68);border:1px solid rgba(41,27,21,.06)}.mini-stat strong{display:block;font-size:24px}.mini-stat span{color:var(--muted)}.spotlight-panel{padding:20px;position:relative;overflow:hidden}.spotlight-panel:after{content:"";position:absolute;inset:auto -10% -20% auto;width:240px;height:240px;border-radius:999px;background:radial-gradient(circle,rgba(255,94,124,.18),transparent 68%);pointer-events:none}.spotlight-eyebrow{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.spotlight-title{margin:12px 0 10px;font-size:clamp(20px,2.4vw,24px);line-height:1.2}.spotlight-stats{display:flex;flex-wrap:wrap;gap:14px;margin-top:18px;color:var(--muted);font-size:14px}.homepage-section{margin-top:20px}.section-headline{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:16px;min-width:0}.section-headline h2{margin:0}.section-heading{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto;flex-wrap:nowrap}.section-kicker{display:inline-flex;align-items:center;gap:0;flex-shrink:0;padding:5px 10px;border-radius:999px;background:linear-gradient(135deg,rgba(255,107,138,.14),rgba(255,165,120,.16));border:1px solid rgba(255,107,138,.14);color:var(--accent-deep);font-size:12px;font-weight:650;letter-spacing:.04em;line-height:1;white-space:nowrap}.section-kicker:before{display:none}.section-heading-sep{width:4px;height:4px;border-radius:50%;background:rgba(255,107,138,.45);flex-shrink:0}.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px}.category-card{padding:16px;display:grid;grid-gap:8px;gap:8px;min-height:140px}.category-card strong{font-size:28px}.category-card p{margin:0;color:var(--muted);line-height:1.65}.explorer-section{margin-top:0;display:grid;grid-gap:16px;gap:16px}.characters-plaza-filters{display:grid;grid-gap:12px;gap:12px}.characters-plaza-filter-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.characters-plaza-filter-toolbar .characters-plaza-chip-row,.characters-plaza-filter-toolbar .collapsible-chip-row{flex:1 1 auto;min-width:0}.collapsible-chip-row{display:grid;grid-gap:8px;gap:8px;justify-items:start}.collapsible-chip-row__inner:not(.is-expanded){max-height:var(--collapsed-max-h,5.5rem);overflow:hidden}.collapsible-chip-row__toggle{padding:4px 10px;font-size:13px;color:var(--muted)}.characters-plaza-clear{flex-shrink:0}.characters-plaza-sentinel{height:1px;margin:0}.characters-plaza-status{padding:16px 0 8px;text-align:center;color:var(--muted);font-size:13px}.characters-plaza-hero.page-hero-banner{margin:0}.characters-plaza-hero .page-hero-title{margin:6px 0 8px;font-size:clamp(20px,2.6vw,24px);letter-spacing:-.01em}.explorer-panel{padding:16px;margin-bottom:14px;display:grid;grid-gap:12px;gap:12px}.explorer-header{justify-content:space-between;gap:16px}.explorer-header,.explorer-search-row{display:flex;flex-wrap:wrap;align-items:center}.explorer-search-row{gap:12px}.directory-hero{padding:22px 24px}.directory-sidecard{padding:16px}.character-detail-section{padding:20px 22px;display:grid;grid-gap:14px;gap:14px}.character-section-kicker{display:inline-flex;align-items:center;gap:6px;width:-moz-fit-content;width:fit-content;color:var(--accent-deep);font-size:12px;font-weight:600;letter-spacing:.08em;line-height:1}.character-section-kicker .app-icon{color:var(--accent)}.character-opening-copy{margin:0;color:var(--text);font-size:14px;line-height:2;letter-spacing:.02em;max-width:none;white-space:pre-wrap;word-break:break-word}.chat-session-sidebar{padding:18px;display:flex;flex-direction:column;gap:16px;min-height:0;overflow:hidden}.chat-session-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.chat-session-sidebar-title{margin:0;font-size:17px;line-height:1.2;font-weight:700}.chat-session-sidebar-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.chat-session-sidebar-actions .ghost-button{padding:7px 12px;font-size:13px;line-height:1.2;font-weight:600}.chat-session-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center}.chat-session-search-row--single{grid-template-columns:minmax(0,1fr)}.chat-session-search{width:100%;padding:10px 14px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.96);font-size:14px}.chat-session-inline-error{color:#d83f63;font-size:13px}.chat-session-scroll{display:flex;flex-direction:column;flex:1 1;min-height:0;overflow:auto;padding-right:4px;padding-bottom:10px;gap:18px}.chat-session-empty{display:grid;grid-gap:10px;gap:10px;justify-items:start;padding:18px 8px 8px;color:var(--muted)}.chat-session-empty strong{color:var(--text);font-size:14px}.chat-session-empty p{margin:0;font-size:13px;line-height:1.55}.chat-session-group{display:grid;grid-gap:12px;gap:12px}.chat-session-group-label{color:var(--muted);font-size:13px;font-weight:700;letter-spacing:.06em}.chat-session-group-items{display:grid;grid-gap:8px;gap:8px}.chat-session-card{display:flex;align-items:center;gap:4px;padding:10px 8px 10px 12px;border-radius:18px;background:rgba(255,255,255,.74);border:1px solid rgba(41,27,21,.06);transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}.chat-session-card-link{min-width:0;display:block;color:inherit;text-decoration:none}.chat-session-card-delete{width:32px;height:32px;border:none;border-radius:999px;background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto;font-size:16px;line-height:1;opacity:0;transition:opacity .2s ease,background .2s ease,color .2s ease,transform .2s ease}.chat-session-card-delete:focus-visible,.chat-session-card.active .chat-session-card-delete,.chat-session-card:hover .chat-session-card-delete{opacity:1}.chat-session-card-delete:hover{color:var(--accent-deep);background:rgba(216,63,99,.1);transform:scale(1.04)}.chat-session-card-delete:disabled{opacity:.45;cursor:wait;transform:none}.chat-session-card:hover{transform:translateY(-1px);border-color:rgba(255,94,124,.18)}.chat-session-card.active{background:linear-gradient(180deg,rgba(255,244,247,.98),rgba(255,255,255,.96));border-color:rgba(255,94,124,.2);box-shadow:0 12px 30px rgba(255,94,124,.1)}.chat-session-card-main{flex:1 1;min-width:0;display:grid;grid-template-columns:54px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:center}.chat-session-card-cover{width:54px;height:54px;border-radius:16px;overflow:hidden;background:linear-gradient(160deg,rgba(255,94,124,.16),rgba(255,190,135,.16));border:1px solid rgba(41,27,21,.05);display:flex;align-items:center;justify-content:center;flex:0 0 54px}.chat-session-card-cover--button{padding:0;cursor:zoom-in;font:inherit;color:inherit}.chat-session-card-cover--button:disabled{cursor:default}.chat-session-card-cover-image{width:100%;height:100%;object-fit:cover;display:block}.chat-session-card-cover-fallback{color:var(--accent-deep);font-size:22px;font-weight:700}.chat-session-card-body{min-width:0;display:grid;grid-gap:6px;gap:6px}.chat-session-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.chat-session-card-top strong{font-size:15px;line-height:1.45;min-width:0;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.chat-session-card-top span{color:var(--muted);font-size:12px;white-space:nowrap;flex:0 0 auto}.chat-session-card-subtitle{color:var(--muted);font-size:13px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chat-panel{padding:18px;display:flex;flex-direction:column;height:100%;min-height:0;gap:14px;overflow:hidden}.chat-panel--has-bg{background-color:transparent;background-size:cover;background-position:50%;background-repeat:no-repeat}.chat-panel-loading{display:grid;align-content:start;grid-gap:8px;gap:8px;padding:8px 4px}.chat-panel-empty{align-items:center;justify-content:center}.chat-panel-empty-copy{width:min(520px,100%);display:grid;grid-gap:14px;gap:14px;text-align:center}.chat-panel-empty-copy .pill{justify-self:center}.chat-panel-empty-copy h1{margin:0;font-size:clamp(20px,2.4vw,24px);line-height:1.25}.chat-header{display:flex;justify-content:space-between;gap:14px;align-items:center;flex-shrink:0}.chat-header h1{margin-top:12px;font-size:28px}.chat-header--compact h1{margin:0;font-size:20px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-header-copy{min-width:0;display:grid}.chat-side-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex:0 0 auto}.chat-side-actions--compact{flex:0 0 auto}.chat-settings-menu-wrap{position:relative}.chat-model-switcher{position:relative;flex:0 0 auto}.chat-model-switcher-trigger{min-width:180px;max-width:260px;height:38px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.88);color:var(--text);display:inline-flex;align-items:center;justify-content:space-between;gap:10px;padding:0 14px;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease}.chat-model-switcher-trigger:hover{transform:translateY(-1px);border-color:rgba(255,94,124,.25);background:rgba(255,255,255,.96)}.chat-model-switcher-trigger:disabled{opacity:.65;cursor:wait;transform:none}.chat-model-switcher-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600}.chat-model-switcher-caret{flex:0 0 auto;font-size:14px;color:var(--muted)}.chat-session-actions{display:grid;grid-gap:10px;gap:10px}.chat-session-actions--compact{display:flex;gap:8px;flex-wrap:nowrap;justify-content:flex-end;align-items:center;position:relative}.chat-icon-button,.chat-model-trigger{width:38px;height:38px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.82);color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease;flex:0 0 auto;font-size:18px;line-height:1}.chat-icon-button:hover,.chat-model-trigger:hover{transform:translateY(-1px);border-color:rgba(255,94,124,.25);background:rgba(255,255,255,.96)}.chat-icon-button:disabled,.chat-model-trigger:disabled{opacity:.6;cursor:wait;transform:none}.chat-actions-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:128px;padding:6px;display:grid;grid-gap:4px;gap:4px;border-radius:12px;z-index:12}.chat-actions-menu-item{width:100%;border:0;background:transparent;text-align:left;padding:10px 12px;min-height:40px;border-radius:8px;color:var(--text);cursor:pointer;font-size:13px;line-height:1.35;box-sizing:border-box}.chat-actions-menu-item:hover{background:rgba(255,94,124,.08)}.chat-actions-menu-item--danger{color:var(--accent-deep)}.chat-actions-menu-item--icon{display:inline-flex;align-items:center;gap:8px}.chat-menu-item-icon{width:16px;text-align:center;color:var(--muted);font-size:14px;flex-shrink:0}.chat-settings-menu{min-width:148px}.chat-info-section{display:grid;grid-gap:10px;gap:10px}.chat-info-stack{display:grid;grid-gap:18px;gap:18px}.chat-info-section-head{display:flex;align-items:center}.chat-info-character-row{display:grid;grid-template-columns:52px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:start}.chat-info-avatar{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;flex-shrink:0;overflow:hidden;background:linear-gradient(135deg,rgba(255,107,138,.22),rgba(255,176,122,.16));background-size:cover;background-position:top;color:var(--accent-deep);font-size:18px;font-weight:700;border:1px solid rgba(255,107,138,.12)}.chat-info-avatar--button{padding:0;cursor:zoom-in;font:inherit;color:inherit}.chat-info-avatar--button:disabled{cursor:default}.chat-info-avatar-image{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.chat-info-avatar-fallback{color:inherit;font:inherit;font-weight:inherit}.chat-info-avatar--lg{width:64px;height:64px;border-radius:18px;font-size:22px}.chat-info-character-copy{display:grid;grid-gap:6px;gap:6px;min-width:0}.chat-info-character-name{margin:0;font-size:18px;line-height:1.25;font-weight:650}.chat-info-text{margin:0;line-height:1.6}.chat-info-badges{margin-top:2px}.chat-character-detail{display:grid;grid-gap:18px;gap:18px}.chat-character-detail-hero{display:grid;grid-template-columns:64px minmax(0,1fr);grid-gap:14px;gap:14px;align-items:center;padding:14px;border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(255,236,230,.55));border:1px solid rgba(255,107,138,.1)}.chat-character-detail-hero-copy{display:grid;grid-gap:4px;gap:4px;min-width:0}.chat-character-detail-name{margin:0;font-size:20px;line-height:1.25;font-weight:650}.chat-character-detail-meta{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.chat-character-detail-block{display:grid;grid-gap:8px;gap:8px}.chat-character-detail-label{margin:0;font-size:12px;font-weight:650;letter-spacing:.06em;color:var(--accent-deep)}.chat-character-detail-body,.chat-character-detail-empty{margin:0;color:var(--muted);font-size:14px;line-height:1.65}.chat-character-detail-opening{margin:0;padding:14px 16px;border-radius:16px;border-left:3px solid rgba(255,107,138,.45);background:rgba(255,255,255,.72);color:var(--text);font-size:14px;line-height:1.7;white-space:pre-wrap}.app-modal--character-detail{width:min(560px,100%)}.message-stream{display:flex;flex-direction:column;gap:14px;flex:1 1 auto;min-height:0;overflow:auto;padding-right:4px}.scroll-to-bottom-button{position:absolute;right:18px;bottom:112px;width:42px;height:42px;border:1px solid rgba(41,27,21,.08);border-radius:999px;background:rgba(255,255,255,.94);color:var(--text);box-shadow:0 16px 30px rgba(45,27,20,.12);cursor:pointer;z-index:3;display:inline-flex;align-items:center;justify-content:center;font-size:20px;line-height:1}.scroll-to-bottom-button:hover{border-color:rgba(255,94,124,.2);background:rgba(255,251,252,.98)}.message-item{display:grid;grid-gap:6px;gap:6px}.message-item.assistant{justify-items:start}.message-item.user{justify-items:end}.message-main{display:flex;align-items:flex-start;gap:8px;max-width:86%;min-width:0}.message-stack{display:grid;grid-gap:10px;gap:10px;min-width:0;flex:1 1 auto;max-width:100%}.message-avatar{width:32px;height:32px;flex-shrink:0;margin-top:2px;border-radius:11px;display:grid;place-items:center;border:1px solid rgba(255,107,138,.14);background:linear-gradient(135deg,rgba(255,107,138,.22),rgba(255,176,122,.16));background-size:cover;background-position:top;color:var(--accent-deep);font-size:13px;font-weight:700}.message-main .message-bubble{max-width:100%;min-width:0;flex:1 1 auto}.message-item.assistant>.chat-generated-images--embedded,.message-item.assistant>.message-bubble-actions{margin-left:40px}.message-bubble{max-width:74%;padding:13px 15px;border-radius:20px;line-height:var(--chat-line-height,1.7);font-size:var(--chat-font-size,15px);border:1px solid rgba(41,27,21,.06);position:relative;display:grid;grid-gap:10px;gap:10px}.message-bubble.assistant{background:rgba(255,255,255,.82);align-self:flex-start}.message-bubble.user{background:#ffedf2;align-self:flex-end}.message-bubble--updated{border-color:rgba(255,94,124,.3);box-shadow:0 0 0 3px rgba(255,94,124,.12)}.message-bubble--typing{opacity:.9}.typing-indicator{display:inline-flex;align-items:center;gap:5px;padding:2px}.typing-indicator span{width:7px;height:7px;border-radius:50%;background:var(--accent,#ff6a88);opacity:.45;animation:typing-bounce 1.2s ease-in-out infinite}.typing-indicator span:nth-child(2){animation-delay:.18s}.typing-indicator span:nth-child(3){animation-delay:.36s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.35}30%{transform:translateY(-4px);opacity:.9}}.message-bubble-content{white-space:pre-wrap;word-break:break-word}.message-bubble-actions{display:flex;gap:8px;flex-wrap:wrap;padding:0 4px;opacity:0;pointer-events:none;transition:opacity .16s ease}.message-bubble-actions.user{justify-content:flex-end}.message-item:focus-within .message-bubble-actions,.message-item:hover .message-bubble-actions{opacity:1;pointer-events:auto}.message-action-button{border:1px solid rgba(41,27,21,.08);background:rgba(255,255,255,.82);color:var(--muted);border-radius:999px;padding:7px 12px;font-size:12px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.message-action-button:hover{color:var(--text);border-color:rgba(255,94,124,.2);background:rgba(255,251,252,.98)}.message-action-button--danger{color:#bf4565;border-color:rgba(216,63,99,.14);background:rgba(255,245,247,.92)}.message-action-button--danger:hover{color:#a52c4e;border-color:rgba(216,63,99,.24);background:rgba(255,239,243,.98)}.message-action-icon{font-size:13px;line-height:1}.chat-usage-stack{display:grid;grid-gap:14px;gap:14px}.chat-usage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.chat-usage-card{display:grid;grid-gap:6px;gap:6px;padding:16px 18px;border-radius:20px;background:rgba(255,255,255,.88);border:1px solid rgba(41,27,21,.06)}.chat-usage-card strong{font-size:24px;line-height:1.1}.chat-usage-card span{color:var(--muted);font-size:13px}.chat-background-tile-label{align-self:end;justify-self:start;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.88);color:var(--text);font-size:12px;line-height:1}.chat-copy-toast{position:absolute;top:88px;left:50%;transform:translateX(-50%);padding:10px 16px;border-radius:999px;background:rgba(36,20,18,.82);color:#fff;font-size:13px;z-index:18;box-shadow:0 14px 34px rgba(36,20,18,.18)}.composer{border-radius:22px;border:1px solid rgba(41,27,21,.08);background:rgba(255,255,255,.88);padding:10px 12px 8px;display:grid;grid-gap:8px;gap:8px}.composer,.composer-wrap{flex-shrink:0;overflow:visible}.composer-wrap{position:relative;z-index:8}.composer-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px}.composer-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:0;overflow:visible}.composer-tool{width:38px;height:38px;border-radius:999px;border:1px solid rgba(255,200,25,.28);background:rgba(255,248,220,.92);color:#b78300;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease;flex:0 0 auto;position:relative}.composer-tool[data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%) translateY(4px);padding:5px 10px;border-radius:8px;background:rgba(36,20,18,.94);color:#fffaf8;font-size:12px;line-height:1.2;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s ease,transform .15s ease,visibility .15s ease;z-index:30;box-shadow:0 6px 18px rgba(36,20,18,.18)}.composer-tool[data-tooltip]:focus-visible:after,.composer-tool[data-tooltip]:hover:after{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.composer-tool.active{background:rgba(255,236,169,.95);border-color:rgba(255,179,0,.45)}.composer-tool:hover{transform:translateY(-1px)}.composer-tool-icon{font-size:18px;line-height:1}.composer-hint{color:var(--muted);font-size:13px;line-height:1.5}.composer-error{color:#d83f63;font-size:13px;line-height:1.5}.composer-popover{position:absolute;left:0;right:0;bottom:calc(100% + 14px);z-index:8;border-radius:28px;background:rgba(255,255,255,.98);border:1px solid rgba(41,27,21,.08);box-shadow:0 30px 60px rgba(45,27,20,.12)}.quick-prompt-panel{padding:18px;display:grid;grid-gap:14px;gap:14px}.quick-prompt-item{display:grid;grid-template-columns:54px minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start;padding:18px 20px;border-radius:24px;border:1px solid rgba(41,27,21,.08);background:rgba(255,255,255,.88);text-align:left;cursor:pointer}.quick-prompt-item:hover{border-color:rgba(255,94,124,.18);background:rgba(255,251,252,.98)}.quick-prompt-key{width:38px;height:38px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:var(--accent);font-weight:700;font-size:24px;border:1px solid rgba(255,94,124,.24);background:rgba(255,250,252,1)}.quick-prompt-copy{display:grid;grid-gap:8px;gap:8px}.quick-prompt-copy strong{font-size:17px;font-weight:700;color:var(--text)}.quick-prompt-copy span{color:var(--muted);line-height:1.65;font-size:15px}.quick-prompt-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.quick-prompt-head strong{font-size:16px;font-weight:700;color:var(--text)}.quick-prompt-head-actions{display:flex;align-items:center;gap:8px}.quick-prompt-refresh{border:1px solid rgba(255,94,124,.25);border-radius:999px;background:rgba(255,251,252,.9);color:var(--accent,#ff5e7c);font-size:13px;padding:6px 12px;cursor:pointer}.quick-prompt-refresh:disabled{opacity:.5;cursor:not-allowed}.quick-prompt-close{width:30px;height:30px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:24px;line-height:1;cursor:pointer}.quick-prompt-empty,.quick-prompt-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:22px 8px;color:var(--muted);font-size:14px}.quick-prompt-empty{flex-direction:column}.quick-prompt-spinner{width:22px;height:22px;border-radius:999px;border:3px solid rgba(255,94,124,.25);border-top:3px solid var(--accent,#ff5e7c);animation:quick-prompt-spin .8s linear infinite}@keyframes quick-prompt-spin{to{transform:rotate(1turn)}}.quick-prompt-item:disabled{opacity:.6;cursor:not-allowed}.brace-menu{left:0;right:auto;width:min(460px,calc(100vw - 72px));max-height:420px;overflow:auto;padding:10px}.brace-menu-item{width:100%;display:grid;grid-template-columns:auto 1fr;grid-gap:10px;gap:10px;align-items:start;padding:10px 12px;border:0;border-radius:14px;background:transparent;text-align:left;cursor:pointer}.brace-menu-item:hover{background:rgba(255,94,124,.08)}.brace-menu-item-icon{margin-top:1px;color:var(--accent);opacity:.88}.brace-menu-item-copy{display:grid;grid-gap:2px;gap:2px;min-width:0}.brace-menu-item-copy strong{font-size:13px;font-weight:650;line-height:1.35}.brace-menu-item-copy span{font-size:12px;line-height:1.4;color:var(--muted)}.composer textarea{min-height:24px;height:24px;max-height:120px;resize:none;border:0;background:transparent;line-height:24px;padding:0;overflow-y:auto}.composer textarea,.message-edit-textarea{width:100%;outline:none;color:var(--text);font-size:15px}.message-edit-textarea{min-height:180px;resize:vertical;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.92);padding:14px 16px;line-height:1.7}.composer-footer{display:flex;justify-content:flex-end;gap:10px;align-items:center}.composer-send{padding:10px 16px;min-height:40px}.composer-meta{display:flex;justify-content:flex-start;gap:12px;align-items:center;min-height:18px}.character-hero{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);grid-gap:18px;gap:18px;padding:18px 20px;align-items:stretch}.character-poster{aspect-ratio:3/4;min-height:0;max-height:320px;border-radius:22px;background:radial-gradient(circle at top left,rgba(255,255,255,.72),transparent 32%),linear-gradient(160deg,rgba(255,94,124,.28),rgba(103,57,196,.12),rgba(255,209,102,.18));background-size:cover;background-position:top}.auth-card:after{content:"";position:absolute;inset:auto -20% -35% auto;width:220px;height:220px;border-radius:999px;background:radial-gradient(circle,rgba(255,122,84,.16),transparent 68%);pointer-events:none}.app-modal-backdrop{position:fixed;inset:0;z-index:var(--z-modal);background:rgba(36,20,18,.32);display:grid;place-items:center;box-sizing:border-box;width:100%;max-width:100%;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));overflow:auto}.app-modal-backdrop--nested{z-index:calc(var(--z-modal) + 20);background:rgba(36,20,18,.42)}.app-modal{width:min(560px,100%);max-width:100%;margin:0;padding:20px;display:grid;grid-gap:14px;gap:14px;max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box;justify-self:center}.app-modal-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.app-modal-head h2{margin:10px 0 6px;font-size:22px;line-height:1.2}.app-modal-close{width:36px;height:36px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.84);color:var(--muted);font-size:22px;line-height:1;cursor:pointer;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:0}.app-modal-body{display:grid;grid-gap:12px;gap:12px}.app-modal-footer{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}.app-modal-footer .accent-button,.app-modal-footer .ghost-button{padding:9px 14px;font-size:13px}.chat-settings-section{display:grid;grid-gap:14px;gap:14px}.chat-settings-section-label{font-size:15px;font-weight:700}.chat-model-param-card,.chat-model-params-list{display:grid;grid-gap:12px;gap:12px}.chat-model-param-card{padding:14px 14px 12px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.55)}.chat-model-param-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.chat-model-param-title{display:flex;align-items:flex-start;gap:10px;min-width:0}.chat-model-param-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:32px;height:32px;margin-top:1px;border-radius:10px;color:var(--accent-deep);background:var(--accent-soft)}.chat-model-param-copy{display:grid;grid-gap:4px;gap:4px;min-width:0}.chat-model-param-copy strong{font-size:13px;font-weight:650;line-height:1.35}.chat-model-param-copy span{color:var(--muted);font-size:12px;line-height:1.5}.chat-model-param-value-input{flex:0 0 auto;width:76px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--panel-strong,#fff);color:var(--text);text-align:center;font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.chat-model-param-value-input:focus{outline:none;border-color:rgba(255,94,124,.45);box-shadow:0 0 0 3px rgba(255,94,124,.12)}.chat-model-param-control{display:grid;grid-gap:6px;gap:6px}.chat-model-param-slider{width:100%;height:6px;margin:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;border-radius:999px;background:linear-gradient(90deg,var(--accent) 0,var(--accent) var(--slider-fill,0),rgba(41,27,21,.1) var(--slider-fill,0),rgba(41,27,21,.1) 100%);accent-color:var(--accent);cursor:pointer}.chat-model-param-slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:18px;height:18px;border-radius:50%;border:2px solid #fff;background:var(--accent);box-shadow:0 2px 8px rgba(216,63,99,.35);cursor:pointer}.chat-model-param-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;border:2px solid #fff;background:var(--accent);box-shadow:0 2px 8px rgba(216,63,99,.35);cursor:pointer}.chat-model-param-slider::-moz-range-track{height:6px;border-radius:999px;background:transparent}.chat-model-param-ends{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px;line-height:1.3}.chat-model-params-footnote{margin:14px 0 0;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,94,124,.16);background:var(--accent-soft);color:var(--muted);font-size:12px;line-height:1.55}.chat-memory-boost{display:grid;grid-gap:10px;gap:10px}.chat-memory-boost-input{width:100%;min-height:180px;resize:vertical;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--panel-strong,#fff);color:var(--text);line-height:1.6;box-sizing:border-box}.chat-memory-boost-input:focus{outline:none;border-color:rgba(255,94,124,.45);box-shadow:0 0 0 3px rgba(255,94,124,.12)}.chat-memory-boost-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}.chat-memory-boost-meta.is-over{color:var(--accent-deep)}.chat-settings-note{border-radius:22px;background:rgba(60,144,255,.12);border:1px solid rgba(60,144,255,.22);padding:16px 18px;color:#2167b6;font-size:14px;line-height:1.7}.chat-basic-settings-list{display:grid;grid-gap:18px;gap:18px}.chat-basic-setting-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.chat-basic-setting-row--stack{display:grid;justify-content:stretch}.speech-voice-picker{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.speech-voice-select{flex:1 1;min-width:min(100%,220px)}.chat-basic-setting-copy{display:grid;grid-gap:4px;gap:4px}.chat-basic-setting-copy strong{font-size:15px;line-height:1.3}.chat-basic-setting-copy span{color:var(--muted);font-size:12px;line-height:1.55}.chat-basic-setting-note{color:#b07a62;font-size:11px;line-height:1.45}.chat-basic-settings-section{display:grid;grid-gap:12px;gap:12px;padding-top:4px;border-top:1px solid rgba(61,32,40,.08)}.chat-basic-settings-section__title{font-size:13px;font-weight:650;letter-spacing:.02em;color:var(--text)}.chat-basic-settings-section__hint{margin:-4px 0 0;color:var(--muted);font-size:12px;line-height:1.55}.chat-basic-number-input{width:min(200px,100%);min-height:44px;border-radius:16px;padding:10px 14px;font-size:14px}.chat-setting-chips{display:flex;flex-wrap:wrap;gap:8px}.chat-setting-chip{border:1px solid rgba(41,27,21,.1);background:rgba(255,255,255,.88);color:var(--text);border-radius:999px;padding:7px 14px;font-size:13px;cursor:pointer}.chat-setting-chip.active{border-color:rgba(255,94,124,.35);background:rgba(255,94,124,.12);color:var(--accent-deep)}.chat-setting-custom{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.chat-setting-custom .chat-basic-number-input{width:120px;min-height:40px}.chat-setting-preview{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.72);border:1px solid rgba(41,27,21,.08);color:var(--text)}.chat-toggle{flex-shrink:0;width:36px;height:20px;border:0;border-radius:999px;background:rgba(202,201,206,.78);padding:2px;cursor:pointer;position:relative;transition:background .2s ease}.chat-toggle.active{background:#ff416d}.chat-toggle-thumb{display:block;width:16px;height:16px;border-radius:999px;background:#fff;box-shadow:0 2px 6px rgba(36,20,18,.14);transition:transform .2s ease}.chat-toggle.active .chat-toggle-thumb{transform:translateX(16px)}.chat-background-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));grid-gap:10px;gap:10px}.chat-background-tile{aspect-ratio:1/1;border-radius:18px;border:1.5px solid rgba(41,27,21,.08);background-color:rgba(255,255,255,.88);background-size:cover;background-position:50%;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;display:grid;place-items:center;color:var(--muted);overflow:hidden}.chat-background-tile:hover{transform:translateY(-1px);border-color:rgba(255,94,124,.28)}.chat-background-tile.active{border-color:var(--accent);box-shadow:0 10px 22px rgba(255,94,124,.14)}.chat-background-tile--empty,.chat-background-tile--upload{background-image:none!important;gap:6px;font-size:13px;font-weight:600}.chat-background-empty-icon,.chat-background-upload-icon{font-size:24px;line-height:1}.chat-panel--highlight .message-bubble-content mark{background:transparent;color:var(--accent);padding:0;border-radius:0;font-weight:600}.chat-panel:not(.chat-panel--highlight) .message-bubble-content mark{background:transparent;color:inherit;font-weight:inherit;padding:0}.chat-generated-images{margin:8px 4px 18px;padding:14px 14px 12px;border-radius:18px;background:rgba(255,255,255,.55);border:1px solid rgba(61,32,40,.06)}.chat-image-generating-hint{display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;padding:6px 10px;border-radius:999px;background:rgba(255,244,241,.95);border:1px solid rgba(196,92,108,.16);color:var(--text);font-size:12px;line-height:1.3}.chat-image-generating-dots{transform:scale(.72);transform-origin:left center}.chat-image-generating-text{color:var(--muted)}.chat-image-failed-hint{display:flex;align-items:flex-start;gap:8px;margin-bottom:10px;padding:6px 8px 6px 10px;border-radius:10px;background:rgba(180,60,60,.06);border:1px solid rgba(180,60,60,.14);color:#9a3b3b;font-size:12px;line-height:1.4}.chat-image-failed-hint-text{flex:1 1;min-width:0}.chat-image-failed-hint-close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-top:-1px;border:0;border-radius:999px;background:transparent;color:#9a3b3b;cursor:pointer;opacity:.75}.chat-image-failed-hint-close:hover{opacity:1;background:rgba(180,60,60,.08)}.chat-image-failed-hint-close:disabled{opacity:.4;cursor:default}.chat-generated-images:has(.chat-image-generating-hint):not(:has(.chat-generated-images-head)){padding:10px 12px}.chat-generated-images--embedded{margin:4px 0 10px;padding:8px 10px;border-radius:14px;width:-moz-fit-content;width:fit-content;max-width:100%;overflow-x:auto}.chat-generated-images-grid--embedded{display:flex;flex-wrap:nowrap;gap:10px;width:max-content;max-width:none;grid-template-columns:none}.chat-generated-images-grid--embedded .chat-generated-image-card{position:relative;flex:0 0 175px;width:175px}.chat-generated-images-grid--embedded .chat-generated-image-card img{width:175px;height:175px;aspect-ratio:1;object-fit:cover;border-radius:14px}.chat-generated-image-card--more img{filter:brightness(.55)}.chat-generated-image-more-count{position:absolute;inset:0;display:grid;place-items:center;border-radius:14px;color:#fff;font-size:28px;font-weight:700;letter-spacing:.02em;text-shadow:0 1px 8px rgba(0,0,0,.35);pointer-events:none}.chat-generated-images-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px}.chat-generated-images-head strong{font-size:14px;color:var(--text)}.chat-generated-images-head span{font-size:12px;color:var(--muted)}.chat-generated-images-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.chat-generated-image-card{display:grid;grid-gap:6px;gap:6px;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.chat-generated-image-card img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px;border:1px solid rgba(61,32,40,.08);background:rgba(255,248,246,.9)}.chat-generated-image-meta{font-size:11px;color:var(--muted);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-generated-images-more{margin-top:10px;width:100%;border:0;background:transparent;color:var(--accent-deep);font-size:13px;cursor:pointer;padding:6px 0}.chat-image-lightbox{position:fixed;inset:0;z-index:var(--z-lightbox);display:grid;place-items:center;box-sizing:border-box;width:100%;max-width:100%;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:rgba(30,16,22,.55)}.chat-image-lightbox-panel{width:min(920px,100%);max-width:100%;max-height:min(90vh,920px);overflow:auto;border-radius:20px;background:#fff;padding:14px;box-shadow:var(--shadow-glow);box-sizing:border-box;justify-self:center}.chat-image-lightbox-stage{position:relative;border-radius:12px;overflow:hidden;background:#f7f2f0}.chat-image-lightbox-stage img{display:block;width:100%;max-height:70vh;object-fit:contain;border-radius:12px;background:#f7f2f0}.chat-image-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;border-radius:999px;background:rgba(255,255,255,.92);color:var(--text);box-shadow:0 4px 14px rgba(36,20,18,.16);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .16s ease,background .16s ease}.chat-image-lightbox-nav--prev{left:12px}.chat-image-lightbox-nav--next{right:12px}.chat-image-lightbox-nav:focus-visible,.chat-image-lightbox-stage:hover .chat-image-lightbox-nav{opacity:1;pointer-events:auto}.chat-image-lightbox-nav:hover{background:#fff}.chat-image-lightbox-counter{position:absolute;right:12px;bottom:12px;padding:4px 8px;border-radius:999px;background:rgba(20,12,14,.55);color:#fff;font-size:12px;line-height:1.2;opacity:0;transition:opacity .16s ease;pointer-events:none}.chat-image-lightbox-stage:hover .chat-image-lightbox-counter{opacity:1}@media (hover:none){.chat-image-lightbox-counter,.chat-image-lightbox-nav{opacity:1;pointer-events:auto}}.chat-image-lightbox-caption{display:grid;grid-gap:8px;gap:8px;margin-top:12px;color:var(--text)}.chat-image-lightbox-caption p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.chat-image-lightbox-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.chat-image-lightbox-actions .accent-button,.chat-image-lightbox-actions .ghost-button{min-width:96px}.chat-image-gen-form{display:grid;grid-gap:14px;gap:14px}.chat-image-gen-field{display:grid;grid-gap:8px;gap:8px;font-size:13px;color:var(--muted)}.chat-image-gen-field select,.chat-image-gen-field textarea{width:100%;border:1px solid rgba(61,32,40,.1);border-radius:14px;padding:10px 12px;background:var(--input-bg);color:var(--text);font:inherit}.chat-image-gen-hint{color:var(--muted);font-size:13px}.chat-image-model-list{max-height:min(280px,40vh);overflow:auto;padding-right:2px}.chat-image-gen-field>.chat-image-model-list{margin-top:2px}@media (max-width:720px){.chat-generated-images-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.chat-model-popover{position:absolute;top:calc(100% + 12px);right:0;width:min(520px,calc(100vw - 40px));max-height:min(72dvh,720px);overflow:hidden;border-radius:24px;border:1px solid var(--line);background:rgba(255,255,255,.98);box-shadow:0 28px 70px rgba(52,31,26,.18);display:grid;grid-gap:14px;gap:14px;padding:18px;z-index:13}.chat-model-popover-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.chat-model-popover-copy{display:grid;grid-gap:6px;gap:6px}.chat-model-popover-copy strong{font-size:18px;line-height:1.2}.chat-model-popover-copy span{color:var(--muted);font-size:13px;line-height:1.55}.chat-model-popover-close{width:34px;height:34px;font-size:20px;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0;transform:translateY(-.5px)}.chat-model-toolbar{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:10px;gap:10px}.chat-model-search{min-height:38px;border-radius:12px;padding:8px 12px;font-size:13px}.chat-model-option-list{display:grid;grid-gap:14px;gap:14px;overflow:auto;max-height:min(44dvh,420px);padding-right:2px}.chat-model-option-list--modal{max-height:min(52dvh,520px)}.chat-model-group{display:grid;grid-gap:8px;gap:8px}.chat-model-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px}.chat-model-group-head strong{font-size:14px;line-height:1.3}.chat-model-group-head span{color:var(--muted);font-size:12px;line-height:1.4}.chat-model-group-list{display:grid;grid-gap:8px;gap:8px}.chat-model-option{width:100%;border:1px solid rgba(41,27,21,.08);border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,252,250,.94));padding:15px 16px;display:grid;grid-gap:0;gap:0;text-align:left;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.chat-model-option:hover{border-color:rgba(255,94,124,.22);background:linear-gradient(180deg,#fff,#fffaf8);box-shadow:0 8px 22px rgba(90,47,52,.06)}.chat-model-option.active{border-color:rgba(255,94,124,.28);background:linear-gradient(180deg,#fffdfb,#fff6f3);box-shadow:0 0 0 1px rgba(255,94,124,.1),0 8px 20px rgba(90,47,52,.05)}.chat-model-option.is-locked,.chat-model-option.is-locked:hover{cursor:not-allowed;opacity:1;filter:none;border-color:rgba(41,27,21,.08);background:rgba(247,244,241,.96);box-shadow:none}.chat-model-option.is-locked .chat-model-option-cost,.chat-model-option.is-locked .chat-model-option-main>p,.chat-model-option.is-locked .chat-model-option-title-row>strong{opacity:.48}.chat-model-option.is-locked .tag--model,.chat-model-option.is-locked .tag--recommend{opacity:.55}.chat-model-option.is-locked.active{border-color:rgba(41,27,21,.08);background:rgba(247,244,241,.96);box-shadow:none}.chat-model-option-badges{flex-shrink:0;max-width:62%;justify-content:flex-end}.chat-model-option .tag{padding:3px 9px;font-size:11px;font-weight:600;line-height:1.3;border:1px solid transparent}.chat-model-option .tag--model{color:#7a5a48;background:rgba(255,186,140,.16);border-color:rgba(255,166,110,.18);font-weight:500}.chat-model-option .tag--recommend{color:#2f6b4f;background:rgba(90,176,130,.14);border-color:rgba(90,176,130,.22)}.chat-model-option .tag--vip{color:#5b21b6;background:linear-gradient(135deg,#f3e8ff,#ede9fe);border-color:rgba(124,58,237,.28);font-weight:700;letter-spacing:.02em}.chat-model-option .tag--vip-locked{color:#6d28d9;background:#f5f3ff;border-color:rgba(109,40,217,.38);box-shadow:0 0 0 1px rgba(255,255,255,.85);opacity:1;filter:none}.chat-model-option-main{display:grid;grid-gap:8px;gap:8px}.chat-model-option-title-row{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.chat-model-option-title-row strong{font-size:15px;font-weight:700;letter-spacing:-.01em;line-height:1.35;min-width:0}.chat-model-option-main p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.chat-model-option-cost{margin:0;color:#9a7f78;font-size:12px;line-height:1.4;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chat-model-option-meta{display:none}.chat-model-empty{display:grid;grid-gap:6px;gap:6px;padding:18px;border-radius:18px;background:rgba(255,255,255,.78);border:1px dashed rgba(41,27,21,.12)}.chat-model-empty strong{font-size:15px}.chat-model-empty span,.chat-model-selected-summary{color:var(--muted);font-size:13px;line-height:1.55}.chat-model-popover-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.chat-model-popover-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}@media (max-width:960px){:root{--brand-logo-width:96px}.brand-logo{height:32px}.topbar-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"brand search actions" "nav nav nav";align-items:center;min-height:auto;height:auto;width:100%;max-width:none;margin:0;padding:8px var(--topbar-inline-padding) 10px;overflow:visible;grid-gap:8px 10px;gap:8px 10px}.brand{grid-area:brand;width:auto}.topnav{grid-area:nav;position:static;top:auto;left:auto;transform:none;display:flex;max-width:none;width:100%;margin-left:0;white-space:nowrap;flex-wrap:nowrap;justify-content:flex-start;gap:4px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch}.topnav::-webkit-scrollbar{display:none}.topbar-end{display:contents}.topbar-theme--pc{display:none!important}.topbar-theme--mobile{display:inline-flex!important}.topbar-actions{grid-area:actions;justify-content:flex-end;flex-wrap:nowrap;margin-left:0;gap:6px}.topbar-search{grid-area:search;width:auto;min-width:0;max-width:none;justify-self:stretch}.topbar-search>button{display:none}.topbar-search input{font-size:12px}.character-hero,.chat-layout,.dashboard-grid,.discovery-hero,.form-grid,.page-hero-banner.page-hero-split,.page-hero-split,.stat-grid{grid-template-columns:1fr}.card-grid,.discover-page .card-grid,.explorer-section .card-grid,.favorites-card-grid,.favorites-page .card-grid,.related-character-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hero-mini-stats{grid-template-columns:1fr}.explorer-header,.explorer-search-row,.section-headline{align-items:stretch}.chat-layout{position:relative;gap:0;padding:0 0 8px}.chat-page-shell{height:100%;min-height:0;overflow:hidden}body:has(.chat-page-shell){overflow:hidden;height:100dvh}body:has(.chat-page-shell) .page-shell{height:auto;max-height:none;min-height:0;padding-bottom:0;overflow:hidden}.chat-session-sidebar{position:fixed;top:0;left:0;bottom:0;width:min(320px,86vw);z-index:calc(var(--z-topbar) + 8);border-radius:0;padding-top:calc(12px + env(safe-area-inset-top, 0px));transform:translateX(-105%);transition:transform .22s ease;box-shadow:12px 0 32px rgba(36,20,18,.12)}.chat-session-sidebar.is-mobile-open{transform:translateX(0)}.chat-page-shell--list-only .chat-session-sidebar{position:static;width:100%;height:100%;min-height:0;transform:none;border-radius:18px;box-shadow:none;padding-top:18px}.chat-page-shell--list-only .chat-panel-empty{display:none}.chat-mobile-sidebar-backdrop{display:block;position:fixed;inset:0;z-index:calc(var(--z-topbar) + 7);background:rgba(36,20,18,.28);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);border:0;padding:0;cursor:pointer}.chat-mobile-bar{display:flex;align-items:center;gap:8px;padding:0 0 8px;flex-shrink:0}.chat-mobile-sidebar-close,.ghost-button.chat-mobile-sidebar-close{display:inline-flex}.chat-page-shell--list-only .chat-mobile-sidebar-close,.chat-page-shell--list-only .ghost-button.chat-mobile-sidebar-close{display:none}.chat-layout-main{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;height:100%}.chat-layout-main>.chat-panel{flex:1 1 auto;min-height:0}.chat-panel,.message-stream{min-height:0}.chat-session-scroll{min-height:0;overflow:auto}.chat-side-actions{flex:initial;width:100%}.chat-session-actions--compact,.chat-side-actions{justify-content:flex-start;flex-wrap:wrap}.chat-header,.chat-session-sidebar-head{align-items:flex-start;flex-direction:column}.chat-session-sidebar-actions{width:100%;flex-wrap:wrap}.chat-model-switcher{width:100%}.chat-model-switcher-trigger{width:100%;max-width:none}.chat-model-popover{left:auto;right:auto;width:auto}.chat-model-popover-footer,.chat-model-toolbar{grid-template-columns:1fr;display:grid}.chat-model-popover-actions{justify-content:flex-start;flex-wrap:wrap}.composer-popover{position:static;margin-bottom:12px}.quick-prompt-item{grid-template-columns:42px minmax(0,1fr);padding:14px}.message-bubble,.message-main{max-width:100%}.message-avatar{width:28px;height:28px;border-radius:9px;font-size:12px}.message-item.assistant>.chat-generated-images--embedded,.message-item.assistant>.message-bubble-actions{margin-left:36px}.chat-session-search-row,.composer-row{grid-template-columns:1fr}.composer-toolbar{justify-content:flex-start}.composer-footer{justify-content:stretch}.composer-send{width:100%}.chat-session-card-main{grid-template-columns:48px minmax(0,1fr);gap:10px}.chat-session-card-cover{width:48px;height:48px;border-radius:14px;flex-basis:48px}}