:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--surface)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;margin:0;overflow:hidden}button{background:var(--accent,#444);color:#fff;cursor:pointer;border:0;border-radius:10px;min-height:44px;padding:10px 16px}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--muted);outline-offset:2px}p{overflow-wrap:anywhere}label{margin:20px 0 8px;display:block}input,textarea{border:1px solid var(--border);width:100%;min-width:0;color:inherit;background:#fff;border-radius:10px;padding:12px}input{min-height:48px}textarea{resize:vertical;display:block}small{color:var(--muted);margin-top:6px;display:block}code{background:var(--sidebar);overflow-wrap:anywhere;border-radius:8px;padding:12px;display:block}.secondary{background:var(--sidebar);color:var(--accent,#444)}.text-button{color:var(--muted);background:0 0;padding:8px}.error{color:#a03b2e}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[data-auth-pending] .private,[data-auth-pending] .private *,[data-auth-pending] .private dialog::backdrop{visibility:hidden}.connection-recovery{border:1px solid var(--border);background:var(--card);width:min(440px,100% - 32px);max-height:calc(100dvh - 32px);color:inherit;border-radius:16px;padding:24px;overflow-y:auto}.connection-recovery::backdrop{background:var(--surface)}.welcome{max-width:680px;height:100dvh;margin:0 auto;padding:10vh 24px 48px;overflow-y:auto}.welcome h1{margin:22px 0;font-weight:500}.welcome>p,.eyebrow{color:var(--muted)}.eyebrow{letter-spacing:.1em}.preparation{border:1px solid var(--border);background:#fff;border-radius:16px;margin-top:32px;padding:24px}.preparation button{margin-top:16px}.app-shell{top:var(--app-top,0px);height:var(--app-height,100dvh);background:var(--surface);grid-template-columns:248px minmax(0,1fr);display:grid;position:fixed;left:0;right:0;overflow:hidden}.workspace{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.workspace-header{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:12px;height:64px;padding:0 24px;display:flex}.workspace-header h1{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-weight:600;overflow:hidden}.mode-badge{color:var(--muted);border:1px solid var(--border);white-space:nowrap;border-radius:20px;padding:4px 9px}.icon-button{width:44px;height:44px;min-height:44px;color:var(--muted);background:0 0;border-radius:10px;place-items:center;padding:10px;display:inline-grid}.menu-toggle{display:none}.side-panel{background:var(--sidebar);min-width:0;height:100%;color:var(--ink);border:0;margin:0;padding:0}.sidebar-content{flex-direction:column;height:100%;padding:16px 12px;display:flex;overflow-y:auto}.sidebar-heading{justify-content:space-between;align-items:center;min-height:44px;padding:0 12px;font-weight:600;display:flex}.side-panel nav{flex-direction:column;gap:6px;margin-top:24px;display:flex}.side-panel nav button,.sidebar-reload,.sidebar-bottom>button{text-align:left;color:inherit;background:0 0;align-items:center;gap:12px;width:100%;padding:12px;display:flex}.side-panel svg{flex:none}.side-panel button:hover:not(:disabled){background:var(--sidebar)}.side-panel nav button[aria-current=page]{background:var(--sidebar);color:var(--ink);font-weight:600}.sidebar-reload{margin-top:12px}.sidebar-bottom{margin-top:auto;padding-top:28px}.backup-status{border-top:1px solid var(--border);padding:12px}.backup-status p,.sidebar-bottom .error{margin:8px 0}.mobile-menu{top:var(--app-top,0px);width:min(296px,86vw);max-width:none;height:var(--app-height,100dvh);max-height:none;margin:0;padding:0;position:fixed;bottom:auto;left:0;right:auto}.mobile-menu:not([open]){display:none}.mobile-menu::backdrop,.change-confirm::backdrop{background:#00000059}.chat-panel{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.chat-panel[hidden]{display:none}.history{overscroll-behavior:contain;min-width:0;min-height:0;padding:24px max(24px,50% - 400px);padding-bottom:calc(var(--chat-bottom-height,112px) + 16px);flex:1;overflow-y:auto}.message{overflow-wrap:anywhere;width:100%;margin:4px 0 8px;padding:4px}.message.user{width:fit-content;max-width:85%;margin-left:auto;padding:0}.message.user .message-body{background:var(--sidebar);border-radius:20px;width:fit-content;max-width:100%;margin-left:auto;padding:8px 12px}.message p{white-space:pre-wrap;margin:6px 0}.message.user .message-body p{margin:0}.message.unfinished{border-left:3px solid var(--muted);padding-left:12px}.speaker{color:var(--muted);font-weight:600}.message-meta{color:var(--muted);align-items:center;gap:4px;display:flex}.message.user .message-meta{justify-content:flex-end}.message-meta time{font-variant-numeric:tabular-nums}.message-menu-trigger{color:inherit;width:36px;height:36px;min-height:36px;margin:4px;padding:0}.message-menu-trigger svg{width:16px;height:16px}.message-menu-trigger:hover:not(:disabled){background:#efefef}.message-menu{border:1px solid var(--border);min-width:148px;max-height:calc(100dvh - 16px);color:inherit;background:#fff;border-radius:12px;margin:0;padding:6px;position:fixed;inset:auto;overflow-y:auto;box-shadow:0 6px 24px #00000024}.message-menu:popover-open{flex-direction:column;display:flex}.message-menu button{color:inherit;text-align:left;background:0 0}.message-menu button:hover:not(:disabled){background:var(--sidebar)}.message-actions{flex:none;align-items:center;display:flex}.message-meta{position:relative}.message-action-notice{background:var(--sidebar);max-width:min(280px,80vw);color:var(--accent,#444);pointer-events:none;border-radius:8px;padding:6px 10px;position:absolute;bottom:100%;right:0}.message-action-notice:empty{display:none}.message-action-button{width:36px;height:36px;min-height:36px;color:inherit;margin:4px;padding:0}.message-action-button:hover:not(:disabled){background:#efefef}.message.user .message-actions{opacity:0;pointer-events:none}.message.user:focus-within .message-actions{opacity:1;pointer-events:auto}@media (hover:hover) and (pointer:fine){.message.user:hover .message-actions{opacity:1;pointer-events:auto}}@media (hover:none),(pointer:coarse){.message.user .message-actions{display:none}.message.user .message-body{-webkit-user-select:none;user-select:none}}.message-body[role=button]{cursor:default;outline-offset:3px}.empty-history{text-align:center;color:var(--muted);padding:40px 8px}.workspace-notices{flex:none;max-height:25%;padding:0 20px;overflow-y:auto}.workspace-notices:empty{display:none}.workspace-notices p{margin:8px 0}.chat-controls{flex-wrap:wrap;flex:none;align-items:center;gap:8px;max-height:25%;padding:0 20px;display:flex;overflow-y:auto}.chat-controls:empty{display:none}.chat-bottom{z-index:1;pointer-events:none;background:0 0;flex-direction:column;max-height:75%;display:flex;position:absolute;bottom:0;left:0;right:0}.chat-bottom .composer-input,.chat-bottom .chat-controls>*,.jump-to-latest{pointer-events:auto}.chat-bottom .composer,.chat-bottom .chat-controls{background:0 0}.jump-to-latest{border:1px solid var(--border);width:44px;height:44px;color:var(--muted);background:#fff;border-radius:50%;place-items:center;padding:10px;display:grid;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 2px 8px #00000014}.chat-controls p{margin:6px 0}.pending,.retry{background:var(--sidebar);border-radius:10px;padding:10px}.composer{width:100%;max-width:864px;padding:10px 24px max(12px, env(safe-area-inset-bottom));flex:none;margin:0 auto}.composer-input{border:1px solid var(--border);background:#fff;border-radius:26px;align-items:flex-end;gap:6px;padding:6px;display:flex;box-shadow:0 2px 12px #00000008}.composer-input:focus-within{border-color:var(--muted)}.composer textarea{width:0;min-height:44px;max-height:min(160px, calc(var(--app-height,100dvh) / 4));resize:none;background:0 0;border:0;border-radius:18px;flex:1;padding:10px 12px;overflow-y:auto}.composer textarea:focus-visible{outline:none}.send-button{border-radius:50%;flex:none;place-items:center;width:44px;height:44px;padding:10px;display:grid}.management-panel{overscroll-behavior:contain;flex:1;min-width:0;min-height:0;padding:24px;overflow-y:auto}.management-panel>section,.management-panel>form,.management-panel>.settings-card{width:100%;max-width:760px;margin:0 auto}.management-panel>.settings-card{margin-bottom:20px}.management-panel h2{margin-top:0}.action-buttons{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.settings>button{margin-top:24px}.memory-card,.job-card{border:1px solid var(--border);border-radius:12px;margin-top:16px;padding:16px}.memory-card p,.memory-source p{white-space:pre-wrap}.memory-source{background:var(--sidebar);border-radius:8px;margin:8px 0;padding:12px}summary{cursor:pointer;min-height:44px;padding:12px 0}.invalid-memory{color:var(--muted)}.change-confirm{width:min(560px,100% - 32px);max-height:calc(var(--app-height,100dvh) - 32px);border:1px solid var(--border);background:var(--card);color:inherit;border-radius:16px;margin:auto;padding:24px;overflow-y:auto}.change-confirm h3{margin-top:0}@media (max-width:767px){.app-shell{grid-template-columns:minmax(0,1fr)}.app-shell>aside.side-panel{display:none}.menu-toggle{display:inline-grid}.workspace-header{gap:8px;height:56px;padding:0 12px}.history{padding:12px 16px;padding-bottom:calc(var(--chat-bottom-height,112px) + 16px)}.message.user{max-width:92%}.composer{padding:8px 12px max(8px, env(safe-area-inset-bottom))}.keyboard-hint{display:none}.management-panel{padding:20px 16px}.chat-controls,.workspace-notices{padding-left:12px;padding-right:12px}.welcome{padding:32px 20px}.preparation{padding:20px}}@media (max-height:480px){.workspace-header{height:44px}.composer{padding-top:4px;padding-bottom:4px}}.backup-warning{color:var(--muted);background:var(--sidebar);flex:none;margin:0;padding:8px 16px}
.workspace-picker{border-bottom:1px solid var(--border);gap:8px;padding:12px;display:grid}.workspace-picker label{gap:4px;display:grid}.workspace-picker select,.workspace-picker input{border:1px solid var(--border);width:100%;min-width:0;color:inherit;background:#fff;border-radius:8px;padding:8px}.workspace-picker form{gap:6px;display:grid}.chat-title-bar{flex:none;justify-content:space-between;align-items:center;gap:8px;padding:4px 16px;display:flex}.chat-title-bar>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-title-bar button{flex-shrink:0}.title-editor{flex-wrap:wrap;gap:8px;padding:8px 16px;display:flex}.title-editor label{flex:1;min-width:160px}.side-panel{overflow-y:auto}.media-settings{border-top:1px solid var(--border);margin-top:24px;padding:20px 0}.media-settings select{border:1px solid var(--border);width:100%;color:inherit;background:#fff;border-radius:8px;padding:10px}.media-settings button{margin:6px 4px 6px 0}.avatar-preview{object-fit:cover;border-radius:18px;width:96px;height:96px;margin:8px 0;display:block}.character-avatar{vertical-align:middle;object-fit:cover;border-radius:50%;flex-shrink:0;width:28px;height:28px;display:inline-block}.voice-choice{border-top:1px solid var(--border);padding:16px 0}.voice-choice audio{max-width:100%;margin:8px 0;display:block}.speech-controls{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.speech-controls small{flex-basis:100%}.message-image{object-fit:contain;border-radius:12px;max-width:100%;max-height:320px;display:block}.checkbox-label{align-items:center;gap:8px;display:flex}.checkbox-label input{width:20px;min-height:20px}.attachment-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.attachment-label{cursor:pointer;margin:2px 0}.attachment-label input{width:190px;min-height:30px;padding:3px;display:block}.attachment-preview{object-fit:contain;width:64px;height:48px}.character-icons{flex-wrap:wrap;gap:4px;display:flex}.character-icons:empty{display:none}.character-icons button{background:0 0;padding:4px}.search-mode{align-items:center;gap:8px;display:flex}.search-mode select{max-width:180px;padding:4px 8px}.web-sources{overflow-wrap:anywhere;margin:8px 0;padding-left:24px}.sidebar-heading{letter-spacing:.03em}.workspace-picker{border:0;flex-direction:column;flex:1;gap:10px;min-height:160px;padding:8px;display:flex}.workspace-picker .character-picker{color:var(--muted);padding:0 4px}.new-chat-button{text-align:left;background:var(--sidebar);width:100%;color:var(--ink);border-radius:10px;align-items:center;gap:10px;display:flex}.history-heading{color:var(--muted);margin:12px 8px 0;font-weight:500}.chat-history-list{flex-direction:column;flex:1;gap:2px;min-height:80px;display:flex;overflow-y:auto}.side-panel .chat-history-list button{text-align:left;border-radius:8px;flex-shrink:0;width:100%;min-height:40px;padding:9px 12px;display:block}.chat-history-list button span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.side-panel .chat-history-list button[aria-current=page]{background:var(--sidebar);color:var(--ink)}.add-character-button{text-align:left;width:100%;color:var(--muted);background:0 0}.new-character-form{border:1px solid var(--border);background:var(--card);border-radius:10px;padding:12px}.sidebar-content{height:100%;min-height:0}.sidebar-content>nav{border-top:1px solid var(--border);flex-shrink:0;padding-top:8px}.sidebar-bottom{flex-shrink:0;margin-top:12px}.empty-workspace{text-align:center;max-width:480px;margin:auto;padding:32px}.settings-card{border:1px solid var(--border);background:var(--card);border-radius:16px;margin:0 auto 20px;padding:24px;display:block}.settings-card h2{margin:0 0 16px}.settings-card button{margin:8px 6px 0 0}.settings-card label{margin:12px 0}.settings-card select{border:1px solid var(--border);width:100%;min-height:44px;color:inherit;background:#fff;border-radius:8px;padding:10px;display:block}.settings-card small,.muted,.settings-intro{color:var(--muted)}.character-media,.system-settings-content{max-width:760px;margin:auto}.settings-intro{margin-top:0;margin-bottom:20px}.voice-designer{border-top:1px solid var(--border);margin-top:20px}.voice-designer summary{font-weight:600}.current-voice{background:var(--sidebar);border-radius:10px;padding:12px 16px}.danger-zone{border-color:#ecd6cf}.danger-button{color:#fff;background:#a84736}.danger-button:hover:not(:disabled){background:#8c392b}.composer{position:relative}.composer-input{align-items:flex-end;padding:5px}.composer-input .attachment-add{width:40px;height:44px;color:var(--muted);flex:0 0 40px}.attachment-preview-card{align-items:center;gap:12px;padding:8px 12px;display:flex}.attachment-preview{object-fit:cover;border-radius:8px;width:70px;height:56px}.attachment-menu{border:1px solid var(--border);background:var(--card);color:inherit;border-radius:12px;max-width:calc(100vw - 24px);margin:0;padding:6px;position:fixed;inset:auto;box-shadow:0 6px 24px #0003}.attachment-menu button{color:inherit;text-align:left;background:0 0;min-width:160px}.attachment-menu small{padding:8px;display:block}.speech-controls{display:contents;position:relative}.speech-controls audio{display:none}.speech-controls small{background:var(--card);border:1px solid var(--border);z-index:2;border-radius:8px;max-width:min(320px,75vw);padding:8px;position:absolute;bottom:100%;left:0}.speech-action{color:inherit}.message-meta{position:relative}@media (max-width:767px){.settings-card{border-radius:12px;padding:18px}.sidebar-content{max-height:calc(var(--app-height,100dvh) - 32px)}}.attachment-preview-card{pointer-events:auto}.workspace-picker{min-height:0;overflow-y:auto}.workspace-picker>label,.workspace-picker>button,.workspace-picker>form,.workspace-picker>h2{flex-shrink:0}.chat-history-list{flex:1 0 80px;min-height:80px}.sidebar-reload{flex-shrink:0}.side-panel .chat-history-list{gap:2px;margin-top:0}.sidebar-content>nav{gap:2px;margin-top:8px}.sidebar-content>nav button{min-height:40px;padding:9px 12px}.sidebar-bottom{padding-top:8px}.workspace-picker{gap:8px}.workspace-picker .add-character-button{min-height:32px;padding:6px 10px}.loading-indicator{vertical-align:middle;align-items:center;gap:8px;display:inline-flex}.loading-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:18px;height:18px;animation:.8s linear infinite loading-spin;display:inline-block}@keyframes loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading-spinner{animation:none}}.chat-history-row{border-radius:8px;flex:none;align-items:center;min-width:0;display:flex}.chat-history-row.selected{background:var(--sidebar)}.side-panel .chat-history-list .chat-history-select{background:0 0;flex:1;width:0;min-width:0}.side-panel .chat-history-list .chat-history-menu-trigger{flex:none;width:36px;height:36px;min-height:36px;margin:2px;padding:8px}.chat-history-menu{border:1px solid var(--border);background:var(--card);min-width:160px;max-width:calc(100vw - 16px);color:inherit;border-radius:12px;margin:0;padding:6px;position:fixed;inset:auto;box-shadow:0 6px 24px #0003}.chat-history-menu:popover-open{flex-direction:column;display:flex}.chat-history-menu button{text-align:left;color:inherit;background:0 0}.chat-history-menu button:hover{background:var(--sidebar)}.history-title-editor{width:100%;padding:4px}.history-title-editor input{min-height:40px;padding:8px}.history-title-actions{gap:4px;display:flex}.side-panel .history-title-actions button{width:auto;min-height:36px;padding:6px}.sidebar-tools{border-top:1px solid var(--border);flex:none}.sidebar-tools>summary{align-items:center;gap:10px;padding:10px;list-style:none;display:flex}.sidebar-tools>summary::-webkit-details-marker{display:none}.disclosure-chevron{margin-left:auto;transition:transform .2s;transform:rotate(0)}.sidebar-tools[open] .disclosure-chevron{transform:rotate(180deg)}.sidebar-tools-content{max-height:45dvh;padding:0 4px 4px;overflow-y:auto}.sidebar-tools-content nav{gap:0;margin-top:0}.sidebar-tools-content .sidebar-reload{margin-top:0}.sidebar-tools-content .sidebar-bottom{margin-top:0;padding-top:0}.chat-history-list{flex:80px}@media (max-width:767px){.chat-title-bar{display:none}.sidebar-content{max-height:none;padding:8px;overflow-y:auto}.sidebar-heading{flex:none}.workspace-picker{flex:1;min-height:100px}}
:root{--surface:#fafafa;--card:#fff;--sidebar:#f0f0f0;--field:#fff;--ink:#272727;--muted:#707070;--border:#d5d5d5}:root[data-appearance=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface:#191919;--card:#242424;--sidebar:#202020;--field:#2d2d2d;--ink:#ececec;--muted:#b1b1b1;--border:#494949;color:var(--ink);background:var(--surface)}:root[data-display-mode=theme]{--surface:color-mix(in srgb, var(--character-theme,gray) 9%, white);--card:color-mix(in srgb, var(--character-theme,gray) 4%, white);--sidebar:color-mix(in srgb, var(--character-theme,gray) 18%, white);--field:color-mix(in srgb, var(--character-theme,gray) 2%, white);--border:color-mix(in srgb, var(--character-theme,gray) 18%, #c5c5c5)}.app-shell{--accent:color-mix(in srgb, var(--theme-color,gray) 35%, #1c1c1c);--tint:color-mix(in srgb, var(--theme-color,gray) 12%, var(--surface));background:var(--surface);color:var(--ink)}:root[data-appearance=dark] .app-shell{--accent:color-mix(in srgb, var(--theme-color,gray) 45%, #000);--tint:color-mix(in srgb, var(--theme-color,gray) 22%, var(--card))}.app-shell button:not(.icon-button):not(.text-button):not(.secondary):not(.danger-button):not(.chat-history-select):not(.chat-history-menu-trigger):not(.add-character-button):not(.sidebar-reload):not(.message-menu-trigger){background-color:var(--accent);color:#fff}.app-shell .side-panel nav button,.app-shell .sidebar-bottom>button,.app-shell .chat-history-menu button,.app-shell .message-menu button,.app-shell .attachment-menu button{color:inherit!important;background:0 0!important}.app-shell .side-panel nav button[aria-current=page],.chat-history-row.selected,.app-shell .new-chat-button,.message.user .message-body,.current-voice{background:var(--tint)!important;color:var(--ink)!important}.app-shell .side-panel{background:var(--sidebar);color:var(--ink)}.settings-card,.change-confirm,.message-menu,.chat-history-menu,.attachment-menu,.speech-controls small,.preparation,.connection-recovery{background:var(--card);color:var(--ink);border-color:var(--border)}input,textarea,.settings-card select,.workspace-picker select,.workspace-picker input,.appearance-control select,.composer-input{background:var(--field);color:var(--ink);border-color:var(--border)}.appearance-control{margin:8px 12px 16px}.appearance-control select{border:1px solid var(--border);border-radius:8px;width:100%;min-height:40px;margin-top:6px;padding:8px;display:block}.voice-choice{margin-top:12px}.inline-message-editor{background:var(--tint);border-radius:20px;width:min(640px,100%);padding:16px}.message.user:has(.inline-message-editor){width:min(640px,100%);max-width:100%}.inline-message-editor label{margin:0}.inline-message-editor textarea{resize:vertical;min-height:120px}.inline-message-editor .action-buttons{justify-content:flex-end;margin-top:12px}input[type=color]{cursor:pointer;width:96px;padding:4px}.audio-download{color:inherit;padding:8px;display:inline-block}:root[data-appearance=dark] small,:root[data-appearance=dark] .muted,:root[data-appearance=dark] .speaker,:root[data-appearance=dark] .message-meta,:root[data-appearance=dark] .settings-intro,:root[data-appearance=dark] .character-picker,:root[data-appearance=dark] .history-heading,:root[data-appearance=dark] .add-character-button,:root[data-appearance=dark] .icon-button{color:var(--muted)}:root[data-appearance=dark] .error{color:#ffaca0}:root[data-appearance=dark] .memory-source,:root[data-appearance=dark] .pending,:root[data-appearance=dark] .retry,:root[data-appearance=dark] .message-action-notice,:root[data-appearance=dark] .backup-warning{background:var(--card);color:var(--ink)}:root[data-appearance=dark] .text-button{color:var(--muted)}:root[data-appearance=dark] .danger-button{color:#fff}:root[data-appearance=dark] .connection-recovery::backdrop{background:var(--surface)}:root[data-appearance=dark] .message-menu-trigger:hover:not(:disabled),:root[data-appearance=dark] .message-action-button:hover:not(:disabled){background:var(--sidebar)}:root[data-appearance=dark] .secondary,:root[data-appearance=dark] code{background:var(--sidebar);color:var(--ink)}:root[data-appearance=dark] .side-panel button:hover:not(:disabled),:root[data-appearance=dark] .message-menu button:hover:not(:disabled),:root[data-appearance=dark] .chat-history-menu button:hover{background:var(--sidebar)!important}:root[data-appearance=dark] .workspace-header,:root[data-appearance=dark] .voice-choice,:root[data-appearance=dark] .voice-designer,:root[data-appearance=dark] .backup-status,:root[data-appearance=dark] .sidebar-tools{border-color:var(--border)}@media (prefers-reduced-motion:reduce){.disclosure-chevron{transition:none}}
.app-shell .secondary{background:var(--sidebar);color:var(--ink)}.app-shell .text-button,.app-shell .icon-button,.speaker,.message-meta,.muted,.settings-intro,small,.history-heading,.add-character-button,.workspace-picker .character-picker{color:var(--muted)}.app-shell .danger-button{color:#fff}.app-shell button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,select:focus-visible{outline-color:var(--muted)}.app-shell .side-panel button:hover:not(:disabled),.app-shell .message-menu button:hover:not(:disabled),.app-shell .chat-history-menu button:hover:not(:disabled),:root[data-appearance=dark] .side-panel button:hover:not(:disabled){background:color-mix(in srgb, var(--ink) 8%, var(--surface))!important}.settings-card small,.settings-card .muted,.settings-card .settings-intro{color:var(--muted)}.composer-input{border-color:var(--border);grid-template-columns:44px minmax(0,1fr) 44px;align-items:end;gap:4px;padding:6px;display:grid}.composer-input textarea{grid-area:1/2;width:100%;margin:0}.composer-input .attachment-add{color:var(--muted);grid-area:1/1;align-self:end}.composer-input .send-button{grid-area:1/3;align-self:end}.composer-input.multiline{border-radius:24px;grid-template-columns:44px minmax(0,1fr) 44px}.composer-input.multiline textarea{grid-area:1/1/auto/-1;padding:10px 12px}.composer-input.multiline .attachment-add,.composer-input.multiline .send-button{grid-row:2}.history-content{display:flow-root}.workspace-header{flex-shrink:0}.avatar-trigger{vertical-align:middle;border-radius:50%;flex:none;justify-content:center;align-items:center;min-height:28px;padding:0;display:inline-flex;background:0 0!important}.avatar-trigger.header-avatar,.header-avatar .character-avatar{width:44px;height:44px}dialog::backdrop{background:#0008}label>input:not([type=checkbox]),label>textarea,label>select,.settings-card label>input:not([type=checkbox]),.settings-card label>textarea,.settings-card label>select{margin-top:4px}.inline-message-editor>label>textarea{margin-top:0}.voice-designer .loading-indicator{margin-left:4px;margin-right:4px}.danger-zone>button{align-items:center;gap:8px;width:auto;padding:10px 16px;display:inline-flex}.save-toast{z-index:20;border:1px solid var(--border);background:var(--ink);max-width:calc(100vw - 32px);color:var(--surface);pointer-events:none;border-radius:24px;padding:10px 20px;position:fixed;top:72px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0002}.theme-picker{border:0;min-width:0;margin:16px 0;padding:0}.theme-picker legend{margin-bottom:12px}.theme-swatches{flex-wrap:wrap;gap:10px;display:flex}.app-shell .theme-picker .theme-swatch{border:3px solid var(--card);width:36px;height:36px;min-height:36px;box-shadow:0 0 0 1px var(--border);border-radius:50%;padding:0}.app-shell .theme-picker .theme-swatch[aria-pressed=true]{box-shadow:0 0 0 3px var(--ink)}.color-code{align-items:center;gap:12px;margin-top:4px;display:flex}.color-code>span{border:1px solid var(--border);border-radius:10px;flex:none;width:40px;height:40px}.color-code input{max-width:200px;font-family:monospace}.theme-picker input[type=range],.crop-dialog input[type=range],.speech-player input[type=range]{width:100%;min-height:28px;accent-color:var(--theme-color,#777);cursor:pointer;padding:0}.crop-window{aspect-ratio:1;touch-action:none;cursor:move;background:#202020;border-radius:8px;width:min(320px,100%);margin:auto;position:relative;overflow:hidden}.crop-window img{-webkit-user-select:none;user-select:none;pointer-events:none;max-width:none;position:absolute}.speech-player{background:color-mix(in srgb, var(--card) 50%, transparent);width:300px;max-width:calc(100vw - 16px);color:var(--ink);border:1px solid var(--border);border-radius:14px;margin:0;padding:6px 8px;position:fixed;inset:auto;box-shadow:0 6px 24px #0003}.speech-player:popover-open{grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:8px;display:grid}.speech-player label{align-items:center;min-width:0;margin:0;display:flex}.speech-player .message-action-button{color:var(--ink);margin:0}.memory-card,.backup-status,.sidebar-content>nav,.voice-designer,.voice-choice,.workspace-header,.sidebar-tools{border-color:var(--border)}.memory-source,.retry,.pending,code{background:var(--card);color:var(--ink)}.workspace-picker select,.workspace-picker input{border-color:var(--border)}.appearance-control{margin:0}.mode-badge{color:var(--muted);border-color:var(--border)}.composer-input:focus-within{border-color:var(--muted)}.message-action-notice{background:var(--card);color:var(--ink)}.welcome>p,.eyebrow{color:var(--muted)}:root[data-appearance=dark] code,:root[data-appearance=dark] .message-menu-trigger:hover:not(:disabled),:root[data-appearance=dark] .message-action-button:hover:not(:disabled){background:color-mix(in srgb, var(--ink) 8%, var(--surface));color:var(--ink)}.message.unfinished{border-left-color:var(--muted)}.error,.app-shell .error{color:#af3535}:root[data-appearance=dark] .error,:root[data-appearance=dark] .app-shell .error{color:#ffb0b0}@media (max-width:767px){.composer-input{grid-template-columns:36px minmax(0,1fr) 36px;padding:5px}.composer-input .attachment-add,.composer-input .send-button{width:36px;height:36px;min-height:36px;padding:7px}.composer-input textarea{min-height:36px;padding:6px 8px}.composer-input.expanded-mobile{border-radius:22px;grid-template-columns:36px minmax(0,1fr) 36px}.composer-input.expanded-mobile textarea{grid-area:1/1/auto/-1}.composer-input.expanded-mobile .attachment-add,.composer-input.expanded-mobile .send-button{grid-row:2}.chat-bottom.editing-user{display:none}.save-toast{top:64px}}.history-content>.message{content-visibility:auto;contain-intrinsic-size:auto 140px}
.settings-accordion>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;list-style:none;display:flex}.settings-accordion>summary::-webkit-details-marker{display:none}.settings-accordion>summary h2{margin:0}.settings-accordion>summary>svg{flex:none;transition:transform .18s}.settings-accordion[open]>summary>svg{transform:rotate(180deg)}.settings-accordion>.settings-card-body{padding-top:16px}.settings-accordion:not([open]){padding-bottom:20px}.settings-card-body>label{margin-bottom:16px;display:block}.settings-card-body .settings{background:0 0;border:0;padding:0}.settings-card-body .save-toast{padding:10px 20px}.danger-zone .settings-card-body>button{align-items:center;gap:8px;width:auto;padding:10px 16px;display:inline-flex}.theme-details{margin-top:16px}.theme-details>summary{cursor:pointer;color:var(--muted)}.theme-details>label{margin-top:12px;display:block}.theme-swatches{grid-template-columns:repeat(auto-fit,36px);gap:12px;max-width:276px;display:grid}.image-dialog{padding:calc(88px + env(safe-area-inset-top,0px)) 0 max(16px, env(safe-area-inset-bottom,0px));background:0 0;border:0;border-radius:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;position:fixed;inset:0;overflow:hidden}.image-dialog[open]{justify-content:center;align-items:center;display:flex}.image-dialog img{object-fit:contain;width:auto;max-width:100%;max-height:100%;margin:0;display:block}.image-dialog .image-preview-action{top:calc(16px + env(safe-area-inset-top,0px));color:#fff;background:#292929;border:1px solid #ffffff24;border-radius:50%;place-items:center;width:56px;height:56px;min-height:56px;padding:12px;display:grid;position:absolute}.image-preview-close{left:max(16px, env(safe-area-inset-left,0px))}.image-preview-download{right:max(16px, env(safe-area-inset-right,0px))}.message-image-trigger{max-width:100%;min-height:0;padding:0;display:block;background:0 0!important}.connection-banner{z-index:40;border:1px solid var(--border);background:color-mix(in srgb, var(--card) 50%, transparent);width:max-content;max-width:calc(100vw - 24px);color:var(--ink);border-radius:16px;align-items:center;gap:12px;padding:8px 12px;display:flex;position:fixed;top:8px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0002}.connection-banner p{margin:0}.connection-recovery{background:color-mix(in srgb, var(--card) 50%, transparent)}.composer-input .attachment-add,.composer-input .send-button{place-items:center;width:44px;height:44px;min-height:44px;margin:0;padding:10px;display:grid}.composer-input .attachment-add>span{line-height:24px;display:block}.side-panel .new-chat-button{background:0 0!important}.app-shell:has(.chat-panel:not([hidden])) .side-panel .new-chat-button.unsaved-chat{background:var(--tint)!important}.add-character-button{align-items:center;gap:10px;margin:4px 0 12px;display:flex}.side-panel .chat-history-row{border-radius:12px}.side-panel .chat-history-row:has(.chat-history-select:hover){background:color-mix(in srgb, var(--ink) 8%, var(--surface))}.app-shell .side-panel .chat-history-row .chat-history-select:hover:not(:disabled),.app-shell .side-panel .chat-history-row .chat-history-menu-trigger:hover:not(:disabled){background:0 0!important}.crop-comparison{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);align-items:center;gap:12px;max-width:420px;margin:16px 0;display:grid}.crop-comparison img{object-fit:contain;width:100%;height:140px}.crop-window{touch-action:none;cursor:grab}.crop-window:active{cursor:grabbing}.speech-player>button{place-items:center;width:36px;height:36px;padding:8px;display:grid}:root .speech-controls .speech-action:hover:not(:disabled),:root .speech-player .player-play:hover:not(:disabled){background:0 0}@media (max-width:767px){.composer-input .attachment-add,.composer-input .send-button{width:36px;height:36px;min-height:36px;margin:0;padding:7px}}@media (prefers-reduced-motion:reduce){.settings-accordion>summary>svg{transition:none}}.settings-accordion>summary,.theme-details>summary,.voice-designer>summary,.sidebar-tools>summary{-webkit-user-select:none;user-select:none}.settings-accordion>summary h2{overflow-wrap:anywhere;align-items:center;gap:10px;min-width:0;display:flex}.settings-heading-icon{flex:none}.workspace-picker{gap:4px}.workspace-picker .character-picker{margin:0}.workspace-picker .add-character-button{min-height:28px;margin:0;padding:2px 4px}.composer-input .attachment-add,.composer-input .send-button{align-self:end;line-height:1}.composer-input .attachment-add svg,.composer-input .send-button svg{width:20px;height:20px;display:block}
.auth-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.settings-back,.admin-settings-link{align-items:center;gap:12px;min-height:48px;display:flex}.settings-back{justify-self:start}.settings-card-body>.profile-field{margin-bottom:0}.profile-counter{text-align:right;color:var(--muted);margin:6px 0 16px}.admin-settings-link{justify-content:space-between;margin-top:8px}.settings-card label.toggle-field{cursor:pointer;grid-template-columns:minmax(0,1fr) 48px;align-items:center;gap:16px;min-height:48px;margin:0 0 16px;display:grid;position:relative}.toggle-field input{opacity:0;cursor:pointer;width:48px;height:28px;min-height:28px;margin:0;position:absolute;right:0}.toggle-track{border:1px solid var(--muted);background:var(--sidebar);pointer-events:none;border-radius:20px;width:48px;height:28px;padding:3px;transition:background .15s}.toggle-track:after{content:"";background:var(--muted);border-radius:50%;width:20px;height:20px;transition:transform .15s;display:block}.toggle-field input:checked+.toggle-track{border-color:var(--ink);background:var(--ink)}.toggle-field input:checked+.toggle-track:after{background:var(--card);transform:translate(20px)}.toggle-field input:focus-visible+.toggle-track{outline:3px solid var(--muted);outline-offset:3px}.toggle-field:has(input:disabled){opacity:.45;cursor:not-allowed}.toggle-field input:disabled{cursor:not-allowed}.avatar-upload{flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;display:flex}.settings-card .avatar-upload button{align-items:center;gap:10px;margin:0;display:inline-flex}.selected-file-name{overflow-wrap:anywhere;min-width:0;color:var(--muted)}@media (prefers-reduced-motion:reduce){.toggle-track,.toggle-track:after{transition:none}}.preparation .auth-actions button{flex:128px;margin:0}.auth-actions .secondary{border:1px solid var(--border);color:var(--ink)}.system-settings-content{gap:16px;width:100%;display:grid}.system-settings-content>.settings-card{width:100%;min-width:0;margin:0}.system-settings-content .settings-accordion>.settings-card-body{border-top:1px solid var(--border);margin-top:16px;padding-top:20px}.settings-form,.settings-section{gap:18px;min-width:0;display:grid}.settings-card .settings-form label,.settings-card .settings-form button,.settings-card .settings-actions button,.settings-list-heading button{margin:0}.settings-form>button{justify-self:start}.settings-form p,.settings-section h3,.settings-list-heading h3{margin:0}.ai-settings-form{border:0;gap:28px;margin:0;padding:0}.ai-settings-form>.settings-section+.settings-section,.settings-save-area{border-top:1px solid var(--border);padding-top:24px}.settings-save-area{justify-items:start;gap:16px;display:grid}.settings-save-area p{color:var(--muted)}.connection-settings{border:1px solid var(--border);border-radius:12px;min-width:0}.connection-settings>summary{cursor:pointer;overflow-wrap:anywhere;background:var(--sidebar);border-radius:12px;padding:14px 16px;font-weight:600}.connection-settings[open]>summary{border-bottom:1px solid var(--border);border-radius:12px 12px 0 0}.connection-fields{padding:20px 16px}.settings-card .settings-form select{min-width:0}.settings-list-heading,.settings-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.settings-list-heading{justify-content:space-between;margin-top:28px}.account-list,.usage-list{margin:16px 0 0;padding:0;list-style:none}.account-list>li{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;padding:16px 0;display:flex}.account-identity{overflow-wrap:anywhere;gap:4px;min-width:0;display:grid}.account-status{color:var(--muted)}.usage-details{margin-top:20px}.usage-details>:not(summary){margin:16px}.usage-list>li{overflow-wrap:anywhere;padding:12px 0}.usage-list>li+li{border-top:1px solid var(--border)}@media (max-width:767px){.system-settings-content>.settings-card{padding:16px}.system-settings-content .settings-accordion>summary{min-height:28px}.connection-fields{padding:18px 12px}.connection-settings>summary{padding:14px 12px}}
:root{--font-size-caption:.75rem;--font-size-small:.8125rem;--font-size-ui:.875rem;--font-size-body:1rem;--font-size-heading:1.125rem;--font-size-title:1.25rem;--font-size-display:2rem;--font-size-field:var(--font-size-ui);--line-height-body:1.75;--line-height-ui:1.5;--line-height-input:1.6;--line-height-heading:1.4;font-family:Yu Gothic UI,Meiryo,sans-serif;font-size:100%}body{font-size:var(--font-size-body);line-height:var(--line-height-body)}button,input,textarea,select{font:inherit}button,label,legend,summary,.settings-card-body,.appearance-control,.workspace-notices,.chat-controls,.chat-title-bar,.message-menu,.chat-history-menu,.attachment-menu,.save-toast,.backup-status{font-size:var(--font-size-ui);line-height:var(--line-height-ui)}input,textarea,select{font-size:var(--font-size-field);line-height:var(--line-height-input)}p,.message-body{line-height:var(--line-height-body)}.message-body,.composer textarea,.inline-message-editor textarea{font-size:var(--font-size-body)}h1,h2,h3{line-height:var(--line-height-heading)}h2,h3{font-weight:600}h2{font-size:var(--font-size-title)}h3,.workspace-header h1,.settings-card h2{font-size:var(--font-size-heading)}.sidebar-heading{font-size:var(--font-size-heading);line-height:var(--line-height-ui)}.welcome h1{font-size:var(--font-size-display)}small,.muted,.settings-intro,.speaker,.history-heading,.web-sources,.audio-download,.attachment-label,.message-action-notice,.eyebrow{font-size:var(--font-size-small);line-height:var(--line-height-ui)}.mode-badge,.message-meta time,.backup-status small{font-size:var(--font-size-caption);line-height:var(--line-height-ui)}@media (max-width:767px){:root{--font-size-small:.875rem;--font-size-ui:.9375rem;--font-size-field:var(--font-size-body);--font-size-title:1.125rem;--font-size-display:1.75rem}}
