:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-background:#f5f7fa;--color-surface:#fff;--color-surface-raised:#e9edf3;--color-border:#7a8399;--color-text:#11151c;--color-text-secondary:#4a5366;--color-accent:#1f5bd0;--color-accent-text:#fff;--color-danger:#b42318;--color-danger-fill:#b42318;--color-danger-fill-text:#fff;--color-success:#1b6e3f;--color-separator:#dce1e8;--color-accent-soft:#e3ebfb;--color-chat-background:#fff;--color-bubble-theirs:#e8ecf2;--space-xxs:2px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-xxl:48px;--radius-xs:6px;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--font-title-size:30px;--font-title-weight:700;--font-title-line:36px;--font-heading-size:20px;--font-heading-weight:600;--font-heading-line:26px;--font-headline-size:17px;--font-headline-weight:600;--font-headline-line:22px;--font-body-size:16px;--font-body-weight:400;--font-body-line:24px;--font-secondary-size:15px;--font-secondary-weight:400;--font-secondary-line:22px;--font-small-size:13px;--font-small-weight:400;--font-small-line:18px;--font-caption-size:12px;--font-caption-weight:500;--font-caption-line:16px;--layout-max-content-width:960px;--layout-two-pane-min-width:900px;--layout-list-pane-width:380px;--layout-min-touch-target:44px;--layout-control-height:48px;--layout-reading-width:760px;--layout-form-width:600px;--motion-fast:.12s;--motion-base:.2s;--motion-slow:.32s}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-background:#0b0d12;--color-surface:#161a22;--color-surface-raised:#202633;--color-border:#5e6880;--color-text:#f3f5f9;--color-text-secondary:#b4bccb;--color-accent:#8ab4ff;--color-accent-text:#0b0d12;--color-danger:#ff8a8a;--color-danger-fill:#b42318;--color-danger-fill-text:#fff;--color-success:#7fdba6;--color-separator:#262d3b;--color-accent-soft:#1c2a45;--color-chat-background:#0b0d12;--color-bubble-theirs:#232a38}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-background:#0b0d12;--color-surface:#161a22;--color-surface-raised:#202633;--color-border:#5e6880;--color-text:#f3f5f9;--color-text-secondary:#b4bccb;--color-accent:#8ab4ff;--color-accent-text:#0b0d12;--color-danger:#ff8a8a;--color-danger-fill:#b42318;--color-danger-fill-text:#fff;--color-success:#7fdba6;--color-separator:#262d3b;--color-accent-soft:#1c2a45;--color-chat-background:#0b0d12;--color-bubble-theirs:#232a38}
*,:before,:after{box-sizing:border-box}html,body{background:var(--color-background);min-height:100%;color:var(--color-text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:var(--font-body-size);line-height:var(--font-body-line);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--color-accent)}:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}h1[tabindex="-1"]:focus-visible,h2[tabindex="-1"]:focus-visible{outline:none}html{scroll-padding-top:72px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.center-text{text-align:center}.icon{flex:none}@media (max-width:599px){.hide-narrow{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.skip{position:absolute;left:-9999px}.skip:focus{left:var(--space-md);top:var(--space-md);z-index:10;background:var(--color-surface);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm)}h1,h2,h3,p{margin:0}.title{font-size:var(--font-title-size);line-height:var(--font-title-line);font-weight:var(--font-title-weight)}.headline{font-size:var(--font-headline-size);line-height:var(--font-headline-line);font-weight:var(--font-headline-weight)}.lede{color:var(--color-text-secondary);font-size:var(--font-body-size);line-height:var(--font-body-line)}.heading{font-size:var(--font-heading-size);line-height:var(--font-heading-line);font-weight:var(--font-heading-weight)}.secondary{color:var(--color-text-secondary);font-size:var(--font-secondary-size);line-height:var(--font-secondary-line)}.small{color:var(--color-text-secondary);font-size:var(--font-small-size);line-height:var(--font-small-line)}.error{color:var(--color-danger);font-size:var(--font-small-size);line-height:var(--font-small-line)}.screen{flex-direction:column;min-height:100dvh;display:flex}.content{width:100%;max-width:var(--layout-max-content-width);padding:var(--space-md) var(--space-md) var(--space-xl);gap:var(--space-md);flex-direction:column;margin:0 auto;display:flex}.w-reading{max-width:var(--layout-reading-width)}.w-form{max-width:var(--layout-form-width)}.w-full{max-width:none}@media (min-width:768px){.content{padding:var(--space-lg) var(--space-lg) var(--space-xxl);gap:var(--space-lg)}}.editor-form{gap:var(--space-md);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}@media (min-width:768px){.editor-form{gap:var(--space-lg)}}.stack{gap:var(--space-sm);flex-direction:column;display:flex}.row{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.spacer{flex:1}.section-head{justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.topbar{z-index:2;background:color-mix(in srgb, var(--color-surface) 88%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);border-bottom:1px solid var(--color-separator);position:sticky;top:0}.topbar-inner{align-items:center;gap:var(--space-xs);min-height:56px;max-width:var(--layout-max-content-width);padding:0 var(--space-sm);margin:0 auto;display:flex}.topbar-inner.w-reading{max-width:calc(var(--layout-reading-width) + 2 * var(--space-sm))}.topbar-inner.w-form{max-width:calc(var(--layout-form-width) + 2 * var(--space-sm))}.topbar-inner.w-full{max-width:none}.topbar-inner:not(:has(.back)) h1{padding-inline-start:var(--space-sm)}.topbar h1{font-size:var(--font-headline-size);line-height:var(--font-headline-line);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.icon-btn,.text-btn{min-width:var(--layout-min-touch-target);min-height:var(--layout-min-touch-target);color:var(--color-accent);font:inherit;border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-xs);padding:0 var(--space-sm);transition:background-color var(--motion-fast) ease-out;background:0 0;border:0;font-weight:500;text-decoration:none;display:inline-flex}.icon-btn{padding:0}.icon-btn.back{color:var(--color-text)}.icon-btn:hover,.text-btn:hover{background:var(--color-surface-raised)}.btn{min-height:var(--layout-control-height);width:100%;padding:0 var(--space-md);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:var(--space-sm);transition:background-color var(--motion-fast) ease-out, transform var(--motion-fast) ease-out, filter var(--motion-fast) ease-out;font-weight:600;text-decoration:none;display:inline-flex}.btn.primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-text)}.btn.danger{border-color:var(--color-danger);color:var(--color-danger)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:default}.btn.secondary:not(:disabled):hover,.btn.danger:not(:disabled):hover{background:var(--color-surface-raised)}.btn.primary:not(:disabled):hover{filter:brightness(1.08)}.btn:not(:disabled):active{transform:scale(.985)}.btn.inline{width:auto}.segmented{border:0;min-width:0;margin:0;padding:0}.segmented legend{margin-bottom:var(--space-sm);padding:0;font-weight:600}.segmented-track{gap:var(--space-xxs);padding:var(--space-xxs);border-radius:var(--radius-md);background:var(--color-surface-raised);border:1px solid var(--color-border);grid-template-columns:repeat(3,1fr);display:grid}.segmented label{border-radius:calc(var(--radius-md) - 3px);cursor:pointer;min-height:44px;color:var(--color-text);transition:background-color var(--motion-fast) ease-out;justify-content:center;align-items:center;font-weight:600;display:flex;position:relative}.segmented input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.segmented label:has(input:checked){background:var(--color-surface);outline:2px solid var(--color-accent);outline-offset:-2px;color:var(--color-accent);box-shadow:0 1px 3px #0000001f}.segmented label:has(input:focus-visible){outline:3px solid var(--color-accent);outline-offset:2px}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.box{background:var(--color-surface);border:1px solid var(--color-separator);border-radius:var(--radius-md);padding:var(--space-md)}details.box>summary{margin:calc(-1 * var(--space-md));padding:var(--space-md);border-radius:var(--radius-md);cursor:pointer}details.box[open]>summary{padding-bottom:var(--space-sm);margin-bottom:0}.box.raised{background:var(--color-surface-raised);border-color:#0000}.notice-box{align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:var(--color-accent-soft);color:var(--color-text);font-size:var(--font-small-size);line-height:var(--font-small-line);display:flex}.notice-box .icon{color:var(--color-accent);margin-top:0}.notice-box.raised{background:var(--color-surface-raised)}.notice-box.raised .icon{color:var(--color-text-secondary)}.hero-icon{background:var(--color-accent-soft);width:56px;height:56px;color:var(--color-accent);border-radius:50%;justify-content:center;align-items:center;display:flex}.hero-icon.success{color:var(--color-success)}.group{background:var(--color-surface);border:1px solid var(--color-separator);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow:hidden}.group>p{padding:var(--space-xs) var(--space-md) var(--space-sm)}.row-item{align-items:center;gap:var(--space-md);min-height:52px;padding:0 var(--space-md);color:var(--color-text);font:inherit;text-align:start;cursor:pointer;transition:background-color var(--motion-fast) ease-out;background:0 0;border:0;text-decoration:none;display:flex}.row-item+.row-item{box-shadow:inset 0 1px 0 var(--color-separator)}.row-item>span:not(.spinner){flex:1}.row-item>.icon:first-child{color:var(--color-accent)}.row-item>.icon:last-child:not(:first-child){color:var(--color-text-secondary)}.row-item:hover{background:var(--color-surface-raised)}.row-item:focus-visible{outline-offset:-3px}.row-item.danger,.row-item.danger>.icon:first-child{color:var(--color-danger)}.row-item:disabled{opacity:.6;cursor:default}.field{gap:var(--space-xs);flex-direction:column;display:flex}.field label,.field .label{color:var(--color-text);font-size:var(--font-secondary-size);font-weight:500}.label-row{justify-content:space-between;align-items:baseline;gap:var(--space-sm);display:flex}input[type=text],input[type=search],input[type=email],input[type=password],input[inputmode=numeric],textarea{min-height:var(--layout-control-height);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);font:inherit;padding:var(--space-sm) var(--space-md);transition:border-color var(--motion-fast) ease-out}.character-search{position:relative}.character-search input{padding-left:44px;padding-right:48px}.character-search input::-webkit-search-cancel-button{display:none}.character-search-icon{left:var(--space-md);color:var(--color-text-secondary);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.character-search-clear{position:absolute;top:0;right:0}input::placeholder,textarea::placeholder{color:var(--color-text-secondary);opacity:1}select{min-height:var(--layout-control-height);border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:var(--color-surface);width:100%;color:var(--color-text);font:inherit;padding:var(--space-sm) var(--space-md);cursor:pointer}select:invalid{color:var(--color-text-secondary)}select option{color:var(--color-text)}input:not([type=radio]):focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--color-accent);outline:3px solid color-mix(in srgb, var(--color-accent) 45%, transparent);outline-offset:0}textarea{resize:vertical;min-height:96px}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--color-danger)}.birth{gap:var(--space-md);flex-wrap:wrap;display:flex}.birth .field{flex:10rem}.pills{gap:var(--space-sm);border:0;flex-wrap:wrap;min-width:0;margin:0;padding:0;display:flex}.pill{position:relative}.pill input{opacity:0;cursor:pointer;position:absolute;inset:0}.pill span{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);min-width:64px;min-height:48px;transition:background-color var(--motion-fast) ease-out;justify-content:center;align-items:center;display:flex}.pill:hover span{background:var(--color-surface-raised)}.pill input:checked+span{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-text);font-weight:600}.pill input:focus-visible+span{outline:3px solid var(--color-accent);outline-offset:2px}.pill.emoji span{border-color:var(--color-separator);border-radius:50%;width:48px;min-width:48px;font-size:24px}.pill.emoji input:checked+span{background:var(--color-accent-soft);border:2px solid var(--color-accent)}.auth{width:100%;max-width:440px;padding:var(--space-xl) var(--space-md);gap:var(--space-md);flex-direction:column;margin:0 auto;display:flex}@media (min-width:768px){.auth-screen{background:radial-gradient(1200px 600px at 50% -10%, var(--color-accent-soft), transparent 70%), var(--color-background);justify-content:center}.auth{padding:var(--space-xl);background:var(--color-surface);border:1px solid var(--color-separator);border-radius:var(--radius-xl);margin:var(--space-xl) auto;box-shadow:0 12px 40px #11151c14}}.auth-hero{text-align:center;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-sm);flex-direction:column;display:flex}.brand-mark{border-radius:22%}.profile-hero{text-align:center;align-items:center;gap:var(--space-sm);padding-top:var(--space-md);flex-direction:column;display:flex}.tagline-chip{color:var(--color-text-secondary);font-size:var(--font-secondary-size);line-height:var(--font-secondary-line)}.greeting-preview{align-items:flex-end;gap:var(--space-sm);display:flex}.greeting-preview .bubble{max-width:none}.grid{gap:var(--space-sm);grid-template-columns:1fr;display:grid}@media (min-width:600px){.grid.wide{gap:var(--space-md);grid-template-columns:1fr 1fr}}@media (min-width:1100px){.grid.wide{grid-template-columns:repeat(3,minmax(0,1fr))}}.card{align-items:center;gap:var(--space-md);padding:var(--space-md);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-separator);min-height:80px;color:var(--color-text);text-align:start;font:inherit;cursor:pointer;width:100%;transition:background-color var(--motion-fast) ease-out, border-color var(--motion-fast) ease-out, transform var(--motion-fast) ease-out;text-decoration:none;display:flex;box-shadow:0 1px 2px #11151c0a}.grid>*{min-width:0}.card>span:last-child{flex:1;min-width:0}.card[aria-current=true]{background:var(--color-accent-soft);border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.card:hover{border-color:var(--color-border)}a.card:active,button.card:active{transform:scale(.99)}.card .name{font-weight:600;font-size:var(--font-headline-size);line-height:var(--font-headline-line)}.card .tagline{color:var(--color-text-secondary);font-size:var(--font-small-size);line-height:var(--font-small-line);margin-top:var(--space-xxs)}.card .one-line{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.empty-mine{align-items:center;gap:var(--space-md);padding:var(--space-md);border:1px dashed var(--color-border);border-radius:var(--radius-md);display:flex}.empty-icon{background:var(--color-accent-soft);width:40px;height:40px;color:var(--color-accent);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.avatar{background:var(--color-surface-raised);border-radius:50%;flex:none;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;line-height:1;display:flex}.avatar.sm{width:32px;height:32px;font-size:17px}.avatar.lg{width:96px;height:96px;font-size:48px}.skeleton,.skeleton-block{background:var(--color-surface-raised);background-image:linear-gradient(90deg, transparent, color-mix(in srgb, var(--color-surface) 55%, transparent), transparent);background-size:200% 100%;animation:1.4s ease-in-out infinite shimmer}.skeleton{border-radius:6px;height:12px}@keyframes shimmer{0%{background-position:150% 0}to{background-position:-50% 0}}.panes{grid-template-columns:var(--layout-list-pane-width) 1fr;height:calc(100dvh - 57px);display:grid}.panes>.list-pane{border-inline-end:1px solid var(--color-separator);overflow-y:auto}.panes>.list-pane .content{padding:var(--space-md);gap:var(--space-lg)}.panes>.chat-pane{background:var(--color-chat-background);flex-direction:column;min-width:0;display:flex}.placeholder{text-align:center;padding:var(--space-lg);align-items:center;gap:var(--space-sm);flex-direction:column;max-width:360px;margin:auto;display:flex}.placeholder .brand-mark{opacity:.9;margin-bottom:var(--space-sm)}.pane-header{align-items:center;gap:var(--space-sm);min-height:56px;padding:0 var(--space-sm) 0 var(--space-md);background:var(--color-surface);border-bottom:1px solid var(--color-separator);display:flex}.pane-header h2{font-size:var(--font-headline-size);line-height:var(--font-headline-line);flex:1;font-weight:600}.chat{background:var(--color-chat-background);flex-direction:column;flex:1;min-height:0;display:flex}.chat-screen{background:var(--color-chat-background);flex-direction:column;height:100dvh;display:flex}.banner{border-bottom:1px solid var(--color-separator);background:var(--color-chat-background);color:var(--color-text-secondary);font-size:var(--font-caption-size);line-height:var(--font-caption-line)}.banner-inner{max-width:var(--layout-reading-width);justify-content:space-between;align-items:center;gap:var(--space-sm);min-height:32px;padding:var(--space-xxs) var(--space-md);margin:0 auto;display:flex}.count-chip{padding:var(--space-xxs) var(--space-sm);background:var(--color-surface-raised);color:var(--color-text);border-radius:999px;flex:none;font-weight:600}.messages{padding:var(--space-md) var(--space-sm);scroll-padding-bottom:var(--space-md);flex:1;overflow-y:auto}.messages-inner{max-width:var(--layout-reading-width);gap:var(--space-xxs);flex-direction:column;margin:0 auto;display:flex}.msg{align-items:flex-end;gap:var(--space-xs);animation:rise var(--motion-base) ease-out;display:flex}.msg.run-first{margin-top:var(--space-sm)}.msg.mine{justify-content:flex-end;padding-inline-start:15%}.msg.theirs{padding-inline-end:8%}.msg-face{flex:none;width:32px;display:flex}.bubble{max-width:100%;padding:10px var(--space-md);border-radius:var(--radius-lg);background:var(--color-bubble-theirs);color:var(--color-text);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.msg.theirs:not(.run-first) .bubble{border-start-start-radius:var(--radius-xs)}.msg.theirs:not(.run-last) .bubble{border-end-start-radius:var(--radius-xs)}.msg.mine .bubble{background:var(--color-accent);color:var(--color-accent-text)}.msg.mine:not(.run-first) .bubble{border-start-end-radius:var(--radius-xs)}.msg.mine:not(.run-last) .bubble{border-end-end-radius:var(--radius-xs)}.bubble.streaming:after{content:"";vertical-align:text-bottom;opacity:.35;background:currentColor;border-radius:2px;width:.5em;height:1em;margin-inline-start:2px;animation:1s step-end infinite blink;display:inline-block}.bubble em{color:var(--color-text-secondary)}.msg.mine .bubble em{color:inherit}.msg-more{color:var(--color-text-secondary);flex:none}@media (hover:hover){.msg-more{opacity:0;transition:opacity var(--motion-fast) ease-out}.msg:hover .msg-more,.msg:focus-within .msg-more,.msg-more.done{opacity:1}}.msg-actions{flex:none;display:flex}.msg-more.done{color:var(--color-success)}.chips{gap:var(--space-xs);padding:0 0 var(--space-xxs);border:0;flex-wrap:wrap;min-width:0;margin:0;display:flex}.chip{flex:none;position:relative}.chip input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.chip span{min-height:var(--layout-min-touch-target);border:1px solid var(--color-border);font-size:var(--font-secondary-size);background:var(--color-surface);color:var(--color-text);transition:background-color var(--motion-fast) ease-out;border-radius:999px;align-items:center;padding:0 12px;font-weight:500;display:flex}.chip:hover span{background:var(--color-surface-raised)}.chip input:checked+span{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent);font-weight:600}.chip input:focus-visible+span{outline:3px solid var(--color-accent);outline-offset:2px}.day-sep{margin:var(--space-md) 0 var(--space-xs);justify-content:center;display:flex}.day-sep span{padding:var(--space-xxs) var(--space-sm);background:var(--color-surface-raised);color:var(--color-text-secondary);font-size:var(--font-caption-size);line-height:var(--font-caption-line);border-radius:999px;font-weight:600}.msg-time{color:var(--color-text-secondary);font-size:var(--font-caption-size);line-height:var(--font-caption-line);margin-top:var(--space-xxs)}.msg-time.theirs{padding-inline-start:36px}.msg-time.mine{text-align:end}.messages-wrap{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.jump-latest{inset-inline-end:var(--space-md);bottom:var(--space-md);width:var(--layout-control-height);height:var(--layout-control-height);border:1px solid var(--color-separator);background:var(--color-surface);color:var(--color-accent);cursor:pointer;animation:rise var(--motion-base) ease-out;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;box-shadow:0 4px 16px #00000029}.jump-latest:hover{background:var(--color-surface-raised)}.retry{color:var(--color-danger);font-size:var(--font-small-size);flex:none}.msg.mine:has(.retry){flex-wrap:wrap}.notice{max-width:480px;margin:var(--space-sm) 0;align-self:center}.crisis{gap:var(--space-sm);margin-block:var(--space-md) var(--space-sm);padding:var(--space-md);border-radius:var(--radius-lg);background:var(--color-surface);border:2px solid var(--color-accent);animation:rise var(--motion-base) ease-out;flex-direction:column;margin-inline-start:36px;display:flex}.typing{padding:14px var(--space-md);border-radius:var(--radius-lg);background:var(--color-bubble-theirs);gap:5px;display:inline-flex}.typing i{background:var(--color-text-secondary);border-radius:50%;width:7px;height:7px;animation:1.2s infinite pulse}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes pulse{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@keyframes blink{50%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(4px)}}.chat-error,.tip-footer{width:100%;max-width:var(--layout-reading-width);padding:0 var(--space-md) var(--space-xs);margin:0 auto}.tip-footer{align-items:center;gap:var(--space-xs);color:var(--color-accent);display:flex}.composer-wrap{border-top:1px solid var(--color-separator);background:var(--color-chat-background);padding-bottom:env(safe-area-inset-bottom)}.composer{max-width:var(--layout-reading-width);align-items:flex-end;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);margin:0 auto;display:flex}.composer textarea{min-height:var(--layout-control-height);resize:none;max-height:160px;padding:12px var(--space-md);background:var(--color-surface);border-radius:24px;line-height:22px}.send-btn{width:var(--layout-control-height);height:var(--layout-control-height);background:var(--color-accent);color:var(--color-accent-text);cursor:pointer;transition:transform var(--motion-fast) ease-out, opacity var(--motion-fast) ease-out;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.send-btn:disabled{opacity:.4;cursor:default}.send-btn:not(:disabled):active{transform:scale(.92)}.limit{align-items:flex-start;gap:var(--space-sm);padding:var(--space-md) max(var(--space-md), calc((100% - var(--layout-reading-width)) / 2 + var(--space-md)));padding-bottom:calc(var(--space-md) + env(safe-area-inset-bottom));background:var(--color-surface);border-top:1px solid var(--color-separator);display:flex}.limit .icon{color:var(--color-accent);margin-top:2px}dialog{border-radius:var(--radius-xl);background:var(--color-surface);color:var(--color-text);padding:var(--space-lg);overscroll-behavior:contain;border:0;width:min(440px,100% - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;box-shadow:0 24px 64px #0000004d}dialog[open]{animation:pop var(--motion-slow) cubic-bezier(.2, .9, .3, 1.1)}dialog::backdrop{background:#00000080}@keyframes pop{0%{opacity:0;transform:translateY(8px)scale(.98)}}@media (max-width:599px){dialog{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:100%;max-height:calc(100dvh - 48px);padding-bottom:calc(var(--space-lg) + env(safe-area-inset-bottom));margin:auto 0 0}}.reason{justify-content:space-between;align-items:center;gap:var(--space-sm);text-align:start;width:100%;min-height:48px;padding:0 var(--space-md);border-radius:var(--radius-sm);background:var(--color-surface-raised);color:var(--color-text);font:inherit;cursor:pointer;transition:filter var(--motion-fast) ease-out;border:0;display:flex}.reason .icon{color:var(--color-text-secondary)}.reason:not(:disabled):hover{filter:brightness(.97)}.reason:disabled{opacity:.6}.report-thanks{align-items:center;gap:var(--space-sm);display:flex}.report-thanks .icon{color:var(--color-success)}.list{margin:0;padding-inline-start:var(--space-lg)}.danger-list{padding:var(--space-md);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-separator);gap:var(--space-xxs);flex-direction:column;padding-inline-start:calc(var(--space-md) + var(--space-md));display:flex}.center{justify-content:center;align-items:center;min-height:100dvh;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.skeleton,.skeleton-block{background-image:none}}.topbar-titles,.pane-titles{flex-direction:column;flex:1;min-width:0;display:flex}.topbar-inner:not(:has(.back)) .topbar-subtitle{padding-inline-start:var(--space-sm)}.topbar-subtitle,.pane-subtitle{color:var(--color-text-secondary);font-size:var(--font-caption-size);line-height:var(--font-caption-line);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pane-titles h2{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu-wrap{flex:none;position:relative}.menu-wrap>.icon-btn{color:var(--color-text)}.menu-wrap>.icon-btn[aria-expanded=true]{background:var(--color-surface-raised)}.menu{inset-inline-end:0;top:calc(100% + var(--space-xs));z-index:5;min-width:232px;padding:var(--space-xs);background:var(--color-surface);border:1px solid var(--color-separator);border-radius:var(--radius-md);transform-origin:100% 0;animation:menu-in var(--motion-fast) ease-out;flex-direction:column;display:flex;position:absolute;box-shadow:0 12px 32px #0000002e}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}}.menu-item{align-items:center;gap:var(--space-sm);min-height:var(--layout-min-touch-target);padding:0 var(--space-sm);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;display:flex}.menu-item .icon{color:var(--color-text-secondary)}.menu-item:hover,.menu-item:focus-visible{background:var(--color-surface-raised)}.menu-item:focus-visible{outline-offset:-3px}.menu-item.danger,.menu-item.danger .icon{color:var(--color-danger)}.menu-item[aria-disabled=true]{opacity:.5;cursor:default}.menu-item[aria-disabled=true]:hover{background:0 0}.conv-list,.recent-list{gap:var(--space-xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.conv-row,.recent-row{align-items:center;gap:var(--space-md);width:100%;min-height:64px;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-separator);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;text-align:start;cursor:pointer;transition:background-color var(--motion-fast) ease-out, border-color var(--motion-fast) ease-out;text-decoration:none;display:flex}.conv-row{background:var(--color-background)}.conv-row:hover,.recent-row:hover{border-color:var(--color-border)}.conv-row[aria-current=true],.recent-row[aria-current=true]{background:var(--color-accent-soft);border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.conv-text{gap:var(--space-xxs);flex-direction:column;flex:1;min-width:0;display:flex}.conv-top{align-items:baseline;gap:var(--space-sm);display:flex}.conv-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.conv-when{color:var(--color-text-secondary);font-size:var(--font-caption-size);line-height:var(--font-caption-line);flex:none}.conv-preview{color:var(--color-text-secondary);font-size:var(--font-small-size);line-height:var(--font-small-line);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.conv-current{align-items:center;gap:var(--space-xxs);margin-top:var(--space-xxs);padding:var(--space-xxs) var(--space-sm);background:var(--color-surface);color:var(--color-accent);font-size:var(--font-caption-size);line-height:var(--font-caption-line);border-radius:999px;align-self:flex-start;font-weight:600;display:inline-flex}@media (min-width:600px){.content>section>.recent-list{gap:var(--space-sm) var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.panes .content>section>.recent-list{display:flex}}@media (min-width:1100px){.content>section>.recent-list{grid-template-columns:repeat(3,minmax(0,1fr))}}.chat-loading{flex:1;justify-content:center;align-items:center;display:flex}.chat-error.top{padding-top:var(--space-sm)}.starters{gap:var(--space-xs);margin:var(--space-sm) 0 0 36px;animation:rise var(--motion-base) ease-out;flex-wrap:wrap;display:flex}.starter{min-height:var(--layout-min-touch-target);padding:var(--space-xs) var(--space-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-accent);font:inherit;font-size:var(--font-secondary-size);line-height:var(--font-secondary-line);text-align:start;cursor:pointer;transition:background-color var(--motion-fast) ease-out;border-radius:999px;font-weight:500}.starter:hover{background:var(--color-accent-soft)}.starter:active{transform:scale(.98)}.msg-actions.pinned .msg-more{opacity:1}.msg.mine .msg-actions{align-self:center}.edit-bar{max-width:var(--layout-reading-width);align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md) 0;color:var(--color-accent);font-size:var(--font-small-size);line-height:var(--font-small-line);margin:0 auto;font-weight:600;display:flex}.edit-bar .text-btn{font-size:var(--font-small-size)}.composer-wrap.editing .composer textarea{border-color:var(--color-accent)}.note-input{min-height:132px}.note-done{align-items:center;gap:var(--space-xs);color:var(--color-success);font-size:var(--font-small-size);line-height:var(--font-small-line);font-weight:600;display:flex}[dir=rtl] .icon-btn.back .icon,[dir=rtl] .row-item>.icon:last-child,[dir=rtl] .reason .icon{transform:scaleX(-1)}.avatar img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.portrait-dark{display:none}:root[data-theme=dark] .portrait-dark{display:block}:root[data-theme=dark] .portrait-light{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .portrait-dark{display:block}:root:not([data-theme=light]) .portrait-light{display:none}}.portrait-grid{border:0;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:12px;margin-top:16px;padding:4px;display:grid}.portrait-choice{cursor:pointer;border-radius:16px;place-items:center;gap:4px;padding:4px;display:grid}.portrait-choice:has(input:checked){outline:2px solid var(--color-accent)}.portrait-choice:focus-within{outline:3px solid var(--color-accent);outline-offset:3px}.portrait-choice input{margin:0}.field select{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-separator);border-radius:var(--radius-md);font:inherit;width:100%;padding:12px}.practice-tip{border-inline-start:3px solid var(--color-accent);background:var(--color-surface);border-radius:8px;margin-bottom:8px;padding:8px 12px;font-size:.95em;display:block}.chat-tools{width:100%;max-width:var(--layout-reading-width);align-items:center;gap:var(--space-xxs) var(--space-xs);padding:0 var(--space-sm);flex-wrap:wrap;margin:0 auto;display:flex}.chat-tools .text-btn{color:var(--color-text-secondary)}.chat-tools .text-btn:not(:disabled):hover{color:var(--color-accent)}.chat-tools .text-btn:disabled{opacity:.45;cursor:default}.chat-tools .speech-input{padding:0;display:contents}.chat-tools .speech-input [role=status]:not(:empty){padding:0 var(--space-sm) var(--space-xs);color:var(--color-text-secondary);flex-basis:100%;order:10}.text-btn.active,.icon-btn.active{background:var(--color-accent-soft);color:var(--color-accent)}@media (hover:none) and (pointer:coarse){.shortcuts-btn{display:none}}@media (max-width:719px),(max-height:500px){.chat-tools .tool-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.share-options{border:0;gap:1rem;max-height:35dvh;padding:0;display:grid;overflow:auto}.share-options label{overflow-wrap:anywhere;align-items:flex-start;gap:.75rem;display:flex}.share-options input{min-width:24px;min-height:24px}.share-preview{border:1px solid var(--color-border);border-radius:1rem;max-height:35dvh;padding:1rem;overflow:auto}.share-preview pre{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere}.share-buttons{flex-wrap:wrap;gap:.75rem;display:flex}.speech-input{flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex}.msg.theirs{flex-wrap:wrap}.msg.theirs .bubble{flex:1;min-width:0}.msg.theirs .msg-actions{flex-wrap:wrap;flex-basis:calc(100% - 40px);justify-content:flex-end;align-items:center;margin-inline-start:40px}.msg.theirs .msg-actions .text-btn{white-space:normal;overflow-wrap:anywhere;max-width:100%}.count-chip{white-space:normal;overflow-wrap:anywhere;text-align:center;max-width:100%}.banner-inner{flex-wrap:wrap}.consent-providers{padding:var(--space-md);gap:var(--space-md)}.consent-divider{border-top:1px solid var(--color-separator);width:100%}.message-content{min-width:0;max-width:min(82%,36rem)}.message-content>.bubble{max-width:100%}.inline-chat-image{aspect-ratio:1;border-radius:16px;width:min(100%,320px);margin-top:8px;overflow:hidden}.voice-transcript{flex-direction:column;gap:16px;min-height:160px;max-height:min(48dvh,420px);display:flex;overflow-y:auto}.voice-turn{background:var(--color-bubble-theirs);border-radius:16px;max-width:90%;padding:12px 16px}.voice-turn.user{background:var(--color-accent-soft);align-self:flex-end}.voice-turn p{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 0}
