:root{--ink: #111820;--paper: #eef0ef;--surface: #fafbf9;--accent: #f4c430;--muted: #45505a;--hairline: rgba(17, 24, 32, .14);--rule: 2px;--ease: cubic-bezier(.23, 1, .32, 1);--font: "Archivo", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100vh;min-height:100dvh;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--paper)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(12px + var(--safe-top)) calc(16px + var(--safe-right)) 0 calc(16px + var(--safe-left))}.content{flex:1;display:flex;flex-direction:column}.content-wide{padding:8px calc(24px + var(--safe-right)) 32px calc(24px + var(--safe-left))}.footer{padding:12px 16px calc(14px + var(--safe-bottom))}.smallprint{margin:0;color:var(--muted);font-size:12px;text-align:center}.lang-pill{appearance:none;-webkit-appearance:none;min-height:44px;min-width:44px;padding:0 16px;border:var(--rule) solid var(--ink);border-radius:999px;background:var(--surface);color:var(--ink);font:600 14px/1 var(--font);letter-spacing:.01em;cursor:pointer;touch-action:manipulation;transition:background-color .4s var(--ease),transform .4s var(--ease)}.lang-pill:hover{background:#fff}.lang-pill:active{transform:scale(.97)}.lang-pill-dark{border-color:var(--surface);background:#1118208c;color:var(--surface)}.lang-pill-dark:hover{background:#111820cc}.lang-pill-dark:focus-visible{outline-color:var(--accent)}.screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:24px calc(24px + var(--safe-right)) 24px calc(24px + var(--safe-left));text-align:center;background:var(--paper);animation:rise .6s var(--ease) both}.logo{width:96px;height:96px;display:block;mix-blend-mode:multiply}.logo-small{width:44px;height:44px}.screen h1{margin:0;max-width:18ch;font-size:clamp(26px,7vw,34px);font-weight:700;line-height:1.15;letter-spacing:-.01em}.rule{width:48px;height:var(--rule);border:0;margin:0;background:var(--ink)}.lede{margin:0;max-width:30ch;color:var(--muted);font-size:18px}.message{margin:0;max-width:24ch;font-size:clamp(22px,6vw,28px);font-weight:600;line-height:1.25}.textlink{display:inline-flex;align-items:center;min-height:44px;padding:0 8px;color:var(--ink);font-size:16px;font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.pill{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 32px;border:var(--rule) solid var(--ink);border-radius:999px;background:var(--surface);color:var(--ink);font:600 18px/1 var(--font);letter-spacing:.01em;cursor:pointer;touch-action:manipulation;transition:transform .4s var(--ease),background-color .4s var(--ease),opacity .4s var(--ease)}.pill:active{transform:scale(.97)}.pill:disabled{opacity:.55;cursor:progress}.pill-accent{background:var(--accent)}.pill-big{min-width:min(100%,280px);min-height:64px;font-size:22px}.pill-small{min-height:44px;padding:0 22px;font-size:16px}.panel{width:100%;max-width:980px;margin:0 auto;animation:rise .6s var(--ease) both}.panel-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 24px;padding:16px 0 14px;border-bottom:var(--rule) solid var(--ink)}.panel-head h1{margin:0;font-size:clamp(26px,3.2vw,34px);font-weight:700;line-height:1.15;letter-spacing:-.01em}.eyebrow{margin:0 0 4px;color:var(--muted);font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.muted{margin:0;color:var(--muted);font-size:14px}.lede-left{margin:16px 0 0;color:var(--muted)}.notice{margin:16px 0 0;padding:12px 16px;border-left:6px solid var(--accent);background:var(--surface);font-weight:500}.empty{margin:0;padding:40px 0;color:var(--muted);font-size:18px}.list{width:100%;margin-top:8px;border-collapse:collapse}.list th{padding:12px 12px 10px 0;color:var(--muted);font-size:13px;font-weight:600;letter-spacing:.06em;text-align:left;text-transform:uppercase;border-bottom:1px solid var(--hairline)}.list td{padding:12px 12px 12px 0;border-bottom:1px solid var(--hairline);vertical-align:middle}.cell-code{font-family:var(--mono);font-size:28px;font-weight:600;letter-spacing:.02em}.cell-num{font-family:var(--mono);font-weight:500}.row-muted td{color:var(--muted)}.row-muted .cell-code{font-weight:500}.tag{display:inline-block;padding:6px 14px;border:1px solid var(--hairline);border-radius:999px;color:var(--muted);font-size:15px;font-weight:500}.stage{position:fixed;inset:0;background:var(--ink);color:var(--surface);overflow:hidden;animation:fade .5s var(--ease) both}.stage :focus-visible{outline-color:var(--accent)}.remote{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:var(--ink);opacity:0;transition:opacity .6s var(--ease)}.stage.is-live .remote{opacity:1}.waiting{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:88px 24px 140px;text-align:center;transition:opacity .5s var(--ease)}.stage.is-live .waiting{opacity:0;pointer-events:none}.waiting p{margin:0}.waiting-text{max-width:22ch;font-size:clamp(20px,5.5vw,26px);font-weight:500;line-height:1.3}.code-label{color:var(--accent);font-size:16px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.code-big{font-family:var(--mono);font-size:clamp(120px,42vw,200px);font-weight:600;line-height:.95;letter-spacing:.02em}.code-small{font-family:var(--mono);font-size:18px;font-weight:500;color:#fafbf9c7;letter-spacing:.04em}.pulse{position:relative;width:72px;height:72px}.pulse:before,.pulse:after{content:"";position:absolute;inset:0;border:var(--rule) solid var(--accent);border-radius:50%;animation:pulse 2.6s var(--ease) infinite}.pulse:after{animation-delay:1.3s}.self{position:absolute;top:calc(16px + var(--safe-top));right:calc(16px + var(--safe-right));width:clamp(88px,26vw,132px);aspect-ratio:3 / 4;object-fit:cover;border:var(--rule) solid var(--surface);border-radius:14px;background:#000;transform:scaleX(-1);z-index:2}.stage-top{position:absolute;top:calc(16px + var(--safe-top));left:calc(16px + var(--safe-left));display:flex;align-items:center;gap:12px;z-index:3}.chip{margin:0;padding:10px 16px;border-radius:999px;background:#11182099;color:var(--surface);font-family:var(--mono);font-size:15px;font-weight:500}.controls{position:absolute;left:0;right:0;bottom:calc(28px + var(--safe-bottom));display:flex;flex-wrap:wrap;justify-content:center;gap:12px;padding:16px calc(16px + var(--safe-right)) 8px calc(16px + var(--safe-left));z-index:3}.stage .pill{border-color:var(--surface)}.stage .pill-exit{background:var(--surface);color:var(--ink);min-width:160px}.smallprint-stage{position:absolute;left:0;right:0;bottom:0;padding:6px 16px calc(8px + var(--safe-bottom));color:#fafbf9b8;font-size:11px;z-index:3}.stage-desktop .self{top:auto;bottom:40px;right:24px;width:clamp(160px,20vw,280px);aspect-ratio:16 / 9}.stage-desktop .controls{justify-content:flex-start;padding:16px 24px 8px}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%{transform:scale(.55);opacity:.9}to{transform:scale(1.35);opacity:0}}@media(prefers-reduced-motion:reduce){.screen,.stage,.panel{animation:none}.pulse:before,.pulse:after{animation:none;transform:none;opacity:.8}.pulse:after{display:none}}@media(max-width:640px){.content-wide{padding-left:calc(12px + var(--safe-left));padding-right:calc(12px + var(--safe-right))}.cell-code{font-size:22px}.list th,.list td{padding-right:8px}}
