:root,[data-theme=light]{--bg-primary:#f8f9fc;--bg-secondary:#fff;--bg-tertiary:#f1f3f9;--bg-hover:#edf0f7;--bg-card:#fff;--bg-card-live:linear-gradient(135deg,#f0fdf4 0%,#f8f9fc 100%);--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#94a3b8;--text-inverse:#fff;--border-color:#e2e8f0;--border-hover:#cbd5e1;--accent:#6366f1;--accent-hover:#4f46e5;--accent-light:#eef2ff;--accent-text:#fff;--live-color:#22c55e;--live-bg:#f0fdf4;--live-glow:#22c55e4d;--offline-color:#94a3b8;--replay-color:#f59e0b;--error-color:#ef4444;--error-bg:#fef2f2;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 4px 12px #0000000f;--shadow-lg:0 8px 24px #00000014;--shadow-card:0 1px 3px #0000000a,0 1px 2px #00000005;--shadow-card-hover:0 8px 24px #00000014,0 2px 8px #0000000a;--overlay:#0006;--dialog-bg:#fff;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-full:9999px;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--transition:.2s cubic-bezier(.4,0,.2,1)}[data-theme=dark]{--bg-primary:#0b0d14;--bg-secondary:#12141d;--bg-tertiary:#1a1d2e;--bg-hover:#1f2337;--bg-card:#151827;--bg-card-live:linear-gradient(135deg,#0a1a12 0%,#151827 100%);--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-tertiary:#64748b;--text-inverse:#0f172a;--border-color:#1e2235;--border-hover:#2d3348;--accent:#818cf8;--accent-hover:#6366f1;--accent-light:#1e1b4b;--accent-text:#0f172a;--live-color:#4ade80;--live-bg:#0a1a12;--live-glow:#4ade8040;--offline-color:#64748b;--replay-color:#fbbf24;--error-color:#f87171;--error-bg:#1a0a0a;--shadow-sm:0 1px 2px #0003;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 8px 24px #0006;--shadow-card:0 1px 3px #0003,0 0 0 1px var(--border-color);--shadow-card-hover:0 8px 24px #0000004d,0 0 0 1px var(--border-hover);--overlay:#0009;--dialog-bg:#1a1d2e}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5;overflow-x:hidden}body{background:var(--bg-primary);color:var(--text-primary);min-height:100vh;transition:background var(--transition),color var(--transition);overflow-x:hidden}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-ring{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(2.2)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.spin{animation:1s linear infinite spin}.header{z-index:100;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background var(--transition),border-color var(--transition);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;max-width:1280px;height:64px;margin:0 auto;padding:0 24px;display:flex}.header-brand{align-items:center;gap:10px;display:flex}.header-logo-icon{color:var(--accent)}.header-title{letter-spacing:-.025em;color:var(--text-primary);font-size:1.2rem;font-weight:700}.header-actions{align-items:center;gap:6px;display:flex}.btn-icon{width:36px;height:36px;color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.btn-icon--sm{width:28px;height:28px}.btn-icon--danger:hover{background:var(--error-bg);color:var(--error-color)}.btn-primary{background:var(--accent);color:var(--accent-text);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);white-space:nowrap;border:none;align-items:center;gap:6px;padding:8px 16px;font-size:.875rem;font-weight:600;display:inline-flex}.btn-primary:hover{background:var(--accent-hover);box-shadow:0 2px 8px #6366f14d}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-primary--sm{padding:6px 12px}.btn-secondary{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);align-items:center;gap:6px;padding:8px 16px;font-size:.875rem;font-weight:500;display:inline-flex}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-hover)}.btn-block{justify-content:center;width:100%}.status-bar{background:var(--accent-light);justify-content:center;align-items:center;height:32px;display:flex;position:relative;overflow:hidden}.status-bar__progress{background:var(--accent);opacity:.15;height:100%;transition:width .3s;position:absolute;top:0;left:0}.status-bar__text{color:var(--accent);font-size:.8rem;font-weight:500;position:relative}.filter-bar{justify-content:space-between;align-items:center;gap:12px;max-width:1280px;margin:0 auto;padding:16px 24px;display:flex}.filter-tabs{scrollbar-width:none;-ms-overflow-style:none;align-items:center;gap:4px;display:flex;overflow-x:auto}.filter-tabs::-webkit-scrollbar{display:none}.filter-tab{background:var(--bg-tertiary);color:var(--text-secondary);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition);white-space:nowrap;border:none;align-items:center;gap:6px;padding:6px 14px;font-size:.85rem;font-weight:500;display:inline-flex}.filter-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.filter-tab--active{background:var(--accent-light);color:var(--accent)}.filter-tab__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.filter-tab__badge{background:var(--accent);min-width:18px;height:18px;color:var(--accent-text);border-radius:var(--radius-full);justify-content:center;align-items:center;padding:0 5px;font-size:.6rem;font-weight:700;display:inline-flex}.main-content{flex:1}.streamer-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;max-width:1280px;margin:0 auto;padding:0 24px 32px;animation:.3s fadeIn;display:grid}.streamer-card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:all var(--transition);text-align:left;flex-direction:row;align-items:center;gap:16px;padding:16px;animation:.3s fadeIn;display:flex;position:relative}.streamer-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.streamer-card--live{background:var(--bg-card-live)}.streamer-card--live:hover{box-shadow:var(--shadow-card-hover),0 0 0 1px var(--live-color)}.streamer-card__avatar-wrapper{flex-shrink:0;position:relative}.streamer-card__avatar{object-fit:cover;border:2px solid var(--border-color);width:56px;height:56px;transition:border-color var(--transition),box-shadow var(--transition);border-radius:50%}.streamer-card__avatar--placeholder{background:var(--bg-tertiary);color:var(--text-tertiary);justify-content:center;align-items:center;display:flex}.avatar--live{border-color:var(--live-color);box-shadow:0 0 12px var(--live-glow)}.streamer-card__status-dot{border:2px solid var(--bg-card);z-index:2;border-radius:50%;width:14px;height:14px;position:absolute;bottom:2px;right:2px}.streamer-card--live .streamer-card__status-dot{border-color:var(--bg-card-live)}.streamer-card__status-dot.status-live{background:var(--live-color)}.streamer-card__status-dot.status-offline{background:var(--offline-color)}.streamer-card__status-dot.status-replay{background:var(--replay-color)}.streamer-card__status-dot.status-error{background:var(--error-color)}.streamer-card__status-dot.status-unknown{background:var(--text-tertiary)}.pulse-ring{background:var(--live-color);z-index:-1;border-radius:50%;animation:1.5s ease-out infinite pulse-ring;position:absolute;inset:0}.streamer-card__content{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.streamer-card__header{align-items:center;gap:8px;display:flex}.streamer-card__name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:600;overflow:hidden}.streamer-card__platform-badge{color:#fff;border-radius:var(--radius-sm);letter-spacing:.02em;flex-shrink:0;padding:2px 6px;font-size:.65rem;font-weight:600;display:inline-flex}.streamer-card__title{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;height:1.2rem;font-size:.8rem;line-height:1.2rem;overflow:hidden}.streamer-card__footer{align-items:center;gap:8px;display:flex}.streamer-card__status{font-size:.75rem;font-weight:500}.streamer-card__status.status-live{color:var(--live-color)}.streamer-card__status.status-offline{color:var(--offline-color)}.streamer-card__status.status-replay{color:var(--replay-color)}.streamer-card__status.status-error{color:var(--error-color)}.streamer-card__status.status-unknown{color:var(--text-tertiary)}.streamer-card__group-tag{border-radius:var(--radius-full);padding:2px 8px;font-size:.65rem;font-weight:500;display:inline-flex}.streamer-card__actions{z-index:10;align-items:center;display:flex;position:absolute;top:8px;right:8px}.streamer-card__actions .btn-icon{color:var(--text-tertiary);opacity:.7;transition:all var(--transition)}.streamer-card__actions .btn-icon:hover{color:var(--text-primary);opacity:1;background:var(--bg-hover)}.dropdown-wrapper{position:relative}.dropdown-overlay{z-index:50;position:fixed;inset:0}.dropdown-menu{background:var(--dialog-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);min-width:140px;box-shadow:var(--shadow-lg);z-index:51;margin-top:4px;padding:4px;animation:.15s fadeIn;position:absolute;top:100%;right:0}.dropdown-menu--select{max-height:200px;overflow-y:auto}.dropdown-item{width:100%;color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 12px;font-size:.85rem;display:flex}.dropdown-item:hover{background:var(--bg-hover)}.dropdown-item--active{background:var(--accent-light);color:var(--accent)}.dropdown-item--danger:hover{background:var(--error-bg);color:var(--error-color)}.dialog-overlay{z-index:200;background:var(--overlay);justify-content:center;align-items:center;padding:16px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.dialog{background:var(--dialog-bg);border-radius:var(--radius-xl);width:100%;max-width:480px;max-height:85vh;box-shadow:var(--shadow-lg);flex-direction:column;animation:.25s slideUp;display:flex;overflow:hidden}.dialog-header{justify-content:space-between;align-items:center;padding:20px 24px 0;display:flex}.dialog-header h2{font-size:1.1rem;font-weight:700}.dialog-body{flex-direction:column;gap:20px;padding:20px 24px;display:flex;overflow-y:auto}.dialog-footer{border-top:1px solid var(--border-color);justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-label{color:var(--text-primary);align-items:center;gap:6px;font-size:.85rem;font-weight:600;display:flex}.form-hint{color:var(--text-tertiary);font-size:.8rem}.form-error{color:var(--error-color);align-items:center;gap:6px;font-size:.8rem;display:flex}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-tertiary);pointer-events:none;position:absolute;left:12px}.input{border:1px solid var(--border-color);background:var(--bg-tertiary);width:100%;height:40px;color:var(--text-primary);border-radius:var(--radius-md);transition:all var(--transition);font-size:.875rem;font-family:var(--font-sans);outline:none;padding:0 12px}.input-wrapper .input{padding-left:36px;padding-right:36px}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f126}.input:disabled{opacity:.6;cursor:not-allowed}.input--inline{height:32px;font-size:.85rem}.input-status{position:absolute;right:12px}.input-status--ok{color:var(--live-color)}.parse-result{background:var(--bg-tertiary);border-radius:var(--radius-md);align-items:center;gap:8px;padding:8px 12px;display:flex}.parse-result__platform{color:#fff;border-radius:var(--radius-sm);padding:2px 8px;font-size:.7rem;font-weight:600}.parse-result__room{color:var(--text-secondary);font-size:.85rem}.select-wrapper{position:relative}.select-trigger{border:1px solid var(--border-color);background:var(--bg-tertiary);width:100%;height:40px;color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);align-items:center;gap:8px;padding:0 12px;font-size:.875rem;display:flex}.select-trigger:hover{border-color:var(--border-hover)}.select-trigger svg:last-child{color:var(--text-tertiary);margin-left:auto}.select-placeholder{color:var(--text-tertiary)}.radio-group{flex-direction:column;gap:8px;display:flex}.radio-option{border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.radio-option:hover{border-color:var(--accent);background:var(--accent-light)}.radio-option:has(input:checked){border-color:var(--accent);background:var(--accent-light)}.radio-option input[type=radio]{accent-color:var(--accent);margin-top:3px}.radio-option__content{flex-direction:column;gap:2px;display:flex}.radio-option__label{color:var(--text-primary);font-size:.875rem;font-weight:600}.radio-option__desc{color:var(--text-tertiary);font-size:.775rem}.select-grid{flex-wrap:wrap;gap:6px;display:flex}.select-chip{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition);padding:6px 14px;font-size:.825rem;font-weight:500}.select-chip:hover{border-color:var(--accent);color:var(--accent)}.select-chip--active{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.group-add-row{gap:8px;display:flex}.group-add-row .input{flex:1}.color-picker{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.color-picker--inline{gap:3px;margin-top:0}.color-swatch{cursor:pointer;width:24px;height:24px;transition:all var(--transition);border:2px solid #0000;border-radius:50%}.color-swatch:hover{transform:scale(1.15)}.color-swatch--active{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-secondary)}.color-swatch--sm{width:16px;height:16px}.group-list{flex-direction:column;gap:6px;display:flex}.group-item{background:var(--bg-tertiary);border-radius:var(--radius-md);transition:background var(--transition);align-items:center;gap:10px;padding:10px 12px;display:flex}.group-item:hover{background:var(--bg-hover)}.group-item__dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.group-item__name{cursor:default;flex:1;font-size:.875rem;font-weight:500}.group-item__actions{align-items:center;gap:6px;display:flex}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:80px 24px;animation:.4s fadeIn;display:flex}.empty-state__icon{background:var(--bg-tertiary);width:80px;height:80px;color:var(--text-tertiary);border-radius:50%;justify-content:center;align-items:center;margin-bottom:20px;display:flex}.empty-state__title{color:var(--text-primary);margin-bottom:8px;font-size:1.25rem;font-weight:700}.empty-state__desc{color:var(--text-secondary);max-width:360px;margin-bottom:24px;font-size:.9rem;line-height:1.6}.footer-info{text-align:center;color:var(--text-tertiary);padding:16px 24px 24px;font-size:.775rem}.loading-screen{min-height:100vh;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.loading-spinner{border:3px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@media (max-width:768px){.header-inner{padding:0 16px}.header-title{font-size:1rem}.btn-primary span{display:none}.filter-bar{padding:12px 16px}.streamer-grid{grid-template-columns:repeat(2,1fr);gap:12px;padding:0 16px 24px}.streamer-card{padding:16px}.streamer-card__avatar{width:52px;height:52px}.streamer-card__actions{opacity:1}.dialog{border-radius:var(--radius-lg);max-width:100%}.empty-state{padding:48px 16px}}@media (max-width:480px){.streamer-grid{grid-template-columns:repeat(1,1fr);gap:10px}}
