.setup-wizard__modal{max-width:520px;max-height:80vh;overflow:auto}.setup-wizard__modal--loading{max-width:480px;padding:24px}.setup-wizard__loading-text{color:var(--text-muted);text-align:center}.setup-wizard__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.setup-wizard__title{color:var(--text-primary);font-weight:700;font-size:13px}.setup-wizard__close-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:12px}.setup-wizard__diagnostic-box{background:var(--bg-secondary);border-radius:var(--radius-md);padding:12px;margin-bottom:16px;font-family:monospace;font-size:11px;line-height:1.6;color:var(--text-secondary)}.setup-wizard__status-icon{display:inline;font-weight:700}.setup-wizard__status-icon--ok{color:var(--green)}.setup-wizard__status-icon--fail{color:var(--red)}.setup-wizard__status-all-ok{color:var(--green);font-size:12px;text-align:center;margin-bottom:16px}.setup-wizard__issues-section{margin-bottom:12px}.setup-wizard__issues-header{font-weight:600;font-size:12px;margin-bottom:8px}.setup-wizard__issues-header--error{color:var(--red)}.setup-wizard__issues-header--warning{color:var(--yellow)}.setup-wizard__footer{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.setup-wizard__dismiss-btn{background:none;border:1px solid var(--border-color);color:var(--text-muted);padding:6px 14px;border-radius:var(--radius-sm);cursor:pointer;font-size:11px;transition:border-color .15s ease,color .15s ease}.setup-wizard__dismiss-btn:hover{border-color:var(--text-muted);color:var(--text-secondary)}.setup-wizard__confirm-btn{background:var(--accent-color);border:none;color:var(--text-primary);padding:6px 18px;border-radius:var(--radius-sm);cursor:pointer;font-size:11px;font-weight:600;transition:opacity .15s ease}.setup-wizard__confirm-btn:hover{opacity:.85}.setup-wizard__issue{background:var(--bg-primary);border-radius:var(--radius-sm);padding:10px;margin-bottom:8px;font-size:11px;line-height:1.5}.setup-wizard__issue-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4px}.setup-wizard__issue-component{color:var(--text-primary);font-weight:500}.setup-wizard__issue-severity{font-size:9px;text-transform:uppercase;font-weight:600}.setup-wizard__issue-severity--error{color:var(--red)}.setup-wizard__issue-severity--warning{color:var(--yellow)}.setup-wizard__issue-message{color:var(--text-secondary);margin:0 0 6px}.setup-wizard__issue-fix-row{display:flex;gap:4px;align-items:center}.setup-wizard__issue-fix-cmd{display:block;background:var(--bg-tertiary);padding:6px 8px;border-radius:var(--radius-xs);font-size:10px;color:var(--text-muted);flex:1;overflow:auto;white-space:pre-wrap;word-break:break-all}.setup-wizard__issue-copy-btn{background:var(--border-color);border:none;color:var(--text-secondary);padding:4px 8px;border-radius:var(--radius-xs);cursor:pointer;font-size:10px;white-space:nowrap;transition:background .15s ease,color .15s ease}.setup-wizard__issue-copy-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.setup-wizard__issue-copy-btn--copied{background:var(--green);color:var(--bg-primary)}@keyframes modalOverlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalOverlayFadeOut{0%{opacity:1}to{opacity:0}}@keyframes modalSlideDown{0%{opacity:0;transform:translateY(-20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modalSlideUp{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-20px) scale(.98)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:var(--modal-backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:modalOverlayFadeIn .2s ease-out}.modal-overlay--closing{animation:modalOverlayFadeOut .2s ease-in forwards;pointer-events:none}.modal{background:var(--modal-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);max-width:calc(100vw - 32px);max-height:85vh;display:flex;flex-direction:column;overflow:hidden;animation:modalSlideDown .25s ease-out;box-shadow:0 8px 32px #00000080,0 2px 8px #0000004d}.modal--closing{animation:modalSlideUp .2s ease-in forwards;pointer-events:none}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border-color)}.modal__header-title{font-size:13px;font-weight:600;color:var(--text-primary);font-family:inherit}.modal__close-btn{color:var(--text-muted);font-size:11px;font-family:var(--font-mono);border:none;background:none;cursor:pointer;transition:color .15s ease}.modal__close-btn:hover{color:var(--text-primary)}.modal__body{padding:16px 20px;overflow-y:auto;flex:1}.modal__footer{padding:12px 20px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end}@media (max-width: 767px){.modal-overlay{align-items:stretch}.modal{width:calc(100vw - 16px);max-width:480px;height:auto;max-height:calc(100vh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));margin:auto;border-radius:var(--radius-lg)}.modal__header{padding:14px 16px;padding-top:calc(14px + env(safe-area-inset-top,0px))}.modal__close-btn{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.modal__body{padding:16px}.modal__footer{padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.modal__header-title{font-size:15px}}.toggle-switch{position:relative;width:40px;height:22px;flex-shrink:0;cursor:pointer;outline:none}.toggle-switch:focus-visible{border-radius:var(--radius-full);box-shadow:0 0 0 2px var(--brand-dim)}.toggle-switch--disabled{opacity:.4;cursor:not-allowed}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-switch__track{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-full);cursor:pointer;transition:background .2s ease,border-color .2s ease}.toggle-switch input:checked+.toggle-switch__track{background:var(--brand);border-color:var(--brand)}.toggle-switch__thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--text-primary);border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 3px #0000004d}.toggle-switch input:checked+.toggle-switch__track .toggle-switch__thumb{transform:translate(18px)}.toggle-switch--disabled .toggle-switch__track{cursor:not-allowed}.settings-modal{width:560px}.settings-modal__section-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:10px}.settings-modal__subsection-title{font-size:10px;font-weight:500;color:var(--text-secondary);letter-spacing:.3px}.settings-modal__select{width:100%;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:8px 32px 8px 12px;color:var(--text-primary);font-size:14px;font-family:var(--font-mono);outline:none;cursor:pointer;transition:border-color .15s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236b6b6b'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.settings-modal__select:focus{border-color:var(--brand)}.settings-modal__select option{background:var(--bg-secondary);color:var(--text-primary)}.settings-modal__hint{font-size:9px;color:var(--text-muted);font-family:var(--font-mono);margin-top:4px}.settings-modal__permission-warning{font-size:10px;color:var(--red);background:var(--red-dim);border:1px solid var(--red-dim-border);border-radius:var(--radius-sm);padding:8px 12px;font-family:var(--font-mono)}.settings-modal__version-row{display:flex;align-items:center;justify-content:space-between}.settings-modal__version-text{font-size:11px;color:var(--text-primary);font-family:var(--font-mono)}.settings-modal__version-tag{font-size:9px;color:var(--text-muted);font-family:var(--font-mono);background:var(--bg-tertiary);padding:2px 8px;border-radius:var(--radius-sm);border:1px solid var(--border-color)}.settings-modal__alert{font-size:11px;color:var(--text-muted);font-family:var(--font-mono);text-align:center;padding:8px 0}.settings-modal__alert--success{color:var(--green);background:var(--green-dim);border:1px solid var(--green-dim-border);border-radius:var(--radius-sm);padding:8px 12px}.settings-modal__alert--error{color:var(--red);background:var(--red-dim);border:1px solid var(--red-dim-border);border-radius:var(--radius-sm);padding:8px 12px}.settings-modal__check-btn{padding:4px 12px;background:var(--bg-tertiary);color:var(--text-secondary);font-size:11px;font-family:var(--font-mono);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.settings-modal__check-btn:hover{border-color:var(--brand);color:var(--text-primary)}.settings-modal__check-btn:disabled{opacity:.5;cursor:not-allowed}.settings-modal__section-divider{border:none;border-top:1px solid var(--border-color);margin:0}.settings-modal__radio-group{display:flex;flex-direction:column;gap:6px}.settings-modal__radio-option{display:flex;align-items:center;gap:8px;font-size:11px;font-family:var(--font-mono);color:var(--text-secondary);cursor:pointer;padding:6px 10px;border-radius:var(--radius-sm);border:1px solid transparent;background:none;transition:color .15s ease,border-color .15s ease,background .15s ease}.settings-modal__radio-option:hover{background:var(--bg-tertiary)}.settings-modal__radio-option--active{color:var(--text-primary);border-color:var(--brand);background:var(--brand-dim)}.settings-modal__radio-dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--text-muted);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .15s ease}.settings-modal__radio-option--active .settings-modal__radio-dot{border-color:var(--brand)}.settings-modal__radio-dot:after{content:"";width:6px;height:6px;border-radius:50%;background:var(--brand);opacity:0;transform:scale(0);transition:opacity .15s ease,transform .15s ease}.settings-modal__radio-option--active .settings-modal__radio-dot:after{opacity:1;transform:scale(1)}.settings-modal__toggle-row{display:flex;align-items:center;justify-content:space-between}.settings-modal__toggle-label{font-size:11px;font-family:var(--font-mono);color:var(--text-primary)}@media (max-width: 767px){.settings-modal{width:calc(100vw - 16px);max-width:520px;max-height:calc(100vh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:0 8px 32px #00000080;align-self:center}.settings-modal__header{padding:14px 16px;padding-top:calc(14px + env(safe-area-inset-top,0px))}.settings-modal__body{padding:16px}.settings-modal__footer{padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.settings-modal__header-title{font-size:15px}.settings-modal__select{min-height:44px;font-size:16px}.settings-modal__radio-option{min-height:44px;font-size:14px}.settings-modal__keybind-btn{min-height:44px;font-size:13px}.settings-modal__done-btn{min-height:48px;font-size:15px;padding:10px 28px}.settings-modal__check-btn{min-height:48px;font-size:15px}}.settings-modal__slider-section{display:flex;flex-direction:column;gap:6px}.settings-modal__slider-row{display:flex;align-items:center;gap:10px}.settings-modal__slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:3px;outline:none;cursor:pointer}.settings-modal__slider::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(to right,var(--brand) 0%,var(--brand) var(--slider-pct, 50%),var(--bg-tertiary) var(--slider-pct, 50%),var(--bg-tertiary) 100%)}.settings-modal__slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:var(--text-primary);border:2px solid var(--brand);border-radius:50%;margin-top:-4px;cursor:pointer;-webkit-transition:transform .1s ease;transition:transform .1s ease}.settings-modal__slider::-webkit-slider-thumb:active{transform:scale(1.15)}.settings-modal__slider-value{font-size:10px;font-family:var(--font-mono);color:var(--text-muted);min-width:36px;text-align:right;flex-shrink:0}.settings-modal__meter-bar{width:100%;height:8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;overflow:hidden;position:relative}.settings-modal__meter-fill{height:100%;border-radius:3px;transition:width 60ms linear,background .3s ease}.settings-modal__meter-fill--low{background:var(--brand)}.settings-modal__meter-fill--mid{background:var(--yellow)}.settings-modal__meter-fill--high{background:var(--red)}.settings-modal__meter-threshold{position:absolute;top:0;bottom:0;width:2px;background:var(--text-muted);opacity:.6;pointer-events:none}.settings-modal__keybind-row{display:flex;align-items:center;justify-content:space-between}.settings-modal__keybind-label{font-size:10px;font-family:var(--font-mono);color:var(--text-muted)}.settings-modal__keybind-btn{padding:4px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:11px;font-family:var(--font-mono);cursor:pointer;min-width:80px;text-align:center;transition:border-color .15s ease,background .15s ease}.settings-modal__keybind-btn:hover{border-color:var(--brand)}.settings-modal__keybind-btn--listening{border-color:var(--brand);background:var(--brand-dim);color:var(--brand);animation:keybind-pulse 1s ease infinite}@keyframes keybind-pulse{0%,to{opacity:1}50%{opacity:.6}}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--bg-primary: #0a0a0a;--bg-secondary: #111111;--bg-tertiary: #1a1a1a;--bg-hover: #262626;--bg-active: #2d2d2d;--text-primary: #ffffff;--text-secondary: #a0a0a0;--text-muted: #808080;--border-color: #2a2a2a;--brand: #4c6ef5;--brand-hover: #4263eb;--brand-dim: rgba(76, 110, 245, .15);--brand-dim-border: rgba(76, 110, 245, .25);--brand-glow: rgba(76, 110, 245, .2);--accent-color: #6366f1;--bg-surface: #1a1a1a;--modal-bg: rgba(17, 17, 17, .94);--modal-backdrop: rgba(0, 0, 0, .6);--red: #ff4d4d;--red-hover: #ff3333;--red-dim: rgba(255, 77, 77, .15);--red-dim-border: rgba(255, 77, 77, .3);--green: #40c057;--green-dim: rgba(64, 192, 87, .15);--green-dim-border: rgba(64, 192, 87, .2);--yellow: #fab005;--gray: #6b7280;--avatar-bg-default: #374151;--success: #4ade80;--error: #f87171;--warning: #fbbf24;--success-faded: #86efac;--error-faded: #fca5a5;--error-bg: rgba(248, 113, 113, .12);--success-bg: rgba(74, 222, 128, .12);--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--focus-ring: 0 0 0 2px var(--bg-primary), 0 0 0 3.5px var(--brand)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}html{-webkit-text-size-adjust:100%}a,button,[role=button],[tabindex]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}body{background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;font-size:.875rem;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{left:0;top:0;width:auto;height:auto;overflow:visible;background:var(--brand);color:var(--text-primary);padding:var(--space-3) var(--space-5);z-index:10000;border-radius:0 0 var(--radius-sm) 0;font-weight:600}*{scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}*::-webkit-scrollbar{width:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:3px}*::-webkit-scrollbar-thumb:hover{background-color:var(--bg-hover)}*::-webkit-scrollbar-thumb:active{background-color:var(--text-muted)}:focus-visible{outline:none;box-shadow:var(--focus-ring)}button:focus:not(:focus-visible),[tabindex]:focus:not(:focus-visible),input:focus:not(:focus-visible),textarea:focus:not(:focus-visible),select:focus:not(:focus-visible){outline:none;box-shadow:none}.btn-primary{display:inline-flex;align-items:center;justify-content:center;background:var(--brand);color:var(--text-primary);font-weight:500;font-size:.875rem;padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background .15s ease}.btn-primary:hover{background:var(--brand-hover)}.btn-primary:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;background:var(--bg-tertiary);color:var(--text-secondary);font-weight:500;font-size:.875rem;padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background .15s ease,color .15s ease}.btn-secondary:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-secondary:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-danger{display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:var(--text-primary);font-weight:500;font-size:.875rem;padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background .15s ease}.btn-danger:hover{background:var(--red-hover)}.btn-danger:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg-primary),0 0 0 3.5px var(--red)}.input-field{width:100%;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);color:var(--text-primary);font-size:.875rem;outline:none;transition:border-color .15s ease}.input-field::-moz-placeholder{color:var(--text-muted)}.input-field::placeholder{color:var(--text-muted)}.input-field:focus{border-color:var(--brand)}.avatar{display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-weight:600;color:var(--text-primary);flex-shrink:0;overflow:hidden}.avatar-sm{width:32px;height:32px;font-size:.75rem}.avatar-xs{width:24px;height:24px;font-size:.625rem}.icon-xs{width:14px;height:14px}.icon-sm{width:16px;height:16px}.icon-md{width:20px;height:20px}@media (max-width: 767px){body{font-size:.9375rem;line-height:1.5}.btn-primary,.btn-secondary,.btn-danger{min-height:44px;padding:10px var(--space-5);font-size:1rem}.input-field{min-height:44px;font-size:1rem;padding:10px 14px}body{-webkit-tap-highlight-color:transparent}a,button,[role=button],[tabindex]{touch-action:manipulation}}@media (max-width: 480px){:root{--radius-lg: 12px;--radius-xl: 18px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.app-shell{height:100vh;height:100dvh;width:100vw;display:flex;flex-direction:row;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.app-shell__content{flex:1;display:flex;overflow:hidden;min-width:0}@media (max-width: 767px){.app-shell{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}body input[type=text],body input[type=search],body input[type=email],body input[type=password],body input[type=url],body textarea,body select{font-size:16px}.touch-target{min-height:44px}.chat-layout--mobile,.mobile-tab__body,.mobile-content .sidebar__content,.chat-area__messages,.member-list__body,.welcome,.landing{-webkit-overflow-scrolling:touch}.chat-layout--mobile{overscroll-behavior:contain}.sidebar__channel,.member-list__member,.msg-bubble__reaction,.server-panel__icon,.welcome__server-item,.quick-switcher__item{-moz-user-select:none;user-select:none;-webkit-user-select:none}}
