:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--navy:#1b2f5b;--sand:#e0a56e;--chalk:#f2f4f8;--yellow:#f4d35e;--yellow-deep:#e9bf3a;--board:#14231b;--board-2:#1e3a2b;--board-3:#2d533f;--text:#f0fdf4;--muted:#9fbfae;--ok:#4ade80;--warn:#f4d35e;--bad:#f87171}*{box-sizing:border-box}body{background:var(--board);color:var(--text);overscroll-behavior:none;margin:0;font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}#app{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.welcome{flex-direction:column;gap:1.1rem;width:min(34rem,100%);margin:auto;padding:2rem 1.25rem 2.5rem;display:flex}.brand{align-self:center;width:min(15rem,62%);height:auto}.welcome h1{text-align:center;margin:.4rem 0 0;font-size:1.5rem}.lead{color:var(--yellow);text-align:center;margin:0}.steps{gap:.6rem;margin:0;padding-left:1.2rem;display:grid}.steps li::marker{color:var(--sand);font-weight:700}.steps strong{color:var(--chalk)}.muted{color:var(--muted);margin:0;font-size:.9rem}.code-form{gap:.5rem;margin-top:.4rem;display:grid}.code-form label{color:var(--muted);font-size:.85rem}.code-form .row{gap:.5rem;display:flex}.code-form input{border:1px solid var(--board-3);background:var(--board-2);min-width:0;color:var(--text);font:inherit;border-radius:.6rem;flex:1;padding:.7rem .8rem;font-size:.85rem}.code-form input:focus-visible{outline:2px solid var(--yellow);outline-offset:1px}.error{min-height:1.2rem;color:var(--bad);margin:0;font-size:.85rem}.button{background:var(--yellow);color:#20180a;cursor:pointer;border:0;border-radius:.6rem;justify-content:center;align-items:center;padding:.7rem 1.1rem;font-size:.95rem;font-weight:700;text-decoration:none;display:inline-flex}.button:hover{background:var(--yellow-deep)}.bar{border-bottom:1px solid var(--board-3);background:var(--board-2);flex:none;align-items:center;gap:.6rem;padding:.45rem .8rem;display:flex}.bar .mark{flex:none;width:1.6rem;height:1.6rem}.room{font-variant-numeric:tabular-nums;letter-spacing:.06em;color:var(--muted)}.spacer{flex:1}.stage-label{color:var(--muted);font-size:.85rem}.stage-label[data-stage=scanning]{color:var(--ok)}.stage-label[data-stage=error]{color:var(--bad)}.link{color:var(--muted);font-size:.8rem}.link[data-connection=online]{color:var(--ok)}.link[data-connection=offline]{color:var(--bad)}.stage{aspect-ratio:1;background:var(--board-2);flex:none;place-items:center;width:min(100%,42dvh);margin:0 auto;display:grid;overflow:hidden}.frame{aspect-ratio:16/9;width:100%;position:relative}.frame video{object-fit:fill;width:100%;height:100%;display:block;position:absolute;inset:0}.frame canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.stats{background:var(--board-3);border-block:1px solid var(--board-3);flex:none;grid-template-columns:repeat(5,1fr);gap:1px;display:grid}.stats div{background:var(--board-2);text-align:center;padding:.3rem .15rem;line-height:1.15}.stats strong{font-variant-numeric:tabular-nums;font-size:1.1rem;display:block}.stats span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.58rem;display:block}#read{color:var(--ok)}#queued{color:var(--yellow)}.cards{flex:auto;grid-template-columns:repeat(auto-fill,minmax(2.1rem,1fr));grid-auto-rows:minmax(1.7rem,1fr);align-content:start;gap:.3rem;min-height:0;margin:0;padding:.45rem;list-style:none;display:grid;overflow-y:auto}.chip{font-variant-numeric:tabular-nums;border:1px solid var(--board-3);color:var(--muted);border-radius:.4rem;place-items:center;font-size:.9rem;display:grid}.chip.read{border-color:var(--ok);color:#d8ffe6;background:#4ade8029}.chip.outside{border-color:var(--bad);color:#ffe1e1;background:#f8717129}.notice{color:var(--warn);white-space:nowrap;text-overflow:ellipsis;flex:none;height:1.6rem;margin:0;padding:0 .8rem;font-size:.8rem;line-height:1.6rem;overflow:hidden}.notice:empty{height:0}.report{color:#a7f3c8;white-space:pre-wrap;background:#0a140e;margin:0;padding:.8rem;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}
