:root{--brand: #321235;--brand-2: #5e2a6c;--brand-3: #9057a2;--lav: #efe6f2;--lav-2: #e2d3e8;--bg: #fdfbfe;--ink: #321235;--muted: #6f5f77;--accent: #f4cf2a;--danger: #c22a47;--ok: #1f7a55;--pixel-shadow: 4px 4px 0 var(--brand);--font-ui: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "Cascadia Mono", "SF Mono", Menlo, Consolas, monospace;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-ui);-webkit-text-size-adjust:100%}body{min-height:100dvh}[hidden]{display:none!important}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.app{min-height:100dvh;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;max-width:1040px;width:100%;margin:0 auto}.brand img{display:block;height:44px;width:auto}.topbar-actions{display:flex;gap:8px;align-items:center}.main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:8px 16px 16px}.stage{position:relative;width:min(100%,1000px,calc((100dvh - 190px)*3));min-width:min(100%,300px);aspect-ratio:3 / 1;background:var(--bg);outline:none;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;cursor:pointer}.stage canvas{display:block;width:100%;height:100%;image-rendering:pixelated}.controls-hint{margin:0;font:600 .8rem/1.4 var(--font-mono);color:var(--muted);text-align:center;text-transform:uppercase;letter-spacing:.06em}kbd{display:inline-block;font:700 .75em/1 var(--font-mono);padding:3px 5px 2px;border:2px solid currentColor;border-bottom-width:3px;border-radius:2px;margin:0 1px}.touch-controls{display:none;width:min(100%,1000px);gap:12px}@media(hover:none)and (pointer:coarse){.touch-controls{display:flex}.controls-hint{display:none}.stage{width:min(100%,1000px,calc((100dvh - 220px)*3))}}@media(hover:none)and (pointer:coarse)and (orientation:landscape)and (max-height:500px){.topbar{padding:6px 16px}.brand img{height:32px}.main{padding-top:0;gap:8px}.stage{width:min(100%,1000px,calc((100dvh - 150px)*3))}.pad{min-height:56px}.footer{display:none}}.rotate-tip{display:none;margin:0;font:600 .75rem/1.4 var(--font-mono);color:var(--muted);text-transform:uppercase;text-align:center}@media(hover:none)and (pointer:coarse)and (orientation:portrait){.rotate-tip{display:block}.pad{min-height:clamp(64px,14dvh,120px)}}.pad{flex:1;min-height:64px;border:3px solid var(--brand);background:var(--lav);color:var(--brand);font:800 1rem/1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;box-shadow:3px 3px 0 var(--brand)}.pad:active,.pad.is-held{background:var(--brand);color:#fff;transform:translate(2px,2px);box-shadow:1px 1px 0 var(--brand)}.footer{padding:8px 16px 16px;text-align:center;font-size:.75rem;color:var(--muted)}.footer p{margin:0 auto;max-width:640px}.studio-link{display:inline-flex;align-items:center;gap:10px;margin:0 auto 12px;padding:8px 14px 8px 8px;border:3px solid var(--brand);background:#fff;box-shadow:3px 3px 0 var(--brand);color:var(--brand);font-size:.85rem;line-height:1.3;text-align:left;text-decoration:none;transition:background .12s ease}.studio-link img{flex:none;width:32px;height:32px;border-radius:50%}.studio-link strong{white-space:nowrap}.studio-link .arrow{font-weight:800;transition:transform .12s ease}.studio-link:hover{background:var(--accent)}.studio-link:hover .arrow{transform:translate(3px)}.studio-link:focus-visible{outline:3px solid var(--brand);outline-offset:3px}.btn{appearance:none;border:3px solid var(--brand);background:#fff;color:var(--brand);font:800 .95rem/1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;padding:13px 20px 12px;cursor:pointer;box-shadow:var(--pixel-shadow);transition:transform .06s ease,box-shadow .06s ease,background .12s ease;min-height:48px}.btn:hover{background:var(--lav)}.btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--brand)}.btn:focus-visible,.icon-btn:focus-visible,.pad:focus-visible,input:focus-visible{outline:3px solid var(--brand);outline-offset:3px}.submit-box :focus-visible{outline-color:var(--accent)}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-2)}.btn-accent{background:var(--accent);color:var(--brand)}.btn-accent:hover{background:#f8dd66}.btn-small{min-height:40px;padding:9px 14px 8px;font-size:.8rem;box-shadow:3px 3px 0 var(--brand)}.btn-big{font-size:1.15rem;padding:18px 32px 16px}.btn[disabled]{opacity:.6;cursor:progress}.icon-btn{width:44px;height:40px;display:grid;place-items:center;border:3px solid var(--brand);background:#fff;color:var(--brand);cursor:pointer;box-shadow:3px 3px 0 var(--brand);padding:0}.icon-btn svg{width:22px;height:22px}.icon-btn .icon-off,.icon-btn[aria-pressed=true] .icon-on{display:none}.icon-btn[aria-pressed=true] .icon-off{display:block}.overlay{position:fixed;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:16px;background:#fdfbfec7;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);overflow-y:auto}.overlay[hidden]{display:none}.panel{position:relative;width:min(100%,460px);margin:auto;background:#fff;border:4px solid var(--brand);box-shadow:8px 8px 0 var(--brand);padding:28px 24px 22px;text-align:center;animation:pop .18s ease-out}.panel-wide{width:min(100%,760px)}@keyframes pop{0%{transform:translateY(8px);opacity:0}}.pixel-heading{margin:0 auto 10px;font:900 1.6rem/1.1 var(--font-mono);letter-spacing:.06em;color:var(--brand)}.pixel-heading svg{display:block;margin:0 auto;height:28px;width:auto;max-width:100%}.pixel-title svg{height:56px}#board-title svg{height:22px}.tagline{display:flex;flex-direction:column;gap:2px;margin:14px 0 22px;font:700 1.05rem/1.45 var(--font-mono);text-transform:uppercase;letter-spacing:.03em}.tagline span:nth-child(2){color:var(--brand-3)}.controls-list{list-style:none;padding:0;margin:20px 0;font:600 .85rem/1.8 var(--font-mono);text-transform:uppercase;color:var(--muted)}.controls-list strong{color:var(--brand)}.cause{margin:0 0 14px;font:600 .85rem/1.4 var(--font-mono);color:var(--muted);text-transform:uppercase}.stats{display:grid;gap:6px;margin:0 0 12px}.stats div{display:flex;justify-content:space-between;align-items:baseline;padding:8px 12px;background:var(--lav)}.stats dt{font:700 .8rem/1 var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.stats dd{margin:0;font:900 1.35rem/1 var(--font-mono);font-variant-numeric:tabular-nums}.stats div:first-child{background:var(--brand);color:#fff}.badge{display:inline-block;margin:0 0 12px;padding:6px 12px;background:var(--accent);color:var(--brand);font:800 .8rem/1 var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.submit-box{margin:4px 0 14px;padding:16px;background:var(--brand);color:#fff;text-align:left;box-shadow:inset 0 0 0 3px var(--accent)}.submit-title{margin:0 0 10px;font:900 1rem/1.2 var(--font-mono);text-transform:uppercase;color:var(--accent);text-align:center}.fields{display:grid;gap:4px}.fields label{font:700 .75rem/1.4 var(--font-mono);text-transform:uppercase;letter-spacing:.06em;margin-top:6px}.opt{opacity:.7;font-weight:500}.fields input{width:100%;font:600 1rem/1.2 var(--font-ui);padding:10px 12px;border:3px solid #fff;background:#fff;color:var(--brand);border-radius:0}.fields input[aria-invalid=true]{border-color:#ff8fa3}.submit-box .btn{width:100%;margin-top:12px;box-shadow:4px 4px #000}.error{min-height:0;margin:8px 0 0;color:#ffc2cd;font-size:.85rem}.error:empty{display:none}.submit-done{margin:0 0 14px;padding:10px;background:var(--lav);font:700 .9rem/1.4 var(--font-mono)}.note{margin:0 0 12px;font-size:.8rem;color:var(--muted)}.note:empty{display:none}.actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:6px}.actions .btn{flex:1 1 150px}.hint{margin:16px 0 0;font:600 .72rem/1.4 var(--font-mono);color:var(--muted);text-transform:uppercase}@media(hover:none)and (pointer:coarse){.hint{display:none}}.sub{margin:0 0 16px;color:var(--muted);font-style:italic}.board-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.board-summary div{display:flex;flex-direction:column;gap:4px;padding:10px 8px;background:var(--lav)}.board-summary span{font:700 .7rem/1.2 var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.board-summary strong{font:900 1.2rem/1 var(--font-mono);font-variant-numeric:tabular-nums}.table-wrap{max-height:min(52dvh,560px);overflow:auto;border:3px solid var(--brand);margin-bottom:12px}.board{width:100%;border-collapse:collapse;font-size:.9rem;text-align:left}.board th{position:sticky;top:0;background:var(--brand);color:#fff;font:800 .72rem/1 var(--font-mono);text-transform:uppercase;letter-spacing:.06em;padding:10px;white-space:nowrap}.board td{padding:9px 10px;border-top:1px solid var(--lav-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.board .num{text-align:right;font-family:var(--font-mono);font-weight:800;font-variant-numeric:tabular-nums}.board td.rank{font-family:var(--font-mono);font-weight:800;width:3.5em}.board tbody tr:nth-child(-n+3) td.rank{color:var(--brand-3)}.board tr.is-you td{background:#fff4dd;font-weight:700}.board tr.is-gap td{text-align:center;color:var(--muted);padding:4px}.board td.company,.board td.date{color:var(--muted)}.board .empty td{text-align:center;padding:24px;color:var(--muted);white-space:normal}@media(max-width:560px){.panel{padding:22px 16px 18px;box-shadow:5px 5px 0 var(--brand)}.board{font-size:.8rem}.board th,.board td{padding:8px 6px}.board td{max-width:110px}.board-summary strong{font-size:1rem}.pixel-title svg{height:40px}#board-title svg{height:16px}}.embed .topbar,.embed .footer{display:none}.embed .main{padding:8px}@media(prefers-reduced-motion:reduce){.panel{animation:none}.btn,.pad{transition:none}}
