@font-face{font-family:PF Tempesta Seven;src:url(/fonts/pf-tempesta-seven.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:PF Tempesta Seven;src:url(/fonts/pf-tempesta-seven-bold.ttf) format("truetype");font-weight:700;font-display:swap}:root{--sky: #b2eafd;--white: #ffffff;--ink: #000000;--text: #212529;--muted: #5d6b78;--line: #e6e6e6;--blue: #00bafa;--blue-press: #0099d1;--red: #eb4e38;--gold: #ffcc33;--border: 3px solid var(--ink);--r-card: 16px;--r-small: 8px;--r-pill: 32px;--font: "PF Tempesta Seven", ui-monospace, monospace;--gx: 50%;--gy: 45%;color-scheme:light}*{box-sizing:border-box}html{background:var(--sky)}html,body{margin:0;color:var(--text);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:none;-moz-osx-font-smoothing:grayscale}body{background:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.sky{position:fixed;inset:0;z-index:-1;background:radial-gradient(circle at var(--gx) var(--gy),var(--white) 0,var(--sky) 80%)}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:4px;padding:12px 16px}.wordmark{display:flex;align-items:center;gap:8px;margin-right:10px;font-weight:700;font-size:15px;text-transform:lowercase}.wordmark img{width:26px;height:26px;image-rendering:pixelated}.nav-link{padding:0 10px;color:var(--muted);text-transform:uppercase;white-space:nowrap}.nav-link:hover{color:var(--ink)}.nav-link.active{color:var(--ink);font-weight:700}.nav-link.active:before{content:"▸ "}.topbar .spacer{flex:1}.page{width:100%;max-width:560px;margin:0 auto;padding:8px 16px 110px;display:flex;flex-direction:column;gap:14px}.tabbar{display:none}@media(max-width:640px){.topbar .nav-link{display:none}.tabbar{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:30;display:grid;grid-template-columns:repeat(4,1fr);background:var(--white);border:var(--border);border-radius:var(--r-card);overflow:hidden}.tabbar a{padding:11px 4px;text-align:center;text-transform:uppercase;font-size:12px;color:var(--muted)}.tabbar a+a{border-left:2px solid var(--line)}.tabbar a.active{color:var(--ink);font-weight:700;background:var(--sky)}}.card{background:var(--white);border:var(--border);border-radius:var(--r-card);padding:14px}.card.flush{padding:0;overflow:hidden}.section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:12px 14px;font-size:15px;font-weight:700;text-transform:uppercase;border-bottom:2px solid var(--line)}.section-title small{font-weight:400;color:var(--muted);font-size:11px}.chip{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border:2px solid var(--ink);border-radius:var(--r-pill);font-size:11px;text-transform:uppercase;background:var(--white);white-space:nowrap}.chip.blue{background:var(--blue);color:var(--white)}.chip.gold{background:var(--gold)}.muted{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:7px 18px;border:var(--border);border-radius:var(--r-pill);background:var(--white);text-transform:uppercase;font-weight:700;cursor:pointer;box-shadow:0 0 12px #0000000d;transition:transform 80ms ease;white-space:nowrap}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--blue);color:var(--white)}.btn.primary:hover:not(:disabled){background:var(--blue-press)}.btn.danger{background:var(--red);color:var(--white)}.btn.small{min-height:32px;padding:4px 12px;font-size:12px}.btn.block{width:100%}.input{width:100%;min-height:40px;padding:7px 16px;border:var(--border);border-radius:var(--r-pill);background:var(--white);font:inherit;color:var(--text)}.input::placeholder{color:var(--muted)}.avatar{flex:none;display:grid;place-items:center;border:var(--border);border-radius:var(--r-small);font-weight:700;text-transform:uppercase;color:var(--ink);image-rendering:pixelated}.row{display:flex;align-items:center;gap:12px;padding:10px 14px;min-width:0}.row+.row{border-top:2px solid var(--line)}a.row:hover{background:#f4fbfe}.row .who{min-width:0;flex:1;display:flex;flex-direction:column}.row .who b,.row .who span{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .who span{color:var(--muted);font-size:12px}.row .end{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.row .end small{display:block;color:var(--muted);font-size:11px}.trade-line{min-width:0;flex:1;font-size:14px}.trade-line b{color:var(--ink)}.buy{color:#0088c2}.sell{color:var(--red)}.profile-head{display:flex;gap:14px;align-items:center}.profile-head h1{margin:0;font-size:21px;line-height:1.2}.profile-head p{margin:2px 0 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:14px;border:2px solid var(--line);border-radius:var(--r-small)}.stats div{padding:8px 10px;display:flex;flex-direction:column;gap:2px}.stats div+div{border-left:2px solid var(--line)}.stats span{font-size:11px;text-transform:uppercase;color:var(--muted)}.stats b{font-variant-numeric:tabular-nums}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.actions .wide{grid-column:1 / -1}.actions .btn{min-width:0;white-space:normal;text-align:center}.tabs{display:flex;gap:4px;padding:10px 10px 0;border-bottom:2px solid var(--line)}.tabs button{padding:6px 10px 10px;border:0;background:none;color:var(--muted);text-transform:uppercase;cursor:pointer}.tabs button.active{color:var(--ink);font-weight:700}.tabs button.active:before{content:"▸ "}.backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:end center;padding:16px;background:#00000059}@media(min-width:641px){.backdrop{place-items:center}}.sheet{width:100%;max-width:420px;display:flex;flex-direction:column;gap:14px}.sheet h2{margin:0;font-size:15px;text-transform:uppercase}.stepper{display:flex;align-items:center;justify-content:space-between;gap:10px}.stepper output{font-size:28px;font-weight:700;font-variant-numeric:tabular-nums}.receipt{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:2px solid var(--line);border-radius:var(--r-small);font-size:13px}.receipt div{display:flex;justify-content:space-between;gap:8px}.receipt div:last-child{margin-top:4px;padding-top:6px;border-top:2px solid var(--line);font-size:15px;font-weight:700}.rank{width:30px;flex:none;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}.podium .rank{color:var(--ink)}.you{background:var(--sky)}.rules{margin:0;padding:0 0 0 18px;display:flex;flex-direction:column;gap:6px;font-size:13px}.room{display:flex;flex-direction:column;min-height:calc(100dvh - 200px)}.messages{flex:1;display:flex;flex-direction:column;gap:10px;padding:14px}.msg{display:flex;gap:8px;align-items:flex-end;max-width:85%}.msg .bubble{padding:8px 12px;border:var(--border);border-radius:14px 14px 14px 4px;background:var(--white);font-size:14px;overflow-wrap:anywhere}.msg .bubble small{display:block;margin-bottom:2px;color:var(--muted);font-size:11px;text-transform:uppercase}.msg.mine{align-self:flex-end;flex-direction:row-reverse}.msg.mine .bubble{background:var(--blue);color:var(--white);border-radius:14px 14px 4px}.msg.mine .bubble small{color:#fffc}.composer{display:flex;gap:8px;padding:12px 14px;border-top:2px solid var(--line)}.locked{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 18px;text-align:center}.locked p{margin:0;max-width:34ch}.amount{white-space:nowrap}.feather{display:inline-block;width:.74em;height:.96em;margin-right:.12em;vertical-align:-.12em}.code-form{display:flex;gap:8px}.code-form .input{flex:1;min-width:0;padding:7px 12px}.code-form .btn{flex:none}.code-input,.code-chip,.code-text,.made pre{font-variant-numeric:tabular-nums;letter-spacing:.02em;text-transform:lowercase}.invite-ok{display:flex;flex-direction:column;gap:12px}.invite-ok .row{padding:10px 12px;border:var(--border);border-radius:var(--r-small);background:var(--white)}.invite-mark{flex:none;width:38px;height:40px;image-rendering:pixelated}.join-alt{font-size:13px}.link-btn{padding:0;border:0;background:none;font:inherit;color:var(--blue-press);text-decoration:underline;cursor:pointer}.link-btn:disabled{opacity:.6;cursor:default}.invite-row{flex-wrap:wrap;gap:8px}.invite-row .spacer{flex:1}.code-chip{padding:4px 10px;font-size:13px;border:2px dashed var(--ink);border-radius:var(--r-small);background:var(--white);font-weight:700;white-space:nowrap}.admin-form{display:grid;grid-template-columns:110px 1fr auto;gap:8px;align-items:end}.admin-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);text-transform:uppercase}.made{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 12px;border:var(--border);border-radius:var(--r-small);background:var(--white)}.made pre{margin:0;font-family:inherit;font-size:14px;line-height:1.5;-webkit-user-select:all;user-select:all}@media(max-width:420px){.admin-form{grid-template-columns:1fr}}.hero{display:flex;flex-direction:column;gap:14px;padding:22px 18px}.hero h1{margin:0;font-size:21px;line-height:1.25;text-wrap:balance}.hero p{margin:0;color:var(--muted)}.brand-art{align-self:flex-start;width:63px;height:66px;image-rendering:pixelated}[aria-live]>.brand-art{animation:flutter 1.2s steps(2) infinite}@keyframes flutter{50%{transform:translateY(-4px) scaleX(.9)}}@media(prefers-reduced-motion:reduce){.btn{transition:none}[aria-live]>.brand-art{animation:none}}.btn.disabled{opacity:.6}.open-btn{flex:none;display:flex;flex-direction:column;align-items:center;gap:0;min-height:0;padding:4px 14px;line-height:1.2}.open-btn small{font-size:11px;font-weight:400}img.avatar{object-fit:cover;background:var(--line)}.notice{margin:0;padding:10px 14px;font-size:13px;color:var(--muted)}.error-text{color:var(--red);font-size:13px;margin:0}.address{font-size:13px;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.skeleton{display:block;border-radius:4px;background:linear-gradient(90deg,#edf6fa,#dceef5,#edf6fa);background-size:200% 100%;animation:shimmer 1.2s linear infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}
