.login-root[data-v-66e4431f]{display:flex;justify-content:center;padding:1rem}.login-card[data-v-66e4431f]{width:100%;max-width:480px;background:var(--card, #ffffff);padding:1.25rem 1.5rem;border-radius:12px;box-shadow:0 8px 24px #10182814;border:1px solid rgba(16,24,40,.04)}.login-header[data-v-66e4431f]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.login-title[data-v-66e4431f]{margin:0;font-size:1.125rem;font-weight:600;color:var(--text, #111827)}.login-sub[data-v-66e4431f]{font-size:.85rem;color:#6b7280}.info[data-v-66e4431f]{background:rgba(99,102,241,.08);padding:.5rem .75rem;border-radius:8px;margin-bottom:12px;color:#3730a3}.form-group[data-v-66e4431f]{margin-bottom:.85rem}.form-label[data-v-66e4431f]{display:block;margin-bottom:6px;font-size:.95rem;color:var(--muted, #374151)}.form-control[data-v-66e4431f]{width:100%;padding:.7rem .9rem;border-radius:8px;border:1px solid #e6e7eb;background:var(--input-bg, #fff);transition:box-shadow .12s,border-color .12s;box-sizing:border-box}.form-control[data-v-66e4431f]:focus{outline:none;box-shadow:0 0 0 6px #3b82f60f;border-color:#3b82f6}.form-control.muted[data-v-66e4431f]{background:#f9fafb;color:#6b7280}.form-errors[data-v-66e4431f]{margin-bottom:8px}.error[data-v-66e4431f]{color:#ef4444;font-size:.9rem;margin-top:6px}.small-muted[data-v-66e4431f]{color:#6b7280;font-size:.85rem;margin-top:6px}.divider[data-v-66e4431f]{height:1px;background:rgba(16,24,40,.04);margin:14px 0;border-radius:2px}.form-actions[data-v-66e4431f]{margin-top:8px}.btn-block[data-v-66e4431f]{width:100%;padding:.7rem .9rem;border-radius:8px}.btn[data-v-66e4431f]{font-weight:600}.btn-primary[data-v-66e4431f]{background:#2563eb;color:#fff;border:none}.btn-outline-primary[data-v-66e4431f]{background:transparent;border:1px solid #2563eb;color:#2563eb}.hint[data-v-66e4431f]{margin-top:12px;color:#6b7280;font-size:.9rem}@media (max-width: 420px){.login-card[data-v-66e4431f]{padding:1rem}.login-title[data-v-66e4431f]{font-size:1rem}}.login-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.login-card{width:420px;max-width:95%;background:var(--card, #fff);padding:1rem;border-radius:8px;position:relative}.btn-close{position:absolute;right:8px;top:8px;border:none;background:transparent;font-size:1.25rem}.app-footer{background:#f9fafb;border-top:1px solid #e5e7eb;margin-top:2rem;padding:1.5rem 1rem}.footer-container{max-width:1200px;margin:0 auto}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}.footer-section{display:flex;align-items:center;gap:1rem}.platform-section{flex:1;min-width:280px}.qr-section{flex:0 0 auto}.links-section{flex-direction:column;align-items:flex-end;gap:.25rem}.footer-text{margin:0;color:#6b7280;font-size:.85rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.platform-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:.75rem;font-weight:600;white-space:nowrap}.platform-badge.supported{background:#d1fae5;color:#059669}.platform-badge.developing{background:#fef3c7;color:#d97706}.qr-codes{display:flex;gap:1rem}.qr-item{display:flex;flex-direction:column;align-items:center;gap:.25rem}.qr-placeholder{width:60px;height:60px;border-radius:6px;overflow:hidden;box-shadow:0 1px 2px #00000014}.qr-label{font-size:.7rem;color:#6b7280;font-weight:500}.footer-hint{font-size:.85rem;color:#6b7280;margin:0;white-space:nowrap}.copyright{margin:0;color:#6b7280;font-size:.85rem;white-space:nowrap}.footer-links{margin:0;font-size:.8rem;white-space:nowrap}.footer-links a{color:#3b82f6;text-decoration:none;transition:color .2s}.footer-links a:hover{color:#2563eb;text-decoration:underline}.footer-links .separator,.footer-text .separator{margin:0 .25rem;color:#9ca3af}@media (max-width: 768px){.footer-main{flex-direction:column;align-items:flex-start;gap:1rem}.links-section{align-items:flex-start;width:100%}.platform-section{min-width:auto}.app-footer{padding:1rem}}.streamer-card[data-v-aa0c1042]{width:280px;background:var(--card, #fff);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014;transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column;text-decoration:none;color:inherit}.streamer-card[data-v-aa0c1042]:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001f}.card-thumbnail[data-v-aa0c1042]{position:relative;width:100%;height:160px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);overflow:hidden}.thumb-image[data-v-aa0c1042]{width:100%;height:100%;object-fit:cover}.thumb-placeholder[data-v-aa0c1042]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;font-size:.9rem;font-weight:500}.live-badge[data-v-aa0c1042]{position:absolute;top:10px;right:10px;padding:4px 10px;border-radius:4px;font-weight:700;font-size:.7rem;letter-spacing:.5px;box-shadow:0 2px 4px #0003}.live-badge.live[data-v-aa0c1042]{background:#ff4d4f;color:#fff;animation:pulse-aa0c1042 2s ease-in-out infinite}.live-badge.offline[data-v-aa0c1042]{background:rgba(0,0,0,.6);color:#fff}@keyframes pulse-aa0c1042{0%,to{opacity:1}50%{opacity:.8}}.card-info[data-v-aa0c1042]{padding:12px;display:flex;flex-direction:column;gap:8px;flex:1}.streamer-header[data-v-aa0c1042]{display:flex;align-items:center;gap:8px}.avatar[data-v-aa0c1042]{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid #f0f0f0}.streamer-name[data-v-aa0c1042]{margin:0;font-size:1rem;font-weight:600;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.stream-title[data-v-aa0c1042]{margin:0;font-size:.85rem;color:#4b5563;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.4em}.offline-text[data-v-aa0c1042]{color:#9ca3af;font-style:italic}.card-footer[data-v-aa0c1042]{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:8px;border-top:1px solid #f3f4f6}.meta-info[data-v-aa0c1042]{display:flex;align-items:center;gap:8px;font-size:.75rem;color:#6b7280}.viewer-count[data-v-aa0c1042]{display:flex;align-items:center;gap:4px}.icon[data-v-aa0c1042]{width:14px;height:14px}.platform-tag[data-v-aa0c1042]{display:flex;align-items:center;gap:3px;background:#f3f4f6;padding:2px 6px;border-radius:4px;font-size:.7rem;font-weight:500}.platform-icon[data-v-aa0c1042]{width:12px;height:12px}.watch-btn[data-v-aa0c1042]{padding:4px 12px;background:#3b82f6;color:#fff;border-radius:6px;font-size:.8rem;font-weight:600;text-decoration:none;transition:background .2s ease}.watch-btn:hover[data-v-aa0c1042]{background:#2563eb}.watch-btn:hover .watch-btn[data-v-aa0c1042]:active{transform:scale(.95)}.vod-section[data-v-5311d2a2]{margin-top:2rem}.section-title[data-v-5311d2a2]{font-size:1.25rem;font-weight:600;color:var(--muted, #374151);margin-bottom:1rem}.recording-list[data-v-5311d2a2]{display:block;gap:12px}.recording-card[data-v-5311d2a2]{width:100%;background:#fafafa;padding:10px;border-radius:6px;display:flex;gap:12px;align-items:center;margin-bottom:10px;text-decoration:none;color:inherit}.recording-card[data-v-5311d2a2]:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000014;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease}.rec-title[data-v-5311d2a2]{font-weight:600;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rec-meta[data-v-5311d2a2]{color:#777;font-size:.85rem;display:flex;align-items:center;gap:6px}.platform-tag[data-v-5311d2a2]{display:flex;align-items:center;gap:3px;background:#f3f4f6;padding:2px 6px;border-radius:4px;font-size:.7rem;font-weight:500;color:#6b7280}.platform-icon[data-v-5311d2a2]{width:12px;height:12px}.rec-info[data-v-5311d2a2]{width:100%}.rec-header[data-v-5311d2a2]{display:flex;align-items:center;gap:8px;margin-bottom:6px}.rec-label[data-v-5311d2a2]{font-size:.78rem;color:#6b7280;background:#f3f4f6;padding:2px 6px;border-radius:6px;font-weight:600;text-transform:none}.add-streamer-card[data-v-c590aad0]{width:280px;height:360px;background:var(--card, #fff);border:2px dashed #d1d5db;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;cursor:pointer;transition:all .2s ease;color:#6b7280}.add-streamer-card[data-v-c590aad0]:hover{border-color:#3b82f6;color:#3b82f6;background:#f0f9ff;transform:translateY(-4px);box-shadow:0 8px 16px #3b82f626}.add-icon[data-v-c590aad0]{width:64px;height:64px;border-radius:50%;background:#f3f4f6;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.add-streamer-card:hover .add-icon[data-v-c590aad0]{background:#dbeafe}.add-icon svg[data-v-c590aad0]{width:32px;height:32px}.add-text[data-v-c590aad0]{text-align:center}.add-text h3[data-v-c590aad0]{margin:0;font-size:1.1rem;font-weight:600}.add-text p[data-v-c590aad0]{margin:.25rem 0 0;font-size:.85rem;opacity:.8}.modal-overlay[data-v-8a7469d2]{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-8a7469d2 .2s ease}@keyframes fadeIn-8a7469d2{0%{opacity:0}to{opacity:1}}.modal-card[data-v-8a7469d2]{width:480px;max-width:95%;background:var(--card, #fff);border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideUp-8a7469d2 .3s ease}@keyframes slideUp-8a7469d2{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header[data-v-8a7469d2]{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h3[data-v-8a7469d2]{margin:0;font-size:1.25rem;font-weight:600;color:#1f2937}.close-btn[data-v-8a7469d2]{width:32px;height:32px;border:none;background:transparent;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#6b7280;transition:all .2s ease}.close-btn[data-v-8a7469d2]:hover{background:#f3f4f6;color:#1f2937}.close-btn svg[data-v-8a7469d2]{width:20px;height:20px}.modal-body[data-v-8a7469d2]{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.form-group[data-v-8a7469d2]{display:flex;flex-direction:column;gap:.5rem}.form-group label[data-v-8a7469d2]{font-size:.875rem;font-weight:500;color:#374151}.form-input[data-v-8a7469d2]{padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9375rem;color:#1f2937;transition:all .2s ease;background:var(--card, #fff)}.form-input[data-v-8a7469d2]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-input[data-v-8a7469d2]::placeholder{color:#9ca3af}.input-hint[data-v-8a7469d2]{font-size:.8125rem;color:#6b7280}.modal-footer[data-v-8a7469d2]{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;border-top:1px solid #e5e7eb}.btn[data-v-8a7469d2]{padding:.625rem 1.25rem;border-radius:8px;font-size:.9375rem;font-weight:500;cursor:pointer;border:none;transition:all .2s ease}.btn-secondary[data-v-8a7469d2]{background:#f3f4f6;color:#374151}.btn-secondary[data-v-8a7469d2]:hover{background:#e5e7eb}.btn-primary[data-v-8a7469d2]{background:#3b82f6;color:#fff}.btn-primary[data-v-8a7469d2]:hover{background:#2563eb}.btn-primary[data-v-8a7469d2]:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed}.home-page[data-v-652b5152]{min-height:70vh;display:flex;flex-direction:column}.main-content[data-v-652b5152]{flex:1 1 auto;overflow:auto}.card[data-v-652b5152]{padding-bottom:1rem}.result-item[data-v-652b5152]{display:flex;justify-content:space-between;padding:.75rem;border-radius:8px;margin-bottom:.5rem;text-decoration:none;color:inherit}.login-overlay[data-v-652b5152]{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.login-card[data-v-652b5152]{width:420px;max-width:95%;background:var(--card, #fff);padding:1rem;border-radius:8px;position:relative}.btn-close[data-v-652b5152]{position:absolute;right:8px;top:8px;border:none;background:transparent;font-size:1.25rem}.live-section[data-v-652b5152]{margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;justify-items:center}.subtitle[data-v-652b5152]{font-size:.95rem;color:#6b7280;margin-top:.25rem}.settings-page[data-v-c5659f29]{padding:1rem}.main-content[data-v-c5659f29]{max-width:960px;margin:0 auto}.header-row[data-v-c5659f29]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.header-row h2[data-v-c5659f29]{margin:0}.settings-container[data-v-c5659f29]{display:flex;flex-direction:column;gap:1.5rem}.card[data-v-c5659f29]{background:var(--card, #ffffff);border:1px solid var(--border, rgba(15, 23, 42, .06));border-radius:8px;padding:1.5rem;box-shadow:var(--shadow-sm, 0 1px 6px rgba(16, 24, 40, .06))}.card-title[data-v-c5659f29]{font-size:1.1rem;font-weight:600;margin-bottom:1rem;color:var(--muted, #374151)}.info-grid[data-v-c5659f29]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.info-item[data-v-c5659f29]{display:flex;flex-direction:column;gap:.25rem}.info-label[data-v-c5659f29]{font-size:.875rem;color:var(--muted-2, #6b7280)}.info-value[data-v-c5659f29]{font-size:1rem;color:var(--muted, #374151);word-break:break-word}.user-id[data-v-c5659f29]{font-family:monospace;font-size:.875rem;color:var(--muted-2, #6b7280);background:var(--bg, #f8fafc);padding:.75rem;border-radius:4px;word-break:break-all}.user-id .btn[data-v-c5659f29]{padding:.625rem 1.25rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;border:none;transition:all .2s}.user-id .btn-danger[data-v-c5659f29]{background:#dc2626;color:#fff}.user-id .btn-danger[data-v-c5659f29]:hover{background:#b91c1c}.user-id .btn-ghost[data-v-c5659f29]{background:transparent;color:var(--muted, #374151)}.user-id .btn-ghost[data-v-c5659f29]:hover{background:var(--bg, #f1f5f9)}.empty-state[data-v-c5659f29]{text-align:center;padding:3rem 1rem;color:var(--muted, #888)}:root{--bg: #f8fafc;--card: #ffffff;--muted: #374151;--muted-2: #6b7280;--accent: #2563eb;--accent-hover: #1d4ed8;--border: rgba(15, 23, 42, .06);--shadow-sm: 0 1px 6px rgba(16, 24, 40, .06);--shadow-lg: 0 8px 24px rgba(16, 24, 40, .06)}src/styles */ html,body,#app{height:100%}body{font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif}#app{min-height:100vh;display:flex;flex-direction:column}.navbar{background:var(--card);box-shadow:var(--shadow-sm);padding:1rem 0;position:sticky;top:0;z-index:1000}.navbar-container{max-width:1200px;margin:0 auto;padding:0 1.5rem;display:flex;justify-content:space-between;align-items:center}.brand{font-weight:700;color:var(--accent);font-size:1.25rem;text-decoration:none}.nav-links{display:flex;gap:2rem;list-style:none}.nav-links a{color:var(--muted);text-decoration:none;transition:color .2s}.nav-links a:hover,.nav-links a.active{color:var(--accent)}.btn{padding:.625rem 1.25rem;border-radius:.5rem;border:none;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--muted)}.btn-outline:hover{background:var(--bg)}.btn-sm{padding:.375rem .75rem;font-size:.875rem}.card{background:var(--card);border-radius:12px;padding:1.75rem;box-shadow:var(--shadow-lg);border:1px solid var(--border)}.input{padding:.75rem 1rem;border-radius:.5rem;border:1px solid var(--border);background:#f1f5f9;color:var(--muted);font-size:1rem;width:100%;transition:border-color .2s}.input:focus{outline:none;border-color:var(--accent)}.input-rounded{border-radius:999px;padding:.75rem 1rem}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.text-center{text-align:center}.text-muted{color:var(--muted-2)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}@media (max-width: 768px){.nav-links{gap:1rem}.card{padding:1.25rem}}
