html,body,#root{height:100dvh;margin:0;padding:0;overflow:hidden}@layer base{:root{--app-background:0 0% 100%;--app-foreground:240 10% 3.9%;--app-card:0 0% 100%;--app-card-foreground:240 10% 3.9%;--app-popover:0 0% 100%;--app-popover-foreground:240 10% 3.9%;--app-primary:240 5.9% 10%;--app-primary-foreground:0 0% 98%;--app-secondary:240 4.8% 95.9%;--app-secondary-foreground:240 5.9% 10%;--app-muted:240 4.8% 95.9%;--app-muted-foreground:240 3.8% 46.1%;--app-accent:240 4.8% 95.9%;--app-accent-foreground:240 5.9% 10%;--app-destructive:0 84.2% 60.2%;--app-destructive-foreground:0 0% 98%;--app-border:240 5.9% 90%;--app-input:240 5.9% 90%;--app-ring:240 5.9% 10%;--radius:.75rem}*{border-color:hsl(var(--app-border))}body{background-color:hsl(var(--app-background));color:hsl(var(--app-foreground));font-feature-settings:"rlig" 1, "calt" 1}}.enhanced-whiteboard-layout{width:100%;height:100dvh;display:flex;position:relative;overflow:hidden}.news-dock{z-index:1200;background:#f8fafc;border-right:1px solid #0f172a1a;flex:0 0 360px;width:360px;height:100%;transition:width .22s,flex-basis .22s;position:relative;box-shadow:10px 0 30px #0f172a14}.news-dock.collapsed{width:0;box-shadow:none;border-right:none;flex-basis:0}.news-dock.resizing{-webkit-user-select:none;user-select:none;transition:none}.news-resize-handle{z-index:4;cursor:col-resize;width:16px;height:100%;position:absolute;top:0;right:-8px}.news-resize-handle:after{content:"";background:#64748b6b;border-radius:999px;width:5px;height:72px;transition:background .16s,width .16s,left .16s,height .16s;position:absolute;top:50%;left:5px;transform:translateY(-50%);box-shadow:1px 0 #ffffffbf}.news-resize-handle:hover:after{background:#475569ad;width:7px;height:88px;left:4px}.news-shell{flex-direction:column;height:100%;display:flex;overflow:hidden}.news-header{background:linear-gradient(#fff 0%,#f8fafc 100%);border-bottom:1px solid #0f172a14;justify-content:space-between;align-items:center;padding:18px 54px 14px 22px;display:flex}.news-dock-close-btn{z-index:5;color:#334155;cursor:pointer;background:#fff;border:1px solid #0f172a1a;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex;position:absolute;top:14px;right:14px;box-shadow:0 1px 3px #0f172a0f}.news-dock-close-btn:hover{background:#f8fafc}.news-header h2{color:#0f172a;letter-spacing:0;margin:0;font-size:22px;line-height:1.15}.news-header h2 span{color:#64748b;font-size:13px;font-weight:500}.news-companion-btn{z-index:1001;color:#1d4ed8;-webkit-backdrop-filter:blur(12px)saturate(180%);cursor:pointer;white-space:nowrap;background:#eff6fff2;border:1px solid #2563eb38;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-width:72px;height:40px;padding:0 18px;font-size:14px;font-weight:800;display:inline-flex;position:absolute;top:72px;left:12px;box-shadow:0 8px 24px #2563eb24,0 1px 4px #0f172a0f}.news-companion-btn:hover{background:#dbeafefa;border-color:#2563eb59}.news-icon-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #0f172a1a;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex;box-shadow:0 1px 3px #0f172a0f}.spinning{animation:1s linear infinite news-spin}@keyframes news-spin{to{transform:rotate(360deg)}}.news-error{color:#be123c;background:#fff1f2;border:1px solid #e11d482e;border-radius:8px;justify-content:space-between;gap:8px;margin:12px 16px 0;padding:10px 12px;font-size:12px;display:flex}.news-error button{color:inherit;cursor:pointer;background:0 0;border:0}.news-list-view{flex:1;min-height:0;overflow:auto}.news-reader{touch-action:none;flex:1;min-height:0;overflow:auto}.news-empty-state{color:#64748b;text-align:center;background:#fff;border:1px solid #0f172a14;border-radius:8px;flex-direction:column;align-items:center;gap:8px;margin:18px;padding:28px 18px;display:flex;box-shadow:0 12px 30px #0f172a0f}.news-empty-state strong{color:#0f172a;font-size:15px;font-weight:800}.news-empty-state span{font-size:13px;line-height:1.6}.news-list{flex-direction:column;gap:12px;padding:16px 14px 28px;display:flex}.news-card{text-align:left;cursor:pointer;background:linear-gradient(#fff 0%,#fbfdff 100%);border:1px solid #0f172a12;border-radius:8px;width:100%;padding:16px 16px 14px;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s;box-shadow:0 10px 24px #0f172a0e}.news-card:hover{background:#fff;border-color:#2563eb47;transform:translateY(-2px);box-shadow:0 16px 34px #0f172a1a}.news-card-meta,.news-meta-row{color:#64748b;justify-content:space-between;align-items:center;gap:12px;font-size:11px;font-weight:700;display:flex}.news-card-meta{font-weight:400}.news-card h3{color:#0f172a;letter-spacing:0;margin:0;font-size:15.5px;font-weight:800;line-height:1.42}.news-card p{color:#475569;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:9px 0 0;font-size:13px;line-height:1.62;display:-webkit-box;overflow:hidden}.news-card .news-card-meta{border-top:1px solid #0f172a0f;margin-top:13px;padding-top:10px}.news-card .news-card-meta span:first-child{color:#2563eb;min-width:0}.news-date-divider{color:#2563eb;align-items:center;gap:10px;min-height:48px;margin:18px 0;font-size:14px;font-weight:400;display:flex}.news-date-divider:before,.news-date-divider:after{content:"";background:#2563eb3d;flex:1;height:1px}.news-empty{color:#64748b;text-align:center;padding:36px 12px;font-size:13px}.news-load-more,.news-load-more-btn{color:#64748b;justify-content:center;align-items:center;min-height:36px;font-size:13px;display:flex}.news-load-more-btn{cursor:pointer;background:0 0;border:0;border-radius:8px;width:100%}.news-load-more-btn:hover{color:#334155;background:#f1f5f9}.news-reader-toolbar{z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8fafceb;border-bottom:1px solid #0f172a14;justify-content:space-between;align-items:center;gap:8px;padding:14px 76px 10px 18px;display:flex;position:sticky;top:0}.news-zoom-controls{color:#334155;min-width:132px;height:34px;box-shadow:none;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:0;display:inline-flex}.news-zoom-controls button{width:28px;height:28px;color:inherit;cursor:pointer;background:#f1f5f9;border:0;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.news-zoom-controls button:hover:not(:disabled){background:#e2e8f0}.news-zoom-controls button:disabled{color:#94a3b8;cursor:default;background:#f8fafc}.news-zoom-controls span{text-align:center;color:#475569;font-variant-numeric:tabular-nums;min-width:42px;font-size:12px;font-weight:800}.news-note-controls{align-items:center;gap:6px;height:34px;display:inline-flex}.news-note-controls button{color:#334155;cursor:pointer;background:#f1f5f9;border:0;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.news-note-controls button:hover:not(:disabled){background:#e2e8f0}.news-note-controls button:disabled{color:#94a3b8;cursor:default;background:#f8fafc}.news-text-action{color:#475569;cursor:pointer;white-space:nowrap;background:0 0;border:0;justify-content:center;align-items:center;gap:5px;min-height:34px;padding:0;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.news-text-action:hover{color:#0f172a;text-decoration:none}.news-capture{background:#f8fafc;min-height:calc(100% - 60px);position:relative}.news-article{color:#1e293b;padding:22px 24px 92px}.news-article h1{color:#0f172a;letter-spacing:0;margin:12px 0;font-size:24px;line-height:1.25}.news-body p{color:#273449;margin:0 0 15px;font-size:15px;line-height:1.85}.news-html-content{overflow-wrap:anywhere;transform-origin:0 0}.news-html-content img{background:#e2e8f0;max-width:100%;height:auto;display:block}.news-html-content img.news-image-size-fallback{aspect-ratio:16/9;-o-object-fit:contain;object-fit:contain;width:100%}.news-html-content video,.news-html-content iframe{max-width:100%}.news-html-content a{color:#2563eb}.news-annotation-canvas{z-index:1;touch-action:none;cursor:crosshair;position:absolute;inset:0}.chat-panel-collapse-btn{cursor:pointer;color:#9b9b93;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:flex}.chat-panel-collapse-btn:hover{color:#171717;background:#0000000f}.chat-panel-toggle-collapsed{z-index:1000;-webkit-backdrop-filter:blur(12px);cursor:pointer;color:#171717;background:#ffffffe6;border:1px solid #0000000f;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;transition:all .2s;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%);box-shadow:0 4px 12px #00000014}.chat-panel-toggle-collapsed:hover{background:#fff;transform:translateY(-50%)scale(1.05);box-shadow:0 6px 20px #0000001f}.chat-panel-toggle-collapsed:active{transform:translateY(-50%)scale(.95)}.whiteboard-main{flex:1;min-width:0;height:100%;position:relative}.konva-container{touch-action:none;background:#f5f5f5;width:100%;height:100%;position:relative;overflow:hidden}.left-sidebar{z-index:1000;background:hsl(var(--app-card) / .9);-webkit-backdrop-filter:blur(12px)saturate(180%);border:1px solid hsl(var(--app-border) / .5);box-shadow:0 4px 24px hsl(var(--app-foreground) / .08), 0 1px 4px hsl(var(--app-foreground) / .04);border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:6px;display:flex;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.sidebar-tool-btn{cursor:pointer;width:36px;height:36px;color:hsl(var(--app-foreground));background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.sidebar-tool-btn:hover{background:hsl(var(--app-accent));color:hsl(var(--app-accent-foreground))}.sidebar-tool-btn.active{background:hsl(var(--app-primary));color:hsl(var(--app-primary-foreground))}.sidebar-divider{background:hsl(var(--app-border));width:24px;height:1px;margin:4px 0}.sidebar-zoom-label{color:hsl(var(--app-muted-foreground));text-align:center;min-width:36px;padding:2px 0;font-size:10px;font-weight:600}.sidebar-brush-size{flex-direction:column;align-items:center;gap:4px;width:100%;padding:4px 0;display:flex}.sidebar-brush-size input[type=range]{cursor:pointer;width:100%;height:4px}.brush-size-label{color:hsl(var(--app-muted-foreground));text-align:center;font-size:10px;font-weight:600}.toolbar-record-btn{background:hsl(var(--app-card));border:1px solid hsl(var(--app-border));cursor:pointer;height:2.4rem;color:hsl(var(--app-foreground));border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:0 1rem;font-size:.875rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative;top:-.2rem}.toolbar-record-btn:hover{background:hsl(var(--app-destructive));border-color:hsl(var(--app-destructive));color:hsl(var(--app-destructive-foreground))}.floating-actions{z-index:1000;background:hsl(var(--app-card) / .8);-webkit-backdrop-filter:blur(20px)saturate(180%);border:1px solid hsl(var(--app-border) / .5);box-shadow:0 8px 32px hsl(var(--app-foreground) / .1), 0 2px 8px hsl(var(--app-foreground) / .05);border-radius:1rem;flex-direction:column;gap:.5rem;padding:.5rem;display:flex;position:absolute;top:35%;left:1.25rem;transform:translateY(-50%)}.floating-btn{cursor:pointer;width:2.75rem;height:2.75rem;color:hsl(var(--app-foreground));background:0 0;border:none;border-radius:.75rem;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.floating-btn:hover{background:hsl(var(--app-accent));color:hsl(var(--app-accent-foreground));transform:scale(1.05)}.floating-btn:active{transform:scale(.95)}.chat-input-panel{z-index:1000;background:#fff;border-radius:12px;padding:12px;animation:.3s ease-out slideDown;position:absolute;top:80px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000026}@keyframes slideDown{0%{opacity:0;transform:translate(-50%)translateY(-10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.input-wrapper{align-items:center;gap:8px;display:flex}.message-input{border:1px solid #e0e0e0;border-radius:8px;outline:none;width:300px;padding:8px 12px;font-size:14px;transition:border-color .2s}.message-input:focus{border-color:#007aff}.send-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#007aff;border:none;border-radius:8px;padding:8px 16px;font-size:14px;transition:all .2s}.send-btn:hover:not(:disabled){background:#0056cc}.send-btn:disabled{cursor:not-allowed;background:#ccc}.loading-indicator{z-index:1000;background:hsl(var(--app-card));box-shadow:0 4px 6px -1px hsl(var(--app-foreground) / .1), 0 2px 4px -2px hsl(var(--app-foreground) / .1);color:hsl(var(--app-foreground));border-radius:.75rem;align-items:center;gap:.75rem;padding:.75rem 1.25rem;font-size:.875rem;display:flex;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.loading-spinner{border:3px solid hsl(var(--app-muted));border-top:3px solid hsl(var(--app-primary));border-radius:9999px;width:1.25rem;height:1.25rem;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.chat-modal-overlay{background:hsl(var(--app-foreground) / .5);z-index:2000;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.chat-modal{background:hsl(var(--app-card));width:90%;max-width:37.5rem;max-height:80vh;box-shadow:0 20px 25px -5px hsl(var(--app-foreground) / .1), 0 8px 10px -6px hsl(var(--app-foreground) / .1);border-radius:1rem;flex-direction:column;animation:.3s ease-out modalSlideUp;display:flex}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translateY(0)}}.chat-modal-header{border-bottom:1px solid hsl(var(--app-border));justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.chat-modal-header h3{color:hsl(var(--app-card-foreground));margin:0;font-size:1.125rem;font-weight:600}.close-btn{background:hsl(var(--app-secondary));cursor:pointer;width:2rem;height:2rem;color:hsl(var(--app-secondary-foreground));border:none;border-radius:.5rem;justify-content:center;align-items:center;font-size:1rem;transition:all .2s;display:flex}.close-btn:hover{background:hsl(var(--app-accent));color:hsl(var(--app-accent-foreground))}.chat-modal-messages{flex-direction:column;flex:1;gap:1rem;padding:1.5rem;display:flex;overflow-y:auto}.empty-state{text-align:center;color:hsl(var(--app-muted-foreground));padding:3.75rem 1.25rem}.empty-state p{color:hsl(var(--app-foreground));margin:0 0 .5rem;font-size:1rem}.empty-state small{font-size:.8125rem}.message{flex-direction:column;gap:.25rem;display:flex}.message.user{align-items:flex-end}.message.assistant{align-items:flex-start}.message-content{background:hsl(var(--app-secondary));max-width:85%;box-shadow:0 1px 2px 0 hsl(var(--app-foreground) / .05);border-radius:.75rem;padding:.75rem 1rem}.message.user .message-content{background:hsl(var(--app-primary));color:hsl(var(--app-primary-foreground))}.message-content strong{opacity:.8;margin-bottom:.375rem;font-size:.75rem;display:block}.message-content p{white-space:pre-wrap;word-wrap:break-word;margin:0;font-size:.875rem;line-height:1.5}.chart-preview{background:hsl(var(--app-card));border:1px solid hsl(var(--app-border));border-radius:.5rem;margin-top:.75rem;padding:.75rem}.message.user .chart-preview{background:hsl(var(--app-primary-foreground));border-color:hsl(var(--app-primary-foreground) / .2)}.message-time{color:hsl(var(--app-muted-foreground));padding:0 .25rem;font-size:.6875rem}.settings-overlay{background:hsl(var(--app-foreground) / .5);z-index:2000;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.settings-panel{background:hsl(var(--app-card));width:90%;max-width:31.25rem;box-shadow:0 20px 25px -5px hsl(var(--app-foreground) / .1), 0 8px 10px -6px hsl(var(--app-foreground) / .1);border-radius:1rem;animation:.3s ease-out modalSlideUp}.settings-header{border-bottom:1px solid hsl(var(--app-border));justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.settings-header h3{color:hsl(var(--app-card-foreground));margin:0;font-size:1.125rem;font-weight:600}.settings-content{padding:1.5rem}.setting-item{flex-direction:column;gap:.5rem;display:flex}.setting-item label{color:hsl(var(--app-foreground));font-size:.875rem;font-weight:600}.settings-input{border:1px solid hsl(var(--app-border));background:hsl(var(--app-background));color:hsl(var(--app-foreground));border-radius:.5rem;outline:none;padding:.625rem .875rem;font-size:.875rem;transition:all .2s}.settings-input:focus{border-color:hsl(var(--app-ring));box-shadow:0 0 0 3px hsl(var(--app-ring) / .1)}.settings-select{border:1px solid hsl(var(--app-border));background:hsl(var(--app-background));color:hsl(var(--app-foreground));cursor:pointer;border-radius:.5rem;outline:none;width:100%;padding:.625rem .875rem;font-size:.875rem;transition:all .2s}.settings-select:focus{border-color:hsl(var(--app-ring));box-shadow:0 0 0 3px hsl(var(--app-ring) / .1)}.settings-textarea{border:1px solid hsl(var(--app-border));background:hsl(var(--app-background));color:hsl(var(--app-foreground));resize:vertical;border-radius:.5rem;outline:none;min-height:200px;padding:.625rem .875rem;font-family:inherit;font-size:.8125rem;line-height:1.5;transition:all .2s}.settings-textarea:focus{border-color:hsl(var(--app-ring));box-shadow:0 0 0 3px hsl(var(--app-ring) / .1)}.settings-actions{justify-content:flex-end;gap:.75rem;margin-top:1.25rem;display:flex}.settings-close-btn{cursor:pointer;width:28px;height:28px;color:hsl(var(--app-muted-foreground));background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:1rem;transition:all .2s;display:flex}.settings-close-btn:hover{background:hsl(var(--app-accent));color:hsl(var(--app-accent-foreground))}.settings-loading{color:hsl(var(--app-muted-foreground));padding:1rem 0;font-size:.875rem}.settings-error{color:hsl(var(--app-destructive))!important}.setting-item small{color:hsl(var(--app-muted-foreground));font-size:.75rem}.chat-modal-messages::-webkit-scrollbar{width:6px}.chat-modal-messages::-webkit-scrollbar-track{background:0 0}.chat-modal-messages::-webkit-scrollbar-thumb{background:hsl(var(--app-muted));border-radius:3px}.chat-modal-messages::-webkit-scrollbar-thumb:hover{background:hsl(var(--app-muted-foreground))}.chat-panel{background:#f7f6f3;border-left:1px solid #0000000f;flex-direction:column;flex-shrink:0;width:300px;height:100dvh;display:flex;position:relative;overflow:hidden}.chat-panel-header{border-bottom:1px solid #0000000f;flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 14px;display:flex}.chat-panel-header-left{align-items:center;gap:10px;display:flex}.chat-panel-hamburger{cursor:pointer;color:#171717;background:#fff;border:1px solid #0000000f;border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;display:flex}.chat-panel-title{color:#171717;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:13px;font-weight:600;overflow:hidden}.chat-panel-sub{color:#9b9b93;font-size:11px}.chat-stream{flex-direction:column;flex:1;gap:18px;padding:18px 16px 40px;display:flex;overflow-y:auto}.chat-stream::-webkit-scrollbar{display:none}.chat-label{letter-spacing:.08em;color:#9b9b93;font-size:10px;font-weight:600}.chat-user-block{flex-direction:column;gap:8px;display:flex}.chat-user-card{background:#fff;border:1px solid #0000000f;border-radius:14px;padding:12px 14px}.chat-user-text{color:#171717;font-size:14px;font-weight:500;line-height:1.6}.chat-user-screenshot{margin-top:10px}.chat-user-screenshot img{cursor:pointer;border:1px solid #00000014;border-radius:8px;max-width:100%;transition:opacity .15s;display:block}.chat-user-screenshot img:hover{opacity:.85}.chat-ai-block{flex-direction:column;gap:10px;display:flex}.chat-ai-text{color:#3c3c37;font-size:14px;line-height:1.85}.chat-ai-text.markdown-body{color:#3c3c37}.chat-ai-text.markdown-body h1,.chat-ai-text.markdown-body h2,.chat-ai-text.markdown-body h3,.chat-ai-text.markdown-body h4,.chat-ai-text.markdown-body h5,.chat-ai-text.markdown-body h6{color:#171717;margin:12px 0 6px;font-weight:600}.chat-ai-text.markdown-body h1{font-size:1.3em}.chat-ai-text.markdown-body h2{font-size:1.2em}.chat-ai-text.markdown-body h3{font-size:1.1em}.chat-ai-text.markdown-body p{margin:4px 0}.chat-ai-text.markdown-body a{color:#6366f1}.chat-ai-text.markdown-body hr{border:none;border-top:1px solid #00000014;margin:12px 0}.chat-ai-text.markdown-body code{color:#3c3c37;background:#0000000f;border-radius:4px;padding:2px 6px;font-size:.9em}.chat-ai-text.markdown-body pre{background:#0000000a;border-radius:8px;margin:8px 0;padding:10px 14px;overflow-x:auto}.chat-ai-text.markdown-body ul,.chat-ai-text.markdown-body ol{margin:8px 0;padding-left:20px}.chat-ai-text.markdown-body blockquote{background:#00000008;border-left:3px solid #171717;border-radius:0 4px 4px 0;margin:8px 0;padding:4px 12px}.chat-ai-text.markdown-body table{border-collapse:collapse;width:100%;margin:8px 0;font-size:13px}.chat-ai-text.markdown-body th,.chat-ai-text.markdown-body td{text-align:left;border:1px solid #0000001a;padding:6px 10px}.chat-ai-text.markdown-body th{background:#0000000a;font-weight:600}.chat-system{color:#7a7a73;font-family:DM Mono,SF Mono,Monaco,Cascadia Code,Roboto Mono,monospace;font-size:12px}.chat-thinking{color:#7a7a73;font-size:13px}.chat-thinking summary{cursor:pointer;color:#9b9b93;font-size:11px;font-weight:600}.chat-thinking-content{color:#7a7a73;background:#00000008;border-radius:8px;margin-top:6px;padding:8px 10px;font-size:13px;line-height:1.6}.chat-empty{text-align:center;color:#7a7a73;padding:60px 20px}.chat-empty p{color:#171717;margin:0 0 8px;font-size:14px}.chat-empty small{font-size:12px}.chat-user-card.transcribing{opacity:.85;border-style:dashed}.transcribing-label{color:#171717;align-items:center;gap:5px;margin-top:4px;font-family:monospace;font-size:10px;display:inline-flex}.transcribing-dot{background:#171717;border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite transcribing-pulse}@keyframes transcribing-pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.cursor-blink{color:#171717;animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}.chat-history{z-index:10;background:#f7f6f3fa;flex-direction:column;padding:14px;transition:all .25s;display:flex;position:absolute;inset:0;transform:translate(100%)}.chat-history.open{transform:translate(0)}.chat-history-top{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.chat-history-back{color:#7a7a73;cursor:pointer;font-size:12px}.chat-history-title{color:#171717;font-size:13px;font-weight:600}.chat-history-new{color:#7a7a73;cursor:pointer;background:#fff;border:1px solid #0000000f;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:18px;display:flex}.chat-history-list{flex-direction:column;flex:1;gap:10px;display:flex;overflow-y:auto}.chat-history-session{color:#171717;cursor:pointer;background:#fff;border:1px solid #0000000f;border-radius:12px;padding:10px 12px;font-size:13px}.chat-history-session:hover{background:#f1f0ec}.chat-history-session.active{border-color:#171717;font-weight:600}.chat-tool-section{flex-direction:column;gap:6px;display:flex}.chat-tool-item{align-items:center;gap:6px;display:flex}.chat-tool-icon{justify-content:center;align-items:center;width:14px;height:14px;font-size:12px;display:inline-flex}.chat-tool-item.running .chat-tool-icon{animation:1s linear infinite tool-spin}@keyframes tool-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.chat-tool-item.done{opacity:.6}.chat-input-bar{display:none}.chat-input-buttons{z-index:1000;flex-direction:row;gap:12px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.chat-action-btn{cursor:pointer;width:72px;height:72px;box-shadow:0 6px 20px hsl(var(--app-foreground) / .15), 0 2px 8px hsl(var(--app-foreground) / .1);border:none;border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.chat-action-btn:before{content:"";opacity:0;background:radial-gradient(circle,#fff3 0%,#0000 70%);transition:opacity .25s;position:absolute;inset:0}.chat-action-btn:hover:not(:disabled):before{opacity:1}.chat-action-btn:hover:not(:disabled){box-shadow:0 8px 28px hsl(var(--app-foreground) / .25), 0 4px 12px hsl(var(--app-foreground) / .15);transform:scale(1.08)}.chat-action-btn:active:not(:disabled){transform:scale(.95)}.chat-action-btn:disabled{opacity:.4;cursor:not-allowed}.chat-action-btn-icon{justify-content:center;align-items:center;display:flex}.chat-action-btn-label{font-size:11px;font-weight:500;line-height:1}.chat-send-btn{background:linear-gradient(135deg, hsl(var(--app-primary)), hsl(var(--app-primary) / .85));color:hsl(var(--app-primary-foreground))}.chat-send-btn:hover:not(:disabled){box-shadow:0 8px 28px hsl(var(--app-primary) / .45), 0 4px 12px hsl(var(--app-foreground) / .2)}.chat-stop-btn{background:linear-gradient(135deg, hsl(var(--app-destructive)), hsl(var(--app-destructive) / .85));color:hsl(var(--app-destructive-foreground))}.chat-stop-btn:hover:not(:disabled){box-shadow:0 8px 28px hsl(var(--app-destructive) / .45), 0 4px 12px hsl(var(--app-foreground) / .2)}.voice-btn-stop-wrapper{z-index:1001;position:absolute;top:80px;right:22px}.chat-stop-btn .chat-action-btn-icon{font-size:18px;font-weight:700}.chat-voice-btn{background:linear-gradient(135deg, hsl(var(--app-primary)), hsl(var(--app-primary) / .85));color:hsl(var(--app-primary-foreground))}.chat-voice-btn:hover:not(:disabled){box-shadow:0 8px 28px hsl(var(--app-primary) / .45), 0 4px 12px hsl(var(--app-foreground) / .2)}.chat-voice-btn.recording{background:linear-gradient(135deg, hsl(var(--app-destructive)), hsl(var(--app-destructive) / .85));box-shadow:0 6px 20px hsl(var(--app-destructive) / .4), 0 2px 8px hsl(var(--app-foreground) / .15);animation:1.8s ease-in-out infinite pulse-voice-btn}.chat-voice-btn.recording:hover:not(:disabled){box-shadow:0 8px 28px hsl(var(--app-destructive) / .5), 0 4px 12px hsl(var(--app-foreground) / .2)}@keyframes pulse-voice-btn{0%,to{box-shadow:0 6px 20px hsl(var(--app-destructive) / .4), 0 2px 8px hsl(var(--app-foreground) / .15);transform:scale(1)}50%{box-shadow:0 8px 32px hsl(var(--app-destructive) / .55), 0 4px 16px hsl(var(--app-foreground) / .25);transform:scale(1.06)}}.chat-voice-btn-icon{z-index:1;justify-content:center;align-items:center;display:flex}.chat-voice-btn-label{z-index:1;letter-spacing:.3px;font-size:11px;font-weight:600}.new-conv-btn{z-index:1000;cursor:pointer;color:#fff;width:88px;height:88px;box-shadow:0 6px 20px hsl(var(--app-foreground) / .15), 0 2px 8px hsl(var(--app-foreground) / .1);background:#222;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;bottom:260px;right:12px}.new-conv-btn:hover{box-shadow:0 8px 28px hsl(var(--app-foreground) / .3), 0 4px 12px hsl(var(--app-foreground) / .2);background:#333;transform:scale(1.08)}.new-conv-btn:active{transform:scale(.95)}.voice-btn-group{z-index:1000;flex-direction:column;align-items:center;gap:24px;display:flex;position:absolute;bottom:100px;right:12px}.voice-btn-bottom-left{cursor:pointer;color:#fff;width:88px;height:88px;box-shadow:0 6px 20px hsl(var(--app-foreground) / .15), 0 2px 8px hsl(var(--app-foreground) / .1);background:#222;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.voice-btn-bottom-left:hover:not(:disabled){box-shadow:0 8px 28px hsl(var(--app-foreground) / .3), 0 4px 12px hsl(var(--app-foreground) / .2);background:#333;transform:scale(1.08)}.voice-btn-bottom-left:active:not(:disabled){transform:scale(.95)}.voice-btn-bottom-left:disabled{opacity:.4;cursor:not-allowed}.voice-btn-bottom-left.recording{background:#c00;animation:1.8s ease-in-out infinite pulse-voice-btn}.voice-btn-bottom-left.recording:hover:not(:disabled){box-shadow:0 8px 28px hsl(var(--app-foreground) / .3), 0 4px 12px hsl(var(--app-foreground) / .2);background:#d00}.zoom-indicator{z-index:1000;background:hsl(var(--app-card) / .85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid hsl(var(--app-border) / .5);color:hsl(var(--app-muted-foreground));font-variant-numeric:tabular-nums;cursor:pointer;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;position:absolute;bottom:12px;left:12px}.top-left-bar{z-index:1000;align-items:center;gap:8px;display:flex;position:absolute;top:12px;left:12px}.top-left-btn{background:hsl(var(--app-foreground));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;color:hsl(var(--app-background));border:none;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.top-left-btn:hover{opacity:.85}.user-bar{z-index:1000;background:hsl(var(--app-card) / .9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid hsl(var(--app-border) / .5);border-radius:8px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:flex;position:absolute;top:12px;right:12px}.user-name{color:hsl(var(--app-foreground));font-weight:500}.settings-btn{cursor:pointer;width:28px;height:28px;color:hsl(var(--app-muted-foreground));background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}.settings-btn:hover{background:hsl(var(--app-accent));color:hsl(var(--app-accent-foreground))}.logout-btn{cursor:pointer;width:28px;height:28px;color:hsl(var(--app-muted-foreground));background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}.logout-btn:hover{background:hsl(var(--app-accent));color:hsl(var(--app-accent-foreground))}.login-overlay{background:hsl(var(--app-background));justify-content:center;align-items:center;width:100%;height:100dvh;display:flex}.login-panel{background:hsl(var(--app-card));border:1px solid hsl(var(--app-border));width:380px;box-shadow:0 8px 32px hsl(var(--app-foreground) / .1);border-radius:16px;flex-direction:column;gap:16px;padding:32px;display:flex}.login-panel h2{color:hsl(var(--app-foreground));margin:0;font-size:24px;font-weight:700}.login-error{background:hsl(var(--app-destructive) / .1);color:hsl(var(--app-destructive));border-radius:8px;padding:10px 14px;font-size:13px}.login-input{border:1px solid hsl(var(--app-border));background:hsl(var(--app-background));color:hsl(var(--app-foreground));border-radius:8px;outline:none;padding:10px 14px;font-size:14px}.login-input:focus{border-color:hsl(var(--app-ring));box-shadow:0 0 0 3px hsl(var(--app-ring) / .1)}.login-btn{background:hsl(var(--app-primary));color:hsl(var(--app-primary-foreground));cursor:pointer;border:none;border-radius:8px;padding:10px;font-size:15px;font-weight:600}.login-btn:hover:not(:disabled){opacity:.9}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-switch{cursor:pointer;color:hsl(var(--app-primary));text-align:center;background:0 0;border:none;font-size:13px}.login-switch:hover{text-decoration:underline}.markdown-body{color:hsl(var(--app-foreground));font-size:14px;line-height:1.7}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:hsl(var(--app-foreground));margin:16px 0 8px;font-weight:600;line-height:1.4}.markdown-body h1{font-size:1.4em}.markdown-body h2{font-size:1.25em}.markdown-body h3{font-size:1.1em}.markdown-body p{margin:8px 0}.markdown-body ul,.markdown-body ol{margin:8px 0;padding-left:20px}.markdown-body li{margin:4px 0}.markdown-body code{background:hsl(var(--app-muted));border-radius:4px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.9em}.markdown-body pre{background:hsl(var(--app-muted));border-radius:8px;margin:10px 0;padding:12px 16px;overflow-x:auto}.markdown-body pre code{background:0 0;border-radius:0;padding:0}.markdown-body blockquote{border-left:3px solid hsl(var(--app-primary));background:hsl(var(--app-muted) / .5);border-radius:0 4px 4px 0;margin:10px 0;padding:4px 12px}.markdown-body table{border-collapse:collapse;width:100%;margin:10px 0;font-size:13px}.markdown-body th,.markdown-body td{border:1px solid hsl(var(--app-border));text-align:left;padding:6px 10px}.markdown-body th{background:hsl(var(--app-muted));font-weight:600}.markdown-body a{color:hsl(var(--app-primary));text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body img,.markdown-body svg{max-width:100%;height:auto}.markdown-body hr{border:none;border-top:1px solid hsl(var(--app-border));margin:12px 0}.thinking-content.markdown-body{opacity:.7;font-size:.85em}.thinking-content.markdown-body p{margin:4px 0}.web-search-toggle{border:1px solid hsl(var(--app-border) / .5);background:hsl(var(--app-card) / .9);-webkit-backdrop-filter:blur(20px)saturate(180%);cursor:pointer;pointer-events:auto;color:hsl(var(--app-muted-foreground));letter-spacing:.3px;white-space:nowrap;box-shadow:0 4px 16px hsl(var(--app-foreground) / .08);border-radius:28px;flex-shrink:0;align-items:center;gap:6px;padding:10px 16px;font-size:13px;font-weight:450;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.web-search-toggle:hover{border-color:hsl(var(--app-border));background:hsl(var(--app-card))}.web-search-toggle.active{border-color:hsl(var(--app-primary) / .35);color:hsl(var(--app-primary));box-shadow:0 4px 20px hsl(var(--app-primary) / .12)}.web-search-toggle-indicator{background:hsl(var(--app-muted-foreground) / .4);border-radius:50%;flex-shrink:0;width:7px;height:7px;transition:background .25s cubic-bezier(.4,0,.2,1)}.web-search-toggle.active .web-search-toggle-indicator{background:#22c55e;box-shadow:0 0 6px #22c55e80}.model-selector-wrapper{z-index:1001;position:absolute;top:12px;left:12px}.model-selector-top-left{appearance:none;border:1px solid hsl(var(--app-border) / .5);background:hsl(var(--app-card) / .9);-webkit-backdrop-filter:blur(12px);cursor:pointer;color:hsl(var(--app-foreground));background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border-radius:8px;outline:none;min-width:140px;padding:6px 32px 6px 12px;font-size:13px;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1)}.model-selector-top-left:hover{background-color:hsl(var(--app-accent) / .9);border-color:hsl(var(--app-border))}.model-selector-top-left:focus{border-color:hsl(var(--app-ring) / .5);box-shadow:0 0 0 2px hsl(var(--app-ring) / .15)}.model-selector-top-left option{background:hsl(var(--app-card));color:hsl(var(--app-foreground));padding:8px 12px;font-size:13px}.app-container{width:100%;height:100dvh;position:relative;overflow:hidden}
