:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--tbank-yellow:#ffdd2d;--tbank-yellow-hover:#f2cf00;--tbank-yellow-soft:#ffdd2d24;--tbank-yellow-glow:#ffdd2d3d;--tbank-black:#000;--tbank-dark:#121214;--tbank-panel:#1a1a1d;--tbank-panel-strong:#27272b;--tbank-text:#fff;--tbank-muted:#9b9ba1;--tbank-line:#323238;--bg:var(--tbank-black);--sidebar:var(--tbank-dark);--panel:var(--tbank-panel);--panel-strong:var(--tbank-panel-strong);--text:var(--tbank-text);--muted:var(--tbank-muted);--line:var(--tbank-line);--accent:var(--tbank-yellow);--accent-strong:var(--tbank-yellow-hover);--accent-on:#111;--danger:#ff5a5f;--shadow:0 18px 60px #0000006b}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:17px;line-height:1.5;overflow:hidden}button,textarea,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{grid-template-columns:var(--sidebar-width,280px) minmax(0, 1fr);background:var(--bg);grid-template-rows:1fr;height:100dvh;display:grid;overflow:hidden}.sidebar{background:linear-gradient(180deg, #141416 0%, var(--sidebar) 28%, var(--sidebar) 100%);border-right:1px solid #ffdd2d1a;flex-direction:column;grid-area:1/1;height:100dvh;min-height:0;padding:12px;font-size:14px;line-height:1.45;display:flex;position:relative;overflow:hidden}.sidebar:before{content:"";pointer-events:none;background:linear-gradient(#ffffff24 0%,#ffffff0f 55%,#0000 100%);width:2px;height:100%;position:absolute;top:0;left:0}.app-shell.sidebar-collapsed{grid-template-columns:0 1fr}.app-shell.sidebar-collapsed .sidebar{border-right:0;width:0;min-width:0;padding:0;overflow:hidden}.sidebar-header{flex:none;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.sidebar-brand{min-height:42px;color:var(--text);letter-spacing:-.02em;align-items:center;padding:0 8px;font-size:16px;font-weight:800;display:flex}.sidebar-brand .brand-accent{color:var(--accent)}.sidebar-actions{flex-direction:column;flex:none;gap:4px;margin-bottom:0;display:flex}.sidebar-action{width:100%;min-height:40px;color:var(--text);cursor:pointer;text-align:left;font-size:inherit;background:0 0;border:0;border-radius:9px;align-items:center;gap:9px;padding:0 12px;font-weight:500;display:flex}.sidebar-action:hover,.conversation-item:hover,.search-result:hover{background:var(--tbank-panel-strong)}.sidebar-action-new-chat{color:var(--text);background:#ffdd2d26;border:1px solid #ffdd2d4d;margin-bottom:2px;font-weight:600;box-shadow:0 0 14px #ffdd2d0a}.sidebar-action-new-chat:hover{background:#ffdd2d38;border-color:#ffdd2d61}.sidebar-action-icon-wrap{color:#c9cfd8;background:#ffffff14;border-radius:8px;flex:none;place-items:center;width:28px;height:28px;display:grid}.sidebar-divider{background:linear-gradient(90deg,#ffffff29,#ffffff0f 55%,#0000);height:1px;margin:8px 0 10px}.sidebar-divider-scroll{margin-top:10px}.sidebar-inline-action{width:100%;min-height:34px;color:var(--muted);font-size:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;margin-bottom:4px;padding:0 10px;font-weight:500;display:flex}.sidebar-inline-action:hover{color:var(--text);background:#ffffff12}.sidebar-inline-action svg{color:var(--muted)}.sidebar-section-block{margin-bottom:4px}.project-folder-list{flex-direction:column;gap:2px;display:flex}.project-folder{background:var(--tbank-panel);border:1px solid #ffffff14;border-radius:12px}.project-folder.is-expanded{background:var(--tbank-panel);border-color:#ffffff1f}.project-folder.is-drop-target{background:#ffffff0a;outline:1px dashed #ffffff38}.project-folder-header{align-items:center;gap:2px;min-height:38px;display:flex}.project-folder-open{min-width:0;min-height:38px;color:var(--text);font:inherit;font-size:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;flex:1;align-items:center;gap:6px;padding:0 10px;font-weight:600;display:flex}.project-folder-open span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-folder-open:hover{background:#ffffff0f}.project-folder-rename-input{min-width:0;height:28px;color:var(--text);background:var(--tbank-panel-strong);font-size:inherit;border:1px solid #ffffff3d;border-radius:7px;outline:none;flex:1;padding:0 8px;box-shadow:0 0 0 1px #ffffff0a}.project-folder-rename-input:focus{border-color:#ffdd2d80;box-shadow:0 0 0 2px #ffdd2d1f}.sidebar-inline-create-project{padding:0 2px 8px}.sidebar-create-project-input{width:100%}.project-folder-icon{color:var(--accent);filter:none;flex:none;align-items:center;display:flex}.project-folder-menu-wrap{flex:none;position:relative}.project-folder-menu-button{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.project-folder-menu-button:hover{color:var(--accent);background:#ffdd2d1a}.project-folder-menu{z-index:6;background:var(--tbank-panel-strong);min-width:160px;box-shadow:var(--shadow);border:1px solid #ffdd2d2e;border-radius:12px;padding:4px;position:absolute;top:calc(100% + 4px);right:0}.project-folder-menu button{width:100%;min-height:34px;color:var(--text);font-size:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 10px;font-weight:500}.project-folder-menu button:hover{background:#ffdd2d1a}.project-folder-menu button.danger{color:#ff8a8a}.project-folder-chats{grid-template-rows:0fr;transition:grid-template-rows .22s;display:grid}.project-folder.is-expanded .project-folder-chats{grid-template-rows:1fr}.project-folder-chats-inner{padding-bottom:4px;overflow:hidden}.project-folder-resources{align-items:center;gap:6px;margin:4px 0 8px 18px;padding:0 4px;display:flex}.project-folder-resource-icon{color:#c9cfd8;cursor:pointer;background:#00000047;border:1px solid #ffffff1f;border-radius:10px;place-items:center;width:34px;height:34px;transition:border-color .15s,background .15s,color .15s;display:grid}.project-folder-resource-icon:hover{color:var(--text);background:#ffffff14;border-color:#ffffff3d}.project-folder .conversation-item.nested{color:#cbd1da;width:calc(100% - 18px);min-height:32px;margin-left:18px;padding:7px 12px 7px 18px;font-size:12.5px}.project-folder-empty{color:var(--muted);font-size:inherit;margin:0 0 4px 34px;padding:4px 0 8px;font-weight:500}.conversation-list.is-drop-target{background:#ffdd2d1a;border-radius:9px;outline:1px dashed #ffdd2d73}.conversation-item.is-dragging{opacity:.45}.conversation-item.long-press-flash{animation:.22s ease-out conversation-long-press-flash}@keyframes conversation-long-press-flash{0%{background:var(--tbank-panel-strong);transform:scale(1)}35%{background:#ffdd2d38;transform:scale(.98);box-shadow:inset 0 0 0 1px #ffdd2d59}to{background:0 0;transform:scale(1)}}.conversation-item{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;display:block;position:relative}.search-clear{width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;place-items:center;display:grid}.search-clear:hover{color:var(--text);background:#242424}.search-result-type{color:#8f8f8f;letter-spacing:.02em;text-transform:uppercase;margin-bottom:2px;font-size:11px;display:block}.search-result strong{font-size:inherit;color:var(--text);font-weight:600}.drop-overlay{z-index:12;pointer-events:none;background:#0000008c;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.drop-overlay-card{color:var(--text);background:#202020eb;border:1px dashed #4a4a4a;border-radius:14px;padding:18px 22px;font-size:15px}.project-view{width:min(760px,100%);margin:0 auto;padding:24px 0 40px}.project-view-header h1{margin:0 0 8px;font-size:28px}.project-view-header p{color:var(--muted);margin:0}.project-section{margin-top:28px}.project-section h2{color:var(--muted);letter-spacing:.03em;text-transform:uppercase;margin:0 0 10px;font-size:13px;font-weight:600}.project-item-list{flex-direction:column;gap:6px;display:flex}.project-item{width:100%;color:var(--text);text-align:left;cursor:pointer;background:#202020;border:0;border-radius:10px;padding:12px 14px}.project-item.static{cursor:default}.project-item:not(.static):hover{background:#262626}.project-empty{color:var(--muted);margin:0;font-size:14px}.sidebar-close{flex:none}.sidebar-close-desktop,.sidebar-close-mobile{place-items:center;display:grid}.sidebar-close-mobile{display:none}.sidebar-reopen{z-index:20;width:44px;height:44px;color:var(--text);cursor:pointer;background:#202020;border:0;border-radius:999px;place-items:center;display:grid;position:fixed;top:12px;left:12px}.sidebar-fixed{z-index:2;background:var(--sidebar);flex:none;padding-bottom:2px;position:sticky;top:0}.sidebar-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;flex:auto;min-height:0;padding-bottom:8px;overflow-y:auto}.sidebar-footer{border-top:1px solid #ffdd2d24;flex:none;margin-top:auto;padding-top:10px;position:relative}.sidebar-user-profile{width:100%;color:var(--text);cursor:pointer;text-align:left;background:#1a1a1deb;border:1px solid #ffdd2d38;border-radius:14px;align-items:flex-start;gap:10px;padding:10px 11px;transition:border-color .15s,box-shadow .15s,background .15s,transform .15s;display:flex;box-shadow:0 6px 18px #00000047}.sidebar-user-profile:hover{background:#222226fa;border-color:#ffdd2d7a;box-shadow:0 8px 22px #00000052,0 0 18px #ffdd2d14}.sidebar-user-profile:active{transform:translateY(1px)}.sidebar-user-avatar{object-fit:cover;border:1px solid #ffdd2d47;border-radius:999px;flex-shrink:0;width:36px;height:36px}.sidebar-user-avatar-fallback{background:var(--tbank-yellow);color:var(--accent-on);place-items:center;font-size:15px;font-weight:800;display:grid;box-shadow:0 0 14px #ffdd2d38}.sidebar-user-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.sidebar-user-name{color:var(--text);cursor:text;-webkit-user-select:none;user-select:none;font-size:13px;font-weight:700;line-height:1.2}.sidebar-user-name-input{width:100%;color:var(--text);box-shadow:none;background:0 0;border:none;border-bottom:1px solid #ffdd2d8c;border-radius:0;outline:none;margin:0;padding:0 0 1px;font-size:13px;font-weight:700;line-height:1.2}.sidebar-user-name-input:focus{border-bottom-color:#ffdd2de6}.sidebar-user-tagline{color:var(--muted);font-size:11px;line-height:1.25}.sidebar-user-stats{color:var(--muted);margin-top:2px;font-size:10px;line-height:1.35}.sidebar-user-stats-secondary{margin-top:0}.sidebar-user-stat-value{color:var(--accent);font-weight:600}.sidebar-user-menu{z-index:20;background:#1a1a1dfa;border:1px solid #ffdd2d3d;border-radius:12px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;bottom:calc(100% + 8px);left:0;right:0;box-shadow:0 12px 28px #0000006b,0 0 0 1px #ffdd2d0f}.sidebar-user-menu-item{width:100%;min-height:34px;color:var(--text);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:0 10px;font-size:12px;font-weight:500;display:flex}.sidebar-user-menu-item svg{color:var(--accent);flex-shrink:0}.sidebar-user-menu-item:hover{background:var(--tbank-yellow-soft)}.sidebar-user-menu-item-muted{color:var(--muted)}.sidebar-resize-handle{z-index:3;color:#0000;cursor:col-resize;place-items:center;width:10px;height:100%;display:grid;position:absolute;top:0;right:-5px}.sidebar-resize-handle:hover,.sidebar-resize-handle:active{color:var(--muted);background:#ffffff0a}.search-box{border:1px solid var(--line);min-height:40px;color:var(--muted);background:var(--tbank-panel);font-size:inherit;border-radius:10px;align-items:center;gap:8px;margin-bottom:12px;padding:0 10px;font-weight:500;transition:border-color .2s,box-shadow .2s;display:flex}.search-box:focus-within{border-color:#ffdd2d59;box-shadow:0 0 0 1px #ffdd2d1a}.search-box:focus-within svg{color:var(--accent)}.search-box input{width:100%;color:var(--text);font-size:inherit;font-weight:inherit;background:0 0;border:0;outline:0}.search-box input::placeholder{color:var(--muted)}.conversation-list,.search-results{flex-direction:column;gap:4px;display:flex}.sidebar-section-toggle{width:100%;min-height:36px;color:var(--muted);font-size:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:6px;margin:6px 0 4px;padding:0 8px;font-weight:600;display:flex}.sidebar-section-toggle svg{color:#aeb5c0}.sidebar-section-toggle:hover{color:var(--text);background:#ffffff12}.sidebar-section-toggle:hover .sidebar-section-count{color:var(--text);opacity:.82}.sidebar-section-header{align-items:center;gap:4px;margin:6px 0 4px;padding:0 4px;display:flex}.sidebar-section-toggle-main{flex:1;min-width:0;margin:0}.sidebar-section-label{align-items:baseline;gap:4px;min-width:0;display:inline-flex}.sidebar-section-count{color:var(--muted);opacity:.72;font-size:11px;font-weight:500}.projects-expand-all-button{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #ffffff2e;border-radius:8px;flex-shrink:0;place-items:center;transition:color .15s,border-color .15s,background .15s,box-shadow .15s;display:grid}.projects-expand-all-button svg{color:#aeb5c0}.projects-expand-all-button:hover{color:var(--text);box-shadow:none;background:#ffffff14;border-color:#ffffff52}.conversation-item,.search-result{width:100%;color:var(--text);text-align:left;cursor:pointer;font-size:inherit;background:0 0;border:0;border-radius:9px;padding:10px 12px;font-weight:500}.search-result-compact{align-items:center;gap:10px;padding:9px 10px;display:flex}.search-result-icon{text-align:center;flex-shrink:0;width:1.25rem;font-size:1rem;line-height:1}.search-result-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.conversation-item span,.search-result-type,.search-result strong,.search-result span:not(.search-result-icon):not(.search-result-label){text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.search-result-meta{color:var(--text-muted);font-size:.82rem;font-weight:400}.search-result-match{color:#ffdd2de0;font-size:.82rem;font-weight:400}.conversation-item.active{box-shadow:inset 3px 0 0 var(--accent), 0 0 0 1px #ffdd2d38;background:#ffdd2d1f}.sidebar-section-title{color:var(--muted);font-size:inherit;margin:14px 8px 4px;font-weight:600}.sidebar-search-title{margin-top:10px}.search-results-empty{color:var(--muted);font-size:inherit;margin:8px 8px 0;font-weight:500}.sidebar-empty{color:var(--muted);font-size:inherit;margin:6px 12px 0;font-weight:500}.chat-shell{isolation:isolate;grid-area:1/2;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;height:100dvh;min-height:0;display:grid;position:relative;overflow:hidden}.obsidian-bg{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.chat-shell>:not(.obsidian-bg){z-index:1;position:relative}.chat-context-menu{z-index:60;min-width:180px;box-shadow:var(--shadow);background:#1a1a1a;border:1px solid #2f2f2f;border-radius:10px;padding:4px;position:fixed}.chat-context-menu button{width:100%;min-height:36px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:0 10px;font-size:13px;display:flex}.chat-context-menu button svg{color:#c6ccd6}.chat-context-menu button:hover{background:#ffffff14}.chat-context-menu button.danger,.chat-context-menu button.danger svg{color:#ff8a8a}.sidebar-backdrop{display:none}.chat-shell.empty,.chat-shell.empty.has-active-chat{grid-template-rows:auto minmax(0,1fr) auto}.chat-share-button{background:var(--tbank-panel);width:36px;height:36px;color:var(--muted);cursor:pointer;border:1px solid #ffdd2d38;border-radius:12px;place-items:center;transition:border-color .15s,color .15s,background .15s,box-shadow .15s;display:grid}.chat-share-button:disabled{opacity:.38;cursor:not-allowed}.top-bar-actions{flex:none;align-items:center;gap:8px;min-width:0;display:flex;position:static;overflow:visible}.chat-model-select-wrap{background:var(--tbank-panel);border:1px solid #ffdd2d38;border-radius:12px;align-items:center;gap:8px;min-height:36px;padding:0 10px;display:inline-flex}.chat-model-select-label{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:600}.chat-model-select{background-color:var(--panel);min-height:30px;color:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:inherit;cursor:pointer;border:0;outline:none;font-size:13px;font-weight:600}.chat-model-select option{background-color:var(--panel);color:var(--text)}.chat-share-button:hover:not(:disabled){color:var(--accent);background:#ffdd2d1a;border-color:#ffdd2d94;box-shadow:0 0 14px #ffdd2d1a}.chat-pin-button.is-pinned,.chat-voice-review-toggle.is-active{border-color:var(--accent);color:var(--accent-on);background:var(--accent);box-shadow:0 0 16px #ffdd2d38}.chat-pin-button.is-pinned:hover:not(:disabled),.chat-voice-review-toggle.is-active:hover:not(:disabled){border-color:var(--accent-strong);background:var(--accent-strong);color:var(--accent-on)}.conversation-item-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding-right:0;display:block;overflow:hidden}.conversation-item.is-pinned{padding-right:28px}.conversation-item.is-pinned .conversation-item-title{padding-right:2px}.conversation-pin-icon{color:var(--accent);opacity:.72;pointer-events:none;flex-shrink:0;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.chat-shell.has-active-chat .top-bar,.chat-shell.with-messages .top-bar{padding-right:clamp(16px,4vw,32px)}.top-bar{z-index:5;min-width:0;min-height:70px;padding:max(12px, env(safe-area-inset-top)) clamp(16px, 4vw, 32px) 14px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);isolation:isolate;background:#000000b8;border-bottom:1px solid #0000;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid;position:sticky;top:0}.brand{align-items:center;gap:10px;min-width:0;display:flex;overflow:hidden}.mobile-menu-button{flex-shrink:0;display:none}.brand-title{flex-direction:column;gap:1px;min-width:0;display:flex}.brand-title span:empty{display:none}.brand-title strong{letter-spacing:-.02em;font-size:16px;line-height:1.2}.brand-title strong .brand-accent{color:var(--accent)}.brand-title span,.status{color:var(--muted);font-size:13px;line-height:1.2}.chat-title-label{text-overflow:ellipsis;white-space:nowrap;cursor:text;border-radius:4px;max-width:min(42vw,320px);margin:-1px -2px;padding:1px 2px;transition:color .15s,background .15s;display:block;overflow:hidden}.chat-title-label:hover{color:var(--text);background:#ffffff14}.chat-title-rename-input{width:min(42vw,320px);max-width:100%;color:var(--text);font:inherit;background:#1a1a1df5;border:1px solid #ffffff3d;border-radius:6px;outline:none;margin:-1px -6px;padding:1px 6px;font-size:12px;line-height:1.2;display:block;box-shadow:0 0 0 2px #ffffff0d}.chat-title-rename-input:focus{border-color:#ffdd2d80;box-shadow:0 0 0 2px #ffdd2d1f}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(860px,100vw - 32px);margin:20px auto 0;display:grid}.quick-action-card{min-height:52px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:#ffffff08;border:1px solid #ffffff24;border-radius:14px;padding:0 14px;font-size:14px;font-weight:500;transition:border-color .15s,background .15s}.quick-action-card:hover{background:#ffffff14;border-color:#ffffff47}.messages-pull-host,.sidebar-scroll-host{flex-direction:column;min-height:0;display:flex;position:relative;overflow:hidden}.messages-pull-host{grid-row:2;min-width:0}.sidebar-scroll-host{flex:auto}.pull-to-refresh-indicator{pointer-events:none;flex:none;justify-content:center;align-items:flex-end;transition:height .18s,opacity .18s;display:flex;overflow:hidden}.pull-to-refresh-indicator-inner{color:var(--muted);align-items:center;gap:8px;padding-bottom:6px;font-size:12px;font-weight:600;display:inline-flex}.pull-to-refresh-spinner{color:var(--accent)}.pull-to-refresh-spinner.is-spinning{animation:.8s linear infinite pull-refresh-spin}@keyframes pull-refresh-spin{to{transform:rotate(360deg)}}.messages.is-pulling,.sidebar-scroll.is-pulling{transform:translateY(var(--pull-offset,0))}.messages.is-pulling:not(.is-refreshing),.sidebar-scroll.is-pulling:not(.is-refreshing){transition:none}.messages.is-refreshing,.sidebar-scroll.is-refreshing{transition:transform .22s}.messages{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;flex:auto;width:min(880px,100%);min-height:0;margin:0 auto;padding:28px 20px 22px;overflow-y:auto}.messages.empty{-webkit-overflow-scrolling:touch;width:100%;padding:0 20px;overflow-y:auto}.empty-state{text-align:center;height:100%;color:var(--muted);place-items:center;padding:28px 20px;display:grid}.empty-state h1{color:var(--text);letter-spacing:-.03em;margin:0;font-size:clamp(24px,4vw,34px);font-weight:700;line-height:1.08}.empty-state h1 .brand-accent{color:var(--accent)}.history-loading-state{gap:12px}.history-loading-state p{margin:0}.history-loading-spinner{color:var(--accent)}.history-retry-button{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;margin-top:4px;padding:10px 16px}.history-retry-button:hover{background:var(--surface-hover,#ffffff0f)}.welcome-rotating-text-wrap{justify-content:center;align-items:center;width:min(720px,100%);min-height:clamp(78px,12vw,110px);padding:0 8px;display:flex}.welcome-rotating-text{color:var(--text);letter-spacing:-.03em;opacity:0;filter:blur(6px);max-width:min(540px,92vw);margin:0;font-size:clamp(24px,4vw,34px);font-weight:700;line-height:1.08;transition:opacity .52s,transform .52s,filter .52s;transform:translateY(10px)}.welcome-rotating-text.is-visible{opacity:1;filter:blur();transform:translateY(0)}.welcome-rotating-text.is-hidden{opacity:0;filter:blur(4px);transform:translateY(-8px)}.welcome-rotating-text .brand-accent{color:var(--accent)}@media (prefers-reduced-motion:reduce){.welcome-rotating-text{filter:none;transition:opacity .2s}.welcome-rotating-text.is-hidden{filter:none;transform:none}}@media (hover:none) and (pointer:coarse){.welcome-rotating-text{transition:opacity .52s,transform .52s;filter:none!important}.welcome-rotating-text.is-hidden{filter:none!important}}.message-row{align-items:flex-start;gap:14px;padding:22px 0;display:flex}.message-row.user{justify-content:flex-end}.message-stack{flex-direction:column;align-items:flex-end;gap:4px;min-width:0;max-width:min(820px,88vw);display:flex}.message-stack-user .message-actions-user{margin-top:0}.message-row.has-attachments .bubble{min-width:min(380px,88vw)}.avatar{flex:none;place-items:center;font-size:12px;font-weight:800;display:grid;position:relative}.avatar-assistant,.avatar-user{color:#ffdd2de0;background:linear-gradient(145deg,#1f1a00 0%,#141414 100%);border:1.5px solid #ffdd2d73;border-radius:8px;width:30px;height:30px;box-shadow:0 0 12px #ffdd2d24}.bubble{white-space:pre-wrap;overflow-wrap:anywhere;max-width:min(820px,88vw);font-size:16px;line-height:1.6}.user .bubble{box-shadow:none;background:linear-gradient(145deg,#222018 0%,#1a1a1d 100%);border:1px solid #ffdd2d24;border-radius:12px;padding:12px 14px}.message-stack-user .bubble{max-width:100%}.assistant .bubble{padding-top:2px}.bubble strong{color:var(--text);font-weight:700}.message-paste-block-wrap{margin:10px 0 0;position:relative}.message-paste-block-wrap:first-child{margin-top:4px}.message-paste-block{box-shadow:none;color:var(--text);white-space:pre-wrap;word-break:break-word;background:#ffffff09;border:1px solid #ffffff14;border-radius:10px;margin:0;padding:12px 48px 12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:14px;line-height:1.5;overflow-x:auto}.message-paste-block code{font:inherit;color:inherit;background:0 0}.message-paste-copy-button{opacity:0;pointer-events:none;transition:opacity .15s;position:absolute;top:8px;right:8px}.message-paste-block-wrap:hover .message-paste-copy-button,.message-paste-block-wrap:focus-within .message-paste-copy-button{opacity:1;pointer-events:auto}@media (hover:none){.message-paste-copy-button{opacity:1;pointer-events:auto}}.message-inline-code{color:var(--text);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;padding:.12em .38em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:.92em}.message-link-row{vertical-align:baseline;align-items:center;gap:4px;max-width:100%;display:inline-flex}.message-link{color:var(--accent);text-underline-offset:2px;overflow-wrap:anywhere;word-break:break-word;-webkit-user-select:text;user-select:text;text-decoration:underline}.message-link-copy-button{width:28px;height:28px;color:var(--muted);cursor:pointer;vertical-align:middle;touch-action:manipulation;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:8px;flex:none;place-items:center;display:inline-grid}.message-link-copy-button:hover,.message-link-copy-button.is-copied{color:var(--text);background:#ffdd2d14;border-color:#ffdd2d73}.message-actions{opacity:0;pointer-events:none;align-items:center;gap:6px;margin-top:10px;transition:opacity .15s;display:flex}.message-row.assistant:hover .message-actions,.message-row.assistant:focus-within .message-actions,.message-row.user:hover .message-actions,.message-row.user:focus-within .message-actions,.message-actions:focus-within{opacity:1;pointer-events:auto}.message-actions-user{justify-content:flex-end}.message-actions-user .message-action-button{width:auto;min-width:0;height:auto;min-height:0;box-shadow:none;color:var(--muted);background:0 0;border:0;border-radius:0;padding:2px 4px}.message-actions-user .message-action-button:hover{color:var(--text);box-shadow:none;background:0 0;border:0}.message-actions-user .message-action-button:focus-visible{color:var(--accent);outline:none}.message-reply-quote{background:#ffffff0a;border-left:2px solid #ffdd2d8c;border-radius:8px;margin-bottom:10px;padding:8px 10px}.message-reply-quote-label{color:var(--accent);margin-bottom:4px;font-size:12px;font-weight:600;line-height:1.2;display:block}.message-reply-quote-text{color:var(--muted);white-space:pre-wrap;margin:0;font-size:13px;line-height:1.35}.composer-reply-banner{background:#ffdd2d0f;border:1px solid #ffdd2d3d;border-radius:14px;align-items:flex-start;gap:10px;width:min(860px,100vw - 32px);margin:0 auto 8px;padding:10px 12px;display:flex}.composer-reply-banner-body{flex:1;min-width:0}.composer-reply-banner-label{color:var(--accent);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.composer-reply-banner-text{color:var(--text);margin:0;font-size:13px;line-height:1.35}.composer-reply-banner-close{width:32px;height:32px;color:var(--muted);cursor:pointer;background:#ffffff0d;border:0;border-radius:999px;flex-shrink:0;place-items:center;display:grid}.composer-reply-banner-close:hover{color:var(--text);background:#ffffff1a}.message-copy-button,.message-action-button{width:32px;height:32px;color:var(--muted);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#ffffff0a;border:1px solid #ffdd2d38;border-radius:8px;place-items:center;transition:color .15s,border-color .15s,background .15s,box-shadow .15s;display:grid}.message-copy-button:hover,.message-action-button:hover{color:var(--text);background:var(--tbank-yellow-soft);border-color:#ffdd2d73}.message-copy-button.is-copied,.message-action-button.is-copied{color:var(--accent-on);background:var(--accent);border-color:#ffdd2d8c}.composer-wrap{z-index:10;padding:8px 10px calc(env(safe-area-inset-bottom));background:linear-gradient(180deg, #0000, var(--bg) 24%);position:relative}.scroll-to-bottom-button{z-index:12;width:40px;height:40px;color:var(--text);cursor:pointer;opacity:0;pointer-events:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#1a1a1df5;border:1px solid #ffdd2d52;border-radius:999px;place-items:center;transition:opacity .22s,transform .22s,border-color .15s,box-shadow .15s,background .15s;display:grid;position:absolute;bottom:calc(100% + 14px);left:50%;transform:translate(-50%)translateY(10px)scale(.94);box-shadow:0 8px 24px #0000006b,0 0 0 1px #ffdd2d14}.scroll-to-bottom-button.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)scale(1)}.scroll-to-bottom-button:hover{box-shadow:0 10px 28px #0000007a, 0 0 18px var(--tbank-yellow-glow);background:#222226fa;border-color:#ffdd2d8c}.scroll-to-bottom-button:active{transform:translate(-50%)translateY(1px)scale(.98)}.composer-wrap.empty{background:0 0;padding-bottom:0}.memory-hint{width:min(760px,100vw - 32px);color:var(--muted);text-align:right;opacity:.86;width:min(760px,100vw - 32px);text-align:right;opacity:.86;margin:0 auto 10px;font-size:12px}.composer{border:1px solid var(--line);background:var(--panel);width:min(860px,100vw - 32px);box-shadow:var(--shadow);border-radius:22px;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:10px;margin:0 auto;padding:10px;transition:border-color .2s,box-shadow .2s;display:grid}.composer.is-recording{box-shadow:0 0 0 1px #ff5a5f24, var(--shadow);border-color:#ff5a5f73}.composer.is-transcribing{box-shadow:0 0 0 1px #ffdd2d1f, var(--shadow);border-color:#ffdd2d6b}.composer.has-voice-error{border-color:#ff5a5f61}.composer-actions{flex-shrink:0;align-items:end;gap:6px;display:flex}.composer-side-action{align-self:end}.composer-mic-button{width:44px;height:44px;color:var(--text);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#ffdd2d1a;border:1px solid #ffdd2d47;border-radius:999px;place-items:center;transition:color .15s,border-color .15s,background .15s,box-shadow .15s,transform .15s;display:grid;box-shadow:0 0 #ffdd2d00}.composer-mic-button:hover:not(:disabled){color:var(--accent-on);background:var(--accent);box-shadow:0 0 18px var(--tbank-yellow-glow);border-color:#ffdd2d9e}.composer-mic-button:active:not(:disabled){transform:scale(.96)}.composer-mic-button.is-recording,.composer-mic-button.is-recording:disabled{color:#fff;opacity:1;cursor:default;background:#ff5a5f38;border-color:#ff5a5fb8;animation:1.2s ease-in-out infinite mic-recording-pulse;box-shadow:0 0 #ff5a5f8c}.composer-mic-button.is-transcribing,.composer-mic-button.is-transcribing:disabled{color:var(--accent);opacity:1;cursor:wait;background:#ffdd2d24;border-color:#ffdd2d8c}.composer-mic-button.has-error:not(.is-recording):not(.is-transcribing){color:#ffb4b7;background:#ff5a5f1f;border-color:#ff5a5f8c}.composer-mic-button:disabled:not(.is-recording):not(.is-transcribing){opacity:.55;cursor:not-allowed}.composer-mic-spinner{animation:.8s linear infinite pull-refresh-spin}.composer-send-button{flex-shrink:0}@keyframes mic-recording-pulse{0%,to{box-shadow:0 0 #ff5a5f73}70%{box-shadow:0 0 0 10px #ff5a5f00}}.composer:focus-within{box-shadow:0 0 0 1px #ffdd2d1f, var(--shadow);border-color:#ffdd2d59}.file-input{display:none}.file-attach-label.disabled{opacity:.45;pointer-events:none}.composer textarea,.composer-textarea{resize:none;width:100%;min-height:48px;max-height:220px;color:var(--text);-webkit-user-select:text;user-select:text;background:0 0;border:0;outline:0;min-width:0;padding:12px 8px;font-size:17px;line-height:1.45;overflow-y:hidden}.composer textarea::placeholder,.composer-textarea::placeholder{color:#9a9a9a}.search-navigation{width:min(760px,100vw - 32px);min-height:34px;color:var(--muted);justify-content:center;align-items:center;gap:8px;margin:0 auto 8px;font-size:12px;display:flex}.search-navigation span{min-width:42px;color:var(--text);text-align:center}.search-navigation button{border:1px solid var(--line);min-height:30px;color:var(--text);cursor:pointer;background:#171717;border-radius:999px;padding:0 10px}.search-navigation button:hover{background:#242424}.search-highlight{color:var(--accent-on);background:var(--accent);border-radius:3px;padding:0 2px}.search-highlight.active{color:var(--accent-on);background:var(--accent-strong);box-shadow:0 0 0 2px var(--tbank-yellow-glow)}.icon-button,.mobile-menu-button,.sidebar-close{width:48px;height:48px;color:var(--text);background:var(--panel-strong);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:0;border-radius:999px;place-items:center;display:grid}.icon-button:hover,.mobile-menu-button:hover,.sidebar-close:hover{background:#343434}.icon-button.primary{color:var(--accent-on);background:var(--accent)}.icon-button.primary:hover{color:var(--accent-on);background:var(--accent-strong)}.icon-button.composer-tool,.icon-button.stop-generation,.icon-button.cancel-action{color:var(--accent);background:var(--tbank-panel-strong);box-shadow:0 0 14px var(--tbank-yellow-glow);border:1px solid #ffdd2d73}.icon-button.composer-tool:hover,.icon-button.stop-generation:hover,.icon-button.cancel-action:hover{color:var(--accent-on);background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 2px var(--tbank-yellow-glow)}.composer-mic-button:focus-visible,.message-copy-button:focus-visible,.message-action-button:focus-visible{outline-offset:2px;outline:2px solid #ffdd2d8c}.icon-button:disabled{cursor:not-allowed;opacity:.5}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.composer-note{width:min(880px,100%);min-height:18px;color:var(--muted);text-align:center;margin:6px auto 0;font-size:13px}.thinking-shimmer{color:#0000;background:linear-gradient(90deg,#737373 0% 32%,#ececec 50%,#737373 68% 100%) 0 0/300% 100%;-webkit-background-clip:text;background-clip:text;animation:2.4s cubic-bezier(.4,0,.6,1) .2s infinite thinking-shimmer;display:inline-block}.thinking-row,.thinking-compact{opacity:0;transition:opacity .45s cubic-bezier(.4,0,.2,1),transform .45s cubic-bezier(.4,0,.2,1);transform:translateY(6px)}.thinking-row.is-visible,.thinking-compact.is-visible{opacity:1;transform:translateY(0)}.thinking-row.is-hidden,.thinking-compact.is-hidden{opacity:0;transform:translateY(4px)}.thinking-row .bubble{padding-top:2px}.thinking-compact{text-align:center;width:min(880px,100%);margin:0 auto 8px;font-size:13px;line-height:1.4}@keyframes thinking-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.recording-pill,.voice-pending-banner,.attachments{width:min(760px,100vw - 32px);margin:0 auto 8px}.recording-pill{color:#fff;background:#1a1a1deb;border:1px solid #ffdd2d38;border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.recording-label{font-weight:600}.recording-timer{font-variant-numeric:tabular-nums;min-width:42px;color:var(--accent);font-weight:700}.recording-size{font-variant-numeric:tabular-nums;color:var(--muted);font-size:12px;font-weight:600}.recording-size-hint{color:#ffdd2de0;font-size:11px;font-weight:600}.recording-size-hint.is-critical{color:#ffb4b7}.recording-pill-size-near{border-color:#ffdd2d6b}.recording-pill-size-critical,.recording-pill-size-over{background:#ff5a5f14;border-color:#ff5a5f8c}.recording-pill-size-critical .recording-size,.recording-pill-size-over .recording-size{color:#ffb4b7}.voice-pending-banner{background:#1a1a1df5;border:1px solid #ffdd2d3d;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:12px;width:min(760px,100vw - 32px);margin:0 auto 8px;padding:10px 12px;display:flex;box-shadow:0 8px 24px #00000047}.voice-pending-main{align-items:flex-start;gap:10px;min-width:0;display:flex}.voice-pending-main svg{color:var(--accent);flex-shrink:0;margin-top:2px}.voice-pending-copy{min-width:0;color:var(--muted);flex-direction:column;gap:3px;font-size:12px;display:flex}.voice-pending-copy strong{color:var(--text);font-size:13px;font-weight:600}.voice-pending-error{color:#ff8a8e;line-height:1.35}.voice-pending-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.voice-pending-button{min-height:32px;color:var(--text);cursor:pointer;background:0 0;border:1px solid #ffdd2d47;border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.voice-pending-button:hover:not(:disabled){background:var(--tbank-yellow-soft);border-color:#ffdd2d8c}.voice-pending-button:disabled{opacity:.55;cursor:not-allowed}.voice-pending-button-danger{color:#ffb4b7;border-color:#ff5a5f59}.voice-pending-button-danger:hover:not(:disabled){background:#ff5a5f1f;border-color:#ff5a5f8c}.recording-dot{background:var(--danger);border-radius:999px;width:8px;height:8px;animation:1.2s ease-in-out infinite pulse;box-shadow:0 0 #b42318b8}.recording-bars{align-items:center;gap:3px;height:18px;display:inline-flex}.recording-bars span{background:var(--accent);border-radius:999px;width:3px;height:8px;animation:.9s ease-in-out infinite bars}.recording-bars span:nth-child(2){animation-delay:.12s}.recording-bars span:nth-child(3){animation-delay:.24s}.recording-bars span:nth-child(4){animation-delay:.36s}.attachments{flex-wrap:wrap;gap:8px;display:flex}.attachment-card{border:1px solid var(--line);width:min(320px,100%);min-height:56px;color:var(--text);background:#171717;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:8px 8px 8px 10px;display:grid;position:relative}.attachment-card.ready{border-color:#10a25f73}.attachment-card.error{border-color:#b423189e}.attachment-file-icon{color:#d6d6d6;background:#2b2b2b;border-radius:8px;place-items:center;width:36px;height:36px;display:grid}.attachment-image-preview{background:#2b2b2b;border-radius:8px;flex-shrink:0;width:44px;height:44px;overflow:hidden}.attachment-image-preview img{object-fit:cover;width:100%;height:100%;display:block}.attachment-card.has-image-preview{grid-template-columns:auto minmax(0,1fr) auto auto}.attachment-meta{min-width:0}.attachment-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;line-height:1.25;overflow:hidden}.attachment-status{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;line-height:1.25;overflow:hidden}.attachment-card.ready .attachment-status,.attachment-card.ready .attachment-indicator{color:var(--accent)}.attachment-card.error .attachment-status,.attachment-card.error .attachment-indicator{color:#ff8a7a}.attachment-indicator{width:22px;height:22px;color:var(--muted);place-items:center;display:grid}.attachment-remove{width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;display:grid}.attachment-remove:hover{color:var(--text);background:#2a2a2a}.generated-image{border-radius:8px;width:min(420px,100%);margin-top:12px;display:block}.message-attachments{flex-direction:column;gap:8px;margin-top:10px;display:flex}.message-attachment-row{align-items:stretch;gap:8px;width:min(360px,100%);display:flex}.message-attachment-download{width:42px;color:var(--accent);cursor:pointer;background:#ffdd2d0f;border:1px solid #ffdd2d38;border-radius:10px;flex:none;place-items:center;display:grid}.message-attachment-download:hover{background:#ffdd2d1f;border-color:#ffdd2d73}.message-image-attachment{border:1px solid var(--line);min-width:0;color:var(--text);cursor:pointer;text-align:left;background:#171717;border-radius:10px;flex:1;padding:0;overflow:hidden}.message-image-attachment img,.message-image-attachment-img{object-fit:cover;background:#101010;width:100%;height:180px;display:block}.message-image-attachment-fallback{width:100%;height:180px;color:var(--muted);background:#101010;place-items:center;display:grid}.message-image-attachment span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;padding:8px 10px;font-size:12px;display:block;overflow:hidden}.message-file-attachment{border:1px solid var(--line);width:min(360px,100%);min-width:0;min-height:58px;color:inherit;text-align:left;cursor:pointer;font:inherit;background:#171717;border-radius:10px;flex:1;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:10px;display:grid}.message-file-attachment:hover{background:#ffdd2d0f;border-color:#ffdd2d59}.authenticated-image-loading{width:100%;height:180px;color:var(--muted);background:#101010;place-items:center;display:grid}.message-file-icon{color:#d6d6d6;background:#2b2b2b;border-radius:8px;place-items:center;width:38px;height:38px;display:grid}.message-file-meta{min-width:0}.message-file-meta strong,.message-file-meta span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.message-file-meta strong{font-size:13px;line-height:1.25}.message-file-meta span{color:var(--muted);margin-top:3px;font-size:12px}.image-modal{z-index:60;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.image-modal-backdrop{background:#000000d1;border:0;position:absolute;inset:0}.image-modal-content{z-index:1;width:min(980px,94vw);max-height:92dvh;color:var(--muted);font-size:13px;position:relative}.image-modal-toolbar{justify-content:flex-end;align-items:center;gap:8px;margin-bottom:10px;display:flex}.image-modal-download{min-height:38px;color:var(--text);cursor:pointer;font:inherit;background:#ffdd2d1a;border:1px solid #ffdd2d47;border-radius:10px;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.image-modal-download:hover{background:#ffdd2d29;border-color:#ffdd2d80}.image-modal-preview{place-items:center;min-height:240px;display:grid}.image-modal-loading,.image-modal-error{min-height:240px;color:var(--muted);text-align:center;border:1px dashed #ffffff29;border-radius:12px;place-items:center;gap:10px;padding:24px;display:grid}.image-modal-error button{min-height:36px;color:var(--text);cursor:pointer;font:inherit;background:#ffdd2d1a;border:1px solid #ffdd2d47;border-radius:10px;padding:0 14px}.image-modal-preview img{object-fit:contain;border-radius:10px;max-width:100%;max-height:78dvh;display:block}.image-modal-caption{text-overflow:ellipsis;white-space:nowrap;margin-top:8px;overflow:hidden}.image-modal-close{width:38px;height:38px;color:var(--text);cursor:pointer;background:#00000073;border:1px solid #ffffff29;border-radius:10px;place-items:center;display:grid;position:static}.telegram-link-overlay{z-index:70;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.telegram-link-backdrop{cursor:pointer;background:#000000b8;border:0;position:absolute;inset:0}.telegram-link-dialog{z-index:1;background:var(--panel);border:1px solid #ffffff1f;border-radius:14px;width:min(440px,94vw);padding:20px;position:relative;box-shadow:0 24px 64px #00000073}.telegram-link-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.telegram-link-header h2{margin:0;font-size:18px;font-weight:600}.telegram-link-close{width:34px;height:34px;color:var(--text);cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:10px;place-items:center;display:grid}.telegram-link-body,.telegram-link-empty{gap:12px;display:grid}.telegram-link-empty{color:var(--muted);place-items:center;padding:24px 0}.telegram-link-lead{color:var(--text);margin:0;line-height:1.45}.telegram-link-success{color:#7ee787;margin:0}.telegram-link-hint{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.telegram-link-code-box{background:#ffdd2d14;border:1px solid #ffdd2d47;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.telegram-link-code-box strong{letter-spacing:.18em;font-size:24px}.telegram-link-copy{width:36px;height:36px;color:var(--text);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:10px;place-items:center;display:grid}.telegram-link-command{color:var(--muted);gap:8px;margin:0;font-size:13px;display:grid}.telegram-link-command code{color:var(--text);background:#ffffff0f;border-radius:10px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;display:block}.telegram-link-primary{min-height:42px;color:var(--text);cursor:pointer;font:inherit;background:#ffdd2d1f;border:1px solid #ffdd2d47;border-radius:10px;padding:0 16px}.telegram-link-primary:hover:not(:disabled){background:#ffdd2d2e;border-color:#ffdd2d80}.telegram-link-primary:disabled{opacity:.65;cursor:wait}.mobile-rename-sheet{z-index:70;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.mobile-rename-sheet-backdrop{background:#0000008f;border:0;position:absolute;inset:0}.mobile-rename-sheet-panel{z-index:1;width:min(100%,480px);padding:18px 16px calc(18px + env(safe-area-inset-bottom));background:linear-gradient(#1d1d20 0%,#171719 100%);border:1px solid #ffdd2d24;border-bottom:0;border-radius:18px 18px 0 0;position:relative;box-shadow:0 -12px 40px #0000006b}.mobile-rename-sheet-panel h2{color:var(--text);margin:0 0 12px;font-size:16px;font-weight:600}.mobile-rename-sheet-input{width:100%;min-height:46px;color:var(--text);font:inherit;background:#0c0c0eeb;border:1px solid #ffdd2d59;border-radius:12px;outline:none;padding:0 14px;font-size:16px}.mobile-rename-sheet-input:focus{border-color:#ffdd2d9e;box-shadow:0 0 0 3px #ffdd2d24}.mobile-rename-sheet-actions{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.mobile-rename-sheet-actions button{min-height:40px;color:var(--text);font:inherit;cursor:pointer;background:#ffffff0f;border:0;border-radius:10px;padding:0 16px;font-size:14px}.mobile-rename-sheet-submit{font-weight:600;background:var(--accent)!important;color:#111!important}@keyframes pulse{0%{box-shadow:0 0 #b42318b8}70%{box-shadow:0 0 0 8px #b4231800}to{box-shadow:0 0 #b4231800}}@keyframes bars{0%,to{height:6px}50%{height:18px}}@media (max-width:800px){.app-shell{touch-action:manipulation;grid-template-columns:1fr}.app-shell.sidebar-collapsed{grid-template-columns:1fr}.chat-shell{z-index:10;isolation:auto;grid-area:1/1;position:relative}.composer-wrap,.top-bar,.composer{pointer-events:auto}.composer-wrap{z-index:10;position:relative}.scroll-to-bottom-button{width:44px;height:44px;bottom:calc(100% + 10px)}.chat-shell.empty{grid-template-rows:auto minmax(0,1fr) auto}.mobile-menu-button{flex-shrink:0;display:grid}.empty-state{place-items:center;min-height:min(42vh,360px);padding:14px 8px 0}.quick-actions{box-sizing:border-box;grid-template-columns:1fr;gap:10px;width:100%;max-width:100%;margin-top:14px;margin-left:auto;margin-right:auto;padding-inline:0}.quick-action-card{box-sizing:border-box;width:100%;max-width:100%;min-height:56px;font-size:15px}.memory-hint{text-align:left;width:min(520px,100vw - 24px);margin-bottom:8px}.messages.empty{flex-direction:column;flex:auto;display:flex}.welcome-rotating-text-wrap{min-height:96px}.welcome-rotating-text{font-size:clamp(22px,6.2vw,30px);transition:opacity .52s,transform .52s;filter:none!important}.welcome-rotating-text.is-hidden{transform:translateY(-6px);filter:none!important}.user .bubble{border-width:1px;border-color:#ffdd2d1f;padding:9px 11px}.message-stack{max-width:82vw}.top-bar{min-height:58px;padding:max(10px, env(safe-area-inset-top)) 12px 10px;z-index:30;grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 10px;min-width:0;display:grid;position:sticky;overflow:visible}.mobile-menu-button{grid-area:1/1/span 2;align-self:center}.sidebar-open .top-bar{z-index:60}.top-bar .brand{grid-area:1/2;align-self:center;min-width:0;overflow:hidden}.brand-title span:empty{display:none}.chat-title-label{max-width:min(62vw,220px)}.chat-shell.has-active-chat .top-bar,.chat-shell.with-messages .top-bar{padding-right:12px}.top-bar-actions{flex-wrap:wrap;grid-area:2/2;justify-self:stretch;align-items:center;gap:6px;width:100%;min-width:0;max-width:100%;display:flex;overflow:visible}.top-bar-actions::-webkit-scrollbar{display:none}.chat-model-select-wrap{background:var(--panel);flex-shrink:0;min-height:40px;padding:0 6px}.chat-model-select-label{display:none}.chat-model-select{font-size:12px}.chat-share-button{flex-shrink:0;width:38px;height:38px;position:static;top:auto;right:auto;transform:none}.app-shell:not(.sidebar-open) .sidebar{visibility:hidden!important;pointer-events:none!important;border:0!important;width:0!important;min-width:0!important;padding:0!important;display:none!important;overflow:hidden!important}.sidebar-open .sidebar{z-index:50;grid-area:1/1;max-width:86vw;position:fixed;inset:0 auto 0 0;overflow:hidden;box-shadow:12px 0 40px #0000007a;width:min(320px,86vw)!important;min-width:unset!important;visibility:visible!important;pointer-events:auto!important;border-right:1px solid #ffdd2d1a!important;padding:12px!important;display:flex!important}.sidebar-backdrop{z-index:45;cursor:pointer;touch-action:manipulation;background:#00000085;border:0;display:block;position:fixed;inset:0}.sidebar-close{display:grid}.sidebar-reopen,.sidebar-resize-handle,.sidebar-close-desktop{display:none}.sidebar-close-mobile{display:grid}.status{display:none}.messages{padding-inline:10px}.bubble{max-width:86vw;font-size:19px;line-height:1.65}.composer,.recording-pill,.voice-pending-banner,.attachments{width:calc(100vw - 12px);max-width:860px}.voice-pending-banner{flex-direction:column;align-items:stretch}.voice-pending-actions{justify-content:flex-end}.message-row.assistant .message-actions,.message-row.user .message-actions{opacity:1;pointer-events:auto}.composer{gap:8px;padding:9px}.composer-actions{gap:4px}.composer-wrap{padding:4px 6px calc(env(safe-area-inset-bottom))}.composer-note{display:none}.composer textarea,.composer-textarea{font-size:20px}.icon-button,.mobile-menu-button,.sidebar-close,.composer-mic-button{width:50px;height:50px}}@media (display-mode:standalone){.top-bar{grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 10px;display:grid;overflow:visible}.mobile-menu-button{grid-area:1/1/span 2;align-self:center}.top-bar .brand{grid-area:1/2;align-self:center}.top-bar-actions{flex-wrap:wrap;grid-area:2/2;justify-self:stretch;align-items:center;gap:6px;width:100%;min-width:0;max-width:100%;display:flex;overflow:visible}.top-bar-actions::-webkit-scrollbar{display:none}.composer-wrap{padding-bottom:calc(env(safe-area-inset-bottom))}}.project-navigator{flex-direction:column;gap:16px;width:min(760px,100%);margin:0 auto;padding:8px 0 24px;display:flex}.project-navigator-top{align-items:center;gap:12px;display:flex}.project-navigator-back{border:1px solid var(--line);width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:#ffffff0a;border-radius:10px;place-items:center;display:grid}.project-navigator-back:hover{color:var(--text);background:#ffdd2d14;border-color:#ffdd2d73}.project-navigator-top h1{margin:0;font-size:1.35rem}.project-navigator-top p{color:var(--text-muted);margin:2px 0 0;font-size:.85rem}.project-nav-tabs{border:1px solid var(--line);background:#ffffff08;border-radius:12px;gap:8px;padding:4px;display:flex}.project-nav-tabs button{min-height:36px;color:var(--text-muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:8px;flex:1}.project-nav-tabs button.is-active{background:var(--tbank-yellow-soft);color:var(--text)}.project-chat-list{flex-direction:column;gap:8px;display:flex}.project-new-chat-button{width:fit-content;color:var(--text);cursor:pointer;font:inherit;background:#ffdd2d14;border:1px solid #ffdd2d52;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;transition:border-color .15s,background .15s,box-shadow .15s;display:inline-flex}.project-new-chat-button:hover{box-shadow:0 0 16px var(--tbank-yellow-glow);background:#ffdd2d1f;border-color:#ffdd2d8c}.project-chat-item{border:1px solid var(--line);width:100%;color:var(--text);cursor:pointer;text-align:left;background:#ffffff08;border-radius:12px;padding:12px 14px;display:block}.project-chat-item:hover{background:#ffdd2d0f;border-color:#ffdd2d59}.messages.project-view{justify-content:flex-start;align-items:stretch;padding-top:16px}.chat-shell.has-project-view .composer-wrap{display:none}.file-browser-panel{flex-direction:column;gap:12px;min-height:0;display:flex}.file-browser-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.file-browser-header h2{margin:0;font-size:1.05rem}.file-browser-close{border:1px solid var(--line);width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;place-items:center;display:grid}.file-browser-search{border:1px solid var(--line);min-height:40px;color:var(--text-muted);background:#ffffff08;border-radius:10px;align-items:center;gap:8px;padding:0 12px;display:flex}.file-browser-search input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:none;flex:1}.file-browser-groups{flex-direction:column;gap:16px;max-height:min(60vh,520px);display:flex;overflow:auto}.file-browser-group h3{color:var(--text-muted);margin:0 0 8px;font-size:.85rem;font-weight:600}.file-browser-list{flex-direction:column;gap:8px;max-height:min(60vh,520px);display:flex;overflow:auto}.file-browser-item-row{align-items:stretch;gap:8px;display:flex}.file-browser-item-download{width:42px;color:var(--accent);cursor:pointer;background:#ffdd2d0f;border:1px solid #ffdd2d38;border-radius:10px;flex:none;place-items:center;display:grid}.file-browser-item-download:hover{background:#ffdd2d1f;border-color:#ffdd2d73}.file-browser-item{border:1px solid var(--line);width:100%;color:var(--text);cursor:pointer;text-align:left;background:#ffffff08;border-radius:12px;flex:1;align-items:center;gap:12px;padding:10px 12px;display:flex}.file-browser-item:hover{background:#ffdd2d0f;border-color:#ffdd2d59}.file-browser-item-icon{width:40px;height:40px;color:var(--text-muted);background:#ffffff0d;border-radius:10px;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.file-browser-item-icon img{object-fit:cover;width:100%;height:100%}.file-browser-item-meta{flex-direction:column;gap:2px;min-width:0;display:flex}.file-browser-item-meta strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-browser-item-meta span{color:var(--text-muted);font-size:.82rem}.file-browser-item-source{color:#ffdd2dd9!important}.file-browser-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:12px;max-height:min(60vh,520px);display:grid;overflow:auto}.file-browser-image-card{border:1px solid var(--line);color:var(--text);cursor:pointer;text-align:left;background:#ffffff08;border-radius:14px;flex-direction:column;gap:8px;padding:0;display:flex;overflow:hidden}.file-browser-image-card:hover{background:#ffdd2d0f;border-color:#ffdd2d73;box-shadow:0 0 18px #ffdd2d1f}.file-browser-image-card-preview{aspect-ratio:1;background:#ffffff0a;position:relative;overflow:hidden}.file-browser-image-card-preview img{object-fit:cover;width:100%;height:100%;display:block}.file-browser-image-card-fallback{width:100%;height:100%;color:var(--muted);place-items:center;display:grid}.file-browser-image-card-badge{width:24px;height:24px;color:var(--accent-on);background:var(--accent);box-shadow:0 0 12px var(--tbank-yellow-glow);border-radius:999px;place-items:center;display:grid;position:absolute;top:8px;right:8px}.file-browser-image-card-meta{flex-direction:column;gap:2px;min-width:0;padding:0 10px 10px;display:flex}.file-browser-image-card-meta strong{white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:600;overflow:hidden}.file-browser-image-card-meta span{color:var(--muted);font-size:.74rem}.file-browser-empty{border:1px dashed var(--line);min-height:120px;color:var(--text-muted);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.chat-files-overlay{z-index:60;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.chat-files-backdrop{cursor:pointer;background:#0000009e;border:0;position:absolute;inset:0}.chat-files-panel{z-index:1;border:1px solid var(--line);background:var(--tbank-panel-strong);border-radius:16px;width:min(640px,100vw - 32px);max-height:min(80vh,720px);padding:16px;position:relative;overflow:auto;box-shadow:0 24px 64px #00000073}.auth-screen{background:var(--bg);place-items:center;min-height:100dvh;padding:24px 16px;display:grid;position:relative;overflow:hidden}.auth-screen-loading{background:var(--bg)}.auth-card,.auth-loading-card{z-index:2;width:min(420px,100%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#1a1a1deb;border:1px solid #ffdd2d2e;border-radius:20px;padding:28px 24px;position:relative}.auth-loading-card{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.auth-brand{flex-direction:column;gap:6px;margin-bottom:22px;display:flex}.auth-brand strong{letter-spacing:-.03em;font-size:28px;line-height:1.1}.auth-brand span:last-child{color:var(--muted);font-size:14px}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field span{color:var(--muted);font-size:12px;font-weight:600}.auth-field input{border:1px solid var(--line);width:100%;color:var(--text);font:inherit;background:#ffffff0a;border-radius:12px;padding:12px 14px}.auth-field input:focus{border-color:#ffdd2d8c;outline:none;box-shadow:0 0 0 3px #ffdd2d1f}.auth-field input:disabled{opacity:.72}.auth-error{color:#ffb4b7;background:#ff5a5f14;border:1px solid #ff5a5f59;border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.35}.auth-submit{width:100%;color:var(--accent-on);background:var(--accent);font:inherit;cursor:pointer;border:0;border-radius:12px;margin-top:4px;padding:12px 16px;font-weight:700}.auth-submit:hover:not(:disabled){background:var(--accent-strong)}.auth-submit:disabled{opacity:.72;cursor:wait}.auth-config-hint{color:var(--muted);margin:12px 0 0;font-size:13px;line-height:1.45}.auth-config-hint code{color:var(--text)}
