:root{color-scheme:dark;--bg:#0c1b19;--card:#142b27;--line:#2a4640;--text:#edf5f1;--muted:#afc4b1;--accent:#8bd9b4;--danger:#ffb2b2}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#214639 0,transparent 55%),var(--bg);color:var(--text);font:16px/1.7 system-ui,"Segoe UI",sans-serif;min-height:100dvh}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:12px;padding:10px 18px;background:#233e36;color:var(--text);transition:background .15s}button:hover{background:#355b4d;color:white}button:disabled{opacity:.5;cursor:wait}button.primary{background:var(--accent);color:#113327;border-color:var(--accent);font-weight:700}button.primary:hover{background:#b0ebcc;color:#113327}.danger{color:var(--danger);background:#3a2428}.danger:hover{background:#60343b}.subtle{padding:5px 12px;background:transparent}a{color:inherit;text-decoration:none}.top{display:flex;align-items:center;gap:16px;padding:20px clamp(16px,4vw,60px);border-bottom:1px solid var(--line);flex-wrap:wrap}.top>a{font-size:20px;font-weight:800}.top small{display:block;color:var(--muted);font-size:12px;font-weight:400}#account{margin-inline-start:auto;display:flex;align-items:center;gap:12px}[hidden]{display:none!important}.tag{display:inline-flex;align-items:center;border:1px solid #43614e;border-radius:30px;font-size:12px;color:#c9e6d3;padding:4px 12px;background:#234334}main{max-width:1440px;padding:30px clamp(16px,4vw,60px);margin:auto;min-height:76dvh}.card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 16px 45px #0002}.login{max-width:560px;margin:5vh auto}.eyebrow{font-size:13px;color:var(--accent)}h1{font-size:clamp(28px,4vw,42px);margin:8px 0}h2{margin:8px 0;font-size:24px}p{color:var(--muted);margin:10px 0 22px}.hint{font-size:13px;color:var(--muted);margin-top:20px}label{display:grid;gap:7px;color:#d2e1d6}input,select{width:100%;border:1px solid #52705d;border-radius:12px;background:#0e211c;color:var(--text);padding:12px;margin-bottom:14px;min-height:48px}input:focus,select:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}#loginForm>.primary{width:100%}.heading,.room-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.heading{margin-bottom:24px}.heading p{margin-bottom:0}#createForm{display:flex;align-items:end;gap:16px;margin-bottom:24px}#createForm label{flex:1}#createForm input{margin:0}.room-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px}.room-list article{display:flex;flex-direction:column;align-items:start;gap:14px}.room-list article h2{font-size:20px}.room-list article button{margin-top:auto}.room-bar{margin-bottom:16px}.actions{display:flex;gap:10px;flex-wrap:wrap}.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px}.tile{position:relative;border-radius:18px;overflow:hidden;background:#07110f;border:1px solid var(--line);align-self:start}.tile video{display:block;width:100%;aspect-ratio:16/10;object-fit:contain;background:#07110f}.tile .caption{position:absolute;bottom:12px;right:12px;padding:5px 12px;border-radius:10px;background:#000b;color:white;font-size:14px;max-width:90%;overflow-wrap:anywhere}.tile button{position:absolute;left:12px;top:12px}.controls{display:flex;gap:12px;justify-content:center;margin-top:20px;position:sticky;bottom:12px;padding:14px;flex-wrap:wrap;box-shadow:0 8px 30px #0006}.error{padding:16px;border:1px solid #b76d74;background:#42282d;color:#ffe0e0;border-radius:12px}.notice{color:var(--accent)}footer{text-align:center;color:var(--muted);font-size:12px;padding:24px}@media(max-width:600px){.top{padding:12px 16px;gap:10px}.top>a{font-size:17px}.top>.tag{font-size:10px}#account{width:100%;justify-content:space-between}main{padding:22px 14px}.card{padding:18px;border-radius:18px}.login{margin:2vh auto}#createForm{align-items:stretch;flex-direction:column}.actions{width:100%}.actions button{flex:1}.controls{gap:8px}.controls button{padding:9px 12px;font-size:14px}}
:root .peer-status{position:absolute;top:12px;right:12px;max-width:90%;padding:4px 10px;border-radius:8px;background:#000b;color:#def2e2;font-size:12px;pointer-events:none}.tile audio{display:none}
