:root{color-scheme:dark;--light-title:#ffffff;--light-inverse-title:#000000;--light-gray-10:#f5f5f5;--light-gray-20:#dbdbdb;--light-gray-30:#c2c2c2;--light-gray-40:#a9a9a9;--light-gray-50:#909090;--light-gray-60:#767676;--light-gray-70:#5d5d5d;--light-gray-80:#444444;--light-gray-90:#2b2b2b;--light-gray-100:#121212;--light-red-10:#ffe4e1;--light-orange-10:#ffe9c9;--light-yellow-10:#ffffc5;--light-green-10:#b9ffb9;--light-blue-10:#a8feff;--light-violet-10:#e0e0ff;--light-pink-10:#ffb9f0;--dark-title:#000000;--dark-inverse-title:#ffffff;--dark-gray-10:#121212;--dark-gray-20:#2b2b2b;--dark-gray-30:#444444;--dark-gray-40:#5d5d5d;--dark-gray-50:#767676;--dark-gray-60:#909090;--dark-gray-70:#a9a9a9;--dark-gray-80:#c2c2c2;--dark-gray-90:#dbdbdb;--dark-gray-100:#f5f5f5;--dark-red-10:#781000;--dark-orange-10:#803600;--dark-yellow-10:#b37e2e;--dark-green-10:#005f5f;--dark-blue-10:#00478e;--dark-violet-10:#51158c;--dark-pink-10:#7e0063;--light-title-rgb:255 255 255;--light-inverse-title-rgb:0 0 0;--light-gray-10-rgb:245 245 245;--light-gray-90-rgb:43 43 43;--light-gray-100-rgb:18 18 18;--dark-title-rgb:0 0 0;--dark-inverse-title-rgb:255 255 255;--dark-gray-10-rgb:18 18 18;--dark-gray-90-rgb:219 219 219;--dark-gray-100-rgb:245 245 245;--red-60:#ff4b33;--orange-60:#ff7518;--yellow-60:#ffbf00;--green-60:#00bb77;--blue-60:#0099ff;--violet-60:#9933ff;--pink-60:#ff00d5;--red-60-rgb:255 75 51;--orange-60-rgb:255 117 24;--yellow-60-rgb:255 191 0;--green-60-rgb:0 187 119;--blue-60-rgb:0 153 255;--violet-60-rgb:153 51 255;--pink-60-rgb:255 0 213;--overlay-dark:#00000080;--overlay-light:#ffffff1a;--title:var(--dark-title);--inverse-title:var(--dark-inverse-title);--gray-10:var(--dark-gray-10);--gray-20:var(--dark-gray-20);--gray-30:var(--dark-gray-30);--gray-40:var(--dark-gray-40);--gray-50:var(--dark-gray-50);--gray-60:var(--dark-gray-60);--gray-70:var(--dark-gray-70);--gray-80:var(--dark-gray-80);--gray-90:var(--dark-gray-90);--gray-100:var(--dark-gray-100);--red-10:var(--dark-red-10);--orange-10:var(--dark-orange-10);--yellow-10:var(--dark-yellow-10);--green-10:var(--dark-green-10);--blue-10:var(--dark-blue-10);--violet-10:var(--dark-violet-10);--pink-10:var(--dark-pink-10);--title-rgb:var(--dark-title-rgb);--inverse-title-rgb:var(--dark-inverse-title-rgb);--gray-10-rgb:var(--dark-gray-10-rgb);--gray-90-rgb:var(--dark-gray-90-rgb);--gray-100-rgb:var(--dark-gray-100-rgb);--brand-primary:#ff4b33;--brand-cta:#ff4b33;--brand-cta-hover:#d9402b;--brand-secondary:#ffbf00;--brand-tertiary:#ff00d5;--brand-primary-rgb:255 75 51;--brand-cta-rgb:255 75 51;--brand-secondary-rgb:255 191 0;--brand-tertiary-rgb:255 0 213;--text-on-light-accent:#000000;--text-on-dark-accent:#000000;--text-gold:var(--brand-secondary);--text-primary:var(--brand-primary);--rating-safe-rgb:var(--green-60-rgb);--rating-explicit-rgb:var(--red-60-rgb);--status-info-rgb:var(--blue-60-rgb);--status-success-rgb:var(--green-60-rgb);--status-success-text:var(--green-60);--accent-gold:var(--brand-secondary);--accent-gold-rgb:var(--brand-secondary-rgb);--status-published:var(--green-60);--status-danger:var(--red-60);--status-danger-rgb:var(--red-60-rgb);--status-warning:var(--yellow-60);--status-warning-rgb:var(--yellow-60-rgb);--status-critical:var(--red-60);--status-critical-rgb:var(--red-60-rgb);--status-critical-text:var(--red-60);--status-error-surface:var(--red-60);--status-info-surface:var(--light-gray-20);--status-surface-text:var(--light-inverse-title);--brand-gradient:linear-gradient(135deg,var(--brand-secondary) 0%,var(--brand-cta) 100%);--brand-gradient-soft:linear-gradient(135deg,rgb(var(--brand-secondary-rgb) / 0.16) 0%,rgb(var(--brand-cta-rgb) / 0.04) 100%);--font-family:"Lato",sans-serif;--grain-texture:url("/images/grain-texture.svg");--radius-pill:999px;--switch-slide-duration:200ms;--switch-slide-easing:cubic-bezier(0.4,0,0.2,1);--sidebar-width:260px;--sidebar-expanded-width:260px;--sidebar-collapsed-width:72px;--top-bar-height:60px;--chat-column-width:760px;--toolbar-surface:var(--gray-10);--sidebar-background:var(--gray-10);--sidebar-surface:var(--title);--sidebar-surface-hover:var(--gray-20);--sidebar-text:var(--inverse-title);--sidebar-text-muted:var(--gray-70);--sidebar-text-secondary:var(--gray-80);--sidebar-badge-background:var(--gray-40);--sidebar-badge-text:var(--gray-100);--sidebar-border:rgb(var(--inverse-title-rgb) / 0.12);--color-surface:var(--gray-10);--color-surface-alt:var(--gray-10);--color-foreground:var(--inverse-title);--color-foreground-muted:var(--gray-90);--color-surface-rgb:var(--title-rgb);--color-surface-alt-rgb:var(--gray-10-rgb);--color-foreground-rgb:var(--inverse-title-rgb);--color-foreground-muted-rgb:var(--gray-90-rgb);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--font-size-xs:12px;--font-size-sm:14px;--font-size-md:16px;--font-size-lg:18px;--font-size-xl:24px;--font-size-2xl:32px;--font-weight-regular:400;--font-weight-bold:700;--line-height-ui:1.25;--line-height-text:1.5;--z-index-notification-panel:200;--z-index-floating-button:500;--z-index-toast:1000;--z-index-select-menu:1000;--z-index-menu:1200;--z-index-picker:1400;--hairline:rgb(var(--color-foreground-rgb) / 0.1);--hairline-soft:rgb(var(--color-foreground-rgb) / 0.08);--hairline-strong:rgb(var(--color-foreground-rgb) / 0.14);--card-tint:rgb(var(--color-foreground-rgb) / 0.03);--text-muted:var(--gray-70);--text-subtle:var(--gray-60);--control-height:42px}:root[data-theme="light"]{color-scheme:light;--title:var(--light-title);--inverse-title:var(--light-inverse-title);--gray-10:var(--light-gray-10);--gray-20:var(--light-gray-20);--gray-30:var(--light-gray-30);--gray-40:var(--light-gray-40);--gray-50:var(--light-gray-50);--gray-60:var(--light-gray-60);--gray-70:var(--light-gray-70);--gray-80:var(--light-gray-80);--gray-90:var(--light-gray-90);--gray-100:var(--light-gray-100);--red-10:var(--light-red-10);--orange-10:var(--light-orange-10);--yellow-10:var(--light-yellow-10);--green-10:var(--light-green-10);--blue-10:var(--light-blue-10);--violet-10:var(--light-violet-10);--pink-10:var(--light-pink-10);--title-rgb:var(--light-title-rgb);--inverse-title-rgb:var(--light-inverse-title-rgb);--gray-10-rgb:var(--light-gray-10-rgb);--gray-90-rgb:var(--light-gray-90-rgb);--gray-100-rgb:var(--light-gray-100-rgb);--text-gold:#8c6900;--text-primary:#ce3d29}*{box-sizing:border-box}html{min-height:100%;font-size:var(--font-size-md);touch-action:manipulation;scrollbar-gutter:stable;scrollbar-color:rgb(var(--brand-secondary-rgb) / 0.55) rgb(var(--color-foreground-rgb) / 0.06);scrollbar-width:thin}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:rgb(var(--color-foreground-rgb) / 0.06)}::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:999px;background-color:rgb(var(--brand-secondary-rgb) / 0.55);background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:rgb(var(--brand-secondary-rgb) / 0.8)}::-webkit-scrollbar-corner{background:transparent}@media (max-width:767px) and (pointer:coarse){*{scrollbar-width:none!important}::-webkit-scrollbar{display:none}}body{position:relative;min-height:100vh;margin:0;color:var(--color-foreground);background:var(--color-surface);font-family:var(--font-family);font-size:var(--font-size-md);font-weight:var(--font-weight-regular);line-height:var(--line-height-text);touch-action:manipulation}a,button,input[type="button"],input[type="submit"],[role="button"]{touch-action:manipulation}h1{margin:0 0 var(--space-3,12px);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-ui)}h2{margin:0 0 var(--space-3,12px);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-ui)}h3{margin:0 0 var(--space-2,8px);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:var(--line-height-ui)}h4{margin:0 0 var(--space-2,8px);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);line-height:var(--line-height-ui)}small{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);line-height:var(--line-height-text)}body::before{content:"";position:fixed;inset:0;z-index:0;background-image:var(--grain-texture);opacity:0.035;mix-blend-mode:overlay;pointer-events:none}dialog:not([open]){display:none}img,svg{display:block}svg[hidden]{display:none}button,input{font:inherit}code,kbd,pre,samp{font-family:var(--font-family)}button{cursor:pointer}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}}.app-shell{position:relative;z-index:1;display:grid;min-height:100vh;grid-template-columns:var(--sidebar-width) minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);background:var(--color-surface);transition:grid-template-columns 160ms ease}.app-navigation-shell{display:contents}.app-main{grid-column:2;grid-row:3}body.app-sidebar-collapsed{--sidebar-width:var(--sidebar-collapsed-width)}.app-shell-centered{grid-template-columns:minmax(0,1fr)}.app-content-centered{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-4)}.app-main,.app-content{min-width:0}.app-page-layout{max-width:calc(1400px + 2 * clamp(16px,3vw,32px))}body.app-sidebar-collapsed .app-shell-chat,.app-shell-chat{display:grid;grid-template-rows:auto auto 100vh}@media (max-width:1279px){.app-shell{display:block;min-height:100vh;padding-bottom:calc(64px + env(safe-area-inset-bottom))}.app-main{grid-column:auto;grid-row:auto}}.app-chat-history-modal-body .app-page-layout{padding:0}.app-admin-shell-body>.app-page-layout{min-height:0;padding:24px 0 52px}.app-sidebar{position:sticky;top:0;z-index:40;grid-column:1;grid-row:2 / 4;align-self:start;width:var(--sidebar-width);height:100vh;overflow:visible;background:var(--sidebar-background);transition:width 160ms ease;view-transition-name:app-sidebar}@view-transition{navigation:auto}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}::view-transition-old(app-sidebar),::view-transition-new(app-sidebar),::view-transition-old(app-mobile-bottom-bar),::view-transition-new(app-mobile-bottom-bar){animation:none}::view-transition-old(root),::view-transition-new(root){animation-duration:120ms}.app-sidebar-inner{display:flex;height:100%;min-height:0;flex-direction:column}.app-mobile-bottom-bar{display:none;view-transition-name:app-mobile-bottom-bar}.app-sidebar{background:var(--sidebar-background)}.app-sidebar-inner{position:relative;gap:0;overflow:hidden;padding:0;background:var(--sidebar-background)}.app-sidebar-brand{display:flex;flex:0 0 auto;box-sizing:border-box;height:var(--top-bar-height);align-items:center;padding:10px 24px;color:var(--color-foreground);text-decoration:none}.app-sidebar-logo{height:40px}.app-sidebar-icon{display:none;width:30px;height:40px;object-fit:contain}.app-sidebar-navigation::after{content:"";position:absolute;right:0;bottom:0;left:0;height:1px;background:rgb(var(--color-foreground-rgb) / 0.1)}.app-sidebar-edge-toggle{position:absolute;top:212px;right:-16px;z-index:6;display:grid;width:16px;height:32px;place-items:center;padding:0;border:0;border-radius:4px;color:var(--gray-100);background:var(--gray-30);opacity:0;pointer-events:none;transition:opacity 140ms ease;will-change:opacity}.app-sidebar.is-guest .app-sidebar-edge-toggle{top:116px}.app-sidebar:hover .app-sidebar-edge-toggle,.app-sidebar-edge-toggle:focus-visible{opacity:1;pointer-events:auto}.app-sidebar-edge-toggle svg{width:12px;height:12px}.app-sidebar-edge-toggle-expand{display:none}.app-sidebar-navigation{position:relative;display:grid;gap:8px;padding:16px}.app-menu-link{position:relative;display:flex;width:100%;min-height:40px;align-items:center;gap:12px;overflow:hidden;padding:8px 16px;border:0;border-radius:20px;color:var(--sidebar-text);background:transparent;font-size:var(--font-size-md);font-weight:var(--font-weight-regular);line-height:var(--line-height-ui);text-decoration:none;transition:color 140ms ease,background-color 140ms ease}.app-menu-link:hover,.app-menu-link:focus{color:var(--accent-gold);background:var(--sidebar-surface)}.app-menu-link.is-active{color:var(--accent-gold);background:rgb(var(--inverse-title-rgb) / 0.1)}.app-menu-icon{display:grid;width:24px;height:24px;flex:0 0 24px;place-items:center;color:currentColor}.app-menu-icon svg{width:24px;height:24px;fill:none;stroke:none;stroke-width:initial}.app-menu-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-chat-panel{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;padding-top:0}.app-chat-tools{display:grid;grid-template-columns:178px 40px;align-items:center;justify-content:start;gap:10px;padding:16px}.app-chat-search{width:178px;min-width:178px}.app-chat-tools .app-chat-search-button{display:none}.app-circle-button{display:block;flex:0 0 40px;width:40px;height:40px;padding:0;border:0;border-radius:var(--radius-pill);color:var(--color-foreground-muted);background:transparent;text-decoration:none}.app-circle-button:hover,.app-circle-button:focus-visible{color:var(--color-foreground-muted)}.app-circle-button svg{display:block;width:40px;height:40px}.app-circle-button-fill{fill:rgb(var(--color-surface-rgb) / 0.5);transition:fill 140ms ease}.app-circle-button:hover .app-circle-button-fill,.app-circle-button:focus-visible .app-circle-button-fill{fill:rgb(var(--color-foreground-rgb) / 0.1)}.app-circle-button-ring{stroke:var(--sidebar-text-secondary)}.app-chat-list{display:grid;min-height:0;align-content:start;gap:8px;overflow-y:auto;padding:0 14px 20px;scrollbar-width:none}.app-chat-list::-webkit-scrollbar{display:none}.app-chat-row{display:flex;min-width:0;min-height:48px;align-items:center;gap:5px;padding:4px 5px 4px 4px;border-radius:22px;color:var(--color-foreground);transition:background-color 140ms ease}.app-chat-row:hover,.app-chat-row:focus-within,.app-chat-row.is-active{color:var(--color-foreground);background:var(--sidebar-surface-hover)}.app-chat-trash-row:hover .app-character-label,.app-chat-trash-row:focus-within .app-character-label,.app-chat-row:hover .app-character-label,.app-chat-row:focus-within .app-character-label,.app-chat-row.is-active .app-character-label{color:var(--accent-gold)}.app-chat-link{display:flex;min-width:0;flex:1 1 auto;align-items:center;gap:12px;color:currentColor;text-decoration:none}.app-chat-link:hover,.app-chat-link:focus{color:currentColor}.app-sidebar-chat-avatar{display:grid;width:36px;height:36px;flex:0 0 36px;place-items:center;overflow:hidden;border:1px solid transparent;border-radius:var(--radius-pill);background:linear-gradient(var(--sidebar-background),var(--sidebar-background)) padding-box,var(--brand-gradient) border-box;color:var(--color-foreground);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.app-sidebar-chat-avatar img{width:32px;height:32px;object-fit:cover;aspect-ratio:auto}.app-sidebar-chat-picture{position:relative;display:flex;width:40px;height:40px;flex:0 0 40px;flex-direction:column;align-items:center;isolation:isolate}.app-sidebar-chat-picture .app-sidebar-chat-avatar{width:40px;height:40px;flex-basis:40px;border:2px solid var(--sidebar-surface);background:var(--sidebar-surface)}.app-sidebar-chat-picture .app-sidebar-chat-avatar img{width:100%;height:100%}.app-sidebar-chat-count{position:absolute;bottom:0;left:50%;z-index:1;display:flex;height:15px;align-items:center;justify-content:center;padding:0 6px;border-radius:var(--radius-pill);color:var(--sidebar-badge-text);background:var(--sidebar-badge-background);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);line-height:var(--line-height-ui);white-space:nowrap;transform:translateX(-50%)}.app-sidebar-chat-text{display:flex;min-width:0;flex:1 1 auto;flex-direction:column}.app-character-label,.app-sidebar-chat-scene{display:block;min-width:0;overflow:hidden;font-weight:var(--font-weight-regular);line-height:var(--line-height-ui);text-overflow:ellipsis;white-space:nowrap}.app-character-label{color:var(--color-foreground-muted);font-size:var(--font-size-md)}.app-sidebar-chat-scene{color:var(--sidebar-text-secondary);font-size:var(--font-size-xs)}.app-sidebar-empty-state{display:grid;gap:8px;padding:4px 8px;color:var(--sidebar-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}body.app-sidebar-collapsed .app-sidebar-edge-toggle{right:-8px;background:var(--gray-20)}body.app-sidebar-collapsed .app-sidebar-edge-toggle-collapse{display:none}body.app-sidebar-collapsed .app-sidebar-edge-toggle-expand{display:block}body.app-sidebar-collapsed .app-sidebar .app-chat-search,body.app-sidebar-collapsed .app-sidebar .app-chat-archive-button,body.app-sidebar-collapsed .app-sidebar .app-sidebar-empty-state{display:none}body.app-sidebar-collapsed .app-menu-text,body.app-sidebar-collapsed .app-sidebar .app-sidebar-chat-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}body.app-sidebar-collapsed .app-sidebar .app-chat-search-button{display:inline-grid}body.app-sidebar-collapsed .app-sidebar-brand{justify-content:center;padding:10px 0}body.app-sidebar-collapsed .app-sidebar-logo{display:none}body.app-sidebar-collapsed .app-sidebar-icon{display:block}body.app-sidebar-collapsed .app-sidebar-navigation{justify-items:center;padding:16px 0}body.app-sidebar-collapsed .app-menu-link{width:40px;min-height:40px;justify-content:center;gap:0;padding:0}body.app-sidebar-collapsed .app-sidebar .app-chat-tools{grid-template-columns:40px;justify-content:center;gap:12px}body.app-sidebar-collapsed .app-sidebar .app-chat-list{justify-items:center;gap:8px;padding:0}body.app-sidebar-collapsed .app-sidebar .app-chat-row{width:44px;justify-content:center;gap:0;padding-right:0;padding-left:0}body.app-sidebar-collapsed .app-sidebar .app-chat-link{justify-content:center;gap:0}body.app-sidebar-collapsed .app-sidebar .app-chat-actions{display:none}@media (max-width:1279px){.app-sidebar,body.app-sidebar-collapsed .app-sidebar{display:none}.app-mobile-bottom-bar{position:fixed;right:0;bottom:0;left:0;z-index:92;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px calc(8px + env(safe-area-inset-bottom));background:var(--toolbar-surface)}.app-mobile-bottom-bar-link{display:grid;flex:1 1 0;min-width:40px;height:40px;place-items:center;border-radius:20px;color:var(--color-foreground-muted);text-decoration:none;transition:color 140ms ease,background-color 140ms ease}.app-mobile-bottom-bar-link:hover,.app-mobile-bottom-bar-link:focus-visible{color:var(--color-foreground-muted);background:rgb(var(--color-foreground-rgb) / 0.1)}.app-mobile-bottom-bar-link.is-active{color:var(--accent-gold);background:rgb(var(--inverse-title-rgb) / 0.1)}.app-mobile-bottom-bar-link svg{width:24px;height:24px}}.app-explore-filter-trigger .app-circle-button-fill{fill:var(--gray-10)}.app-explore-filter-trigger .app-circle-button-ring{stroke:var(--gray-80)}.app-explore-filter-trigger:hover .app-circle-button-fill,.app-explore-filter-trigger.is-active .app-circle-button-fill{fill:var(--gray-20)}.app-chat-header-menu-trigger .app-circle-button-fill{fill:var(--gray-10)}.app-chat-header-menu-trigger .app-circle-button-ring{stroke:var(--gray-40)}.app-chat-header-menu-trigger:hover .app-circle-button-fill,.app-chat-header-menu-trigger:focus-visible .app-circle-button-fill{fill:var(--gray-20)}.app-chat-header-menu-trigger[aria-expanded="true"] .app-circle-button-fill{fill:rgb(var(--color-foreground-rgb) / 0.1)}@media (max-width:1279px){.app-shell-chat .app-mobile-bottom-bar{display:none}}.app-brand-lockup{display:inline-flex;align-items:center;aspect-ratio:165.312 / 40;color:var(--color-foreground)}.app-brand-lockup-icon{width:18.148%;height:100%;object-fit:contain}.app-brand-lockup-wordmark{width:77.013%;height:auto;margin-inline-start:4.839%}.app-button{display:inline-flex;flex:0 0 auto;height:40px;align-items:center;justify-content:center;gap:6px;padding:0 15px;border:1px solid transparent;border-radius:100px;color:var(--dark-gray-10);background-color:var(--accent-gold);background-image:none;font-family:var(--font-family);font-size:var(--font-size-md);font-weight:var(--font-weight-regular);line-height:var(--line-height-ui);text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;transition:color 140ms ease,border-color 140ms ease,background-color 140ms ease}.app-button svg{flex:0 0 16px;width:16px;height:16px}.app-button:focus-visible{outline:2px solid var(--accent-gold);outline-offset:2px}.app-button:not(:disabled,[aria-disabled="true"]):is(:hover,:active){color:var(--dark-gray-10);background-image:linear-gradient(rgb(var(--light-title-rgb) / 0.1),rgb(var(--light-title-rgb) / 0.1))}.app-button:is(:disabled,[aria-disabled="true"]){opacity:0.5;cursor:not-allowed}.app-button-rounded{padding:0 11px;border-radius:var(--radius-sm)}.app-button-small{height:32px;gap:4px;padding:0 11px;font-size:var(--font-size-sm)}.app-button-rounded.app-button-small{padding:0 7px}.app-button-large{height:56px;gap:8px;padding:0 15px;border-radius:var(--radius-md);font-size:var(--font-size-lg)}.app-button-border{border-color:var(--gray-100);color:var(--gray-100);background-color:var(--gray-10)}.app-button-border:not(:disabled,[aria-disabled="true"]):is(:hover,:active){color:var(--gray-10);background-color:var(--gray-100);background-image:none}.app-button-subtle{border-color:var(--gray-40)}.app-button-subtle:not(:disabled,[aria-disabled="true"]):is(:hover,:active){border-color:var(--gray-100)}.app-button-muted{color:var(--gray-100);background-color:var(--gray-20)}.app-button-muted:not(:disabled,[aria-disabled="true"]):is(:hover,:active){color:var(--gray-100)}.app-button-cta{background-color:var(--brand-cta)}.app-button-danger{border-color:var(--status-danger);color:var(--status-danger)}.app-button-danger:not(:disabled,[aria-disabled="true"]):is(:hover,:active){color:var(--dark-gray-10);background-color:var(--status-danger)}.app-primary-action svg{flex:0 0 16px;width:16px;height:16px}.app-button-form{display:contents}.app-button-form[hidden]{display:none}.app-account-inline-action .app-button:disabled{border-color:var(--hairline);color:var(--text-subtle);background:rgb(var(--color-foreground-rgb) / 0.03);opacity:0.72}.app-top-bar{position:sticky;top:0;z-index:45;grid-column:2;grid-row:2;display:flex;height:var(--top-bar-height);align-items:center;justify-content:space-between;gap:8px;padding:0 16px;background:transparent;pointer-events:none;view-transition-name:app-top-bar}.app-top-bar>*{pointer-events:auto}::view-transition-old(app-top-bar),::view-transition-new(app-top-bar){animation:none}.app-top-bar-brand{display:none;flex:0 0 auto;height:40px;align-items:center;color:var(--color-foreground);text-decoration:none}.app-top-bar-logo{height:40px}.app-top-bar-icon{display:none;width:30px;height:40px;object-fit:contain}.app-top-bar-actions{display:flex;flex:0 0 auto;align-items:center;margin-left:auto;gap:12px}.app-top-bar-bell{display:grid;flex:0 0 40px;width:40px;height:40px;place-items:center;padding:0;border:0;border-radius:var(--radius-pill);color:var(--sidebar-text);background:transparent;transition:background-color 140ms ease}.app-top-bar-bell:hover,.app-top-bar-bell:focus-visible{background:rgb(var(--inverse-title-rgb) / 0.1)}.app-top-bar-bell svg{width:24px;height:24px;overflow:visible}.app-top-bar-bell-dot{fill:var(--status-danger)}.app-top-bar-bell:not(.has-unseen) .app-top-bar-bell-dot{display:none}.app-top-bar-bell.has-unseen .app-top-bar-bell-body{transform-box:fill-box;transform-origin:50% 0;animation:app-top-bar-bell-shake 4s ease-in-out infinite}@keyframes app-top-bar-bell-shake{0%,20%,100%{transform:rotate(0deg)}4%{transform:rotate(14deg)}8%{transform:rotate(-12deg)}12%{transform:rotate(8deg)}16%{transform:rotate(-4deg)}}.app-account-menu-toggle{display:block;flex:0 0 40px;width:40px;height:40px;padding:0;border:0;border-radius:var(--radius-pill);background:transparent;cursor:pointer}.app-account-menu-avatar{display:block;width:40px;height:40px;border:1px solid var(--light-violet-10);border-radius:var(--radius-pill);object-fit:cover;aspect-ratio:1}.app-actions-menu-list.app-account-menu-list{width:320px;min-width:0;gap:0;padding:8px 0;border:0;border-radius:var(--radius-sm);background:var(--gray-20)}.app-actions-menu-list.app-account-menu-list.is-sheet{border-radius:0}.app-account-menu-item{display:flex;width:100%;min-height:36px;align-items:center;gap:8px;padding:8px 16px;border:0;color:var(--color-foreground-muted);background:transparent;font:inherit;font-size:var(--font-size-md);font-weight:var(--font-weight-regular);line-height:var(--line-height-ui);text-align:left;text-decoration:none;cursor:pointer}.app-account-menu-item>svg{flex:0 0 16px}.app-account-menu-label{white-space:nowrap}.app-account-menu-item.is-danger{color:var(--status-danger)}.app-account-menu-item:hover,.app-account-menu-item:focus-visible{color:var(--text-on-light-accent);background:var(--accent-gold);outline:0}.app-account-menu-item[role="menuitemcheckbox"]:hover,.app-account-menu-item[role="menuitemcheckbox"]:focus-visible{color:var(--color-foreground-muted);background:rgb(var(--color-foreground-rgb) / 0.08)}.app-account-menu-switch{margin-left:auto}.app-account-menu-switch .app-switch-thumb svg{width:12px;height:12px;opacity:1}.app-account-menu-item[aria-checked="true"] .app-account-menu-switch-sun,.app-account-menu-item[aria-checked="false"] .app-account-menu-switch-moon{display:none}@media (max-width:1279px){.app-top-bar-brand{display:flex}.app-top-bar-create{display:none}}@media (max-width:767px){.app-top-bar-logo{display:none}.app-top-bar-icon{display:block}}.app-shell:has(.app-char-edit-flow-page) .app-top-bar{background:var(--color-surface)}.app-shell-chat .app-top-bar{display:none}.app-checkbox{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer}.app-checkbox input[type="checkbox"]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.app-checkbox-control{position:relative;display:block;flex:none;width:20px;height:20px;border:1px solid var(--gray-80);border-radius:8px;background:transparent;transition:border-color 120ms ease,background 120ms ease}.app-checkbox-control::after{position:absolute;inset:-1px;background:var(--light-gray-100);content:"";opacity:0;mask:url("/icons/checkbox-tick.svg") center calc(50% + 0.5px) / 12px 9px no-repeat}:where(.app-checkbox):has(input:checked) .app-checkbox-control{border-color:var(--brand-secondary);background:var(--brand-secondary)}:where(.app-checkbox):has(input:checked) .app-checkbox-control::after{opacity:1}.app-checkbox:has(input:indeterminate) .app-checkbox-control{border-color:var(--brand-secondary);background:var(--brand-secondary)}.app-checkbox:has(input:indeterminate) .app-checkbox-control::after{opacity:1;mask-image:url("/icons/checkbox-dash.svg");mask-position:center;mask-size:12px 2px}:where(.app-checkbox):has(input:focus-visible) .app-checkbox-control{outline:2px solid var(--brand-secondary);outline-offset:2px}.app-chat-memory-pinned-only .app-checkbox-control{border-color:var(--color-foreground)}.app-chat-proxy-thinking .app-checkbox-control{border-color:var(--color-foreground)}.app-radio{flex:none;width:20px;height:20px;margin:0;border:1px solid var(--gray-80);border-radius:50%;background:transparent;cursor:pointer;appearance:none;transition:border-color 120ms ease,background 120ms ease}.app-radio:checked{border-color:var(--brand-secondary);background:radial-gradient(circle,var(--brand-secondary) 0 5px,transparent 5px)}.app-radio:focus-visible{outline:2px solid var(--brand-secondary);outline-offset:2px}.app-actions-menu{position:relative;display:inline-flex}.app-actions-menu-toggle{justify-content:center;width:38px;min-width:38px;padding:0;cursor:pointer}.app-actions-menu-list{position:fixed;z-index:var(--z-index-menu);display:flex;min-width:180px;max-width:calc(100vw - 16px);flex-direction:column;gap:2px;padding:6px;overflow-y:auto;border:1px solid var(--hairline-strong);border-radius:var(--radius-md);background:var(--color-surface-alt);box-shadow:0 12px 32px rgb(0 0 0 / 0.4)}.app-actions-menu-list[hidden]{display:none}.app-actions-menu-list form{margin:0}.app-actions-menu-item{display:flex;width:100%;min-height:36px;align-items:center;padding:0 12px;color:var(--color-foreground);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-align:left;text-decoration:none;border:0;border-radius:calc(var(--radius-md) - 3px);background:transparent;cursor:pointer}.app-actions-menu-item:not(:disabled):hover,.app-actions-menu-item:not(:disabled):focus-visible{color:var(--color-foreground);background:rgb(var(--color-foreground-rgb) / 0.08);outline:0}.app-actions-menu-item:disabled{color:var(--text-subtle);cursor:not-allowed;opacity:0.65}.app-actions-menu-item.is-danger:not(:disabled){color:var(--status-critical-text)}.app-actions-menu-list.app-compact-menu-list{min-width:0;gap:0;padding:4px 0;border:0;border-radius:8px;background:var(--gray-20)}.app-actions-menu-item.app-compact-menu-item{gap:8px;min-height:23px;padding:4px 12px 4px 8px;border-radius:0;color:var(--gray-100);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);line-height:var(--line-height-ui)}.app-compact-menu-item svg{flex:0 0 12px}.app-actions-menu-item.app-compact-menu-item.is-danger:not(:disabled){color:var(--status-danger)}.app-actions-menu-toggle.app-chat-actions-toggle{width:30px;min-width:30px;min-height:30px;padding:0;color:var(--text-muted);border:0;border-radius:var(--radius-pill);background:transparent}.app-actions-menu-toggle.app-chat-actions-toggle:hover,.app-actions-menu-toggle.app-chat-actions-toggle:focus-visible,.app-chat-actions.is-open .app-chat-actions-toggle{color:var(--color-foreground);background:rgb(var(--color-foreground-rgb) / 0.08)}.app-character-profile-actions .app-actions-menu-toggle{width:48px;height:48px;border-color:transparent;background:rgb(var(--color-foreground-rgb) / 0.04);color:var(--color-foreground)}.app-input,.form-control,.form-select,textarea.form-control{min-height:40px;padding:0 var(--space-4);border:1px solid var(--gray-80);border-radius:var(--radius-sm);color:var(--gray-100);background-color:var(--gray-10);font-size:var(--font-size-md);font-weight:var(--font-weight-regular);line-height:var(--line-height-ui);transition:border-color 140ms ease,box-shadow 140ms ease,background-color 140ms ease}textarea.form-control,textarea.app-input{min-height:100px;height:100px;padding-top:10px;padding-bottom:10px}textarea::-webkit-resizer{background:linear-gradient(135deg,transparent 0 47%,var(--gray-100) 47% 53%,transparent 53% 72%,var(--gray-100) 72% 78%,transparent 78%) right 4px bottom 4px / 12px 12px no-repeat}input[type="number"]{-moz-appearance:textfield}input[type="number"]::-webkit-inner-spin-button{width:14px;height:26px;margin-left:var(--space-1);opacity:1;cursor:pointer;background-color:var(--text-gold);-webkit-appearance:none;mask:url("/icons/number-spin-arrows.svg") center / 14px 26px no-repeat}.app-input::placeholder,.form-control::placeholder{color:var(--gray-60);opacity:1}.app-input:-webkit-autofill,.app-input:-webkit-autofill:hover,.app-input:-webkit-autofill:focus,.form-control:-webkit-autofill,.form-control:-webkit-autofill:hover,.form-control:-webkit-autofill:focus{-webkit-text-fill-color:var(--gray-100);-webkit-box-shadow:0 0 0 1000px var(--gray-10) inset;box-shadow:0 0 0 1000px var(--gray-10) inset;caret-color:var(--gray-100);transition:background-color 9999s ease-in-out 0s,color 9999s ease-in-out 0s}.app-input:-moz-autofill,.form-control:-moz-autofill{-moz-text-fill-color:var(--gray-100);box-shadow:0 0 0 1000px var(--gray-10) inset;caret-color:var(--gray-100)}.app-input:focus,.form-control:focus,.form-select:focus{border-color:var(--brand-secondary);outline:0;color:var(--gray-100);background-color:var(--gray-10);box-shadow:none}.form-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:calc(var(--space-4) + 20px);background-image:url("/icons/select-chevron-dark-theme.svg");background-repeat:no-repeat;background-position:right var(--space-3) center;background-size:16px 16px}:root[data-theme="light"] .form-select{background-image:url("/icons/select-chevron-light-theme.svg")}.form-select option,.form-select optgroup,select.app-input option,select.app-input optgroup{color:var(--color-foreground);background-color:var(--color-surface-alt)}.form-select option:checked,select.app-input option:checked{color:var(--text-on-light-accent);background-color:var(--brand-secondary)}.app-input:disabled,.form-control:disabled,.form-select:disabled{color:var(--gray-80);background-color:var(--gray-20);opacity:1;-webkit-text-fill-color:var(--gray-80)}.form-text{color:var(--text-subtle);font-size:var(--font-size-xs)}.app-field-hint,.app-panel .app-field-hint{margin:0;color:var(--text-subtle);font-size:var(--font-size-xs);line-height:var(--line-height-text)}.app-checkbox.app-field-hint{font-size:var(--font-size-sm)}@media (max-width:1279px){input,select,textarea{font-size:var(--font-size-md)!important}}.app-session-rename-form .app-input{min-height:34px;padding-inline:10px}.app-chat-customize .form-select:not(.app-custom-select-native){height:40px;min-height:40px;padding:10px 44px 10px 16px;border:1px solid var(--gray-90);border-radius:8px;background-color:rgb(var(--color-foreground-rgb) / 0.1);background-position:right 16px center;font-size:var(--font-size-md);line-height:var(--line-height-ui)}.app-chat-customize .form-select:focus{border-color:var(--brand-secondary)}.app-provider-slider-row .form-control{width:80px;flex:0 0 auto;padding-inline:8px;text-align:center}.app-provider-slider-row .form-control::-webkit-inner-spin-button,.app-provider-slider-row .form-control::-webkit-outer-spin-button{display:none}.app-admin-shell .app-admin-action-control textarea.app-input{min-height:72px;height:96px}.app-admin-shell .app-field-hint{color:var(--gray-90);font-size:var(--font-size-sm);line-height:var(--line-height-text)}.app-char-edit-section .app-custom-url-row .app-input{padding-left:calc(28px + 3ch)}.app-custom-url-row .app-input.is-available{border:1px solid var(--status-success-text);box-shadow:0 0 0 3px rgb(var(--status-success-rgb) / 0.22)}.app-custom-url-row .app-input.is-unavailable{border:1px solid var(--status-critical-text);box-shadow:0 0 0 3px rgb(var(--status-danger-rgb) / 0.22)}.app-search-bar{display:flex;min-width:0;min-height:40px;align-items:center;gap:12px;margin:0;padding:0 15px;border:1px solid var(--gray-80);border-radius:20px;color:var(--gray-100);background:var(--gray-10);cursor:text;transition:border-color 140ms ease}.app-search-bar:focus-within{border-color:var(--accent-gold)}.app-search-bar>svg,.app-search-bar>[aria-hidden="true"]>svg{flex:0 0 16px;width:16px;height:16px;color:var(--gray-100)}.app-search-bar-input{flex:1 1 auto;width:100%;min-width:0;height:38px;padding:0;border:0;outline:0;color:var(--gray-100);background:transparent;font-size:var(--font-size-md);font-weight:var(--font-weight-regular);line-height:var(--line-height-ui)}.app-search-bar-input::placeholder{color:var(--gray-60);opacity:1}.app-search-bar-input::-webkit-search-cancel-button{width:12px;height:12px;margin:0;background:var(--gray-100);opacity:0;cursor:pointer;appearance:none;mask:url("/icons/close-small.svg") center / 16px 16px no-repeat}.app-search-bar-input:focus::-webkit-search-cancel-button{opacity:1}.app-search-bar-icon{display:inline-grid;flex:0 0 40px;width:40px;height:40px;place-items:center;padding:0;border:1px solid var(--gray-80);border-radius:20px;color:var(--gray-100);background:var(--gray-10);cursor:pointer;transition:background-color 140ms ease}.app-search-bar-icon:hover,.app-search-bar-icon:focus-visible{background:var(--gray-20)}.app-search-bar-icon svg{width:16px;height:16px}.app-custom-select{position:relative}select.app-custom-select-native{position:absolute;inset:0;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;opacity:0;pointer-events:none}.app-custom-select-trigger{width:100%;display:flex;align-items:center;justify-content:flex-start;text-align:left;cursor:pointer}.app-custom-select-trigger:disabled{cursor:not-allowed;opacity:0.6}.app-custom-select-trigger-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-custom-select-open>.app-custom-select-trigger{border-color:var(--brand-secondary);box-shadow:none}.app-custom-select-popup{position:fixed;z-index:var(--z-index-select-menu);max-height:260px;overflow-y:auto;scrollbar-width:thin;padding:8px 0;border:1px solid var(--gray-80);border-radius:var(--radius-sm);background-color:var(--gray-10)}.app-custom-select-popup::-webkit-scrollbar{width:8px}.app-custom-select-popup::-webkit-scrollbar-thumb{border-radius:999px;background:rgb(var(--color-foreground-rgb) / 0.25)}.app-custom-select-option{padding:8px 16px;color:var(--gray-100);font-size:var(--font-size-md);font-weight:var(--font-weight-regular);line-height:var(--line-height-ui);cursor:pointer}.app-custom-select-option:not(.app-custom-select-option-disabled):not(.app-custom-select-option-selected):hover,.app-custom-select-option-active{background-color:var(--gray-20)}.app-custom-select-option-selected{color:var(--dark-gray-10);background-color:var(--brand-secondary)}.app-custom-select-option-disabled{color:var(--text-subtle);cursor:not-allowed}.app-chat-customize .app-custom-select-open>.app-custom-select-trigger{border-color:var(--brand-secondary)}.app-color-picker-panel .app-custom-select-popup{z-index:calc(var(--z-index-picker) + 1)}.app-community-character-select .app-custom-select-trigger{min-height:34px;padding:0 36px 0 12px;font-size:var(--font-size-sm)}.app-modal{--modal-padding-block:64px;--modal-padding-inline:64px;width:100vw;max-width:1200px;min-width:0;height:calc(100dvh - 64px);max-height:none;margin:auto auto 0;padding:0;overflow:hidden;border:0;border-radius:24px 24px 0 0;background:var(--gray-10);color:var(--gray-100)}.app-modal::backdrop{background:rgb(var(--dark-title-rgb) / 0.6)}.app-modal-shell{display:grid;grid-template-rows:auto minmax(0,1fr);gap:32px;height:100%;min-width:0;max-width:100%;max-height:inherit;padding:var(--modal-padding-block) var(--modal-padding-inline);overflow:hidden}.app-modal-header{display:flex;align-items:center;gap:var(--space-3);min-width:0}.app-modal-header h1,.app-modal-header h2,.app-modal-header h3{min-width:0;margin:0;overflow-wrap:anywhere;color:var(--color-foreground);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-ui)}.app-modal-close-button{position:absolute;top:20px;right:20px;z-index:1;display:grid;width:32px;height:32px;place-items:center;padding:0;border:1px solid var(--gray-80);border-radius:var(--radius-pill);color:var(--gray-100);background:var(--gray-10);cursor:pointer}.app-modal-close-button svg{width:16px;height:16px}.app-modal-close-button:hover,.app-modal-close-button:focus-visible{color:var(--brand-secondary);background:rgb(var(--color-foreground-rgb) / 0.08)}.app-modal-tabs{margin:0;padding:0}.app-modal-body{min-width:0;min-height:0;margin-inline:calc(-1 * var(--modal-padding-inline));padding:0 var(--modal-padding-inline);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.app-modal.app-modal-box{width:calc(100% - 32px);max-width:816px;height:fit-content;max-height:calc(100dvh - 32px);margin:auto;border-radius:24px}.app-modal-box .app-modal-header{justify-content:center;text-align:center}.app-modal-box.app-lore-picker .app-modal-header,.app-modal-box.app-chat-trash-modal .app-modal-header{justify-content:flex-start;text-align:start}.app-modal-box .app-modal-body{display:grid;gap:32px}.app-chat-trash-modal .app-modal-shell{display:flex;flex-direction:column;gap:24px}.app-chat-trash-modal .app-modal-body{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}.app-modal-box-text{margin:0;color:var(--gray-100);font-size:var(--font-size-md);line-height:var(--line-height-text);text-align:center}.app-modal-box-actions{display:flex;align-items:center;justify-content:center;gap:12px}@media (max-width:767px){.app-modal{--modal-padding-inline:16px}.app-modal-box-actions{flex-direction:column-reverse;align-items:stretch}}@media (max-width:767px) and (pointer:coarse){.app-modal-box:not(.app-custom-instructions-modal,.app-lore-picker,.app-chat-trash-modal) :is(.app-modal-shell,.app-modal-header,.app-modal-header h1,.app-modal-header h2,.app-modal-header h3){transition:padding 200ms ease 150ms,gap 200ms ease 150ms,min-height 200ms ease 150ms,font-size 200ms ease 150ms}.app-modal-box:not(.app-custom-instructions-modal,.app-lore-picker,.app-chat-trash-modal):has(:is(input[type="text"],input[type="search"],input[type="number"],textarea):focus) .app-modal-shell{gap:16px;padding-top:20px;padding-bottom:16px}.app-modal-box:not(.app-custom-instructions-modal,.app-lore-picker,.app-chat-trash-modal):has(:is(input[type="text"],input[type="search"],input[type="number"],textarea):focus) .app-modal-header{min-height:32px;padding-inline:44px}.app-modal-box:not(.app-custom-instructions-modal,.app-lore-picker,.app-chat-trash-modal):has(:is(input[type="text"],input[type="search"],input[type="number"],textarea):focus) .app-modal-header :is(h1,h2,h3){overflow:hidden;font-size:var(--font-size-xl);text-overflow:ellipsis;white-space:nowrap}}.app-admin-audit-modal .app-modal-body{gap:16px}.app-card{border:1px solid var(--hairline-strong);border-radius:var(--radius-lg);background:var(--color-surface)}.app-card-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.app-card-title-row h2{margin:0}.app-card-title-row span{color:var(--text-subtle);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}body:has(.app-persona-modal[open]) .app-chat-messages{overflow-y:hidden}.app-persona-shell{min-height:0;overflow:hidden}.app-persona-body{display:grid;gap:var(--space-4)}.app-persona-list{display:grid;gap:var(--space-2)}.app-persona-status{margin:0;color:var(--text-muted);font-size:var(--font-size-sm)}.app-persona-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-md)}.app-persona-row.is-selected{border-color:rgb(var(--brand-secondary-rgb) / 0.55);background:rgb(var(--brand-secondary-rgb) / 0.08)}.app-persona-row-avatar{display:grid;flex:0 0 auto;place-items:center;width:40px;height:40px;overflow:hidden;border-radius:50%;background:rgb(var(--color-foreground-rgb) / 0.08);font-weight:var(--font-weight-bold)}.app-persona-row-avatar img{width:100%;height:100%;object-fit:cover}.app-persona-row-main{display:grid;flex:1 1 auto;gap:2px;min-width:0}.app-persona-row-main strong{display:flex;align-items:center;gap:var(--space-1);min-width:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.app-persona-row-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-persona-row-description{overflow:hidden;color:var(--text-muted);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap}.app-persona-default-badge{padding:1px 6px;border-radius:var(--radius-pill);background:rgb(var(--brand-secondary-rgb) / 0.18);color:var(--text-gold);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase}.app-persona-row-actions{display:flex;flex-wrap:nowrap;flex:0 0 auto;justify-content:flex-end;gap:var(--space-1)}.app-persona-row-action{display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;padding:0;border:1px solid var(--hairline);border-radius:var(--radius-pill);background:none;color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);cursor:pointer}.app-persona-row-action svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.app-persona-row-action.is-default{color:var(--text-gold);cursor:default}.app-persona-row-action.is-default svg{fill:currentColor}.app-persona-row-action.is-primary{border-color:rgb(var(--brand-secondary-rgb) / 0.55);color:var(--text-gold)}.app-persona-row-action.is-selected{border-color:transparent;color:var(--text-gold);cursor:default}.app-persona-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-4)}.app-persona-card{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--card-tint);color:inherit;text-align:left;cursor:pointer;transition:border-color 140ms ease,background 140ms ease}.app-persona-card:hover,.app-persona-card:focus-visible{border-color:var(--hairline-strong);background:rgb(var(--color-foreground-rgb) / 0.06)}.app-persona-card-avatar{display:grid;flex:0 0 auto;place-items:center;width:56px;height:56px;overflow:hidden;border-radius:50%;background:rgb(var(--color-foreground-rgb) / 0.08);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.app-persona-card-avatar img{width:100%;height:100%;object-fit:cover}.app-persona-card-main{display:grid;flex:1 1 auto;gap:2px;min-width:0}.app-persona-card-name{display:flex;align-items:center;gap:var(--space-2);min-width:0}.app-persona-card-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-persona-row-action:not(.is-selected):not(:disabled):hover{border-color:var(--brand-secondary);color:var(--color-foreground);background:rgb(var(--brand-secondary-rgb) / 0.1)}.app-persona-row-action:focus-visible{outline:0;box-shadow:0 0 0 3px rgb(var(--brand-secondary-rgb) / 0.35)}.app-persona-editor{display:grid;gap:var(--space-3)}.app-persona-editor-avatar-row{display:flex;align-items:center;gap:var(--space-3)}.app-persona-editor-avatar{display:grid;place-items:center;width:64px;height:64px;overflow:hidden;border:1px solid var(--hairline);border-radius:50%;color:var(--text-subtle);font-size:var(--font-size-xs);text-align:center}.app-persona-editor-avatar img{width:100%;height:100%;object-fit:cover}.app-persona-field{display:grid;gap:var(--space-1)}.app-persona-field>span{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.app-persona-field-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.app-persona-field-heading>span{min-width:0}.app-persona-field small{margin-left:var(--space-1);color:var(--text-subtle);font-weight:var(--font-weight-regular)}.app-persona-field .app-persona-field-count{flex:0 0 auto;margin-left:0;font-variant-numeric:tabular-nums}.app-persona-default-toggle{font-size:var(--font-size-sm)}.app-persona-error{margin:0;color:var(--status-critical-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.app-persona-editor-actions,.app-persona-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}@media (max-width:767px){.app-persona-row{align-items:center;flex-wrap:nowrap;gap:var(--space-1);padding:var(--space-2)}.app-persona-row-avatar{width:32px;height:32px}.app-persona-row-actions{gap:0}.app-persona-row[data-persona-id]:not([data-persona-id=""]) .app-persona-default-badge{display:none}}.app-notification-panel{position:fixed;z-index:var(--z-index-notification-panel);width:320px;max-width:calc(100vw - 32px);max-height:420px;display:flex;flex-direction:column;border:1px solid var(--sidebar-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:0 18px 40px rgb(0 0 0 / 0.35);overflow:hidden}.app-notification-panel[hidden]{display:none}.app-notification-panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--hairline-soft)}.app-notification-panel-header h2{margin:0;color:var(--color-foreground);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.app-notification-panel-actions{display:flex;gap:var(--space-2)}.app-notification-panel-action{border:none;background:none;padding:0;color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);cursor:pointer;transition:color 140ms ease}.app-notification-panel-action:hover,.app-notification-panel-action:focus{color:var(--text-gold)}.app-notification-filter-row{display:flex;flex-shrink:0;flex-wrap:nowrap;justify-content:flex-start;gap:5px;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--hairline-soft)}.app-notification-filter{position:relative;display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--sidebar-border);border-radius:var(--radius-pill);background:rgb(var(--color-foreground-rgb) / 0.02);color:var(--text-muted);cursor:pointer;transition:color 140ms ease,border-color 140ms ease,background-color 140ms ease}.app-notification-filter:hover,.app-notification-filter:focus{color:var(--text-gold);border-color:rgb(var(--brand-secondary-rgb) / 0.38)}.app-notification-filter.is-active{color:var(--text-on-light-accent);border-color:transparent;background:var(--brand-gradient)}.app-notification-list{overflow-y:auto;padding:var(--space-2) var(--space-2)}.app-notification-empty{padding:var(--space-6) var(--space-4);text-align:center;color:var(--text-muted);font-size:var(--font-size-sm)}.app-notification-empty[hidden]{display:none}.app-notification-item{display:block;padding:var(--space-3);border-radius:var(--radius-md);color:var(--color-foreground);text-decoration:none;transition:background-color 140ms ease}.app-notification-item:hover,.app-notification-item:focus{background:rgb(var(--color-foreground-rgb) / 0.04)}.app-notification-item.is-unread{background:rgb(var(--brand-secondary-rgb) / 0.06)}.app-notification-item-message{margin:0;font-size:var(--font-size-sm);line-height:var(--line-height-text)}.app-notification-item-timestamp{display:block;margin-top:var(--space-1);color:var(--text-muted);font-size:var(--font-size-xs)}.app-notification-row{position:relative}.app-notification-row .app-notification-item{padding-right:44px}.app-notification-item-mark-read{position:absolute;top:50%;right:var(--space-2);display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid var(--sidebar-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--text-muted);cursor:pointer;opacity:0;transform:translateY(-50%);transition:opacity 140ms ease,color 140ms ease,border-color 140ms ease}.app-notification-row:hover .app-notification-item-mark-read,.app-notification-item-mark-read:focus-visible{opacity:1}.app-notification-item-mark-read:hover,.app-notification-item-mark-read:focus-visible{color:var(--text-gold);border-color:rgb(var(--brand-secondary-rgb) / 0.38)}@media (hover:none){.app-notification-item-mark-read{opacity:1}}@media (max-width:767px){.app-notification-filter-row{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.app-notification-filter-row::-webkit-scrollbar{display:none}.app-notification-filter{flex-shrink:0}}.app-back-to-top{position:fixed;right:20px;bottom:20px;z-index:var(--z-index-floating-button);display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--hairline-strong);border-radius:50%;background:var(--color-surface);color:var(--color-foreground);box-shadow:0 12px 28px rgb(0 0 0 / 0.35);cursor:pointer;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity 160ms ease,transform 160ms ease,border-color 120ms ease,color 120ms ease}.app-back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.app-back-to-top:hover,.app-back-to-top:focus-visible{border-color:var(--text-gold);color:var(--text-gold)}@media (max-width:1279px){.app-back-to-top{bottom:calc(64px + env(safe-area-inset-bottom))}}.app-toast-container{position:fixed;right:20px;bottom:76px;z-index:var(--z-index-toast);display:flex;flex-direction:column;gap:8px;width:min(398px,calc(100vw - 40px));pointer-events:none}.app-toast{display:flex;align-items:flex-start;gap:8px;padding:8px 16px;border-radius:var(--radius-sm);background:var(--status-info-surface);color:var(--status-surface-text);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);line-height:var(--line-height-text);box-shadow:0 12px 32px rgb(0 0 0 / 0.4);opacity:0;transform:translateX(var(--toast-swipe-offset,0px)) translateY(var(--toast-enter-offset,12px));transition:opacity 200ms ease,transform 200ms ease;pointer-events:auto;touch-action:pan-y}.app-toast.is-visible{opacity:1;transform:translateX(var(--toast-swipe-offset,0px))}.app-toast.is-swiping{transition:none}@media (max-width:767px){.app-toast{--toast-enter-offset:0px}}.app-toast-warning{background:var(--status-warning)}.app-toast-error{background:var(--status-error-surface)}.app-toast-message{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.app-toast-close{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:inherit;cursor:pointer;transition:opacity 140ms ease,background-color 140ms ease}.app-toast-close svg{width:24px;height:24px}.app-toast-close:hover,.app-toast-close:focus-visible{opacity:0.75;background:rgb(var(--light-inverse-title-rgb) / 0.12)}@media (prefers-reduced-motion:reduce){.app-toast{transform:translateX(var(--toast-swipe-offset,0px));transition:opacity 200ms ease}}@media (max-width:1279px){.app-toast-container{bottom:calc(120px + env(safe-area-inset-bottom))}}body:has(.app-chat-focus) .app-toast-container{top:88px;bottom:auto;--toast-enter-offset:-12px}.ui-tooltip{position:fixed;inset:auto;box-sizing:border-box;max-width:280px;min-height:20px;margin:0;padding:2px 6px;overflow:visible;border:0;border-radius:4px;background:var(--brand-secondary);color:var(--dark-gray-10);font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);line-height:var(--line-height-ui);pointer-events:none}.ui-tooltip:popover-open{display:flex;align-items:center;justify-content:center}.ui-tooltip-arrow{position:absolute;width:6px;height:4px;background:var(--brand-secondary)}.ui-tooltip[data-tooltip-type="muted"]{background:var(--dark-gray-30);color:var(--dark-gray-100)}.ui-tooltip[data-tooltip-type="muted"] .ui-tooltip-arrow{background:var(--dark-gray-30)}.ui-tooltip[data-tooltip-side="top"] .ui-tooltip-arrow,.ui-tooltip[data-tooltip-side="bottom"] .ui-tooltip-arrow{left:var(--tooltip-arrow-offset);translate:-50% 0}.ui-tooltip[data-tooltip-side="left"] .ui-tooltip-arrow,.ui-tooltip[data-tooltip-side="right"] .ui-tooltip-arrow{top:var(--tooltip-arrow-offset);width:4px;height:6px;translate:0 -50%}.ui-tooltip[data-tooltip-side="top"] .ui-tooltip-arrow{top:100%;clip-path:polygon(0 0,100% 0,50% 100%)}.ui-tooltip[data-tooltip-side="bottom"] .ui-tooltip-arrow{bottom:100%;clip-path:polygon(50% 0,100% 100%,0 100%)}.ui-tooltip[data-tooltip-side="left"] .ui-tooltip-arrow{left:100%;clip-path:polygon(0 0,100% 50%,0 100%)}.ui-tooltip[data-tooltip-side="right"] .ui-tooltip-arrow{right:100%;clip-path:polygon(100% 0,100% 100%,0 50%)}.app-section-tabs{display:flex;flex-shrink:0;align-items:center;gap:24px;max-width:100%;padding:0 16px 0;overflow-x:auto;border-bottom:1px solid var(--gray-30);scrollbar-width:none;background:var(--color-surface)}.app-section-tabs::-webkit-scrollbar{display:none}.app-section-tab{flex:0 0 auto;padding:16px 0;border-bottom:2px solid transparent;color:var(--gray-80);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);line-height:var(--line-height-ui);text-decoration:none;white-space:nowrap;transition:color 120ms ease,border-color 120ms ease}.app-section-tab:hover{color:var(--gray-100)}.app-section-tab.is-active{border-bottom-color:var(--gray-100);color:var(--gray-100)}button.app-section-tab{appearance:none;border-top:0;border-right:0;border-left:0;background:transparent;font-family:inherit;cursor:pointer}.app-char-edit-flow-page>.app-section-tabs{position:sticky;top:var(--char-edit-sticky-top);z-index:20}.app-page-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);padding:20px 0}.app-page-heading>div:first-child{display:grid;gap:var(--space-1)}.app-page-heading-split{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.app-page-heading h1{margin:0;color:var(--color-foreground);font-size:clamp(var(--font-size-xl),2.5vw,var(--font-size-2xl));font-weight:var(--font-weight-bold);letter-spacing:-0.02em;line-height:var(--line-height-ui)}.app-page-heading p{margin:0;color:var(--text-muted);font-size:var(--font-size-md);font-weight:var(--font-weight-regular);line-height:var(--line-height-text)}.app-page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.app-muted-copy{color:var(--text-muted);font-size:var(--font-size-md);line-height:var(--line-height-text)}.app-admin-shell .app-page-heading{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px var(--space-4);margin-bottom:var(--space-6);padding:0}.app-user-badge{display:inline-flex;flex:none;pointer-events:auto}.app-user-badge-icon{width:16px;height:16px}.app-badge-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.app-badge{display:inline-flex;min-height:22px;align-items:center;padding:0 var(--space-2);border:1px solid var(--hairline-strong);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:0.05em;line-height:1;text-transform:uppercase;white-space:nowrap}.app-badge-primary{border-color:transparent;background:rgb(var(--brand-cta-rgb) / 0.16);color:var(--color-foreground)}.app-badge-success{border-color:transparent;background:rgb(var(--brand-secondary-rgb) / 0.18);color:var(--text-gold)}.app-badge-danger{border-color:transparent;background:rgb(var(--brand-primary-rgb) / 0.18);color:var(--color-foreground)}.app-badge-muted{border-color:var(--hairline);background:transparent;color:var(--text-subtle)}.app-profile-identity-name-row .app-user-badge-icon{width:20px;height:20px}.app-admin-shell .app-badge{display:inline-flex;min-height:24px;align-items:center;justify-content:center;padding:2px 10px;border:1px solid rgb(var(--color-foreground-rgb) / 0.2);border-radius:var(--radius-pill);color:var(--color-foreground-muted);background:transparent;font-family:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:normal;line-height:var(--line-height-ui);text-transform:none;white-space:nowrap}.app-admin-shell .app-badge-success{border-color:transparent;color:var(--text-gold);background:rgb(var(--brand-secondary-rgb) / 0.18)}.app-admin-shell .app-badge-muted{border-color:rgb(var(--color-foreground-rgb) / 0.2);color:var(--gray-90);background:transparent}.app-empty-state,.app-error-state{display:grid;max-width:460px;margin:0 auto;gap:var(--space-2);padding:var(--space-8) var(--space-4);text-align:center;color:var(--text-muted)}.app-empty-state h2,.app-error-state h2{margin:0;color:var(--color-foreground);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.app-empty-state p,.app-error-state p{margin:0;font-size:var(--font-size-sm);line-height:var(--line-height-text)}.app-empty-icon{position:relative;display:grid;width:56px;height:46.5px;padding-top:1.5px;margin:0 auto var(--space-3);place-items:center;border:1px solid var(--hairline);border-radius:var(--radius-sm);color:var(--text-gold);background:url("/icons/empty-state-book.svg") center / 42px 34px no-repeat,rgb(var(--color-foreground-rgb) / 0.03);font-weight:var(--font-weight-bold)}.app-panel{position:relative;display:block;color:var(--color-foreground);text-decoration:none;margin:24px;padding:24px 0;transition:color 160ms ease}a.app-panel:hover,a.app-panel:focus{color:var(--color-foreground)}.app-panel h1,.app-panel h2{margin:var(--space-1) 0 var(--space-2);color:var(--color-foreground);font-weight:var(--font-weight-bold);letter-spacing:-0.01em;line-height:var(--line-height-ui)}.app-panel h1{font-size:clamp(var(--font-size-xl),2.5vw,var(--font-size-2xl))}.app-panel h2{font-size:var(--font-size-xl)}.app-panel p{margin:0;color:var(--text-muted);font-size:var(--font-size-md);line-height:var(--line-height-text)}.app-panel>strong{display:block;margin-top:var(--space-2);color:var(--color-foreground);font-size:var(--font-size-md);font-weight:var(--font-weight-bold)}.app-panel>span{display:block;margin-top:var(--space-1);color:var(--text-muted);font-size:var(--font-size-sm)}.app-upload-zone{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:var(--space-3);margin:var(--space-4) 0;padding:var(--space-4);border:1px dashed var(--hairline-strong);border-radius:var(--radius-md);cursor:pointer}.app-upload-zone:hover,.app-upload-zone.is-dragging{border-color:rgb(var(--brand-secondary-rgb) / 0.45)}.app-upload-zone:has(input:focus-visible){border-color:rgb(var(--brand-secondary-rgb) / 0.7);box-shadow:0 0 0 3px rgb(var(--brand-secondary-rgb) / 0.35)}.app-upload-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:var(--radius-pill);background:rgb(var(--color-foreground-rgb) / 0.08);color:var(--text-gold);font-size:18px}.app-upload-zone strong{display:block;overflow-wrap:anywhere;color:var(--color-foreground);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.app-upload-zone small{color:var(--text-muted);font-size:var(--font-size-xs)}.app-alert{margin:0 0 var(--space-4);padding:12px 14px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.app-alert.validation-summary-valid{display:none}.app-provider-test-status{min-width:0;margin:0;overflow-wrap:anywhere}.app-provider-test-status.is-successful{color:var(--status-success-text)}.app-provider-test-status.is-failed{color:var(--status-critical-text)}.app-alert-success{border:1px solid rgb(var(--status-success-rgb) / 0.35);color:var(--status-success-text);background:rgb(var(--status-success-rgb) / 0.1)}.app-alert-error{border:1px solid rgb(var(--status-critical-rgb) / 0.35);color:var(--color-foreground);background:rgb(var(--status-critical-rgb) / 0.12)}.app-alert-info{border:1px solid var(--hairline-strong);color:var(--color-foreground);background:rgb(var(--color-foreground-rgb) / 0.05)}.app-provider-test .app-provider-test-status{text-align:right}.app-image-upload-trigger{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:36px;height:36px;padding:0;border:1px solid var(--hairline-strong);border-radius:var(--radius-pill);background:rgb(var(--color-foreground-rgb) / 0.04);color:var(--text-muted);cursor:pointer}.app-image-upload-trigger:hover,.app-image-upload-trigger:focus-within{border-color:var(--text-gold);color:var(--text-gold)}.app-image-upload-count{color:var(--text-subtle);font-size:var(--font-size-xs)}.app-image-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:min(100%,720px);overflow:hidden;border-radius:var(--radius-md)}.app-image-grid[hidden]{display:none}.app-image-grid[data-image-count="1"]{grid-template-columns:minmax(0,1fr)}.app-image-grid[data-image-count="2"],.app-image-grid[data-image-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}.app-image-grid[data-image-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.app-image-grid-item{position:relative;min-width:0;aspect-ratio:1;overflow:hidden}.app-image-grid[data-image-count="1"] .app-image-grid-item{aspect-ratio:auto}.app-image-grid-image{display:block;width:100%;height:100%;object-fit:cover}.app-image-grid[data-image-count="1"] .app-image-grid-image{height:100%;object-fit:contain}.app-image-grid-remove{position:absolute;top:6px;right:6px;display:grid;width:28px;height:28px;place-items:center;padding:0;border:1px solid rgb(var(--dark-inverse-title-rgb) / 0.24);border-radius:var(--radius-pill);background:rgb(var(--dark-title-rgb) / 0.72);color:var(--dark-inverse-title);font-size:18px;line-height:1;cursor:pointer}@media (max-width:767px){.app-image-grid[data-image-count="3"],.app-image-grid[data-image-count="5"],.app-image-grid[data-image-count="6"],.app-image-grid[data-image-count="7"],.app-image-grid[data-image-count="8"]{grid-template-columns:repeat(2,minmax(0,1fr))}}.app-community-post-images.is-nsfw-image-blurred .app-image-grid-image{filter:blur(20px);transform:scale(1.04);pointer-events:none;user-select:none}.app-sidebar-chat-rename-field{display:grid;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.app-image-crop-body{display:grid;gap:var(--space-3)}.app-image-crop-frame{display:grid;place-items:center;overflow:hidden;border-radius:var(--radius-sm);background:rgb(var(--dark-title-rgb) / 0.4)}.app-image-crop-frame canvas{max-width:100%;touch-action:none;cursor:grab}.app-image-crop-frame canvas:active{cursor:grabbing}.app-image-crop-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.app-image-crop-controls label{display:flex;align-items:center;gap:var(--space-2);flex:1 1 auto;color:var(--text-muted);font-size:var(--font-size-xs)}.app-toggle-grid{display:grid;grid-template-columns:1fr;gap:0}.app-compact-panel{display:grid;gap:var(--space-2)}.app-compact-panel h2{margin:0;color:var(--color-foreground);font-size:var(--font-size-md)}.app-compact-panel>p{margin:0 0 var(--space-2);color:var(--text-muted);font-size:var(--font-size-sm)}.app-advanced-settings{padding:0;overflow:hidden}.app-advanced-settings-summary{cursor:pointer;list-style:none}.app-advanced-settings-summary::-webkit-details-marker{display:none}.app-advanced-settings-content{padding:0 var(--space-6) var(--space-6)}.app-switch{display:inline-flex;align-items:center;gap:8px}.app-switch input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.app-switch-track{display:grid;flex:none;width:40px;height:24px;align-items:center;padding:4px;border:1px solid rgb(var(--color-foreground-rgb) / 0.2);border-radius:20px;background:rgb(var(--color-foreground-rgb) / 0.1);transition:border-color var(--switch-slide-duration) var(--switch-slide-easing)}.app-switch:hover .app-switch-track{background:var(--gray-20)}.app-switch-thumb{display:grid;width:16px;height:16px;place-items:center;border-radius:8px;color:var(--text-on-light-accent);background:var(--accent-gold);transition:transform var(--switch-slide-duration) var(--switch-slide-easing),background-color var(--switch-slide-duration) var(--switch-slide-easing)}.app-switch input:not(:checked) + .app-switch-track .app-switch-thumb{background:var(--gray-90)}.app-switch input:checked + .app-switch-track{border-color:var(--accent-gold)}.app-switch input:checked + .app-switch-track .app-switch-thumb{transform:translateX(14px)}.app-switch-outline .app-switch-track{border-color:var(--gray-80);background:var(--gray-10)}.app-switch-outline input:not(:checked) + .app-switch-track .app-switch-thumb{background:var(--gray-100)}.app-switch input:focus-visible + .app-switch-track{outline:2px solid var(--brand-secondary);outline-offset:2px}.app-account-menu-item[aria-checked="false"] .app-switch-thumb{color:var(--gray-100);background:var(--brand-primary);transform:translateX(14px)}.app-edit-profile-body{display:grid;gap:var(--space-4)}.app-edit-profile-field{display:grid;gap:var(--space-2)}.app-edit-profile-field>span{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:0.04em;text-transform:uppercase}.app-edit-profile-field>span small{margin-left:var(--space-2);color:var(--text-subtle);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);letter-spacing:0;text-transform:none}.app-edit-profile-gradient-row{display:flex;align-items:center;gap:var(--space-2)}.app-edit-profile-gradient-row input[type="color"]{width:44px;height:36px;padding:2px;border:1px solid var(--hairline-strong);border-radius:var(--radius-sm);background:transparent;cursor:pointer}.app-edit-profile-gradient-preview{flex:1 1 auto;height:36px;border-radius:var(--radius-sm)}.app-edit-profile-more-socials summary{color:var(--text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer}.app-edit-profile-more-socials summary:hover{color:var(--color-foreground)}.app-edit-profile-more-socials-fields{display:grid;gap:var(--space-4);margin-top:var(--space-4)}.app-edit-profile-advanced{border-top:1px solid var(--hairline-soft);padding-top:var(--space-3)}.app-edit-profile-advanced summary{color:var(--text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer}.app-edit-profile-advanced p{margin:var(--space-2) 0;color:var(--text-subtle);font-size:var(--font-size-xs);line-height:var(--line-height-text)}.app-edit-profile-advanced code{color:var(--text-gold)}.app-edit-profile-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.app-report-feedback{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.app-report-feedback.is-error{color:var(--status-critical-text)}.app-report-feedback.is-success{color:var(--status-success-text)}.app-reveal-panel{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--hairline-soft)}.app-reveal-panel[hidden]{display:none}.app-inline-form{display:inline-flex}.app-page-tabs{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--hairline)}.app-page-tabs a{color:var(--text-muted);text-decoration:none;font-size:var(--font-size-md);font-weight:var(--font-weight-bold);padding-bottom:var(--space-2);border-bottom:2px solid transparent}.app-page-tabs a:hover{color:var(--color-foreground)}.app-page-tabs a.is-active{color:var(--text-gold);border-bottom-color:var(--brand-secondary)}.is-hidden-tab-section{display:none!important}.app-form-shell{display:grid;gap:var(--space-4)}.app-form-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.app-inline-field{display:grid;gap:var(--space-1)}.app-template-token-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:8px}.app-template-token[hidden]{display:none}textarea.app-textarea-tall{min-height:200px;resize:vertical}.app-code-editor{min-height:420px;font-family:var(--font-family);font-size:var(--font-size-sm);resize:vertical}.app-navigation-shell{display:contents}.app-account-bio-card .app-form-actions{align-items:center}.app-admin-shell .app-page-tabs{gap:var(--space-2);margin-bottom:var(--space-6);padding-bottom:0;border-bottom:0}.app-surface-card{position:relative;overflow:hidden;margin:24px;padding:24px}.app-surface-card:has([data-tag-pill-suggest]),.app-surface-card:has([data-user-picker-menu]){overflow:visible}.app-surface-card h2{margin:0 0 var(--space-3);color:var(--color-foreground);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:0.01em}.app-surface-card-split{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.app-panel-heading{position:relative;display:grid;gap:var(--space-1);margin-bottom:var(--space-4);padding-bottom:var(--space-4)}.app-panel-heading::after{content:"";position:absolute;right:0;bottom:0;left:0;height:1px;background:linear-gradient(90deg,transparent,rgb(var(--brand-secondary-rgb) / 0.4) 50%,transparent)}.app-panel-heading h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:0.01em}.app-panel-heading h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.app-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--space-4);margin:0;padding:0 0 var(--space-12)}.app-editor-main{display:grid;gap:var(--space-4);min-width:0;align-content:start}.app-editor-section{display:grid;gap:var(--space-4)}.app-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.app-form-grid-wide{grid-column:1 / -1}.app-form-grid label:not(.app-button):not(.app-checkbox):not(.app-switch):not(.app-char-edit-upload),.app-form-grid .form-label,.app-inline-field label:not(.app-button):not(.app-checkbox):not(.app-switch),.app-inline-field .form-label{display:block;margin-bottom:var(--space-1)}@media (max-width:1279px){.app-editor-layout{grid-template-columns:1fr}}@media (max-width:767px){.app-form-grid{grid-template-columns:1fr}}.app-tag-pill-field{position:relative;display:flex;flex-wrap:wrap;min-height:40px;align-items:center;gap:6px;padding:6px 12px 6px 40px;border:1px solid var(--hairline-strong);border-radius:var(--radius-pill);background:rgb(var(--color-foreground-rgb) / 0.03)}.app-tag-pill-field:focus-within{border-color:rgb(var(--brand-secondary-rgb) / 0.55);background:rgb(var(--color-foreground-rgb) / 0.05)}.app-tag-pill-field-icon{position:absolute;top:50%;left:14px;display:grid;width:16px;height:16px;place-items:center;color:var(--text-subtle);pointer-events:none;transform:translateY(-50%)}.app-tag-pill-field-icon svg{width:16px;height:16px}.app-tag-pill-list{display:contents}.app-tag-pill{display:inline-flex;box-sizing:border-box;min-height:32px;align-items:center;gap:8px;padding:0 11px;border:1px solid var(--gray-30);border-radius:var(--radius-pill);color:var(--gray-100);background:transparent;font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);line-height:var(--line-height-ui);white-space:nowrap}.app-tag-pill:has(.app-tag-pill-remove:hover,.app-tag-pill-remove:focus-visible){background:var(--gray-10)}.app-tag-pill-remove{display:grid;width:12px;height:12px;place-items:center;padding:0;border:0;color:var(--gray-100);background:transparent}.app-tag-pill-remove svg{width:12px;height:12px}.app-tag-pill-remove:hover,.app-tag-pill-remove:focus-visible{color:var(--accent-gold)}.app-tag-pill-entry{min-width:120px;height:26px;flex:1 1 120px;border:0;outline:0;color:var(--color-foreground);background:transparent;font-size:var(--font-size-sm)}.app-tag-pill-entry::placeholder{color:var(--text-subtle)}.app-tag-pill-field[data-tag-pill-suggest] .app-tag-pill-field-icon{pointer-events:auto;cursor:text}.app-tag-suggestions{position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:30;display:flex;max-height:240px;flex-direction:column;gap:2px;overflow-y:auto;padding:6px;border:1px solid var(--hairline-strong);border-radius:var(--radius-md);background:var(--color-surface-alt);box-shadow:0 12px 32px rgb(0 0 0 / 0.3)}.app-tag-suggestion{display:flex;align-items:center;padding:8px 12px;border:0;border-radius:var(--radius-sm);color:var(--color-foreground);background:transparent;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-align:left;cursor:pointer}.app-tag-suggestion:hover,.app-tag-suggestion.is-active{color:var(--text-gold);background:rgb(var(--color-foreground-rgb) / 0.08)}.app-tag-pill-field.app-tag-pill-field-stacked{align-items:flex-start;gap:8px;min-height:0;padding:0;border:0;border-radius:0;background:transparent}.app-tag-pill-field-stacked .app-tag-pill-field-icon{display:none}.app-tag-pill-field-stacked .app-tag-pill-entry{order:-1;flex:1 0 100%;height:40px;margin-bottom:8px;padding:10px 16px;border:1px solid var(--gray-90);border-radius:var(--radius-sm);background:transparent;color:var(--color-foreground-muted);font-size:var(--font-size-md)}.app-tag-pill-field-stacked .app-tag-pill-entry:focus{border-color:var(--brand-secondary)}.app-tag-pill-field-stacked .app-tag-pill-entry::placeholder{color:rgb(var(--color-foreground-muted-rgb) / 0.5)}.app-tag-pill-field-stacked .app-tag-suggestions{top:46px}@media (max-width:767px){@media (max-width:767px){.app-tag-pill-field{align-items:flex-start;gap:4px;padding:8px 10px 8px 36px;border-radius:var(--radius-md)}.app-tag-pill-field-icon{top:13px;left:12px;transform:none}.app-tag-pill-entry{min-width:100px;height:24px;font-size:var(--font-size-xs)}}}.app-char-edit-page .app-tag-pill-field{border-radius:var(--radius-sm)}.app-toggle-card{display:flex;align-items:flex-start;gap:12px;margin:12px 16px;padding:12px 16px;cursor:pointer;transition:background-color 140ms ease}.app-toggle-grid .app-toggle-card:last-child{border-bottom:0}.app-toggle-card:hover{background:rgb(var(--color-foreground-rgb) / 0.02)}.app-toggle-card:has(input:checked) strong{color:var(--text-gold)}.app-toggle-card input{margin-top:3px}.app-toggle-card strong{display:block;color:var(--color-foreground);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);transition:color 140ms ease}.app-toggle-card small{display:block;color:var(--text-muted);font-size:var(--font-size-xs)}.app-toggle-card input[type="checkbox"],.form-check-input{appearance:none;position:relative;width:36px;height:20px;flex:0 0 auto;margin-top:1px;border:1px solid var(--hairline-strong);border-radius:var(--radius-pill)!important;background:rgb(var(--color-foreground-rgb) / 0.06);cursor:pointer;transition:background-color 160ms ease,border-color 160ms ease}.app-toggle-card input[type="checkbox"]::before,.form-check-input::before{content:"";position:absolute;top:1px;left:1px;width:16px;height:16px;border-radius:var(--radius-pill);background-color:var(--color-foreground-muted);background-image:url("/icons/switch-knob-off.svg");background-repeat:no-repeat;background-position:center;background-size:10px 10px;transition:transform 160ms ease,background-color 160ms ease}.app-toggle-card input[type="checkbox"]:checked,.form-check-input:checked{border-color:rgb(var(--brand-secondary-rgb) / 0.5);background:rgb(var(--brand-secondary-rgb) / 0.22)}.app-toggle-card input[type="checkbox"]:checked::before,.form-check-input:checked::before{transform:translateX(16px);background-color:var(--brand-secondary);background-image:url("/icons/switch-knob-on.svg");background-size:11px 11px}.form-check-input.is-danger:checked{border-color:rgb(var(--status-critical-rgb) / 0.55);background:rgb(var(--status-critical-rgb) / 0.22)}.app-toggle-card input[type="radio"]{margin-top:3px}@media (max-width:767px){.app-toggle-grid{grid-template-columns:1fr}}.app-markdown-body a:not(.app-button){color:var(--text-primary);text-decoration:underline;text-underline-offset:2px}.app-markdown-body a:not(.app-button):hover,.app-markdown-body a:not(.app-button):focus-visible{color:var(--brand-cta)}.app-markdown-body a:not(.app-button):visited{color:var(--brand-tertiary)}.app-markdown-body{color:var(--chat-message-text-color,var(--color-foreground));font-family:var(--chat-font-family,var(--font-family));font-size:var(--chat-font-size,var(--font-size-md));line-height:1.5;overflow-wrap:anywhere;word-break:normal;text-shadow:0 1px 3px rgba(0,0,0,0.35)}.app-markdown-body p{margin:0 0 var(--space-4)}.app-markdown-body p:last-child{margin-bottom:0}.app-markdown-body img{max-width:100%;height:auto;border-radius:var(--radius-sm);object-fit:contain}.app-markdown-body code{display:inline-block;box-sizing:border-box;max-width:100%;padding:0.12em 0.4em;border:1px solid rgb(var(--color-foreground-rgb) / 0.22);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--chat-markdown-inline-code-color,var(--text-gold));vertical-align:middle;box-shadow:inset 0 0 0 1px rgb(var(--color-surface-alt-rgb) / 0.35),0 1px 2px rgb(0 0 0 / 0.28);font-family:inherit;font-size:0.92em;font-style:normal;font-weight:500;text-shadow:none;white-space:pre-wrap;overflow-wrap:anywhere}.app-markdown-body pre{max-width:100%;margin:var(--space-4) 0;padding:var(--space-3);overflow-x:auto;border:1px solid rgb(var(--color-foreground-rgb) / 0.16);border-radius:var(--radius-md);background:rgb(var(--color-foreground-rgb) / 0.1);text-shadow:none}.app-markdown-body pre code{display:block;padding:0;border:0;background:transparent;color:var(--chat-markdown-thought-color,inherit);box-shadow:none;font-family:var(--chat-font-family,var(--font-family));font-size:1em;font-style:italic;font-weight:500;letter-spacing:normal;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}.app-markdown-plain{color:var(--chat-plain-text-color,inherit);font-style:normal;font-weight:500}.app-markdown-narration{color:var(--chat-markdown-narration-color,inherit);font-style:italic;font-weight:500}.app-markdown-bold{color:var(--chat-markdown-bold-color,inherit);font-style:normal;font-weight:800}.app-markdown-dialogue{color:var(--chat-markdown-dialogue-color,inherit);font-style:normal;font-weight:500}.app-markdown-dialogue .app-markdown-narration{color:inherit}.app-markdown-voice{color:var(--chat-markdown-voice-color,inherit);font-style:italic;font-weight:800}.app-markdown-table{max-width:100%;margin:var(--space-4) 0;overflow-x:auto}.app-markdown-table:last-child{margin-bottom:0}.app-markdown-body table{width:max-content;max-width:max(100%,36em);border-collapse:collapse;overflow-wrap:break-word}.app-markdown-body th,.app-markdown-body td{padding:var(--space-2);border:1px solid rgb(var(--color-foreground-rgb) / 0.16);vertical-align:top}.app-markdown-body th{background:rgb(var(--color-foreground-rgb) / 0.1);text-align:start}.app-markdown-body th .app-markdown-plain{font-weight:var(--font-weight-bold)}.app-markdown-body .app-group-cue{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}.app-group-cue-avatar{display:grid;flex:0 0 40px;width:40px;height:40px;place-items:center;overflow:hidden;border-radius:var(--radius-pill);background:var(--brand-gradient);color:var(--text-on-light-accent);font-size:var(--font-size-sm);font-style:normal;font-weight:var(--font-weight-bold);text-shadow:none}.app-markdown-body .app-group-cue-avatar img{width:100%;height:100%;border-radius:0;object-fit:cover}.app-group-cue-name{font-weight:var(--font-weight-bold)}.app-chat-message.is-editing .app-markdown-body{display:none}.app-modal.app-modal-box.app-chat-trash-modal{width:calc(100% - 80px)}.app-chat-trash-heading{display:grid;gap:8px;min-width:0}.app-chat-trash-heading p{margin:0;color:var(--gray-100);font-size:var(--font-size-md);line-height:var(--line-height-text)}.app-chat-trash{display:flex;flex:1 1 auto;flex-direction:column;gap:24px;min-height:0}.app-chat-trash-search{flex:none}.app-chat-trash-toolbar{display:flex;flex:none;align-items:flex-start;gap:8px;padding:0 12px}.app-chat-trash-select-all{color:var(--gray-80);font-size:var(--font-size-md);line-height:var(--line-height-ui);white-space:nowrap}.app-chat-trash-summary{display:flex;flex:1 1 auto;flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:0}.app-chat-trash-count{color:var(--gray-80);font-size:var(--font-size-md);line-height:var(--line-height-text);text-align:right}.app-chat-trash-links{display:flex;gap:8px}.app-chat-trash-link{padding:0;border:0;background:none;color:var(--status-danger);font:inherit;font-size:var(--font-size-md);line-height:var(--line-height-text);text-decoration:underline;white-space:nowrap;cursor:pointer}.app-chat-trash-list{display:flex;flex:1 1 auto;flex-direction:column;gap:12px;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.app-chat-trash-list::-webkit-scrollbar{display:none}.app-chat-trash-empty{margin:0;padding:0 12px;color:var(--gray-80);font-size:var(--font-size-md);line-height:var(--line-height-text)}.app-chat-trash-row{display:flex;flex:none;min-width:0;min-height:48px;align-items:center;gap:16px;padding:4px 12px;border-radius:8px}.app-chat-trash-row:hover,.app-chat-trash-row:focus-within{background:var(--gray-20)}.app-chat-trash-row form{display:flex;margin:0}.app-chat-trash-action{display:grid;width:32px;height:32px;flex:none;place-items:center;margin:-8px;padding:0;border:0;background:none;color:var(--gray-100);cursor:pointer}.app-chat-trash-action:hover,.app-chat-trash-action:focus-visible{color:var(--accent-gold)}.app-chat-trash-action svg{width:16px;height:16px}.app-chat-sessions-page{width:100%;max-width:1236px;padding-bottom:64px}.app-chat-sessions-tools{display:flex;align-items:flex-start;gap:8px;padding:16px}.app-chat-sessions-search{flex:1 1 auto}.app-chat-list.app-chat-sessions-list{overflow:visible;padding:0 14px}@media (hover:hover) and (min-width:1280px){.app-chat-trash-row:not(:hover,:focus-within) .app-chat-trash-action{opacity:0}}@media (max-width:767px){.app-modal.app-modal-box.app-chat-trash-modal{width:calc(100% - 32px)}.app-chat-trash-summary{flex-direction:column;align-items:flex-end;gap:0}}