/* mooz.globestar.nl: Globestar look (dark navy, accent #3b82f6, glass panels). No inline styles anywhere. */
:root { --bg:#0b1a33; --bg2:#132c4d; --panel:rgba(15,23,42,.78); --line:rgba(96,165,250,.2); --txt:#e2e8f0;
        --mut:#94a3b8; --acc:#3b82f6; --acc2:#6366f1; --red:#e5484d; }
* { box-sizing:border-box; }
html, body { margin:0; min-height:100%; background:linear-gradient(180deg,var(--bg2),var(--bg)) fixed; color:var(--txt);
  font:15px/1.5 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; }
body { display:flex; flex-direction:column; min-height:100vh; }
a { color:#60a5fa; } a:hover { color:#93c5fd; }
.sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.nav { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 22px; background:var(--panel);
  border-bottom:1px solid var(--line); backdrop-filter:blur(10px); position:sticky; top:0; z-index:5; flex-wrap:wrap; }
.logo { font-size:22px; font-weight:700; color:#fff; text-decoration:none; letter-spacing:-.3px; }
.logo .acc { color:var(--acc); }
.logo .prod { margin-left:10px; font-size:13px; font-weight:600; color:var(--mut); border:1px solid var(--line); border-radius:999px; padding:2px 9px; vertical-align:middle; }
.nav-right { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.langsel, input, select { background:rgba(20,52,96,.55); color:var(--txt); border:1px solid var(--line); border-radius:10px; padding:8px 11px; font-size:15px; }
input:focus, select:focus { outline:none; border-color:var(--acc); box-shadow:0 0 0 1px var(--acc); }
.who { color:var(--mut); font-size:13px; }
.inline { display:inline; margin:0; }
.main { flex:1; display:flex; flex-direction:column; padding:20px; }
.card { width:100%; max-width:760px; margin:24px auto; padding:26px; background:var(--panel); border:1px solid var(--line); border-radius:16px; }
.card.narrow { max-width:480px; }
.card h1 { margin:0 0 8px; font-size:24px; color:#fff; }
.card h2 { margin:26px 0 10px; font-size:17px; color:#fff; }
.lead { color:#cbd5e1; margin:0 0 16px; }
.small { font-size:13px; margin:12px 0 0; } .muted { color:var(--mut); }
.stack { display:flex; flex-direction:column; gap:9px; }
.row { display:flex; gap:8px; flex-wrap:wrap; } .row input { flex:1; min-width:180px; }
.otp { text-align:center; font-size:22px; letter-spacing:6px; }
button { cursor:pointer; font:inherit; }
.btn { border:0; border-radius:10px; padding:10px 18px; font-weight:600; color:#fff; background:linear-gradient(90deg,var(--acc),var(--acc2)); }
.btn:hover { filter:brightness(1.08); } .btn:disabled { opacity:.55; cursor:default; }
.btn-s { display:inline-block; border:1px solid rgba(148,163,184,.4); border-radius:9px; padding:7px 12px; background:transparent; color:var(--txt); font-size:14px; text-decoration:none; }
.btn-s:hover { border-color:var(--acc); color:#fff; }
.err { margin-top:12px; padding:10px 12px; border-radius:10px; background:rgba(239,68,68,.15); border:1px solid rgba(239,68,68,.45); color:#fecaca; font-size:14px; }
.rooms { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.rooms li { display:flex; gap:8px; align-items:center; flex-wrap:wrap; padding:10px; border:1px solid var(--line); border-radius:12px; }
.rname { font-weight:600; min-width:120px; } .link { flex:1; min-width:200px; font-size:13px; }
.invite { margin-top:18px; } .invite label { display:block; margin-bottom:6px; font-size:14px; color:var(--mut); }
.opts { display:flex; gap:18px; color:#cbd5e1; font-size:14px; }
.status { text-align:center; color:var(--mut); font-size:13px; min-height:1.3em; }
.status.err { color:#fca5a5; background:none; border:0; margin:0; padding:0; }
.room { flex:1; display:flex; flex-direction:column; gap:12px; }
.grid { flex:1; display:grid; gap:10px; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); align-content:start; }
.tile { position:relative; margin:0; background:#000; border-radius:12px; overflow:hidden; aspect-ratio:4/3; border:2px solid transparent; }
.tile.talk { border-color:#3ecf8e; }
.tile video { width:100%; height:100%; object-fit:cover; background:#000; }
.tile.me video { transform:scaleX(-1); }
.tile figcaption { position:absolute; left:8px; bottom:8px; padding:3px 9px; font-size:13px; border-radius:7px; background:rgba(0,0,0,.6); }
.tile .you { color:var(--mut); }
.tile.novideo::after { content:attr(data-novideo); position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:var(--mut); }
.bar { display:flex; gap:10px; justify-content:center; align-items:center; padding:9px; background:var(--panel); border:1px solid var(--line); border-radius:12px; flex-wrap:wrap; }
.ctl { border:0; border-radius:9px; padding:9px 15px; font-weight:600; color:#fff; background:#2a3a50; }
.ctl.off { background:#5a2a2e; } .ctl.leave { background:var(--red); } .ctl:disabled { opacity:.5; }
.count { color:var(--mut); font-size:13px; margin-right:auto; }
.foot { color:var(--mut); font-size:12px; text-align:center; padding:12px; }
[hidden] { display:none !important; }
