@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--bg: #fafafa;--bg-raised: #f5f5f6;--surface: #ffffff;--surface2: #f0f0f2;--card: #ffffff;--card-hover: #f8f8fa;--border: #e4e4e7;--border2: #d4d4d8;--accent: #4f6ce5;--accent-h: #3f5cd4;--accent-soft: #eef2ff;--accent-text: #4f6ce5;--green: #16a34a;--green-soft: #f0fdf4;--yellow: #ca8a04;--yellow-soft: #fefce8;--orange: #ea580c;--orange-soft: #fff7ed;--red: #dc2626;--red-soft: #fef2f2;--text: #18181b;--text2: #52525b;--text3: #a1a1aa;--text4: #d4d4d8;--btn: #f4f4f5;--btn-h: #e4e4e7;--btn-text: #3f3f46}[data-theme=dark]{--bg: #09090b;--bg-raised: #131316;--surface: #18181b;--surface2: #1e1e22;--card: #18181b;--card-hover: #1e1e23;--border: #27272a;--border2: #3f3f46;--accent: #6d8cff;--accent-h: #5a79f0;--accent-soft: #1a2340;--accent-text: #93adff;--green: #4ade80;--green-soft: #0f2a1c;--yellow: #facc15;--yellow-soft: #2a2410;--orange: #fb923c;--orange-soft: #2a1c10;--red: #f87171;--red-soft: #2a1215;--text: #fafafa;--text2: #a1a1aa;--text3: #71717a;--text4: #3f3f46;--btn: #27272a;--btn-h: #3f3f46;--btn-text: #d4d4d8}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;min-height:100vh;overflow:hidden}#root{height:100vh;display:flex;flex-direction:column}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}.app{display:flex;flex-direction:column;height:100vh}.topbar{display:flex;align-items:center;height:48px;padding:0 20px;background:var(--bg-raised);border-bottom:1px solid var(--border);flex-shrink:0;gap:8px}.topbar-title{font-size:13px;font-weight:700;color:var(--text)}.topbar-sep{color:var(--text4);font-size:14px}.topbar-status{font-size:12px;color:var(--text3)}.topbar-status.online{color:var(--green)}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:12px}.topbar-metric{font-size:11px;color:var(--text3);display:flex;align-items:center;gap:4px}.topbar-metric .dot{width:6px;height:6px;border-radius:50%}.topbar-btn{background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600;color:var(--text3);transition:all .15s}.topbar-btn:hover{background:var(--surface2);color:var(--text2)}.topbar-btn.server-connected{color:var(--green)}.topbar-btn.server-disconnected{color:var(--text4);opacity:.6}.body{display:flex;flex:1;overflow:hidden}.sidebar{width:220px;flex-shrink:0;background:var(--bg-raised);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;padding-bottom:12px}.sidebar-section{padding:14px 14px 6px}.sidebar-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text3);margin-bottom:6px}.sidebar-btn{display:flex;align-items:center;gap:8px;width:100%;padding:7px 12px;border:none;border-radius:8px;cursor:pointer;font-size:12px;color:var(--text2);background:transparent;transition:all .12s;text-align:left;font-family:inherit}.sidebar-btn:hover{background:var(--surface2)}.sidebar-btn.accent{background:var(--accent);color:#fff;font-weight:600}.sidebar-btn.accent:hover{background:var(--accent-h)}.sidebar-btn.disabled{opacity:.5;pointer-events:none}.filter-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:6px 12px;border:none;border-radius:6px;cursor:pointer;font-size:12px;color:var(--text2);background:transparent;transition:all .12s;font-family:inherit}.filter-btn:hover{background:var(--surface2)}.filter-btn.active{background:var(--accent-soft);color:var(--accent-text);font-weight:600}.filter-count{font-size:10px;font-weight:600;color:var(--text3);background:var(--surface2);padding:1px 6px;border-radius:10px;min-width:20px;text-align:center}.filter-btn.active .filter-count{background:var(--accent);color:#fff}.select-row{display:flex;align-items:center;gap:8px;padding:4px 0}.select-row input[type=checkbox]{accent-color:var(--accent);width:14px;height:14px;cursor:pointer}.select-row label{font-size:11px;color:var(--text3);cursor:pointer}.sel-count{font-size:10px;color:var(--accent-text);margin-top:2px}.proxy-health{display:flex;gap:8px;flex-wrap:wrap}.ph-badge{font-size:9px;font-weight:600;display:flex;align-items:center;gap:3px}.ph-badge .dot{width:6px;height:6px;border-radius:50%;display:inline-block}.sidebar-bottom{margin-top:auto;padding:10px 14px;font-size:10px;color:var(--text4)}.sidebar-bottom.video-banner{display:flex;align-items:center;gap:8px;padding:12px 14px;background:var(--surface2);border-radius:10px;margin:8px 10px 10px;font-size:12px;font-weight:600;color:var(--text2)}.video-banner .video-count{font-size:20px;font-weight:800;color:var(--accent);line-height:1}.media-refresh-btn{margin-left:auto;background:none;border:1px solid var(--border);border-radius:6px;color:var(--text3);cursor:pointer;padding:3px 6px;display:inline-flex;align-items:center;transition:color .15s,border-color .15s}.media-refresh-btn:hover{color:var(--accent);border-color:var(--accent)}.log-stop-btn{display:inline-flex;align-items:center;gap:3px;font-size:9px;font-weight:600;color:var(--red);background:none;border:1px solid var(--red);border-radius:4px;cursor:pointer;padding:1px 8px;transition:all .15s}.log-stop-btn:hover{background:var(--red-soft)}.op-row{display:flex;align-items:center;gap:2px;width:100%}.op-row .sidebar-btn{flex:1;min-width:0}.op-help-btn{flex-shrink:0;width:20px;height:20px;border:none;border-radius:4px;background:none;color:var(--text4);cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;position:relative;transition:color .15s}.op-help-btn:hover{color:var(--accent)}.op-tooltip-fixed{position:fixed;transform:translateY(-50%);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:11px;color:var(--text2);white-space:pre-line;width:240px;z-index:9999;box-shadow:0 4px 12px #00000026;line-height:1.5;text-align:left;pointer-events:none}.op-stop-btn{flex-shrink:0;width:20px;height:20px;border:none;border-radius:4px;background:none;color:var(--red);cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:background .15s}.op-stop-btn:hover{background:var(--red-soft)}.profile-actions-group{display:flex;flex-direction:column;gap:2px}.profile-sub-actions{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:4px 0 2px}.sidebar-btn.mini{font-size:10px;padding:5px 8px;gap:4px;background:var(--surface2);color:var(--text2);border-radius:6px}.sidebar-btn.mini:hover{background:var(--btn-h)}.sep{height:1px;background:var(--border);margin:4px 14px}.main{flex:1;display:flex;flex-direction:column;overflow:hidden}.main-header{display:flex;align-items:center;gap:12px;padding:16px 24px 8px;flex-shrink:0}.main-header h2{font-size:16px;font-weight:700}.main-header .count{font-size:12px;color:var(--text3)}.sort-toggle{margin-left:auto;font-size:10px;color:var(--text3);background:var(--surface2);border:none;border-radius:4px;cursor:pointer;padding:3px 8px;font-family:inherit;transition:all .12s}.sort-toggle:hover{background:var(--btn-h);color:var(--text2)}.card-grid-wrapper{flex:1;overflow-y:auto;padding:8px 16px 16px}.card-row{display:flex;align-items:stretch;gap:0;margin-bottom:10px}.row-checkbox{display:flex;align-items:center;justify-content:center;width:24px;min-width:24px;cursor:pointer;opacity:.45;transition:opacity .15s}.row-checkbox:hover{opacity:1}.row-checkbox input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px;cursor:pointer}.card-row-grid{flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;align-content:start}.card-grid{flex:1;overflow-y:auto;padding:8px 16px 16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;align-content:start}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px;transition:border-color .12s,box-shadow .12s;display:flex;flex-direction:column;gap:8px}.card:hover{border-color:var(--border2);box-shadow:0 2px 8px #0000000a}.card-top{display:flex;align-items:center;gap:8px}.card-top input[type=checkbox]{accent-color:var(--accent);width:14px;height:14px;flex-shrink:0;cursor:pointer}.card-username{font-size:13px;font-weight:700;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-username.online{color:var(--green)}.card-username.inactive{color:var(--text3)}.status-pill{font-size:9px;font-weight:600;padding:2px 8px;border-radius:10px;background:var(--surface2);color:var(--text2);white-space:nowrap;display:flex;align-items:center;gap:4px}.status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.card-info{display:flex;flex-direction:column;gap:2px}.info-row{display:flex;align-items:center;gap:6px;font-size:11px}.info-label{color:var(--text4);width:38px;flex-shrink:0;font-size:10px}.info-value{color:var(--text2);font-family:Consolas,monospace;font-size:10px}.info-value.error{color:var(--red)}.info-value.warn{color:var(--orange)}.card-dates{font-size:9px;color:var(--text3);display:flex;gap:4px;flex-wrap:wrap}.card-dates span{white-space:nowrap}.card-actions{display:flex;gap:4px;margin-top:2px;flex-wrap:wrap}.card-btn{padding:4px 10px;border:none;border-radius:6px;cursor:pointer;font-size:10px;font-family:inherit;font-weight:500;background:var(--btn);color:var(--btn-text);transition:all .12s}.card-btn:hover{background:var(--btn-h)}.card-btn.green{background:var(--green-soft);color:var(--green)}.card-btn.delete{margin-left:auto;background:transparent;color:var(--text4)}.card-btn.delete:hover{background:var(--red-soft);color:var(--red)}.card-btn.challenge-card-btn{background:var(--orange-soft);color:var(--orange);font-weight:600}.card-btn.challenge-card-btn:hover{filter:brightness(.95)}.card-progress{height:3px;background:var(--surface2);border-radius:2px;overflow:hidden}.card-progress-bar{height:100%;background:var(--accent);border-radius:2px;animation:progress-indeterminate 1.5s infinite ease-in-out}@keyframes progress-indeterminate{0%{width:0%;margin-left:0}50%{width:40%;margin-left:30%}to{width:0%;margin-left:100%}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:8px;color:var(--text3)}.empty-state h3{font-size:15px;font-weight:600}.empty-state p{font-size:12px;color:var(--text4)}.log-panel{height:140px;flex-shrink:0;background:var(--bg-raised);border-top:1px solid var(--border);display:flex;flex-direction:column}.log-header{display:flex;align-items:center;justify-content:space-between;padding:6px 16px 0;flex-shrink:0}.log-header span{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text3)}.log-header-right{display:flex;align-items:center;gap:8px}.log-clear{font-size:9px;color:var(--text4);background:none;border:none;cursor:pointer;padding:2px 6px;border-radius:4px}.log-clear:hover{background:var(--surface2)}.log-content{flex:1;overflow-y:auto;padding:4px 14px 10px;font-family:Consolas,Courier New,monospace;font-size:11px;color:var(--text3);line-height:1.6}.log-line{white-space:pre-wrap;word-break:break-all}.log-line.success{color:var(--green)}.log-line.error{color:var(--red)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:50;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:520px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #00000026;padding:24px 28px}.modal h2{font-size:16px;font-weight:700;margin-bottom:16px}.modal label{font-size:11px;color:var(--text3);display:block;margin-bottom:4px}.modal input,.modal textarea{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-family:Consolas,monospace;font-size:12px;outline:none;transition:border-color .15s}.modal input:focus,.modal textarea:focus{border-color:var(--accent)}.modal textarea{resize:vertical;min-height:100px;line-height:1.5}.modal .hint{font-size:10px;color:var(--text4);margin-bottom:12px}.modal .field{margin-bottom:12px}.modal-actions{display:flex;gap:8px;margin-top:20px}.modal-btn{flex:1;padding:10px;border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;font-family:inherit;transition:all .12s}.modal-btn.primary{background:var(--accent);color:#fff}.modal-btn.primary:hover{background:var(--accent-h)}.modal-btn.secondary{background:var(--btn);color:var(--btn-text)}.modal-btn.secondary:hover{background:var(--btn-h)}.modal-btn:disabled{opacity:.4;cursor:not-allowed}.views-label{color:var(--accent)!important;font-weight:700}.views-value{color:var(--accent);font-weight:600}.sidebar-btn.challenge-btn{background:var(--orange);color:#fff;font-weight:700;animation:pulse-challenge 1.5s ease-in-out infinite}@keyframes pulse-challenge{0%,to{opacity:1}50%{opacity:.7}}.import-modal{width:720px;max-width:95vw}.import-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:12px}.import-col label{font-size:11px;color:var(--text3);margin-bottom:4px;display:block}.import-col textarea{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-family:Consolas,monospace;font-size:12px;outline:none;resize:vertical;min-height:100px;line-height:1.5;transition:border-color .15s}.import-col textarea:focus{border-color:var(--accent)}.import-col .hint{font-size:10px;color:var(--text4);margin-top:4px}.import-preview{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 14px;margin-bottom:12px;max-height:160px;overflow-y:auto}.import-preview-label{font-size:10px;font-weight:600;color:var(--text3);margin-bottom:6px}.import-preview-list{display:flex;flex-direction:column;gap:2px}.import-preview-row{display:flex;align-items:center;gap:8px;font-family:Consolas,monospace;font-size:11px;padding:2px 0}.import-preview-user{color:var(--accent-text);font-weight:600;min-width:120px}.import-preview-arrow{color:var(--text4);font-size:10px}.import-preview-proxy{color:var(--text2)}.import-preview-proxy.none{color:var(--text4);font-style:italic}.faq-modal{width:680px;max-width:95vw}.faq-section{margin-bottom:20px}.faq-section h3{font-size:13px;font-weight:700;color:var(--accent-text);margin-bottom:6px;display:flex;align-items:center;gap:6px}.faq-section p,.faq-section li{font-size:12px;color:var(--text2);line-height:1.7}.faq-section ul{padding-left:18px;margin-top:4px}.faq-section li{margin-bottom:2px}.faq-section code{background:var(--surface2);padding:1px 5px;border-radius:4px;font-size:11px;font-family:Consolas,monospace;color:var(--accent-text)}.login-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#09090b;overflow:hidden}.login-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.login-bg-gradient{position:absolute;width:600px;height:600px;top:50%;left:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(79,108,229,.15) 0%,transparent 70%);filter:blur(40px);animation:login-pulse 6s ease-in-out infinite}@keyframes login-pulse{0%,to{opacity:.6;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}}.login-container{position:relative;z-index:1;width:400px;max-width:90vw;background:#18181b;border:1px solid #27272a;border-radius:20px;padding:40px 36px 32px;box-shadow:0 20px 60px #00000080}.login-header{text-align:center;margin-bottom:32px}.login-logo{display:flex;justify-content:center;margin-bottom:16px}.login-title{font-size:24px;font-weight:800;color:#fafafa;margin:0;letter-spacing:-.5px}.login-subtitle{font-size:13px;color:#71717a;margin:6px 0 0}.login-tabs{display:flex;gap:4px;margin-bottom:20px;background:#131316;border-radius:10px;padding:3px}.login-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 0;border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;font-family:inherit;color:#71717a;background:transparent;transition:all .2s}.login-tab:hover{color:#a1a1aa}.login-tab.active{background:#27272a;color:#fafafa}.login-error{background:#dc26261a;border:1px solid rgba(220,38,38,.3);color:#f87171;padding:10px 14px;border-radius:10px;font-size:12px;margin-bottom:16px;text-align:center}.login-form{display:flex;flex-direction:column;gap:16px}.login-field{display:flex;flex-direction:column;gap:6px}.login-field label{font-size:12px;font-weight:600;color:#a1a1aa}.login-field input{width:100%;padding:11px 14px;border:1px solid #27272a;border-radius:10px;background:#131316;color:#fafafa;font-size:14px;font-family:inherit;outline:none;transition:border-color .2s}.login-field input:focus{border-color:#4f6ce5}.login-field input::placeholder{color:#3f3f46}.login-field input:disabled{opacity:.5}.login-password-wrap{position:relative}.login-password-wrap input{padding-right:44px}.login-eye-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#71717a;padding:8px;display:flex;align-items:center;transition:color .15s}.login-eye-btn:hover{color:#a1a1aa}.login-submit{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:700;font-family:inherit;background:#4f6ce5;color:#fff;transition:all .2s;margin-top:4px}.login-submit:hover{background:#3f5cd4}.login-submit:disabled{opacity:.6;cursor:not-allowed}.login-footer{text-align:center;margin-top:24px;font-size:11px;color:#3f3f46}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.topbar-user{font-weight:600;color:var(--text2)!important}.hamburger-btn{display:none;background:none;border:none;cursor:pointer;color:var(--text2);padding:4px;border-radius:6px;align-items:center;justify-content:center;flex-shrink:0}.hamburger-btn:hover{background:var(--surface2)}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.mobile-select-row{display:none;align-items:center;gap:8px;padding:6px 12px;cursor:pointer;background:var(--surface2);border-bottom:1px solid var(--border)}@media(max-width:768px){.hamburger-btn,.mobile-select-row{display:flex}.topbar{padding:0 12px;gap:6px}.topbar-right{gap:6px}.topbar-metric{display:none}.topbar-metric:last-of-type{display:flex}.topbar-sep,.topbar-status{display:none}.sidebar{position:fixed;left:0;top:48px;bottom:0;width:260px;z-index:100;transform:translate(-100%);transition:transform .25s ease;box-shadow:4px 0 20px #00000026}.sidebar.open{transform:translate(0)}.sidebar-overlay.open{display:block}.main-header{padding:12px 12px 6px}.main-header h2{font-size:14px}.card-grid,.card-row-grid{padding:6px 8px 12px;grid-template-columns:1fr;gap:8px}.card-grid-wrapper{padding:6px 8px 12px}.row-checkbox{width:20px;min-width:20px}.card{padding:10px}.card-username{font-size:12px}.card-actions{gap:3px}.card-btn{padding:3px 8px;font-size:9px}.log-panel{height:100px}.log-content{padding:4px 8px 8px;font-size:10px}.modal{width:95vw;padding:16px 14px;border-radius:12px}.import-modal{width:95vw}.import-grid{grid-template-columns:1fr}.faq-modal{width:95vw}.body>.main>div:first-child{overflow-x:auto;-webkit-overflow-scrolling:touch}.body>.main>div:first-child button{white-space:nowrap;padding:8px 16px;font-size:12px}}@media(max-width:400px){.topbar-title{font-size:11px}.topbar{height:42px;padding:0 8px}.sidebar{top:42px;width:240px}.card-grid{padding:4px 6px 10px}.card{padding:8px}.log-panel{height:80px}}
