:root{--pattern-dots: radial-gradient( circle, rgba(255, 255, 255, .15) 1px, transparent 1px );--pattern-dots-size: 20px 20px;--pattern-grid: linear-gradient(rgba(255, 255, 255, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .08) 1px, transparent 1px);--pattern-grid-size: 24px 24px;--pattern-diagonal: repeating-linear-gradient( 45deg, transparent, transparent 12px, rgba(255, 255, 255, .06) 12px, rgba(255, 255, 255, .06) 24px );--pattern-telegram: radial-gradient( circle, rgba(255, 255, 255, .12) 1px, transparent 1px );--pattern-telegram-size: 20px 20px;--pattern-hex: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, .04) 1px, transparent 1px), radial-gradient(circle at 0% 100%, rgba(255, 255, 255, .04) 1px, transparent 1px), radial-gradient(circle at 100% 100%, rgba(255, 255, 255, .04) 1px, transparent 1px);--pattern-hex-size: 20px 35px}.light-theme{--pattern-dots: radial-gradient( circle, rgba(0, 0, 0, .1) 1px, transparent 1px );--pattern-grid: linear-gradient(rgba(0, 0, 0, .06) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 0, 0, .06) 1px, transparent 1px);--pattern-diagonal: repeating-linear-gradient( 45deg, transparent, transparent 12px, rgba(0, 0, 0, .04) 12px, rgba(0, 0, 0, .04) 24px );--pattern-telegram: radial-gradient( circle, rgba(0, 0, 0, .08) 1px, transparent 1px );--pattern-telegram-size: 20px 20px;--pattern-hex: radial-gradient(circle at 50% 50%, rgba(0, 0, 0, .06) 1px, transparent 1px), radial-gradient(circle at 0% 100%, rgba(0, 0, 0, .06) 1px, transparent 1px), radial-gradient(circle at 100% 100%, rgba(0, 0, 0, .06) 1px, transparent 1px)}.bg-pattern-dots{background-image:var(--pattern-dots);background-size:var(--pattern-dots-size);background-repeat:repeat}.bg-pattern-grid{background-image:var(--pattern-grid);background-size:var(--pattern-grid-size);background-repeat:repeat}.bg-pattern-diagonal{background-image:var(--pattern-diagonal);background-repeat:repeat}.bg-pattern-telegram{background-image:var(--pattern-telegram);background-size:var(--pattern-telegram-size);background-repeat:repeat}.bg-pattern-hex{background-image:var(--pattern-hex);background-size:var(--pattern-hex-size);background-repeat:repeat;background-position:0 0,10px 17.5px,10px 17.5px}.toast-manager{position:fixed;inset:0;pointer-events:none;z-index:9999}.toast-container{position:fixed;display:flex;flex-direction:column;gap:8px;pointer-events:none;z-index:9999}.toast-container.toast-top-right{top:24px;right:24px}.toast-container.toast-top-center{top:24px;left:50%;transform:translate(-50%)}.toast-container.toast-top-left{top:24px;left:24px}.toast-container.toast-bottom-right{bottom:24px;right:24px;flex-direction:column-reverse}.toast-container.toast-bottom-center{bottom:24px;left:50%;transform:translate(-50%);flex-direction:column-reverse}.toast-container.toast-bottom-left{bottom:24px;left:24px;flex-direction:column-reverse}@media (max-width: 768px){.toast-container.toast-top-right,.toast-container.toast-top-left{top:24px;left:50%;right:auto;transform:translate(-50%)}.toast-container.toast-bottom-right,.toast-container.toast-bottom-left{bottom:24px;left:50%;right:auto;transform:translate(-50%)}}.toast-item{pointer-events:auto;min-width:380px;max-width:600px;height:60px;background:rgba(var(--bg-tertiary-rgb, 29, 39, 51),.95);border:1px solid rgba(var(--border-primary-rgb, 36, 47, 61),.3);border-radius:16px;box-shadow:0 8px 32px #0000001f,0 2px 8px #00000014,inset 0 1px #ffffff0d;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);opacity:0;transform:translateY(-20px) scale(.95);transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden}@media (max-width: 768px){.toast-item{min-width:320px;max-width:calc(100vw - 48px);height:56px;border-radius:14px;backdrop-filter:blur(50px) saturate(200%);-webkit-backdrop-filter:blur(50px) saturate(200%)}}@media (min-width: 768px){.toast-item{min-width:420px;max-width:680px}}.toast-item.toast-visible{opacity:1;transform:translateY(0) scale(1)}.toast-item.toast-exiting{opacity:0;transform:translate(100%) scale(.9);transition:all .3s cubic-bezier(.4,0,1,1)}.toast-item.toast-priority-high{z-index:10;box-shadow:0 12px 40px #00000026,0 4px 12px #0000001a,inset 0 1px #ffffff14}.toast-item.toast-success .toast-icon{color:var(--accent-green)}.toast-item.toast-error .toast-icon{color:var(--accent-red)}.toast-item.toast-warning .toast-icon{color:var(--warning-color)}.toast-item.toast-info .toast-icon{color:var(--accent-blue)}.toast-item.toast-loading .toast-icon{color:var(--accent-purple)}.toast-item.toast-user{background:rgba(var(--bg-tertiary-rgb, 29, 39, 51),.98)}.toast-content{display:flex;align-items:center;gap:12px;padding:0 16px;height:100%;position:relative;z-index:1}@media (max-width: 768px){.toast-content{gap:10px;padding:0 8px}}.toast-icon{flex-shrink:0}.toast-icon .toast-loading{animation:spin 1s linear infinite}.toast-avatar{flex-shrink:0;position:relative;width:40px;height:40px}@media (max-width: 768px){.toast-avatar{width:36px;height:36px}}.toast-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.1)}.toast-avatar-fallback{width:100%;height:100%;border-radius:50%;background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#fff;border:2px solid rgba(255,255,255,.1)}@media (max-width: 768px){.toast-avatar-fallback{font-size:12px}}.toast-online-indicator{position:absolute;bottom:-1px;right:-1px;width:12px;height:12px;background:var(--success-green);border:2px solid var(--bg-tertiary);border-radius:50%;box-shadow:0 0 0 1px #0000001a}@media (max-width: 768px){.toast-online-indicator{width:10px;height:10px}}.toast-text{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px}.toast-title{font-size:var(--font-size-sm, 13px);font-weight:600;color:var(--text-primary);line-height:1.2;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 768px){.toast-title{font-size:var(--font-size-xs, 12px)}}.toast-username{color:var(--accent-blue);font-weight:600}.toast-message{font-size:var(--font-size-xs, 12px);color:var(--text-secondary);line-height:1.3;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.85}@media (max-width: 768px){.toast-message{font-size:11px}}.toast-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:auto}.toast-action-btn{background:rgba(var(--accent-blue-rgb, 82, 136, 193),.15);color:var(--accent-blue);border:1px solid rgba(var(--accent-blue-rgb, 82, 136, 193),.2);border-radius:6px;padding:4px 10px;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s ease;backdrop-filter:blur(10px);white-space:nowrap}.toast-action-btn:hover{background:rgba(var(--accent-blue-rgb, 82, 136, 193),.25);border-color:rgba(var(--accent-blue-rgb, 82, 136, 193),.3);transform:translateY(-1px)}@media (max-width: 768px){.toast-action-btn{padding:3px 8px;font-size:10px}}.toast-close-btn{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#ef4444cc;cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;backdrop-filter:blur(10px)}.toast-close-btn:hover{background:#ef444426;border-color:#ef44444d;color:#ef4444;transform:translateY(-1px)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:var(--font-size-base, 15px);color:var(--text-primary);background-color:var(--bg-primary);line-height:1.5;transition:background-color .3s ease,color .3s ease}:root{--font-scale: 1;--font-size-xs: calc(12px * var(--font-scale));--font-size-sm: calc(13px * var(--font-scale));--font-size-base: calc(15px * var(--font-scale));--font-size-lg: calc(17px * var(--font-scale));--font-size-xl: calc(20px * var(--font-scale));--font-size-2xl: calc(24px * var(--font-scale));--font-size-3xl: calc(30px * var(--font-scale));--font-size-4xl: calc(36px * var(--font-scale))}html[data-font-size=small]{--font-scale: .875}html[data-font-size=medium]{--font-scale: 1}html[data-font-size=large]{--font-scale: 1.125}html[data-font-size=extra-large]{--font-scale: 1.25}a{color:#6366f1;text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer;border:none;outline:none}button:disabled{cursor:not-allowed;opacity:.6}input,textarea{font-family:inherit;outline:none}.container{max-width:1200px;margin:0 auto;padding:0 16px}.btn{padding:8px 16px;border-radius:12px;font-weight:600;transition:all .2s ease}.btn.btn-primary{background-color:#6366f1;color:#fff}.btn.btn-primary:hover{background-color:#3438ed}.btn.btn-secondary{background-color:transparent;color:#6366f1;border:1px solid #6366f1}.btn.btn-secondary:hover{background-color:#6366f1;color:#fff}.app{min-height:100vh;background-color:var(--bg-primary);transition:background-color .3s ease}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-sm{margin-top:8px}.mt-md{margin-top:16px}.mt-lg{margin-top:24px}.mt-xl{margin-top:32px}.mb-sm{margin-bottom:8px}.mb-md{margin-bottom:16px}.mb-lg{margin-bottom:24px}.mb-xl{margin-bottom:32px}.p-sm{padding:8px}.p-md{padding:16px}.p-lg{padding:24px}.p-xl{padding:32px}*::-webkit-scrollbar{width:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}*::-webkit-scrollbar-thumb:hover{background:#ffffff4d}tional font scaling for common UI patterns .sidebar,.nav,.menu,.settings-sidebar,.desktop-sidebar{font-size:var(--font-size-sm)!important}tional font scaling for common UI patterns .sidebar *,.nav *,.menu *,.settings-sidebar *,.desktop-sidebar *{font-size:inherit!important}.setting-item .setting-title,.setting-item .form-label,.setting-item .input-label,.form-group .setting-title,.form-group .form-label,.form-group .input-label,.input-group .setting-title,.input-group .form-label,.input-group .input-label{font-size:var(--font-size-base)!important}.setting-item .setting-subtitle,.setting-item .form-help,.setting-item .input-help,.form-group .setting-subtitle,.form-group .form-help,.form-group .input-help,.input-group .setting-subtitle,.input-group .form-help,.input-group .input-help,button,.btn,.button{font-size:var(--font-size-sm)!important}.modal h1,.modal h2,.modal h3,.modal h4,.modal h5,.modal h6,.dialog h1,.dialog h2,.dialog h3,.dialog h4,.dialog h5,.dialog h6,.popup h1,.popup h2,.popup h3,.popup h4,.popup h5,.popup h6{font-size:calc(1.2em * var(--font-scale))!important}.modal p,.modal span,.modal div,.dialog p,.dialog span,.dialog div,.popup p,.popup span,.popup div{font-size:var(--font-size-base)!important}.tab,.nav-item,.menu-item{font-size:var(--font-size-sm)!important}[style*="font-size: 12px"]{font-size:var(--font-size-xs)!important}[style*="font-size: 13px"],[style*="font-size: 14px"]{font-size:var(--font-size-sm)!important}[style*="font-size: 15px"],[style*="font-size: 16px"]{font-size:var(--font-size-base)!important}[style*="font-size: 18px"]{font-size:var(--font-size-lg)!important}[style*="font-size: 20px"]{font-size:var(--font-size-xl)!important}:root{--display-scale: 1}html[data-display-size]{--display-scale: var(--zoom-level, 1)}.fps-counter{position:fixed;pointer-events:auto;cursor:pointer;transition:all .15s ease-out;z-index:9999;user-select:none}.fps-counter.top-left{top:0;left:10px}.fps-counter.top-right{top:20px;right:20px}.fps-counter.bottom-left{bottom:20px;left:20px}.fps-counter.bottom-right{bottom:20px;right:20px}.fps-counter .fps-display{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:20px;padding:4px;display:flex;align-items:center;gap:4px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;backdrop-filter:blur(8px);min-width:50px}.fps-counter .fps-display .fps-value{font-size:12px;font-weight:700;line-height:1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.fps-counter .fps-display .fps-value[data-fps-range=high]{color:var(--success-green)}.fps-counter .fps-display .fps-value[data-fps-range=medium]{color:var(--warning-color)}.fps-counter .fps-display .fps-value[data-fps-range=low]{color:var(--danger-red)}.fps-counter .fps-display .fps-info{display:flex;flex-direction:row;gap:2px}.fps-counter .fps-display .fps-info .fps-label{color:var(--text-secondary);font-size:var(--font-size-xs, 12px);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.fps-counter .fps-display .fps-info .memory-label{color:var(--accent-blue);font-size:var(--font-size-xs, 12px);font-weight:500}.fps-counter:hover .fps-display{border-color:var(--accent-blue);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.fps-counter.detailed .fps-display{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none}.fps-counter .performance-details{background:var(--bg-primary);border:1px solid var(--border-primary);border-top:none;border-radius:0 0 20px 20px;max-width:300px;max-height:400px;overflow-y:auto;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.fps-counter .performance-details .details-header{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid var(--border-primary);font-size:var(--font-size-sm, 13px);color:var(--text-primary);font-weight:600}.fps-counter .performance-details .details-header .header-actions{display:flex;gap:8px}.fps-counter .performance-details .details-header .copy-btn,.fps-counter .performance-details .details-header .clear-btn{padding:4px 8px;border-radius:6px;font-size:var(--font-size-xs, 12px);cursor:pointer;transition:all .15s ease-out;font-weight:500;border:1px solid var(--border-primary)}.fps-counter .performance-details .details-header .copy-btn{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.fps-counter .performance-details .details-header .copy-btn:hover{opacity:.9;transform:scale(1.05)}.fps-counter .performance-details .details-header .copy-btn:active{transform:scale(.95)}.fps-counter .performance-details .details-header .clear-btn{background:var(--bg-tertiary);color:var(--accent-red)}.fps-counter .performance-details .details-header .clear-btn:hover{background:var(--accent-red);border-color:var(--accent-red);color:#fff}.fps-counter .performance-details .component-list{max-height:300px;overflow-y:auto}.fps-counter .performance-details .component-list::-webkit-scrollbar{width:6px}.fps-counter .performance-details .component-list::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:3px}.fps-counter .performance-details .component-list::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.fps-counter .performance-details .component-list .component-stat{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border-secondary);font-size:var(--font-size-sm, 13px)}.fps-counter .performance-details .component-list .component-stat:hover{background:var(--hover-bg)}.fps-counter .performance-details .component-list .component-stat .component-name{color:var(--text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:8px}.fps-counter .performance-details .component-list .component-stat .component-metrics{display:flex;gap:8px;align-items:center}.fps-counter .performance-details .component-list .component-stat .component-metrics .render-time{color:var(--warning-color);font-weight:600;min-width:40px;text-align:right}.fps-counter .performance-details .component-list .component-stat .component-metrics .render-count{color:var(--text-secondary);font-size:var(--font-size-xs, 12px);min-width:25px;text-align:right}.fps-counter .performance-details .component-list .no-data{padding:20px 12px;text-align:center;color:var(--text-secondary);font-size:var(--font-size-sm, 13px);font-style:italic}.debug-menu{position:fixed;bottom:80px;right:20px;z-index:9998}.debug-menu .debug-fab{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--accent-blue),var(--accent-blue-hover));border:none;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease-out;color:#fff;font-size:24px}.debug-menu .debug-fab:hover{transform:scale(1.1);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.debug-menu .debug-fab:active{transform:scale(.95)}.debug-menu .debug-fab.active{background:linear-gradient(135deg,var(--accent-red),#dc2626)}.debug-menu .debug-fab .fab-icon{display:flex;align-items:center;justify-content:center}.debug-menu .debug-panel{position:absolute;bottom:70px;right:0;width:320px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:20px;box-shadow:0 25px 50px -12px #00000040;overflow:hidden;animation:slideUp .2s ease}.debug-menu .debug-panel .panel-header{background:var(--bg-secondary);padding:16px;border-bottom:1px solid var(--border-primary);display:flex;justify-content:space-between;align-items:center}.debug-menu .debug-panel .panel-header .header-title{display:flex;align-items:center;gap:8px}.debug-menu .debug-panel .panel-header .header-title .title-icon{font-size:20px}.debug-menu .debug-panel .panel-header .header-title .title-text{font-size:var(--font-size-base, 15px);font-weight:600;color:var(--text-primary)}.debug-menu .debug-panel .panel-header .header-info .info-badge{font-size:var(--font-size-xs, 12px);padding:4px 8px;background:var(--accent-blue);color:#fff;border-radius:6px;font-weight:500}.debug-menu .debug-panel .panel-tabs{display:flex;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary)}.debug-menu .debug-panel .panel-tabs .tab{flex:1;padding:12px;background:transparent;border:none;color:var(--text-secondary);font-size:var(--font-size-sm, 13px);font-weight:500;cursor:pointer;transition:all .15s ease-out;border-bottom:2px solid transparent}.debug-menu .debug-panel .panel-tabs .tab:hover{background:var(--hover-bg);color:var(--text-primary)}.debug-menu .debug-panel .panel-tabs .tab.active{color:var(--accent-blue);border-bottom-color:var(--accent-blue);background:var(--bg-primary)}.debug-menu .debug-panel .panel-content{padding:16px;max-height:400px;overflow-y:auto}.debug-menu .debug-panel .panel-content::-webkit-scrollbar{width:6px}.debug-menu .debug-panel .panel-content::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:3px}.debug-menu .debug-panel .panel-content::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.debug-menu .debug-panel .panel-content .empty-state{text-align:center;padding:32px 0;color:var(--text-secondary)}.debug-menu .debug-panel .panel-content .empty-state .empty-icon{font-size:48px;display:block;margin-bottom:16px;opacity:.5}.debug-menu .debug-panel .panel-content .empty-state p{margin:0;font-size:var(--font-size-sm, 13px)}.debug-menu .debug-panel .panel-content .quick-actions .action-label,.debug-menu .debug-panel .panel-content .advanced-actions .action-label{font-size:var(--font-size-sm, 13px);font-weight:600;color:var(--text-primary);margin-bottom:8px}.debug-menu .debug-panel .panel-content .quick-actions .action-grid,.debug-menu .debug-panel .panel-content .advanced-actions .action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}.debug-menu .debug-panel .panel-content .quick-actions .action-grid .action-btn,.debug-menu .debug-panel .panel-content .advanced-actions .action-grid .action-btn{aspect-ratio:1;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:all .15s ease-out;padding:8px}.debug-menu .debug-panel .panel-content .quick-actions .action-grid .action-btn:hover,.debug-menu .debug-panel .panel-content .advanced-actions .action-grid .action-btn:hover{background:var(--accent-blue);border-color:var(--accent-blue);transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.debug-menu .debug-panel .panel-content .quick-actions .action-grid .action-btn:hover .btn-emoji,.debug-menu .debug-panel .panel-content .quick-actions .action-grid .action-btn:hover .btn-label,.debug-menu .debug-panel .panel-content .advanced-actions .action-grid .action-btn:hover .btn-emoji,.debug-menu .debug-panel .panel-content .advanced-actions .action-grid .action-btn:hover .btn-label{color:#fff}.debug-menu .debug-panel .panel-content .quick-actions .action-grid .action-btn:active,.debug-menu .debug-panel .panel-content .advanced-actions .action-grid .action-btn:active{transform:translateY(0)}.debug-menu .debug-panel .panel-content .quick-actions .action-grid .action-btn .btn-emoji,.debug-menu .debug-panel .panel-content .advanced-actions .action-grid .action-btn .btn-emoji{font-size:24px}.debug-menu .debug-panel .panel-content .quick-actions .action-grid .action-btn .btn-label,.debug-menu .debug-panel .panel-content .advanced-actions .action-grid .action-btn .btn-label{font-size:var(--font-size-xs, 12px);font-weight:600;color:var(--text-primary)}.debug-menu .debug-panel .panel-content .quick-actions .type-grid,.debug-menu .debug-panel .panel-content .advanced-actions .type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px}.debug-menu .debug-panel .panel-content .quick-actions .type-grid .type-btn,.debug-menu .debug-panel .panel-content .advanced-actions .type-grid .type-btn{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:12px;display:flex;align-items:center;gap:8px;padding:12px;cursor:pointer;transition:all .15s ease-out}.debug-menu .debug-panel .panel-content .quick-actions .type-grid .type-btn:hover,.debug-menu .debug-panel .panel-content .advanced-actions .type-grid .type-btn:hover{background:var(--accent-blue);border-color:var(--accent-blue);transform:translate(4px)}.debug-menu .debug-panel .panel-content .quick-actions .type-grid .type-btn:hover .type-emoji,.debug-menu .debug-panel .panel-content .quick-actions .type-grid .type-btn:hover .type-label,.debug-menu .debug-panel .panel-content .advanced-actions .type-grid .type-btn:hover .type-emoji,.debug-menu .debug-panel .panel-content .advanced-actions .type-grid .type-btn:hover .type-label{color:#fff}.debug-menu .debug-panel .panel-content .quick-actions .type-grid .type-btn:active,.debug-menu .debug-panel .panel-content .advanced-actions .type-grid .type-btn:active{transform:translate(0)}.debug-menu .debug-panel .panel-content .quick-actions .type-grid .type-btn .type-emoji,.debug-menu .debug-panel .panel-content .advanced-actions .type-grid .type-btn .type-emoji{font-size:20px}.debug-menu .debug-panel .panel-content .quick-actions .type-grid .type-btn .type-label,.debug-menu .debug-panel .panel-content .advanced-actions .type-grid .type-btn .type-label{font-size:var(--font-size-sm, 13px);font-weight:500;color:var(--text-primary)}.debug-menu .debug-panel .panel-content .quick-actions .clear-btn,.debug-menu .debug-panel .panel-content .advanced-actions .clear-btn{width:100%;padding:12px;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:12px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .15s ease-out;font-size:var(--font-size-sm, 13px);font-weight:500;color:var(--text-primary)}.debug-menu .debug-panel .panel-content .quick-actions .clear-btn:hover,.debug-menu .debug-panel .panel-content .advanced-actions .clear-btn:hover{background:var(--accent-red);border-color:var(--accent-red);color:#fff}.debug-menu .debug-panel .panel-content .quick-actions .clear-btn:active,.debug-menu .debug-panel .panel-content .advanced-actions .clear-btn:active{transform:scale(.98)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.message-generator-panel .generator-section h4{color:#0f0;font-size:12px;margin:0 0 8px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.message-generator-panel .generator-section .generator-description{color:#888;font-size:11px;margin:0 0 16px;line-height:1.4}.message-generator-panel .generator-section .generator-controls .control-group{margin-bottom:16px}.message-generator-panel .generator-section .generator-controls .control-group .control-label{display:block;color:#0f0;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.message-generator-panel .generator-section .generator-controls .control-group .type-selector{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:8px}.message-generator-panel .generator-section .generator-controls .control-group .type-selector .type-btn{background:#00ff000d;border:1px solid rgba(0,255,0,.2);color:#888;padding:6px 8px;border-radius:3px;font-size:9px;font-weight:700;cursor:pointer;transition:all .2s ease;font-family:inherit;text-align:left}.message-generator-panel .generator-section .generator-controls .control-group .type-selector .type-btn:hover{background:#00ff001a;border-color:#00ff004d;color:#aaa}.message-generator-panel .generator-section .generator-controls .control-group .type-selector .type-btn.active{background:#00ff0026;border-color:#00ff0080;color:#0f0;box-shadow:0 0 5px #0f03}.message-generator-panel .generator-section .generator-controls .control-group .media-options{display:flex;gap:4px;margin-bottom:8px}.message-generator-panel .generator-section .generator-controls .control-group .media-options .option-toggle{background:#00ff000d;border:1px solid rgba(0,255,0,.2);color:#888;padding:6px 12px;border-radius:3px;font-size:9px;font-weight:700;cursor:pointer;transition:all .2s ease;font-family:inherit;flex:1}.message-generator-panel .generator-section .generator-controls .control-group .media-options .option-toggle:hover{background:#00ff001a;border-color:#00ff004d;color:#aaa}.message-generator-panel .generator-section .generator-controls .control-group .media-options .option-toggle.active{background:#00ff0026;border-color:#00ff0080;color:#0f0;box-shadow:0 0 5px #0f03}.message-generator-panel .generator-section .generator-controls .control-group .option-info,.message-generator-panel .generator-section .generator-controls .control-group .selection-info{margin-bottom:8px}.message-generator-panel .generator-section .generator-controls .control-group .option-info small,.message-generator-panel .generator-section .generator-controls .control-group .selection-info small{color:#666;font-size:9px;line-height:1.3}.message-generator-panel .generator-section .generator-controls .control-group .grouping-options{display:flex;gap:4px;margin-bottom:8px}.message-generator-panel .generator-section .generator-controls .control-group .grouping-options .option-toggle{background:#00ff000d!important;border:1px solid rgba(0,255,0,.2)!important;color:#888!important;padding:6px 12px!important;border-radius:3px!important;font-size:9px!important;font-weight:700!important;cursor:pointer!important;transition:all .2s ease!important;font-family:inherit!important;flex:1!important}.message-generator-panel .generator-section .generator-controls .control-group .grouping-options .option-toggle:hover{background:#00ff001a!important;border-color:#00ff004d!important;color:#aaa!important}.message-generator-panel .generator-section .generator-controls .control-group .grouping-options .option-toggle.active{background:#00ff0026!important;border-color:#00ff0080!important;color:#0f0!important;box-shadow:0 0 5px #0f03!important}.message-generator-panel .generator-section .generator-controls .control-group .group-size-selector{display:flex;align-items:center;gap:8px;margin-bottom:8px}.message-generator-panel .generator-section .generator-controls .control-group .group-size-selector .size-label{color:#888;font-size:9px;font-weight:700;text-transform:uppercase}.message-generator-panel .generator-section .generator-controls .control-group .group-size-selector .size-buttons{display:flex;gap:2px}.message-generator-panel .generator-section .generator-controls .control-group .group-size-selector .size-buttons .size-btn{background:#00ff000d;border:1px solid rgba(0,255,0,.2);color:#888;padding:4px 8px;border-radius:3px;font-size:9px;font-weight:700;cursor:pointer;transition:all .2s ease;font-family:inherit;min-width:24px;text-align:center}.message-generator-panel .generator-section .generator-controls .control-group .group-size-selector .size-buttons .size-btn:hover:not(:disabled){background:#00ff001a;border-color:#0f06;color:#aaa}.message-generator-panel .generator-section .generator-controls .control-group .group-size-selector .size-buttons .size-btn.active{background:#0f03;border-color:#0f0;color:#0f0}.message-generator-panel .generator-section .generator-controls .control-group .group-size-selector .size-buttons .size-btn:disabled{opacity:.3;cursor:not-allowed}.message-generator-panel .generator-section .generator-controls .control-group .test-grouping{margin-bottom:8px}.message-generator-panel .generator-section .generator-controls .control-group .test-grouping .test-group-btn{background:#ffa5001a;border:1px solid rgba(255,165,0,.3);color:orange;padding:6px 12px;border-radius:3px;font-size:9px;font-weight:700;cursor:pointer;transition:all .2s ease;font-family:inherit;text-transform:uppercase;letter-spacing:.5px;width:100%}.message-generator-panel .generator-section .generator-controls .control-group .test-grouping .test-group-btn:hover{background:#ffa50033;border-color:#ffa50080;color:#ffb84d}.message-generator-panel .generator-section .generator-controls .control-group .test-grouping .test-group-btn:active{transform:translateY(1px)}.message-generator-panel .generator-section .generator-controls .control-group .count-selector{display:flex;flex-wrap:wrap;gap:4px}.message-generator-panel .generator-section .generator-controls .control-group .count-selector .count-btn{background:#00ff000d;border:1px solid rgba(0,255,0,.2);color:#888;padding:4px 8px;border-radius:3px;font-size:9px;font-weight:700;cursor:pointer;transition:all .2s ease;font-family:inherit;flex:1;min-width:60px}.message-generator-panel .generator-section .generator-controls .control-group .count-selector .count-btn:hover{background:#00ff001a;border-color:#00ff004d;color:#aaa}.message-generator-panel .generator-section .generator-controls .control-group .count-selector .count-btn.active{background:#00ff0026;border-color:#00ff0080;color:#0f0;box-shadow:0 0 5px #0f03}.message-generator-panel .generator-section .generator-controls .control-group .count-selector .count-btn.tiny{border-left:3px solid #00ff00}.message-generator-panel .generator-section .generator-controls .control-group .count-selector .count-btn.small{border-left:3px solid #88ff00}.message-generator-panel .generator-section .generator-controls .control-group .count-selector .count-btn.medium{border-left:3px solid #ffff00}.message-generator-panel .generator-section .generator-controls .control-group .count-selector .count-btn.large{border-left:3px solid #ff6600}.message-generator-panel .generator-section .generator-controls .action-buttons{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.message-generator-panel .generator-section .generator-controls .action-buttons .generate-btn{background:#00ff001a;border:1px solid rgba(0,255,0,.3);color:#0f0;padding:10px 12px;border-radius:4px;font-size:11px;font-weight:700;cursor:pointer;transition:all .2s ease;font-family:inherit}.message-generator-panel .generator-section .generator-controls .action-buttons .generate-btn:hover{background:#0f03;border-color:#00ff0080;transform:translateY(-1px);box-shadow:0 2px 8px #0f03}.message-generator-panel .generator-section .generator-controls .action-buttons .generate-btn:active{transform:translateY(0)}.message-generator-panel .generator-section .generator-controls .action-buttons .clear-btn{background:#ff44441a;border:1px solid rgba(255,68,68,.3);color:#f44;padding:8px 12px;border-radius:4px;font-size:11px;font-weight:700;cursor:pointer;transition:all .2s ease;font-family:inherit}.message-generator-panel .generator-section .generator-controls .action-buttons .clear-btn:hover{background:#f443;border-color:#ff444480;transform:translateY(-1px);box-shadow:0 2px 8px #f443}.message-generator-panel .generator-section .generator-controls .action-buttons .clear-btn:active{transform:translateY(0)}.message-generator-panel .generator-section .generator-info{background:#00ff000d;border:1px solid rgba(0,255,0,.1);border-radius:4px;padding:8px}.message-generator-panel .generator-section .generator-info .info-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:10px}.message-generator-panel .generator-section .generator-info .info-item:last-child{margin-bottom:0}.message-generator-panel .generator-section .generator-info .info-item .info-label{color:#888;font-weight:700}.message-generator-panel .generator-section .generator-info .info-item .info-value{color:#0f0;font-weight:700}@media (max-width: 400px){.message-generator-panel .generator-section .generator-controls .control-group .type-selector{grid-template-columns:1fr}.message-generator-panel .generator-section .generator-controls .control-group .count-selector .count-btn{min-width:50px;font-size:8px}}.logo{display:inline-flex;align-items:center;justify-content:center;transition:all .3s ease-out}.logo .logo-image{width:100%;height:100%;object-fit:contain;transition:all .3s ease-out}.logo.logo-small{width:24px;height:24px}.logo.logo-medium{width:32px;height:32px}.logo.logo-large{width:48px;height:48px}.logo.logo-xlarge{width:120px;height:120px}.logo:hover .logo-image{transform:scale(1.05)}.logo:active .logo-image{transform:scale(.95)}.logo[onclick]{cursor:pointer}@media (max-width: 480px){.logo.logo-xlarge{width:80px;height:80px}.logo.logo-large{width:40px;height:40px}}.global-loading-spinner{display:flex;align-items:center;justify-content:center}.global-loading-spinner.fullscreen{position:fixed;inset:0;background:var(--bg-primary);z-index:9999}.global-loading-spinner.fullscreen:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--bg-primary) 0%,rgba(82,136,193,.02) 50%,var(--bg-primary) 100%);z-index:-1}.global-loading-spinner.inline{padding:32px}.global-loading-spinner .global-loading-spinner-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.global-loading-spinner .global-loading-spinner-content .global-spinner-logo{position:relative;margin-bottom:24px}.global-loading-spinner .global-loading-spinner-content .global-spinner-logo .logo-image{animation:global-spin 3s ease-in-out infinite!important;transform-origin:center!important;will-change:transform}.global-loading-spinner .global-loading-spinner-content .global-spinner-logo:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120%;height:120%;background:radial-gradient(circle,rgba(82,136,193,.1) 0%,transparent 70%);border-radius:50%;animation:global-pulse 3s ease-in-out infinite;z-index:-1}.global-loading-spinner .global-loading-spinner-content .global-loading-message{color:var(--text-secondary);font-size:var(--font-size-base, 15px);font-weight:500;letter-spacing:.5px;opacity:0;animation:global-fadeInMessage 1s ease-out .5s forwards}.global-loading-spinner .global-loading-spinner-content.global-loading-small .global-spinner-logo{margin-bottom:8px}.global-loading-spinner .global-loading-spinner-content.global-loading-small .global-loading-message{font-size:var(--font-size-sm, 13px)}.global-loading-spinner .global-loading-spinner-content.global-loading-medium .global-spinner-logo{margin-bottom:16px}.global-loading-spinner .global-loading-spinner-content.global-loading-medium .global-loading-message{font-size:var(--font-size-base, 15px)}.global-loading-spinner .global-loading-spinner-content.global-loading-large .global-spinner-logo{margin-bottom:24px}.global-loading-spinner .global-loading-spinner-content.global-loading-large .global-loading-message{font-size:var(--font-size-lg, 17px)}.global-loading-spinner .global-loading-spinner-content.global-loading-xlarge .global-spinner-logo{margin-bottom:32px}.global-loading-spinner .global-loading-spinner-content.global-loading-xlarge .global-loading-message{font-size:var(--font-size-xl, 20px)}@keyframes global-spin{0%{transform:rotate(0)}25%{transform:rotate(90deg)}50%{transform:rotate(180deg)}75%{transform:rotate(270deg)}to{transform:rotate(360deg)}}@keyframes global-pulse{0%,to{opacity:.3;transform:translate(-50%,-50%) scale(1)}50%{opacity:.6;transform:translate(-50%,-50%) scale(1.1)}}@keyframes global-fadeInMessage{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.global-loading-spinner.fullscreen .global-loading-spinner-content{padding:32px}.global-loading-spinner.fullscreen .global-loading-spinner-content.global-loading-xlarge .global-spinner-logo{margin-bottom:24px}.global-loading-spinner.fullscreen .global-loading-spinner-content.global-loading-xlarge .global-loading-message{font-size:var(--font-size-lg, 17px)}}@media (max-width: 480px){.global-loading-spinner.fullscreen .global-loading-spinner-content{padding:24px}.global-loading-spinner.fullscreen .global-loading-spinner-content.global-loading-xlarge .global-loading-message,.global-loading-spinner.fullscreen .global-loading-spinner-content.global-loading-large .global-loading-message{font-size:var(--font-size-base, 15px)}}@media (prefers-reduced-motion: reduce){.global-loading-spinner .global-spinner-logo .logo-image{animation:none!important}.global-loading-spinner .global-spinner-logo:after{animation:none;opacity:.2}}.loading-page{min-height:100vh;background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex;align-items:center;justify-content:center;position:relative}.loading-page:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--bg-primary) 0%,rgba(82,136,193,.02) 50%,var(--bg-primary) 100%);z-index:-1}.loading-page .loading-page-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;max-width:400px;padding:32px}.loading-page .loading-page-content .page-spinner{margin-bottom:24px}.loading-page .loading-page-content .loading-subtitle{color:var(--text-muted);font-size:var(--font-size-sm, 13px);line-height:1.5;opacity:0;animation:fadeInSubtitle 1s ease-out 1s forwards}@keyframes fadeInSubtitle{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 480px){.loading-page .loading-page-content{padding:24px;max-width:300px}}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0a1628;color:var(--text-primary);padding:32px;position:relative;overflow:hidden}.error-boundary:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(82,136,193,.15),transparent),radial-gradient(ellipse 60% 50% at 0% 100%,rgba(37,211,102,.08),transparent),radial-gradient(ellipse 60% 50% at 100% 100%,rgba(82,136,193,.08),transparent);z-index:0}.error-boundary .starfield-background{position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:0;pointer-events:none}.error-boundary .starfield-background .stars{position:absolute;top:0;left:0;width:200%;height:200%;background-repeat:repeat;background-size:200px 200px;will-change:transform,opacity}.error-boundary .starfield-background .stars-small{background-image:radial-gradient(1px 1px at 20px 30px,rgba(255,255,255,.3),transparent),radial-gradient(1px 1px at 60px 70px,rgba(255,255,255,.3),transparent),radial-gradient(1px 1px at 50px 20px,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 130px 80px,rgba(255,255,255,.3),transparent),radial-gradient(1px 1px at 140px 50px,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 90px 100px,rgba(255,255,255,.3),transparent),radial-gradient(1px 1px at 170px 120px,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 30px 150px,rgba(255,255,255,.3),transparent),radial-gradient(1px 1px at 110px 40px,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 180px 90px,rgba(255,255,255,.3),transparent);animation:moveStars 120s linear infinite,twinkle 4s ease-in-out infinite}.error-boundary .starfield-background .stars-medium{background-image:radial-gradient(1.5px 1.5px at 40px 60px,rgba(255,255,255,.8),transparent),radial-gradient(1.5px 1.5px at 120px 30px,rgba(255,255,255,.5),transparent),radial-gradient(1.5px 1.5px at 80px 140px,rgba(255,255,255,.8),transparent),radial-gradient(1.5px 1.5px at 160px 70px,rgba(255,255,255,.5),transparent),radial-gradient(1.5px 1.5px at 10px 110px,rgba(255,255,255,.8),transparent),radial-gradient(1.5px 1.5px at 190px 150px,rgba(255,255,255,.5),transparent);animation:moveStars 90s linear infinite,twinkle 5s ease-in-out infinite 1s}.error-boundary .starfield-background .stars-large{background-image:radial-gradient(2px 2px at 70px 90px,rgba(255,255,255,.8),transparent),radial-gradient(2px 2px at 150px 110px,rgba(255,255,255,.8),transparent),radial-gradient(2px 2px at 25px 180px,rgba(255,255,255,.8),transparent),radial-gradient(2px 2px at 100px 10px,rgba(255,255,255,.8),transparent);animation:moveStars 60s linear infinite,twinkle 6s ease-in-out infinite 2s}@keyframes moveStars{0%{transform:translateZ(0)}to{transform:translate3d(-200px,-200px,0)}}@keyframes twinkle{0%,to{opacity:.5}50%{opacity:1}}.error-boundary .error-content{text-align:center;max-width:600px;width:100%;position:relative;z-index:2}.error-boundary .error-content .error-visual{margin-bottom:32px;display:flex;justify-content:center;align-items:center}.error-boundary .error-content .error-visual .error-image{max-width:300px;width:100%;height:auto;filter:drop-shadow(0 20px 60px rgba(82,136,193,.4));animation:floatImage 6s ease-in-out infinite}@media (max-width: 480px){.error-boundary .error-content .error-visual .error-image{max-width:200px}}@keyframes floatImage{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.error-boundary .error-content h2{font-size:2rem;font-weight:700;margin-bottom:16px;color:#fff;text-shadow:0 2px 20px rgba(82,136,193,.5)}@media (max-width: 480px){.error-boundary .error-content h2{font-size:1.5rem}}.error-boundary .error-content p{color:#ffffffb3;margin-bottom:32px;line-height:1.6;font-size:1.125rem}@media (max-width: 480px){.error-boundary .error-content p{font-size:1rem}}.error-boundary .error-content .error-details{margin-bottom:32px;text-align:left}.error-boundary .error-content .error-details .details-toggle{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fffc;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:var(--font-size-sm, 13px);transition:all .2s;margin-bottom:16px;backdrop-filter:blur(10px)}.error-boundary .error-content .error-details .details-toggle:hover{background:#ffffff26;color:#fff;border-color:#5288c180}.error-boundary .error-content .error-details .details-content{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;backdrop-filter:blur(10px)}.error-boundary .error-content .error-details .details-content .error-message{margin-bottom:16px;font-size:var(--font-size-sm, 13px);color:#fffc}.error-boundary .error-content .error-details .details-content .error-message strong{color:#fff}.error-boundary .error-content .error-details .details-content .error-stack strong{color:#fff;display:block;margin-bottom:8px}.error-boundary .error-content .error-details .details-content .error-stack pre{background:#0000004d;padding:8px;border-radius:6px;font-size:var(--font-size-sm, 13px);color:#ffffffb3;overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto}.error-boundary .error-content .error-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}.error-boundary .error-content .error-actions .btn-primary,.error-boundary .error-content .error-actions .btn-secondary,.error-boundary .error-content .error-actions .btn-link{padding:.875rem 1.75rem;border-radius:16px;font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:none;min-width:160px;position:relative;display:flex;align-items:center;justify-content:center;gap:.5rem;backdrop-filter:blur(20px);letter-spacing:.01em}.error-boundary .error-content .error-actions .btn-primary svg,.error-boundary .error-content .error-actions .btn-secondary svg,.error-boundary .error-content .error-actions .btn-link svg{transition:transform .3s ease}.error-boundary .error-content .error-actions .btn-primary:hover:not(:disabled),.error-boundary .error-content .error-actions .btn-secondary:hover:not(:disabled),.error-boundary .error-content .error-actions .btn-link:hover:not(:disabled){transform:translateY(-3px) scale(1.02)}.error-boundary .error-content .error-actions .btn-primary:hover:not(:disabled) svg,.error-boundary .error-content .error-actions .btn-secondary:hover:not(:disabled) svg,.error-boundary .error-content .error-actions .btn-link:hover:not(:disabled) svg{transform:rotate(15deg)}.error-boundary .error-content .error-actions .btn-primary:active:not(:disabled),.error-boundary .error-content .error-actions .btn-secondary:active:not(:disabled),.error-boundary .error-content .error-actions .btn-link:active:not(:disabled){transform:translateY(-1px) scale(.98)}.error-boundary .error-content .error-actions .btn-primary:disabled,.error-boundary .error-content .error-actions .btn-secondary:disabled,.error-boundary .error-content .error-actions .btn-link:disabled{opacity:.5;cursor:not-allowed}.error-boundary .error-content .error-actions .btn-primary:disabled svg,.error-boundary .error-content .error-actions .btn-secondary:disabled svg,.error-boundary .error-content .error-actions .btn-link:disabled svg{animation:spin 1s linear infinite}.error-boundary .error-content .error-actions .btn-primary{background:linear-gradient(135deg,#5a9fd4,#4a8fc4);color:#fff;box-shadow:0 8px 24px #5288c159,0 4px 12px #5288c140,inset 0 1px #fff3;border:1px solid rgba(255,255,255,.1)}.error-boundary .error-content .error-actions .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#6aafd4,#5a9fc4);box-shadow:0 12px 32px #5288c173,0 6px 16px #5288c159,inset 0 1px #ffffff4d}.error-boundary .error-content .error-actions .btn-primary:active:not(:disabled){box-shadow:0 4px 16px #5288c14d,inset 0 2px 4px #0000001a}.error-boundary .error-content .error-actions .btn-secondary{background:#ffffff14;color:#fff;border:1.5px solid rgba(255,255,255,.2);box-shadow:0 4px 16px #0003,inset 0 1px #ffffff1a}.error-boundary .error-content .error-actions .btn-secondary:hover:not(:disabled){background:#ffffff1f;border-color:#5288c199;box-shadow:0 8px 24px #5288c140,0 4px 12px #00000026,inset 0 1px #ffffff26}.error-boundary .error-content .error-actions .btn-secondary:active:not(:disabled){background:#ffffff0f;box-shadow:0 2px 8px #0003,inset 0 2px 4px #0000001a}.error-boundary .error-content .error-actions .btn-link{background:transparent;color:#5a9fd4e6;border:none;text-decoration:none;min-width:auto;padding:.5rem 1rem;backdrop-filter:none;font-weight:500}.error-boundary .error-content .error-actions .btn-link:hover:not(:disabled){color:#5a9fd4;text-decoration:underline;transform:scale(1.05)}.error-boundary .error-content .error-actions .btn-link:hover:not(:disabled) svg{transform:none}.error-boundary .error-content .error-actions .btn-link:active:not(:disabled){transform:scale(.95)}@media (max-width: 480px){.error-boundary{padding:24px}.error-boundary .error-content h2{font-size:1.25rem}.error-boundary .error-content .error-actions{flex-direction:column;align-items:center}.error-boundary .error-content .error-actions .btn-primary,.error-boundary .error-content .error-actions .btn-secondary{width:100%;max-width:200px}.error-boundary .error-content .error-actions .btn-link{width:auto}}:root{--bg-primary: #0e1621;--bg-secondary: #17212b;--bg-tertiary: #1d2733;--bg-quaternary: #242f3d;--bg-secondary-rgb: 23, 33, 43;--bg-tertiary-rgb: 29, 39, 51;--bg-chat: #0e1621;--text-primary: #ffffff;--text-secondary: #aaaaaa;--text-muted: #707579;--text-muted-rgb: 112, 117, 121;--border-primary: #242f3d;--border-secondary: rgba(255, 255, 255, .08);--border-primary-rgb: 36, 47, 61;--shadow-color: rgba(0, 0, 0, .6);--accent-blue: #5288c1;--accent-blue-hover: #4a9eff;--accent-blue-dark: #2b5278;--accent-blue-rgb: 82, 136, 193;--accent-color: #5288c1;--accent-color-dark: #4a9eff;--accent-purple: #8b5cf6;--accent-pink: #ec4899;--accent-green: #10b981;--accent-red: #ef4444;--success-green: #4caf50;--danger-red: #f44336;--message-sent: #2b5278;--message-received: #17212b;--message-received-hover: #1a2530;--message-highlighting-color: rgba(82, 136, 193, .3);--input-bg: #1d2733;--hover-bg: rgba(255, 255, 255, .04);--bg-chat-input: #17212b;--error-bg: rgba(239, 68, 68, .1);--error-border: rgba(239, 68, 68, .2);--error-text: #fca5a5;--warning-bg: rgba(245, 158, 11, .1);--warning-border: rgba(245, 158, 11, .2);--warning-text: #fbbf24;--success-bg: rgba(16, 185, 129, .1);--success-border: rgba(16, 185, 129, .2);--success-text: #6ee7b7}.light-theme{--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--bg-tertiary: #fafafa;--bg-quaternary: #eeeeee;--bg-secondary-rgb: 245, 245, 245;--bg-tertiary-rgb: 250, 250, 250;--bg-chat: #e6ebf0;--text-primary: #000000;--text-secondary: #707579;--text-muted: #999999;--text-muted-rgb: 153, 153, 153;--border-primary: #dadce0;--border-secondary: rgba(0, 0, 0, .08);--border-primary-rgb: 218, 220, 224;--shadow-color: rgba(0, 0, 0, .1);--accent-blue: #3390ec;--accent-blue-hover: #2b7de9;--accent-blue-dark: #2563eb;--accent-blue-rgb: 51, 144, 236;--accent-color: #3390ec;--accent-color-dark: #2b7de9;--accent-purple: #8b5cf6;--accent-pink: #ec4899;--accent-green: #10b981;--accent-red: #ef4444;--success-green: #4caf50;--danger-red: #e53935;--message-sent: #dcf8c6;--message-received: #ffffff;--message-received-hover: #f0f0f0;--message-highlighting-color: rgba(51, 144, 236, .3);--input-bg: #ffffff;--hover-bg: rgba(0, 0, 0, .04);--bg-chat-input: #ffffff;--error-bg: #fef2f2;--error-border: #fecaca;--error-text: #dc2626;--warning-bg: #fffbeb;--warning-border: #fed7aa;--warning-text: #d97706;--success-bg: #f0fdf4;--success-border: #bbf7d0;--success-text: #15803d}.popup-backdrop{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:16px;animation:fadeIn .2s ease-out}.popup-modal{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:20px;box-shadow:0 20px 40px #0006;max-height:90vh;overflow:hidden;position:relative;animation:slideIn .3s ease-out;min-width:320px;max-width:90vw}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.popup-modal .popup-close{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:6px;transition:all .2s ease;z-index:1}.popup-modal .popup-close:hover{background:var(--hover-bg);color:var(--text-primary)}.popup-modal .popup-close:focus-visible{outline:2px solid var(--accent-blue);outline-offset:-2px}.popup-modal .popup-content{padding:32px 24px 24px}.popup-modal .popup-content .popup-header{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:24px}.popup-modal .popup-content .popup-header .popup-icon{color:var(--accent-blue);margin-bottom:16px;display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#5288c11a;border-radius:50%}.popup-modal .popup-content .popup-header .popup-title{font-size:var(--font-size-xl, 20px);font-weight:600;color:var(--text-primary);margin:0;line-height:1.3}.popup-modal .popup-content .popup-body{margin-bottom:32px}.popup-modal .popup-content .popup-body .popup-message{font-size:var(--font-size-base, 15px);color:var(--text-secondary);line-height:1.6;text-align:center;margin:0 0 16px}.popup-modal .popup-content .popup-body .popup-message strong{color:var(--text-primary);font-weight:600}.popup-modal .popup-content .popup-body .popup-input{width:100%;padding:16px;background:var(--input-bg);border:1px solid var(--border-primary);border-radius:12px;color:var(--text-primary);font-size:var(--font-size-base, 15px);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;transition:all .2s ease}.popup-modal .popup-content .popup-body .popup-input:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px #5288c11a}.popup-modal .popup-content .popup-body .popup-input::placeholder{color:var(--text-muted)}.popup-modal .popup-content .popup-body .popup-input.popup-input-error{border-color:var(--danger-red)}.popup-modal .popup-content .popup-body .popup-input.popup-input-error:focus{border-color:var(--danger-red);box-shadow:0 0 0 3px #d32f2f1a}.popup-modal .popup-content .popup-body .popup-error{margin:8px 0 0;padding:8px 16px;background:#d32f2f1a;border-left:3px solid var(--danger-red);border-radius:6px;color:var(--danger-red);font-size:var(--font-size-sm, 13px);line-height:1.4;text-align:left}.popup-modal .popup-content .popup-actions{display:flex;gap:16px;justify-content:flex-end}.popup-modal .popup-content .popup-actions .popup-button{padding:16px 32px;border-radius:12px;font-size:var(--font-size-base, 15px);font-weight:600;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;cursor:pointer;transition:all .2s ease;min-width:80px;border:none}.popup-modal .popup-content .popup-actions .popup-button:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.popup-modal .popup-content .popup-actions .popup-button.primary{background:var(--accent-blue);color:#fff}.popup-modal .popup-content .popup-actions .popup-button.primary:hover{background:var(--accent-blue-hover);transform:translateY(-1px)}.popup-modal .popup-content .popup-actions .popup-button.primary:active{transform:translateY(0)}.popup-modal .popup-content .popup-actions .popup-button.secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border-primary)}.popup-modal .popup-content .popup-actions .popup-button.secondary:hover{background:var(--hover-bg);color:var(--text-primary);border-color:var(--border-secondary)}.popup-modal .popup-content .popup-actions .popup-button.danger{background:var(--danger-red);color:#fff}.popup-modal .popup-content .popup-actions .popup-button.danger:hover{background:#d32f2f;transform:translateY(-1px)}.popup-modal .popup-content .popup-actions .popup-button.danger:active{transform:translateY(0)}@media (max-width: 768px){.popup-backdrop{padding:8px}.popup-modal{min-width:280px;max-width:95vw}.popup-modal .popup-content{padding:24px 16px 16px}.popup-modal .popup-content .popup-actions{flex-direction:column-reverse}.popup-modal .popup-content .popup-actions .popup-button{width:100%;justify-content:center}}@media (prefers-color-scheme: dark){.popup-backdrop{background:#000c}}.light-theme .popup-backdrop{background:#0006}.light-theme .popup-modal{box-shadow:0 20px 40px #00000026}.anonymous-join-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;backdrop-filter:blur(4px);animation:fadeIn .2s ease}.anonymous-join-modal-overlay .anonymous-join-modal{background:var(--bg-primary);border-radius:1rem;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d;border:1px solid var(--border-primary);animation:slideUp .3s ease}.anonymous-join-modal-overlay .anonymous-join-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--border-primary);background:var(--bg-secondary)}.anonymous-join-modal-overlay .anonymous-join-modal .modal-header h2{margin:0;font-size:1.5rem;color:var(--text-primary)}.anonymous-join-modal-overlay .anonymous-join-modal .modal-header .close-button{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;border-radius:.25rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.anonymous-join-modal-overlay .anonymous-join-modal .modal-header .close-button:hover:not(:disabled){background:var(--hover-bg);color:var(--text-primary)}.anonymous-join-modal-overlay .anonymous-join-modal .modal-header .close-button:disabled{opacity:.5;cursor:not-allowed}.anonymous-join-modal-overlay .anonymous-join-modal .modal-loading,.anonymous-join-modal-overlay .anonymous-join-modal .modal-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;gap:1rem}.anonymous-join-modal-overlay .anonymous-join-modal .modal-loading .loading-spinner,.anonymous-join-modal-overlay .anonymous-join-modal .modal-error .loading-spinner{width:2rem;height:2rem;border:2px solid var(--border-primary);border-top:2px solid var(--accent-color);border-radius:50%;animation:spin 1s linear infinite}.anonymous-join-modal-overlay .anonymous-join-modal .modal-loading p,.anonymous-join-modal-overlay .anonymous-join-modal .modal-error p{color:var(--text-secondary);margin:0}.anonymous-join-modal-overlay .anonymous-join-modal .modal-loading svg,.anonymous-join-modal-overlay .anonymous-join-modal .modal-error svg{color:var(--danger-red)}.anonymous-join-modal-overlay .anonymous-join-modal .modal-content{padding:1.5rem}.anonymous-join-modal-overlay .anonymous-join-modal .modal-content .group-preview{margin-bottom:1.5rem}.anonymous-join-modal-overlay .anonymous-join-modal .modal-content .group-preview h3{font-size:1.375rem;margin:0 0 .75rem;color:var(--text-primary);font-weight:600}.anonymous-join-modal-overlay .anonymous-join-modal .modal-content .group-preview .group-description{color:var(--text-secondary);margin-bottom:1.25rem;line-height:1.6;font-size:.95rem}.anonymous-join-modal-overlay .anonymous-join-modal .modal-content .group-preview .group-stats{display:flex;gap:1.5rem;flex-wrap:wrap}.anonymous-join-modal-overlay .anonymous-join-modal .modal-content .group-preview .group-stats .stat{display:flex;align-items:center;gap:.625rem;color:var(--text-secondary);font-size:.95rem}.anonymous-join-modal-overlay .anonymous-join-modal .modal-content .group-preview .group-stats .stat svg{color:var(--accent-color);flex-shrink:0}.anonymous-join-modal-overlay .anonymous-join-modal .modal-content .group-preview .group-stats .stat span{font-weight:500}.anonymous-join-modal-overlay .anonymous-join-modal .modal-content .modal-info{display:flex;gap:.75rem;padding:1rem;background:var(--bg-secondary);border-radius:.5rem;border:1px solid var(--border-primary)}.anonymous-join-modal-overlay .anonymous-join-modal .modal-content .modal-info svg{color:var(--accent-color);flex-shrink:0;margin-top:.125rem}.anonymous-join-modal-overlay .anonymous-join-modal .modal-content .modal-info p{margin:0;color:var(--text-secondary);font-size:.9rem;line-height:1.5}.anonymous-join-modal-overlay .anonymous-join-modal .modal-content .error-message{margin-top:1rem;padding:.75rem 1rem;background:#ef44441a;border:1px solid var(--danger-red);border-radius:.5rem;color:var(--danger-red);font-size:.9rem}.anonymous-join-modal-overlay .anonymous-join-modal .modal-actions{display:flex;gap:.75rem;padding:1.5rem;border-top:1px solid var(--border-primary);background:var(--bg-secondary)}.anonymous-join-modal-overlay .anonymous-join-modal .modal-actions button{flex:1;padding:.875rem 1.5rem;border-radius:.5rem;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.anonymous-join-modal-overlay .anonymous-join-modal .modal-actions button:disabled{opacity:.6;cursor:not-allowed}.anonymous-join-modal-overlay .anonymous-join-modal .modal-actions button .loading-spinner{width:1rem;height:1rem;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.anonymous-join-modal-overlay .anonymous-join-modal .modal-actions button .loading-spinner.small{width:1rem;height:1rem}.anonymous-join-modal-overlay .anonymous-join-modal .modal-actions .cancel-button{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-primary)}.anonymous-join-modal-overlay .anonymous-join-modal .modal-actions .cancel-button:hover:not(:disabled){background:var(--hover-bg)}.anonymous-join-modal-overlay .anonymous-join-modal .modal-actions .join-button{background:var(--accent-color);color:#fff;border:none}.anonymous-join-modal-overlay .anonymous-join-modal .modal-actions .join-button:hover:not(:disabled){background:var(--accent-color-dark);transform:translateY(-1px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (max-width: 768px){.anonymous-join-modal-overlay .anonymous-join-modal .modal-content .group-preview .group-stats{flex-direction:column;gap:.75rem}.anonymous-join-modal-overlay .anonymous-join-modal .modal-actions{flex-direction:column}.anonymous-join-modal-overlay .anonymous-join-modal .modal-actions button{width:100%}}
