:root{color:#14201b;font-synthesis:none;text-rendering:optimizelegibility;background:#f6f3ec;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.72}.app{place-items:start center;min-height:100vh;padding:28px;transition:background .18s;display:grid}.signal-green{background:linear-gradient(160deg,#e7f8ed 0%,#f8f3e8 50%,#e8f2ff 100%)}.signal-yellow{background:linear-gradient(160deg,#fff1bf 0%,#fff9ea 52%,#e8f2ff 100%)}.signal-red{background:linear-gradient(160deg,#ffd8d1 0%,#fff4e6 52%,#e7f2ee 100%)}.room-shell{gap:18px;width:min(100%,860px);display:grid}.topbar,.session-tools,.mode-tools,.controls{justify-content:space-between;align-items:center;gap:16px;display:flex}.eyebrow{color:#5a6862;letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:.82rem;font-weight:700}h1{letter-spacing:0;margin:0;font-size:4rem;line-height:.95}.tagline{color:#34433d;max-width:430px;margin:10px 0 0;font-size:1rem;font-weight:750}.status{color:#33433c;text-transform:capitalize;background:#ffffffad;border:1px solid #d5d4ca;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-width:140px;padding:10px 14px;font-weight:700;display:inline-flex}.status-disconnected{color:#8d2e25}.signal-panel{grid-template-columns:minmax(260px,.95fr) minmax(260px,1fr);align-items:center;gap:48px;min-height:280px;display:grid}.signal-orb{aspect-ratio:1;border:2px solid #14201b24;border-radius:50%;place-items:center;width:min(100%,380px);transition:background .18s,transform .18s;display:grid;box-shadow:inset 0 -28px 70px #00000014,0 24px 80px #323d3529}.signal-green .signal-orb{background:#4ec777}.signal-yellow .signal-orb{background:#f5c84b}.signal-red .signal-orb{background:#ed6a5e;transform:scale(1.02)}.signal-orb span{color:#13201a;letter-spacing:0;text-align:center;text-wrap:balance;justify-content:center;align-items:center;width:78%;font-size:clamp(2.2rem,4.8vw,4.6rem);font-weight:900;line-height:.9;display:flex}.signal-text{gap:18px;min-width:0;display:grid}.signal-text p{color:#26362f;letter-spacing:0;overflow-wrap:break-word;margin:0;font-size:2.6rem;font-weight:800;line-height:1.08}.participant-count{color:#34433d;background:#ffffffa8;border:1px solid #d5d4ca;border-radius:999px;align-items:center;gap:8px;width:fit-content;padding:10px 14px;font-weight:700;display:inline-flex}.mode-tools{align-items:end;padding:4px 0 0}.mode-copy label{color:#4f5e58;font-size:.88rem;font-weight:800}.mode-copy p{color:#34433d;margin:2px 0 0;font-size:.96rem;font-weight:750}.mode-toggle{background:#ffffffad;border:1px solid #c9c8bd;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:min(100%,520px);padding:4px;display:grid}.mode-toggle button{color:#34433d;background:0 0;border:0;border-radius:6px;min-height:42px;padding:9px 10px;font-size:.92rem;font-weight:850}.mode-toggle button.active{color:#fffaf0;background:#18241f}.controls{grid-template-columns:1fr 1fr;display:grid}.signal-rule{color:#4f5e58;margin:-12px 0 0;font-size:.94rem;font-weight:750}.veto-button{color:#16231d;background:#ffffffb8;border:1px solid #c9c8bd;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;min-height:96px;padding:20px;font-size:1.15rem;font-weight:850;display:flex;box-shadow:0 12px 34px #323d3517}.veto-button.active.soft{background:#ffe29a;border-color:#d5a51e}.veto-button.active.hard{background:#ffb7ad;border-color:#be453b}kbd{color:#3b453f;text-align:center;background:#f7f5ee;border:1px solid #bab8aa;border-bottom-width:3px;border-radius:7px;min-width:54px;padding:7px 10px;font-size:.86rem;font-weight:800}.session-tools{align-items:end}.join-form{flex:1;gap:8px;display:grid}.join-form label{color:#4f5e58;font-size:.88rem;font-weight:800}.session-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.join-form input{color:#17241e;letter-spacing:0;background:#ffffffbf;border:1px solid #c9c8bd;border-radius:8px;width:min(100%,260px);padding:12px 14px;font-weight:800}.join-form button,.session-row button{color:#fffaf0;background:#18241f;border:1px solid #c9c8bd;border-radius:8px;font-weight:850}.join-form button{padding:12px 18px}.session-row button[aria-label]{place-items:center;width:46px;height:46px;padding:0;display:grid}.avatars{flex-wrap:wrap;align-items:center;gap:8px;min-height:44px;margin:0;padding:0;list-style:none;display:flex}.avatars li{background:hsl(calc(var(--seed) * 31), 62%, 78%);color:#17241e;border:1px solid #14201b24;border-radius:50%;place-items:center;width:38px;height:38px;font-size:1.3rem;font-weight:900;display:grid}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.toast{z-index:10;color:#fffaf0;background:#18241f;border:1px solid #c9c8bd;border-radius:8px;max-width:min(100vw - 32px,420px);padding:12px 16px;font-weight:850;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 18px 44px #323d3538}.toast-error{background:#842d28;border-color:#be453b}.toast-info{background:#3b356f;border-color:#7d72d8}@media (width<=760px){.app{padding:14px}.room-shell{gap:12px}.topbar,.session-tools,.mode-tools{flex-direction:column;align-items:stretch}.status{width:fit-content;padding:7px 10px;font-size:.86rem}h1{font-size:2.25rem}.tagline{margin-top:6px;font-size:.92rem}.signal-panel{min-height:unset;grid-template-columns:1fr;gap:12px}.signal-orb{justify-self:center;width:min(100%,220px)}.signal-orb span{width:82%;font-size:clamp(1.55rem,8.5vw,2.6rem)}.controls{grid-template-columns:1fr 1fr;gap:10px}.mode-toggle{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.mode-toggle button{min-height:38px;padding:8px 6px;font-size:.82rem}.veto-button{justify-content:center;gap:8px;min-height:72px;padding:14px 10px;font-size:1rem}.veto-button kbd{display:none}.signal-rule{margin-top:-6px;font-size:.82rem}.signal-text{gap:10px}.signal-text p{font-size:1.2rem}.participant-count{padding:7px 10px;font-size:.88rem}.avatars{gap:6px;min-height:34px}.avatars li{width:30px;height:30px;font-size:1rem}.join-form input{flex:1;min-width:180px}.session-row{grid-template-columns:minmax(0,1fr) auto 46px;display:grid}}
