:root{--paper:#E9E4D6;--paper-2:#E2DCCC;--ink:#181410;--a:#FF4A1C;--b:#1F2BFF;--seam:#3A1846;--card:#F2EEE3;--muted:#6E6456;--line:rgba(24,20,16,.15);--blend:multiply;--ok:#2b7a4b;--bad:#c23b22;--font-disp:"Helvetica Neue",Helvetica,Arial,sans-serif;--font-body:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-mono:ui-monospace,"SF Mono","Cascadia Mono","Roboto Mono",Menlo,monospace}@media (prefers-color-scheme:dark){:root{--paper:#100D07;--paper-2:#17130C;--ink:#EFE7D6;--a:#FF5A2C;--b:#5A6BFF;--seam:#FF7AC4;--card:#1B1610;--muted:#9A9082;--line:rgba(239,231,214,.16);--blend:screen;--ok:#4fbf82;--bad:#ff7a5c}}*{box-sizing:border-box;margin:0}html,body,#root{min-height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;line-height:1.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.28'/%3E%3C/svg%3E")}a{color:inherit}.mono{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;font-size:.7rem}:focus-visible{outline:3px solid var(--b);outline-offset:2px}.bar{display:flex;align-items:center;justify-content:space-between;padding:14px min(5vw,26px);border-bottom:1.5px solid var(--ink)}.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-disp);font-weight:800;font-size:1.24rem;letter-spacing:-.02em;text-decoration:none}.glyph{position:relative;width:24px;height:24px;flex:none}.glyph i{position:absolute;width:16px;height:16px;border-radius:50%;mix-blend-mode:var(--blend)}.glyph i:first-child{left:0;top:0;background:var(--a)}.glyph i:last-child{right:0;bottom:0;background:var(--b)}.brand small{font-family:var(--font-mono);font-weight:400;font-size:.58rem;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;align-self:flex-end;margin-bottom:3px}.bar .who{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;color:var(--muted);display:flex;gap:14px;align-items:center}.linkbtn{background:none;border:none;cursor:pointer;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;color:var(--muted);padding:0}.linkbtn:hover{color:var(--a)}.stage{min-height:calc(100vh - 58px);display:grid;place-items:center;padding:clamp(24px,5vw,64px) 20px}.card{width:min(440px,100%);border:1.5px solid var(--ink);background:var(--card);padding:clamp(26px,4vw,40px);position:relative}.card:after{content:"";position:absolute;top:7px;right:-7px;bottom:-7px;left:7px;border:1.5px solid var(--b);z-index:-1;opacity:.5}.eyebrow{color:var(--muted);margin-bottom:16px;display:flex;align-items:center;gap:10px}.eyebrow:before{content:"";width:26px;height:2px;background:var(--a)}h1.h{font-family:var(--font-disp);font-weight:800;letter-spacing:-.03em;line-height:1;font-size:clamp(1.9rem,5vw,2.6rem);text-wrap:balance}h1.h .em{color:var(--a);font-style:italic}.sub{color:var(--muted);margin-top:12px;font-size:.96rem}form{display:flex;flex-direction:column;gap:14px;margin-top:26px}label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;font-size:.62rem;color:var(--muted);margin-bottom:6px;display:block}input{width:100%;padding:13px 14px;border:1.5px solid var(--ink);background:var(--paper);color:var(--ink);font-size:1rem;font-family:var(--font-body)}input:focus{outline:none;border-color:var(--b);box-shadow:2px 2px 0 var(--b)}.btn{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;font-weight:600;padding:14px 18px;min-height:48px;border:1.5px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;transition:.16s;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%}.btn:hover:not(:disabled){background:var(--a);border-color:var(--a);color:#fff;transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--b)}.btn:disabled{opacity:.55;cursor:default}.btn.ghost{background:transparent;color:var(--ink)}.btn.ghost:hover:not(:disabled){background:transparent;color:var(--a);border-color:var(--a);box-shadow:none;transform:none}.toggle{margin-top:18px;text-align:center;font-size:.9rem;color:var(--muted)}.toggle button{background:none;border:none;color:var(--a);cursor:pointer;font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px}.msg{margin-top:4px;font-size:.86rem;padding:10px 12px;border:1.5px solid currentColor}.msg.err{color:var(--bad)}.msg.ok{color:var(--ok)}.acct{width:min(560px,100%)}.balance{border:1.5px solid var(--ink);background:var(--card);padding:clamp(24px,3.5vw,36px);position:relative}.balance .lbl{color:var(--muted);margin-bottom:10px}.balance .amt{font-family:var(--font-disp);font-weight:800;letter-spacing:-.03em;font-size:clamp(3rem,10vw,5rem);line-height:.85;font-variant-numeric:tabular-nums}.balance .amt span{color:var(--a)}.balance .free{font-family:var(--font-mono);font-size:.72rem;color:var(--muted);margin-top:14px;letter-spacing:.05em}.acct .actions{display:flex;flex-direction:column;gap:12px;margin-top:22px}.spin{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;animation:sp .7s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spin{animation-duration:2s}}.center{min-height:60vh;display:grid;place-items:center;color:var(--muted)}.setup{width:min(680px,100%)}.hint{color:var(--muted);margin-top:12px;text-align:center}.howto{margin:20px 0;padding-left:22px;display:flex;flex-direction:column;gap:9px}.howto li{font-size:.96rem;color:var(--ink);line-height:1.45}.howto b{font-weight:700}.micok{margin-top:16px;color:var(--ok);border:1.5px solid var(--ok);padding:12px;text-align:center;letter-spacing:.06em;font-size:.72rem}.setup .btn,.setup .devs{margin-top:16px}.setup .hint{margin-top:10px}select{width:100%;padding:12px 13px;border:1.5px solid var(--ink);background:var(--paper);color:var(--ink);font-size:1rem;font-family:var(--font-body);cursor:pointer}select:focus{outline:none;border-color:var(--b);box-shadow:2px 2px 0 var(--b)}.xpeople{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;margin:26px 0}.xp{border:1.5px solid var(--ink);background:var(--card);padding:20px;display:flex;flex-direction:column;gap:14px}.xp-tag{color:var(--muted)}.xf{display:flex;flex-direction:column;gap:0}.xf>span{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;font-size:.62rem;color:var(--muted);margin-bottom:6px}.xg{display:flex;gap:8px}.xg-btn{flex:1;padding:11px 8px;border:1.5px solid var(--ink);background:var(--paper);color:var(--ink);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.05em;cursor:pointer;transition:.14s}.xg-btn.on{background:var(--ink);color:var(--paper)}.xg-btn:disabled{opacity:.4;cursor:not-allowed}.xswap{width:44px;height:44px;border:1.5px solid var(--ink);background:var(--paper);color:var(--a);font-size:1.3rem;cursor:pointer;border-radius:50%;flex:none}.xswap:hover{background:var(--a);color:#fff;border-color:var(--a)}@media (max-width:600px){.xpeople{grid-template-columns:1fr}.xswap{justify-self:center;transform:rotate(90deg)}}.stage.live{align-items:start;padding-top:clamp(20px,4vw,44px)}.live-card{width:min(560px,100%);border:1.5px solid var(--ink);background:var(--card);padding:clamp(22px,3.4vw,32px);display:flex;flex-direction:column;gap:18px;position:relative}.live-card:after{content:"";position:absolute;top:7px;right:-7px;bottom:-7px;left:7px;border:1.5px solid var(--b);z-index:-1;opacity:.5}.conn{color:var(--muted);display:flex;align-items:center;gap:10px}.activity{display:flex;gap:12px;flex-wrap:wrap}.act{flex:1;min-width:150px;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;padding:12px 14px;border:1.5px solid var(--line);color:var(--muted);transition:.18s}.act.on{border-color:var(--a);color:var(--a)}.act.spk{border-color:var(--b);color:var(--b)}.toggles{display:flex;gap:10px;flex-wrap:wrap}.tg{flex:1;min-width:140px;padding:11px;border:1.5px solid var(--ink);background:var(--paper);color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:.64rem;cursor:pointer;transition:.14s}.tg.on{background:var(--ink);color:var(--paper)}.pttbar{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pttbtn{padding:22px 14px;border:2px solid var(--ink);background:var(--paper);cursor:pointer;display:flex;flex-direction:column;gap:5px;align-items:center;text-align:center;touch-action:none;-webkit-user-select:none;user-select:none;transition:.1s}.pttbtn b{font-family:var(--font-disp);font-size:1.05rem}.pttbtn span{font-family:var(--font-mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.pttbtn.l b{color:var(--a)}.pttbtn.r b{color:var(--b)}.pttbtn.l.held{background:var(--a);border-color:var(--a)}.pttbtn.r.held{background:var(--b);border-color:var(--b)}.pttbtn.held b{color:#fff}.pttbtn.held span{color:#ffffffe6}.devs{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width:600px){.devs{grid-template-columns:1fr}}.feed{border:1.5px solid var(--line);background:var(--paper);min-height:180px;max-height:44vh;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}.feed-empty{color:var(--muted);font-size:.92rem;margin:auto;text-align:center;max-width:32ch}.row{display:flex;gap:10px;align-items:flex-start;font-size:.98rem}.row.said{color:var(--b);font-weight:600}.row .ric{flex:none;font-size:.9rem;opacity:.8}.earnote{color:var(--muted);text-align:center;margin-top:16px;max-width:44ch;margin-inline:auto}.roomcode{font-family:var(--font-mono, ui-monospace, monospace);font-weight:800;font-size:clamp(2.2rem,12vw,4rem);letter-spacing:.22em;text-align:center;margin:.3em 0 .5em}.doors{display:flex;flex-direction:column;gap:14px;margin:10px 0 6px}.door{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;border:1.5px solid var(--ink);background:var(--card);padding:18px 20px;cursor:pointer;color:inherit;font:inherit;transition:transform .12s ease,box-shadow .12s ease}.door:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--b, #1F2BFF)}.door:disabled{opacity:.5;cursor:not-allowed}.dname{font-weight:800;font-size:1.5rem;letter-spacing:-.02em}.ddesc{color:var(--muted, #6E6456);font-size:.95rem;line-height:1.45}.dgo{color:var(--a, #FF4A1C);margin-top:2px}
