:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color-scheme:light;--bg-primary: #ffffff;--bg-secondary: #f8f9fc;--tech-blue: #4a7aff;--neon-purple: #7b5de8;--glacier-cyan: #00c8e0;--text-primary: rgba(0, 0, 0, .88);--text-secondary: rgba(0, 0, 0, .52);--text-muted: rgba(0, 0, 0, .36);--glass-bg: rgba(255, 255, 255, .78);--glass-premium: rgba(255, 255, 255, .88);--glass-border: rgba(0, 0, 0, .07);--glass-border-strong: rgba(0, 0, 0, .1);--glass-glow: rgba(74, 122, 255, .1);--overlay: rgba(242, 242, 247, .9);--danger: #ff6b6b}:root[data-theme=dark]{color-scheme:dark;--bg-primary: #050816;--bg-secondary: #0b1023;--tech-blue: #5b8cff;--neon-purple: #9b6dff;--glacier-cyan: #6fe7ff;--text-primary: rgba(255, 255, 255, .95);--text-secondary: rgba(255, 255, 255, .56);--text-muted: rgba(255, 255, 255, .34);--glass-bg: rgba(255, 255, 255, .06);--glass-premium: rgba(255, 255, 255, .09);--glass-border: rgba(255, 255, 255, .12);--glass-border-strong: rgba(255, 255, 255, .18);--glass-glow: rgba(91, 140, 255, .16);--overlay: rgba(11, 16, 35, .92)}*{box-sizing:border-box}html,body,#app{width:100%;max-width:100%;height:100%;margin:0;overflow-x:hidden}body{overflow:hidden;position:fixed;inset:0}button,input,textarea{font:inherit}button{color:inherit}.background-shell{position:relative;width:100%;max-width:100vw;height:100%;overflow:hidden;color:var(--text-primary);background:var(--bg-primary)}.bg-gradient{position:absolute;inset:0;background:linear-gradient(155deg,var(--bg-primary),var(--bg-secondary) 52%,color-mix(in srgb,var(--neon-purple),var(--bg-primary) 88%)),radial-gradient(circle at 70% 5%,color-mix(in srgb,var(--tech-blue),transparent 72%),transparent 34%)}.glow,.star,.flow-line{pointer-events:none}.glow{position:absolute;border-radius:999px;filter:blur(3px);animation:breathe 6s ease-in-out infinite alternate}.glow-a{top:-80px;right:-60px;width:260px;height:260px;background:color-mix(in srgb,var(--tech-blue),transparent 72%)}.glow-b{top:34%;left:20%;width:310px;height:310px;background:color-mix(in srgb,var(--neon-purple),transparent 84%)}.star{position:absolute;border-radius:999px;background:#fff;animation:twinkle 3s ease-in-out infinite alternate}:root:not([data-theme=dark]) .star,:root:not([data-theme=dark]) .flow-line{display:none}.flow-line{position:absolute;top:45%;left:-40px;width:calc(100% + 80px);height:1px;transform:rotate(-5deg);background:color-mix(in srgb,var(--tech-blue),transparent 92%)}.boot-screen{position:relative;z-index:2;display:grid;height:100%;place-items:center;color:var(--text-secondary)}.app-layout{position:relative;z-index:1;display:grid;width:100%;min-width:0;max-width:100vw;height:100%;overflow:hidden;grid-template-columns:1fr}.workspace{display:grid;width:100%;min-width:0;max-width:100%;height:100%;overflow:hidden;grid-template-rows:auto 1fr auto}.top-nav{position:sticky;top:0;z-index:12;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:16px;padding:max(12px,env(safe-area-inset-top)) 24px 6px}.top-title{overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:var(--text-primary)}.top-title.muted{opacity:0}.icon-button,.round-action,.message-actions button,.link-button{border:0;cursor:pointer}.icon-button{display:inline-grid;width:44px;height:44px;place-items:center;border:1px solid var(--glass-border-strong);border-radius:999px;background:var(--glass-premium);color:var(--text-primary);box-shadow:0 8px 28px color-mix(in srgb,var(--tech-blue),transparent 86%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.icon-button.compact{width:34px;height:34px}.top-actions{display:flex;align-items:center;gap:8px}.language-switch{position:relative;display:block;width:70px;height:34px;padding:3px;overflow:hidden;border:1px solid var(--glass-border-strong);border-radius:999px;background:color-mix(in srgb,var(--glass-premium),var(--bg-secondary) 18%);color:var(--text-muted);cursor:pointer;appearance:none;-webkit-appearance:none;box-shadow:0 8px 24px color-mix(in srgb,var(--tech-blue),transparent 88%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.language-switch-thumb{position:absolute;top:3px;left:3px;z-index:0;width:calc(50% - 3px);height:calc(100% - 6px);border-radius:999px;background:var(--tech-blue);box-shadow:0 6px 14px color-mix(in srgb,var(--tech-blue),transparent 58%);transition:transform .18s ease}.language-switch.english .language-switch-thumb{transform:translate(100%)}.language-switch-option{position:absolute;top:3px;z-index:1;display:flex;width:calc(50% - 3px);height:calc(100% - 6px);align-items:center;justify-content:center;padding:0;margin:0;border:0;transform:translateY(0);font-family:inherit;font-size:12px;font-weight:800;line-height:12px;letter-spacing:0;text-align:center;transition:color .18s ease;-webkit-font-smoothing:antialiased}.language-switch-option:first-of-type{left:3px}.language-switch-option:last-of-type{right:3px}.language-switch-option.active{color:#fff}@supports (-webkit-touch-callout: none){.language-switch-option{line-height:1;padding-top:1px}}.welcome-panel{display:grid;align-content:center;justify-items:center;gap:12px;width:100%;min-width:0;max-width:100%;min-height:0;padding:22px;overflow:hidden;text-align:center}.welcome-panel h1{margin:0;font-family:Inter,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,ui-sans-serif,system-ui,sans-serif;font-size:clamp(36px,7vw,58px);font-weight:760;line-height:1.12;letter-spacing:0;text-wrap:balance}.welcome-panel h1 em{color:var(--tech-blue);font-style:normal;font-weight:820}.welcome-panel p{margin:0;color:var(--text-secondary)}.auth-hint{display:grid;width:100%;max-width:460px;min-width:0;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-top:10px;padding:14px 16px;text-align:left;border:1px solid var(--glass-border-strong);border-radius:16px;background:var(--glass-premium);color:var(--text-primary);cursor:pointer}.auth-hint svg{flex-shrink:0}.auth-hint span{min-width:0}.auth-hint strong,.auth-hint small{display:block;overflow-wrap:anywhere}.auth-hint small{margin-top:2px;color:var(--text-secondary)}.composer{width:100%;min-width:0;max-width:100%;overflow:visible;padding:0 24px 18px}.chat-input-wrap{position:relative;width:100%;max-width:880px;min-width:0;margin:0 auto;padding:2px}.input-glow{position:absolute;inset:0;overflow:hidden;border-radius:26px;background:linear-gradient(135deg,var(--tech-blue),var(--neon-purple),var(--glacier-cyan));opacity:.9}.chat-input-card{position:relative;display:grid;min-height:94px;grid-template-columns:minmax(0,1fr) 38px 42px;gap:8px;align-items:end;padding:16px;border-radius:24px;background:var(--bg-primary)}.chat-input-card.no-voice{grid-template-columns:minmax(0,1fr) 42px}.chat-input-card textarea{min-width:0;width:100%;min-height:62px;max-height:160px;resize:none;border:0;outline:0;background:transparent;color:var(--text-primary);font-size:16px;line-height:1.5}.round-action{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--glass-border-strong);border-radius:999px;background:var(--glass-premium);color:var(--text-muted)}.round-action.send{width:42px;height:42px;color:var(--tech-blue)}.round-action:disabled,.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.48}.quick-actions{position:relative;display:flex;align-items:center;gap:8px;width:100%;max-width:880px;min-width:0;overflow:visible;margin:8px auto 0}.action-scroll{display:flex;flex:1 1 auto;min-width:0;gap:8px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.action-scroll::-webkit-scrollbar{display:none}.pill{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;padding:8px 13px;white-space:nowrap;border:1px solid var(--glass-border-strong);border-radius:999px;background:var(--glass-premium);color:var(--text-secondary);cursor:pointer}.pill.active{border-color:var(--tech-blue);color:var(--tech-blue);background:var(--glass-glow);font-weight:700}.separator{width:1px;height:18px;background:var(--glass-border-strong)}.mode-selector{position:relative;z-index:14;flex:0 0 auto;min-width:0}.mode-popup{position:absolute;bottom:calc(100% + 8px);left:0;z-index:15;width:100%;min-width:132px;padding:4px;border:1px solid var(--glass-border-strong);border-radius:12px;background:var(--bg-secondary);box-shadow:none}.mode-popup button{display:flex;width:100%;justify-content:space-between;padding:8px;border:0;border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer}.mode-popup .selected{color:var(--tech-blue);background:var(--glass-glow)}.flip{transform:rotate(180deg)}.chat-messages-shell{position:relative;height:100%;min-height:0;overflow:hidden}.chat-messages{width:100%;height:100%;min-height:0;overflow-y:auto;padding:18px 24px}.back-to-bottom{position:absolute;z-index:6;right:24px;bottom:14px;display:block;width:max-content;max-width:calc(100% - 24px);padding:8px 12px;border:1px solid color-mix(in srgb,var(--tech-blue),transparent 54%);border-radius:999px;background:var(--glass-premium);color:var(--tech-blue);cursor:pointer;font-size:13px;font-weight:800;box-shadow:0 10px 28px color-mix(in srgb,var(--tech-blue),transparent 82%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.message-row{width:min(880px,100%);margin:0 auto 16px}.message-row.user{display:flex;justify-content:flex-end}.message-bubble{max-width:100%;overflow:hidden;padding:16px;border-radius:16px;box-shadow:0 10px 30px color-mix(in srgb,var(--tech-blue),transparent 88%)}.message-bubble.user{max-width:min(76%,680px);color:#fff;border-bottom-right-radius:4px;background:var(--tech-blue)}.message-bubble.assistant{border:1px solid var(--glass-border-strong);border-right-color:color-mix(in srgb,var(--tech-blue),transparent 60%);border-bottom-left-radius:4px;background:color-mix(in srgb,var(--bg-secondary),transparent 10%)}.plain-text{margin:0;white-space:pre-wrap}.markdown{color:var(--text-primary);line-height:1.55}.markdown :first-child{margin-top:0}.markdown :last-child{margin-bottom:0}.markdown pre,.markdown code{border-radius:8px;background:#00000029}.markdown pre{overflow-x:auto;padding:12px}.markdown ul,.markdown ol{margin:8px 0;padding-left:19px}.markdown li{margin:4px 0;padding-left:1px}.markdown li>ul,.markdown li>ol{margin:4px 0;padding-left:16px}.markdown li>p{margin:4px 0}.markdown-table{width:100%;max-width:100%;margin:12px 0;overflow-x:auto}.markdown-table table{width:max-content;min-width:100%;max-width:none;border-collapse:collapse;border-spacing:0;border:1px solid var(--glass-border-strong);border-radius:8px}.markdown-table thead{background:color-mix(in srgb,var(--tech-blue),transparent 88%)}.markdown-table th,.markdown-table td{min-width:160px;padding:9px 11px;border:1px solid var(--glass-border-strong);text-align:left;vertical-align:top}.markdown-table th{color:var(--text-primary);font-weight:800}.markdown blockquote{margin:10px 0;padding:9px 12px;border-left:3px solid var(--tech-blue);border-radius:8px;background:color-mix(in srgb,var(--tech-blue),transparent 91%)}.markdown blockquote p,.markdown blockquote ul,.markdown blockquote ol{margin:6px 0}.markdown blockquote ul,.markdown blockquote ol{padding-left:18px}.thinking-loader,.tool-block,.thinking-header{display:flex;align-items:center;gap:8px}.spin{animation:rotate 1.2s linear infinite}.thinking-header{width:100%;margin-bottom:8px;padding:7px 10px;border:1px solid var(--glass-border);border-radius:10px;background:var(--glass-bg);color:var(--neon-purple);cursor:pointer}.thinking-header span{flex:1;text-align:left}.thinking-body{margin:6px 0 10px;padding-left:12px;white-space:pre-wrap;color:var(--text-secondary);border-left:2px solid var(--glass-border-strong);font:inherit;font-size:13px;font-style:italic;line-height:1.55}.tool-block{margin-bottom:10px;padding:8px 10px;color:var(--glacier-cyan);border:1px solid var(--glass-border);border-radius:10px;background:var(--glass-bg)}.tool-block span{flex:1}.cursor{animation:blink 1s step-end infinite;font-weight:800}.generated-image{position:relative;display:block;width:min(420px,100%);padding:0;overflow:hidden;border:0;border-radius:14px;background:transparent;cursor:zoom-in}.generated-image img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.generated-image svg{position:absolute;top:10px;right:10px;padding:6px;color:#fff;border-radius:999px;background:#00000075;box-sizing:content-box}.continue-row{display:flex;justify-content:flex-end;margin-top:12px}.continue-button{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:5px 10px;border:1px solid color-mix(in srgb,var(--tech-blue),transparent 52%);border-radius:999px;background:color-mix(in srgb,var(--tech-blue),transparent 88%);color:var(--tech-blue);font-size:13px;line-height:1}.continue-button:disabled{cursor:wait;opacity:.75}.message-actions{display:flex;gap:8px;margin-top:7px}.message-actions button{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);color:var(--text-muted);cursor:pointer}.sidebar{position:fixed;inset:0;z-index:60;width:0;height:0;overflow:visible;pointer-events:none}.sidebar.open,.sidebar.docked{pointer-events:auto}.sidebar-overlay{position:fixed;inset:0;z-index:60;border:0;background:var(--overlay)}.sidebar-panel{position:fixed;z-index:61;top:0;bottom:0;left:0;display:grid;width:min(82vw,340px);grid-template-rows:auto auto auto auto 1fr auto;gap:12px;padding:58px 22px 28px;transform:translate(-105%);transition:transform .22s ease;border-right:1px solid var(--glass-border);background:color-mix(in srgb,var(--bg-secondary),transparent 6%);box-shadow:none;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.sidebar.open .sidebar-panel{transform:translate(0)}.search-box{display:flex;align-items:center;gap:9px;height:43px;padding:0 14px;border:1px solid var(--glass-border);border-radius:18px;background:var(--glass-bg);color:var(--text-muted)}.search-box input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--text-primary)}.new-chat,.theme-toggle,.session-item,.setting-item{border:0;cursor:pointer}.new-chat{display:flex;align-items:center;gap:8px;padding:10px 14px;color:var(--tech-blue);border:1px solid color-mix(in srgb,var(--tech-blue),transparent 62%);border-radius:12px;background:var(--glass-glow);font-weight:700}.theme-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;color:var(--text-primary);border:1px solid var(--glass-border);border-radius:12px;background:var(--glass-bg)}.theme-toggle span{display:inline-flex;min-width:0;align-items:center;gap:8px}.theme-toggle strong{flex:0 0 auto;color:var(--text-muted);font-size:12px}.history-label{color:var(--text-muted);font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase}.session-list{min-height:0;overflow-y:auto}.session-item{display:grid;width:100%;grid-template-columns:8px 1fr auto;gap:10px;align-items:center;margin-bottom:7px;padding:12px;text-align:left;border:1px solid var(--glass-border);border-radius:12px;background:var(--glass-bg);color:var(--text-primary)}.session-main{min-width:0}.session-item svg{flex-shrink:0}.session-item.active{border-color:color-mix(in srgb,var(--tech-blue),transparent 56%);background:var(--glass-glow)}.session-dot{width:8px;height:8px;border-radius:999px;background:var(--neon-purple)}.session-item.active .session-dot{background:var(--tech-blue)}.session-item strong,.session-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-item small{margin-top:4px;color:var(--text-muted);font-size:11px}.empty{color:var(--text-muted);text-align:center}.user-bar{display:grid;grid-template-columns:38px 1fr 34px;gap:10px;align-items:center;padding-top:15px;border-top:1px solid var(--glass-border)}.avatar,.user-bar button{display:grid;place-items:center;border:0;border-radius:999px;background:var(--glass-bg);color:var(--tech-blue)}.avatar{width:38px;height:38px;border:1px solid var(--glass-border)}.user-bar button{width:34px;height:34px;cursor:pointer}.sheet-layer{pointer-events:none}.sheet-layer.open{pointer-events:auto}.sheet-overlay{position:fixed;inset:0;z-index:50;border:0;opacity:0;background:var(--overlay);transition:opacity .2s ease}.sheet-layer.open .sheet-overlay{opacity:1}.settings-sheet,.auth-sheet{position:fixed;z-index:51;right:0;bottom:0;left:0;max-width:620px;margin:0 auto;transform:translateY(105%);transition:transform .24s ease;border:1px solid var(--glass-border);border-bottom:0;border-radius:24px 24px 0 0;background:color-mix(in srgb,var(--bg-secondary),transparent 4%);box-shadow:none;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.sheet-layer.open .settings-sheet,.sheet-layer.open .auth-sheet{transform:translateY(0)}.settings-sheet{display:grid;max-height:70vh;padding:12px 24px 28px}.sheet-handle{width:38px;height:4px;margin:0 auto 10px;border-radius:999px;background:var(--glass-border-strong)}.settings-sheet header{display:flex;align-items:center;justify-content:space-between}.settings-sheet h2,.auth-sheet h2{margin:0}.setting-item{display:flex;align-items:center;justify-content:space-between;padding:14px 8px;border-radius:10px;background:transparent;color:var(--text-primary)}.setting-item span{display:inline-flex;align-items:center;gap:14px}.setting-item:hover{background:var(--glass-bg)}.setting-item.danger{margin-top:10px;color:var(--danger);border-top:1px solid var(--glass-border)}.version{color:var(--text-muted);text-align:center;font-size:12px}.auth-sheet{display:grid;justify-items:center;gap:12px;padding:12px 24px 34px;text-align:center}.auth-sheet p{margin:0 0 12px;color:var(--text-secondary)}.lock-badge{display:grid;width:58px;height:58px;place-items:center;color:var(--tech-blue);border:1px solid color-mix(in srgb,var(--tech-blue),transparent 62%);border-radius:999px;background:var(--glass-glow)}.primary-button,.secondary-button{width:min(100%,380px);height:50px;border:0;border-radius:16px;cursor:pointer;font-weight:800}.primary-button{color:#fff;background:var(--tech-blue)}.secondary-button{color:var(--tech-blue);border:1px solid var(--glass-border-strong);background:var(--glass-bg)}.agreement{display:flex;gap:8px;align-items:center;color:var(--text-muted);font-size:12px}.agreement b{color:var(--tech-blue)}.auth-view{position:relative;z-index:1;display:grid;min-height:100%;align-items:center;padding:54px 24px}.auth-view>.icon-button{position:fixed;top:22px;left:24px}.auth-form{display:grid;width:min(420px,100%);gap:14px;margin:0 auto}.auth-form h1{margin:0;font-size:30px}.auth-form p{margin:-6px 0 14px;color:var(--text-secondary)}.auth-form input{height:52px;padding:0 16px;border:1px solid var(--glass-border-strong);border-radius:16px;outline:0;background:var(--glass-premium);color:var(--text-primary);font-size:16px}.form-error{color:var(--danger);font-size:13px}.link-button{background:transparent;color:var(--tech-blue);cursor:pointer}.image-viewer{position:fixed;z-index:90;inset:0;display:grid;place-items:center;background:#000000f0}.image-backdrop{position:absolute;inset:0;border:0;background:transparent}.image-viewer img{position:relative;z-index:1;max-width:94vw;max-height:90vh;object-fit:contain}.image-close{position:fixed;z-index:2;top:24px;right:24px;display:grid;width:42px;height:42px;place-items:center;border:0;border-radius:999px;background:#ffffff24;color:#fff;cursor:pointer}@media(min-width:1024px){.app-layout{grid-template-columns:340px 1fr}.workspace{grid-column:2}.sidebar.docked .sidebar-panel{position:relative;z-index:2;width:340px;height:100vh;transform:translate(0);box-shadow:none}.sidebar.docked{position:relative;width:340px;height:100vh;grid-column:1;grid-row:1}.top-nav,.composer{padding-right:36px;padding-left:36px}}@media(max-width:640px){.top-nav,.composer,.chat-messages{padding-right:18px;padding-left:18px}.chat-input-card{min-height:84px;grid-template-columns:minmax(0,1fr) 34px 38px;gap:6px;padding:13px}.chat-input-card.no-voice{grid-template-columns:minmax(0,1fr) 38px}.chat-input-card textarea{min-height:54px;font-size:16px}.round-action{width:34px;height:34px}.round-action.send{width:38px;height:38px}.message-bubble.user{max-width:86%}.welcome-panel{justify-content:center;padding:18px}.welcome-panel h1{font-size:clamp(34px,11vw,46px)}.auth-hint{grid-template-columns:auto minmax(0,1fr) auto}}@keyframes twinkle{0%{transform:scale(.75);opacity:.12}to{transform:scale(1.1)}}@keyframes breathe{0%{opacity:.7;transform:scale(.96)}to{opacity:1;transform:scale(1.04)}}@keyframes floatY{0%{transform:translateY(0)}to{transform:translateY(-8px)}}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes blink{50%{opacity:0}}
