*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f0f13;--surface: #1a1a24;--surface-hover: #22222f;--border: #2a2a3a;--text: #e8e8f0;--text-muted: #8888a0;--accent: #6c5ce7;--accent-hover: #7c6ef7;--success: #00b894;--danger: #e17055;--radius: 12px}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh}.app{max-width:720px;margin:0 auto;padding:2rem 1.5rem}.hero{text-align:center;margin-bottom:2.5rem}.logo{font-size:3rem;margin-bottom:.5rem;color:var(--accent)}.hero h1{font-size:2rem;font-weight:700;margin-bottom:.5rem}.subtitle{color:var(--text-muted);font-size:1.05rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1rem}.card h2{font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}label{display:block;font-size:.85rem;color:var(--text-muted);margin-bottom:.4rem}input[type=text],input[type=url]{width:100%;padding:.75rem 1rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:1rem;margin-bottom:1rem;outline:none;transition:border-color .2s}input:focus{border-color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .2s,opacity .2s;width:100%}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){background:var(--accent-hover)}.btn.secondary{background:var(--surface-hover);color:var(--text);border:1px solid var(--border)}.btn.secondary:hover:not(:disabled){background:var(--border)}.btn.ghost{background:transparent;color:var(--text-muted);width:auto;padding:.5rem 1rem}.btn.ghost:hover{color:var(--text)}.divider{display:flex;align-items:center;gap:1rem;margin:1.25rem 0;color:var(--text-muted);font-size:.85rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border)}.error{color:var(--danger);font-size:.9rem;margin-top:.75rem}.hint{color:var(--text-muted);font-size:.85rem;margin-top:.5rem}.steps{margin-top:3rem}.steps h2{font-size:1.1rem;margin-bottom:1rem}.steps ol{padding-left:1.25rem;color:var(--text-muted)}.steps li{margin-bottom:.5rem}.room-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.room-header h1{font-size:1.5rem}.status{font-size:.8rem;padding:.2rem .6rem;border-radius:20px}.status.online{background:#00b89426;color:var(--success)}.status.offline{background:#e1705526;color:var(--danger)}.room-grid{display:grid;gap:1rem}.code-display{font-size:2.5rem;font-weight:700;letter-spacing:.15em;text-align:center;padding:1rem;background:var(--bg);border-radius:8px;margin-bottom:1rem;color:var(--accent)}.btn-row{display:flex;gap:.75rem}.btn-row .btn{flex:1}.members{list-style:none}.members li{display:flex;justify-content:space-between;align-items:center;padding:.6rem 0;border-bottom:1px solid var(--border)}.members li:last-child{border-bottom:none}.members li.me{background:#6c5ce714;margin:0 -.5rem;padding:.6rem .5rem;border-radius:6px}.member-name{display:flex;align-items:center;gap:.5rem}.badge{font-size:.7rem;padding:.15rem .5rem;border-radius:4px;background:var(--accent);color:#fff;font-weight:500}.badge.you{background:var(--border);color:var(--text-muted)}.dot{width:8px;height:8px;border-radius:50%}.dot.online{background:var(--success)}.dot.offline{background:var(--text-muted)}.full-width{grid-column:1 / -1}.input-row{display:flex;gap:.75rem}.input-row input{flex:1;margin-bottom:0}.input-row .btn{width:auto;white-space:nowrap}.current-url{margin-top:.75rem;font-size:.85rem;color:var(--text-muted);word-break:break-all}.current-url a{color:var(--accent)}.video-link{display:block;padding:.75rem 1rem;background:var(--bg);border-radius:8px;color:var(--accent);word-break:break-all;text-decoration:none}.video-link:hover{text-decoration:underline}.playback-status{display:flex;align-items:center;gap:1.5rem;padding:1rem;background:var(--bg);border-radius:8px}.play-indicator{font-weight:600}.play-indicator.playing{color:var(--success)}.play-indicator.paused{color:var(--text-muted)}.time{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums}@media(min-width:600px){.room-grid{grid-template-columns:1fr 1fr}}
