:root,[data-theme=light]{--bg: #ffffff;--chat-bg: #f3f3f3;--surface: rgba(255, 255, 255, .95);--surface-solid: #ffffff;--panel: #ffffff;--panel2: #f3f3f3;--bg-primary: #ffffff;--text-primary: #333333;--hover-bg: #f0f0f0;--text: #333333;--text-secondary: #616161;--text-tertiary: #888888;--muted: #717171;--fg: #333333;--border: #e0e0e0;--border-color: #e0e0e0;--primary: #007acc;--accent: #007acc;--on-primary: #ffffff;--user-bubble: #e8eef9;--user-bubble-border: #c8d6e8;--user-bubble-text: #1e1e1e;--shadow: 0 1px 3px rgba(0, 0, 0, .08), 0 4px 12px rgba(0, 0, 0, .05);--hover: rgba(0, 0, 0, .04);--bg-secondary: rgba(0, 0, 0, .03);--primary-bg: rgba(0, 122, 204, .08);color-scheme:light}[data-theme=dark]{--bg: #2d2d2d;--chat-bg: #1e1e1e;--surface: rgba(37, 37, 38, .97);--surface-solid: #252526;--panel: #252526;--panel2: #2d2d2d;--bg-primary: #252526;--text-primary: #cccccc;--hover-bg: #2a2a2a;--text: #cccccc;--text-secondary: #9d9d9d;--text-tertiary: #6d6d6d;--muted: #858585;--fg: #d4d4d4;--border: #3c3c3c;--border-color: #3c3c3c;--primary: #3794ff;--accent: #3794ff;--on-primary: #ffffff;--user-bubble: #264f78;--user-bubble-border: #37607d;--user-bubble-text: #d4d4d4;--shadow: 0 2px 8px rgba(0, 0, 0, .4), 0 4px 14px rgba(0, 0, 0, .3);--hover: rgba(255, 255, 255, .06);--bg-secondary: rgba(255, 255, 255, .04);--primary-bg: rgba(55, 148, 255, .1);color-scheme:dark}*{margin:0;padding:0;box-sizing:border-box}html{height:100%;background:var(--bg)}body{height:100%;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,sans-serif;font-size:14px;font-weight:500;line-height:1.5;letter-spacing:-.006em;font-feature-settings:"cv02","cv03","cv04","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;background:var(--bg);color:var(--text);overflow:hidden;overscroll-behavior:none;-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}strong,b,.markdown-body strong,.markdown-body b,.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{font-weight:900}#root{position:fixed;inset:0;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}.tooltip-on-hover,button[title]{position:relative}.tooltip-on-hover[title]:after,button[title]:after{content:attr(title);position:absolute;left:50%;transform:translate3d(-50%,0,0);padding:4px 8px;background:#000000e6;color:#fff;font-size:11px;font-weight:500;white-space:nowrap;border-radius:4px;opacity:0;pointer-events:none;transition:opacity .15s;z-index:1000;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tooltip-on-hover[title]:after,button[title]:after{top:calc(100% + 6px);bottom:auto}.tooltip-top[title]:after{top:auto;bottom:calc(100% + 6px)}.tooltip-top{position:relative}.tooltip-on-hover[title]:hover:after,button[title]:hover:after{opacity:1}[data-theme=light] .tooltip-on-hover[title]:after,[data-theme=light] button[title]:after{background:var(--panel);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow)}.login-page{height:100%;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;overflow-y:auto;-webkit-overflow-scrolling:touch}.login-container{width:100%;max-width:320px;flex-shrink:0}.login-hero{text-align:center;margin-bottom:40px;padding-top:calc(30px + env(safe-area-inset-top,0px))}.login-logo-svg{width:180px;height:auto;color:var(--text);margin-bottom:16px}.login-subtitle{font-size:13px;color:var(--muted);margin:0;letter-spacing:.02em;min-height:1.5em}.rotating-word{color:var(--primary);font-weight:600}.typing-cursor{font-weight:300;color:var(--primary);animation:blink .8s step-end infinite}.login-video-btn{display:inline-flex;align-items:center;gap:4px;margin-top:12px;padding:4px 8px;background:transparent;border:1px solid var(--border);color:var(--muted);font-size:10px;letter-spacing:.04em;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.login-video-btn:hover{color:var(--text);border-color:var(--muted);background:var(--hover)}.login-video-btn svg{flex-shrink:0}.login-video-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:10000;padding:24px;animation:loginVideoOverlayIn .2s ease-out}@keyframes loginVideoOverlayIn{0%{opacity:0}to{opacity:1}}.login-video-modal{position:relative;width:100%;max-width:900px;aspect-ratio:16 / 9;background:#000;border-radius:8px;overflow:hidden}.login-video-modal iframe{position:absolute;inset:0;width:100%;height:100%}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.login-card{background:var(--surface);border:1px solid var(--border);padding:20px}.login-card-label{font-size:12px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;text-align:center;margin-bottom:24px}.login-alert{margin-bottom:16px;padding:10px 12px;display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.5}.login-alert span:first-child{flex-shrink:0;margin-top:1px}.login-alert-error{background:#ef444414;border:1px solid rgba(239,68,68,.15);color:#ef4444}.login-alert-body{flex:1;min-width:0}.login-alert-body p{margin:0}.login-alert-details-btn{background:none;border:none;padding:0;color:inherit;font-size:inherit;text-decoration:underline;cursor:pointer;opacity:.9}.login-alert-details-btn:hover{opacity:1}.login-alert-sm{font-size:11px;line-height:1.4}.login-alert-detail{margin-top:8px!important;font-size:11px;line-height:1.4;opacity:.95}.login-alert-link-btn{display:inline-flex;align-items:center;gap:3px;background:none;border:none;padding:0;color:inherit;font-size:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer;opacity:.9}.login-alert-link-btn:hover{opacity:1}.login-alert-link-btn svg{flex-shrink:0}.login-alert-warn{background:#f59e0b14;border:1px solid rgba(245,158,11,.15);color:#f59e0b}.login-btn{width:100%;height:52px;background:var(--primary);color:var(--on-primary);border:none;font-size:13px;font-weight:400;letter-spacing:.02em;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:opacity .15s}.login-btn:hover:not(:disabled){opacity:.85}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-btn-loading{display:flex;align-items:center;gap:8px}.login-btn-loading:before{content:"";width:16px;height:16px;border:2px solid var(--on-primary);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.login-btn-arrow{transition:transform .15s}.login-btn:hover:not(:disabled) .login-btn-arrow{transform:translate(3px)}.login-helper{margin-top:16px;padding-top:16px;border-top:1px solid var(--border);display:flex;align-items:flex-start;gap:6px}.login-helper svg{flex-shrink:0;color:var(--muted);margin-top:1px}.login-helper p{margin:0;font-size:11px;color:var(--muted);line-height:1.5}.login-signup-cta{margin-top:24px}.login-signup-divider{display:flex;align-items:center;gap:12px;margin-bottom:16px;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.login-signup-divider:before,.login-signup-divider:after{content:"";flex:1;height:1px;background:var(--border)}.login-signup-btn{width:100%;height:48px;background:transparent;color:var(--text);border:1px solid var(--border);font-size:13px;font-weight:400;letter-spacing:.02em;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:background .15s,border-color .15s}.login-signup-btn:hover{background:var(--hover);border-color:var(--muted)}.login-signup-btn .login-btn-arrow{transition:transform .15s}.login-signup-btn:hover .login-btn-arrow{transform:translate(3px)}.login-dev-skip-wrap{position:fixed;right:12px;bottom:12px;z-index:9999}.login-dev-skip{padding:0;background:none;border:none;color:var(--muted);font-size:12px;cursor:pointer;opacity:.4;transition:opacity .15s}.login-dev-skip:hover{opacity:1}.login-dev-skip-form{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;min-width:200px;box-shadow:0 4px 12px #00000026}.login-dev-skip-input{width:100%;box-sizing:border-box;padding:8px 10px;font-size:13px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text)}.login-dev-skip-input:focus{outline:none;border-color:var(--muted)}.login-dev-skip-actions{display:flex;gap:8px;justify-content:flex-end}.login-dev-skip-cancel,.login-dev-skip-submit{padding:6px 12px;font-size:12px;border-radius:6px;cursor:pointer;border:1px solid var(--border);background:var(--bg);color:var(--text)}.login-dev-skip-submit{background:var(--text);color:var(--bg);border-color:var(--text)}.login-dev-skip-cancel:hover,.login-dev-skip-submit:hover:not(:disabled){opacity:.9}.login-dev-skip-submit:disabled,.login-dev-skip-cancel:disabled{opacity:.6;cursor:not-allowed}.login-dev-skip-error{margin:0;font-size:11px;color:var(--error, #e5534b)}.login-recovery{margin-top:16px;text-align:center}.login-recovery-link{background:none;border:none;color:var(--muted);font-size:12px;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px;transition:color .15s}.login-recovery-link:hover{color:var(--text)}.login-recovery-alert{margin-top:12px;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:8px;font-size:12px;color:var(--muted);line-height:1.5;text-align:center;animation:loginRecoveryIn .15s ease-out}@keyframes loginRecoveryIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.login-footer{text-align:center;font-size:10px;color:var(--muted);opacity:.4;margin-top:40px;letter-spacing:.06em;text-transform:uppercase}@media(max-height:780px){.login-hero{margin-bottom:24px}.login-logo-svg{width:150px;margin-bottom:10px}.login-card{padding:22px}.login-card-label{margin-bottom:18px}.login-helper{margin-top:16px;padding-top:16px}.login-signup-cta{margin-top:16px}.login-signup-divider{margin-bottom:10px}.login-features{margin-top:16px}.login-feature{padding:10px 0}.login-footer{margin-top:24px}}@media(max-height:640px){.login-page{padding:14px 16px}.login-hero{margin-bottom:16px}.login-logo-svg{width:120px;margin-bottom:8px}.login-subtitle{font-size:12px}.login-card{padding:16px 18px}.login-card-label{margin-bottom:12px;font-size:11px}.login-btn{height:44px}.login-helper{margin-top:12px;padding-top:12px}.login-signup-cta{margin-top:12px}.login-signup-divider{margin-bottom:8px}.login-signup-btn{height:42px}.login-features{margin-top:12px}.login-feature{padding:8px 0}.login-feature-value{font-size:15px}.login-feature-label{font-size:10px}.login-models{margin-top:10px}.login-footer{margin-top:16px}}@media(max-height:520px){.login-page{padding:10px 16px}.login-hero{margin-bottom:10px}.login-logo-svg{width:100px;margin-bottom:6px}.login-card{padding:12px 16px}.login-card-label{margin-bottom:10px}.login-btn{height:40px;font-size:12px}.login-helper{display:none}.login-recovery,.login-signup-cta{margin-top:10px}.login-signup-btn{height:38px;font-size:12px}.login-features,.login-models{display:none}.login-footer{margin-top:12px}}.signup-page{height:100%;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto;-webkit-overflow-scrolling:touch}.signup-container{width:100%;max-width:360px}.signup-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.signup-back{background:none;border:none;color:var(--muted);cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;transition:color .15s}.signup-back:hover:not(:disabled){color:var(--text)}.signup-back:disabled{opacity:.3;cursor:not-allowed}.signup-progress{display:flex;gap:8px;align-items:center}.signup-progress-dot{width:8px;height:8px;border-radius:50%;background:var(--border);transition:all .3s ease}.signup-progress-dot.active{width:24px;border-radius:4px;background:var(--primary)}.signup-progress-dot.done{background:var(--primary);opacity:.5}.signup-header-spacer{width:32px}.signup-step{animation:stepFadeIn .3s ease-out}@keyframes stepFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.signup-step-header{margin-bottom:28px}.signup-title{font-size:22px;font-weight:600;color:var(--text);margin:0 0 8px;letter-spacing:-.02em}.signup-desc{font-size:14px;color:var(--muted);margin:0;line-height:1.6}.signup-methods{display:flex;flex-direction:column;gap:10px}.signup-method-btn{display:flex;align-items:center;gap:14px;width:100%;padding:14px 18px;background:var(--surface);border:1px solid var(--border);cursor:pointer;transition:all .15s;font-size:14px;color:var(--text)}.signup-method-btn:hover:not(:disabled){border-color:var(--primary);background:var(--primary-bg)}.signup-method-btn:disabled{opacity:.5;cursor:not-allowed}.signup-method-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg);border-radius:8px;flex-shrink:0}.signup-method-label{flex:1;text-align:left;font-weight:500}.signup-method-arrow{color:var(--muted);font-size:16px;transition:transform .15s}.signup-method-btn:hover:not(:disabled) .signup-method-arrow{transform:translate(3px);color:var(--primary)}.signup-method-spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.signup-login-link{text-align:center;margin-top:24px;font-size:13px;color:var(--muted)}.signup-text-btn{background:none;border:none;color:var(--primary);cursor:pointer;font-size:13px;font-weight:500;padding:0;text-decoration:underline;text-underline-offset:2px}.signup-text-btn:hover{opacity:.8}.signup-phone-form{display:flex;flex-direction:column}.signup-label{font-size:12px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.signup-label-code{margin-top:16px}.signup-phone-input-row{display:flex;gap:8px;align-items:stretch}.signup-country-dropdown{position:relative;margin-bottom:8px}.signup-country-selected{display:flex;align-items:center;gap:8px;width:100%;height:46px;padding:0 14px;background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:14px;font-family:inherit;cursor:pointer;transition:border-color .15s}.signup-country-selected:hover:not(:disabled){border-color:var(--primary)}.signup-country-selected:disabled{opacity:.6;cursor:not-allowed}.signup-country-flag{font-size:18px;line-height:1;flex-shrink:0}.signup-country-info{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.signup-country-chevron{color:var(--muted);flex-shrink:0;transition:transform .2s ease}.signup-country-chevron.open{transform:rotate(180deg)}.signup-country-list{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:240px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);z-index:50;list-style:none;margin:0;padding:4px 0;animation:stepFadeIn .15s ease-out;box-shadow:0 8px 24px #00000026}.signup-country-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:none;border:none;color:var(--text);font-size:13px;font-family:inherit;cursor:pointer;transition:background .1s;text-align:left}.signup-country-option:hover{background:var(--hover)}.signup-country-option.selected{background:var(--primary-bg);color:var(--primary)}.signup-country-option-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.signup-country-option-dial{color:var(--muted);font-size:12px;flex-shrink:0;font-variant-numeric:tabular-nums}.signup-input{flex:1;min-width:0;height:46px;padding:0 14px;background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:15px;font-family:inherit;letter-spacing:.02em;outline:none;transition:border-color .15s}.signup-input:focus{border-color:var(--primary)}.signup-input:disabled{opacity:.6}.signup-input::placeholder{color:var(--muted);opacity:.5}.signup-input-code{letter-spacing:.2em;font-size:18px;font-weight:500;text-align:center}.signup-send-btn,.signup-verify-btn{padding:0 16px;background:var(--primary);color:var(--on-primary);border:none;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:opacity .15s;flex-shrink:0}.signup-send-btn:hover:not(:disabled),.signup-verify-btn:hover:not(:disabled){opacity:.85}.signup-send-btn:disabled,.signup-verify-btn:disabled{opacity:.4;cursor:not-allowed}.signup-code-input-row{display:flex;gap:8px;align-items:stretch}.signup-verified-badge{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 14px;background:#22c55e14;border:1px solid rgba(34,197,94,.2);color:#22c55e;font-size:13px;font-weight:500;animation:stepFadeIn .3s ease-out}.signup-error{margin-top:8px;padding:8px 12px;background:#ef444414;border:1px solid rgba(239,68,68,.15);color:#ef4444;font-size:13px}.signup-nickname-section{margin-bottom:20px}.signup-nickname-section .signup-input{width:100%;box-sizing:border-box}.signup-nickname-hint{margin:6px 0 0;font-size:12px;color:var(--muted);line-height:1.5}.signup-terms-list{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);overflow:hidden}.signup-terms-item{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;transition:background .15s;position:relative}.signup-terms-item:hover{background:var(--hover)}.signup-terms-item input[type=checkbox]{position:absolute;opacity:0;pointer-events:none;width:0;height:0}.signup-checkbox{width:20px;height:20px;border:1.5px solid var(--border);border-radius:4px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s;position:relative}.signup-terms-item input:checked+.signup-checkbox{background:var(--primary);border-color:var(--primary)}.signup-terms-item input:checked+.signup-checkbox:after{content:"";width:6px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);margin-top:-2px}.signup-terms-all{padding:16px}.signup-terms-all .signup-terms-text{font-weight:600;font-size:15px}.signup-terms-divider{height:1px;background:var(--border)}.signup-terms-text{flex:1;font-size:14px;color:var(--text);display:flex;align-items:center;gap:6px;line-height:1.4}.signup-terms-badge{font-size:11px;font-weight:600;color:var(--primary);flex-shrink:0}.signup-terms-badge-optional{color:var(--muted)}.signup-terms-view{background:none;border:none;color:var(--muted);font-size:12px;cursor:pointer;padding:4px 0;flex-shrink:0;text-decoration:underline;text-underline-offset:2px}.signup-terms-view:hover{color:var(--text)}.signup-next-btn{width:100%;height:52px;margin-top:24px;background:var(--primary);color:var(--on-primary);border:none;font-size:14px;font-weight:500;letter-spacing:.02em;cursor:pointer;transition:opacity .15s}.signup-next-btn:hover:not(:disabled){opacity:.85}.signup-next-btn:disabled{opacity:.35;cursor:not-allowed}.signup-skip-btn{display:block;width:100%;margin-top:12px;padding:12px;background:none;border:none;color:var(--muted);font-size:13px;cursor:pointer;transition:color .15s}.signup-skip-btn:hover{color:var(--text)}.signup-onboarding{text-align:center;padding:24px 0 16px}.signup-onboarding-icon{margin-bottom:24px;display:flex;align-items:center;justify-content:center}.signup-onboarding-title{font-size:20px;font-weight:600;color:var(--text);margin:0 0 12px;letter-spacing:-.02em}.signup-onboarding-desc{font-size:14px;color:var(--muted);line-height:1.7;max-width:340px;margin:0 auto;word-break:keep-all}.signup-onboarding-dots{display:flex;gap:8px;justify-content:center;margin-top:28px}.signup-onboarding-dot{width:6px;height:6px;border-radius:50%;background:var(--border);transition:all .3s ease}.signup-onboarding-dot.active{width:20px;border-radius:3px;background:var(--primary)}.signup-complete{text-align:center;padding:20px 0 8px}.signup-complete-check{margin-bottom:20px;animation:checkBounce .6s cubic-bezier(.68,-.55,.265,1.55)}@keyframes checkBounce{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.signup-complete-title{font-size:22px;font-weight:600;color:var(--text);margin:0 0 8px;letter-spacing:-.02em}.signup-complete-desc{font-size:14px;color:var(--muted);margin:0 0 24px;line-height:1.6}.signup-complete-info{display:flex;flex-direction:column;gap:1px;background:var(--border);border:1px solid var(--border);overflow:hidden;text-align:left}.signup-complete-info-item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--surface);font-size:13px;color:var(--text)}.signup-complete-info-item svg{color:var(--primary);flex-shrink:0}@media(max-height:700px){.signup-page{align-items:flex-start;padding-top:24px}}@media(max-width:480px){.signup-container{max-width:100%}.signup-title{font-size:20px}.signup-phone-input-row{flex-wrap:wrap}.signup-input{min-width:120px}.signup-send-btn{width:100%;height:42px}}.preview-page{display:flex;flex-direction:column;height:100%;background:var(--bg);color:var(--text)}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:0 18px;height:52px;min-height:52px;background:var(--panel);border-bottom:1px solid var(--border)}.preview-header h1{font-size:15px;font-weight:500;letter-spacing:-.1px;color:var(--primary);flex:1;text-align:center}.back-btn{height:32px;padding:0 14px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:0;font-size:12px;font-weight:500;letter-spacing:.05em;cursor:pointer;transition:border-color .2s;font-family:inherit;white-space:nowrap}.back-btn:hover{border-color:var(--primary)}.preview-header-right{display:flex;align-items:center;gap:10px;min-width:120px;justify-content:flex-end}.preview-download-btn{height:32px;padding:0 14px;background:var(--primary);color:var(--on-primary);border:none;border-radius:0;font-size:12px;font-weight:500;letter-spacing:.05em;cursor:pointer;transition:opacity .2s,background .2s;font-family:inherit}.preview-download-btn:hover:not(:disabled){opacity:.9}.preview-download-btn:disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .preview-download-btn{background:#2d2d2d;color:#ccc}[data-theme=dark] .preview-download-btn:hover:not(:disabled){background:#333}[data-theme=dark] .preview-download-btn:disabled{background:#252526;color:#6d6d6d}.preview-container{flex:1;overflow:hidden;background:var(--panel)}.preview-iframe{width:100%;height:100%;border:none;background:#fff}.doc-preview-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;padding:40px 24px;text-align:center}.doc-preview-placeholder .doc-icon{font-size:48px;margin-bottom:8px}.doc-preview-placeholder h2{font-size:18px;font-weight:600;color:var(--text);margin:0}.doc-preview-placeholder p{font-size:14px;color:var(--text-secondary);margin:0;line-height:1.5}.doc-preview-placeholder .doc-hint{font-size:12px;color:var(--text-secondary);opacity:.7}.doc-ready{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;padding:40px 24px;text-align:center}.doc-ready-icon{font-size:56px;margin-bottom:8px}.doc-ready h2{font-size:18px;font-weight:600;color:var(--text);margin:0;word-break:break-all}.doc-ready-ext{font-size:14px;color:var(--text-secondary);margin:0}.doc-ready-download{margin-top:12px;height:40px;padding:0 24px;background:var(--primary);color:var(--on-primary);border:none;border-radius:0;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:opacity .2s}.doc-ready-download:hover{opacity:.9}[data-theme=dark] .doc-ready-download{background:#2d2d2d;color:#ccc}[data-theme=dark] .doc-ready-download:hover{background:#333}@media(max-width:480px){.preview-header{padding:0 14px;height:48px;min-height:48px}.preview-header h1{font-size:14px}.back-btn{height:30px;padding:0 10px;font-size:13px}.preview-header-right{min-width:100px;gap:8px}.preview-download-btn{height:30px;padding:0 10px;font-size:13px}}.confirm-dialog-overlay{position:fixed;inset:0;z-index:1100;background:#0006;display:flex;align-items:center;justify-content:center;padding:20px;animation:confirmFadeIn .12s ease}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}.confirm-dialog{background:var(--panel);border:1px solid var(--border);padding:24px;max-width:360px;width:100%;box-shadow:var(--shadow);animation:confirmSlideIn .15s ease}@keyframes confirmSlideIn{0%{opacity:0;transform:scale(.96) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirm-dialog-title{font-size:15px;font-weight:600;color:var(--text);margin:0 0 6px;line-height:1.4}.confirm-dialog-desc{font-size:13px;color:var(--text-secondary);margin:0 0 20px;line-height:1.5}.confirm-dialog-title:last-of-type:not(:has(~.confirm-dialog-desc)){margin-bottom:20px}.confirm-dialog-actions{display:flex;gap:8px;justify-content:flex-end}.confirm-dialog-btn{height:34px;padding:0 16px;font-size:13px;font-weight:500;border-radius:0;cursor:pointer;font-family:inherit;border:1px solid var(--border);background:var(--panel);color:var(--text);transition:background .12s,opacity .12s}.confirm-dialog-btn:hover{opacity:.85}.confirm-dialog-btn.primary{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.confirm-dialog-btn.danger{background:#e84040;color:#fff;border-color:#e84040}.confirm-dialog-btn.danger:hover{background:#d13636;border-color:#d13636;opacity:1}.confirm-dialog-btn.cancel:hover{background:var(--hover)}.settings-page{display:flex;flex-direction:column;height:100%;background:var(--bg);color:var(--text);overflow:hidden}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:0 18px;height:52px;min-height:52px;background:var(--panel);border-bottom:1px solid var(--border)}.settings-header h1{font-size:15px;font-weight:500;letter-spacing:-.1px;color:var(--primary);position:absolute;left:50%;transform:translate(-50%)}.settings-header .back-btn{height:32px;padding:0 14px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:0;font-size:13px;font-weight:500;letter-spacing:.05em;cursor:pointer;transition:border-color .2s;font-family:inherit;white-space:nowrap}.settings-header .back-btn:hover{border-color:var(--primary)}.header-placeholder{width:80px}.settings-tabs{display:flex;padding:0 18px;height:42px;min-height:42px;background:var(--panel);border-bottom:1px solid var(--border);gap:2px;align-items:center}.settings-tab{height:28px;padding:0 14px;background:transparent;color:var(--muted);border:1px solid transparent;border-radius:0;font-size:13px;font-weight:500;letter-spacing:.02em;cursor:pointer;transition:all .15s;font-family:inherit;white-space:nowrap}.settings-tab:hover{color:var(--text);background:var(--bg)}.settings-tab.active{background:var(--panel);color:var(--text);border-color:var(--primary)}.settings-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px 18px}.credit-topup-banner{display:flex;align-items:center;gap:12px;padding:14px 16px;margin-bottom:16px;border-radius:12px;background:linear-gradient(135deg,#fefce8,#fef9c3);border:1.5px solid #f59e0b;cursor:pointer;transition:all .15s}.credit-topup-banner:hover{background:linear-gradient(135deg,#fef9c3,#fef08a);border-color:#d97706;box-shadow:0 2px 8px #f59e0b26}.credit-topup-banner-icon{flex-shrink:0;color:#d97706}.credit-topup-banner-body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.credit-topup-banner-title{font-size:14px;font-weight:700;color:#92400e;line-height:1.3}.credit-topup-banner-desc{font-size:12px;color:#a16207;line-height:1.4}.credit-topup-banner-action{flex-shrink:0;font-size:13px;font-weight:600;color:#d97706;white-space:nowrap}.credit-topup-banner:hover .credit-topup-banner-action{color:#b45309}[data-theme=dark] .credit-topup-banner{background:linear-gradient(135deg,#f59e0b14,#f59e0b24);border-color:#f59e0b73}[data-theme=dark] .credit-topup-banner:hover{background:linear-gradient(135deg,#f59e0b1f,#f59e0b33);border-color:#f59e0b;box-shadow:0 2px 8px #f59e0b1a}[data-theme=dark] .credit-topup-banner-icon{color:#fbbf24}[data-theme=dark] .credit-topup-banner-title{color:#fde68a}[data-theme=dark] .credit-topup-banner-desc{color:#fcd34d}[data-theme=dark] .credit-topup-banner-action{color:#fbbf24}[data-theme=dark] .credit-topup-banner:hover .credit-topup-banner-action{color:#fde68a}.settings-section-list{display:flex;flex-direction:column;gap:28px}.settings-section{display:flex;flex-direction:column;gap:8px;min-width:0}.section-title{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 2px;opacity:.8}.settings-card{background:var(--panel);border:1px solid var(--border);padding:0}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:12px 16px}.row-label{font-size:14px;letter-spacing:.01em;color:var(--text)}.row-value{font-size:14px;letter-spacing:.01em;color:var(--muted)}.row-value.mono{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:13px}.settings-divider{height:1px;background:var(--border);margin:0 16px}.plan-badge{display:inline-block;height:22px;line-height:20px;padding:0 9px;background:transparent;color:var(--text);border:1px solid var(--border);font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.section-desc{font-size:13px;color:var(--muted);letter-spacing:.01em;line-height:1.6}.section-title-row{display:flex;justify-content:space-between;align-items:center;padding:0 2px}.gen-profile-card{display:flex;align-items:center;gap:16px;background:var(--panel);border:1px solid var(--border);padding:22px 20px;position:relative;overflow:hidden}.gen-profile-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--primary);opacity:.7}.gen-profile-avatar{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,#3794ff1a,#3794ff0d);border:1px solid rgba(55,148,255,.15);display:flex;align-items:center;justify-content:center;color:var(--primary);flex-shrink:0}.gen-profile-info{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.gen-profile-name{font-size:15px;font-weight:600;color:var(--text);letter-spacing:-.01em}.gen-profile-tag{font-weight:400;color:var(--muted);font-size:13px}.gen-profile-wallet{font-size:11px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;letter-spacing:.02em;opacity:.7}.gen-profile-actions{display:flex;align-items:stretch;gap:0;flex-shrink:0;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--bg)}.gen-profile-credit{display:flex;align-items:center;gap:5px;padding:0 10px;height:30px}.gen-profile-credit-label{font-size:11px;font-weight:500;color:var(--muted);letter-spacing:.02em}.gen-profile-credit-value{font-size:12px;font-weight:700;letter-spacing:-.02em;color:var(--text);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;line-height:1}.gen-profile-charge-btn{display:flex;align-items:center;height:30px;padding:0 10px;background:transparent;color:var(--primary);border:none;border-left:1px solid var(--border);font-size:11px;font-weight:600;font-family:inherit;letter-spacing:.02em;cursor:pointer;transition:background .15s ease;white-space:nowrap}.gen-profile-charge-btn:hover{background:#3794ff0f}.gen-prefs-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.gen-data-card{background:var(--panel);border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.gen-data-btn{flex:1;display:flex;align-items:center;gap:14px;padding:16px 18px;background:transparent;border:none;color:var(--text);cursor:pointer;transition:all .15s ease;font-family:inherit;text-align:left}.gen-data-btn:hover{background:var(--bg);padding-left:22px}.gen-data-btn:active{background:var(--border)}.gen-data-btn:disabled{opacity:.5;cursor:not-allowed}.gen-data-btn:disabled:hover{background:transparent;padding-left:18px}.gen-data-btn svg{flex-shrink:0;color:var(--primary);opacity:.85}.gen-data-btn.danger svg{color:#e53935}.gen-data-btn.danger:hover{background:#e539350a}.gen-data-btn.danger:active{background:#e539351a}.gen-data-btn-text{display:flex;flex-direction:column;gap:2px;min-width:0}.gen-data-btn-label{font-size:13px;font-weight:600;color:var(--text);letter-spacing:-.01em}.gen-data-btn-desc{font-size:11px;color:var(--muted);letter-spacing:.01em;line-height:1.4}.gen-data-divider{height:1px;background:var(--border);margin:0 16px;flex-shrink:0}.gen-theme-card{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;background:none;border:none;overflow:visible}.gen-theme-option{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 8px 14px;background:var(--panel);border:1px solid var(--border);border-radius:0;color:var(--text);cursor:pointer;position:relative;transition:all .18s ease;font-family:inherit;font-size:14px}.gen-theme-option:hover{background:var(--bg);border-color:#3794ff4d;transform:translateY(-1px)}.gen-theme-option.active{border-color:var(--primary);background:linear-gradient(180deg,#3794ff0f,#3794ff05);box-shadow:0 0 0 1px #3794ff26}.gen-theme-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg);border-radius:10px;color:var(--muted);flex-shrink:0;transition:all .18s ease}.gen-theme-option:hover .gen-theme-icon{color:var(--text)}.gen-theme-option.active .gen-theme-icon{color:var(--primary);background:#3794ff1a;box-shadow:0 0 0 1px #3794ff1f}.gen-theme-label{text-align:center;font-size:12px;font-weight:500;letter-spacing:.01em;color:var(--muted);transition:color .15s}.gen-theme-option.active .gen-theme-label{color:var(--text);font-weight:600}.gen-theme-check{position:absolute;top:7px;right:7px;flex-shrink:0;opacity:.85}.gen-app-info-card{background:var(--panel);border:1px solid var(--border)}.gen-app-info-row{display:flex;justify-content:space-between;align-items:center;padding:13px 16px}.gen-app-info-label{font-size:12px;color:var(--muted);letter-spacing:.01em}.gen-app-info-value{font-size:12px;font-weight:600;color:var(--text);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;padding:3px 8px;background:var(--bg);border-radius:4px}.billing-balance-card{display:flex;align-items:center;gap:16px;background:var(--panel);border:1px solid var(--border);padding:20px;position:relative;overflow:hidden}.billing-balance-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--primary);opacity:.7}.billing-balance-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3794ff1a,#3794ff0d);border:1px solid rgba(55,148,255,.15);border-radius:12px;color:var(--primary);flex-shrink:0}.billing-balance-body{display:flex;flex-direction:column;gap:3px}.billing-balance-label{font-size:11px;color:var(--muted);letter-spacing:.03em;font-weight:500}.billing-balance-value{font-size:26px;font-weight:700;letter-spacing:-.03em;color:var(--text);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;line-height:1.2}.billing-balance-unit{font-size:13px;font-weight:500;color:var(--muted)}.billing-charge-card{background:var(--panel);border:1px solid var(--border);padding:16px;display:flex;flex-direction:column;gap:10px}.billing-auto-card{background:var(--panel);border:1px solid var(--border);overflow:hidden}.billing-auto-header{display:flex;align-items:center;justify-content:space-between;padding:16px;gap:12px}.billing-auto-info{display:flex;flex-direction:column;gap:2px;min-width:0}.billing-auto-label{font-size:13px;font-weight:600;color:var(--text);letter-spacing:-.01em}.billing-auto-desc{font-size:11px;color:var(--muted);letter-spacing:.01em;line-height:1.5}.billing-auto-amounts{border-top:1px solid var(--border);padding:14px 16px;display:flex;flex-direction:column;gap:10px}.billing-auto-amounts-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.billing-history-card{background:var(--panel);border:1px solid var(--border);overflow:hidden}.billing-history-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);gap:12px;transition:background .12s}.billing-history-item:hover{background:var(--bg)}.billing-history-item:last-child{border-bottom:none}.billing-history-left{display:flex;align-items:center;gap:10px;min-width:0}.billing-history-type{flex-shrink:0;font-size:11px;font-weight:600;padding:3px 8px;background:var(--bg);border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:4px;letter-spacing:.02em}.billing-history-date{font-size:13px;color:var(--muted)}.billing-history-right{display:flex;flex-direction:column;align-items:flex-end;gap:1px;flex-shrink:0}.billing-history-amount{font-size:14px;font-weight:600;color:#3b82f6;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;letter-spacing:-.02em}.billing-history-dollar{font-size:11px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace}.billing-history-empty{padding:40px 16px;text-align:center;font-size:13px;color:var(--muted);opacity:.7}.key-status{font-size:13px;font-weight:500;letter-spacing:.04em;padding:2px 8px;border:1px solid var(--border)}.key-status.status-active{color:#10b981;border-color:#10b981}.key-status.status-none{color:var(--muted)}.api-key-input-row{display:flex;gap:6px;padding:12px 16px}.api-key-input{flex:1;height:36px;padding:0 12px;background:var(--bg);border:1px solid var(--border);border-radius:0;color:var(--text);font-size:12px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;letter-spacing:.02em;transition:border-color .2s}.api-key-input:focus{outline:none;border-color:var(--primary)}.api-key-input::placeholder{color:var(--muted);opacity:.6}.key-toggle-btn{height:36px;padding:0 12px;background:var(--panel);border:1px solid var(--border);border-radius:0;color:var(--muted);font-size:12px;font-weight:500;letter-spacing:.03em;cursor:pointer;transition:all .15s;font-family:inherit;white-space:nowrap}.key-toggle-btn:hover{color:var(--text);border-color:var(--primary)}.api-key-models{padding:0 16px 12px;font-size:12px;color:var(--muted);letter-spacing:.01em}.save-keys-btn{width:100%;height:42px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:0;font-size:13px;font-weight:500;letter-spacing:.05em;cursor:pointer;transition:border-color .2s;font-family:inherit}.save-keys-btn:hover{border-color:var(--primary)}.usage-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.usage-kpi-card{display:flex;align-items:center;gap:14px;background:var(--panel);border:1px solid var(--border);padding:16px;transition:all .18s ease;position:relative;overflow:hidden}.usage-kpi-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;opacity:.7}.usage-kpi-card:nth-child(1):before{background:var(--primary)}.usage-kpi-card:nth-child(2):before{background:#c678dd}.usage-kpi-card:nth-child(3):before{background:#10b981}.usage-kpi-card:hover{transform:translateY(-1px);border-color:#3794ff4d}.usage-kpi-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:var(--bg);border-radius:10px;flex-shrink:0}.usage-kpi-body{display:flex;flex-direction:column;gap:3px;min-width:0}.usage-kpi-label{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.usage-kpi-value{font-size:20px;font-weight:700;letter-spacing:-.03em;color:var(--text);line-height:1.2;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace}.usage-charts-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.usage-chart-card{background:var(--panel);border:1px solid var(--border);padding:18px;display:flex;flex-direction:column;gap:14px;overflow:hidden;min-width:0;transition:border-color .15s}.usage-chart-card:hover{border-color:#3794ff40}.usage-chart-header{display:flex;align-items:baseline;justify-content:space-between}.usage-chart-title{font-size:13px;font-weight:600;color:var(--text);letter-spacing:-.01em}.usage-chart-subtitle{font-size:10px;font-weight:500;color:var(--muted);letter-spacing:.03em;text-transform:uppercase}.daily-bar-chart{flex:1;min-height:120px;position:relative;overflow:hidden}.daily-bar-chart.scrollable{overflow-x:auto;overflow-y:hidden;cursor:grab;-webkit-overflow-scrolling:touch;scroll-behavior:auto;scrollbar-width:none;-ms-overflow-style:none}.daily-bar-chart.scrollable::-webkit-scrollbar{display:none}.daily-bar-inner{display:flex;align-items:flex-end;gap:4px;height:100%;position:relative}.daily-bar-col{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;position:relative;cursor:pointer}.daily-bar-chart.scrollable .daily-bar-col{flex:0 0 auto;width:32px}.daily-bar-chart.scrollable .daily-bar-label{font-size:9px}.daily-bar-value{font-size:10px;font-weight:600;color:var(--muted);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;min-height:14px;line-height:14px}.daily-bar-track{flex:1;width:100%;background:var(--bg);border-radius:4px 4px 0 0;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}.daily-bar-fill{width:100%;background:var(--primary);border-radius:4px 4px 0 0;min-width:0;opacity:.8}.daily-bar-fill.today{opacity:1;background:var(--primary)}.daily-bar-label{font-size:10px;font-weight:500;color:var(--muted);white-space:nowrap}.daily-bar-label.today{color:var(--primary);font-weight:700}.daily-bar-col.today .daily-bar-value{color:var(--primary)}.usage-chart-loading-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--panel, #fff);opacity:.85;z-index:10;border-radius:inherit}.usage-chart-spinner{width:28px;height:28px;border:3px solid var(--border, #e0e0e0);border-top-color:var(--primary, #3794ff);border-radius:50%;animation:usage-chart-spin .7s linear infinite}@keyframes usage-chart-spin{to{transform:rotate(360deg)}}.bar-tooltip{background:#000000d9;color:#fff;padding:5px 10px;border-radius:6px;font-size:11px;white-space:nowrap;display:flex;align-items:center;gap:6px;z-index:9999;pointer-events:none;box-shadow:0 2px 8px #0003}.bar-tooltip strong{font-weight:600}.bar-tooltip span{opacity:.85}.donut-tooltip{background:#000000e0;color:#fff;padding:6px 12px;border-radius:8px;font-size:12px;white-space:nowrap;display:flex;align-items:center;gap:6px;z-index:10;pointer-events:none;box-shadow:0 2px 10px #00000040}.donut-tooltip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.donut-tooltip strong{font-weight:700}.donut-tooltip-pct{opacity:.65;font-size:11px}.daily-bar-empty-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--muted);pointer-events:none;letter-spacing:.01em}.usage-donut-wrap{display:flex;align-items:center;gap:20px;justify-content:center;overflow:visible}.usage-donut-legend{display:flex;flex-direction:column;gap:6px;min-width:0}.usage-legend-item{display:flex;align-items:center;gap:8px;font-size:12px}.usage-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.usage-legend-label{color:var(--text);white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.usage-legend-value{margin-left:auto;font-weight:600;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;color:var(--muted);font-size:11px}.usage-legend-empty{font-size:12px;color:var(--muted);line-height:1.6;text-align:center}.usage-table-header{display:grid;grid-template-columns:1fr 70px 90px;padding:8px 16px;font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.usage-table-header span:not(:first-child){text-align:right}.usage-table-row{display:grid;grid-template-columns:1fr 70px 90px;padding:10px 16px;font-size:13px;letter-spacing:.02em;align-items:center}.usage-model-name{color:var(--text)}.usage-model-val{text-align:right;color:var(--muted);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:13px}.usage-credit-used{color:#10b981!important;font-weight:600}.usage-log{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border);overflow:hidden}.usage-log-item{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border);gap:12px;transition:background .12s}.usage-log-item:hover{background:var(--bg)}.usage-log-item:last-child{border-bottom:none}.usage-log-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.usage-log-type{flex-shrink:0;font-size:11px;font-weight:600;letter-spacing:.02em;padding:3px 8px;background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--muted);white-space:nowrap}.usage-log-info{display:flex;flex-direction:column;gap:1px;min-width:0}.usage-log-title{font-size:14px;color:var(--text);letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.usage-log-meta{font-size:12px;color:var(--muted);letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.usage-log-credits{flex-shrink:0;font-size:14px;font-weight:600;color:#10b981;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;letter-spacing:-.02em}.usage-log-empty{padding:40px 16px;text-align:center;font-size:13px;color:var(--muted);opacity:.7}.usage-filters-card{background:var(--panel);border:1px solid var(--border);padding:16px;display:flex;flex-direction:column;gap:14px;margin-bottom:4px}.usage-filter-group{display:flex;align-items:center;gap:12px}.usage-filter-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);width:32px;flex-shrink:0}.usage-seg-control{display:flex;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:2px;gap:0}.usage-seg-btn{height:28px;padding:0 12px;background:transparent;color:var(--muted);border:none;border-radius:4px;font-size:12px;font-weight:500;letter-spacing:.01em;cursor:pointer;transition:all .15s;font-family:inherit;white-space:nowrap}.usage-seg-btn:hover{color:var(--text)}.usage-seg-btn.active{background:var(--panel);color:var(--text);font-weight:600;box-shadow:0 1px 3px #00000014}.usage-chip-control{display:flex;gap:5px;flex-wrap:wrap}.usage-chip-btn{height:26px;padding:0 10px;background:var(--bg);color:var(--muted);border:1px solid var(--border);border-radius:13px;font-size:12px;font-weight:500;letter-spacing:.01em;cursor:pointer;transition:all .15s;font-family:inherit;white-space:nowrap}.usage-chip-btn:hover{color:var(--text);border-color:var(--text-secondary, var(--muted))}.usage-chip-btn.active{background:var(--primary);color:var(--on-primary, #fff);border-color:var(--primary)}.usage-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 0 4px}.usage-page-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:0;font-size:14px;cursor:pointer;transition:all .15s;font-family:inherit}.usage-page-btn:hover:not(:disabled){border-color:var(--primary)}.usage-page-btn:disabled{opacity:.3;cursor:not-allowed}.usage-page-info{font-size:12px;font-weight:500;color:var(--muted);letter-spacing:.03em;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace}.credit-balance-card{background:var(--panel);border:1px solid var(--border);padding:24px 16px;text-align:center}.credit-balance-amount{font-size:28px;font-weight:400;letter-spacing:-.02em;color:var(--text);margin-bottom:6px}.credit-balance-unit{font-size:15px;font-weight:400;color:var(--muted);letter-spacing:.01em}.credit-balance-desc{font-size:13px;color:var(--muted);letter-spacing:.01em}.credit-badge{display:inline-flex;align-items:center;gap:5px;background:none;color:var(--text);border:none;font-size:13px;font-weight:700;letter-spacing:-.01em;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace}.credit-badge-lg{font-size:20px;font-weight:700}.credit-badge-sm{font-size:13px;font-weight:600}.billing-history-credit{display:inline-flex;align-items:center;gap:6px;text-align:right}.history-credit-added{font-size:14px;font-weight:600;color:#3b82f6;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;letter-spacing:-.02em}.billing-history-dollar{font-size:12px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace}.credit-packages{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.credit-package{position:relative;height:56px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:0;font-size:14px;font-weight:500;letter-spacing:-.01em;cursor:pointer;transition:all .18s ease;overflow:hidden;font-family:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.credit-package:hover{transform:translateY(-1px)}.credit-package-bonus{position:absolute;top:-1px;right:-1px;font-size:12px;font-weight:600;letter-spacing:.01em;padding:3px 7px;background:#10b981;color:#fff;line-height:1.3}.credit-package.selected .credit-package-bonus{background:#059669}.credit-package-price{font-size:14px;font-weight:600}.credit-package-credits{font-size:13px;font-weight:400;opacity:.7;letter-spacing:.01em}.credit-package.selected .credit-package-credits{opacity:.8}.credit-package:hover{border-color:#3794ff66}.credit-package.selected{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-1px);box-shadow:0 2px 8px #3794ff33}.charge-btn{width:100%;height:44px;background:var(--panel);color:var(--muted);border:1px solid var(--border);border-radius:0;font-size:13px;font-weight:500;letter-spacing:.05em;cursor:not-allowed;transition:all .15s;font-family:inherit}.charge-btn.active{background:var(--primary);color:#fff;border-color:var(--primary);cursor:pointer}.charge-btn.active:hover{opacity:.9}.auto-recharge-info{display:flex;flex-direction:column;gap:2px}.auto-recharge-desc{font-size:12px;color:var(--muted);letter-spacing:.01em}.auto-recharge-amount-section{padding:12px 16px;display:flex;flex-direction:column;gap:8px}.auto-recharge-amount-label{font-size:12px;font-weight:500;letter-spacing:.03em;color:var(--muted)}.auto-recharge-amounts{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.auto-recharge-amount-btn{height:40px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:0;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;font-family:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.auto-recharge-credits{font-size:12px;font-weight:400;opacity:.65}.auto-recharge-amount-btn.selected .auto-recharge-credits{opacity:.8}.auto-recharge-save-btn{margin-top:6px;width:100%;height:36px;background:var(--primary);color:var(--on-primary);border:1px solid var(--primary);border-radius:0;font-size:13px;font-weight:500;letter-spacing:.05em;cursor:pointer;transition:opacity .15s;font-family:inherit}.auto-recharge-save-btn:hover{opacity:.85}.auto-recharge-amount-btn:hover{border-color:var(--primary)}.auto-recharge-amount-btn.selected{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}@media(max-width:800px){.gen-prefs-row{grid-template-columns:1fr;gap:20px}.usage-kpi-grid{grid-template-columns:1fr;gap:8px}.usage-charts-grid{grid-template-columns:minmax(0,1fr);gap:8px}.credit-packages{grid-template-columns:repeat(3,1fr);gap:4px}.auto-recharge-amounts{grid-template-columns:repeat(3,1fr)}}@media(max-width:480px){.auto-recharge-amounts{grid-template-columns:repeat(3,1fr)}.auto-recharge-amount-section{padding:10px 14px}}.toggle-btn{position:relative;width:42px;height:24px;background:var(--border);border:none;border-radius:12px;cursor:pointer;transition:background .2s;padding:0;flex-shrink:0}.toggle-btn.on{background:var(--primary)}.toggle-knob{position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s}.model-toggle-row .toggle-knob{top:1px;left:1px;width:16px;height:16px}.toggle-btn.on .toggle-knob{transform:translate(18px)}.billing-history-row{display:grid;grid-template-columns:100px 1fr auto;padding:10px 16px;font-size:13px;letter-spacing:.02em;color:var(--text)}.billing-history-row .mono{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:13px;color:#10b981}.settings-footer{margin-top:40px;margin-left:-18px;margin-right:-18px;border-top:1px solid var(--border);background:transparent}.footer-inner{display:flex;flex-direction:column;align-items:center;gap:6px;padding:24px 18px 32px;text-align:center}.footer-company{display:flex;flex-direction:column;align-items:center;gap:2px}.footer-company-name{font-size:11px;font-weight:500;letter-spacing:-.01em;color:var(--muted);opacity:.55;text-decoration:none}.footer-company-name:hover{text-decoration:underline;opacity:.85}.footer-info-row{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;font-size:10.5px;color:var(--muted);opacity:.45}.footer-info-row span:after{content:""}.footer-address{font-size:10.5px;line-height:1.4;color:var(--muted);opacity:.45}.footer-contact{font-size:10.5px;color:var(--muted);opacity:.45}.footer-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;font-size:11px;margin-top:4px}.footer-links a{color:var(--muted);opacity:.5;text-decoration:none;transition:opacity .15s}.footer-links a:hover{opacity:.8;color:var(--muted)}.footer-dot{color:var(--muted);opacity:.3;font-size:10px}.footer-copyright{border-top:none;padding-top:6px;font-size:10.5px;color:var(--muted);opacity:.4}.theme-selector{display:flex;gap:4px}.theme-btn{display:flex;align-items:center;gap:5px;height:32px;padding:0 12px;background:var(--bg);color:var(--muted);border:1px solid var(--border);border-radius:0;font-size:12px;font-weight:500;letter-spacing:.01em;cursor:pointer;transition:all .15s;font-family:inherit;white-space:nowrap}.theme-btn:hover{color:var(--text);border-color:var(--muted)}.theme-btn.active{background:var(--panel);color:var(--text);border-color:var(--primary)}.theme-btn svg{flex-shrink:0}@media(max-width:480px){.settings-header{padding:0 14px}@media not all and (display-mode:standalone){.settings-header{height:48px;min-height:48px}}.settings-header h1{font-size:14px}.settings-header .back-btn{height:30px;padding:0 10px;font-size:13px}.settings-tabs{padding:0 14px;height:38px;min-height:38px}.settings-tab{height:26px;padding:0 10px;font-size:13px}.settings-content{padding:16px 14px}.credit-topup-banner{padding:12px 14px;gap:10px;margin-bottom:12px}.credit-topup-banner-title,.credit-topup-banner-desc,.credit-topup-banner-action{font-size:13px}.settings-row{padding:10px 14px}.settings-divider{margin:0 14px}.api-key-input-row{padding:10px 14px}.api-key-input{font-size:13px;height:34px}.key-toggle-btn{height:34px;padding:0 10px;font-size:13px}.api-key-models{padding:0 14px 10px;font-size:13px}.usage-kpi-grid{grid-template-columns:1fr;gap:8px}.usage-kpi-card{padding:12px 14px;gap:10px}.usage-kpi-icon{width:36px;height:36px}.usage-kpi-value{font-size:18px}.usage-charts-grid{grid-template-columns:minmax(0,1fr);gap:8px}.usage-chart-card{padding:14px;gap:12px}.daily-bar-chart{min-height:100px}.usage-donut-wrap{flex-direction:column;gap:14px}.usage-donut-legend{flex-direction:row;flex-wrap:wrap;gap:4px 12px;justify-content:center}.usage-filters-card{padding:12px;gap:10px}.usage-filter-group{flex-direction:column;align-items:flex-start;gap:6px}.usage-filter-label{width:auto}.usage-seg-control{width:100%}.usage-seg-btn{flex:1;padding:0 6px;font-size:11px;text-align:center}.usage-chip-control{gap:4px}.usage-chip-btn{height:24px;padding:0 8px;font-size:11px}.usage-table-header,.usage-table-row{padding-left:14px;padding-right:14px}.usage-log-item{padding:8px 14px}.usage-log-title{font-size:13px}.gen-profile-card{padding:14px;gap:10px}.gen-profile-card{padding:16px 14px;gap:12px}.gen-profile-avatar{width:38px;height:38px;border-radius:10px}.gen-profile-avatar svg{width:20px;height:20px}.gen-profile-name{font-size:14px}.gen-profile-credit{padding:0 8px;height:28px}.gen-profile-charge-btn{height:28px;padding:0 8px;font-size:11px}.gen-prefs-row{grid-template-columns:1fr;gap:20px}.gen-theme-card{gap:5px}.gen-theme-option{padding:14px 6px 12px;gap:8px}.gen-theme-icon{width:34px;height:34px;border-radius:8px}.gen-theme-label{font-size:11px}.billing-balance-card{padding:14px;gap:10px;flex-direction:row;align-items:center}.billing-balance-icon{width:40px;height:40px;border-radius:10px}.billing-balance-icon svg{width:20px;height:20px}.billing-balance-label{font-size:11px}.billing-balance-value{font-size:20px}.billing-balance-unit{font-size:12px}.billing-charge-card{padding:10px;gap:10px}.credit-packages{grid-template-columns:repeat(2,1fr);gap:6px}.credit-package{height:52px;font-size:13px}.credit-package-price{font-size:14px}.credit-package-credits{font-size:11px}.credit-package-bonus{font-size:9px;padding:2px 5px;letter-spacing:-.01em}.charge-btn{height:40px;font-size:12px}.billing-auto-card{overflow:hidden}.billing-auto-header{padding:12px 14px;gap:10px}.billing-auto-label{font-size:13px}.billing-auto-desc{font-size:11px}.billing-auto-amounts{padding:10px 14px;gap:8px}.auto-recharge-amounts{grid-template-columns:repeat(2,1fr);gap:6px}.auto-recharge-amount-btn{height:40px;font-size:12px}.auto-recharge-credits{font-size:10px}.billing-history-item{padding:10px 14px;gap:8px}.billing-history-type{font-size:11px;padding:2px 6px}.billing-history-date{font-size:12px}.billing-history-amount{font-size:13px}.billing-history-dollar{font-size:10px}.settings-footer{margin-left:-14px;margin-right:-14px}.footer-inner{padding:20px 14px 28px}}.logout-btn{width:100%;height:42px;display:flex;align-items:center;justify-content:center;gap:8px;background:transparent;color:var(--muted);border:1px solid var(--border);font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .18s ease;border-radius:0;letter-spacing:.02em}.logout-btn:hover{color:#ef4444;background:#ef44440d;border-color:#ef44444d}[data-theme=dark] .settings-header,[data-theme=dark] .settings-tabs{background:#2d2d2d;border-color:#3c3c3c}[data-theme=dark] .settings-tab:hover{background:#333}[data-theme=dark] .settings-tab.active{background:#252526;border-color:#3794ff;color:#d4d4d4}[data-theme=dark] .settings-header .back-btn{background:#3c3c3c;border-color:#4a4a4a}[data-theme=dark] .settings-header .back-btn:hover{border-color:#007acc}[data-theme=dark] .settings-card{background:#252526;border-color:#3c3c3c}[data-theme=dark] .settings-divider{background:#3c3c3c}[data-theme=dark] .row-label{color:#d4d4d4}[data-theme=dark] .row-value{color:#9d9d9d}[data-theme=dark] .gen-profile-card{background:#252526;border-color:#3c3c3c}[data-theme=dark] .gen-profile-card:before{opacity:.6}[data-theme=dark] .gen-profile-avatar{background:linear-gradient(135deg,#3794ff24,#3794ff0f);border-color:#3794ff33}[data-theme=dark] .gen-profile-actions{background:#2d2d2d;border-color:#3c3c3c}[data-theme=dark] .gen-profile-charge-btn{border-color:#3c3c3c}[data-theme=dark] .gen-profile-charge-btn:hover{background:#3794ff1a}[data-theme=dark] .gen-theme-option{background:#252526;border-color:#3c3c3c}[data-theme=dark] .gen-theme-option:hover{background:#2a2a2a;border-color:#3794ff40}[data-theme=dark] .gen-theme-option.active{border-color:var(--primary);background:linear-gradient(180deg,#3794ff1a,#3794ff0a);box-shadow:0 0 0 1px #3794ff1a}[data-theme=dark] .gen-theme-icon{background:#2d2d2d}[data-theme=dark] .gen-theme-option.active .gen-theme-icon{background:#3794ff26;box-shadow:0 0 0 1px #3794ff1a}[data-theme=dark] .gen-app-info-card{background:#252526;border-color:#3c3c3c}[data-theme=dark] .gen-app-info-value{background:#2d2d2d}[data-theme=dark] .gen-data-card{background:#252526;border-color:#3c3c3c}[data-theme=dark] .gen-data-btn:hover{background:#2d2d2d}[data-theme=dark] .gen-data-btn:active{background:#333}[data-theme=dark] .gen-data-btn svg{color:#3794ff}[data-theme=dark] .gen-data-btn.danger svg{color:#ef5350}[data-theme=dark] .gen-data-btn.danger:hover{background:#ef535014}[data-theme=dark] .gen-data-btn.danger:active{background:#ef535026}[data-theme=dark] .gen-data-divider{background:#3c3c3c}[data-theme=dark] .billing-balance-card{background:#252526;border-color:#3c3c3c}[data-theme=dark] .billing-balance-card:before{opacity:.6}[data-theme=dark] .billing-balance-icon{background:linear-gradient(135deg,#3794ff24,#3794ff0f);border-color:#3794ff33}[data-theme=dark] .billing-charge-card,[data-theme=dark] .billing-auto-card{background:#252526;border-color:#3c3c3c}[data-theme=dark] .billing-auto-header,[data-theme=dark] .billing-auto-amounts{border-color:#3c3c3c}[data-theme=dark] .billing-history-card{background:#252526;border-color:#3c3c3c}[data-theme=dark] .billing-history-item{border-color:#3c3c3c}[data-theme=dark] .billing-history-item:hover{background:#2a2a2a}[data-theme=dark] .billing-history-type{background:#2d2d2d;border-color:#3c3c3c;color:#9d9d9d}[data-theme=dark] .api-key-input{background:#3c3c3c;border-color:#4a4a4a;color:#d4d4d4}[data-theme=dark] .api-key-input:focus{border-color:#007acc}[data-theme=dark] .key-toggle-btn{background:#3c3c3c;border-color:#4a4a4a;color:#9d9d9d}[data-theme=dark] .key-toggle-btn:hover{border-color:#007acc;color:#d4d4d4}[data-theme=dark] .save-keys-btn{background:#0e639c;border-color:#0e639c;color:#fff}[data-theme=dark] .save-keys-btn:hover{background:#17b;border-color:#17b}[data-theme=dark] .credit-balance-card{background:#252526;border-color:#3c3c3c}[data-theme=dark] .credit-balance-amount{color:#d4d4d4}[data-theme=dark] .credit-badge{background:none;color:#d4d4d4}[data-theme=dark] .credit-package{background:#2d2d2d;border-color:#3c3c3c;color:#ccc}[data-theme=dark] .credit-package:hover{border-color:#4a4a4a}[data-theme=dark] .credit-package.selected{background:#264f78;color:#fff;border-color:#3794ff;box-shadow:0 2px 8px #3794ff26}[data-theme=dark] .charge-btn{background:#2d2d2d;border-color:#3c3c3c;color:#858585}[data-theme=dark] .charge-btn.active{background:#0e639c;color:#fff;border-color:#0e639c}[data-theme=dark] .auto-recharge-amount-btn{background:#2d2d2d;border-color:#3c3c3c;color:#ccc}[data-theme=dark] .auto-recharge-amount-btn:hover{border-color:#4a4a4a}[data-theme=dark] .auto-recharge-amount-btn.selected{background:#264f78;color:#fff;border-color:#3794ff}[data-theme=dark] .toggle-btn{background:#4a4a4a}[data-theme=dark] .toggle-btn.on{background:#0e639c}[data-theme=dark] .toggle-knob{background:#fff;box-shadow:0 1px 3px #0000004d}[data-theme=dark] .usage-kpi-card{background:#252526;border-color:#3c3c3c}[data-theme=dark] .usage-kpi-card:hover{border-color:#3794ff}[data-theme=dark] .usage-kpi-icon{background:#2d2d2d}[data-theme=dark] .usage-chart-card{background:#252526;border-color:#3c3c3c}[data-theme=dark] .daily-bar-fill{background:#3794ff}[data-theme=dark] .daily-bar-track{background:transparent}[data-theme=dark] .bar-tooltip,[data-theme=dark] .donut-tooltip{background:#1e1e1ef2;box-shadow:0 2px 10px #00000080}[data-theme=dark] .usage-filters-card{background:#252526;border-color:#3c3c3c}[data-theme=dark] .usage-seg-control{background:#1e1e1e;border-color:#3c3c3c}[data-theme=dark] .usage-seg-btn.active{background:#37373d;color:#d4d4d4;box-shadow:0 1px 3px #00000040}[data-theme=dark] .usage-seg-btn:hover{color:#d4d4d4}[data-theme=dark] .usage-chip-btn{background:#2d2d2d;border-color:#3c3c3c;color:#9d9d9d}[data-theme=dark] .usage-chip-btn:hover{border-color:#4a4a4a;color:#ccc}[data-theme=dark] .usage-chip-btn.active{background:#264f78;color:#fff;border-color:#3794ff}[data-theme=dark] .usage-log{background:#252526;border-color:#3c3c3c}[data-theme=dark] .usage-log-item{border-color:#3c3c3c}[data-theme=dark] .usage-log-item:hover{background:#2a2a2a}[data-theme=dark] .usage-log-type{background:#2d2d2d;border-color:#3c3c3c;color:#9d9d9d}[data-theme=dark] .usage-page-btn{background:#2d2d2d;border-color:#3c3c3c}[data-theme=dark] .usage-page-btn:hover:not(:disabled){border-color:#007acc}[data-theme=dark] .theme-btn{background:#2d2d2d;border-color:#3c3c3c;color:#9d9d9d}[data-theme=dark] .theme-btn:hover{border-color:#4a4a4a;color:#ccc}[data-theme=dark] .theme-btn.active{background:#37373d;border-color:#3794ff;color:#d4d4d4}[data-theme=dark] .settings-footer{background:transparent;border-color:#3c3c3c}[data-theme=dark] .logout-btn{color:#9d9d9d;border-color:#3c3c3c}[data-theme=dark] .logout-btn:hover{color:#ef5350;background:#ef535014;border-color:#ef535059}[data-theme=dark] .plan-badge{border-color:#4a4a4a;color:#ccc}@media all and (display-mode:standalone){.settings-header{margin-top:env(safe-area-inset-top,0)}}.sidebar-overlay{position:fixed;inset:0;background:#00000059;z-index:999;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sidebar{position:fixed;left:0;top:0;bottom:0;width:280px;background:var(--panel);border-right:1px solid var(--border);z-index:1000;transform:translate(-100%);transition:transform .22s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow:hidden}.sidebar.open{transform:translate(0)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);height:52px;flex-shrink:0}.sidebar-title{font-size:14px;font-weight:600;color:var(--fg)}.sidebar-new-btn{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--fg);cursor:pointer;transition:background .15s}.sidebar-new-btn:hover{background:var(--hover)}.sidebar-search{position:relative;display:flex;align-items:center;padding:8px 12px;height:46px;min-height:46px;border-bottom:1px solid var(--border);flex-shrink:0;box-sizing:border-box}.sidebar-search-icon{position:absolute;left:20px;color:var(--muted);pointer-events:none}.sidebar-search-input{flex:1;padding:6px 32px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:14px;font-family:inherit;outline:none;transition:border-color .15s}.sidebar-search-input:focus{border-color:var(--primary)}.sidebar-search-input::placeholder{color:var(--muted)}.sidebar-search-clear{position:absolute;right:18px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--muted);cursor:pointer;border-radius:4px;transition:background .12s,color .12s}.sidebar-search-clear:hover{background:var(--hover);color:var(--fg)}.sidebar-channels{flex:1;overflow-y:auto;padding:8px}.sidebar-channel{position:relative;display:flex;align-items:flex-start;padding:8px 12px;cursor:pointer;transition:background .12s,opacity .12s,transform .12s;margin-bottom:2px;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}@media(hover:hover)and (pointer:fine){.sidebar-channel{cursor:grab}.sidebar-channel:active{cursor:grabbing}}.sidebar-channel.dragging{opacity:.5;cursor:grabbing}.sidebar-channel.drag-over{border-top:2px solid var(--primary);margin-top:2px}.sidebar-channel.pinned{background:var(--hover);padding-left:12px}.sidebar-channel:hover{background:var(--hover)}.sidebar-channel.active{background:var(--hover);opacity:.9;border-left:3px solid var(--primary);padding-left:9px}.sidebar-channel.active .sidebar-channel-title{font-weight:700}.sidebar-channel-mode-tag{font-size:11px;font-family:monospace;font-weight:600;color:var(--muted);background:var(--hover);padding:1px 6px;border-radius:3px;flex-shrink:0;letter-spacing:.02em}.sidebar-channel-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.sidebar-channel-top{display:flex;align-items:center;gap:6px;min-width:0}.sidebar-channel-title{font-size:13px;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.sidebar-channel-snippet{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;opacity:.75;padding-left:1px}.sidebar-channel-edit{flex:1;min-width:0;font-size:13px;padding:2px 6px;border-radius:4px;border:1px solid var(--primary);background:var(--bg);color:var(--fg);outline:none;font-family:inherit}.sidebar-channel-actions{position:absolute;right:0;top:0;bottom:0;display:grid;grid-template-columns:repeat(2,22px);grid-template-rows:repeat(2,22px);gap:1px;align-content:center;padding:0 6px 0 18px;opacity:0;transition:opacity .12s;background:linear-gradient(to right,transparent,rgb(245,245,245) 30%);pointer-events:none;overflow:visible}[data-theme=dark] .sidebar-channel-actions{background:linear-gradient(to right,transparent,#2a2d2e 30%)}.sidebar-channel:hover .sidebar-channel-actions{opacity:1;pointer-events:auto}.sidebar-channel.pinned .sidebar-channel-actions{background:linear-gradient(to right,transparent,rgb(245,245,245) 30%)}[data-theme=dark] .sidebar-channel:hover .sidebar-channel-actions,[data-theme=dark] .sidebar-channel.pinned .sidebar-channel-actions{background:linear-gradient(to right,transparent,#2a2d2e 40%)}[data-theme=dark] .sidebar-channel.active .sidebar-channel-actions{background:linear-gradient(to right,transparent,#37373d 40%)}.sidebar-channel-action{position:relative;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:4px;border:none;background:transparent;color:var(--muted);cursor:pointer;padding:0;transition:background .12s,color .12s}.sidebar-channel-action[title]:after{content:attr(title);position:absolute;left:auto;right:calc(100% + 8px);top:50%;bottom:auto;transform:translateY(-50%);padding:4px 8px;background:#000000e6;color:#fff;font-size:11px;white-space:nowrap;border-radius:4px;opacity:0;pointer-events:none;transition:opacity .15s;z-index:1000}.sidebar-channel-action[title]:hover:after{opacity:1}[data-theme=light] .sidebar-channel-action[title]:after{background:var(--panel);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow)}.sidebar-channel-action:hover{background:var(--hover);color:var(--fg)}.sidebar-channel-action.delete:hover{color:#e84040}.sidebar-channel-action.pin.pinned,.sidebar-channel-action.pin:hover{color:var(--primary)}.sidebar-pin-divider{height:1px;background:var(--border);margin:6px 12px}[data-theme=dark] .sidebar-pin-divider{background:#4a4a4a}.sidebar-streaming-indicator{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;margin-left:4px}.sidebar-streaming-dot{width:6px;height:6px;border-radius:50%;background:#2563eb;box-shadow:0 0 #2563eb80;animation:sidebarStreamingPulse 1.2s ease-in-out infinite}.sidebar-streaming-dot:nth-child(2){animation-delay:.15s}.sidebar-streaming-dot:nth-child(3){animation-delay:.3s}@keyframes sidebarStreamingPulse{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 #2563eb80}50%{opacity:.6;transform:scale(.85);box-shadow:0 0 0 4px #2563eb00}}.sidebar-streaming-text{color:#2563eb!important;opacity:1!important;font-weight:500;animation:sidebarStreamingText 1.4s ease-in-out infinite}@keyframes sidebarStreamingText{0%,to{opacity:1}50%{opacity:.6}}[data-theme=dark] .sidebar-streaming-dot{background:#60a5fa;box-shadow:0 0 #60a5fa80}[data-theme=dark] .sidebar-streaming-dot:nth-child(n){animation:sidebarStreamingPulseDark 1.2s ease-in-out infinite}[data-theme=dark] .sidebar-streaming-dot:nth-child(2){animation-delay:.15s}[data-theme=dark] .sidebar-streaming-dot:nth-child(3){animation-delay:.3s}@keyframes sidebarStreamingPulseDark{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 #60a5fa80}50%{opacity:.85;transform:scale(.9);box-shadow:0 0 0 4px #60a5fa00}}[data-theme=dark] .sidebar-streaming-text{color:#60a5fa!important}.sidebar-empty{text-align:center;color:var(--muted);font-size:14px;padding:24px 0}.sidebar-context-menu{position:fixed;z-index:10001;min-width:180px;padding:6px 0;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0003;font-size:13px;-webkit-user-select:none;user-select:none;animation:sidebar-ctx-in .12s ease-out}@keyframes sidebar-ctx-in{0%{opacity:0;transform:scale(.96) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.sidebar-context-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 14px;border:none;background:transparent;color:var(--text);font-size:13px;font-family:inherit;text-align:left;cursor:pointer;transition:background .1s}.sidebar-context-menu-item:hover{background:var(--hover)}.sidebar-context-menu-item.danger:hover{background:#ef44441f;color:var(--danger, #ef4444)}@media all and (display-mode:standalone){.sidebar-header{margin-top:env(safe-area-inset-top,0)}}.chat-page{display:flex;flex-direction:column;height:100%;background:var(--bg);color:var(--text);position:relative;overflow:hidden}button:hover:not(:disabled){cursor:pointer}.drop-overlay{position:absolute;inset:0;z-index:200;background:var(--surface);display:flex;align-items:center;justify-content:center;pointer-events:none}.drop-overlay-content{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--primary);font-size:14px;font-weight:500;letter-spacing:.02em}.drop-overlay-content svg{opacity:.7}.chat-content-wrapper{display:flex;flex:1;min-height:0;overflow:hidden;position:relative}.chat-content-main{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden;position:relative}.resize-handle{width:5px;flex-shrink:0;cursor:col-resize;background:var(--border);transition:background .15s;position:relative;z-index:10}.resize-handle:hover,.resize-handle:active{background:var(--accent, #2563eb)}.preview-panel{flex:1;min-width:300px;flex-shrink:0;background:var(--bg);border-left:1px solid var(--border);display:flex;flex-direction:column;animation:previewSlideIn .18s ease-out;overflow:hidden}@keyframes previewSlideIn{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}.preview-panel-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--border);flex-shrink:0;gap:6px;background:var(--panel)}.preview-panel-left,.preview-panel-right{display:flex;align-items:center;gap:6px}.preview-panel-close,.preview-panel-fullscreen,.preview-panel-refresh{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:5px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.preview-panel-close:hover,.preview-panel-fullscreen:hover,.preview-panel-refresh:hover{background:var(--hover);color:var(--text)}.preview-panel-context-menu{position:fixed;z-index:10000;min-width:120px;padding:4px 0;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #00000026}.preview-panel-context-menu-item{display:block;width:100%;padding:8px 12px;text-align:left;font-size:13px;color:var(--fg);background:none;border:none;cursor:pointer;transition:background .15s}.preview-panel-context-menu-item:hover{background:var(--hover)}.preview-header-divider{width:1px;height:16px;background:var(--border, #e0e0e0);margin:0 2px;flex-shrink:0}.preview-panel-icon-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:5px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.preview-panel-icon-btn:hover:not(:disabled){background:var(--hover);color:var(--text)}.preview-panel-icon-btn:disabled{opacity:.3;cursor:default}.preview-panel-icon-btn.active{color:var(--error, #dc2626);background:color-mix(in srgb,var(--error, #dc2626) 12%,var(--panel))}.preview-history-wrap{position:relative}.history-dropdown{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);width:260px;max-height:360px;background:var(--panel, #fff);border:1px solid var(--border, #e0e0e0);border-radius:10px;box-shadow:0 8px 32px #0000002e,0 2px 8px #00000014;z-index:200;display:flex;flex-direction:column;overflow:hidden;animation:histDropIn .15s ease-out}@keyframes histDropIn{0%{opacity:0;transform:translate(-50%) translateY(-4px) scale(.97)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.history-dropdown-title{padding:10px 14px 6px;font-size:12px;font-weight:700;color:var(--text-secondary, #888);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border, #e8e8e8)}.history-dropdown-list{flex:1;overflow-y:auto;padding:4px 0;scrollbar-width:thin}.history-dropdown-list::-webkit-scrollbar{width:4px}.history-dropdown-list::-webkit-scrollbar-thumb{background:#0000001f;border-radius:2px}.history-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 14px;background:none;border:none;cursor:pointer;font-size:12.5px;color:var(--text, #333);text-align:left;transition:background .12s}.history-dropdown-item:hover{background:var(--hover, #f0f0f0)}.history-dropdown-item.active{background:var(--accent-bg, rgba(37,99,235,.08));font-weight:600}.history-dropdown-item.active .history-item-source{filter:none}.history-dropdown-item.future{opacity:.4}.history-item-source{flex-shrink:0;font-size:11px;line-height:1;width:16px;text-align:center}.history-item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item-time{font-size:11px;color:var(--text-secondary, #999);flex-shrink:0;font-variant-numeric:tabular-nums}.preview-panel.preview-full{position:absolute;inset:0;width:100%!important;z-index:100}.preview-toolbar-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:5px 8px;border-radius:6px;display:flex;align-items:center;gap:5px;font-size:12px;white-space:nowrap;transition:background .15s,color .15s}.preview-toolbar-btn:hover{background:var(--hover);color:var(--text)}.preview-toolbar-btn:disabled{opacity:.35;cursor:default}.preview-toolbar-btn:disabled:hover{background:none;color:var(--text-secondary)}.preview-paper-size-badge{font-size:11px;color:var(--text-secondary);white-space:nowrap}.paper-size-dialog-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#00000059;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:paperDialogFadeIn .15s ease}@keyframes paperDialogFadeIn{0%{opacity:0}to{opacity:1}}.paper-size-dialog{background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 32px #0000002e;width:340px;max-width:92vw;overflow:hidden;animation:paperDialogSlideIn .18s ease}@keyframes paperDialogSlideIn{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.paper-size-dialog-header{display:flex;align-items:center;gap:8px;padding:14px 16px 10px;font-size:14px;font-weight:600;color:var(--text);border-bottom:1px solid var(--border)}.paper-size-dialog-close{margin-left:auto;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.paper-size-dialog-close:hover{background:var(--hover);color:var(--text)}.paper-size-dialog-body{padding:12px 16px}.paper-size-dialog-presets{display:flex;flex-direction:column;gap:4px}.paper-size-preset-btn{display:flex;align-items:center;gap:8px;width:100%;padding:9px 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text);font-size:13px;cursor:pointer;text-align:left;transition:background .12s,border-color .12s}.paper-size-preset-btn:hover{background:var(--hover)}.paper-size-preset-btn.selected{background:var(--bg-secondary);border-color:var(--accent)}.paper-size-preset-label{flex:1;font-weight:500}.paper-size-preset-dim{font-size:11px;color:var(--text-tertiary);white-space:nowrap}.paper-size-preset-check{color:var(--accent);flex-shrink:0}.paper-size-dialog-custom{display:flex;align-items:center;gap:8px;margin-top:10px;padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px}.paper-size-custom-field{display:flex;align-items:center;gap:4px;flex:1}.paper-size-custom-label{font-size:11px;font-weight:600;color:var(--text-secondary);min-width:14px}.paper-size-custom-input{width:100%;max-width:72px;background:var(--panel);border:1px solid var(--border);color:var(--text);font-size:13px;padding:5px 8px;border-radius:6px;outline:none;text-align:center;transition:border-color .15s;-moz-appearance:textfield}.paper-size-custom-input::-webkit-inner-spin-button,.paper-size-custom-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.paper-size-custom-input:focus{border-color:var(--accent)}.paper-size-custom-x{color:var(--text-secondary);font-size:13px;-webkit-user-select:none;user-select:none;flex-shrink:0}.paper-size-custom-unit{color:var(--text-tertiary);font-size:11px;-webkit-user-select:none;user-select:none;flex-shrink:0}.paper-size-custom-range{color:var(--text-tertiary);font-size:10px;white-space:nowrap;flex-shrink:0}.paper-size-dialog-footer{display:flex;justify-content:flex-end;gap:8px;padding:10px 16px 14px;border-top:1px solid var(--border)}.paper-size-dialog-cancel,.paper-size-dialog-apply{padding:7px 18px;border-radius:7px;font-size:13px;font-weight:500;cursor:pointer;border:1px solid var(--border);transition:background .12s,color .12s,border-color .12s}.paper-size-dialog-cancel{background:transparent;color:var(--text-secondary)}.paper-size-dialog-cancel:hover{background:var(--hover);color:var(--text)}.paper-size-dialog-apply{background:var(--accent);color:#fff;border-color:var(--accent)}.paper-size-dialog-apply:hover{opacity:.9}.slide-download-dropdown{position:relative;display:inline-flex}.slide-download-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:240px;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);z-index:9999;animation:dropdownIn .15s ease;display:flex;flex-direction:column;overflow:hidden}.slide-download-header{padding:5px 10px;font-size:12px;font-weight:400;color:var(--text-secondary)}.slide-download-divider{height:1px;background:var(--border)}.slide-download-item{display:flex;align-items:center;gap:10px;width:100%;padding:6px 10px;border:none;background:none;color:var(--text);font-size:12px;font-weight:500;letter-spacing:.02em;cursor:pointer;text-align:left;transition:background .15s}.slide-download-item:hover{background:var(--bg)}.slide-download-item:active{transform:none}.slide-download-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;flex-shrink:0}.slide-download-icon--pptx{background:#e87b351f;color:#e87b35}.slide-download-icon--pdf{background:#e53e3e1f;color:#e53e3e}.slide-download-icon--png{background:#38a1691f;color:#38a169}.slide-download-icon--svg{background:#6366f11f;color:#6366f1}.slide-download-text{display:flex;flex-direction:column;gap:1px;min-width:0}.slide-download-label{font-size:12px;font-weight:500;color:var(--text);line-height:1.3;letter-spacing:.02em}.slide-download-desc{font-size:11.5px;color:var(--muted);font-weight:400;line-height:1.3}.preview-filename{flex:1;text-align:center;font-size:12px;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 8px;min-width:0}.preview-panel-body{flex:1;overflow:auto;background:var(--bg)}.preview-panel-iframe{width:100%;height:100%;border:none;background:#fff}.preview-panel-body .sp-wrapper,.preview-panel-body .sp-wrapper>.sp-layout{height:100%!important;border:none!important;border-radius:0!important;background:transparent!important}.preview-panel-body .sp-stack{height:100%!important}.preview-panel-body .sp-preview,.preview-panel-body .sp-preview-container,.preview-panel-body .sp-preview-iframe{height:100%!important;width:100%!important}.preview-panel-body .sp-preview iframe{border:none!important;height:100%!important}.preview-panel-body .sp-preview-actions{display:none!important}.sandpack-mini-preview{position:fixed;bottom:80px;right:24px;width:180px;height:390px;border-radius:20px;border:1px solid rgba(0,0,0,.18);overflow:hidden;background:#fff;box-shadow:0 4px 24px #00000026;z-index:1000;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.sandpack-mini-preview:active{cursor:grabbing}.sandpack-mini-preview:hover{box-shadow:0 6px 32px #00000038}.sandpack-mini-preview .sp-wrapper,.sandpack-mini-preview .sp-wrapper>.sp-layout{width:375px!important;height:812px!important;border:none!important;border-radius:0!important;background:transparent!important}.sandpack-mini-preview .sp-stack{height:100%!important;transform:scale(.48);transform-origin:top left}.sandpack-mini-preview .sp-preview,.sandpack-mini-preview .sp-preview-container,.sandpack-mini-preview .sp-preview-iframe{height:100%!important;width:100%!important}.sandpack-mini-preview .sp-preview iframe{border:none!important;width:375px!important;height:812px!important;pointer-events:none}.sandpack-mini-preview .sp-preview-actions{display:none!important}.sandpack-mini-label{position:absolute;top:6px;left:8px;font-size:11px;font-weight:600;letter-spacing:.05em;color:#0009;background:#ffffffe6;padding:2px 6px;border-radius:4px;z-index:2;pointer-events:none}.sandpack-mini-close{position:absolute;top:4px;right:4px;width:22px;height:22px;border:none;border-radius:50%;background:#00000073;color:#fff;font-size:12px;line-height:1;cursor:pointer;z-index:3;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}.sandpack-mini-preview:hover .sandpack-mini-close{opacity:1}.sandpack-mini-close:hover{background:#000000b3}.sandpack-mini-resize{position:absolute;bottom:0;right:0;width:16px;height:16px;cursor:nwse-resize;z-index:3;opacity:0;transition:opacity .15s}.sandpack-mini-resize:before{content:"";position:absolute;bottom:3px;right:3px;width:8px;height:8px;border-right:2px solid rgba(0,0,0,.35);border-bottom:2px solid rgba(0,0,0,.35)}.sandpack-mini-preview:hover .sandpack-mini-resize{opacity:1}.code-viewer-overlay{position:fixed;inset:0;z-index:9999;background:#00000080;display:flex;align-items:center;justify-content:center;padding:24px}.code-viewer-modal{width:min(900px,90vw);height:min(700px,80vh);background:#1e1e2e;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000080}.code-viewer-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#181825;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.code-viewer-title{font-size:13px;font-weight:600;color:#cdd6f4;letter-spacing:.02em}.code-viewer-actions{display:flex;align-items:center;gap:8px}.code-viewer-copy-btn{padding:4px 12px;font-size:12px;font-weight:500;color:#cdd6f4;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:6px;cursor:pointer;transition:background .15s}.code-viewer-copy-btn:hover{background:#ffffff24}.code-viewer-close-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:#ffffff0f;border-radius:6px;color:#a6adc8;cursor:pointer;transition:background .15s}.code-viewer-close-btn:hover{background:#ffffff1f;color:#cdd6f4}.code-viewer-textarea{flex:1;padding:16px;font-family:JetBrains Mono,Fira Code,Cascadia Code,Menlo,Monaco,monospace;font-size:12.5px;line-height:1.6;color:#cdd6f4;background:#1e1e2e;border:none;outline:none;resize:none;overflow:auto;tab-size:2;white-space:pre;word-break:normal}.code-viewer-textarea::selection{background:#89b4fa40}.sandpack-error-fix-bar{flex-shrink:0;display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:color-mix(in srgb,var(--error, #dc2626) 12%,var(--panel));border-bottom:1px solid var(--border);max-height:240px}.sandpack-error-fix-text{margin:0;font-size:11px;line-height:1.4;color:var(--fg);white-space:pre-wrap;word-break:break-word;overflow:auto;flex:1;min-height:0;font-family:ui-monospace,Cascadia Code,JetBrains Mono,monospace}.sandpack-error-fix-actions{display:flex;gap:8px;flex-shrink:0}.sandpack-error-fix-btn{padding:6px 12px;font-size:12px;border-radius:6px;border:1px solid var(--border);background:var(--panel);color:var(--fg);cursor:pointer;transition:background .15s,border-color .15s}.sandpack-error-fix-btn:hover:not(:disabled){background:var(--hover);border-color:var(--primary)}.sandpack-error-fix-btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-fg, #fff)}.sandpack-error-fix-btn.primary:hover:not(:disabled){filter:brightness(1.08)}.sandpack-error-fix-btn:disabled{opacity:.6;cursor:not-allowed}.doc-viewer{min-height:100%}.doc-viewer-excel{display:flex;flex-direction:column;height:100%}.excel-grid-wrap{flex:1;overflow:scroll}.excel-grid{border-collapse:collapse;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Apple SD Gothic Neo,Malgun Gothic,Noto Sans KR,sans-serif;min-width:100%;table-layout:auto;user-select:none;-webkit-user-select:none}.excel-grid th,.excel-grid td{border:1px solid #e2e2e2;padding:2px 6px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.doc-viewer-pdf{flex:1;overflow:auto;background:#525659;padding:16px;display:flex;flex-direction:column;align-items:center;gap:16px}.doc-viewer-pdf .react-pdf__Document{display:flex;flex-direction:column;align-items:center;gap:16px}.doc-viewer-pdf .react-pdf__Page{position:relative;box-shadow:0 2px 8px #00000040}.doc-viewer-pdf .react-pdf__Page canvas{display:block}.doc-viewer-pdf .react-pdf__Page__textContent{position:absolute;inset:0;overflow:hidden;line-height:1;pointer-events:all}.doc-viewer-pdf .react-pdf__Page__textContent span{color:transparent;position:absolute;white-space:pre;pointer-events:all}.doc-viewer-pdf .react-pdf__Page__textContent span::selection{background:#0000ff40}.doc-viewer-pdf .react-pdf__Page__annotations{position:absolute;inset:0}.doc-viewer-pdf .react-pdf__Page__annotations a{color:#06c}.doc-viewer-pdf .react-pdf__Page__textContent span{transition:background .1s;border-radius:2px;cursor:pointer}.doc-viewer-pdf .react-pdf__Page__textContent span:hover{background:#48c78e59!important}.slide-viewer{display:flex;flex-direction:column;height:100%;overflow:hidden;outline:none}.slide-viewer-body{display:flex;flex:1;min-height:0;overflow:hidden}.slide-viewer-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--muted, #888);font-size:15px;gap:4px}.slide-add-first{margin-top:16px;display:flex;align-items:center;gap:6px;padding:8px 18px;border:1px dashed var(--border-color, #ccc);border-radius:8px;background:none;color:var(--accent, #007acc);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.slide-add-first:hover{background:var(--accent-bg, rgba(79, 70, 229, .06));border-color:var(--accent, #007acc)}.slide-thumbnails{width:148px;min-width:148px;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;background:var(--bg-secondary, #f5f5f7);border-right:1px solid var(--border-color, #e5e5e5);padding:8px 6px 8px 4px;display:flex;flex-direction:column;gap:2px;scrollbar-width:thin}.slide-thumbnails::-webkit-scrollbar{width:3px}.slide-thumbnails::-webkit-scrollbar-thumb{background:#0000001f;border-radius:3px}.slide-thumb{display:flex;align-items:center;gap:4px;background:none;border:none;border-radius:6px;padding:4px 3px;cursor:grab;transition:background .15s,transform .12s;position:relative;-webkit-user-select:none;user-select:none;flex-shrink:0}.slide-thumb:active{cursor:grabbing}.slide-thumb:hover{background:#00000009}.slide-thumb.active{background:var(--accent-bg, rgba(79, 70, 229, .07))}.slide-thumb.dragging{opacity:.35;transform:scale(.92)}.slide-thumb.drag-over:before{content:"";position:absolute;top:-1px;left:22px;right:4px;height:2px;background:var(--accent, #007acc);border-radius:1px;z-index:2}.slide-thumb-num{font-size:12px;color:var(--muted, #aaa);font-weight:600;font-variant-numeric:tabular-nums;width:16px;text-align:right;flex-shrink:0}.slide-thumb.active .slide-thumb-num{color:var(--accent, #007acc);font-weight:700}.slide-thumb-card{position:relative;flex:1;min-width:100px;border-radius:4px;overflow:hidden;display:flex;justify-content:center;align-items:flex-start}.slide-thumb-preview{width:100px;max-width:100%;overflow:hidden;border-radius:4px;background:#fff;position:relative;flex-shrink:0;box-shadow:0 .5px 2px #00000014,0 0 0 1px #0000000d;transition:box-shadow .15s}.slide-thumb.active .slide-thumb-preview{box-shadow:0 0 0 2px var(--accent, #007acc),0 2px 6px #4f46e526}.slide-thumb:hover .slide-thumb-preview{box-shadow:0 1px 5px #0000001f,0 0 0 1px #00000012}.slide-thumb.active:hover .slide-thumb-preview{box-shadow:0 0 0 2px var(--accent, #007acc),0 2px 8px #4f46e533}.slide-thumb-preview iframe{position:absolute;top:0;left:0}.slide-thumb-actions{position:absolute;top:2px;right:2px;display:flex;gap:2px;z-index:5}.slide-thumb-act-btn{width:20px;height:20px;border:none;border-radius:4px;background:#00000080;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s,transform .12s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.slide-thumb-act-btn:hover{background:#000000b8;transform:scale(1.08)}.slide-thumb-act-btn.delete:hover{background:#ef4444}.slide-add-btn{display:flex;align-items:center;justify-content:center;margin:2px 0 0 20px;width:117px;height:28px;border:1.5px dashed var(--border-color, #d4d4d4);border-radius:5px;background:none;color:var(--muted, #bbb);cursor:pointer;transition:all .15s;flex-shrink:0}.slide-add-btn:hover{border-color:var(--accent, #007acc);color:var(--accent, #007acc);background:var(--accent-bg, rgba(79, 70, 229, .04))}.slide-add-btn svg{width:13px;height:13px}.slide-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;position:relative}.slide-font-btn{position:absolute;top:10px;right:10px;z-index:20;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#00000073;color:#fff;cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:all .15s;opacity:.7}.slide-font-btn:hover{opacity:1;background:#0009;border-color:#ffffff59}.slide-scroll-area{flex:1;overflow:auto;background:linear-gradient(145deg,#3a3d41,#2a2d31);min-height:0;scroll-behavior:auto;touch-action:pan-x pan-y pinch-zoom}.slide-scroll-area::-webkit-scrollbar{width:6px;height:6px}.slide-scroll-area::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:3px}.slide-scroll-area::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.slide-scroll-content{display:flex;flex-direction:column;align-items:center;min-width:min-content;min-height:100%;padding:10px 0;gap:10px}.slide-scroll-page{flex-shrink:0;display:flex;justify-content:center;cursor:pointer;border-radius:4px;transition:box-shadow .15s}.slide-scroll-page .slide-stage{transition:outline-color .15s,outline-offset .15s;outline:2.5px solid transparent;outline-offset:3px}.slide-scroll-page.active .slide-stage{outline-color:var(--accent, #2563eb)}.slide-stage{position:relative;box-shadow:0 8px 40px #0006,0 2px 8px #0003;border-radius:3px;touch-action:manipulation}.slide-iframe{border:none;display:block;background:transparent;border-radius:2px}.slide-zoom-controls{position:absolute;bottom:52px;right:12px;display:flex;align-items:center;gap:2px;background:#1e1e24e0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:8px;padding:3px 4px;z-index:20;box-shadow:0 2px 10px #00000059,0 0 0 1px #ffffff14;-webkit-user-select:none;user-select:none}.slide-zoom-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:5px;background:none;color:#eee;cursor:pointer;transition:background .12s}.slide-zoom-btn:hover:not(:disabled){background:#ffffff26}.slide-zoom-btn:disabled{opacity:.3;cursor:default}.slide-zoom-divider{width:1px;height:18px;background:#ffffff26;margin:0 2px;flex-shrink:0}.slide-zoom-pct{min-width:44px;height:28px;display:flex;align-items:center;justify-content:center;border:none;border-radius:5px;background:none;color:#eee;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer;transition:background .12s;padding:0 4px}.slide-zoom-pct:hover{background:#ffffff1f}.slide-zoom-input{width:48px;height:28px;border:1px solid rgba(255,255,255,.3);border-radius:5px;background:#ffffff1a;color:#fff;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;text-align:center;outline:none;padding:0 2px}.slide-zoom-input:focus{border-color:var(--accent, #007acc);background:#ffffff26}.slide-nav{display:flex;align-items:center;justify-content:center;gap:8px;padding:7px 16px;border-top:1px solid var(--border-color, #e5e5e5);background:var(--bg-primary, #fff);flex-shrink:0}.slide-nav-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--border-color, #ddd);border-radius:7px;background:var(--bg-primary, #fff);cursor:pointer;color:var(--text-primary, #333);transition:all .15s}.slide-nav-btn:hover:not(:disabled){background:var(--hover-bg, #f0f0f0);border-color:var(--accent, #007acc);color:var(--accent, #007acc)}.slide-nav-btn:disabled{opacity:.3;cursor:default}.slide-nav-btn.delete:hover:not(:disabled){border-color:#ef4444;color:#ef4444;background:#ef44440f}.slide-nav-counter{font-size:13px;font-weight:600;color:var(--text-secondary, #555);min-width:56px;text-align:center;font-variant-numeric:tabular-nums}.slide-nav-divider{width:1px;height:18px;background:var(--border-color, #e0e0e0);margin:0 4px}@media(max-width:768px){.slide-thumbnails{display:none}}.word-viewer{display:flex;height:100%;overflow:hidden;outline:none}.word-viewer-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--muted, #888);font-size:15px;gap:4px}.word-add-first{margin-top:16px;display:flex;align-items:center;gap:6px;padding:8px 18px;border:1px dashed var(--border-color, #ccc);border-radius:8px;background:none;color:var(--accent, #007acc);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.word-add-first:hover{background:var(--accent-bg, rgba(79, 70, 229, .06));border-color:var(--accent, #007acc)}.word-thumbnails{width:120px;min-width:120px;overflow-y:auto;overflow-x:hidden;background:var(--bg-secondary, #f5f5f7);border-right:1px solid var(--border-color, #e5e5e5);padding:8px 4px;display:flex;flex-direction:column;gap:2px;scrollbar-width:thin}.word-thumbnails::-webkit-scrollbar{width:3px}.word-thumbnails::-webkit-scrollbar-thumb{background:#0000001f;border-radius:3px}.word-thumb{display:flex;align-items:flex-start;gap:4px;background:none;border:none;border-radius:6px;padding:4px 3px;cursor:grab;transition:background .15s,transform .12s;position:relative;-webkit-user-select:none;user-select:none;flex-shrink:0}.word-thumb:active{cursor:grabbing}.word-thumb:hover{background:#00000009}.word-thumb.active{background:var(--accent-bg, rgba(79, 70, 229, .07))}.word-thumb.dragging{opacity:.35;transform:scale(.92)}.word-thumb.drag-over:before{content:"";position:absolute;top:-1px;left:20px;right:4px;height:2px;background:var(--accent, #007acc);border-radius:1px;z-index:2}.word-thumb-num{font-size:12px;color:var(--muted, #aaa);font-weight:600;font-variant-numeric:tabular-nums;width:16px;text-align:right;flex-shrink:0;margin-top:4px}.word-thumb.active .word-thumb-num{color:var(--accent, #007acc);font-weight:700}.word-thumb-card{position:relative;flex:1;min-width:0;border-radius:3px;overflow:hidden}.word-thumb-preview{width:84px;height:119px;overflow:hidden;border-radius:3px;background:#fff;position:relative;box-shadow:0 .5px 2px #00000014,0 0 0 1px #0000000d;transition:box-shadow .15s}.word-thumb.active .word-thumb-preview{box-shadow:0 0 0 2px var(--accent, #007acc),0 2px 6px #4f46e526}.word-thumb:hover .word-thumb-preview{box-shadow:0 1px 5px #0000001f,0 0 0 1px #00000012}.word-thumb.active:hover .word-thumb-preview{box-shadow:0 0 0 2px var(--accent, #007acc),0 2px 8px #4f46e533}.word-thumb-actions{position:absolute;top:2px;right:2px;display:flex;gap:2px;z-index:5}.word-thumb-act-btn{width:20px;height:20px;border:none;border-radius:4px;background:#00000080;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s,transform .12s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.word-thumb-act-btn:hover{background:#000000b8;transform:scale(1.08)}.word-thumb-act-btn.delete:hover{background:#ef4444}.word-add-btn{display:flex;align-items:center;justify-content:center;margin:2px 0 0 20px;width:84px;height:28px;border:1.5px dashed var(--border-color, #d4d4d4);border-radius:4px;background:none;color:var(--muted, #bbb);cursor:pointer;transition:all .15s;flex-shrink:0}.word-add-btn:hover{border-color:var(--accent, #007acc);color:var(--accent, #007acc);background:var(--accent-bg, rgba(79, 70, 229, .04))}.word-add-btn svg{width:13px;height:13px}.word-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;position:relative}.word-scroll-area{flex:1;overflow:auto;background:linear-gradient(145deg,#e0e0e0,#d4d4d4);min-height:0;scroll-behavior:auto;touch-action:pan-x pan-y pinch-zoom}.word-scroll-area::-webkit-scrollbar{width:6px;height:6px}.word-scroll-area::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}.word-scroll-area::-webkit-scrollbar-thumb:hover{background:#00000040}.word-scroll-content{display:flex;flex-direction:column;align-items:center;min-height:100%;padding:10px 0;gap:10px}.word-scroll-page{flex-shrink:0;display:flex;justify-content:center}.word-stage{position:relative;box-shadow:0 2px 12px #0000001a,0 0 4px #0000000d;border-radius:2px;touch-action:manipulation}.word-page-frame{width:794px;min-height:1123px;border:none;display:block;background:#fff}.word-nav{display:flex;align-items:center;justify-content:center;gap:8px;padding:7px 16px;border-top:1px solid var(--border-color, #e5e5e5);background:var(--bg-primary, #fff);flex-shrink:0}.word-nav-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--border-color, #ddd);border-radius:7px;background:var(--bg-primary, #fff);cursor:pointer;color:var(--text-primary, #333);transition:all .15s}.word-nav-btn:hover:not(:disabled){background:var(--hover-bg, #f0f0f0);border-color:var(--accent, #007acc);color:var(--accent, #007acc)}.word-nav-btn:disabled{opacity:.3;cursor:default}.word-nav-btn.delete:hover:not(:disabled){border-color:#ef4444;color:#ef4444;background:#ef44440f}.word-nav-counter{font-size:13px;font-weight:600;color:var(--text-secondary, #555);min-width:56px;text-align:center;font-variant-numeric:tabular-nums}.word-nav-divider{width:1px;height:18px;background:var(--border-color, #e0e0e0);margin:0 4px}@media(max-width:768px){.word-thumbnails{display:none}}.word-inline-preview{margin:12px 0;border-radius:8px;overflow:hidden;border:1px solid var(--border-color, #e0e0e0);background:var(--bg-secondary, #f5f5f7);max-width:360px}.word-inline-label{font-size:12px;font-weight:700;color:var(--muted, #888);padding:6px 10px 2px;text-transform:uppercase;letter-spacing:.05em}.word-inline-frame-wrap{position:relative;overflow:hidden;width:100%;max-width:100%;border-radius:0 0 6px 6px;background:#fff}.word-inline-frame{width:794px;height:1123px;transform-origin:0 0;pointer-events:none}.word-inline-streaming-bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,transparent,var(--accent, #2563eb),transparent);background-size:200% 100%;animation:word-inline-streaming 1.2s ease-in-out infinite;pointer-events:none}@keyframes word-inline-streaming{0%,to{opacity:.6;background-position:200% 0}50%{opacity:1;background-position:-100% 0}}.slideshow-fullscreen{position:fixed;inset:0;z-index:99999;background:#000;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}.slideshow-iframe{width:100%;height:100%;border:none;pointer-events:none}.slideshow-controls{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));background:linear-gradient(transparent,#000000b3);opacity:0;transition:opacity .3s;pointer-events:none;z-index:100000}.slideshow-fullscreen:hover .slideshow-controls,.slideshow-fullscreen.show-controls .slideshow-controls{opacity:1;pointer-events:auto}.slideshow-ctrl-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:50%;background:#ffffff26;color:#fff;cursor:pointer;transition:background .2s;-webkit-tap-highlight-color:transparent}.slideshow-ctrl-btn:hover:not(:disabled){background:#ffffff4d}.slideshow-ctrl-btn:active:not(:disabled){background:#fff6}.slideshow-ctrl-btn:disabled{opacity:.3;cursor:default}.slideshow-counter{font-size:14px;color:#fffc;font-family:-apple-system,Segoe UI,sans-serif;min-width:60px;text-align:center;-webkit-user-select:none;user-select:none}.slideshow-ctrl-divider{width:1px;height:24px;background:#fff3;margin:0 8px}@media(max-width:768px){.slideshow-ctrl-btn{width:44px;height:44px}.slideshow-controls{gap:12px;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.slideshow-counter{font-size:15px;min-width:70px}}.pdf-ctx-menu{position:fixed;z-index:10000;background:var(--bg-primary, #1e1e1e);border:1px solid var(--border-color, #3a3a3a);border-radius:8px;box-shadow:0 6px 24px #00000073;min-width:200px;padding:4px 0;animation:pdfCtxFadeIn .12s ease-out}@keyframes pdfCtxFadeIn{0%{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.pdf-ctx-btn{display:flex;align-items:center;gap:8px;width:100%;padding:7px 12px;background:none;border:none;color:var(--text-primary, #ddd);font-size:13px;cursor:pointer;text-align:left}.pdf-ctx-btn:hover{background:var(--hover-bg, #2a2a2a)}.pdf-ctx-btn svg{flex-shrink:0;opacity:.6}.doc-load-state{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#6b7280;font-size:14px}.doc-load-state.error{color:#b42318}.doc-load-title{font-weight:600;color:inherit}.pdf-empty-placeholder{gap:0!important;-webkit-user-select:none;user-select:none;text-align:center;padding:40px 24px}.pdf-empty-icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center;border-radius:18px;background:#ffffff14;border:1px solid rgba(255,255,255,.08);margin-bottom:18px;color:#ffffff73}.pdf-empty-title{margin:0 0 6px;font-size:15px;font-weight:600;color:#ffffffb8;letter-spacing:-.01em}.pdf-empty-sub{margin:0;font-size:12.5px;color:#ffffff5c;line-height:1.5}.pdf-empty-sub strong{color:#ffffff8c;font-weight:500}.doc-load-file,.doc-load-msg{font-size:12px;color:#7a7a7a}.excel-corner{width:40px;min-width:40px;background:#f5f5f5;position:sticky;left:0;top:0;z-index:3;border-bottom:2px solid #d0d0d0;border-right:2px solid #d0d0d0}.excel-col-hdr{background:#f5f5f5;color:#555;font-weight:500;text-align:center!important;min-width:60px;position:sticky;top:0;z-index:2;font-size:12px;border-bottom:2px solid #d0d0d0}.excel-row-hdr{background:#f5f5f5;color:#555;font-weight:500;text-align:center!important;width:40px;min-width:40px;position:sticky;left:0;z-index:1;font-size:12px;border-right:2px solid #d0d0d0}.excel-cell{background:#fff;color:#222;height:22px;cursor:cell;vertical-align:middle}.excel-cell-selected{background:#d1e3ff!important;outline:2px solid #2563eb;outline-offset:-1px}.excel-sel-bar{display:flex;align-items:center;gap:6px;padding:6px 10px;border-top:1px solid #d4d4d4;background:#f8f8f8;flex-shrink:0}.excel-sel-range{font-size:12px;font-weight:700;font-family:Consolas,Menlo,monospace;color:#2563eb;background:#e8f0fe;padding:2px 8px;border-radius:4px;margin-right:4px}.excel-sel-btn{font-size:12px;padding:3px 10px;border:1px solid #d4d4d4;border-radius:4px;background:#fff;color:#333;cursor:pointer;transition:background .12s}.excel-sel-btn:hover{background:#e8f0fe;border-color:#2563eb;color:#2563eb}.excel-sel-cancel{border:none;color:#999;font-size:13px;padding:3px 6px;margin-left:auto}.excel-sel-cancel:hover{color:#e44;background:transparent;border-color:transparent}.excel-sheet-tabs{display:flex;gap:0;border-top:1px solid #d4d4d4;background:#f0f0f0;padding:0 4px;flex-shrink:0;overflow-x:auto}.excel-tab{background:none;border:none;border-top:2px solid transparent;padding:6px 14px;font-size:12px;color:#888;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s}.excel-tab:hover{color:#333}.excel-tab.active{color:#222;border-top-color:#2563eb;font-weight:600;background:#fff}@media(max-width:768px){.chat-content-wrapper{position:relative}.resize-handle{display:none}.preview-panel{position:absolute;top:0;right:0;width:100%!important;max-width:100%;height:100%;border-left:none;z-index:50;flex:none!important}.preview-panel-fullscreen{display:none!important}}.doc-replace-overlay{position:fixed;inset:0;z-index:1000;background:#0006;display:flex;align-items:center;justify-content:center;padding:20px}.doc-replace-dialog{background:var(--panel);border:1px solid var(--border);padding:24px;max-width:360px;width:100%}.doc-replace-message{font-size:15px;font-weight:500;color:var(--text);margin:0 0 8px}.doc-replace-filename{font-size:13px;color:var(--text-secondary);margin:0 0 20px;word-break:break-all}.doc-replace-actions{display:flex;gap:10px;justify-content:flex-end}.doc-replace-btn{height:36px;padding:0 18px;font-size:13px;font-weight:500;border-radius:0;cursor:pointer;font-family:inherit;border:1px solid var(--border);background:var(--panel);color:var(--text)}.doc-replace-btn.primary{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.doc-replace-btn:hover{opacity:.9}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:0 18px;height:52px;min-height:52px;background:var(--panel);border-bottom:1px solid var(--border)}.header-left{display:flex;align-items:center;gap:6px}.sidebar-toggle-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:none;background:transparent;color:var(--muted);cursor:pointer;transition:background .12s,color .12s}.sidebar-toggle-btn:hover{background:var(--hover);color:var(--fg)}.header-logo{height:10px;width:auto;color:var(--text);flex-shrink:0;opacity:.95}.header-actions{display:flex;align-items:center;gap:6px}.settings-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--panel);border:1px solid var(--border);border-radius:0;color:var(--muted);cursor:pointer;transition:all .15s}.settings-btn:hover{color:var(--text);border-color:var(--primary)}.settings-btn.active{color:var(--primary);border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--panel))}.settings-btn svg{display:block}.header-mobile-only{display:none}@media(max-width:1023px){.header-mobile-only{display:flex}}.header-mobile-only:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.credit-warning-btn{display:flex;align-items:center;gap:5px;height:30px;padding:0 12px;border-radius:8px;border:1.5px solid #f59e0b;background:#fefce8;color:#92400e;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s;animation:credit-warning-pulse 2s ease-in-out infinite}.credit-warning-btn svg{flex-shrink:0;color:#d97706}.credit-warning-btn:hover{background:#fef9c3;border-color:#d97706;color:#78350f}@keyframes credit-warning-pulse{0%,to{box-shadow:0 0 #f59e0b4d}50%{box-shadow:0 0 0 4px #f59e0b1a}}[data-theme=dark] .credit-warning-btn{background:#f59e0b1a;border-color:#f59e0b80;color:#fbbf24}[data-theme=dark] .credit-warning-btn svg{color:#f59e0b}[data-theme=dark] .credit-warning-btn:hover{background:#f59e0b2e;border-color:#f59e0b;color:#fde68a}html.pseudo-fullscreen{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;overflow:hidden;z-index:99999;background:#0e0e10}html.pseudo-fullscreen body{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}html.pseudo-fullscreen .chat-header{margin-top:env(safe-area-inset-top,0)}html.pseudo-fullscreen .chat-input-area{padding-bottom:max(0px,calc(env(safe-area-inset-bottom,0px) - 20px))}@media all and (display-mode:fullscreen){html,body{padding:0!important}}@media all and (display-mode:standalone){.chat-header{margin-top:env(safe-area-inset-top,0)}.input-area{padding-bottom:max(0px,calc(env(safe-area-inset-bottom,0px) - 20px))}}.toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 18px;height:46px;min-height:46px;background:var(--panel);border-bottom:1px solid var(--border);gap:8px;position:relative;z-index:200}.toolbar-left{display:flex;align-items:center;gap:8px;min-width:0}.toolbar-right{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.toolbar-export-btn{height:32px;padding:0 12px;box-sizing:border-box;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:0;font-size:13px;font-weight:500;line-height:1;cursor:pointer;transition:all .15s;font-family:inherit;display:flex;align-items:center;gap:6px;white-space:nowrap;flex-shrink:0}.toolbar-export-btn:hover{border-color:var(--primary);color:var(--primary)}.toolbar-export-btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.toolbar-export-btn svg{flex-shrink:0}@media(max-width:690px){.toolbar-export-btn span{display:none}.toolbar-export-btn{padding:0 8px}}@media(max-width:768px){.toolbar-export-btn{display:none}}.app-mode-tabs{display:flex;align-items:center;gap:2px;flex-shrink:0}.app-mode-tab{height:30px;padding:0 10px;background:transparent;color:var(--muted);border:1px solid transparent;border-radius:0;font-size:12.5px;font-weight:500;letter-spacing:.02em;cursor:pointer;transition:all .15s;font-family:inherit;display:flex;align-items:center;gap:5px;white-space:nowrap}.app-mode-tab:hover{color:var(--text);background:var(--bg)}.app-mode-tab.active{background:var(--primary);color:var(--on-primary);font-weight:600;border-color:var(--primary)}.app-mode-tab-icon{font-size:13px;line-height:1;flex-shrink:0}.app-mode-tab-label{line-height:1}.app-mode-selector.mobile-only{display:none}@media(max-width:905px){.app-mode-tabs{display:none}.app-mode-selector.mobile-only{display:block}}.app-mode-readonly{display:flex;align-items:center;gap:5px;height:30px;padding:0 10px;font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap;-webkit-user-select:none;user-select:none}.app-mode-selector{position:relative;flex-shrink:0}.app-mode-trigger{height:32px;padding:0 12px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:0;font-size:13px;font-weight:500;letter-spacing:.02em;cursor:pointer;transition:border-color .15s;font-family:inherit;display:flex;align-items:center;gap:5px;white-space:nowrap}.app-mode-trigger:hover{border-color:var(--primary)}.mode-dropdown{position:absolute;top:calc(100% + 4px);left:0;background:var(--panel);border:1px solid var(--border);min-width:170px;max-height:min(320px,calc(100vh - 120px));z-index:9999;box-shadow:var(--shadow);overflow-y:auto;-webkit-overflow-scrolling:touch}.mode-icon{font-size:14px;line-height:1;flex-shrink:0}.mode-option{padding:8px 12px;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .1s;color:var(--text);white-space:nowrap}.mode-option-icon{font-size:15px;width:22px;text-align:center;flex-shrink:0;line-height:1}.mode-option-label{flex:1}.mode-option:hover{background:var(--bg)}.mode-option.selected{font-weight:600}.convert-formats-wrap{position:relative;flex-shrink:0}.convert-sub-wrap{position:relative}.convert-sub-trigger{height:32px;padding:0 12px;background:var(--panel);color:var(--text-secondary, var(--text));border:1px solid var(--border);border-radius:0;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;font-family:inherit;display:flex;align-items:center;gap:6px;white-space:nowrap}.convert-sub-trigger:hover{border-color:var(--primary)}.convert-sub-icon{font-size:14px;line-height:1}.convert-sub-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:0;width:max-content;max-height:420px;overflow-y:auto;background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);z-index:200;padding:4px 0}.convert-sub-option{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:background .1s;color:var(--text);font-size:14px}.convert-sub-option:hover{background:var(--hover)}.convert-sub-option.active{background:var(--primary-bg, rgba(0, 122, 204, .08))}.convert-sub-opt-icon{font-size:16px;width:24px;text-align:center;flex-shrink:0;line-height:1}.convert-sub-opt-label{font-weight:500;flex-shrink:0;min-width:60px}.convert-sub-opt-desc{color:var(--muted);font-size:13px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.convert-formats-trigger{height:32px;padding:0 12px;background:var(--panel);color:var(--text-secondary, var(--text));border:1px solid var(--border);border-radius:0;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;font-family:inherit;display:flex;align-items:center;gap:5px;white-space:nowrap}.convert-formats-trigger:hover{border-color:var(--primary);color:var(--primary)}.convert-formats-trigger svg{opacity:.6;flex-shrink:0}.convert-formats-dropdown{position:absolute;top:calc(100% + 4px);left:0;background:var(--panel);border:1px solid var(--border);width:420px;max-height:min(480px,calc(100vh - 120px));z-index:9999;box-shadow:0 12px 40px #00000040;overflow:hidden;display:flex;flex-direction:column;animation:convertFmtIn .15s ease}@keyframes convertFmtIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.convert-formats-header{padding:12px 16px;font-size:14px;font-weight:600;color:var(--text);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:var(--bg)}.convert-formats-count{font-size:12px;font-weight:500;color:var(--primary);background:var(--primary-bg, rgba(99, 102, 241, .1));padding:2px 8px;border-radius:10px}.convert-formats-body{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px 0}.convert-formats-category{padding:0 12px;margin-bottom:8px}.convert-formats-cat-label{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary, #888);padding:6px 4px 4px;border-bottom:1px solid var(--border);margin-bottom:4px}.convert-formats-list{display:flex;flex-direction:column}.convert-formats-item{display:flex;align-items:baseline;gap:8px;padding:5px 6px;font-size:13px;border-radius:4px;transition:background .1s}.convert-formats-item:hover{background:var(--bg)}.convert-fmt-from{font-weight:700;color:var(--primary);min-width:56px;font-family:SF Mono,Fira Code,monospace;font-size:12.5px}.convert-fmt-arrow{color:var(--text-secondary, #888);font-size:12px;flex-shrink:0}.convert-fmt-targets{color:var(--text);font-size:12.5px;line-height:1.5;font-family:SF Mono,Fira Code,monospace;opacity:.85}.convert-features-dropdown{width:440px}.convert-feature-item{display:flex;gap:10px;padding:9px 14px;border-radius:4px;transition:background .1s;cursor:default}.convert-feature-item:hover{background:var(--bg)}.convert-feature-icon{font-size:20px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--bg);border-radius:8px}.convert-feature-info{display:flex;flex-direction:column;gap:2px;min-width:0}.convert-feature-label{font-size:13.5px;font-weight:600;color:var(--text)}.convert-feature-desc{font-size:12.5px;color:var(--text);opacity:.75}.convert-feature-detail{font-size:11.5px;color:var(--text-secondary, #888);opacity:.65}.convert-feature-example{font-size:12px;color:var(--primary);font-family:SF Mono,Fira Code,monospace;opacity:.8;margin-top:2px}@media(max-width:768px){.convert-formats-dropdown,.convert-features-dropdown{width:calc(100vw - 24px);left:-60px;max-height:60vh}}.dev-mode-tabs{display:flex;gap:2px;flex-shrink:0}.dev-mode-dropdown-wrap{display:none;position:relative}@media(max-width:520px){.dev-mode-tabs{display:none}.dev-mode-dropdown-wrap{display:block}}.dev-mode-tab{height:28px;padding:0 10px;background:transparent;color:var(--muted);border:none;border-radius:0;font-size:13px;font-weight:500;letter-spacing:.02em;cursor:pointer;transition:all .15s;font-family:inherit;white-space:nowrap}.dev-mode-tab:hover{color:var(--text)}.dev-mode-tab.active{background:var(--primary);color:var(--on-primary);font-weight:600}.creator-settings-wrap{position:relative;flex-shrink:0}.creator-settings-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;transition:background .12s,color .12s}.creator-settings-btn:hover{background:var(--hover);color:var(--fg)}.creator-settings-panel{position:absolute;top:calc(100% + 6px);right:0;width:220px;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);padding:14px;z-index:200;animation:fadeIn .12s ease}.creator-settings-title{font-size:12px;font-weight:600;color:var(--fg);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.creator-settings-label{display:block;font-size:11px;font-weight:500;color:var(--muted);margin-bottom:4px;margin-top:10px}.creator-settings-label:first-of-type{margin-top:0}.creator-settings-select{width:100%;padding:6px 24px 6px 8px;font-size:12px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--fg);font-family:inherit;cursor:pointer;outline:none;transition:border-color .12s;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23999'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.creator-settings-select:focus{border-color:var(--primary)}[data-theme=dark] .creator-settings-select{background-color:#1a1a1a}.creator-settings-empty{font-size:12px;color:var(--muted);text-align:center;padding:8px 4px}.model-trigger-label{font-size:11px;color:var(--text-secondary);margin-right:4px;text-transform:uppercase;letter-spacing:.05em;opacity:.8}.model-selector{position:relative;flex-shrink:0}.model-trigger{height:32px;padding:0 12px;box-sizing:border-box;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:0;font-size:13px;font-weight:500;line-height:1;cursor:pointer;transition:all .15s;font-family:inherit;display:flex;align-items:center;gap:6px;white-space:nowrap}.model-trigger:hover{border-color:var(--primary);color:var(--primary)}.model-caret{font-size:12px;color:var(--muted)}.model-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:340px;max-height:calc(100vh - 110px);background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);z-index:9999;animation:dropdownIn .15s ease;display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch}.model-dropdown-header,.model-dropdown-footer{padding:4px 0}.model-search-wrap{padding:4px 8px}.model-search-input{width:100%;height:30px;padding:0 8px;font-size:13px;font-family:inherit;background:var(--bg);border:1px solid var(--border);border-radius:0;color:var(--text);outline:none;transition:border-color .15s}.model-search-input:focus{border-color:var(--primary)}.model-search-input::placeholder{color:var(--muted)}.model-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px 8px 8px}.model-grid-card{background:var(--bg);border:1px solid var(--border);padding:4px 0;display:flex;flex-direction:column}.model-grid-label{padding:2px 8px;font-size:11px;font-weight:600;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.model-grid-item{padding:5px 8px;font-size:12.5px;letter-spacing:.02em;color:var(--text);cursor:pointer;transition:background .1s}.model-grid-item:hover{background:var(--panel)}.model-grid-item.selected{font-weight:600;color:var(--primary)}.model-grid-item.no-key{opacity:.4;cursor:not-allowed;pointer-events:auto;position:relative}.model-grid-item.no-key:hover{background:transparent}.no-key-label{font-size:11px;margin-left:4px;color:var(--muted);font-weight:400}.model-no-result{grid-column:1 / -1;padding:16px 14px;font-size:13px;color:var(--muted);text-align:center}@keyframes dropdownIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.model-dropdown-divider{height:1px;background:var(--border)}.model-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:5px 10px;font-size:12px;letter-spacing:.02em;color:var(--text);cursor:pointer;transition:background .1s}.model-toggle-row:hover{background:var(--bg)}.model-toggle-row.forced{opacity:.5;cursor:default}.model-toggle-row.forced:hover{background:none}.toggle{width:34px;height:18px;background:var(--border);border-radius:9px;position:relative;transition:background .2s;flex-shrink:0}.toggle.on{background:var(--primary)}.toggle-knob{width:14px;height:14px;background:var(--panel);border-radius:50%;position:absolute;top:2px;left:2px;transition:transform .2s}.toggle.on .toggle-knob{transform:translate(16px)}.model-opt-badge{font-size:10px;padding:1px 5px;border-radius:4px;background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary);font-weight:600;letter-spacing:.02em;margin-left:2px}.model-option{display:flex;align-items:center;justify-content:space-between;padding:5px 10px;font-size:12px;letter-spacing:.02em;color:var(--text);cursor:pointer;transition:background .1s}.model-option:hover{background:var(--bg)}.model-option.add-model{color:var(--muted);font-size:12px}.messages-container{flex:1;overflow-y:auto;padding:16px 14px;background:var(--chat-bg);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;position:relative}.message{display:flex;gap:10px;margin-bottom:12px;min-height:0}.chat-search-bar{flex-shrink:0;padding:8px 12px;background:var(--panel);border-bottom:1px solid var(--border);box-shadow:var(--shadow)}.chat-search-inner{display:flex;align-items:center;gap:6px;max-width:480px;margin:0 auto;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:4px 8px}.chat-search-icon{flex-shrink:0;color:var(--muted)}.chat-search-input{flex:1;border:none;outline:none;background:transparent;font-size:13px;color:var(--text);min-width:0}.chat-search-input::placeholder{color:var(--muted)}.chat-search-count{font-size:12px;color:var(--muted);white-space:nowrap;min-width:32px;text-align:center}.chat-search-nav-btn,.chat-search-close-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:var(--muted);flex-shrink:0}.chat-search-nav-btn:hover,.chat-search-close-btn:hover{background:var(--border)}.chat-search-nav-btn:disabled{opacity:.3;cursor:default}.chat-search-close-btn{color:var(--muted)}.message.search-highlight{background:#ffd54f2e;border-radius:8px;transition:background .2s}[data-theme=dark] .message.search-highlight{background:#ffd54f1f}.message.user{flex-direction:row-reverse}.message-avatar{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:14px;background:var(--panel);border:1px solid var(--border);flex-shrink:0;overflow:hidden}.avatar-logo{width:22px;height:22px;object-fit:contain}.message.user .message-avatar{background:var(--panel);border:1px solid var(--border)}.message-content{max-width:85%;display:flex;flex-direction:column;-webkit-user-select:text;user-select:text;gap:4px;min-width:0}.message.assistant .message-content{max-width:100%}.message.user .message-content{align-items:flex-end;overflow:hidden;max-width:100%}.message.user .message-content .message-text,.message.user .message-content .markdown-body{max-width:100%;overflow-wrap:anywhere;word-break:break-word}.message.user .message-content pre,.message.user .message-content .code-block pre,.message.user .message-content .markdown-body>pre{max-width:100%;overflow-x:auto;overflow-y:visible;white-space:pre-wrap;word-break:break-all;overflow-wrap:anywhere;-webkit-overflow-scrolling:touch}.message.user .message-content pre code,.message.user .message-content .code-block pre code,.message.user .message-content .markdown-body>pre code{white-space:pre-wrap;word-break:break-all;overflow-wrap:anywhere}.message-text{padding:8px 12px;background:var(--panel);border:1px solid var(--border);font-size:14px;line-height:1.6;letter-spacing:.02em;word-wrap:break-word;word-break:break-all;overflow-wrap:anywhere;color:var(--text);max-width:100%;font-weight:500;-webkit-user-select:text;user-select:text}.message.user .message-text{white-space:pre-wrap;background:var(--user-bubble);border-color:var(--user-bubble-border);color:var(--user-bubble-text)}.message.assistant .message-content .markdown-body{font-weight:500}.message-edited-label{font-size:11px;color:var(--muted);margin-left:6px;font-weight:500}.preview-error-message{max-width:100%;font-size:13px}.preview-error-intro{margin:0 0 10px;color:var(--user-bubble-text);font-weight:500}.preview-error-box{background:color-mix(in srgb,var(--error, #dc2626) 10%,var(--panel));border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:10px}.preview-error-header{padding:10px 12px;border-bottom:1px solid var(--border)}.preview-error-type{display:inline-block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--error, #dc2626);margin-bottom:4px}.preview-error-summary{margin:0;font-size:12px;line-height:1.5;color:var(--text);word-break:break-word;overflow-wrap:anywhere}.preview-error-code{overflow-x:auto;max-width:100%}.preview-error-code-table{width:100%;border-collapse:collapse;font-family:ui-monospace,Cascadia Code,JetBrains Mono,monospace;font-size:12px;line-height:1.5}.preview-error-code-table .line-num{width:28px;min-width:28px;padding:2px 8px 2px 12px;color:var(--muted);text-align:right;vertical-align:top;-webkit-user-select:none;user-select:none;border-right:1px solid var(--border)}.preview-error-code-table .line-code{padding:2px 12px;white-space:pre-wrap;word-break:break-all;overflow-wrap:anywhere;color:var(--text)}.preview-error-code-table tr.error-line .line-code{background:color-mix(in srgb,var(--error, #dc2626) 15%,transparent);color:var(--error, #dc2626)}.preview-error-code-table tr.caret-line .line-code{color:var(--error, #dc2626);font-size:11px}.preview-error-console{padding:8px 12px;border-top:1px solid var(--border);max-width:100%}.preview-error-console-label{font-size:11px;font-weight:600;color:var(--muted);margin-bottom:4px}.preview-error-console-content{margin:0;font-size:11px;line-height:1.5;white-space:pre-wrap;word-break:break-all;overflow-wrap:anywhere;color:var(--muted);font-family:ui-monospace,Cascadia Code,JetBrains Mono,monospace}.preview-error-footer{margin:0;font-size:12px;color:var(--muted)}.markdown-body{font-size:14px;line-height:1.7;overflow-wrap:break-word;word-break:break-word;min-width:0;-webkit-user-select:text;user-select:text}.markdown-body>*:first-child{margin-top:0}.markdown-body>*:last-child{margin-bottom:0}.markdown-body p{margin:0 0 8px}.markdown-body p:last-child{margin-bottom:0}.markdown-body strong{font-weight:600;color:var(--text)}.markdown-body em{font-style:italic}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{font-weight:600;color:var(--text);margin:16px 0 8px;line-height:1.3}.markdown-body h1:first-child,.markdown-body h2:first-child,.markdown-body h3:first-child{margin-top:0}.markdown-body h1{font-size:1.3em}.markdown-body h2{font-size:1.15em}.markdown-body h3{font-size:1.05em}.markdown-body code{font-family:SF Mono,Fira Code,Consolas,Monaco,monospace;font-size:.85em;padding:2px 6px;background:var(--bg);border:1px solid var(--border);border-radius:3px;color:var(--text);word-break:break-word}.thinking-block{margin:0 0 10px;overflow:hidden;animation:think-appear .15s ease-out}@keyframes think-appear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.thinking-header{display:flex;align-items:center;gap:6px;padding:4px 0;-webkit-user-select:none;user-select:none}.thinking-done .thinking-header{cursor:pointer}.thinking-indicator{display:flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.thinking-indicator svg{color:var(--muted)}.thinking-spinner{width:6px;height:6px;border-radius:50%;background:var(--primary);animation:thinking-pulse 1s ease-in-out infinite}@keyframes thinking-pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.thinking-label{font-size:13px;font-weight:500;color:var(--muted);flex:1}.thinking-active .thinking-label{color:var(--text-secondary, #999)}.thinking-elapsed{font-weight:500;color:var(--muted);opacity:.8}.thinking-chevron{color:var(--muted);transition:transform .2s;flex-shrink:0}.thinking-expanded .thinking-chevron{transform:rotate(180deg)}.thinking-content{font-size:13px;line-height:1.7;color:var(--text-secondary, var(--muted));word-break:break-word;padding:0;max-height:0;overflow:hidden;opacity:0}.thinking-content.markdown-body{white-space:normal}.thinking-active .thinking-content{max-height:300px;overflow-y:auto;opacity:1;padding:2px 0 6px 22px}.thinking-done .thinking-content{max-height:300px;overflow-y:auto;opacity:1;padding:2px 0 6px 22px;transition:max-height .3s ease,opacity .3s ease,padding .3s ease}.thinking-done.thinking-fading .thinking-content{opacity:0;max-height:0;padding:0;overflow:hidden}.thinking-done.thinking-collapsed .thinking-content{max-height:0;padding:0;opacity:0;overflow:hidden;transition:none}.thinking-done.thinking-expanded .thinking-content{max-height:400px;overflow-y:auto;opacity:1;padding:2px 0 6px 22px;transition:max-height .3s ease,opacity .3s ease,padding .3s ease}.message.auto-continue .message-content{opacity:.6;font-size:12px}.message.auto-continue .message-text{font-style:italic;color:var(--muted)}.code-block{margin:10px 0;border:1px solid var(--border);border-radius:4px;overflow:hidden}.code-block-header{display:flex;align-items:center;justify-content:space-between;padding:4px 12px;background:var(--bg);border-bottom:1px solid var(--border)}.code-block-file{margin:8px 0;border:1px solid var(--border);border-radius:6px;overflow:hidden}.code-block-file-header{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg);border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none}.code-block-file-header:hover{background:var(--hover)}.code-file-icon{font-size:12px;flex-shrink:0}.code-file-name{font-size:12px;font-weight:600;color:var(--text);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;letter-spacing:-.01em;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-file-lines{font-size:12px;font-weight:600;color:var(--primary);flex-shrink:0;margin-right:4px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;min-width:40px;text-align:right;transition:transform .15s}.code-file-lines.lines-updating{transform:scale(1.15)}.code-expand-btn{font-size:12px;font-weight:500;color:var(--muted);background:none;border:1px solid var(--border);padding:2px 8px;cursor:pointer;border-radius:3px;font-family:inherit;transition:all .15s;letter-spacing:.02em;flex-shrink:0}.code-expand-btn:hover{color:var(--text);border-color:var(--primary)}.code-block-file[data-collapsed=true] pre{max-height:120px;overflow-y:auto;position:relative}.code-block-file[data-collapsed=true] pre::-webkit-scrollbar{display:none}.code-block-file[data-collapsed=true] pre{scrollbar-width:none}.code-block-file[data-collapsed=true]{position:relative}.code-block-file[data-collapsed=false] pre{max-height:600px;overflow-y:auto}.code-block-diff pre{font-size:12px;line-height:20px;padding:8px 14px}.code-block-diff pre code{line-height:20px}.diff-line-remove,.diff-line-add,.diff-line-ctx{display:block;margin:0 -14px;padding:0 14px 0 4px;line-height:20px;height:20px}.diff-line-remove{background:#f8514926;color:#f98a8a;border-left:3px solid #f85149}.diff-line-add{background:#3fb95026;color:#7ee787;border-left:3px solid #3fb950}.diff-line-ctx{color:var(--muted);opacity:.7}[data-theme=light] .diff-line-remove{background:#ff00001a;color:#a1111a;border-left-color:#cf222e}[data-theme=light] .diff-line-add{background:#0080001a;color:#0a5d1a;border-left-color:#1a7f37}[data-theme=light] .diff-line-ctx{color:#57606a}.diff-sign{display:inline-block;width:16px;text-align:center;font-weight:700;margin-right:4px;-webkit-user-select:none;user-select:none;opacity:.7}.code-lang{font-size:12px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.code-copy-btn{font-size:12px;font-weight:500;color:var(--muted);background:none;border:1px solid var(--border);padding:2px 8px;cursor:pointer;border-radius:3px;font-family:inherit;transition:all .15s;letter-spacing:.02em}.code-copy-btn:hover{color:var(--text);border-color:var(--primary)}.code-block pre{margin:0;padding:12px 14px;background:var(--bg);overflow-x:auto;-webkit-overflow-scrolling:touch}.code-block pre code{padding:0;background:none;border:none;border-radius:0;font-size:12px;line-height:1.6;white-space:pre;tab-size:2}.markdown-body>pre{margin:10px 0;padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:4px;overflow-x:auto;-webkit-overflow-scrolling:touch}.markdown-body>pre code{padding:0;background:none;border:none;border-radius:0;font-size:12px;line-height:1.6;white-space:pre}.markdown-body ul,.markdown-body ol{margin:6px 0;padding-left:20px}.markdown-body li{margin:3px 0}.markdown-body li>p{margin:0}.markdown-body li+li{margin-top:4px}.markdown-body blockquote{margin:8px 0;padding:6px 14px;border-left:3px solid var(--border);color:var(--muted);background:var(--bg);border-radius:0 3px 3px 0}.markdown-body blockquote p{margin:0}.markdown-body hr{border:none;border-top:1px solid var(--border);margin:12px 0}.markdown-body a{color:var(--primary);text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--border);transition:text-decoration-color .15s}.markdown-body a:hover{text-decoration-color:var(--primary)}.markdown-body table{width:100%;border-collapse:collapse;margin:8px 0;font-size:12.5px;table-layout:fixed}.markdown-body th,.markdown-body td{padding:6px 10px;border:1px solid var(--border);text-align:left;white-space:normal;word-break:break-word;font-size:12px!important;line-height:1.5}.markdown-body th{background:var(--bg);font-weight:600;font-size:12px!important}.markdown-body td strong,.markdown-body th strong{font-size:inherit!important}.markdown-body img{max-width:100%;border-radius:4px;border:1px solid var(--border)}.hljs{color:var(--text)}.hljs-comment,.hljs-quote{color:#6a737d;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-addition{color:#d73a49}.hljs-string,.hljs-attribute,.hljs-meta .hljs-string,.hljs-regexp{color:#032f62}.hljs-number,.hljs-literal,.hljs-variable,.hljs-template-variable,.hljs-tag .hljs-attr{color:#005cc5}.hljs-title,.hljs-section,.hljs-selector-id{color:#6f42c1;font-weight:600}.hljs-type,.hljs-class .hljs-title{color:#e36209}.hljs-built_in,.hljs-builtin-name{color:#005cc5}.hljs-deletion{color:#b31d28;background:#ff00000f}.hljs-addition{color:#22863a;background:#00ff000f}.hljs-meta{color:#735c0f}.hljs-name,.hljs-tag{color:#22863a}[data-theme=dark] .hljs-comment,[data-theme=dark] .hljs-quote{color:#8b949e}[data-theme=dark] .hljs-keyword,[data-theme=dark] .hljs-selector-tag{color:#ff7b72}[data-theme=dark] .hljs-string,[data-theme=dark] .hljs-attribute,[data-theme=dark] .hljs-meta .hljs-string,[data-theme=dark] .hljs-regexp{color:#a5d6ff}[data-theme=dark] .hljs-number,[data-theme=dark] .hljs-literal,[data-theme=dark] .hljs-variable,[data-theme=dark] .hljs-template-variable,[data-theme=dark] .hljs-tag .hljs-attr{color:#79c0ff}[data-theme=dark] .hljs-title,[data-theme=dark] .hljs-section,[data-theme=dark] .hljs-selector-id{color:#d2a8ff;font-weight:600}[data-theme=dark] .hljs-type,[data-theme=dark] .hljs-class .hljs-title{color:#ffa657}[data-theme=dark] .hljs-built_in,[data-theme=dark] .hljs-builtin-name{color:#79c0ff}[data-theme=dark] .hljs-deletion{color:#ffa198;background:#ff00001a}[data-theme=dark] .hljs-addition{color:#7ee787;background:#00ff0014}[data-theme=dark] .hljs-meta{color:#d29922}[data-theme=dark] .hljs-name,[data-theme=dark] .hljs-tag{color:#7ee787}.message-meta{display:flex;align-items:center;gap:6px;padding:0 4px}.message.user .message-meta{justify-content:flex-end}.message.user .message-copy-btn{order:1}.message.user .message-pdf-btn{order:2;margin-right:auto}.message.user .message-model{order:3}.message.user .message-time{order:4}.message-time{font-size:12px;color:var(--muted);letter-spacing:.05em}.message-copy-btn,.message-pdf-btn,.message-memo-btn,.message-refresh-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;color:var(--muted);cursor:pointer;border-radius:4px;padding:0;opacity:.35;transition:opacity .15s,color .15s,background .15s}.message:hover .message-copy-btn,.message:hover .message-pdf-btn,.message:hover .message-memo-btn,.message:hover .message-refresh-btn{opacity:.8}.message-copy-btn:hover,.message-pdf-btn:hover,.message-memo-btn:hover,.message-refresh-btn:hover{opacity:1!important;background:var(--border);color:var(--text)}.message-copy-btn.copied{opacity:1!important;color:#22c55e}@media(max-width:768px){.message-copy-btn,.message-pdf-btn,.message-memo-btn,.message-refresh-btn{opacity:.6}}.message-model{font-size:11px;color:var(--muted);letter-spacing:.04em;padding:1px 6px;border:1px solid var(--border);opacity:.8}.message-text.clickable{cursor:pointer;transition:opacity .15s}.message-text.clickable:hover{opacity:.8}.revert-popup{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);padding:12px 14px;animation:fadeIn .15s ease}.revert-popup-text{font-size:12px;font-weight:500;letter-spacing:.02em;color:var(--text);margin-bottom:4px}.revert-popup-desc{font-size:12px;color:var(--muted);letter-spacing:.02em;margin-bottom:10px}.revert-popup-actions{display:flex;gap:6px;justify-content:flex-end}.revert-cancel{height:28px;padding:0 12px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:0;font-size:12px;font-weight:500;letter-spacing:.05em;cursor:pointer;transition:border-color .15s;font-family:inherit}.revert-cancel:hover{border-color:var(--primary)}.revert-confirm{height:28px;padding:0 12px;background:var(--primary);color:var(--on-primary);border:none;border-radius:0;font-size:12px;font-weight:500;letter-spacing:.05em;cursor:pointer;transition:opacity .15s;font-family:inherit}.revert-confirm:hover{opacity:.85}.memo-actions-popup .revert-popup-actions{flex-wrap:wrap}.assistant-actions-popup .assistant-actions-heading{margin-bottom:10px}.assistant-actions-popup .revert-popup-actions button{font-size:12px;font-weight:500;min-width:0}.assistant-actions-popup .revert-confirm{color:var(--on-primary, #fff)}.assistant-actions-popup .revert-cancel{color:var(--text, #1a1a1a)}.memo-delete-btn{height:28px;padding:0 12px;background:transparent;color:var(--danger, #c62828);border:1px solid var(--danger, #c62828);border-radius:0;font-size:12px;font-weight:500;letter-spacing:.05em;cursor:pointer;transition:opacity .15s,background .15s;font-family:inherit}.memo-delete-btn:hover{background:var(--danger, #c62828);color:#fff}.assistant-edit-row{flex-direction:column;align-items:stretch;gap:8px}.assistant-edit-textarea{width:100%;min-height:100px;padding:8px 10px;font-size:13px;font-family:inherit;border:1px solid var(--border, #e0e0e0);border-radius:6px;resize:vertical;box-sizing:border-box}.assistant-edit-row .revert-popup-actions{justify-content:flex-end}.message-attachments{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px}.message-attachment-item{display:flex;flex-direction:column;align-items:stretch}.message-attach-thumb-wrap{position:relative;display:inline-block;border-radius:10px;overflow:hidden}.message-attach-thumb{width:120px;height:120px;object-fit:cover;border-radius:10px;border:1px solid var(--border, rgba(255,255,255,.08));transition:opacity .15s}.message-attach-thumb:hover{opacity:.85}.message-attach-video-badge{position:absolute;bottom:6px;right:6px;background:#000000b3;color:#fff;font-size:11px;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.message-attach-download-btn{position:absolute;bottom:6px;left:6px;background:#000000a6;color:#fff;border:none;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .18s,background .18s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:0;z-index:2}.message-attach-thumb-wrap:hover .message-attach-download-btn{opacity:1}.message-attach-download-btn:hover{background:#000000d9}.message-attach-file-download{margin-left:auto;color:var(--text-tertiary, rgba(255,255,255,.35));display:flex;align-items:center;flex-shrink:0;transition:color .15s}.message-attach-file-card:hover .message-attach-file-download{color:var(--text-secondary, rgba(255,255,255,.6))}.message-attach-file-card{display:flex;align-items:center;gap:10px;padding:10px 14px 10px 10px;background:var(--bg-secondary, rgba(255,255,255,.04));border:1px solid var(--border, rgba(255,255,255,.08));border-radius:10px;min-width:180px;max-width:260px;transition:background .15s}.message-attach-file-card:hover{background:var(--hover, rgba(255,255,255,.06))}.message-attach-file-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.message-attach-file-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.message-attach-file-name{font-size:12.5px;font-weight:500;color:var(--text, #e0e0e0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.message-attach-file-meta{display:flex;align-items:center;gap:6px}.message-attach-file-badge{font-size:12px;font-weight:600;padding:1px 5px;border-radius:4px;letter-spacing:.03em;line-height:1.5}.message-attach-file-size{font-size:11.5px;color:var(--text-tertiary, rgba(255,255,255,.36));font-weight:500}.typing-indicator{display:flex;gap:5px;padding:10px 14px;background:var(--panel);border:1px solid var(--border);width:fit-content}.typing-indicator span{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:typing 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.typing-indicator-label{margin-top:8px;font-size:.8125rem;color:var(--muted)}.message-text:has(.streaming-dots){width:fit-content;padding:10px 20px}.streaming-dots{display:flex;gap:5px;align-items:center;justify-content:center;height:14px}.streaming-dots span{width:5px;height:5px;border-radius:50%;background:var(--muted);animation:streaming 1.4s infinite}.streaming-dots span:nth-child(2){animation-delay:.2s}.streaming-dots span:nth-child(3){animation-delay:.4s}@keyframes streaming{0%,60%,to{transform:scale(.6);opacity:.3}30%{transform:scale(1);opacity:1}}.excel-message-preview{margin-top:12px;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--panel)}.excel-message-preview-title{padding:8px 12px;font-size:13px;font-weight:600;color:var(--text);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--primary) 4%,var(--panel))}.excel-message-preview-table-wrap{overflow-x:auto;max-height:280px;overflow-y:auto}.excel-message-preview-table{width:100%;border-collapse:collapse;font-size:12px}.excel-message-preview-table td{padding:6px 10px;border:1px solid var(--border);color:var(--text);white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}.excel-message-preview-table .excel-message-preview-header{font-weight:600;background:color-mix(in srgb,var(--primary) 6%,var(--panel));color:var(--text)}.excel-message-preview-more{padding:6px 12px;font-size:11px;color:var(--muted);border-top:1px solid var(--border);background:var(--bg)}.excel-streaming-hint{display:flex;align-items:center;gap:8px;padding:10px 16px!important;width:fit-content}.excel-streaming-label{font-size:13px;color:var(--muted);white-space:nowrap}.excel-streaming-hint .streaming-dots{height:12px}.excel-streaming-hint .streaming-dots span{width:4px;height:4px}.ai-quick-replies{display:flex;flex-direction:column;gap:0;margin-top:12px;border:1px solid var(--border);border-radius:8px;overflow:hidden}.ai-quick-reply-chip{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:none;border-bottom:1px solid var(--border);background:var(--panel);color:var(--text);font-size:13.5px;cursor:pointer;transition:background .12s;text-align:left}.ai-quick-reply-chip:last-child{border-bottom:none}.ai-quick-reply-chip:hover{background:color-mix(in srgb,var(--primary) 7%,var(--panel))}.ai-quick-reply-chip:active{background:color-mix(in srgb,var(--primary) 14%,var(--panel))}.ai-qr-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--muted);font-size:11px;font-weight:700;flex-shrink:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace}.ai-quick-reply-chip:hover .ai-qr-num{border-color:var(--primary);color:var(--primary)}.ai-qr-label{flex:1;min-width:0}.ai-quick-reply-chip.mode-chip{color:var(--primary);font-weight:600}.ai-quick-reply-chip.mode-chip .ai-qr-num{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--panel));color:var(--primary)}.ai-quick-reply-chip.mode-chip:hover{background:color-mix(in srgb,var(--primary) 12%,var(--panel))}.ai-progress-steps{display:flex;align-items:center;gap:4px;margin-top:12px;padding:10px 14px;border-radius:8px;background:color-mix(in srgb,var(--primary) 5%,var(--panel));border:1px solid var(--border);overflow-x:auto}.ai-progress-step{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);white-space:nowrap}.ai-progress-step:not(:last-child):after{content:"→";margin-left:4px;color:var(--border);font-size:11px}.ai-progress-step.done{color:var(--primary)}.ai-progress-step.active{color:var(--text);font-weight:600}.ai-progress-dot{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:10px;font-weight:700;flex-shrink:0}.ai-progress-step.done .ai-progress-dot{background:var(--primary);color:#fff}.ai-progress-step.active .ai-progress-dot{background:var(--text);color:var(--panel);animation:progress-pulse 1.5s ease-in-out infinite}.ai-progress-step:not(.done):not(.active) .ai-progress-dot{background:var(--border);color:var(--muted)}@keyframes progress-pulse{0%,to{opacity:1}50%{opacity:.5}}.tool-info-card{margin:8px 0 2px;padding:8px 10px;background:color-mix(in srgb,var(--text) 4%,transparent);border:1px solid color-mix(in srgb,var(--text) 8%,transparent);border-radius:8px;display:flex;flex-direction:column;gap:2px}.tool-info-row{display:flex;align-items:baseline;gap:6px}.tool-info-cat{font-size:10.5px;white-space:nowrap;flex-shrink:0;opacity:.65}.tool-info-tags{font-size:10px;opacity:.4;letter-spacing:.3px}.tool-info-sep{width:100%;height:1px;background:color-mix(in srgb,var(--text) 6%,transparent);margin:3px 0}.tool-info-note{font-size:10px;opacity:.5;padding-top:2px}.convert-progress-indeterminate{width:40%;animation:convertProgressSlide 1.2s ease-in-out infinite}@keyframes convertProgressSlide{0%{transform:translate(-100%)}50%{transform:translate(250%)}to{transform:translate(-100%)}}.convert-results{margin-top:10px;display:flex;flex-direction:column;gap:8px}.convert-result-card{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-secondary, rgba(255,255,255,.04));border:1px solid var(--border, rgba(255,255,255,.08));border-radius:12px;max-width:360px;transition:background .15s}.convert-result-card:hover{background:var(--hover, rgba(255,255,255,.06))}.convert-result-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.convert-result-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.convert-result-name{font-size:13px;font-weight:500;color:var(--text, #e0e0e0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.convert-result-meta{display:flex;align-items:center;gap:6px}.convert-result-badge{font-size:12px;font-weight:600;padding:1px 6px;border-radius:4px;letter-spacing:.03em;line-height:1.5}.convert-result-size{font-size:11.5px;color:var(--text-tertiary, rgba(255,255,255,.36))}.convert-download-btn{display:flex;align-items:center;gap:5px;padding:6px 12px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;border-radius:8px;color:#fff;font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;transition:opacity .15s,transform .1s;flex-shrink:0}.convert-download-btn:hover{opacity:.85}.convert-download-btn:active{transform:scale(.97)}.creator-process{display:flex;flex-direction:column;gap:0;margin:8px 0 12px;padding:0 4px}.creator-step{position:relative;padding:10px 0 10px 32px;opacity:.45;transition:opacity .3s}.creator-step.active{opacity:1}.creator-step.completed{opacity:.85}.creator-step:not(:last-child):after{content:"";position:absolute;left:9px;top:30px;bottom:-2px;width:2px;background:var(--border)}.creator-step.completed:not(:last-child):after{background:var(--primary)}.creator-step-header{display:flex;align-items:center;gap:8px}.creator-step-indicator{position:absolute;left:0;top:10px;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.creator-step-indicator svg{color:var(--primary)}.creator-step-dot{width:8px;height:8px;border-radius:50%;background:var(--border)}.creator-step-spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:creator-spin .7s linear infinite}@keyframes creator-spin{to{transform:rotate(360deg)}}.creator-step-label{font-size:13px;font-weight:600;color:var(--fg)}.creator-step.active .creator-step-label{color:var(--primary)}.creator-step-content{margin-top:6px;padding-left:0}.creator-step-desc{font-size:12px;color:var(--muted)}.creator-step-warn{color:#e8a838}.creator-poll-details{display:flex;flex-direction:column;gap:10px;padding:10px 14px;background:var(--bg-secondary);border-radius:10px;font-size:12px;border:1px solid var(--border-color)}.creator-poll-header{display:flex;align-items:center;justify-content:space-between}.creator-poll-model{color:var(--text-primary);font-weight:600;font-size:12px}.creator-poll-status-badge{font-size:12px;font-weight:500;padding:2px 8px;border-radius:10px;background:#ffffff0f;color:var(--text-tertiary)}.creator-poll-status-badge[data-status=queued]{background:#eab3081f;color:#eab308}.creator-poll-status-badge[data-status=in_progress]{background:#3b82f61f;color:#3b82f6}.creator-poll-status-badge[data-status=completed]{background:#22c55e1f;color:#22c55e}.creator-poll-progress-section{display:flex;flex-direction:column;gap:6px}.creator-poll-progress-bar{width:100%;height:8px;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:5px;overflow:hidden;box-sizing:border-box}.creator-poll-progress-fill{height:100%;background:#3b82f6;border-radius:5px;transition:width .8s ease}[data-theme=light] .creator-poll-progress-bar{background:#00000014;border-color:#0000001f}.creator-poll-progress-info{display:flex;align-items:center;justify-content:space-between}.creator-poll-percent{color:var(--text-secondary);font-weight:600;font-size:13px;font-variant-numeric:tabular-nums}.creator-poll-elapsed{color:var(--text-tertiary);font-size:12px;font-variant-numeric:tabular-nums}.creator-optimized-prompt{background:var(--bg-secondary, var(--card));border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-top:4px}.creator-prompt-label{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:6px}.creator-prompt-text{font-size:12.5px;line-height:1.5;color:var(--fg);margin:0;white-space:pre-wrap;word-break:break-word}.creator-structured-params,.creator-music-params{display:flex;flex-direction:column;gap:6px}.creator-music-param-row{display:flex;align-items:baseline;gap:8px}.creator-music-param-key{font-size:12px;font-weight:600;color:var(--muted);min-width:38px;flex-shrink:0}.creator-music-param-val{font-size:12.5px;color:var(--fg);line-height:1.4}.creator-music-lyrics{margin-top:4px;border-top:1px solid var(--border);padding-top:8px}.creator-music-lyrics-text{font-size:12px;line-height:1.6;color:var(--fg);margin:6px 0 0;white-space:pre-wrap;word-break:break-word;font-family:inherit;opacity:.9}.creator-results{display:flex;flex-direction:column;gap:8px;margin-bottom:4px}.creator-result-card{border-radius:10px;overflow:hidden;border:1px solid var(--border);background:var(--card);max-width:420px}.creator-result-media{display:block;width:100%;max-height:400px;object-fit:contain;background:#000}.creator-result-card[data-type=logo] .creator-result-media{background:repeating-conic-gradient(#e0e0e0 0% 25%,#fff 0% 50%) 0 0 / 16px 16px}[data-theme=dark] .creator-result-card[data-type=logo] .creator-result-media{background:repeating-conic-gradient(#333 0% 25%,#222 0% 50%) 0 0 / 16px 16px}.creator-result-audio{display:block;width:100%;border-radius:8px;margin:4px 0}.creator-result-actions{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-top:1px solid var(--border)}.creator-result-model{font-size:12px;color:var(--muted)}.creator-download-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:6px;border:1px solid var(--border);background:var(--card, #fff);color:var(--fg);font-size:12px;font-weight:500;font-family:inherit;text-decoration:none;transition:background .15s,opacity .15s;cursor:pointer}[data-theme=dark] .creator-download-btn{background:#1a1a1a;border-color:#333;color:#e0e0e0}.creator-download-btn:hover{opacity:.8}.download-size-label{font-size:10.5px;font-weight:400;color:var(--muted);opacity:.7;margin-left:2px}.download-size-label:before{content:"·";margin-right:3px}@media(max-width:600px){.creator-result-card{max-width:100%}.creator-result-media{max-height:300px}}.search-status{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg);border:1px solid var(--border);border-radius:16px;font-size:12px;color:var(--muted);margin-bottom:6px;width:fit-content}.search-status-icon{flex-shrink:0;animation:search-spin 2s linear infinite}@keyframes search-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.search-status-dots{display:flex;gap:3px;align-items:center}.search-status-dots span{width:3px;height:3px;border-radius:50%;background:var(--muted);animation:streaming 1.4s infinite}.search-status-dots span:nth-child(2){animation-delay:.2s}.search-status-dots span:nth-child(3){animation-delay:.4s}.citations-row{margin-top:8px}.citations-label{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none;padding:4px 10px;background:var(--bg);border:1px solid var(--border);border-radius:16px;transition:all .15s;margin-bottom:5px}.citations-label:hover{border-color:var(--primary);color:var(--primary)}.citations-label::-webkit-details-marker{display:none}.citations-label:after{content:"▾";font-size:9px;transition:transform .15s}.citations-row[open]>.citations-label:after{transform:rotate(180deg)}.citations-row[open]>.citations-label{margin-bottom:3px}.citations-list{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:10px}.citation-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;background:var(--bg);border:1px solid var(--border);border-radius:8px;text-decoration:none;color:var(--text);font-size:10px;transition:all .15s;max-width:180px;overflow:hidden}.citation-num{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;background:var(--primary);color:#fff;border-radius:50%;font-size:8px;font-weight:600;flex-shrink:0}.citation-badge:hover{border-color:var(--primary);color:var(--primary)}.citation-favicon{width:10px;height:10px;border-radius:2px;flex-shrink:0}.citation-domain{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scroll-nav-btns{position:absolute;right:18px;bottom:90px;display:flex;flex-direction:column;gap:4px;z-index:20;opacity:.45;transition:opacity .2s}.scroll-nav-btns:hover{opacity:1}.scroll-nav-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;padding:0;box-shadow:0 1px 4px #0000001a;transition:background .15s,transform .15s}.scroll-nav-btn:hover{background:var(--border);transform:scale(1.1)}.scroll-nav-btn:active{transform:scale(.95)}@media(max-width:768px){.scroll-nav-btns{right:10px;bottom:80px}.scroll-nav-btn{width:28px;height:28px}}.queue-bar{position:relative;z-index:25;background:var(--panel);border-top:1px solid var(--border);flex-shrink:0}.queue-header{padding:8px 18px 4px}.queue-label{font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.queue-list{display:flex;flex-direction:column}.queue-item{display:flex;align-items:center;gap:8px;padding:6px 18px;animation:fadeIn .15s ease}.queue-item:hover{background:var(--bg)}.queue-num{width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:500;color:var(--muted);border:1px solid var(--border);flex-shrink:0}.queue-text{flex:1;font-size:13px;letter-spacing:.02em;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.queue-text:hover{color:var(--primary)}.queue-edit-btn,.queue-skip-btn,.queue-cancel{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:0;color:var(--muted);font-size:11px;cursor:pointer;transition:all .15s;font-family:inherit;flex-shrink:0}.queue-edit-btn:hover{background:var(--text);border-color:var(--text);color:var(--bg)}.queue-skip-btn:hover{background:#4caf50;border-color:#4caf50;color:#fff}.queue-cancel:hover{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.queue-item-content{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0;overflow:hidden}.queue-attachments{display:flex;gap:4px;flex-wrap:wrap}.queue-attach-thumb{width:28px;height:28px;object-fit:cover;border-radius:4px;border:1px solid var(--border)}.queue-attach-file{font-size:12px;color:var(--text-secondary);background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:2px 6px;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-flex;align-items:center;gap:3px}.queue-attach-file-icon{display:inline-flex;align-items:center;flex-shrink:0}.attachments-preview{display:flex;gap:8px;padding:10px 18px;background:var(--panel);border-top:1px solid var(--border);overflow-x:auto;flex-shrink:0}.attachment-item{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--bg-secondary, rgba(255,255,255,.04));border:1px solid var(--border, rgba(255,255,255,.08));border-radius:10px;flex-shrink:0;max-width:220px;animation:fadeIn .2s ease;position:relative}.attachment-thumb-wrap{position:relative;display:inline-block;flex-shrink:0;border-radius:8px;overflow:hidden}.attachment-thumb{width:38px;height:38px;object-fit:cover;flex-shrink:0;border-radius:8px}.attachment-video-badge{position:absolute;bottom:2px;right:2px;background:#000000a6;color:#fff;font-size:8px;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;pointer-events:none}.attachment-file-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;font-size:18px;border-radius:8px;flex-shrink:0}.attachment-info{display:flex;flex-direction:column;gap:2px;min-width:0}.attachment-name{font-size:11.5px;font-weight:500;letter-spacing:.01em;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.attachment-size{font-size:12px;color:var(--text-tertiary, rgba(255,255,255,.36));letter-spacing:.03em}.attachment-remove{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:none;color:var(--text-tertiary, rgba(255,255,255,.4));font-size:11px;cursor:pointer;transition:all .15s;flex-shrink:0;font-family:inherit;border-radius:50%;position:absolute;top:-4px;right:-4px}.attachment-remove:hover{background:#ef4444;color:#fff}.url-attachment{max-width:260px}.url-favicon{width:20px;height:20px;flex-shrink:0;border-radius:3px}.url-path{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-urls{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}.message-url-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;background:var(--bg);border:1px solid var(--border);font-size:12px;color:var(--text);text-decoration:none;transition:border-color .15s}.message-url-chip:hover{border-color:var(--primary)}.url-favicon-sm{width:14px;height:14px;flex-shrink:0}.file-input-hidden{display:none}.input-area{padding:10px 18px 12px;background:var(--panel);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:6px;flex-shrink:0}.input-badge-row{display:flex;gap:6px}.web-search-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;color:var(--muted);cursor:pointer;border-radius:50%;transition:all .2s;flex-shrink:0;padding:0}.web-search-toggle:hover{color:var(--text);background:var(--hover)}.web-search-toggle.active{color:#3b82f6;background:#3b82f61a}.web-search-toggle.active:hover{background:#3b82f62e}.web-search-badge{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 6px 0 8px;background:var(--bg);color:var(--text);font-size:12px;font-weight:500;border:1px solid var(--border);border-radius:13px;font-family:inherit;letter-spacing:.01em}.web-search-badge svg:first-child{flex-shrink:0;color:var(--muted)}.web-search-badge-x{display:flex;align-items:center;justify-content:center;width:16px;height:16px;background:none;border:none;color:var(--muted);cursor:pointer;padding:0;border-radius:50%;transition:all .15s;flex-shrink:0}.web-search-badge-x:hover{color:var(--text);background:var(--hover)}.revert-editing-badge{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 6px 0 10px;background:var(--bg);color:var(--text);font-size:12px;font-weight:500;border:1px solid var(--border);border-radius:13px;font-family:inherit}.input-row{display:flex;gap:6px;align-items:flex-end}.attach-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;color:var(--muted);border-radius:50%;transition:all .2s;flex-shrink:0;padding:0;font-weight:300;line-height:1;cursor:pointer;transition:all .15s;font-family:inherit}.attach-btn:hover{color:var(--text);background:var(--hover)}.plus-dropdown{position:absolute;bottom:calc(100% + 6px);left:0;width:180px;background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);z-index:100;animation:plusIn .12s ease;padding:4px 0}@keyframes plusIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.plus-option{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:13px;letter-spacing:.02em;color:var(--text);cursor:pointer;transition:background .1s}.plus-option:hover{background:var(--bg)}.plus-option.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.plus-option-icon{width:18px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px;font-weight:500;flex-shrink:0}.plus-option-icon svg{display:block}.plus-option-badge{margin-left:auto;font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);padding:1px 5px}.plus-option-check{margin-left:auto;font-size:13px;color:var(--primary)}.input-text-wrap{flex:1;display:flex;align-items:center;min-height:36px;background:var(--bg);border:1px solid var(--border);border-radius:0;cursor:text;transition:border-color .2s}.input-text-wrap:focus-within{border-color:var(--primary)}.input-editable{flex:1;min-height:28px;max-height:120px;padding:6px 8px;background:none;border:none;color:var(--text);font-size:14px;font-family:inherit;letter-spacing:.02em;outline:none;overflow-y:auto;white-space:pre-wrap;word-break:break-word;line-height:1.5}.input-editable:empty:before{content:attr(data-placeholder);color:var(--muted);pointer-events:none}.inline-url-badge{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 4px 0 6px;background:var(--panel);border:1px solid var(--border);border-radius:4px;font-size:12px;color:var(--text);white-space:nowrap;flex-shrink:0;vertical-align:middle;margin:0 2px;text-decoration:none;cursor:default}.inline-url-badge.sent{cursor:pointer;text-decoration:none;color:var(--text)}.inline-url-badge.sent:hover{background:var(--hover)}.inline-url-badge img{border-radius:2px;flex-shrink:0}.inline-url-x{display:flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;background:none;border:none;color:var(--muted);cursor:pointer;border-radius:50%;transition:all .15s;flex-shrink:0}.inline-url-x:hover{color:var(--text);background:var(--hover)}.send-btn{width:36px;height:36px;background:var(--primary);border:none;border-radius:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s;flex-shrink:0;color:var(--on-primary)}.send-btn svg{display:block}.send-btn:hover:not(:disabled){opacity:.85}.send-btn:disabled{opacity:.3;cursor:not-allowed}.stop-btn{background:#e53935!important;animation:stop-pulse 1.5s ease-in-out infinite}.stop-btn:hover{background:#c62828!important;opacity:1!important}@keyframes stop-pulse{0%,to{opacity:1}50%{opacity:.75}}@media(max-width:768px){.message.user .message-content{max-width:88%}}@media(min-width:1024px){.sidebar{transform:translate(0)}.sidebar-overlay,.sidebar-toggle-btn{display:none}.chat-page{padding-left:280px}}.preview-tab-toggle{display:flex;align-items:center;background:var(--bg);border-radius:0;padding:0;border:1px solid var(--border)}.preview-tab-btn{height:26px;padding:0 14px;background:transparent;color:var(--muted);border:none;border-radius:0;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;font-family:inherit;white-space:nowrap;letter-spacing:.02em}.preview-tab-btn:hover{color:var(--text);background:var(--hover)}.preview-tab-btn.active{background:var(--panel);color:var(--text);border-bottom:1.5px solid var(--primary)}.dev-code-viewer{display:flex;height:100%;background:var(--bg, #0a0a0a);color:var(--text, #e6edf3);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:13px}.dcv-sidebar{width:220px;min-width:180px;background:var(--panel, #111);border-right:1px solid var(--border);overflow-y:auto;flex-shrink:0;display:flex;flex-direction:column}.dcv-sidebar-title{display:flex;align-items:center;gap:6px;padding:10px 14px 8px;font-size:11px;font-weight:500;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--border);flex-shrink:0}.dcv-sidebar-title svg{opacity:.6}.dcv-tree{flex:1;overflow-y:auto;padding:4px 0}.dcv-tree-dir{display:flex;align-items:center;gap:4px;width:100%;padding:4px 8px;border:none;background:transparent;color:var(--text);font-size:13px;font-family:inherit;text-align:left;cursor:pointer;transition:background .1s}.dcv-tree-dir:hover{background:var(--hover, rgba(255, 255, 255, .04))}.dcv-tree-arrow{flex-shrink:0;transition:transform .15s;color:var(--muted)}.dcv-tree-arrow.open{transform:rotate(90deg)}.dcv-tree-folder{flex-shrink:0}.dcv-tree-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.dcv-tree-file{display:flex;align-items:center;gap:6px;width:100%;padding:4px 8px;border:none;background:transparent;color:var(--muted);font-size:13px;font-family:inherit;text-align:left;cursor:pointer;transition:background .1s}.dcv-tree-file:hover{background:var(--hover, rgba(255, 255, 255, .04));color:var(--text)}.dcv-tree-file.active{background:var(--hover, rgba(255, 255, 255, .06));color:var(--text);border-left:2px solid var(--primary, #646cff)}.dcv-tree-ficon{display:flex;align-items:center;flex-shrink:0;width:14px;height:14px}.dcv-content{flex:1;overflow:auto;display:flex;flex-direction:column;min-width:0;background:var(--bg, #0a0a0a)}.dcv-content-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--panel, #111);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1}.dcv-content-path{display:flex;align-items:center;font-size:13px;color:var(--text);font-weight:500;letter-spacing:.02em}.dcv-content-lines{font-size:12px;color:var(--muted);letter-spacing:.02em}.dcv-editor-wrap{position:relative;flex:1;overflow:hidden}.dcv-code,.dcv-textarea{margin:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:13px;line-height:20px;tab-size:2;white-space:pre;word-break:normal;overflow-wrap:normal;letter-spacing:0;-moz-osx-font-smoothing:auto;-webkit-font-smoothing:auto;box-sizing:border-box}.dcv-code{padding:8px 0;height:100%;overflow:auto;background:var(--bg, #0a0a0a);pointer-events:none}.dcv-textarea{position:absolute;top:0;left:0;width:100%;height:100%;padding:8px 0 8px 64px;border:none;outline:none;resize:none;background:transparent;color:transparent;caret-color:var(--text, #fff);overflow:auto;z-index:2}.dcv-textarea::selection{background:#3878d459}.dcv-textarea:focus{outline:none}.cv-line{display:block;padding:0 16px 0 0;white-space:pre;word-break:normal;overflow-wrap:normal;height:20px;line-height:20px}.cv-line:hover{background:#ffffff08}.cv-line-num{display:inline-block;box-sizing:content-box;width:48px;text-align:right;padding-right:16px;color:#ffffff2e;-webkit-user-select:none;user-select:none;font-size:12px}.cv-keyword{color:#ff7b72}.cv-string{color:#a5d6ff}.cv-comment{color:#ffffff4d;font-style:italic}.cv-tag{color:#7ee787}.cv-prop{color:#79c0ff}.cv-number{color:#ffa657}[data-theme=light] .cv-keyword{color:#cf222e}[data-theme=light] .cv-string{color:#0a3069}[data-theme=light] .cv-comment{color:#0006}[data-theme=light] .cv-tag{color:#116329}[data-theme=light] .cv-prop{color:#0550ae}[data-theme=light] .cv-number{color:#953800}[data-theme=light] .cv-line:hover{background:#00000008}[data-theme=light] .cv-line-num{color:#00000040}.dcv-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--muted);font-size:14px}@media(max-width:600px){.dcv-sidebar{width:150px;min-width:130px}.dcv-sidebar-title{padding:8px 10px 6px;font-size:11px}.dcv-tree-dir,.dcv-tree-file{font-size:12px;padding:3px 6px}.cv-line-num{width:36px;padding-right:10px;font-size:11px}.dcv-code,.dcv-textarea{font-size:12px}}.lightbox-overlay{position:fixed;inset:0;z-index:99999;background:#000000d9;display:flex;align-items:center;justify-content:center;cursor:zoom-out;animation:lightbox-in .15s ease-out}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}.lightbox-close{position:absolute;top:16px;right:16px;background:#ffffff26;border:none;color:#fff;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s;z-index:1}.lightbox-close:hover{background:#ffffff4d}.lightbox-download{position:absolute;top:16px;right:62px;background:#ffffff26;border:none;color:#fff;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s;z-index:1}.lightbox-download:hover{background:#ffffff4d}.lightbox-image{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:4px;cursor:default;box-shadow:0 8px 32px #0006}.slide-preview-message{display:flex;flex-direction:column;gap:10px}.slide-inline-preview{border-radius:8px;overflow:hidden;border:1px solid var(--border-color, rgba(255, 255, 255, .1));background:var(--bg-secondary, #1a1a2e);max-width:360px}.slide-inline-label{padding:4px 12px;font-size:12px;font-weight:600;color:var(--text-secondary, rgba(255, 255, 255, .5));background:var(--bg-tertiary, rgba(255, 255, 255, .04));border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .08));letter-spacing:.3px}.slide-inline-frame-wrap{position:relative;width:100%;overflow:hidden;background:#0a0a1a;border-radius:0 0 7px 7px}.slide-inline-frame{position:absolute;top:0;left:0;transform-origin:top left;border:none;pointer-events:none;background:transparent;color-scheme:dark}.slide-patch-result{display:flex;flex-direction:column;gap:8px}.slide-patch-label{font-size:13px;font-weight:600;color:var(--accent-green, #4ade80);padding:2px 0}.slide-patch-label.slide-patch-failed{color:#f87171}[data-theme=light] .slide-inline-preview{border-color:#0000001f;background:#f8f9fa}[data-theme=light] .slide-inline-label{color:#555;background:#0000000a;border-bottom-color:#00000014}[data-theme=light] .slide-inline-frame-wrap{background:#e9ecef}.inline-code-block{margin-top:6px;border-radius:6px;border:1px solid var(--border-color, rgba(255, 255, 255, .1));overflow:hidden}.inline-code-header{display:flex;align-items:center;gap:4px}.inline-code-toggle{display:flex;align-items:center;gap:5px;flex:1;min-width:0;padding:4px 10px;font-size:11px;font-weight:600;color:var(--muted, #888);background:#ffffff08;border:none;cursor:pointer}.inline-code-toggle:hover{background:#ffffff0f}.inline-code-view-mode-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;margin-right:4px;padding:4px;color:var(--muted, #888);background:none;border:none;border-radius:2px;cursor:pointer}.inline-code-view-mode-btn:hover{color:var(--text-color, #e6edf3)}.inline-code-pre{max-height:200px;overflow:auto;margin:0;padding:8px 12px;font-size:11px;line-height:1.5;font-family:SF Mono,Fira Code,Cascadia Code,Menlo,Consolas,monospace;color:#c9d1d9;background:#0000004d;border-top:1px solid var(--border-color, rgba(255, 255, 255, .08));white-space:pre}.inline-code-cursor{animation:code-blink 1s step-end infinite;color:#58a6ff;font-weight:700}@keyframes code-blink{0%,50%{opacity:1}51%,to{opacity:0}}[data-theme=light] .inline-code-block{border-color:#0000001f}[data-theme=light] .inline-code-toggle{background:#00000008;color:#666}[data-theme=light] .inline-code-toggle:hover{background:#0000000f}[data-theme=light] .inline-code-view-mode-btn{color:#666}[data-theme=light] .inline-code-view-mode-btn:hover{color:#111}[data-theme=light] .inline-code-pre{background:#f6f8fa;color:#24292f;border-top-color:#00000014}[data-theme=light] .inline-code-cursor{color:#0969da}.ops-diff-list{display:flex;flex-direction:column;gap:10px;margin:8px 0}.ops-diff-item{border-radius:8px;border:1px solid var(--border-color, rgba(255, 255, 255, .1));overflow:hidden}.ops-diff-toggle{display:flex;align-items:center;width:100%;padding:6px 10px;border:none;background:#ffffff0a;color:inherit;font-size:11px;font-weight:600;cursor:pointer;gap:6px;text-align:left}.ops-diff-toggle:hover{background:#ffffff14}[data-theme=light] .ops-diff-toggle{background:#00000008}[data-theme=light] .ops-diff-toggle:hover{background:#0000000f}.ops-diff-item .slide-inline-label{border-radius:0}.ops-diff-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ops-diff-col{min-width:0}.ops-diff-block{display:block}.ops-diff-block.ops-diff-before{background:#f871710f;color:#f87171}.ops-diff-block.ops-diff-after{background:#4ade800f;color:#4ade80}.ops-diff-block .ops-diff-tag{display:block;font-size:10px;font-weight:700;letter-spacing:.3px;padding:6px 10px 2px;border-radius:0;margin:0}.ops-diff-block.ops-diff-before .ops-diff-tag{background:transparent;color:#f87171}.ops-diff-block.ops-diff-after .ops-diff-tag{background:transparent;color:#4ade80}.ops-diff-block .ops-diff-code{margin:0;padding:2px 10px 6px;font-size:11px;line-height:1.5;font-family:SF Mono,Fira Code,Cascadia Code,Menlo,Consolas,monospace;white-space:pre;overflow-x:auto;border-top:1px solid var(--border-color, rgba(255, 255, 255, .06))}.ops-diff-block.ops-diff-before .ops-diff-code,.ops-diff-block.ops-diff-before .ops-diff-code code{text-decoration:line-through}.ops-diff-block.ops-diff-before .ops-diff-code{border-top-color:#f8717133}.ops-diff-block.ops-diff-after .ops-diff-code{border-top-color:#4ade8033}.ops-diff-hl-del,.ops-diff-hl-add{all:unset;font-weight:700;border-radius:2px;padding:0 2px}.ops-diff-hl-del{background:#f8717140;color:#fca5a5;text-decoration:line-through}.ops-diff-hl-add{background:#4ade8040;color:#86efac}[data-theme=light] .ops-diff-item{border-color:#0000001f}[data-theme=light] .ops-diff-block.ops-diff-before{background:#dc26260d;color:#dc2626}[data-theme=light] .ops-diff-block.ops-diff-after{background:#16a34a0d;color:#16a34a}[data-theme=light] .ops-diff-block.ops-diff-before .ops-diff-tag{color:#dc2626}[data-theme=light] .ops-diff-block.ops-diff-after .ops-diff-tag{color:#16a34a}[data-theme=light] .ops-diff-hl-del{background:#dc262626;color:#b91c1c}[data-theme=light] .ops-diff-hl-add{background:#16a34a26;color:#15803d}[data-theme=light] .slide-patch-label{color:#16a34a}[data-theme=light] .slide-patch-label.slide-patch-failed{color:#dc2626}[data-theme=light] .slide-viewer{background:#f5f5f5}[data-theme=light] .slide-thumbnails{background:#f0f0f0;border-right-color:#0000001a}[data-theme=light] .slide-thumb-card{background:#fff;border-color:#0000001f}[data-theme=light] .slide-thumb.active .slide-thumb-card{border-color:#007acc;box-shadow:0 0 0 2px #007acc33}[data-theme=light] .slide-thumb-num{color:#888}[data-theme=light] .slide-thumb.active .slide-thumb-num{color:#007acc}[data-theme=light] .slide-main{background:#e8e8e8}[data-theme=light] .slide-scroll-area{background:linear-gradient(145deg,#e8e8ea,#dddde0)}[data-theme=light] .slide-scroll-area::-webkit-scrollbar-thumb{background:#0000001f}[data-theme=light] .slide-stage{box-shadow:0 4px 20px #00000026}[data-theme=light] .slide-iframe{background:#fff}[data-theme=light] .slide-nav{background:#ffffffe6;border-top-color:#00000014}[data-theme=light] .slide-nav-btn{color:#333}[data-theme=light] .slide-nav-btn:hover:not(:disabled){background:#0000000f}[data-theme=light] .slide-nav-btn:disabled{color:#ccc}[data-theme=light] .slide-nav-counter{color:#666}[data-theme=light] .slide-add-btn{color:#666;border-color:#0000001f}[data-theme=light] .slide-add-btn:hover{background:#0000000a;color:#333}[data-theme=light] .slide-thumb-actions{background:#fffffff2}[data-theme=light] .slide-thumb-act-btn{color:#555;background:#0000000d}[data-theme=light] .slide-thumb-act-btn:hover{background:#0000001a;color:#222}[data-theme=light] .slide-thumb-act-btn.delete:hover{background:#dc26261a;color:#dc2626}[data-theme=light] .slide-viewer-empty{color:#999}[data-theme=light] .word-viewer{background:#fff}[data-theme=light] .word-thumbnails{background:#f8f8f8;border-right-color:#e8e8e8}[data-theme=light] .word-thumb-card{border-color:#e0e0e0}[data-theme=light] .word-thumb.active .word-thumb-card{border-color:#007acc}[data-theme=light] .word-thumb-num{color:#999}[data-theme=light] .word-thumb.active .word-thumb-num{color:#007acc}[data-theme=light] .word-scroll-area{background:linear-gradient(145deg,#f0f0f2,#e4e4e8)}[data-theme=light] .word-scroll-area::-webkit-scrollbar-thumb{background:#0000001f}[data-theme=light] .word-stage{box-shadow:0 2px 16px #0000001a,0 0 0 1px #0000000a}[data-theme=light] .word-nav{background:#fff;border-top-color:#eee}[data-theme=light] .word-nav-btn{background:#fff;border-color:#ddd;color:#444}[data-theme=light] .word-nav-btn:hover:not(:disabled){background:#f5f5f5}[data-theme=light] .word-nav-btn:disabled{opacity:.3}[data-theme=light] .word-nav-counter{color:#555}[data-theme=light] .word-thumb-actions{background:transparent}[data-theme=light] .word-thumb-act-btn{background:#0006}[data-theme=light] .word-thumb-act-btn:hover{background:#0009}[data-theme=light] .word-thumb-act-btn.delete:hover{background:#dc26261a;color:#dc2626}[data-theme=light] .word-viewer-empty{color:#999}[data-theme=light] .word-inline-preview{background:#f8f8f8;border-color:#e0e0e0}[data-theme=light] .word-inline-label{color:#888}[data-theme=light] .word-inline-frame-wrap{background:#fff}[data-theme=dark] .chat-header,[data-theme=dark] .toolbar{background:#2d2d2d;border-color:#3c3c3c}[data-theme=dark] .sidebar{background:#252526;border-color:#3c3c3c}[data-theme=dark] .sidebar-header{border-color:#3c3c3c}[data-theme=dark] .sidebar-channel:hover{background:#2a2d2e}[data-theme=dark] .sidebar-channel.active{background:#37373d}[data-theme=dark] .message.assistant .message-text{background:#252526;border-color:#3c3c3c;color:#d4d4d4}[data-theme=dark] .message.user .message-text{background:#264f78;border-color:#37607d;color:#d4d4d4}[data-theme=light] .message-time{color:#999}[data-theme=light] .message-model{color:#888;border-color:#d0d0d0}[data-theme=dark] .message-time{color:#6d6d6d}[data-theme=dark] .message-model{color:gray;border-color:#4a4a4a}[data-theme=dark] .code-block{border-color:#3c3c3c}[data-theme=dark] .code-block-header{background:#2d2d2d;border-color:#3c3c3c}[data-theme=dark] .code-block pre{background:#1e1e1e}[data-theme=dark] .code-block-file{border-color:#3c3c3c}[data-theme=dark] .code-block-file-header{background:#2d2d2d;border-color:#3c3c3c}[data-theme=dark] .code-block-file-header:hover{background:#333}[data-theme=dark] .input-area{background:#2d2d2d;border-color:#3c3c3c}[data-theme=dark] .input-text-wrap{background:#3c3c3c;border-color:#4a4a4a}[data-theme=dark] .input-text-wrap:focus-within{border-color:#007acc}[data-theme=dark] .input-editable{color:#d4d4d4}[data-theme=dark] .plus-btn{background:#3c3c3c;border-color:#4a4a4a;color:#ccc}[data-theme=dark] .plus-btn:hover,[data-theme=dark] .plus-btn.open{border-color:#007acc;color:#fff}[data-theme=dark] .send-btn{background:#0e639c;color:#fff}[data-theme=light] .app-mode-trigger,[data-theme=light] .model-trigger,[data-theme=light] .convert-formats-trigger,[data-theme=light] .convert-sub-trigger{border-color:#d0d0d0}[data-theme=light] .app-mode-trigger:hover,[data-theme=light] .model-trigger:hover,[data-theme=light] .convert-formats-trigger:hover,[data-theme=light] .convert-sub-trigger:hover{border-color:#007acc}[data-theme=light] .input-text-wrap{border-color:#d0d0d0}[data-theme=light] .input-text-wrap:focus-within{border-color:#007acc}[data-theme=light] .plus-btn{border-color:#d0d0d0;color:#616161}[data-theme=light] .plus-btn:hover,[data-theme=light] .plus-btn.open{border-color:#007acc;color:#333}[data-theme=dark] .app-mode-trigger,[data-theme=dark] .convert-sub-trigger{background:#3c3c3c;border-color:#4a4a4a;color:#ccc}[data-theme=dark] .app-mode-trigger:hover,[data-theme=dark] .convert-sub-trigger:hover{border-color:#007acc}[data-theme=dark] .model-trigger{background:#3c3c3c;border-color:#4a4a4a;color:#ccc}[data-theme=dark] .model-trigger:hover{border-color:#007acc}[data-theme=dark] .convert-sub-option:hover{background:#2a2d2e}[data-theme=dark] .convert-sub-option.active{background:#3794ff1f}[data-theme=dark] .mode-dropdown,[data-theme=dark] .model-dropdown,[data-theme=dark] .plus-dropdown,[data-theme=dark] .convert-formats-dropdown,[data-theme=dark] .convert-sub-dropdown{background:#252526;border-color:#3c3c3c;box-shadow:0 4px 20px #00000080}[data-theme=dark] .attachment-card{background:#2d2d2d;border-color:#3c3c3c}[data-theme=dark] .markdown-body code:not(pre code){background:#3c3c3c;color:#d4d4d4;border:1px solid #4a4a4a}[data-theme=dark] .markdown-body blockquote{border-left-color:#4a4a4a;color:#9d9d9d}[data-theme=dark] .markdown-body table th{background:#2d2d2d;border-color:#3c3c3c}[data-theme=dark] .markdown-body table td,[data-theme=dark] .markdown-body hr{border-color:#3c3c3c}[data-theme=dark] .scroll-nav-btn{background:#333;border-color:#3c3c3c;color:#ccc;box-shadow:0 2px 8px #0006}[data-theme=dark] .scroll-nav-btn:hover{background:#3c3c3c;border-color:#007acc}[data-theme=dark] .chat-search-bar,[data-theme=dark] .queue-bar{background:#252526;border-color:#3c3c3c}.credit-error-banner{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border-radius:12px;background:#fef3f2;border:1px solid #fecdca;margin:4px 0}.credit-error-icon{flex-shrink:0;color:#d92d20;margin-top:1px}.credit-error-body{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.credit-error-title{font-size:14px;font-weight:600;color:#b42318;line-height:1.4}.credit-error-desc{font-size:13px;color:#912018;line-height:1.5}.credit-error-btn{flex-shrink:0;align-self:center;padding:8px 18px;border-radius:8px;background:#d92d20;color:#fff;font-size:13px;font-weight:600;border:none;cursor:pointer;white-space:nowrap;transition:background .15s}.credit-error-btn:hover{background:#b42318}[data-theme=dark] .credit-error-banner{background:#d92d2014;border-color:#d92d2040}[data-theme=dark] .credit-error-icon{color:#f97066}[data-theme=dark] .credit-error-title{color:#fda29b}[data-theme=dark] .credit-error-desc{color:#fecdca}[data-theme=dark] .credit-error-btn{background:#d92d20}[data-theme=dark] .credit-error-btn:hover{background:#f04438}.fp-overlay{position:fixed;inset:0;z-index:1100;background:transparent;display:flex;align-items:center;justify-content:center;padding:20px}@keyframes fpFadeIn{0%{opacity:0}to{opacity:1}}.fp-dialog{background:var(--panel, #fff);border:1px solid var(--border, #e0e0e0);width:100%;max-width:520px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 12px 48px #0000002e,0 2px 12px #0000001a;animation:fpSlideIn .15s ease;overflow:hidden}@keyframes fpSlideIn{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.fp-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;flex-shrink:0}.fp-title{font-size:15px;font-weight:700;color:var(--text, #222)}.fp-close-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--text-secondary, #888);cursor:pointer;border-radius:6px;transition:background .12s}.fp-close-btn:hover{background:var(--hover, #f0f0f0);color:var(--text, #222)}.fp-lang-tabs{display:flex;gap:0;padding:0 20px;border-bottom:1px solid var(--border, #e5e5e5);flex-shrink:0;overflow-x:auto}.fp-lang-tab{padding:8px 14px;font-size:13px;font-weight:500;color:var(--text-secondary, #888);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:color .12s,border-color .12s;font-family:inherit}.fp-lang-tab:hover{color:var(--text, #333)}.fp-lang-tab.active{color:var(--primary, #007acc);border-bottom-color:var(--primary, #007acc);font-weight:600}.fp-filters{display:flex;align-items:center;gap:10px;padding:10px 20px;flex-shrink:0}.fp-cat-row{display:flex;gap:4px;flex:1;overflow-x:auto;min-width:0}.fp-cat-btn{padding:4px 10px;font-size:12px;font-weight:500;color:var(--text-secondary, #777);background:var(--bg-secondary, #f5f5f5);border:1px solid var(--border, #e0e0e0);border-radius:12px;cursor:pointer;white-space:nowrap;transition:all .12s;font-family:inherit}.fp-cat-btn:hover{background:var(--hover, #eee)}.fp-cat-btn.active{background:var(--primary, #007acc);color:#fff;border-color:var(--primary, #007acc)}.fp-search-box{display:flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--border, #e0e0e0);border-radius:6px;background:var(--bg-secondary, #f8f8f8);color:var(--text-secondary, #888);flex-shrink:0}.fp-search-input{border:none;background:transparent;outline:none;font-size:12px;color:var(--text, #333);width:80px;font-family:inherit}.fp-search-input::placeholder{color:var(--text-secondary, #aaa)}.fp-preview-input-row{padding:0 20px 10px;flex-shrink:0}.fp-preview-input{width:100%;padding:7px 12px;font-size:13px;border:1px solid var(--border, #e0e0e0);border-radius:6px;background:var(--bg-secondary, #fafafa);color:var(--text, #333);outline:none;font-family:inherit;transition:border-color .12s}.fp-preview-input:focus{border-color:var(--primary, #007acc)}.fp-preview-input::placeholder{color:var(--text-secondary, #bbb)}.fp-list{flex:1;overflow-y:auto;padding:0 12px 12px;min-height:0}.fp-empty{text-align:center;padding:40px 0;font-size:13px;color:var(--text-secondary, #aaa)}.fp-font-item{display:flex;flex-direction:column;gap:6px;width:100%;padding:12px 14px;margin-bottom:4px;border:1px solid var(--border, #eee);border-radius:8px;background:var(--panel, #fff);cursor:pointer;text-align:left;transition:all .12s;font-family:inherit}.fp-font-item:hover{border-color:var(--primary, #007acc);background:var(--hover, #f6faff);box-shadow:0 2px 8px #0000000f}.fp-font-meta{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.fp-font-label{font-size:13px;font-weight:600;color:var(--text, #333)}.fp-font-family{font-size:11px;color:var(--text-secondary, #999);font-family:monospace}.fp-font-desc{font-size:11px;color:var(--text-secondary, #aaa)}.fp-font-preview{font-size:22px;line-height:1.4;color:var(--text, #222);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fp-list::-webkit-scrollbar{width:5px}.fp-list::-webkit-scrollbar-thumb{background:#0000001f;border-radius:3px}.fp-list::-webkit-scrollbar-thumb:hover{background:#0003}@media(max-width:560px){.fp-dialog{max-width:100%;max-height:90vh}.fp-filters{flex-direction:column;align-items:stretch}.fp-search-input{width:100%}}.text-edit-dialog-overlay{position:fixed;inset:0;z-index:1000;background:#0006;display:flex;align-items:center;justify-content:center;padding:20px}.text-edit-dialog{background:var(--panel);border:1px solid var(--border);padding:24px;max-width:360px;width:100%}.text-edit-dialog-title{font-size:15px;font-weight:500;color:var(--text);margin:0 0 12px}.text-edit-dialog-input{width:100%;box-sizing:border-box;padding:10px 12px;font-size:14px;font-family:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:0;resize:vertical;margin-bottom:20px;display:block}.text-edit-dialog-input:focus{outline:none;border-color:var(--primary)}.text-edit-dialog-actions{display:flex;gap:10px;justify-content:flex-end}.text-edit-dialog-btn{height:36px;padding:0 18px;font-size:13px;font-weight:500;border-radius:0;cursor:pointer;font-family:inherit;border:1px solid var(--border);background:var(--panel);color:var(--text)}.text-edit-dialog-btn.primary{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.text-edit-dialog-btn:hover{opacity:.9}.ve-overlay{position:absolute;inset:0;pointer-events:none;z-index:50;isolation:isolate}.ve-selection{position:absolute;outline:2px solid var(--accent, #2563eb);outline-offset:2px;pointer-events:none;border-radius:1px}.ve-handle{position:absolute;background:var(--accent, #2563eb);border:1.5px solid var(--surface-solid, #fff);border-radius:2px;box-shadow:0 0 3px #0000004d;z-index:51;pointer-events:auto}.ve-handle:hover{filter:brightness(.92)}.ve-rotate-stem{position:absolute;background:var(--accent, #2563eb);pointer-events:none;z-index:51}.ve-rotate-handle{position:absolute;background:var(--accent, #2563eb);border:1.5px solid var(--surface-solid, #fff);border-radius:50%;box-shadow:0 0 3px #0000004d;z-index:52;pointer-events:auto;cursor:grab}.ve-rotate-handle:active{cursor:grabbing;filter:brightness(.92)}@media(hover:none)and (pointer:coarse){.ve-handle{min-width:22px;min-height:22px;background-clip:content-box;padding:6px;margin:-6px;border-radius:4px}.ve-rotate-handle{min-width:28px;min-height:28px;background-clip:content-box;padding:6px;margin:-6px}}.ve-cp-popover{position:fixed;z-index:10001;inset:0;display:flex;align-items:center;justify-content:center;background:#0006;animation:ve-cp-fade .15s ease-out}@keyframes ve-cp-fade{0%{opacity:0}to{opacity:1}}.ve-cp-window{width:280px;padding:12px;background:#252530;border:1px solid rgba(255,255,255,.08);border-radius:12px;box-shadow:0 12px 40px #0006;color:#e4e4e8;font-size:11px}.ve-cp-sv-area{position:relative;width:100%;height:140px;border-radius:8px;cursor:crosshair;touch-action:none;overflow:hidden}.ve-cp-sv-white{position:absolute;inset:0;background:linear-gradient(to right,#fff,transparent)}.ve-cp-sv-black{position:absolute;inset:0;background:linear-gradient(to top,#000,transparent)}.ve-cp-sv-handle{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #00000080;pointer-events:none}.ve-cp-hue-row{margin-top:10px}.ve-cp-hue-track{position:relative;height:10px;border-radius:5px;background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red);cursor:pointer;touch-action:none}.ve-cp-hue-handle{position:absolute;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #00000080;pointer-events:none}.ve-cp-preview-rgb{display:flex;align-items:center;gap:10px;margin-top:10px}.ve-cp-preview{width:36px;height:36px;border-radius:8px;border:1px solid rgba(255,255,255,.2);flex-shrink:0}.ve-cp-rgb{display:flex;gap:6px;flex:1}.ve-cp-rgb label{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.ve-cp-rgb label span{font-size:10px;color:#999}.ve-cp-rgb input{width:100%;padding:4px 6px;border:1px solid rgba(255,255,255,.15);border-radius:4px;background:#0003;color:#e4e4e8;font-size:11px}.ve-cp-rgb input:focus{outline:none;border-color:#3b82f6}.ve-cp-alpha-row{display:flex;align-items:center;gap:8px;margin-top:10px;color:#bbb;font-size:10px}.ve-cp-label{min-width:48px}.ve-cp-range{flex:1;min-width:0;accent-color:#7bb5ff;height:6px}.ve-cp-val{min-width:32px;text-align:right;color:#999}.ve-cp-swatches{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.ve-cp-swatch{width:22px;height:22px;padding:0;border:1px solid rgba(255,255,255,.2);border-radius:4px;cursor:pointer;flex-shrink:0;transition:transform .1s,box-shadow .1s}.ve-cp-swatch:hover{transform:scale(1.1);box-shadow:0 0 0 2px #ffffff59}.ve-cp-actions{display:flex;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}.ve-cp-cancel,.ve-cp-apply{flex:1;padding:8px 12px;border:none;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;transition:background .15s}.ve-cp-cancel{background:#ffffff14;color:#a0a0a8;border:1px solid rgba(255,255,255,.1)}.ve-cp-cancel:hover{background:#ffffff1f;color:#e4e4e8}.ve-cp-apply{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.ve-cp-apply:hover{background:linear-gradient(135deg,#60a5fa,#3b82f6)}[data-theme=light] .ve-cp-window{background:#fff;border-color:#0000001a;color:#1f2937}[data-theme=light] .ve-cp-rgb input{background:#f3f4f6;border-color:#0000001f;color:#1f2937}[data-theme=light] .ve-cp-rgb input:focus{border-color:var(--accent, #2563eb)}[data-theme=light] .ve-cp-alpha-row{color:#555}[data-theme=light] .ve-cp-val{color:#666}[data-theme=light] .ve-cp-swatch{border-color:#0003}[data-theme=light] .ve-cp-swatch:hover{box-shadow:0 0 0 2px #0003}[data-theme=light] .ve-cp-actions{border-top-color:#00000014}[data-theme=light] .ve-cp-cancel{background:#0000000d;color:#6b7280;border-color:#0000001a}[data-theme=light] .ve-cp-cancel:hover{background:#00000014;color:#374151}.ve-ctx-overlay{position:fixed;inset:0;z-index:10000}.ve-ctx-menu{position:fixed;min-width:200px;max-width:280px;max-height:calc(100vh - 20px);overflow-x:hidden;overflow-y:auto;background:#252530;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:0;box-shadow:0 12px 40px #0006,0 0 0 1px #ffffff0f;color:#e4e4e8;font-size:11px;font-weight:500;-webkit-user-select:none;user-select:none;animation:ve-ctx-in .15s ease-out}@keyframes ve-ctx-in{0%{opacity:0;transform:scale(.97) translateY(-6px)}to{opacity:1;transform:scale(1) translateY(0)}}.ve-ctx-topbar{display:flex;align-items:center;flex-wrap:wrap;gap:2px;padding:8px 8px 6px;border-bottom:1px solid rgba(255,255,255,.06)}.ve-ctx-topbtn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:28px;border:none;border-radius:6px;background:transparent;color:#a0a0a8;cursor:pointer;transition:background .12s,color .12s}.ve-ctx-topbtn:hover{background:#ffffff1a;color:#e4e4e8}.ve-ctx-topbtn.danger:hover{background:#ef444426;color:#f87171}.ve-ctx-topbtn.disabled{opacity:.35;cursor:default;pointer-events:none}.ve-ctx-topbtn-label{font-size:10px;padding:0 6px;white-space:nowrap;max-width:72px;overflow:hidden;text-overflow:ellipsis}.ve-ctx-topbtn:has(.ve-ctx-topbtn-label){width:auto;min-width:32px}.ve-ctx-topbtn--with-label{gap:4px;padding-left:6px;padding-right:8px}.ve-ctx-topbar-sep{width:1px;height:16px;margin:0 2px;background:#ffffff1a}.ve-ctx-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;border:none;background:none;color:#e4e4e8;font-size:11px;cursor:pointer;text-align:left;line-height:1.3}.ve-ctx-item:hover{background:#ffffff14}.ve-ctx-item--danger:hover{background:#ef44441f;color:#f87171}.ve-ctx-item--disabled{opacity:.35;pointer-events:none}.ve-ctx-shortcut{margin-left:auto;color:#fff6;font-size:10px}.ve-ctx-divider{height:1px;margin:2px 8px;background:#ffffff14}.ve-ctx-section{border:none;margin:0 0 2px;padding:0}.ve-ctx-section-head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;border:none;background:none;color:#9ca3af;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;text-align:left;transition:background .12s,color .12s}.ve-ctx-section-head:hover{background:#ffffff0d;color:#d1d5db}.ve-ctx-section-head.open{background:#ffffff0a;color:#e4e4e8}.ve-ctx-section-body{padding:6px 10px 10px;background:#0003;border-top:1px solid rgba(255,255,255,.04)}.ve-ctx-section-body .ve-ctx-range-row,.ve-ctx-section-body .ve-ctx-color-row,.ve-ctx-section-body .ve-ctx-format-row,.ve-ctx-section-body .ve-ctx-transform-row,.ve-ctx-section-body .ve-ctx-opacity-row,.ve-ctx-section-body .ve-ctx-weight-row,.ve-ctx-section-body .ve-ctx-border-row,.ve-ctx-section-body .ve-ctx-select-row,.ve-ctx-section-body .ve-ctx-typo-block{margin:0 0 4px}.ve-ctx-section-body .ve-ctx-border-row .ve-ctx-range-row{margin:0}.ve-ctx-section-body .ve-ctx-item{margin:0 0 4px;border-radius:6px}.ve-ctx-section-body .ve-ctx-item:last-child,.ve-ctx-section-body .ve-ctx-opacity-row:last-of-type{margin-bottom:0}.ve-ctx-fmt-row{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:2px 0}.ve-ctx-fmt-row .ve-ctx-fmt{width:28px;height:28px}.ve-ctx-crop-grid,.ve-ctx-border-row{display:flex;flex-direction:column;gap:2px}.ve-ctx-font-row{padding:6px 8px}.ve-ctx-font-preview{font-size:14px;font-weight:700;margin-right:8px;min-width:24px;text-align:center}.ve-ctx-font-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ve-ctx-select-row{display:flex;flex-direction:column;gap:4px}.ve-ctx-typo-block{margin:4px 0 0}.ve-ctx-typo-label{display:block;color:#9ca3af;font-size:10px;margin-bottom:4px}.ve-ctx-transform-btns{display:flex;gap:4px;flex-wrap:wrap}.ve-ctx-transform-btn{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;padding:5px 6px;border:1px solid rgba(255,255,255,.15);border-radius:6px;background:#ffffff0f;color:#9ca3af;font-size:11px;font-weight:600;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.ve-ctx-transform-btn:hover{background:#ffffff1a;color:#e4e4e8;border-color:#fff3}.ve-ctx-transform-btn.active{background:#60a5fa33;color:#60a5fa;border-color:#60a5fa66}.ve-ctx-transform-btn-inner{font-variant-numeric:tabular-nums;letter-spacing:.02em}.ve-ctx-color-row{display:flex;gap:2px;padding:2px 6px}.ve-ctx-color-btn,.ve-ctx-color-label{cursor:pointer}.ve-ctx-color-btn{display:flex;align-items:center;gap:4px;padding:3px 6px;border:none;background:none;color:#ccc;font-size:10px;cursor:pointer;border-radius:4px;flex:1;justify-content:center}.ve-ctx-color-btn:hover{background:#ffffff14}.ve-ctx-swatch{display:inline-block;width:12px;height:12px;border-radius:2px;border:1px solid rgba(255,255,255,.2);flex-shrink:0}.ve-ctx-swatch-text{font-weight:700;font-size:12px;flex-shrink:0;width:12px;text-align:center}.ve-ctx-color-hidden{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.ve-ctx-color-swatches{display:flex;flex-wrap:wrap;gap:4px;padding:6px 8px 2px}.ve-ctx-swatch-btn{width:20px;height:20px;padding:0;border:1px solid rgba(255,255,255,.2);border-radius:4px;cursor:pointer;flex-shrink:0;transition:transform .1s,box-shadow .1s}.ve-ctx-swatch-btn:hover{transform:scale(1.1);box-shadow:0 0 0 2px #ffffff4d}.ve-ctx-color-alpha-row{display:flex;align-items:center;gap:6px;padding:4px 8px 2px;color:#bbb;font-size:10px}.ve-ctx-color-alpha-row .ve-ctx-range-label{min-width:36px}.ve-ctx-color-alpha-row .ve-ctx-range{flex:1;min-width:0;accent-color:#7bb5ff;height:4px}.ve-ctx-color-alpha-row .ve-ctx-range-val{min-width:32px;text-align:right;color:#999;font-size:10px}.ve-ctx-color-actions{display:flex;gap:6px;padding:6px 8px 4px;margin-top:2px;border-top:1px solid rgba(255,255,255,.06)}.ve-ctx-color-apply,.ve-ctx-color-cancel{flex:1;padding:6px 10px;border:none;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;transition:background .15s,transform .08s}.ve-ctx-color-apply{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.ve-ctx-color-apply:hover{background:linear-gradient(135deg,#60a5fa,#3b82f6);transform:translateY(-.5px)}.ve-ctx-color-apply:active{transform:translateY(0)}.ve-ctx-color-cancel{background:#ffffff14;color:#a0a0a8;border:1px solid rgba(255,255,255,.1)}.ve-ctx-color-cancel:hover{background:#ffffff1f;color:#e4e4e8}.ve-ctx-format-row{display:flex;align-items:center;gap:2px;padding:4px 0;flex-wrap:wrap}.ve-ctx-fmt{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:none;color:#9ca3af;border-radius:6px;cursor:pointer;transition:background .12s,color .12s}.ve-ctx-fmt:hover{background:#ffffff1a;color:#e4e4e8}.ve-ctx-fmt.active{background:#60a5fa33;color:#60a5fa}.ve-ctx-fmt-sep{width:1px;height:14px;margin:0 4px;background:#ffffff1f}.ve-ctx-opacity-row{display:flex;align-items:center;gap:4px;padding:3px 10px;color:#bbb;font-size:10px}.ve-ctx-opacity-label{flex-shrink:0}.ve-ctx-opacity-range{flex:1;min-width:0;accent-color:#7bb5ff;height:4px;touch-action:none;-webkit-user-select:none;user-select:none}.ve-ctx-opacity-val{min-width:28px;text-align:right;color:#999;font-size:10px}.ve-ctx-range-row{display:flex;align-items:center;gap:4px;padding:2px 10px;color:#bbb;font-size:10px}.ve-ctx-range-label{flex-shrink:0;min-width:50px}.ve-ctx-range{flex:1;min-width:0;accent-color:#7bb5ff;height:4px;touch-action:none;-webkit-user-select:none;user-select:none}.ve-ctx-range-val{min-width:28px;text-align:right;color:#999;font-size:10px}.ve-ctx-rot-val{min-width:28px;text-align:right;color:#7bb5ff;font-size:10px;cursor:pointer;border-radius:3px;padding:1px 3px;transition:background .12s}.ve-ctx-rot-val:hover{background:#ffffff1a}.ve-ctx-rot-input{width:38px;height:18px;border:1px solid rgba(123,181,255,.5);border-radius:3px;background:#ffffff1a;color:#fff;font-size:10px;text-align:center;outline:none;padding:0 2px}.ve-ctx-rot-input:focus{border-color:#7bb5ff;background:#ffffff26}.ve-ctx-transform-row{display:flex;align-items:center;gap:1px;padding:2px 8px}.ve-ctx-weight-row{display:flex;align-items:center;gap:4px;padding:2px 10px;color:#bbb;font-size:10px}.ve-ctx-weight-select{flex:1;min-width:0;height:22px;padding:0 18px 0 5px;background-color:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#eee;font-size:10px;cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23aaa' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 3px center;background-size:10px 6px}.ve-ctx-weight-select:hover{background:#ffffff24;border-color:#ffffff40}.ve-ctx-weight-select option{background:#1e1e24;color:#eee}[data-theme=light] .ve-ctx-menu{background:#fafafa;border-color:#00000014;box-shadow:0 12px 40px #0000001a,0 0 0 1px #0000000f;color:#1f2937}[data-theme=light] .ve-ctx-topbar{border-bottom-color:#0000000f}[data-theme=light] .ve-ctx-topbtn{color:#6b7280}[data-theme=light] .ve-ctx-topbtn:hover{background:#0000000f;color:#374151}[data-theme=light] .ve-ctx-topbtn.danger:hover{background:#dc26261a;color:#dc2626}[data-theme=light] .ve-ctx-topbar-sep{background:#0000001f}[data-theme=light] .ve-ctx-item{color:#1f2937}[data-theme=light] .ve-ctx-item:hover{background:#0000000d}[data-theme=light] .ve-ctx-item--danger:hover{background:#dc262614;color:#b91c1c}[data-theme=light] .ve-ctx-shortcut{color:#0006}[data-theme=light] .ve-ctx-divider{background:#00000014}[data-theme=light] .ve-ctx-section-head{color:#6b7280}[data-theme=light] .ve-ctx-section-head:hover{background:#0000000a;color:#374151}[data-theme=light] .ve-ctx-section-head.open{background:#0000000a;color:#111827}[data-theme=light] .ve-ctx-section-body{background:#00000005;border-top-color:#0000000f}[data-theme=light] .ve-ctx-color-btn{color:#555}[data-theme=light] .ve-ctx-color-btn:hover{background:#0000000f}[data-theme=light] .ve-ctx-swatch{border-color:#0003}[data-theme=light] .ve-ctx-color-actions{border-top-color:#00000014}[data-theme=light] .ve-ctx-color-cancel{background:#0000000d;color:#6b7280;border-color:#0000001a}[data-theme=light] .ve-ctx-color-cancel:hover{background:#00000014;color:#374151}[data-theme=light] .ve-ctx-swatch-btn{border-color:#0003}[data-theme=light] .ve-ctx-swatch-btn:hover{box-shadow:0 0 0 2px #00000040}[data-theme=light] .ve-ctx-color-alpha-row{color:#555}[data-theme=light] .ve-ctx-fmt{color:#6b7280}[data-theme=light] .ve-ctx-fmt:hover{background:#0000000f;color:#374151}[data-theme=light] .ve-ctx-fmt.active{background:#3b82f61f;color:var(--accent, #2563eb)}[data-theme=light] .ve-ctx-fmt-sep{background:#0000001a}[data-theme=light] .ve-ctx-typo-label{color:#6b7280}[data-theme=light] .ve-ctx-transform-btn{border-color:#00000026;background:#0000000a;color:#6b7280}[data-theme=light] .ve-ctx-transform-btn:hover{background:#00000012;color:#374151;border-color:#0003}[data-theme=light] .ve-ctx-transform-btn.active{background:#3b82f61f;color:var(--accent, #2563eb);border-color:#3b82f64d}[data-theme=light] .ve-ctx-opacity-row{color:#555}[data-theme=light] .ve-ctx-opacity-range{accent-color:var(--accent, #007acc)}[data-theme=light] .ve-ctx-opacity-val{color:#666}[data-theme=light] .ve-ctx-range-row{color:#555}[data-theme=light] .ve-ctx-range{accent-color:var(--accent, #007acc)}[data-theme=light] .ve-ctx-range-val{color:#666}[data-theme=light] .ve-ctx-rot-val{color:var(--accent, #007acc)}[data-theme=light] .ve-ctx-rot-val:hover{background:#0000000f}[data-theme=light] .ve-ctx-rot-input{border-color:#007acc66;background:#0000000a;color:#1e1e1e}[data-theme=light] .ve-ctx-rot-input:focus{border-color:var(--accent, #007acc);background:#007acc0f}[data-theme=light] .ve-ctx-weight-row{color:#555}[data-theme=light] .ve-ctx-weight-select{background-color:#f0f0f0;border-color:#0003;color:#1e1e1e;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23555' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 3px center;background-size:10px 6px}[data-theme=light] .ve-ctx-weight-select:hover{background-color:#e8e8e8;border-color:#00000040}[data-theme=light] .ve-ctx-weight-select:focus{border-color:var(--accent, #007acc)}[data-theme=light] .ve-ctx-weight-select option{background:#fff;color:#1e1e1e}.ve-addimage-backdrop{position:fixed;inset:0;z-index:10000;background:#00000080;display:flex;align-items:center;justify-content:center;padding:16px}.ve-addimage-modal{width:100%;max-width:420px;max-height:85vh;background:var(--ve-addimage-bg, #1e1e24);border:1px solid rgba(255,255,255,.12);border-radius:12px;box-shadow:0 20px 48px #0006;display:flex;flex-direction:column;overflow:hidden}html[data-theme=light] .ve-addimage-modal{--ve-addimage-bg: #fff;border-color:#0000001a;box-shadow:0 20px 48px #00000026}.ve-addimage-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08)}html[data-theme=light] .ve-addimage-header{border-bottom-color:#00000014}.ve-addimage-title{margin:0;font-size:15px;font-weight:600;color:#e2e8f0}html[data-theme=light] .ve-addimage-title{color:#1e293b}.ve-addimage-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:none;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;transition:background .12s,color .12s}.ve-addimage-close:hover{background:#ffffff1a;color:#e2e8f0}html[data-theme=light] .ve-addimage-close{color:#64748b}html[data-theme=light] .ve-addimage-close:hover{background:#0000000f;color:#1e293b}.ve-addimage-tabs{display:flex;padding:0 10px;gap:2px;border-bottom:1px solid rgba(255,255,255,.08)}html[data-theme=light] .ve-addimage-tabs{border-bottom-color:#00000014}.ve-addimage-tab{padding:10px 14px;font-size:13px;font-weight:500;color:#94a3b8;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;transition:color .12s,border-color .12s}.ve-addimage-tab:hover{color:#e2e8f0}.ve-addimage-tab.active{color:var(--accent, #2563eb);border-bottom-color:var(--accent, #2563eb)}html[data-theme=light] .ve-addimage-tab{color:#64748b}html[data-theme=light] .ve-addimage-tab:hover{color:#334155}html[data-theme=light] .ve-addimage-tab.active{color:var(--accent, #007acc);border-bottom-color:var(--accent, #007acc)}.ve-addimage-body{padding:16px;overflow-y:auto;flex:1;min-height:120px}.ve-addimage-upload{display:flex;align-items:center;justify-content:center;min-height:160px}.ve-addimage-file-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.ve-addimage-upload-btn{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 32px;background:#ffffff0f;border:2px dashed rgba(255,255,255,.2);border-radius:10px;color:#94a3b8;font-size:13px;font-weight:500;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.ve-addimage-upload-btn:hover{background:#ffffff1a;border-color:#ffffff59;color:#e2e8f0}html[data-theme=light] .ve-addimage-upload-btn{background:#0000000a;border-color:#00000026;color:#64748b}html[data-theme=light] .ve-addimage-upload-btn:hover{background:#0000000f;border-color:#00000040;color:#334155}.ve-addimage-search{display:flex;flex-direction:column;gap:12px}.ve-addimage-search-bar{display:flex;gap:8px}.ve-addimage-search-input{flex:1;padding:8px 12px;font-size:13px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#e2e8f0;outline:none;transition:border-color .12s}.ve-addimage-search-input::placeholder{color:#64748b}.ve-addimage-search-input:focus{border-color:var(--accent, #2563eb)}html[data-theme=light] .ve-addimage-search-input{background:#f8fafc;border-color:#00000026;color:#1e293b}html[data-theme=light] .ve-addimage-search-input::placeholder{color:#94a3b8}.ve-addimage-search-btn{padding:8px 14px;font-size:13px;font-weight:500;background:var(--accent, #2563eb);border:none;border-radius:6px;color:#fff;cursor:pointer;transition:opacity .12s,filter .12s;white-space:nowrap}.ve-addimage-search-btn:hover:not(:disabled){filter:brightness(1.08)}.ve-addimage-search-btn:disabled{opacity:.6;cursor:not-allowed}.ve-addimage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-height:280px;overflow-y:auto}.ve-addimage-empty{grid-column:1 / -1;margin:0;padding:24px;font-size:13px;color:#94a3b8;text-align:center}.ve-addimage-thumb{aspect-ratio:1;padding:0;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:6px;overflow:hidden;cursor:pointer;transition:border-color .12s,transform .1s}.ve-addimage-thumb:hover{border-color:var(--accent, #2563eb);transform:scale(1.02)}.ve-addimage-thumb img{width:100%;height:100%;object-fit:cover;display:block}html[data-theme=light] .ve-addimage-thumb{background:#f1f5f9;border-color:#0000001a}html[data-theme=light] .ve-addimage-thumb:hover{border-color:var(--accent, #007acc)}#root{width:100%;height:100vh;height:100dvh;overflow:hidden;-webkit-user-select:text;user-select:text}
