:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#eef5ec;background:#0b0e0b;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 50% -10%,#263423 0,#101510 38%,#090b09 78%)}button,input,select{font:inherit}.shell{width:min(1050px,calc(100% - 32px));margin:0 auto;min-height:100vh;display:grid;place-items:center;padding:32px 0}.card{background:#161b15e6;border:1px solid #303a2e;border-radius:24px;box-shadow:0 30px 80px #00000059}.hidden{display:none!important}.login-card{width:min(420px,100%);padding:38px}.brand-mark{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:#a7ef62;color:#13200b;font-weight:900;font-size:25px}.eyebrow{margin:22px 0 6px;color:#91a38c;font-size:12px;letter-spacing:.16em;font-weight:800}h1,h2,p{margin-top:0}h1{margin-bottom:6px}.muted{color:#96a092}form,.controls{display:grid;gap:16px;margin-top:26px}label{display:grid;gap:8px;color:#b8c2b5;font-size:13px;font-weight:650}input,select{width:100%;color:#edf4eb;background:#0d110d;border:1px solid #364034;border-radius:11px;padding:12px;outline:none}input:focus,select:focus{border-color:#9ee85c;box-shadow:0 0 0 3px #9ee85c1f}button{border:0;cursor:pointer}.primary{padding:13px;border-radius:12px;color:#112009;background:#a7ef62;font-weight:850}.error{min-height:20px;margin:0;color:#ff8d8d;font-size:13px}.radio{width:100%}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}header .eyebrow{margin-top:0}.pill{border-radius:999px;padding:9px 13px;font-size:11px;font-weight:900;letter-spacing:.1em;border:1px solid}.pill.connected{color:#a7ef62;border-color:#48752d;background:#192414}.pill.disconnected{color:#ff9a96;border-color:#733b38;background:#281817}.layout{display:grid;grid-template-columns:280px 1fr;gap:20px}.participants-card{padding:20px}.section-title{display:flex;justify-content:space-between;font-size:13px;color:#99a695;font-weight:800;text-transform:uppercase;letter-spacing:.08em}#participants{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:8px}#participants li{display:flex;gap:10px;align-items:center;padding:11px;background:#101510;border-radius:12px}#participants li:has(.participant-meta small[data-speaking=true]){background:#1a2715;box-shadow:inset 0 0 0 1px #4f7838}.avatar{width:32px;height:32px;border-radius:10px;background:#293526;display:grid;place-items:center;color:#a7ef62;font-weight:850}.participant-meta{display:grid;gap:2px}.participant-meta small{color:#82907e}.participant-meta small[data-speaking=true]{color:#a7ef62;font-weight:800}.radio-card{padding:30px;text-align:center}.speaker-zone{min-height:145px;display:grid;align-content:center}.speaker-zone .eyebrow{margin:0 0 8px}.speaker-zone h2{margin-bottom:4px}.timer{font-variant-numeric:tabular-nums;color:#8d9b89;font-size:24px}.timer.warning{color:#ffbd59}.ptt{width:min(280px,75vw);aspect-ratio:1;border-radius:50%;margin:8px auto;color:#14200d;background:linear-gradient(145deg,#b8f775,#7fcf3f);box-shadow:0 0 0 10px #182018,0 22px 55px #62be2a40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;touch-action:none;-webkit-user-select:none;user-select:none;transition:transform .12s,filter .12s}.ptt:disabled{cursor:not-allowed;filter:grayscale(.8) brightness(.55)}.ptt.active{transform:scale(.96);background:linear-gradient(145deg,#ff8f7d,#e94f42);box-shadow:0 0 0 10px #2b1715,0 22px 60px #e2413240}.ptt.requesting{filter:saturate(.5)}.ptt .mic{font-size:38px}.ptt strong{font-size:18px;letter-spacing:.05em}.ptt small{opacity:.7}.busy-message{min-height:24px;color:#ffbd59;margin:20px 0 0}.controls{text-align:left;grid-template-columns:1fr 1fr;border-top:1px solid #303a2e;padding-top:24px}.meter{grid-column:1 / -1;height:7px;overflow:hidden;border-radius:99px;background:#0b0f0b}.meter span{display:block;width:0;height:100%;background:#a7ef62;transition:width 60ms linear}.toggle{grid-column:1 / -1;display:flex;align-items:center;gap:10px}.toggle input{width:auto}@media(max-width:760px){.shell{width:min(100% - 20px,560px);padding:18px 0}.layout{grid-template-columns:1fr}.participants-card{order:2}.radio-card{padding:22px 14px}.controls{grid-template-columns:1fr}.meter,.toggle{grid-column:1}}
