:root{--safe-area-inset-top:env(safe-area-inset-top);--safe-area-inset-right:env(safe-area-inset-right);--safe-area-inset-bottom:env(safe-area-inset-bottom);--safe-area-inset-left:env(safe-area-inset-left)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes thinking{0%,20%{opacity:.3}50%{opacity:1}to{opacity:.3}}.message-container{align-items:flex-start;animation:slideIn .4s cubic-bezier(.4,0,.2,1);display:flex;gap:8px}.message-container.user{flex-direction:row-reverse}.avatar{align-items:center;border-radius:50%;box-shadow:0 1px 3px #0000001f;color:#fff;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.avatar.user{background:linear-gradient(135deg,#8e8e93,#6d6d70)}.avatar.assistant{background:linear-gradient(135deg,#007aff,#5ac8fa)}.avatar svg{height:16px;width:16px}.message-bubble-container{display:flex;flex-direction:column;gap:4px;width:auto}.message-content{word-wrap:break-word;border-radius:18px;font-size:15px;line-height:1.4;padding:12px 16px;position:relative}.message-content.user{border-bottom-right-radius:4px;box-shadow:0 1px 2px #007aff33}.message-content.assistant{background:#ffffffe6;border:.5px solid #0000000a;border-bottom-left-radius:4px;box-shadow:0 1px 3px #00000014;color:#1d1d1f}.message-content.assistant.error,.message-content.error{border-left:3px solid #b85359;box-shadow:0 2px 8px #b453591a;color:#b85359}.message-content.fallback{border-top:2px solid #10b981!important}.message-content.loading{background:#fffc;color:#8e8e93;font-style:italic}.message-actions,.message-content.streaming{position:relative}.message-actions{align-items:center;display:flex;flex-direction:column;gap:8px;margin-top:8px}.follow-up-hint{color:#8e8e93;font-size:11px;font-style:italic;margin:0;text-align:center}@media(max-width:640px){.follow-up-hint{font-size:10px}}.message-meta{align-items:center;color:#8e8e93;display:flex;font-size:11px;gap:6px;margin-top:2px}.message-meta.user{justify-content:flex-end}.usage-info{align-items:center;border-radius:8px;display:flex;font-size:10px;font-weight:500;gap:3px;padding:2px 6px}.loading-dots{align-items:center;display:inline-flex;gap:.25rem;margin-left:.5rem}.loading-dots .dot{animation:pulse 1.4s ease-in-out infinite both;background:currentColor;border-radius:50%;height:4px;width:4px}.loading-dots .dot:first-child{animation-delay:-.32s}.loading-dots .dot:nth-child(2){animation-delay:-.16s}.loading-dots .dot:nth-child(3){animation-delay:0s}.thinking-indicator{align-items:center;color:#8e8e93;display:flex;font-size:13px;font-style:italic;gap:8px;padding:4px 0}.thinking-indicator .thinking-text{animation:thinking 2s ease-in-out infinite}.thinking-indicator .thinking-dots{display:inline-flex;gap:2px}.thinking-indicator .thinking-dots .dot{animation:pulse 1.4s ease-in-out infinite both;background:currentColor;border-radius:50%;height:3px;width:3px}.thinking-indicator .thinking-dots .dot:first-child{animation-delay:-.32s}.thinking-indicator .thinking-dots .dot:nth-child(2){animation-delay:-.16s}.thinking-indicator .thinking-dots .dot:nth-child(3){animation-delay:0s}.markdown-wrapper h1,.markdown-wrapper h2,.markdown-wrapper h3,.markdown-wrapper h4,.markdown-wrapper h5,.markdown-wrapper h6{color:inherit;font-weight:600;margin:.5rem 0}.markdown-wrapper h1{font-size:1.25rem}.markdown-wrapper h2{font-size:1.15rem}.markdown-wrapper h3{font-size:1.1rem}.markdown-wrapper h4,.markdown-wrapper h5,.markdown-wrapper h6{font-size:1rem}.markdown-wrapper p{margin:.5rem 0}.markdown-wrapper p:first-child{margin-top:0}.markdown-wrapper p:last-child{margin-bottom:0}.markdown-wrapper ol,.markdown-wrapper ul{margin:.5rem 0;padding-left:1.5rem}.markdown-wrapper li{margin:.25rem 0}.markdown-wrapper blockquote{border-radius:0 8px 8px 0;font-style:italic;margin:.5rem 0;padding:.5rem 1rem}.markdown-wrapper.user blockquote{background:#ffffff1a;border-left:3px solid #ffffff4d}.markdown-wrapper.assistant blockquote{background:#667eea1a;border-left:3px solid #667eea}.markdown-wrapper code{border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85em;padding:.125rem .25rem}.markdown-wrapper.user code{background:#fff3}.markdown-wrapper.assistant code{background:#667eea1a}.markdown-wrapper pre{border-radius:8px;margin:.5rem 0;overflow-x:auto;padding:1rem}.markdown-wrapper pre code{background:#0000;padding:0}.markdown-wrapper.user pre{background:#ffffff1a}.markdown-wrapper.assistant pre{background:#667eea0d}.markdown-wrapper b,.markdown-wrapper strong{font-weight:600}.markdown-wrapper em,.markdown-wrapper i{font-style:italic}.markdown-wrapper hr{border:none;height:1px;margin:1rem 0}.markdown-wrapper.user hr{background:#ffffff4d}.markdown-wrapper.assistant hr{background:#667eea33}.markdown-wrapper a{text-decoration:underline}.markdown-wrapper a:hover{text-decoration:none}.markdown-wrapper.user a{color:#e2e8f0}.markdown-wrapper.assistant a{color:#667eea}.markdown-wrapper table{border-collapse:collapse;margin:.5rem 0;width:100%}.markdown-wrapper td,.markdown-wrapper th{padding:.5rem;text-align:left}.markdown-wrapper.user td,.markdown-wrapper.user th{border:1px solid #ffffff4d}.markdown-wrapper.assistant td,.markdown-wrapper.assistant th{border:1px solid #667eea33}.markdown-wrapper th{font-weight:600}.markdown-wrapper.user th{background:#ffffff1a}.markdown-wrapper.assistant th{background:#667eea1a}.feedback-button{align-items:center;background:var(--feedback-button-bg);border:1px solid #0000;border:1px solid var(--feedback-button-border,#0000);border-radius:12px;color:var(--feedback-button-color);cursor:pointer;display:flex;font-size:11px;font-weight:400;gap:4px;opacity:.9;padding:5px 10px;transition:all .2s cubic-bezier(.4,0,.2,1)}.feedback-button:hover{background:var(--feedback-button-hover-bg);border-color:#0000;border-color:var(--feedback-button-hover-border,#0000);color:var(--feedback-button-hover-color);opacity:1}.feedback-button:active{background:var(--feedback-button-active-bg);transform:scale(.98)}.feedback-button svg{color:inherit;height:12px;width:12px}.feedback-button span{color:inherit;font-size:11px;font-weight:400}.feedback-button.error{color:#ff3b3099}.feedback-button.error:hover{background:#ff3b3014;color:#ff3b30cc}@media(max-width:640px){.feedback-button{font-size:10px;gap:2px;padding:3px 6px}.feedback-button svg{height:10px;width:10px}.feedback-button span{font-size:10px}}.feedback-button.feedback-highlight{border:1px solid #007aff66}.feedback-button.feedback-highlight:hover{background:#007aff14;border-color:#007aff99}.retry-button{align-items:center;background:#fffffff2;border:1px solid #ff950033;border-radius:16px;box-shadow:0 1px 3px #0000001a;color:#ff9500;cursor:pointer;display:flex;font-size:11px;font-weight:500;gap:4px;padding:6px 12px;transition:all .2s cubic-bezier(.4,0,.2,1)}.retry-button:hover{background:#ff95000d;box-shadow:0 2px 6px #00000026;transform:translateY(-1px)}.retry-button:active{transform:translateY(0)}.retry-button svg{color:#ff9500;height:12px;width:12px}.retry-button span{color:#ff9500;font-size:11px;font-weight:500}.action-buttons{gap:8px;margin-top:4px}.action-buttons,.audio-button{align-items:center;display:flex;justify-content:center}.audio-button{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-touch-callout:none;background:#fffffff2;border:1.5px solid #007aff33;border-radius:50%;box-shadow:0 2px 8px #007aff33;cursor:pointer;height:32px;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);user-select:none;-webkit-user-select:none;width:32px}.audio-button:hover:not(:disabled){background:#007aff0d;border-color:#007aff66;box-shadow:0 4px 12px #007aff4d;transform:translateY(-2px) scale(1.05)}.audio-button:active:not(:disabled){transform:translateY(-1px) scale(1.02)}.audio-button.playing,.audio-button:disabled{background:#007aff1a;border-color:#007aff4d;cursor:pointer}.audio-button.playing svg,.audio-button:disabled svg{color:#007aff}.audio-button.paused{background:#ffc1071a;border-color:#ffc1074d}.audio-button.paused svg{color:#ffc107}.audio-button.loading{background:#6c757d1a;border-color:#6c757d4d;cursor:not-allowed}.audio-button.loading svg{color:#6c757d}.audio-button.loading svg.spinning{animation:spin 1s linear infinite}.audio-button svg{color:#007aff;height:16px;transition:color .2s ease;width:16px}.tts-control-container{align-items:center;display:flex;flex-direction:column;gap:8px}.tts-control-container .tts-progress{align-items:center;display:flex;flex-direction:column;gap:4px;min-width:80px}.tts-control-container .tts-progress .progress-text{color:#666;font-size:10px;font-weight:500;white-space:nowrap}.tts-control-container .tts-progress .progress-bar{background:#007aff33;border-radius:1.5px;height:3px;overflow:hidden;position:relative;width:60px}.tts-control-container .tts-progress .progress-bar .progress-fill{background:linear-gradient(90deg,#007aff,#5ac8fa);border-radius:1.5px;height:100%;position:relative;transition:width .3s ease}.tts-control-container .tts-progress .progress-bar .progress-fill:after{animation:progressGlow 1.5s ease-in-out infinite;background:#fffc;border-radius:0 1.5px 1.5px 0;bottom:0;content:"";position:absolute;right:0;top:0;width:4px}@keyframes progressGlow{0%,to{opacity:.6}50%{box-shadow:0 0 6px #5ac8fa99;opacity:1}}@media(max-width:768px){.tts-control-container .tts-progress .progress-bar{width:50px}.tts-control-container .tts-progress .progress-text{font-size:9px}}.tts-confirm-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.tts-confirm-dialog{animation:dialogSlideIn .2s ease-out;background:#fff;background:var(--color-surface,#fff);border:1px solid #0000001a;border:1px solid var(--color-border,#0000001a);border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:400px;padding:24px;width:90%}@keyframes dialogSlideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirm-header{align-items:center;display:flex;gap:12px;margin-bottom:16px}.confirm-header .confirm-icon{color:#007aff;color:var(--color-primary,#007aff);flex-shrink:0}.confirm-header h3{color:#1d1d1f;color:var(--color-text,#1d1d1f);font-size:18px;font-weight:600;margin:0}.confirm-content{margin-bottom:20px}.confirm-content p{color:#8e8e93;color:var(--color-text-secondary,#8e8e93);line-height:1.5;margin:0 0 12px}.confirm-content p strong{color:#1d1d1f;color:var(--color-text,#1d1d1f);font-weight:600}.confirm-content .cost-notice{background:#ff95001a;border-left:3px solid #ff9500;border-left:3px solid var(--color-warning,#ff9500);border-radius:8px;color:#ff9500;color:var(--color-warning,#ff9500);font-size:14px;margin-top:16px;padding:8px 12px}.preview-text{background:#f8f9fa;background:var(--color-background,#f8f9fa);border:1px solid #0000001a;border:1px solid var(--color-border,#0000001a);border-radius:8px;margin:12px 0;padding:12px}.preview-text .preview-label{color:#8e8e93;color:var(--color-text-secondary,#8e8e93);display:block;font-size:12px;font-weight:500;margin-bottom:6px}.preview-text p{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#1d1d1f;color:var(--color-text,#1d1d1f);display:-webkit-box;font-size:14px;line-height:1.4;margin:0!important;max-height:60px;overflow:hidden}.confirm-actions{display:flex;gap:12px;justify-content:flex-end}.confirm-actions button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;min-width:80px;padding:10px 20px;transition:all .2s ease}.confirm-actions button:hover{transform:translateY(-1px)}.confirm-actions button:active{transform:translateY(0)}.confirm-actions .cancel-btn{background:#f8f9fa;background:var(--color-background,#f8f9fa);border:1px solid #0000001a;border:1px solid var(--color-border,#0000001a);color:#8e8e93;color:var(--color-text-secondary,#8e8e93)}.confirm-actions .cancel-btn:hover{background:#fff;background:var(--color-surface,#fff);border-color:#0003;border-color:var(--color-border-hover,#0003);color:#1d1d1f;color:var(--color-text,#1d1d1f)}.confirm-actions .confirm-btn{background:#007aff;background:var(--color-primary,#007aff);color:#fff}.confirm-actions .confirm-btn:hover{background:#0056cc;background:var(--color-primary-hover,#0056cc);box-shadow:0 4px 12px #007aff4d}.selective-screenshot-modal-overlay{align-items:center;animation:modalFadeIn .3s ease-out;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,#0006,#000c);bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}@media(max-width:768px){.selective-screenshot-modal-overlay{padding:.5rem}}[data-theme=night] .selective-screenshot-modal-overlay{background:#000c}[data-theme=night] .selective-screenshot-modal-content{background:#1c1c1e;background:var(--modal-bg,#1c1c1e)}.selective-screenshot-modal-content{animation:modalSlideIn .4s cubic-bezier(.34,1.56,.64,1);background:linear-gradient(145deg,#fff,#fffffff2);background:linear-gradient(145deg,var(--modal-bg,#fff) 0,#fffffff2 100%);border:1px solid #fff3;border-radius:20px;box-shadow:0 25px 50px #00000026,0 15px 35px #0000001a,inset 0 1px 0 #fff3;display:flex;flex-direction:column;max-height:90vh;max-width:800px;overflow:hidden;padding:0;position:relative}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:768px){.selective-screenshot-modal-content{border-radius:16px;max-height:95vh;max-width:95vw}}.selective-screenshot-modal-header{background:linear-gradient(135deg,#007aff0d,#007aff05);border-radius:20px 20px 0 0;padding:24px 32px 20px;position:relative}.selective-screenshot-modal-header:before{background:linear-gradient(90deg,#0000,#007aff33 20%,#007aff66 50%,#007aff33 80%,#0000);content:"";height:1px;left:0;position:absolute;right:0;top:0}@media(max-width:768px){.selective-screenshot-modal-header{border-radius:16px 16px 0 0;padding:16px 20px 12px}}.selective-screenshot-header-main{align-items:flex-start;display:flex;justify-content:flex-start;margin-bottom:16px}@media(max-width:768px){.selective-screenshot-header-main{justify-content:flex-start;margin-bottom:12px}}.selective-screenshot-title-section{align-items:center;display:flex;gap:16px}@media(max-width:768px){.selective-screenshot-title-section{gap:10px}}.selective-screenshot-icon{align-items:center;background:linear-gradient(135deg,#007aff,#5ac8fa);border-radius:12px;box-shadow:0 4px 12px #007aff4d;color:#fff;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.selective-screenshot-icon svg{height:24px;width:24px}@media(max-width:768px){.selective-screenshot-icon{border-radius:8px;height:32px;width:32px}.selective-screenshot-icon svg{height:16px;width:16px}}.selective-screenshot-title-content{display:flex;flex-direction:column;gap:4px}@media(max-width:768px){.selective-screenshot-title-content{gap:2px}}.selective-screenshot-modal-title{color:#1d1d1f;color:var(--text-primary,#1d1d1f);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:1.25rem;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:0}@media(max-width:768px){.selective-screenshot-modal-title{font-size:1rem;font-weight:600}}.selective-screenshot-subtitle{color:#8e8e93;color:var(--text-secondary,#8e8e93);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem;font-weight:400;line-height:1.4;margin:0}@media(max-width:768px){.selective-screenshot-subtitle{display:none;font-size:.75rem}}.loading-spinner{animation:spin 1s linear infinite}.selective-screenshot-modal-close-button{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffc;border:1px solid #00000014;border-radius:10px;box-shadow:0 2px 8px #0000000f;color:#8e8e93;color:var(--text-secondary,#8e8e93);cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .2s cubic-bezier(.4,0,.2,1);width:36px}.selective-screenshot-modal-close-button:hover{background:#fff;box-shadow:0 4px 12px #0000001f;color:#1d1d1f;color:var(--text-primary,#1d1d1f);transform:scale(1.05)}.selective-screenshot-modal-close-button:active{transform:scale(.95)}.selective-screenshot-modal-close-button svg{height:18px;width:18px}@media(max-width:768px){.selective-screenshot-modal-close-button{height:32px;right:12px;top:12px;width:32px}.selective-screenshot-modal-close-button svg{height:16px;width:16px}}.selective-screenshot-messages-section{display:flex;flex:1 1;flex-direction:column;overflow:hidden;padding:24px 32px}@media(max-width:768px){.selective-screenshot-messages-section{padding:16px 20px}}.selective-screenshot-messages-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}@media(max-width:768px){.selective-screenshot-messages-header{align-items:center;flex-direction:row;gap:8px;margin-bottom:12px}}.messages-section-title{color:#1d1d1f;color:var(--text-primary,#1d1d1f);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:1rem;font-weight:600;margin:0}@media(max-width:768px){.messages-section-title{font-size:.875rem;font-weight:500}}.selection-hint{animation:fadeIn .3s ease-out;background:#007aff1a;border:1px solid #007aff33;border-radius:20px;color:#8e8e93;color:var(--text-secondary,#8e8e93);font-size:.8rem;font-weight:500;padding:6px 12px}@media(max-width:768px){.selection-hint{border-radius:16px;font-size:.75rem;padding:4px 8px}}.selective-screenshot-messages-container{flex:1 1;overflow-y:auto;padding-right:8px}.selective-screenshot-messages-container::-webkit-scrollbar{width:6px}.selective-screenshot-messages-container::-webkit-scrollbar-track{background:#0000000d;border-radius:3px}.selective-screenshot-messages-container::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.selective-screenshot-messages-container::-webkit-scrollbar-thumb:hover{background:#0000004d}@media(max-width:768px){.selective-screenshot-messages-container{max-height:calc(100vh - 280px);min-height:200px}}.selective-screenshot-selectable-message-container{border-radius:16px;cursor:pointer;margin-bottom:16px;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.selective-screenshot-selectable-message-container:last-child{margin-bottom:0}.selective-screenshot-selectable-message-container.selected{background:linear-gradient(135deg,#007aff14,#007aff0a);border:1px solid #007aff33;box-shadow:0 4px 16px #007aff1a;transform:translateY(-2px)}.selective-screenshot-selectable-message-container:hover{background:#00000005;transform:translateY(-1px)}@media(max-width:768px){.selective-screenshot-selectable-message-container{border-radius:12px;margin-bottom:10px}.selective-screenshot-selectable-message-container.selected{box-shadow:0 2px 8px #007aff14;transform:none}.selective-screenshot-selectable-message-container:hover{transform:none}}.message-selection-indicator{align-items:center;display:flex;gap:8px;position:absolute;right:16px;top:16px;z-index:10}@media(max-width:768px){.message-selection-indicator{right:12px;top:12px}}.selective-screenshot-selection-checkbox{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:2px solid #0000001a;border-radius:8px;box-shadow:0 2px 8px #00000014;display:flex;height:24px;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);width:24px}.selective-screenshot-selection-checkbox.checked{background:linear-gradient(135deg,#007aff,#5ac8fa);border-color:#007aff;box-shadow:0 4px 12px #007aff4d;transform:scale(1.1)}.selective-screenshot-selection-checkbox.checked svg{opacity:1;transform:scale(1.1)}.selective-screenshot-selection-checkbox svg{color:#fff;height:16px;opacity:0;transition:all .3s cubic-bezier(.4,0,.2,1);width:16px}@media(max-width:768px){.selective-screenshot-selection-checkbox{border-radius:6px;height:20px;width:20px}.selective-screenshot-selection-checkbox svg{height:14px;width:14px}}.selection-order-badge{align-items:center;animation:bounceIn .3s ease-out;background:#007aff;border-radius:50%;box-shadow:0 2px 8px #007aff4d;color:#fff;display:flex;font-size:.75rem;font-weight:700;height:20px;justify-content:center;width:20px}@keyframes bounceIn{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}@media(max-width:768px){.selection-order-badge{font-size:.7rem;height:18px;width:18px}}.message-content-wrapper{padding:16px 16px 16px 20px}@media(max-width:768px){.message-content-wrapper{padding:10px 10px 10px 14px}}.selective-screenshot-bottom-actions{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffc;background:var(--modal-bg,#fffc);border-top:1px solid #00000014;border-top:1px solid var(--border-tertiary,#00000014);display:flex;justify-content:center;padding:24px 32px 32px}@media(max-width:768px){.selective-screenshot-bottom-actions{padding:16px 20px 24px}}.selective-screenshot-bottom-export-button{align-items:center;background:linear-gradient(135deg,#007aff,#5ac8fa);border:none;border-radius:12px;box-shadow:0 4px 16px #007aff4d;color:#fff;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem;font-weight:600;gap:8px;min-height:44px;overflow:hidden;padding:12px 24px;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap}.selective-screenshot-bottom-export-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.selective-screenshot-bottom-export-button:hover:not(:disabled){box-shadow:0 8px 24px #007aff66;transform:translateY(-2px)}.selective-screenshot-bottom-export-button:hover:not(:disabled):before{left:100%}.selective-screenshot-bottom-export-button:active:not(:disabled){box-shadow:0 4px 16px #007aff4d;transform:translateY(0)}.selective-screenshot-bottom-export-button:disabled{box-shadow:0 2px 8px #007aff33;cursor:not-allowed;opacity:.6;transform:none}.selective-screenshot-bottom-export-button svg{height:16px;width:16px}@media(max-width:768px){.selective-screenshot-bottom-export-button{border-radius:10px;font-size:.8125rem;gap:6px;min-height:40px;padding:10px 20px}.selective-screenshot-bottom-export-button svg{height:14px;width:14px}}.maintenance-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.maintenance-modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 50px #0000004d;max-width:500px;padding:2rem;position:relative;text-align:center;width:100%}.maintenance-modal-close-button{background:none;border:none;border-radius:8px;color:#718096;cursor:pointer;padding:.5rem;position:absolute;right:1rem;top:1rem;transition:all .2s ease}.maintenance-modal-close-button:hover{background:#f7fafc;color:#2d3748}.maintenance-modal-icon-wrapper{color:#f59e0b;display:flex;justify-content:center;margin-bottom:1.5rem}.maintenance-modal-title{color:#2d3748;font-size:1.5rem;font-weight:600;margin:0 0 1rem}.maintenance-modal-message{color:#4a5568;font-size:1rem;line-height:1.6;margin:0 0 1.5rem}.maintenance-modal-sub-message{color:#718096;font-size:.9rem;line-height:1.5;margin:0}.maintenance-modal-understand-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;margin-top:1rem;padding:.875rem 2rem;transition:all .2s ease}.maintenance-modal-understand-button:hover{box-shadow:0 8px 25px #667eea4d;transform:translateY(-2px)}.maintenance-modal-understand-button:active{transform:translateY(0)}.chat-history-sidebar-overlay{background:#0000001a;bottom:0;left:0;opacity:0;position:fixed;right:0;top:0;transition:opacity .3s ease,visibility .3s ease;visibility:hidden;z-index:999}.chat-history-sidebar-overlay.open{opacity:1;visibility:visible}.chat-history-sidebar-container{background:#fffffff2;background:var(--sidebar-bg,#fffffff2);border-right:.33px solid #00000014;border-right:.33px solid var(--sidebar-border,#00000014);display:flex;flex-direction:column;height:100vh;left:-320px;padding-left:0;padding-left:var(--safe-area-inset-left,0);padding-top:0;padding-top:var(--safe-area-inset-top,0);position:fixed;top:0;transition:left .3s cubic-bezier(.4,0,.2,1);width:320px;z-index:1000}@supports(-webkit-backdrop-filter:blur(20px)){.chat-history-sidebar-container{-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}.chat-history-sidebar-container.open{left:0}.chat-history-sidebar-header{align-items:center;background:#fffc;background:var(--sidebar-header-bg,#fffc);border-bottom:.33px solid #00000014;border-bottom:.33px solid var(--sidebar-border,#00000014);display:flex;justify-content:space-between;padding:16px 20px}.chat-history-sidebar-header-title{align-items:center;display:flex;gap:8px}.chat-history-sidebar-header-title h3{color:#1d1d1f;color:var(--sidebar-text-primary,#1d1d1f);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:16px;font-weight:600;margin:0}.chat-history-sidebar-header-title svg{color:#007aff;height:18px;width:18px}.chat-history-sidebar-header-actions{align-items:center;display:flex;gap:8px}.chat-history-sidebar-icon-button{align-items:center;background:none;border:none;border-radius:8px;color:#8e8e93;color:var(--sidebar-text-secondary,#8e8e93);cursor:pointer;display:flex;justify-content:center;padding:6px;transition:all .2s cubic-bezier(.4,0,.2,1)}.chat-history-sidebar-icon-button:hover{background:#0000000d;background:var(--sidebar-hover-bg,#0000000d);color:#1d1d1f;color:var(--sidebar-text-primary,#1d1d1f)}.chat-history-sidebar-icon-button svg{height:16px;width:16px}.chat-history-sidebar-history-list{flex:1 1;overflow-y:auto;padding:8px 0}.chat-history-sidebar-history-list::-webkit-scrollbar{width:6px}.chat-history-sidebar-history-list::-webkit-scrollbar-track{background:#0000}.chat-history-sidebar-history-list::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}.chat-history-sidebar-history-list::-webkit-scrollbar-thumb:hover{background:#00000040}.chat-history-sidebar-empty-state{color:#8e8e93;color:var(--sidebar-text-secondary,#8e8e93);padding:40px 20px;text-align:center}.chat-history-sidebar-empty-state svg{height:48px;margin-bottom:12px;opacity:.5;width:48px}.chat-history-sidebar-empty-state p{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;margin:0}.chat-history-sidebar-date-group{margin-bottom:16px}.chat-history-sidebar-date-label{color:#8e8e93;color:var(--sidebar-text-secondary,#8e8e93);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:11px;font-weight:600;letter-spacing:.5px;padding:8px 20px 4px;text-transform:uppercase}.chat-history-sidebar-chat-item{align-items:center;border-left:3px solid #0000;cursor:pointer;display:flex;justify-content:space-between;padding:12px 20px;transition:all .2s cubic-bezier(.4,0,.2,1)}.chat-history-sidebar-chat-item:hover{background:#007aff0d;background:var(--sidebar-hover-bg,#007aff0d);border-left-color:#007aff4d;border-left-color:var(--sidebar-active-border,#007aff4d)}.chat-history-sidebar-chat-item.active{background:#007aff1a;background:var(--sidebar-active-bg,#007aff1a);border-left-color:#007aff;border-left-color:var(--sidebar-active-border,#007aff)}.chat-history-sidebar-chat-content{flex:1 1;min-width:0}.chat-history-sidebar-chat-title{color:#1d1d1f;color:var(--sidebar-text-primary,#1d1d1f);font-size:13px;font-weight:500;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-history-sidebar-chat-time,.chat-history-sidebar-chat-title{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif}.chat-history-sidebar-chat-time{align-items:center;color:#8e8e93;color:var(--sidebar-text-secondary,#8e8e93);display:flex;font-size:11px;gap:4px}.chat-history-sidebar-experimental-badge{align-items:center;background:linear-gradient(135deg,#ff45001a,#ff45000d);border:.5px solid #ff450033;border-radius:8px;color:#ff4500;display:inline-flex;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:9px;font-weight:600;gap:2px;letter-spacing:.3px;padding:2px 6px;text-transform:uppercase}.chat-history-sidebar-experimental-badge svg{color:#ff4500;height:8px;width:8px}.chat-history-sidebar-chat-actions{align-items:center;display:flex;gap:4px;opacity:0;transition:opacity .2s ease}.chat-history-sidebar-chat-item:hover .chat-history-sidebar-chat-actions{opacity:1}.chat-history-sidebar-clear-all-section{margin-top:8px;padding:16px 20px 20px}.chat-history-sidebar-clear-all-button{align-items:center;background:#ff3b30;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;gap:5px;justify-content:center;opacity:.8;padding:10px 14px;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}.chat-history-sidebar-clear-all-button:hover{background:#d70015;opacity:1;transform:scale(1.01)}.chat-history-sidebar-clear-all-button:active{transform:scale(.99)}.chat-history-sidebar-clear-all-button svg{height:14px;width:14px}@media(max-width:768px){.chat-history-sidebar-container{left:-280px;width:280px}.chat-history-sidebar-container.open{left:0}.chat-history-sidebar-header{padding:12px 16px}.chat-history-sidebar-chat-item{padding:10px 16px}.chat-history-sidebar-date-label{padding:6px 16px 2px}.chat-history-sidebar-clear-all-section{padding:12px 16px 16px}}.feedback-modal-overlay{align-items:center;animation:fadeIn .3s ease-out;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.feedback-modal-overlay .feedback-modal-content{animation:slideUp .4s cubic-bezier(.34,1.56,.64,1);background:#fff;background:var(--modal-bg,#fff);border:1px solid #ffffff26;border:1px solid var(--modal-border,#ffffff26);border-radius:20px;box-shadow:0 30px 60px #0003,0 15px 30px #00000026,inset 0 1px 0 #ffffff1a;max-height:85vh;max-width:420px;overflow:hidden;overflow-y:auto;position:relative;width:90%}.feedback-modal-overlay .feedback-modal-content:before{background:linear-gradient(90deg,#0000,#fff6,#0000);content:"";height:1px;left:0;position:absolute;right:0;top:0;z-index:1}@media(max-width:768px){.feedback-modal-overlay .feedback-modal-content{border-radius:16px;max-width:95%}}.feedback-modal-overlay .feedback-modal-header{align-items:center;background:#0000;background:var(--header-bg,#0000);border-bottom:1px solid #00000014;border-bottom:1px solid var(--header-border-color,#00000014);display:flex;justify-content:space-between;margin-bottom:20px;padding:20px 24px 16px;position:relative}.feedback-modal-overlay .feedback-modal-header h3{color:#1d1d1f;color:var(--text-primary,#1d1d1f);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,sans-serif;font-size:18px;font-weight:600;letter-spacing:-.3px;margin:0}.feedback-modal-overlay .feedback-modal-header .feedback-modal-close{align-items:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#0000000d;background:var(--button-secondary-bg,#0000000d);border:none;border-radius:8px;color:#666;color:var(--text-secondary,#666);cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s ease}.feedback-modal-overlay .feedback-modal-header .feedback-modal-close:hover{background:#00000014;background:var(--button-secondary-hover,#00000014);transform:scale(1.05)}.feedback-modal-overlay .feedback-modal-header .feedback-modal-close:active{transform:scale(.95)}.feedback-modal-overlay .feedback-modal-header .feedback-modal-close svg{height:18px;width:18px}.feedback-modal-overlay .feedback-success{padding:24px;text-align:center}.feedback-modal-overlay .feedback-success .success-icon{color:#10b981;color:var(--success-color,#10b981);margin-bottom:16px}.feedback-modal-overlay .feedback-success .success-icon svg{animation:successPulse .6s ease-out}@keyframes successPulse{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.feedback-modal-overlay .feedback-success h4{color:#1f2937;color:var(--text-primary,#1f2937);font-size:1.125rem;font-weight:600;margin:0 0 8px}.feedback-modal-overlay .feedback-success p{color:#6b7280;color:var(--text-secondary,#6b7280);line-height:1.5;margin:0}.feedback-modal-overlay .feedback-form{padding:0 24px 24px}.feedback-modal-overlay .feedback-form .form-group{margin-bottom:24px}.feedback-modal-overlay .feedback-form .form-group:last-child{margin-bottom:0}.feedback-modal-overlay .feedback-form .form-label{color:#374151;color:var(--text-primary,#374151);display:block;font-weight:500;margin-bottom:8px}.feedback-modal-overlay .feedback-form .score-slider-container{align-items:center;display:flex;gap:12px;margin-bottom:8px}.feedback-modal-overlay .feedback-form .score-slider-container .score-label{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.875rem;min-width:32px;text-align:center}.feedback-modal-overlay .feedback-form .score-slider-container .score-slider{appearance:none;-webkit-appearance:none;background:linear-gradient(90deg,#e2e8f0,#cbd5e1);background:var(--slider-track,linear-gradient(to right,#e2e8f0,#cbd5e1));border-radius:4px;cursor:pointer;flex:1 1;height:8px;outline:none;position:relative;transition:all .3s ease}.feedback-modal-overlay .feedback-form .score-slider-container .score-slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;background:#007aff;background:var(--button-primary-bg,#007aff);border:3px solid #fff;border:3px solid var(--modal-bg,#fff);border-radius:50%;box-shadow:0 4px 12px #007aff4d,0 2px 4px #0000001a;cursor:pointer;height:24px;-webkit-transition:all .3s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1);width:24px}.feedback-modal-overlay .feedback-form .score-slider-container .score-slider::-webkit-slider-thumb:hover{box-shadow:0 6px 20px #007aff66,0 4px 8px #00000026;transform:scale(1.1)}.feedback-modal-overlay .feedback-form .score-slider-container .score-slider::-moz-range-thumb{background:#007aff;background:var(--button-primary-bg,#007aff);border:3px solid #fff;border:3px solid var(--modal-bg,#fff);border-radius:50%;box-shadow:0 4px 12px #007aff4d,0 2px 4px #0000001a;cursor:pointer;height:24px;width:24px}.feedback-modal-overlay .feedback-form .score-slider-container .score-slider:disabled{cursor:not-allowed;opacity:.5}.feedback-modal-overlay .feedback-form .score-slider-container .score-slider:disabled::-webkit-slider-thumb{cursor:not-allowed}.feedback-modal-overlay .feedback-form .score-slider-container .score-slider:disabled::-moz-range-thumb{cursor:not-allowed}.feedback-modal-overlay .feedback-form .score-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#007aff,#0056cc);background:linear-gradient(135deg,var(--button-primary-bg,#007aff) 0,var(--button-primary-hover,#0056cc) 100%);-webkit-background-clip:text;background-clip:text;color:#007aff;color:var(--button-primary-bg,#007aff);filter:drop-shadow(0 2px 4px rgba(0,122,255,.2));font-size:1.5rem;font-weight:700;margin-top:12px;text-align:center}.feedback-modal-overlay .feedback-form .comment-textarea{background:#fff;background:var(--input-bg,#fff);border:1px solid #d1d5db;border:1px solid var(--input-border,#d1d5db);border-radius:8px;color:#1f2937;color:var(--text-primary,#1f2937);font-family:inherit;font-size:.875rem;line-height:1.4;min-height:80px;padding:12px;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.feedback-modal-overlay .feedback-form .comment-textarea:focus{border-color:#3b82f6;border-color:var(--input-focus,#3b82f6);box-shadow:0 0 0 3px #3b82f61a;outline:none}.feedback-modal-overlay .feedback-form .comment-textarea::placeholder{color:#9ca3af;color:var(--input-placeholder,#9ca3af)}.feedback-modal-overlay .feedback-form .comment-textarea:disabled{background-color:#f9fafb;background-color:var(--button-tertiary-bg,#f9fafb);color:#6b7280;color:var(--text-secondary,#6b7280);cursor:not-allowed}.feedback-modal-overlay .feedback-form .form-actions{display:flex;justify-content:center;margin-top:32px}.feedback-modal-overlay .feedback-form .form-actions .submit-button{align-items:center;background:#007aff;background:var(--button-primary-bg,#007aff);border:1px solid #007aff;border:1px solid var(--button-primary-bg,#007aff);border-radius:12px;box-shadow:0 4px 16px #007aff33;color:#fff;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:.9rem;font-weight:600;gap:8px;justify-content:center;min-width:140px;padding:12px 32px;transition:all .3s cubic-bezier(.4,0,.2,1)}.feedback-modal-overlay .feedback-form .form-actions .submit-button:hover:not(:disabled){background:#0056cc;background:var(--button-primary-hover,#0056cc);border-color:#0056cc;border-color:var(--button-primary-hover,#0056cc);box-shadow:0 8px 25px #007aff59;transform:translateY(-2px) scale(1.02)}.feedback-modal-overlay .feedback-form .form-actions .submit-button:active:not(:disabled){transform:translateY(-1px) scale(1.01)}.feedback-modal-overlay .feedback-form .form-actions .submit-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.feedback-modal-overlay .feedback-form .form-actions .submit-button .loading-spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;height:16px;width:16px}.feedback-modal-overlay .error-display{padding:24px}.feedback-modal-overlay .error-display .error-content{margin-bottom:24px}.feedback-modal-overlay .error-display .error-content .error-message{word-wrap:break-word;background-color:#fef2f2;background-color:var(--error-bg,#fef2f2);border:1px solid #fecaca;border:1px solid var(--error-color,#fecaca);border-radius:8px;color:#991b1b;color:var(--error-color,#991b1b);font-family:inherit;font-size:.9rem;line-height:1.6;margin:0;max-height:300px;overflow-y:auto;padding:16px;white-space:pre-wrap}.feedback-modal-overlay .error-display .error-content .error-message::-webkit-scrollbar{width:6px}.feedback-modal-overlay .error-display .error-content .error-message::-webkit-scrollbar-track{background:#f3f4f6;background:var(--button-tertiary-bg,#f3f4f6);border-radius:3px}.feedback-modal-overlay .error-display .error-content .error-message::-webkit-scrollbar-thumb{background:#d1d5db;background:var(--border-secondary,#d1d5db);border-radius:3px}.feedback-modal-overlay .error-display .error-content .error-message::-webkit-scrollbar-thumb:hover{background:#9ca3af;background:var(--text-secondary,#9ca3af)}.feedback-modal-overlay .error-display .error-actions{display:flex;justify-content:center}.feedback-modal-overlay .error-display .error-actions .error-close-button{background:#007aff;background:var(--button-primary-bg,#007aff);border:1px solid #007aff;border:1px solid var(--button-primary-bg,#007aff);border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:10px 24px;transition:all .2s ease}.feedback-modal-overlay .error-display .error-actions .error-close-button:hover{background:#0056cc;background:var(--button-primary-hover,#0056cc);border-color:#0056cc;border-color:var(--button-primary-hover,#0056cc);box-shadow:0 4px 12px #007aff4d;transform:translateY(-1px)}.feedback-modal-overlay .error-display .error-actions .error-close-button:focus{box-shadow:0 0 0 3px #007aff33;outline:none}[data-theme=night]{--modal-bg:linear-gradient(145deg,#1c1c1e,#2c2c2e);--modal-border:#ffffff1f;--header-border-color:#ffffff1a;--header-bg:#ffffff05;--button-secondary-bg:#ffffff1a;--button-secondary-hover:#ffffff26;--slider-track:linear-gradient(90deg,#ffffff1a,#fff3)}[data-theme=night] .feedback-modal-content{box-shadow:0 30px 60px #0006,0 15px 30px #00000040,inset 0 1px 0 #ffffff1a}[data-theme=day]{--modal-border:#00000014;--header-bg:#f8fafc99;--button-secondary-bg:#0000000a;--slider-track:linear-gradient(90deg,#e2e8f0,#cbd5e1)}@media(max-width:640px){.feedback-modal-overlay{padding:16px}.feedback-modal-overlay .feedback-modal-content{max-height:95vh}.feedback-modal-overlay .feedback-modal-header{padding:20px 20px 0}.feedback-modal-overlay .feedback-modal-header h3{font-size:1.125rem}.feedback-modal-overlay .feedback-form{padding:0 20px 20px}.feedback-modal-overlay .feedback-form .form-actions .submit-button{max-width:none;width:100%}}.settings-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.settings-modal{animation:slideUp .3s ease-out;background:#fff;background:var(--modal-bg,#fff);border:1px solid #fff3;border:1px solid var(--modal-border,#fff3);border-radius:16px;box-shadow:0 20px 40px #00000026,0 10px 20px #0000001a;max-height:80vh;max-width:480px;overflow:hidden;width:90%}@media(max-width:768px){.settings-modal{max-width:95%}}.settings-header{align-items:center;background:#0000;background:var(--header-bg,#0000);border-bottom:1px solid #00000014;border-bottom:1px solid var(--header-border-color,#00000014);display:flex;justify-content:space-between;margin-bottom:20px;padding:20px 24px 16px;position:relative}.settings-header h2{color:#1d1d1f;color:var(--text-primary,#1d1d1f);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,sans-serif;font-size:18px;font-weight:600;letter-spacing:-.3px;margin:0}.settings-header .close-button{align-items:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#0000000d;background:var(--button-secondary-bg,#0000000d);border:none;border-radius:8px;color:#666;color:var(--text-secondary,#666);cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s ease}.settings-header .close-button:hover{background:#00000014;background:var(--button-secondary-hover,#00000014);transform:scale(1.05)}.settings-header .close-button:active{transform:scale(.95)}.settings-header .close-button svg{height:18px;width:18px}.settings-content{max-height:calc(80vh - 80px);overflow-y:auto;padding:0 24px 24px}.setting-section{margin-bottom:32px}.setting-section:last-child{margin-bottom:0}.setting-section h3{color:#1d1d1f;color:var(--text-primary,#1d1d1f);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,sans-serif;font-size:16px;font-weight:600;margin:0 0 16px}.theme-options{display:flex;flex-direction:column;gap:8px}.theme-option{align-items:center;background:#fff;background:var(--card-bg,#fff);border:1px solid #0000001a;border:1px solid var(--border-color,#0000001a);border-radius:12px;cursor:pointer;display:flex;padding:16px;transition:all .2s ease}.theme-option:hover{background:#007aff05;background:var(--card-hover,#007aff05);border-color:#007aff4d;border-color:var(--border-hover,#007aff4d)}.theme-option.active{background:#0000000d;background:var(--card-active,#0000000d);border-color:#0000001a;border-color:var(--border-color,#0000001a)}.theme-icon{align-items:center;background:#007aff1a;background:var(--icon-bg,#007aff1a);border-radius:10px;color:#007aff;color:var(--primary-color,#007aff);display:flex;height:40px;justify-content:center;margin-right:12px;width:40px}.theme-icon svg{height:20px;width:20px}.theme-info{flex:1 1;margin-right:12px}.theme-info .theme-name{color:#1d1d1f;color:var(--text-primary,#1d1d1f);font-size:15px;font-weight:500;margin-bottom:2px}.theme-info .theme-description,.theme-info .theme-name{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif}.theme-info .theme-description{color:#666;color:var(--text-secondary,#666);font-size:13px}.theme-radio input[type=radio]{accent-color:#007aff;accent-color:var(--radio-checked-color,#007aff);cursor:pointer;height:18px;width:18px}.theme-radio input[type=radio]:not(:checked){filter:contrast(.8);opacity:.4;opacity:var(--radio-unchecked-opacity,.4)}.theme-radio input[type=radio]:checked{filter:none;opacity:1}.experimental-options{display:flex;flex-direction:column;gap:8px}.experimental-option{align-items:center;background:#fff;background:var(--card-bg,#fff);border:1px solid #0000001a;border:1px solid var(--border-color,#0000001a);border-radius:12px;cursor:pointer;display:flex;padding:16px;transition:all .2s ease}.experimental-option:hover{background:#ff450005;background:var(--card-hover,#ff450005);border-color:#ff45004d;border-color:var(--border-hover,#ff45004d)}.experimental-option.active{background:#ff45000d;background:var(--card-active,#ff45000d);border-color:#ff4500;border-color:var(--experimental-color,#ff4500);box-shadow:0 0 0 1px #ff4500;box-shadow:0 0 0 1px var(--experimental-color,#ff4500)}.experimental-icon{align-items:center;background:#ff45001a;background:var(--experimental-icon-bg,#ff45001a);border-radius:10px;color:#ff4500;color:var(--experimental-color,#ff4500);display:flex;height:40px;justify-content:center;margin-right:12px;width:40px}.experimental-icon svg{height:20px;width:20px}.experimental-info{flex:1 1;margin-right:12px}.experimental-info .experimental-name{color:#1d1d1f;color:var(--text-primary,#1d1d1f);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:15px;font-weight:500;margin-bottom:2px}.experimental-info .experimental-description{color:#666;color:var(--text-secondary,#666);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:13px}.experimental-toggle .toggle{background:#e5e5e7;background:var(--toggle-bg,#e5e5e7);border-radius:12px;cursor:pointer;height:24px;position:relative;transition:all .2s ease;width:44px}.experimental-toggle .toggle.enabled{background:#ff4500;background:var(--experimental-color,#ff4500)}.experimental-toggle .toggle .toggle-slider{background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;height:20px;left:2px;position:absolute;top:2px;transition:all .2s ease;width:20px}.experimental-toggle .toggle.enabled .toggle-slider{transform:translateX(20px)}.coming-soon{color:#666;color:var(--text-secondary,#666);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:14px;font-style:italic;padding:32px 16px;text-align:center}.experimental-mode-indicator{display:flex;justify-content:center;margin-top:16px}.experimental-badge{align-items:center;animation:experimentalPulse 2s ease-in-out infinite;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:linear-gradient(135deg,#ff45001a,#ff45000d);border:1px solid #ff450033;border-radius:20px;display:inline-flex;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:13px;font-weight:500;gap:6px;padding:8px 12px}.experimental-badge,.experimental-badge svg{color:#ff4500;color:var(--experimental-color,#ff4500)}.experimental-badge svg{height:16px;width:16px}@keyframes experimentalPulse{0%,to{box-shadow:0 0 0 0 #ff45004d;transform:scale(1)}50%{box-shadow:0 0 0 4px #ff45001a;transform:scale(1.02)}}[data-theme=night]{--modal-border:#ffffff1a;--header-border-color:#ffffff26;--header-bg:#0000;--border-color:#fff3;--border-hover:#007aff80;--card-bg:#2c2c2e;--card-hover:#007aff1a;--card-active:#ffffff14;--button-secondary-bg:#ffffff14;--button-secondary-hover:#ffffff1f;--icon-bg:#007aff33;--primary-color:#0a84ff;--radio-checked-color:#0a84ff;--radio-unchecked-opacity:0.6}[data-theme=day]{--modal-border:#fff3;--header-border-color:#00000014;--header-bg:#0000;--border-color:#0000001a;--border-hover:#007aff4d;--text-secondary:#666;--card-hover:#007aff05;--card-active:#0000000d;--button-secondary-bg:#0000000d;--button-secondary-hover:#00000014;--icon-bg:#007aff1a;--primary-color:#007aff;--radio-checked-color:#007aff;--radio-unchecked-opacity:0.3}.fullscreen-modal-overlay{animation:fadeIn .3s ease-out;background:#fff;background:var(--modal-bg,#fff);bottom:0;left:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:fixed;right:0;top:0;z-index:2000}.fullscreen-modal-overlay .spinning{animation:spin 1s linear infinite}.fullscreen-modal-content{background:var(--message-assistant-bg);display:flex;flex-direction:column;height:100%;padding:0;width:100%}.fullscreen-modal-header{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#0000;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-tertiary,#e2e8f0);display:flex;justify-content:space-between;padding:12px 20px;position:sticky;top:0;z-index:10}.fullscreen-modal-title{color:#1d1d1f;color:var(--text-primary,#1d1d1f);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:18px;font-weight:600;letter-spacing:-.01em;margin:0;text-align:center}.fullscreen-modal-close-button{background:none;border:none;border-radius:8px;color:#8e8e93;color:var(--text-secondary,#8e8e93);cursor:pointer;padding:8px;position:absolute;right:12px;transition:all .2s ease}.fullscreen-modal-close-button:hover{background:#8e8e931a;background:var(--button-tertiary-bg,#8e8e931a);color:#1d1d1f;color:var(--text-primary,#1d1d1f)}.fullscreen-modal-close-button svg{height:20px;width:20px}.fullscreen-modal-body{background:#0000;flex:1 1;overflow-y:auto;padding:20px}.fullscreen-modal-message-content{word-wrap:break-word;background:#0000;color:#1d1d1f;color:var(--text-primary,#1d1d1f);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.6;margin:0;overflow-wrap:break-word;padding:0}.fullscreen-modal-message-content h1,.fullscreen-modal-message-content h2,.fullscreen-modal-message-content h3,.fullscreen-modal-message-content h4,.fullscreen-modal-message-content h5,.fullscreen-modal-message-content h6{color:#1d1d1f;color:var(--text-primary,#1d1d1f);font-weight:600;line-height:1.3;margin:1.5em 0 .5em}.fullscreen-modal-message-content h1{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-tertiary,#e2e8f0);font-size:24px;padding-bottom:.3em}.fullscreen-modal-message-content h2{font-size:20px}.fullscreen-modal-message-content h3{font-size:18px}.fullscreen-modal-message-content h4{font-size:16px}.fullscreen-modal-message-content p{margin:1em 0}.fullscreen-modal-message-content ol,.fullscreen-modal-message-content ul{margin:1em 0;padding-left:2em}.fullscreen-modal-message-content li{margin:.5em 0}.fullscreen-modal-message-content code{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);border-radius:4px;color:#1d1d1f;color:var(--text-primary,#1d1d1f);font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:14px;padding:2px 6px}.fullscreen-modal-message-content pre{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);border:1px solid #e2e8f0;border:1px solid var(--border-tertiary,#e2e8f0);border-radius:8px;margin:1em 0;overflow-x:auto;padding:16px}.fullscreen-modal-message-content pre code{background:none;border-radius:0;font-size:14px;padding:0}.fullscreen-modal-message-content blockquote{border-left:4px solid #e2e8f0;border-left:4px solid var(--border-tertiary,#e2e8f0);color:#8e8e93;color:var(--text-secondary,#8e8e93);font-style:italic;margin:1em 0;padding-left:16px}.fullscreen-modal-message-content table{border-collapse:collapse;font-size:14px;margin:1em 0;width:100%}.fullscreen-modal-message-content td,.fullscreen-modal-message-content th{border:1px solid #e2e8f0;border:1px solid var(--border-tertiary,#e2e8f0);padding:8px 12px;text-align:left}.fullscreen-modal-message-content th{background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);font-weight:600}.fullscreen-modal-message-content a{color:#007aff;color:var(--button-primary-bg,#007aff);text-decoration:none}.fullscreen-modal-message-content a:hover{text-decoration:underline}[data-theme=day] .fullscreen-modal-content{border-top:1px solid #ffd276}.fullscreen-modal-footer{backdrop-filter:blur(10px);background:#fff;background:var(--modal-bg,#fff);border-top:1px solid #e2e8f0;border-top:1px solid var(--border-tertiary,#e2e8f0);padding:12px 20px;position:sticky;z-index:10}.char-limit-warning-modal-overlay,.fullscreen-modal-footer{align-items:center;-webkit-backdrop-filter:blur(10px);bottom:0;display:flex;justify-content:center}.char-limit-warning-modal-overlay{backdrop-filter:blur(10px);background:#000c;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.char-limit-warning-modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 50px #0000004d;max-width:450px;padding:2rem;position:relative;text-align:center;width:100%}.char-limit-warning-modal-close-button{background:none;border:none;border-radius:8px;color:#718096;cursor:pointer;padding:.5rem;position:absolute;right:1rem;top:1rem;transition:all .2s ease}.char-limit-warning-modal-close-button:hover{background:#f7fafc;color:#2d3748}.char-limit-warning-modal-icon-wrapper{color:#f59e0b;display:flex;justify-content:center;margin-bottom:1.5rem}.char-limit-warning-modal-title{color:#2d3748;font-size:1.25rem;font-weight:600;margin:0 0 1rem}.char-limit-warning-modal-message{color:#4a5568;font-size:1rem;line-height:1.6;margin:0 0 1.5rem}.char-limit-warning-modal-understand-button{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;margin-top:1rem;padding:.875rem 2rem;transition:all .2s ease}.char-limit-warning-modal-understand-button:hover{box-shadow:0 8px 25px #f59e0b4d;transform:translateY(-2px)}.char-limit-warning-modal-understand-button:active{transform:translateY(0)}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes iconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes sparkleFloat{0%,to{opacity:.6;transform:translateY(0) rotate(0deg)}50%{opacity:1;transform:translateY(-10px) rotate(180deg)}}.chat-length-modal-overlay{align-items:center;animation:modalFadeIn .3s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.chat-length-modal-content{animation:modalSlideUp .4s cubic-bezier(.34,1.56,.64,1);background:linear-gradient(145deg,#fff,#f8fafc);border-radius:24px;box-shadow:0 20px 60px #0000004d,inset 0 0 0 1px #fffc;max-width:440px;padding:40px 32px 32px;position:relative;text-align:center;width:100%}.chat-length-modal-content .modal-icon-wrapper{display:inline-flex;margin-bottom:24px;position:relative}.chat-length-modal-content .modal-icon-wrapper .modal-icon{align-items:center;animation:iconPulse 2s ease-in-out infinite;background:linear-gradient(135deg,#007aff,#0056cc);border-radius:50%;box-shadow:0 8px 24px #007aff66;color:#fff;display:flex;height:80px;justify-content:center;width:80px}.chat-length-modal-content .modal-icon-wrapper .modal-icon svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.chat-length-modal-content .modal-icon-wrapper .sparkle{animation:sparkleFloat 3s ease-in-out infinite;color:#34c759;position:absolute}.chat-length-modal-content .modal-icon-wrapper .sparkle.sparkle-1{animation-delay:0s;right:-5px;top:-5px}.chat-length-modal-content .modal-icon-wrapper .sparkle.sparkle-2{animation-delay:1.5s;bottom:5px;left:-5px}.chat-length-modal-content h2{color:#1e293b;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,sans-serif;font-size:24px;font-weight:700;letter-spacing:-.02em;margin:0 0 16px}.chat-length-modal-content p{color:#64748b;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:16px;line-height:1.6;margin:0 0 24px}.chat-length-modal-content .modal-tip{align-items:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-radius:12px;color:#166534;display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;margin-bottom:24px;padding:12px 16px}.chat-length-modal-content .modal-tip .tip-icon{animation:iconPulse 2s ease-in-out infinite;font-size:18px}.chat-length-modal-content .modal-confirm-btn{background:linear-gradient(135deg,#007aff,#0056cc);border:none;border-radius:12px;box-shadow:0 4px 12px #007aff4d;color:#fff;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:16px;font-weight:600;letter-spacing:.02em;padding:14px 24px;transition:all .3s cubic-bezier(.34,1.56,.64,1);width:100%}.chat-length-modal-content .modal-confirm-btn:hover{box-shadow:0 8px 20px #007aff66;transform:translateY(-2px)}.chat-length-modal-content .modal-confirm-btn:active{box-shadow:0 2px 8px #007aff4d;transform:translateY(0)}@media(max-width:768px){.chat-length-modal-content{max-width:90%;padding:32px 24px 24px}.chat-length-modal-content .modal-icon-wrapper .modal-icon{height:64px;width:64px}.chat-length-modal-content .modal-icon-wrapper .modal-icon svg{height:32px;width:32px}.chat-length-modal-content h2{font-size:20px}.chat-length-modal-content p{font-size:15px}.chat-length-modal-content .modal-tip{font-size:13px;padding:10px 14px}.chat-length-modal-content .modal-confirm-btn{font-size:15px;padding:12px 20px}}.mini-player{animation:slideUp .3s ease-out;background:#fff;background:var(--modal-bg,#fff);border-top:1px solid #e2e8f0;border-top:1px solid var(--border-tertiary,#e2e8f0);bottom:0;box-shadow:0 -4px 20px #0000001a;left:0;position:fixed;right:0;z-index:1000}.mini-player-content{max-width:100%;padding:12px 16px}.mini-player-controls{align-items:center;display:flex;gap:16px;margin-bottom:8px}.play-button{align-items:center;background:#007aff;background:var(--button-primary-bg,#007aff);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:48px;justify-content:center;transition:all .2s ease;width:48px}.play-button:hover{background:#0056cc;background:var(--button-primary-hover,#0056cc);transform:scale(1.05)}.play-button:active{transform:scale(.95)}.play-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.play-button.paused,.play-button.playing{background:#8e8e931a;background:var(--button-secondary-bg,#8e8e931a);color:#007aff;color:var(--button-secondary-text,#007aff)}.play-button.loading{animation:pulse-loading 1.5s ease-in-out infinite;color:#fff;cursor:not-allowed}.play-button.loading,.play-button.loading:hover{background:#007aff;background:var(--button-primary-bg,#007aff)}.play-button.loading:active,.play-button.loading:hover{transform:none}.loading-spinner{animation:spin .8s linear infinite;border-right:2px solid #fff6;border-top:2px solid #fff6;border-color:#fff #fffc #fff6 #fff6;border-style:solid;border-width:2px;box-shadow:0 0 4px #ffffff4d;height:20px;width:20px}.chunk-loading-spinner{animation:spin .8s linear infinite;border-right:2px solid #ffa50066;border-top:2px solid #ffa50066;border-color:#ff9500 #ffa500cc #ffa50066 #ffa50066;border-radius:50%;border-style:solid;border-width:2px;box-shadow:0 0 3px #ffa5004d;height:16px;width:16px}.play-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.chunk-counter{color:#8e8e93;color:var(--text-secondary,#8e8e93);font-size:12px;font-weight:500}.progress-bar{background:#007aff33;border-radius:2px;height:4px;overflow:hidden;width:100%}.progress-fill{background:#007aff;background:var(--button-primary-bg,#007aff);border-radius:2px;height:100%;transition:width .3s ease}.mini-player-actions{align-items:center;display:flex;gap:8px}.close-button,.playlist-button{align-items:center;background:none;border:none;border-radius:8px;color:#8e8e93;color:var(--text-secondary,#8e8e93);cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s ease}.close-button:hover,.playlist-button:hover{background:#8e8e931a;background:var(--button-tertiary-bg,#8e8e931a);color:#1d1d1f;color:var(--text-primary,#1d1d1f)}.close-button.active,.playlist-button.active{background:#007aff;background:var(--button-primary-bg,#007aff);color:#fff}.current-chunk-preview{color:#1d1d1f;color:var(--text-primary,#1d1d1f);font-size:14px;line-height:1.4;max-height:40px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playlist-overlay{align-items:flex-end;animation:fadeIn .3s ease-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1001}.playlist-modal{animation:slideUp .3s ease-out;background:#fff;background:var(--modal-bg,#fff);border-radius:16px 16px 0 0;display:flex;flex-direction:column;max-height:70vh;max-width:400px;width:100%}.playlist-header{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-tertiary,#e2e8f0);display:flex;justify-content:space-between;padding:16px 20px}.playlist-header h3{color:#1d1d1f;color:var(--text-primary,#1d1d1f);font-size:18px;font-weight:600;margin:0}.playlist-header button{background:none;border:none;border-radius:8px;color:#8e8e93;color:var(--text-secondary,#8e8e93);cursor:pointer;padding:8px;transition:all .2s ease}.playlist-header button:hover{background:#8e8e931a;background:var(--button-tertiary-bg,#8e8e931a);color:#1d1d1f;color:var(--text-primary,#1d1d1f)}.playlist-content{flex:1 1;overflow-y:auto;padding:8px 0}.playlist-item{align-items:flex-start;border-bottom:1px solid #f0f0f0;border-bottom:1px solid var(--border-tertiary,#f0f0f0);cursor:pointer;display:flex;gap:12px;padding:12px 20px;transition:all .2s ease}.playlist-item:hover{background:#f8f9fa;background:var(--bg-secondary,#f8f9fa)}.playlist-item.current{background:#007aff1a;border-left:3px solid #007aff;border-left:3px solid var(--button-primary-bg,#007aff)}.playlist-item.loading{background:#ffa5001a;border-left:3px solid #ff9500;cursor:not-allowed}.playlist-item.loading .chunk-content{opacity:.6}.playlist-item:last-child{border-bottom:none}.chunk-number{align-items:center;background:#f8f9fa;background:var(--bg-secondary,#f8f9fa);border-radius:50%;color:#8e8e93;color:var(--text-secondary,#8e8e93);display:flex;flex-shrink:0;font-size:12px;font-weight:500;height:24px;justify-content:center;margin-top:2px;width:24px}.chunk-content{color:#1d1d1f;color:var(--text-primary,#1d1d1f);flex:1 1;font-size:14px;line-height:1.4;word-break:break-word}.playing-indicator{animation:pulse 1.5s infinite;color:#007aff;color:var(--button-primary-bg,#007aff);flex-shrink:0;margin-top:2px}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes pulse-loading{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.05)}}@media(max-width:480px){.mini-player-content{padding:10px 12px}.mini-player-controls{gap:12px}.play-button{height:44px;width:44px}.playlist-modal{margin:0;max-width:none}}.chat-container{background:linear-gradient(180deg,#fbfbfd 0,#f5f7fa);display:flex;flex-direction:column;height:100%;margin:0 auto;position:relative;width:100%}.chat-container:before{background:radial-gradient(circle at 25% 25%,#7877c605 0,#0000 50%),radial-gradient(circle at 75% 75%,#ff2d5503 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.header{backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);background:#f8f8f8cc;border-bottom:.5px solid #0000001a;overflow:hidden;padding:12px 20px;position:relative;z-index:1000}.header-celestial-animation{backface-visibility:hidden;bottom:0;left:0;overflow:hidden;perspective:1000px;pointer-events:none;position:absolute;right:0;top:0;transform:translateZ(0);will-change:transform;z-index:0}.sun-container{display:none;pointer-events:none}.moon-container,.sun-container{height:100%;opacity:0;position:absolute;width:100%}.moon-container{transition:opacity .5s ease}[data-theme=night] .moon-container{opacity:1}.moon,.moon-crater{display:none}.stars{height:100%;width:100%}.star,.stars{position:absolute}.star{animation:star-twinkle ease-in-out infinite;background:#fffc;border-radius:50%;box-shadow:0 0 4px #fff9;height:3px;width:3px}@keyframes star-twinkle{0%{opacity:.2;transform:scale(.8)}20%{opacity:.5;transform:scale(1)}40%{opacity:1;transform:scale(1.3)}60%{opacity:.7;transform:scale(1.1)}80%{opacity:.4;transform:scale(.9)}to{opacity:.2;transform:scale(.8)}}@media(max-width:768px){.sun{height:40px;width:40px}.moon{height:35px;width:35px}.ray{height:12px;top:-14px}}.header-content{display:flex;flex-direction:column;gap:16px;margin:0 auto;max-width:1200px;position:relative}.header-top{justify-content:flex-start;width:100%}.header-left,.header-top{align-items:center;display:flex}.header-left{flex:1 1;gap:16px}.header-right .username-button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000000d;border:.5px solid #0000001a;border-radius:12px;color:#1d1d1f;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:13px;font-weight:500;gap:4px;margin-left:16px;padding:6px 12px;position:relative;transition:all .2s ease;z-index:1}.header-right .username-button:hover{background:#00000014;color:#007aff;color:var(--primary-color,#007aff);transform:translateY(-1px)}.header-right .username-button svg{transition:transform .2s ease}.header-right .username-button:hover svg{transform:rotate(180deg)}.title{align-items:center;display:flex;gap:12px;position:relative;z-index:1}.title h1{color:#1d1d1f;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:19px;font-weight:600;letter-spacing:-.43px;margin:0}.title .subtitle{color:#6d6d70;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:13px;font-weight:400;margin-left:6px}.header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:end}.header-actions .header-button{align-items:center;background:#f8fffe;border:1.5px solid #d1fae5;border-radius:12px;box-shadow:0 1px 3px #0000000d;color:#059669;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;justify-content:center;letter-spacing:-.01em;outline:none;padding:6px 12px}.header-actions .header-button:active,.header-actions .header-button:focus,.header-actions .header-button:hover{background:#f8fffe;border-color:#d1fae5;box-shadow:0 1px 3px #0000000d;color:#059669;transform:none}.header-actions .header-button:disabled{cursor:not-allowed;opacity:.4}.message-board-button-wrapper{display:inline-block;position:relative}.notification-dot{background:#ff3b30;border:1.5px solid #fffffff2;border-radius:50%;box-shadow:0 1px 4px #ff3b3066;height:12px;pointer-events:none;position:absolute;right:-2px;top:-3px;width:12px;z-index:10}.notification-dot:before{animation:notification-pulse 3s ease-in-out infinite;background:inherit;border-radius:inherit;content:"";height:100%;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%;z-index:-1}@keyframes notification-pulse{0%{opacity:.9;transform:translate(-50%,-50%) scale(1)}50%{opacity:.3;transform:translate(-50%,-50%) scale(1.3)}to{opacity:.9;transform:translate(-50%,-50%) scale(1)}}.message-board-button-wrapper:hover .notification-dot{box-shadow:0 2px 6px #ff3b3080;transform:scale(1.1)}.hamburger-menu-button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb3;border:1px solid #0000001a;border-radius:16px;box-shadow:0 2px 8px #0003;color:#1d1d1f;cursor:pointer;display:flex;font-weight:500;justify-content:center;min-height:40px;min-width:40px;padding:10px;transition:all .2s cubic-bezier(.4,0,.2,1)}.hamburger-menu-button:hover{background:#ffffffe6;border-color:#00000026;box-shadow:0 4px 12px #0000001a;transform:scale(1.05)}.hamburger-menu-button:active{transform:scale(.95)}.hamburger-menu-button svg{fill:currentColor;height:16px;width:16px}.new-chat-button{align-items:center;background:#007aff;border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;gap:3px;padding:6px 10px;transition:all .2s cubic-bezier(.4,0,.2,1)}.new-chat-button:hover{background:#0056cc;transform:scale(1.02)}.new-chat-button:active{transform:scale(.98)}.new-chat-button svg{height:12px;width:12px}.screenshot-button{align-items:center;background:#8e8e93;border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;gap:3px;padding:6px 10px;transition:all .2s cubic-bezier(.4,0,.2,1)}.screenshot-button:hover{background:#6d6d70;transform:scale(1.02)}.screenshot-button:active{transform:scale(.98)}.screenshot-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.screenshot-button svg{height:12px;width:12px}.app-icon{align-items:center;background:linear-gradient(135deg,#007aff,#5ac8fa);border-radius:5px;box-shadow:0 1px 3px #007aff33;display:flex;height:24px;justify-content:center;width:24px}.app-icon svg{color:#fff;height:14px;width:14px}.chat-messages{display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto;padding:20px}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:#0000}.chat-messages::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#00000040}.input-container{-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);background:#fffffff2;border-top:1px solid #0000000f;padding:16px calc(20px + env(safe-area-inset-right, 0px)) calc(16px + env(safe-area-inset-bottom, 0px)) calc(20px + env(safe-area-inset-left, 0px))}@supports(-webkit-backdrop-filter:blur(20px)){.input-container{-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}.input-wrapper{display:flex;flex-direction:column;gap:12px;margin:0 auto;max-width:1000px;position:relative}.message-input{background:#fff;border:1.5px solid #e5e5e7;border-radius:22px;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.4;max-height:120px;min-height:44px;overflow-y:auto;padding:12px 16px;resize:none;transition:all .2s cubic-bezier(.4,0,.2,1)}.message-input:focus{border-color:#007aff;box-shadow:0 0 0 3px #007aff1a;outline:none}.message-input::placeholder{color:#8e8e93;font-size:16px}.message-input::-webkit-scrollbar{width:4px}.message-input::-webkit-scrollbar-track{background:#0000}.message-input::-webkit-scrollbar-thumb{background:#0000001a;border-radius:2px}.send-button{align-items:center;background:#007aff;border:none;border-radius:22px;cursor:pointer;display:flex;flex-shrink:0;height:44px;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);width:44px}.send-button:hover:not(:disabled){background:#0056cc;transform:scale(1.02)}.send-button:active:not(:disabled){transform:scale(.98)}.send-button:disabled{cursor:not-allowed;opacity:.3;transform:none}.send-button svg{color:#fff;height:20px;width:20px}.history-button{align-items:center;background:#8e8e93;border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;gap:3px;padding:6px 10px;transition:all .2s cubic-bezier(.4,0,.2,1)}.history-button:hover{background:#6d6d70;transform:scale(1.02)}.history-button:active{transform:scale(.98)}.history-button svg{height:12px;width:12px}.logout-button{align-items:center;background:#8e8e93;border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;gap:3px;padding:6px 10px;transition:all .2s cubic-bezier(.4,0,.2,1)}.logout-button:hover{background:#ff3b30;transform:scale(1.02)}.logout-button:active{transform:scale(.98)}.logout-button svg{height:12px;width:12px}.file-input{display:none}.file-button{align-items:center;background:#007aff;border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;gap:3px;padding:6px 10px;transition:all .2s cubic-bezier(.4,0,.2,1)}.file-button:hover{background:#0056cc;transform:scale(1.02)}.file-button:active{transform:scale(.98)}.file-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.file-button svg{height:12px;width:12px}.upload-status{align-items:center;background:#007aff1a;border-radius:8px;bottom:100%;color:#007aff;display:flex;font-size:12px;gap:6px;left:0;margin-bottom:8px;padding:8px 12px;position:absolute;right:0}.upload-status svg{height:12px;width:12px}.welcome-message{padding:48px 24px;text-align:center}.welcome-message .icon{align-items:center;background:linear-gradient(135deg,#007aff,#5ac8fa);border-radius:16px;box-shadow:0 4px 20px #007aff33;display:flex;height:64px;justify-content:center;margin:0 auto 20px;width:64px}.welcome-message .icon svg{color:#fff;height:28px;width:28px}.welcome-message h2{color:#1d1d1f;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:24px;font-weight:600;letter-spacing:-.015em;margin:0 0 8px}.welcome-message p{color:#8e8e93;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:15px;font-weight:400;line-height:1.47;margin:0 auto;max-width:400px}.feedback-notice{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:linear-gradient(135deg,#3498db0d,#2ecc7108);border-bottom:.5px solid #3498db1a;padding:2px}.feedback-notice-content{align-items:center;display:flex;justify-content:center;margin:0 auto;max-width:1200px;text-align:center}.feedback-notice-text{width:100%}.feedback-notice-text span{color:#2e86c1;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:13px;font-weight:500;line-height:1.4}@media(max-width:768px){.feedback-notice-text span{font-size:12px}}.rag-tip-indicator{display:flex;justify-content:center;margin-top:16px}.rag-tip-badge{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:linear-gradient(135deg,#007aff1a,#007aff0d);border:1px solid #007aff33;border-radius:20px;display:inline-flex;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:13px;font-weight:500;gap:6px;padding:8px 12px}.rag-tip-badge,.user-info{align-items:center;color:#007aff}.user-info{background:#007aff1a;border-radius:12px;display:flex;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;gap:8px;padding:6px 10px}.user-info svg{height:12px;width:12px}.user-info .username-button{font-weight:500}.tone-slider-container{background:#f7f7f7cc;background:var(--tone-slider-background,#f7f7f7cc);border:1px solid #0000000f;border:1px solid var(--tone-slider-border,#0000000f);border-radius:12px;display:flex;flex-direction:column;padding:10px 16px 0;transition:all .3s ease}.tone-slider-wrapper{align-items:center;display:flex;gap:12px}.tone-label{color:#8e8e93;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;white-space:nowrap}.tone-slider{appearance:none;-webkit-appearance:none;background:var(--tone-slider-track);border-radius:3px;height:6px;outline:none;width:100%}.tone-slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;background:var(--tone-slider-thumb);border-radius:50%;box-shadow:0 2px 6px #00000026;cursor:pointer;height:20px;-webkit-transition:all .2s cubic-bezier(.4,0,.2,1);transition:all .2s cubic-bezier(.4,0,.2,1);width:20px}.tone-slider::-webkit-slider-thumb:hover{box-shadow:0 3px 8px #0003;transform:scale(1.1)}.tone-slider::-moz-range-thumb{background:var(--tone-slider-thumb);border:none;border-radius:50%;box-shadow:0 2px 6px #00000026;cursor:pointer;height:20px;-moz-transition:all .2s cubic-bezier(.4,0,.2,1);transition:all .2s cubic-bezier(.4,0,.2,1);width:20px}.tone-slider::-moz-range-thumb:hover{box-shadow:0 3px 8px #0003;transform:scale(1.1)}.tone-slider:disabled{cursor:not-allowed;opacity:.5}.tone-slider:disabled::-webkit-slider-thumb{cursor:not-allowed}.tone-slider:disabled::-moz-range-thumb{cursor:not-allowed}.tone-value{color:#007aff;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;font-weight:600;padding:2px;text-align:center}.input-row{align-items:flex-end;display:flex;gap:8px}.input-row .message-input{flex:1 1}.username-container{align-items:center;display:flex;position:relative}.user-menu-dropdown{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000000d;border:.5px solid #0000001a;border-radius:12px;box-shadow:0 4px 20px #0000001f;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;margin-top:6px;min-width:160px;padding:8px;position:absolute;right:0;top:100%;z-index:1000}.user-menu-dropdown:before{border-bottom:6px solid #0000000d;border-left:6px solid #0000;border-right:6px solid #0000;content:"";height:0;position:absolute;right:12px;top:-6px;width:0}.user-menu-dropdown:after{border-bottom:5px solid #0000001a;border-left:5px solid #0000;border-right:5px solid #0000;content:"";height:0;position:absolute;right:13px;top:-5px;width:0}.user-menu-button{align-items:center;background:none;border:none;border-radius:8px;color:#1d1d1f;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 12px;text-align:left;transition:all .2s ease;width:100%}.user-menu-button:hover{background:#00000014;color:#007aff;color:var(--primary-color,#007aff);transform:translateY(-1px)}.user-menu-button svg{flex-shrink:0;height:14px;opacity:.7;width:14px}.user-menu-button.logout-button{color:#ff3b30;color:var(--logout-color,#ff3b30)}.user-menu-button.logout-button:hover{background:#ff3b301a;color:#d63027;color:var(--logout-hover-color,#d63027);transform:translateY(-1px)}.user-menu-button.logout-button svg{opacity:.8}.history-preview-notice-inline{margin:16px 0;padding:0 12px}.preview-notice-content-inline{align-items:center;display:flex;justify-content:center;padding:8px 0;position:relative}.preview-notice-text{display:flex;flex:1 1;flex-direction:column;gap:2px;text-align:center}.preview-notice-title{color:#1d1d1f;font-size:13px;font-weight:600}.preview-notice-date,.preview-notice-title{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif}.preview-notice-date{color:#ff8f00;font-size:12px;font-weight:500}.preview-notice-desc{color:#6c757d;font-size:13px;line-height:1.4;margin:0}.preview-notice-desc,.start-new-chat-button-inline{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif}.start-new-chat-button-inline{align-items:center;background:#007aff;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:12px;font-weight:500;justify-content:center;padding:8px 12px;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap}.start-new-chat-button-inline:hover{background:#0056b3;transform:translateY(-1px)}.start-new-chat-button-inline:active{transform:translateY(0)}@media(max-width:768px){.preview-notice-content-inline{align-items:flex-start;flex-direction:column;gap:8px;padding:12px 14px;text-align:left}.preview-notice-text{gap:4px;width:100%}.start-new-chat-button-inline{padding:10px 12px;width:100%}}[data-theme=day]{--bg-primary:#fbfbfd;--bg-secondary:#f5f7fa;--bg-tertiary:#fff;--bg-quaternary:#f8f8f8cc;--text-primary:#1d1d1f;--text-secondary:#8e8e93;--text-tertiary:#666;--text-quaternary:#6d6d70;--border-primary:#0000001a;--border-secondary:#00000014;--border-tertiary:#0000000f;--button-primary-bg:#007aff;--button-primary-hover:#0056cc;--button-secondary-bg:#f8fffe;--button-secondary-hover:#f0fdf4;--button-secondary-color:#059669;--button-secondary-border:#d1fae5;--button-tertiary-bg:#0000000d;--button-tertiary-hover:#00000014;--feedback-button-bg:#0000001a;--feedback-button-color:#0f0f0f;--feedback-button-hover-bg:#0000000f;--feedback-button-hover-color:#000000b3;--feedback-button-active-bg:#0000001a;--card-bg:#fff;--card-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--modal-bg:#fff;--modal-overlay:#00000080;--input-bg:#fff;--input-border:#e5e5e7;--input-focus:#007aff;--input-placeholder:#8e8e93;--header-bg:#f8f8f8cc;--header-border:#0000001a;--backdrop-blur:saturate(180%) blur(20px);--glass-bg:#ffffffb3;--error-bg:#b4535914;--error-color:#b85359;--success-bg:#48bb781a;--success-color:#48bb78;--message-user-bg:#007aff;--message-user-text:#fff;--message-assistant-bg:#fffbe9e6;--message-assistant-text:#1d1d1f;--message-assistant-border:#0000000a;--message-assistant-border-top:#ffd276;--sidebar-bg:#fffffff2;--sidebar-header-bg:#fffc;--sidebar-border:#00000014;--sidebar-text-primary:#1d1d1f;--sidebar-text-secondary:#8e8e93;--sidebar-hover-bg:#0000000d;--sidebar-active-bg:#007aff1a;--sidebar-active-border:#007aff;--tone-slider-bg:#fffc;--tone-slider-border:#007aff1a;--tone-slider-thumb:#007aff;--tone-slider-track:#e5e5e7;--tone-value-color:#007aff;--text-color:#1d1d1f;--text-color-secondary:#8e8e93;--background-secondary:#0000000d}[data-theme=night]{--bg-primary:#000;--bg-secondary:#1c1c1e;--bg-tertiary:#2c2c2e;--bg-quaternary:#1c1c1ee6;--text-primary:#fff;--text-secondary:#999;--text-tertiary:#888;--text-quaternary:#777;--border-primary:#fff3;--border-secondary:#ffffff26;--border-tertiary:#ffffff1a;--button-primary-bg:#0a84ff;--button-primary-hover:#06c;--button-secondary-bg:#636366;--button-secondary-hover:#48484a;--button-tertiary-bg:#ffffff1a;--button-tertiary-hover:#ffffff26;--feedback-button-bg:#ffffff0f;--feedback-button-color:#fff9;--feedback-button-border:#ffffff1a;--feedback-button-hover-bg:#ffffff1f;--feedback-button-hover-color:#fffc;--feedback-button-hover-border:#fff3;--feedback-button-active-bg:#ffffff2e;--card-bg:#1c1c1e;--card-shadow:0 20px 40px #00000080,0 10px 20px #0000004d;--modal-bg:#1c1c1e;--modal-overlay:#000000b3;--input-bg:#2c2c2e;--input-border:#fff3;--input-focus:#0a84ff;--input-placeholder:#999;--header-bg:#1c1c1ee6;--header-border:#ffffff26;--backdrop-blur:saturate(180%) blur(20px);--glass-bg:#1c1c1ecc;--error-bg:#ff453a26;--error-color:#ff453a;--success-bg:#34c75926;--success-color:#34c759;--message-user-bg:#4a90e2;--message-user-text:#ffffffe6;--message-assistant-bg:#2c2c2e;--message-assistant-text:#ffffffbf;--message-assistant-border:#ffffff1a;--message-assistant-border-top:#ffffff26;--sidebar-bg:#1c1c1ef2;--sidebar-header-bg:#1c1c1ee6;--sidebar-border:#ffffff26;--sidebar-text-primary:#ffffffde;--sidebar-text-secondary:#fff9;--sidebar-hover-bg:#ffffff1a;--sidebar-active-bg:#0a84ff33;--sidebar-active-border:#0a84ff;--tone-slider-bg:#ffffff1a;--tone-slider-border:#ffffff26;--tone-slider-thumb:#6b7280;--tone-slider-track:#fff3;--tone-value-color:#ffffffb3;--text-color:#fff;--text-color-secondary:#999;--background-secondary:#ffffff1a}.chat-container{background:linear-gradient(to bottom,var(--bg-primary) 0,var(--bg-secondary) 100%)!important}.chat-container:before{background:radial-gradient(circle at 25% 25%,#7877c605 0,#0000 50%),radial-gradient(circle at 75% 75%,#ff2d5503 0,#0000 50%)!important}.header{background:var(--header-bg)!important;border-bottom-color:var(--header-border)!important}.header .title h1,.header .username{color:var(--text-primary)!important}.header .username{background:var(--button-tertiary-bg)!important;border-color:var(--border-secondary)!important}.header .username:hover{background:var(--button-tertiary-hover)!important;border-color:var(--border-primary)!important}.hamburger-menu-button{background:var(--glass-bg)!important;border-color:var(--border-secondary)!important;color:var(--text-primary)!important}.hamburger-menu-button:hover{background:var(--button-tertiary-hover)!important;border-color:var(--border-primary)!important}.header-button{background:var(--button-secondary-bg)!important;border:1.5px solid #0000!important;border:1.5px solid var(--button-secondary-border,#0000)!important;color:#fff!important;color:var(--button-secondary-color,#fff)!important}.header-button:active,.header-button:focus,.header-button:hover{background:var(--button-secondary-hover)!important}.header-actions .new-chat-button,.header-button.new-chat-button{background:var(--button-secondary-bg)!important;border:1.5px solid #0000!important;border:1.5px solid var(--button-secondary-border,#0000)!important;color:#fff!important;color:var(--button-secondary-color,#fff)!important}.header-actions .new-chat-button:active,.header-actions .new-chat-button:focus,.header-actions .new-chat-button:hover,.header-button.new-chat-button:active,.header-button.new-chat-button:focus,.header-button.new-chat-button:hover{background:var(--button-secondary-hover)!important}.header-actions .logout-button,.header-actions .screenshot-button,.header-actions .settings-button{background:var(--button-secondary-bg)!important;border:1.5px solid #0000!important;border:1.5px solid var(--button-secondary-border,#0000)!important;color:#fff!important;color:var(--button-secondary-color,#fff)!important}.header-actions .logout-button:active,.header-actions .logout-button:focus,.header-actions .logout-button:hover,.header-actions .screenshot-button:active,.header-actions .screenshot-button:focus,.header-actions .screenshot-button:hover,.header-actions .settings-button:active,.header-actions .settings-button:focus,.header-actions .settings-button:hover{background:var(--button-secondary-hover)!important}.welcome-message{color:var(--text-primary)}.welcome-message h2{color:var(--text-primary)!important}.welcome-message p{color:var(--text-secondary)!important}.input-container{background:var(--bg-quaternary)!important;border-top-color:var(--border-tertiary)!important}.tone-slider-container{background:var(--tone-slider-bg)!important;border-color:var(--tone-slider-border)!important}.tone-slider-title{color:var(--text-primary)!important}.tone-label{color:var(--text-secondary)!important}.tone-value{color:var(--tone-value-color)!important}.tone-slider{background:var(--tone-slider-track)!important}.tone-slider::-webkit-slider-thumb{background:var(--tone-slider-thumb)!important}.tone-slider::-moz-range-thumb{background:var(--tone-slider-thumb)!important}.message-input{background:var(--input-bg)!important;border-color:var(--input-border)!important;color:var(--text-primary)!important}.message-input:focus{border-color:var(--input-focus)!important}.message-input::placeholder{color:var(--input-placeholder)!important}.send-button{background:var(--button-primary-bg)!important}.send-button:hover:not(:disabled){background:var(--button-primary-hover)!important}.error-message{background:var(--error-bg)!important;border-color:var(--error-color)!important;border-left-color:var(--error-color)!important;color:var(--error-color)!important}.message-content.assistant{background:var(--message-assistant-bg);border:.5px solid var(--message-assistant-border);border-top:1px solid var(--message-assistant-border-top);color:var(--message-assistant-text)}.message-content.user{background:var(--message-user-bg)!important;color:var(--message-user-text)!important}.add-message-modal-overlay{align-items:center;animation:fadeIn .3s ease-out;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:15100}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.add-message-modal{animation:slideIn .4s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background-color:var(--modal-bg);border:1px solid var(--border-primary);border-radius:16px;box-shadow:0 20px 50px #0000004d,0 10px 25px #0003;max-height:calc(100vh - 2rem);max-width:500px;overflow:hidden;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;background-color:var(--header-bg);border-bottom:1px solid var(--border-primary);display:flex;justify-content:space-between;padding:1.5rem}.modal-header h2{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0}.modal-header .close-button{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.modal-header .close-button:hover:not(:disabled){background-color:var(--button-tertiary-hover);color:var(--text-primary)}.modal-header .close-button:active:not(:disabled){transform:scale(.95)}.modal-header .close-button:disabled{cursor:not-allowed;opacity:.5}.modal-form{display:flex;flex-direction:column;gap:1.25rem;max-height:calc(90vh - 120px);overflow-y:auto;padding:1.5rem}.form-group label:after{color:#ef4444;content:" *"}.form-group input,.form-group textarea{line-height:1.5;padding:.75rem 1rem}.form-group input:focus,.form-group textarea:focus{box-shadow:0 0 0 3px #3b82f61a}.form-group input:disabled,.form-group textarea:disabled{background-color:var(--input-bg)}.form-group input::placeholder,.form-group textarea::placeholder{opacity:.7}.form-group textarea{font-family:inherit;min-height:120px}.form-group .char-count{background-color:var(--input-bg);border-radius:4px;padding:0 4px}.alert{border-radius:8px}.alert.alert-error svg{color:#dc2626;flex-shrink:0}.modal-actions{border-top:1px solid var(--border-primary);display:flex;justify-content:center;margin-top:1rem;padding-top:1rem}.submit-button{border-radius:12px;box-shadow:0 2px 8px #3b82f633;font-size:1rem;min-width:140px;padding:.875rem 2rem}.submit-button:disabled{box-shadow:none;transform:none}@media(max-width:768px){.add-message-modal{margin:1rem;max-height:calc(100vh - 2rem);width:95%}.modal-header{padding:1rem 1.25rem}.modal-header h2{font-size:1.1rem}.modal-form{gap:1rem;max-height:calc(100vh - 140px);padding:1rem 1.25rem}.form-group .char-count{align-self:flex-end;background:none;margin-top:.25rem;padding:0;position:static}.modal-actions .submit-button{justify-content:center;width:100%}}@media(max-width:480px){.add-message-modal{border-radius:12px;margin:1rem;width:calc(100% - 2rem)}.modal-form,.modal-header{padding:1rem}}@keyframes skeleton-shimmer{0%{background-position:-468px 0}to{background-position:468px 0}}@keyframes skeleton-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.skeleton-author,.skeleton-date,.skeleton-element,.skeleton-line,.skeleton-subject{animation:skeleton-shimmer 2s ease-in-out infinite;background:linear-gradient(90deg,#e8e8e8 25%,#d0d0d0 50%,#e8e8e8 75%);background:linear-gradient(90deg,var(--skeleton-bg,#e8e8e8) 25%,var(--skeleton-highlight,#d0d0d0) 50%,var(--skeleton-bg,#e8e8e8) 75%);background-size:936px 100%;border-radius:4px;overflow:hidden;position:relative}.message-board-skeleton{display:flex;flex:1 1;flex-direction:column;gap:1rem;min-height:0}.skeleton-message-item{animation:skeleton-fade-in .6s ease-out;animation-fill-mode:both;background-color:var(--card-bg);border:1px solid var(--border-primary);border-radius:12px;box-shadow:0 2px 4px #0000000d;padding:1.5rem}.skeleton-message-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.75rem}.skeleton-subject{flex:1 1;height:20px;max-width:60%}.skeleton-meta{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:.25rem}.skeleton-author{height:14px;width:60px}.skeleton-date{height:12px;width:80px}.skeleton-content{display:flex;flex-direction:column;gap:.5rem}.skeleton-line{height:16px}.skeleton-line.short{width:75%}@media(max-width:768px){.skeleton-message-item{padding:1rem}.skeleton-message-header{align-items:flex-start;flex-direction:column;gap:.5rem}.skeleton-subject{max-width:100%}.skeleton-meta{align-items:flex-start;flex-direction:row;gap:1rem}}@media(max-width:480px){.skeleton-message-item{padding:.75rem}}[data-theme=dark] .skeleton-author,[data-theme=dark] .skeleton-date,[data-theme=dark] .skeleton-element,[data-theme=dark] .skeleton-line,[data-theme=dark] .skeleton-subject{--skeleton-bg:#ffffff05;--skeleton-highlight:#ffffff0a}.skeleton-message-item:first-child{animation-delay:0s}.skeleton-message-item:first-child .skeleton-author,.skeleton-message-item:first-child .skeleton-date,.skeleton-message-item:first-child .skeleton-element,.skeleton-message-item:first-child .skeleton-line,.skeleton-message-item:first-child .skeleton-subject{animation-delay:.2s}.skeleton-message-item:nth-child(2){animation-delay:.1s}.skeleton-message-item:nth-child(2) .skeleton-author,.skeleton-message-item:nth-child(2) .skeleton-date,.skeleton-message-item:nth-child(2) .skeleton-element,.skeleton-message-item:nth-child(2) .skeleton-line,.skeleton-message-item:nth-child(2) .skeleton-subject{animation-delay:.3s}.skeleton-message-item:nth-child(3){animation-delay:.2s}.skeleton-message-item:nth-child(3) .skeleton-author,.skeleton-message-item:nth-child(3) .skeleton-date,.skeleton-message-item:nth-child(3) .skeleton-element,.skeleton-message-item:nth-child(3) .skeleton-line,.skeleton-message-item:nth-child(3) .skeleton-subject{animation-delay:.4s}.message-board-container{background-color:var(--bg-primary);color:var(--text-primary);display:flex;flex-direction:column;height:100vh;overflow:hidden}.message-board-header{align-items:center;background-color:var(--header-bg);border-bottom:1px solid var(--border-primary);display:flex;flex-shrink:0;padding:1.25rem 1.5rem}.message-board-header .back-button{align-items:center;background:none;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.message-board-header .back-button:hover{background-color:var(--button-tertiary-hover);color:var(--text-primary)}.message-board-header .back-button:active{transform:scale(.95)}.message-board-header .back-button svg{transition:transform .2s ease}.message-board-header .back-button:hover svg{transform:translateX(-2px)}.message-board-header .page-title{color:var(--text-primary);flex:1 1;font-size:1.5rem;font-weight:600;margin:0;text-align:center}.message-board-header .header-spacer{width:80px}.message-board-content{flex:1 1;min-height:0;overflow-y:auto;padding:1.5rem}.section-title{align-items:center;color:var(--text-primary);display:flex;font-size:1.25rem;font-weight:600;gap:.5rem;margin:0 0 1rem}.section-title svg{color:var(--button-primary-bg)}.new-message-section{background-color:var(--card-bg);border:1px solid var(--border-primary);border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:1.5rem}.message-form{gap:1rem}.form-group,.message-form{display:flex;flex-direction:column}.form-group{gap:.5rem;position:relative}.form-group label{color:var(--text-primary);font-size:.9rem;font-weight:500}.form-group input,.form-group textarea{background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:.9rem;padding:.75rem;transition:all .2s ease}.form-group input:focus,.form-group textarea:focus{border-color:var(--input-focus);box-shadow:0 0 0 2px #3b82f61a;outline:none}.form-group input:disabled,.form-group textarea:disabled{cursor:not-allowed;opacity:.6}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--input-placeholder)}.form-group textarea{min-height:100px;resize:vertical}.form-group .char-count{bottom:.5rem;color:var(--text-secondary);font-size:.75rem;pointer-events:none;position:absolute;right:.75rem}.alert{align-items:center;border-radius:6px;display:flex;font-size:.9rem;gap:.5rem;padding:.75rem 1rem}.alert.alert-error{background-color:#ef44441a;border:1px solid #ef444433;color:#dc2626}.alert.alert-success{background-color:#22c55e1a;border:1px solid #22c55e33;color:#16a34a}.submit-button{align-items:center;background-color:var(--button-primary-bg);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;transition:all .2s ease}.submit-button:hover:not(:disabled){background-color:var(--button-primary-hover);box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{background-color:var(--border-primary);cursor:not-allowed;opacity:.6}.loading-spinner{animation:spin 1s ease-in-out infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.loading-state{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;justify-content:center;padding:3rem;text-align:center}.loading-state .loading-icon{animation:spin 1s linear infinite;border:3px solid var(--border-primary);border-radius:50%;border-top-color:var(--button-primary-bg);height:48px;margin-bottom:1rem;width:48px}.loading-state .loading-text{font-size:.9rem;margin:0}.message-board-footer{background-color:var(--header-bg);border-top:1px solid var(--border-primary);display:flex;flex-shrink:0;justify-content:center;padding:1.25rem 1.5rem}.add-message-button{align-items:center;background-color:var(--button-primary-bg);border:none;border-radius:12px;box-shadow:0 2px 8px #3b82f633;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.5rem;padding:.875rem 2rem;transition:all .2s ease}.add-message-button:hover{background-color:var(--button-primary-hover);box-shadow:0 4px 16px #3b82f64d;transform:translateY(-2px)}.add-message-button:active{transform:translateY(0)}.add-message-button svg{color:#fff}.messages-section{display:flex;flex:1 1;flex-direction:column;min-height:0}.error-banner{background-color:#ef44441a;border:1px solid #ef444433;border-radius:8px;color:#dc2626;font-size:.9rem;margin-bottom:1rem;padding:1rem 1.5rem;text-align:center}.empty-state{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;justify-content:center;padding:3rem;text-align:center}.empty-state svg{margin-bottom:1rem;opacity:.5}.empty-state h3{color:var(--text-primary);font-size:1.25rem;margin:0 0 .5rem}.empty-state p{font-size:.9rem;margin:0}.messages-list{animation:fade-in-up .6s ease-out;display:flex;flex:1 1;flex-direction:column;gap:1rem;min-height:0}@keyframes fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.message-item{background-color:var(--card-bg);border:1px solid var(--border-primary);border-radius:12px;box-shadow:0 2px 4px #0000000d;padding:1.5rem;position:relative;transition:all .2s ease}.message-item:hover{border-color:var(--button-primary-bg);box-shadow:0 4px 12px #0000001a}.message-item:hover .delete-message-btn{opacity:1}.message-item .delete-message-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe6;border:1px solid #ef444433;border-radius:8px;box-shadow:0 2px 8px #0000001a;color:var(--text-secondary);cursor:pointer;opacity:0;padding:.375rem;position:absolute;right:.75rem;top:.75rem;transition:all .25s ease;z-index:10}.message-item .delete-message-btn:hover{background:#ef44441a;border-color:#ef444466;box-shadow:0 4px 12px #ef444433;color:#dc2626;transform:scale(1.05)}.message-item .delete-message-btn:active{transform:scale(.95)}.message-item .delete-message-btn svg{display:block}.message-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.75rem}.message-header .message-subject{color:var(--text-primary);flex:1 1;font-size:1.1rem;font-weight:600;margin:0}.message-header .message-meta{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:.25rem}.message-header .message-meta .message-author{color:var(--button-primary-bg);font-size:.85rem;font-weight:500}.message-header .message-meta .message-date{color:var(--text-secondary);font-size:.8rem}.message-item-content{color:var(--text-primary);font-size:.95rem;line-height:1.6;white-space:pre-wrap;word-break:break-word}.delete-notification{animation:slide-in-right .3s ease-out;border-radius:8px;box-shadow:0 4px 16px #00000026;font-size:.9rem;font-weight:500;min-width:200px;padding:.875rem 1.25rem;position:fixed;right:20px;top:20px;z-index:1000}.delete-notification.success{background-color:#22c55ef2;border:1px solid #22c55e4d;color:#fff}.delete-notification.error{background-color:#ef4444f2;border:1px solid #ef44444d;color:#fff}@keyframes slide-in-right{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@media(max-width:768px){.message-board-header{padding:1rem 1.25rem}.message-board-header .page-title{font-size:1.25rem}.message-board-header .back-button{font-size:.85rem;padding:.375rem .75rem}.message-board-header .header-spacer{width:60px}.message-board-content{padding:1rem 1.25rem}.message-item{padding:1rem}.message-item .delete-message-btn{opacity:1;right:.5rem;top:.5rem}.message-header{align-items:flex-start;flex-direction:column;gap:.5rem}.message-header .message-meta{align-items:flex-start;flex-direction:row;gap:1rem}.message-board-footer{padding:1rem 1.25rem}.add-message-button{border-radius:10px;font-size:.9rem;padding:.75rem 1.5rem}}@media(max-width:480px){.message-board-header{padding:1rem}.message-board-header .page-title{font-size:1.1rem}.message-board-header .back-button{font-size:.8rem;padding:.25rem .5rem}.message-board-header .back-button span{display:none}.message-board-header .header-spacer{width:40px}.message-board-content{padding:1rem}.add-message-button{justify-content:center;width:100%}.delete-notification{left:10px;min-width:auto;right:10px;text-align:center;top:10px}}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 4px 15px #0003;max-width:400px;padding:2rem;text-align:center;width:90%}.modal-content h2{color:#333;font-size:1.5rem;margin-bottom:1rem}.modal-content p{color:#666;font-size:1rem;line-height:1.5;margin-bottom:2rem}.modal-content .modal-actions{display:flex;gap:1rem;justify-content:space-between}.modal-content .modal-actions button{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:1rem;padding:.75rem;transition:background-color .2s ease}.modal-content .modal-actions button.btn-register{background-color:#3b82f6;color:#fff}.modal-content .modal-actions button.btn-register:hover{background-color:#2563eb}.modal-content .modal-actions button.btn-confirm{background-color:#e5e7eb;color:#333}.modal-content .modal-actions button.btn-confirm:hover{background-color:#d1d5db}@keyframes login-floatAnimation{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(5deg)}}@keyframes login-shimmerAnimation{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes login-pulseAnimation{0%,to{opacity:.8}50%{opacity:1}}@keyframes login-fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes login-fadeInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes login-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px) scaleY(.8)}to{opacity:1;transform:translateY(0) scaleY(1)}}#login-page{background:linear-gradient(180deg,#f7f9fc,#eef2f8);display:flex;min-height:100vh;min-height:100dvh;position:relative}#login-page:before{background:radial-gradient(ellipse at top,#007aff0d 0,#0000 70%),radial-gradient(ellipse at bottom,#5856d608 0,#0000 70%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}#login-page .content-wrapper{align-items:center;display:flex;gap:20px;margin:0 auto;max-width:1200px;padding:20px;width:100%}@media(max-width:768px){#login-page .content-wrapper{flex-direction:column;gap:20px;justify-content:flex-start;padding:20px}}#login-page .intro-section{animation:fadeInLeft .8s cubic-bezier(.25,.46,.45,.94);color:#1d1d1f;flex:1 1}@media(max-width:768px){#login-page .intro-section{flex:none;text-align:center;width:100%}}#login-page .mobile-brand-section{display:none}@media(max-width:768px){#login-page .mobile-brand-section{animation:fadeInUp .6s cubic-bezier(.25,.46,.45,.94);color:#1d1d1f;display:block;margin-bottom:20px;order:1;text-align:center;width:100%}}#login-page .mobile-features-section{display:none}@media(max-width:768px){#login-page .mobile-features-section{animation:fadeInUp .8s cubic-bezier(.25,.46,.45,.94) .6s both;color:#1d1d1f;display:block;order:3;text-align:center;width:100%}}#login-page .login-section{animation:fadeInUp .8s ease-out .3s both;flex:0 0 400px}@media(max-width:768px){#login-page .login-section{flex:none;max-width:400px;order:2;width:100%}}#login-page .brand-header{align-items:center;display:flex;gap:16px;margin-bottom:32px}@media(max-width:768px){#login-page .brand-header{display:none}}#login-page .mobile-brand-header{display:none}@media(max-width:768px){#login-page .mobile-brand-header{align-items:center;display:flex;gap:16px;justify-content:center;margin-bottom:20px}}#login-page .brand-icon{align-items:center;background:linear-gradient(135deg,#007aff,#5856d6);border-radius:18px;box-shadow:0 4px 8px #007aff33,inset 0 0 0 1px #ffffff1a;display:flex;height:64px;justify-content:center;transition:all .3s cubic-bezier(.25,.46,.45,.94);width:64px}#login-page .brand-icon:hover{box-shadow:0 8px 16px #007aff40,inset 0 0 0 1px #fff3;transform:translateY(-1px) scale(1.02)}#login-page .brand-icon svg{color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));height:32px;width:32px}#login-page .brand-text h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1d1d1f,#007aff);-webkit-background-clip:text;background-clip:text;color:#1d1d1f;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,sans-serif;font-size:48px;font-weight:700;letter-spacing:-.025em;margin:0}@media(max-width:768px){#login-page .brand-text h1{font-size:40px}}#login-page .brand-text .subtitle{color:#86868b;font-size:21px;font-weight:400;letter-spacing:-.01em;margin-top:8px}@media(max-width:768px){#login-page .brand-text .subtitle{font-size:19px}}#login-page .features-list{margin:64px 0}@media(max-width:768px){#login-page .features-list{display:none}}#login-page .features-list .feature{align-items:flex-start;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb3;border:1px solid #0000000a;border-radius:16px;display:flex;gap:20px;margin-bottom:32px;padding:24px;transition:all .4s cubic-bezier(.25,.46,.45,.94)}#login-page .features-list .feature:hover{background:#ffffffe6;box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}#login-page .features-list .feature .icon{align-items:center;background:linear-gradient(135deg,#f2f2f7,#e5e5ea);border-radius:16px;display:flex;flex-shrink:0;height:56px;justify-content:center;width:56px}#login-page .features-list .feature .icon svg{color:#007aff;height:28px;width:28px}#login-page .features-list .feature .text{flex:1 1}#login-page .features-list .feature .text h3{color:#1d1d1f;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,sans-serif;font-size:20px;font-weight:600;letter-spacing:-.01em;margin:0 0 8px}#login-page .features-list .feature .text p{color:#86868b;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:16px;line-height:1.5;margin:0}#login-page .mobile-features-list{display:none}@media(max-width:768px){#login-page .mobile-features-list{display:block;margin:24px 0}}#login-page .mobile-features-list .feature{align-items:center;background:#fff9;border:1px solid #00000014;border-radius:12px;display:flex;gap:12px;margin-bottom:16px;padding:12px;transition:all .2s ease}#login-page .mobile-features-list .feature:hover{background:#fffc}#login-page .mobile-features-list .feature .icon{align-items:center;background:#e2e8f0;border-radius:8px;display:flex;height:32px;justify-content:center;width:32px}#login-page .mobile-features-list .feature .icon svg{color:#64748b;height:16px;width:16px}#login-page .mobile-features-list .feature .text h3{color:#1e293b;font-size:14px;font-weight:600;margin:0 0 2px}#login-page .mobile-features-list .feature .text p{color:#64748b;font-size:12px;line-height:1.4;margin:0;opacity:.8}#login-page .login-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(145deg,#fff,#f8fafc);border:1px solid #fff3;border-radius:24px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a,inset 0 0 0 1px #fffc;padding:32px;transition:all .3s ease}#login-page .login-card:hover{box-shadow:0 25px 30px -5px #00000026,0 15px 15px -5px #0000000f,inset 0 0 0 1px #ffffffe6;transform:translateY(-2px)}@media(max-width:768px){#login-page .login-card{border-radius:20px;padding:24px}}#login-page .login-header{margin-bottom:32px;text-align:center}#login-page .login-header h2{color:#1e293b;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,sans-serif;font-size:28px;font-weight:700;margin:0 0 8px}#login-page .login-header p{color:#666;font-size:16px;margin:0}#login-page .login-form{display:flex;flex-direction:column;gap:24px}#login-page .input-group{position:relative}#login-page .input-group.password-input-group .input{padding-right:40px}#login-page .input-icon{color:#9ca3af;left:12px;position:absolute;top:50%;transform:translateY(-50%);z-index:1}#login-page .input-icon svg{height:16px;width:16px}#login-page .input{background:#fff;border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;color:#1d1d1f!important;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:14px;padding:12px 12px 12px 40px;transition:all .2s ease;width:100%}#login-page .input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;color:#1d1d1f!important;outline:none}#login-page .input:focus+.input-icon{color:#3b82f6}#login-page .input::placeholder{color:#9ca3af!important}#login-page .input:-webkit-autofill,#login-page .input:-webkit-autofill:focus,#login-page .input:-webkit-autofill:hover{-webkit-text-fill-color:#1d1d1f!important;-webkit-box-shadow:inset 0 0 0 1000px #fff;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}#login-page .password-toggle{align-items:center;background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:all .2s ease;z-index:2}#login-page .password-toggle:hover{background:#9ca3af1a;color:#6b7280}#login-page .password-toggle:focus{background:#3b82f61a;color:#3b82f6;outline:none}#login-page .password-toggle:active{transform:translateY(-50%) scale(.95)}#login-page .password-toggle svg{height:20px;width:20px}#login-page .login-button{align-items:center;background:linear-gradient(135deg,#3b82f6,#1e40af);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;letter-spacing:.025em;overflow:hidden;padding:16px 24px;position:relative;transition:all .2s ease}#login-page .login-button:before{background:linear-gradient(90deg,#0000,#ffffff26,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .4s ease;width:100%}#login-page .login-button:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}#login-page .login-button:hover:before{left:100%}#login-page .login-button:active{box-shadow:0 2px 8px #3b82f64d;transform:translateY(0)}#login-page .login-button.loading{background:linear-gradient(135deg,#9ca3af,#6b7280);cursor:not-allowed}#login-page .login-button.loading:hover{background:linear-gradient(135deg,#9ca3af,#6b7280);box-shadow:none;transform:none}#login-page .login-button:disabled{cursor:not-allowed;opacity:.6}#login-page .login-button svg{height:16px;width:16px}#login-page .login-button svg.loading{animation:spin 1s linear infinite}#login-page .error-msg{align-items:center;animation:pulseAnimation 2s ease-in-out;background:linear-gradient(135deg,#ff6b6b,#ee5a52);border-radius:12px;color:#fff;display:flex;font-size:14px;gap:12px;margin-bottom:16px;padding:16px}#login-page .error-msg svg{flex-shrink:0;height:18px;width:18px}#login-page .floating-elements{display:none}#login-page .text{text-align:left}#login-page .register-link{color:#666;display:flex;flex-direction:column;font-size:14px;gap:12px;margin-top:24px;text-align:center}#login-page .register-link .link-row{align-items:center;display:flex;gap:4px;justify-content:center}#login-page .register-link .link-row span{color:#666}#login-page .register-link .link-button{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:14px;font-weight:500;padding:0;text-decoration:none;transition:all .2s ease}#login-page .register-link .link-button:hover{color:#2563eb;text-decoration:underline}#login-page .admin-help{border-top:1px solid #e5e7eb;margin-top:8px;padding-top:12px;text-align:center}#login-page .admin-help .link-button{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:13px;font-weight:400;padding:4px 0;text-decoration:none;transition:all .2s ease}#login-page .admin-help .link-button:hover{color:#6b7280;text-decoration:underline}#login-page .admin-help .link-button:active{color:#4b5563}#login-page .admin-help .admin-email{animation:slideDown .25s ease-out;background:#f9fafb;border:1px solid #f3f4f6;border-radius:8px;margin:12px auto 0;max-width:280px;padding:12px 16px}#login-page .admin-help .admin-email a{color:#3b82f6;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .2s ease}#login-page .admin-help .admin-email a:hover{color:#2563eb;text-decoration:underline}@keyframes register-floatAnimation{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(5deg)}}@keyframes register-pulseAnimation{0%,to{opacity:.8}50%{opacity:1}}@keyframes register-fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes register-fadeInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes register-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}#register-page{background:linear-gradient(180deg,#f7f9fc,#eef2f8);display:flex;min-height:100vh;min-height:100dvh;position:relative}#register-page:before{background:radial-gradient(ellipse at top,#007aff0d 0,#0000 70%),radial-gradient(ellipse at bottom,#5856d608 0,#0000 70%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:1}#register-page .floating-elements{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:0}@media(max-width:768px){#register-page .floating-elements{display:none}}#register-page .floating-elements .floating-icon{animation:register-floatAnimation 6s ease-in-out infinite;color:#007aff;opacity:.15;position:absolute}#register-page .floating-elements .floating-icon:first-child{animation-delay:0s;animation-duration:8s;left:8%;top:10%}#register-page .floating-elements .floating-icon:nth-child(2){animation-delay:2s;animation-duration:10s;color:#5856d6;right:15%;top:20%}#register-page .floating-elements .floating-icon:nth-child(3){animation-delay:4s;animation-duration:12s;bottom:25%;color:#34c759;left:12%}#register-page .floating-elements .floating-icon:nth-child(4){animation-delay:6s;animation-duration:9s;bottom:15%;color:#ff9500;right:10%}#register-page .floating-elements .floating-icon svg{filter:drop-shadow(0 2px 8px rgba(0,0,0,.1))}#register-page .content-wrapper{align-items:center;display:flex;gap:80px;margin:0 auto;max-width:1200px;padding:40px;position:relative;width:100%;z-index:2}@media(max-width:768px){#register-page .content-wrapper{flex-direction:column;gap:20px;justify-content:flex-start;padding:20px}}#register-page .intro-section{animation:fadeInLeft .8s cubic-bezier(.25,.46,.45,.94);color:#1d1d1f;flex:1 1}@media(max-width:768px){#register-page .intro-section{display:none}}#register-page .intro-section .brand-header{align-items:center;display:flex;gap:16px;margin-bottom:32px}#register-page .intro-section .brand-icon{align-items:center;background:linear-gradient(135deg,#007aff,#5856d6);border-radius:18px;box-shadow:0 4px 8px #007aff33,inset 0 0 0 1px #ffffff1a;display:flex;height:64px;justify-content:center;transition:all .3s cubic-bezier(.25,.46,.45,.94);width:64px}#register-page .intro-section .brand-icon svg{color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));height:32px;width:32px}#register-page .intro-section .brand-text h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1d1d1f,#007aff);-webkit-background-clip:text;background-clip:text;color:#1d1d1f;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,sans-serif;font-size:48px;font-weight:700;letter-spacing:-.025em;margin:0}#register-page .intro-section .brand-text .subtitle{color:#86868b;font-size:21px;font-weight:400;letter-spacing:-.01em;margin-top:8px}#register-page .intro-section .welcome-section{margin-top:2rem}#register-page .intro-section .welcome-section h2{color:#1d1d1f;font-size:1.5rem;font-weight:600;margin-bottom:1rem}#register-page .intro-section .welcome-section p{color:#555;font-size:1rem;line-height:1.6;margin-bottom:1rem}#register-page .intro-section .welcome-section .benefits-list{list-style:none;margin-top:1rem;padding:0}#register-page .intro-section .welcome-section .benefits-list li{align-items:center;color:#666;display:flex;gap:.5rem;margin-bottom:.5rem}#register-page .intro-section .welcome-section .benefits-list li:before{color:#48bb78;content:"✓";font-weight:700}#register-page .mobile-brand-section{display:none}@media(max-width:768px){#register-page .mobile-brand-section{animation:fadeInUp .6s cubic-bezier(.25,.46,.45,.94);color:#1d1d1f;display:block;margin-bottom:20px;text-align:center;width:100%}}#register-page .mobile-brand-section .mobile-brand-header{align-items:center;display:flex;gap:16px;justify-content:center;margin-bottom:20px}#register-page .mobile-brand-section .mobile-brand-header .brand-icon{align-items:center;background:linear-gradient(135deg,#007aff,#5856d6);border-radius:14px;box-shadow:0 4px 8px #007aff33,inset 0 0 0 1px #ffffff1a;display:flex;height:48px;justify-content:center;width:48px}#register-page .mobile-brand-section .mobile-brand-header .brand-icon svg{color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));height:24px;width:24px}#register-page .mobile-brand-section .mobile-brand-header .brand-text h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1d1d1f,#007aff);-webkit-background-clip:text;background-clip:text;color:#1d1d1f;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,sans-serif;font-size:28px;font-weight:700;letter-spacing:-.025em;margin:0}#register-page .mobile-brand-section .mobile-brand-header .brand-text .subtitle{color:#86868b;font-size:16px;font-weight:400;letter-spacing:-.01em;margin-top:4px}#register-page .mobile-welcome-section{display:none}@media(max-width:768px){#register-page .mobile-welcome-section{animation:fadeInUp .8s cubic-bezier(.25,.46,.45,.94) .3s both;background:#fff9;border:1px solid #00000014;border-radius:16px;color:#1d1d1f;display:block;margin-bottom:24px;padding:20px;text-align:center;width:100%}#register-page .mobile-welcome-section h2{color:#1d1d1f;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,sans-serif;font-size:20px;font-weight:600;margin-bottom:12px}#register-page .mobile-welcome-section p{color:#555;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:14px;line-height:1.5;margin-bottom:16px}#register-page .mobile-welcome-section .benefits-list{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr;list-style:none;margin:0;padding:0}#register-page .mobile-welcome-section .benefits-list li{align-items:center;color:#666;display:flex;font-size:12px;gap:6px;text-align:left}#register-page .mobile-welcome-section .benefits-list li:before{color:#48bb78;content:"✓";font-size:14px;font-weight:700}}#register-page .register-section{animation:fadeInUp .8s ease-out .3s both;flex:0 0 400px}@media(max-width:768px){#register-page .register-section{flex:none;max-width:400px;width:100%}}#register-page .register-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(145deg,#fff,#f8fafc);border:1px solid #fff3;border-radius:24px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a,inset 0 0 0 1px #fffc;padding:32px;transition:all .3s ease}#register-page .register-card:hover{box-shadow:0 25px 30px -5px #00000026,0 15px 15px -5px #0000000f,inset 0 0 0 1px #ffffffe6;transform:translateY(-2px)}@media(max-width:768px){#register-page .register-card{border-radius:20px;padding:24px}}#register-page .register-header{margin-bottom:32px;text-align:center}@media(max-width:768px){#register-page .register-header{margin-bottom:24px}}#register-page .register-header h2{color:#1e293b;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,sans-serif;font-size:28px;font-weight:700;letter-spacing:-.025em;margin:0 0 8px}@media(max-width:768px){#register-page .register-header h2{font-size:24px}}#register-page .register-header p{color:#666;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:16px;line-height:1.4;margin:0}@media(max-width:768px){#register-page .register-header p{font-size:14px}}#register-page .register-form{display:flex;flex-direction:column;gap:20px}@media(max-width:768px){#register-page .register-form{gap:16px}}#register-page .input-group{position:relative}#register-page .input-group.password-input-group .input{padding-right:50px}@media(max-width:768px){#register-page .input-group.password-input-group .input{padding-right:48px}}#register-page .input-group .input-icon{align-items:center;color:#9ca3af;display:flex;height:16px;justify-content:center;left:14px;pointer-events:none;position:absolute;top:14px;transition:color .2s ease;width:16px;z-index:2}@media(max-width:768px){#register-page .input-group .input-icon{top:13px}}#register-page .input-group .input-icon svg{height:16px;width:16px}#register-page .input-group .input{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffffe6;border:2px solid #e5e7eb;border-radius:10px;box-sizing:border-box;color:#1d1d1f!important;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:15px;height:48px;line-height:20px;padding:14px 14px 14px 42px;transition:all .2s ease;width:100%}#register-page .input-group .input:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a,0 1px 3px #0000001a;color:#1d1d1f!important;outline:none}#register-page .input-group .input:hover{background:#fff;border-color:#d1d5db}#register-page .input-group .input.error{background:#ef44440d;border-color:#ef4444}#register-page .input-group .input.error:focus{background:#ef44440d;border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a,0 1px 3px #0000001a}#register-page .input-group .input::placeholder{color:#9ca3af!important;font-weight:400}#register-page .input-group .input:-webkit-autofill,#register-page .input-group .input:-webkit-autofill:focus,#register-page .input-group .input:-webkit-autofill:hover{-webkit-text-fill-color:#1d1d1f!important;border-radius:10px;-webkit-box-shadow:inset 0 0 0 1000px #ffffffe6;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}@media(max-width:768px){#register-page .input-group .input{font-size:14px;height:46px;padding:13px 13px 13px 40px}}#register-page .input-group .input-icon.error{color:#ef4444}#register-page .input-group .field-error{align-items:center;color:#ef4444;display:flex;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:13px;font-weight:500;gap:6px;margin-top:6px;padding-left:14px}#register-page .input-group .field-error:before{content:"⚠";font-size:12px}@media(max-width:768px){#register-page .input-group .field-error{font-size:12px;margin-top:4px}}#register-page .input-group .password-toggle{align-items:center;background:none;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;display:flex;height:20px;justify-content:center;padding:4px;position:absolute;right:14px;top:14px;transition:all .2s ease;width:20px;z-index:2}#register-page .input-group .password-toggle:hover{background:#9ca3af1a;color:#6b7280}#register-page .input-group .password-toggle:focus{background:#3b82f61a;color:#3b82f6;outline:none}#register-page .input-group .password-toggle:active{transform:scale(.95)}#register-page .input-group .password-toggle svg{height:20px;width:20px}@media(max-width:768px){#register-page .input-group .password-toggle{right:13px;top:13px}}#register-page .register-button{align-items:center;background:linear-gradient(135deg,#3b82f6,#1e40af);border:none;border-radius:12px;box-shadow:0 2px 8px #3b82f633;color:#fff;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:16px;font-weight:600;gap:8px;justify-content:center;overflow:hidden;padding:16px 24px;position:relative;transition:all .2s ease;width:100%}#register-page .register-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}#register-page .register-button:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 16px #3b82f666;transform:translateY(-1px)}#register-page .register-button:hover:before{left:100%}#register-page .register-button:active{box-shadow:0 2px 8px #3b82f64d;transform:translateY(0)}#register-page .register-button:disabled{cursor:not-allowed;opacity:.6;transform:none}#register-page .register-button:disabled:hover{box-shadow:0 2px 8px #3b82f633;transform:none}@media(max-width:768px){#register-page .register-button{font-size:15px;padding:14px 20px}}#register-page .login-link{color:#666;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:14px;margin-top:24px;text-align:center}@media(max-width:768px){#register-page .login-link{font-size:13px;margin-top:20px}}#register-page .login-link .link-button{background:none;border:none;border-radius:6px;color:#3b82f6;cursor:pointer;font-family:inherit;font-weight:600;margin-left:4px;padding:4px 8px;transition:all .2s ease}#register-page .login-link .link-button:hover{background:#3b82f614;color:#2563eb;text-decoration:none}#register-page .login-link .link-button:active{background:#3b82f61f}#register-page .success-msg{align-items:center;animation:pulseAnimation 2s ease-in-out;background:linear-gradient(135deg,#48bb78,#38a169);border-radius:.5rem;color:#fff;display:flex;font-size:.9rem;gap:.75rem;margin-bottom:1rem;padding:1rem}#register-page .success-msg svg{flex-shrink:0;height:18px;width:18px}#register-page .error-msg.general{align-items:center;animation:pulseAnimation 2s ease-in-out;background:linear-gradient(135deg,#ff6b6b,#ee5a52);border-radius:.5rem;color:#fff;display:flex;font-size:.9rem;gap:.75rem;margin-bottom:1rem;padding:1rem}#register-page .error-msg.general svg{flex-shrink:0;height:18px;width:18px}.loading-spinner-container{align-items:center;background:#0000;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,Helvetica,Arial,sans-serif;justify-content:center;min-height:200px}.loading-spinner-container.fullscreen{background:#f8faff;background:var(--bg-primary,#f8faff);min-height:100vh}.loading-spinner-ring{animation:spin 1s linear infinite;border:3px solid #007aff1a;border-top:3px solid #007aff;border:3px solid var(--border-tertiary,#007aff1a);border-radius:50%;border-top-color:var(--button-primary-bg,#007aff);height:40px;margin-bottom:16px;width:40px}.loading-spinner-dots-container{align-items:center;display:flex;gap:4px;margin-bottom:16px}.loading-spinner-dot{animation:fadeInOut 1.4s ease-in-out infinite;background:#007aff;background:var(--button-primary-bg,#007aff);border-radius:50%;height:8px;width:8px}.loading-spinner-dot.delay-1{animation-delay:.2s}.loading-spinner-dot.delay-2{animation-delay:.4s}.loading-spinner-skeleton-container{display:flex;flex-direction:column;gap:12px;margin-top:20px;max-width:300px;width:100%}.loading-spinner-skeleton-line{animation:shimmer 1.5s ease-in-out infinite;background:linear-gradient(95deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%);background:linear-gradient(95deg,var(--border-tertiary,#e2e8f0) 25%,var(--bg-secondary,#f1f5f9) 50%,var(--border-tertiary,#e2e8f0) 75%);background-size:200% 100%;border-radius:8px;height:16px}.loading-spinner-skeleton-line.width-80{width:80%}.loading-spinner-skeleton-line.width-60{width:60%}.loading-spinner-skeleton-line.width-90{width:90%}.loading-spinner-skeleton-line.width-70{width:70%}.loading-spinner-text{animation:pulse 2s ease-in-out infinite;color:#8e8e93;color:var(--text-secondary,#8e8e93);font-size:14px;font-weight:500;margin-bottom:20px;text-align:center}.loading-spinner-text.with-skeleton{margin-bottom:0}.loading-spinner-sub-text{color:#a1a1a6;color:var(--text-tertiary,#a1a1a6);font-size:12px;margin-top:8px;opacity:.8;text-align:center}@keyframes fadeInOut{0%,to{opacity:.3}50%{opacity:1}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.95)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}*{box-sizing:border-box;margin:0;padding:0}html{background:#fbfbfd;background:var(--bg-primary,#fbfbfd);height:100%;height:100vh;height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-overflow-scrolling:touch;background:#f5f7fa;background:var(--bg-secondary,#f5f7fa);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;overflow-x:hidden;padding:0}#root,body{height:100%;min-height:100vh;min-height:100dvh}#root,.App{display:flex;flex-direction:column}.App{flex:1 1;height:100%;min-height:100vh;min-height:100dvh}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f5f7fa;background:var(--bg-secondary,#f5f7fa)}::-webkit-scrollbar-thumb{background:#0000001a;background:var(--border-tertiary,#0000001a);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#0003;background:var(--border-secondary,#0003)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}
/*# sourceMappingURL=main.fa2f4bda.css.map*/