@font-face{font-family:"Press Start 2P";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/press-start-2p-latin-400-normal-_wFEWmAB.woff2) format("woff2"),url(/assets/press-start-2p-latin-400-normal-KLytu4cr.woff) format("woff")}@font-face{font-family:Silkscreen;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/silkscreen-latin-400-normal-CtPo2yA5.woff2) format("woff2"),url(/assets/silkscreen-latin-400-normal-D0DfPJut.woff) format("woff")}:root{--jk-yellow: #ece300;--jk-yellow-sh: #9d9700;--jk-blue: #23499a;--jk-blue-sh: #16305f;--jk-pink: #e94577;--jk-pink-sh: #99213f;--jk-orange: #ec6231;--jk-orange-sh: #9c3712;--jk-purple: #912a86;--jk-purple-sh: #5a1352;--jk-teal: #32b492;--jk-teal-sh: #17614c;--bg: #0d1f49;--panel: #1a2f63;--panel-2: #24408a;--ink: #070f26;--text: #f2f6ff;--muted: #93a8d6;--good: var(--jk-teal);--bad: var(--jk-pink);--warn: var(--jk-orange);--gold: var(--jk-yellow);--px: 4px;--tap: 56px;--font-display: "Silkscreen", "Courier New", monospace;--font-arcade: "Press Start 2P", "Silkscreen", "Courier New", monospace;--font-pixel: "Silkscreen", "Courier New", monospace;--font-ui: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0;background-color:var(--bg);background-image:linear-gradient(45deg,rgba(255,255,255,.022) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.022) 75%);background-size:8px 8px;color:var(--text);font-family:var(--font-ui);font-size:17px;line-height:1.45;-webkit-text-size-adjust:100%}img,svg{image-rendering:pixelated}#root{min-height:100dvh}.app{max-width:520px;margin:0 auto;padding:0 20px calc(40px + env(safe-area-inset-bottom))}.px-box{border:0;border-radius:0;box-shadow:0 calc(-1 * var(--px)) 0 0 var(--ink),0 var(--px) 0 0 var(--ink),calc(-1 * var(--px)) 0 0 0 var(--ink),var(--px) 0 0 0 var(--ink)}h1{font-family:var(--font-display);font-size:27px;line-height:1.5;margin:24px 0 10px;color:var(--jk-yellow);text-shadow:var(--px) var(--px) 0 var(--ink);letter-spacing:0}h2{font-family:var(--font-display);font-size:20px;line-height:1.6;margin:28px 0 12px;color:var(--text);text-shadow:3px 3px 0 var(--ink)}h3{font-family:var(--font-pixel);font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:20px 0 8px}p{margin:8px 0}.muted{color:var(--muted)}.small{font-size:14px}.tiny{font-size:12px}.center{text-align:center}.mono,.pixel{font-family:var(--font-pixel)}.display{font-family:var(--font-display)}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.statusbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;padding:calc(10px + env(safe-area-inset-top)) 20px 10px;background:var(--ink);font-family:var(--font-pixel);font-size:14px;letter-spacing:.04em;color:var(--muted);border-bottom:var(--px) solid var(--jk-blue)}.dot{width:10px;height:10px;background:var(--good);flex:none}.dot.off{background:var(--warn)}.statusbar .grow{flex:1}.statusbar a{color:var(--jk-yellow);text-decoration:none}.card{background:var(--panel);padding:16px;margin:16px var(--px);border:0;border-radius:0;box-shadow:0 calc(-1 * var(--px)) 0 0 var(--ink),0 var(--px) 0 0 var(--ink),calc(-1 * var(--px)) 0 0 0 var(--ink),var(--px) 0 0 0 var(--ink)}.card.tight{padding:11px 13px}.card.me{background:var(--jk-yellow);color:var(--jk-blue)}.card.me .muted{color:#5b6a20}.card.me .pts{color:var(--jk-blue)}.card.me .pts.neg{color:var(--jk-pink-sh)}.row{display:flex;align-items:center;gap:10px}.row.between{justify-content:space-between}.grow{flex:1;min-width:0}.stack{display:flex;flex-direction:column;gap:14px}button,.btn{--fill: var(--panel-2);--fill-sh: var(--jk-blue-sh);--on-fill: var(--text);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;min-height:var(--tap);padding:14px 16px;margin-bottom:var(--px);font-family:var(--font-display);font-size:17px;line-height:1.35;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;text-align:center;color:var(--on-fill);background:var(--fill);border:0;border-radius:0;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;box-shadow:0 calc(-1 * var(--px)) 0 0 var(--ink),calc(-1 * var(--px)) 0 0 0 var(--ink),var(--px) 0 0 0 var(--ink),0 var(--px) 0 0 var(--fill-sh),0 calc(var(--px) * 2) 0 0 var(--ink);transition:none}button:after,.btn:after{content:"";position:absolute;left:var(--px);right:var(--px);top:var(--px);height:var(--px);background:#ffffff59;pointer-events:none}button:active:not(:disabled),.btn:active{transform:translateY(var(--px));box-shadow:0 calc(-1 * var(--px)) 0 0 var(--ink),calc(-1 * var(--px)) 0 0 0 var(--ink),var(--px) 0 0 0 var(--ink),0 var(--px) 0 0 var(--ink)}button:disabled{cursor:not-allowed;--fill: #2c3f6e;--fill-sh: #1d2b4d;--on-fill: #7286b3}button:disabled:after{background:#ffffff14}button:focus-visible,.btn:focus-visible{outline:var(--px) solid var(--jk-yellow);outline-offset:var(--px)}.btn-primary{--fill: var(--jk-yellow);--fill-sh: var(--jk-yellow-sh);--on-fill: var(--jk-blue)}.btn-good{--fill: var(--jk-teal);--fill-sh: var(--jk-teal-sh);--on-fill: #04231a}.btn-danger{--fill: var(--jk-pink);--fill-sh: var(--jk-pink-sh);--on-fill: #ffffff}.btn-warn{--fill: var(--jk-orange);--fill-sh: var(--jk-orange-sh);--on-fill: #2c0d02}.btn-purple{--fill: var(--jk-purple);--fill-sh: var(--jk-purple-sh);--on-fill: #ffffff}.btn-ghost{--fill: transparent;--on-fill: var(--muted);margin-bottom:0;box-shadow:0 calc(-1 * var(--px)) 0 0 var(--jk-blue),0 var(--px) 0 0 var(--jk-blue),calc(-1 * var(--px)) 0 0 0 var(--jk-blue),var(--px) 0 0 0 var(--jk-blue)}.btn-ghost:after{display:none}.btn-ghost:active{transform:none;box-shadow:0 calc(-1 * var(--px)) 0 0 var(--jk-yellow),0 var(--px) 0 0 var(--jk-yellow),calc(-1 * var(--px)) 0 0 0 var(--jk-yellow),var(--px) 0 0 0 var(--jk-yellow)}.statusbar .btn-ghost,.banner .btn-ghost{box-shadow:none}.btn-block{width:100%}.btn-lg{min-height:66px;font-size:21px;padding:16px}.btn-sm{min-height:40px;font-size:14px;padding:8px 10px;--px: 3px}.btnrow{display:flex;gap:12px;flex-wrap:wrap}.btnrow>*{flex:1;min-width:130px}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 var(--px)}.choices button{min-width:0;font-size:14px;padding:10px 4px;line-height:1.25}.choices button .tiny{font-size:11px;opacity:.8}input:not([type=checkbox]):not([type=radio]),select{font-family:var(--font-ui);font-size:17px;width:100%;min-height:var(--tap);padding:13px 14px;margin:0 0 var(--px);color:var(--text);background:var(--ink);border:0;border-radius:0;box-shadow:0 calc(-1 * var(--px)) 0 0 var(--jk-blue),0 var(--px) 0 0 var(--jk-blue),calc(-1 * var(--px)) 0 0 0 var(--jk-blue),var(--px) 0 0 0 var(--jk-blue)}input:not([type=checkbox]):not([type=radio]):focus,select:focus{outline:none;box-shadow:0 calc(-1 * var(--px)) 0 0 var(--jk-yellow),0 var(--px) 0 0 var(--jk-yellow),calc(-1 * var(--px)) 0 0 0 var(--jk-yellow),var(--px) 0 0 0 var(--jk-yellow)}input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:30px;height:30px;min-height:0;flex:none;margin:0;padding:0;cursor:pointer;background:var(--ink);box-shadow:inset 0 0 0 3px currentColor}input[type=checkbox]:checked{background:url("data:image/svg+xml,<svg xmlns='http%3A//www.w3.org/2000/svg' viewBox='0 0 9 9' shape-rendering='crispEdges' fill='%23070f26'><rect x='7' y='1' width='1' height='1'/><rect x='8' y='1' width='1' height='1'/><rect x='6' y='2' width='1' height='1'/><rect x='7' y='2' width='1' height='1'/><rect x='5' y='3' width='1' height='1'/><rect x='6' y='3' width='1' height='1'/><rect x='1' y='4' width='1' height='1'/><rect x='5' y='4' width='1' height='1'/><rect x='6' y='4' width='1' height='1'/><rect x='1' y='5' width='1' height='1'/><rect x='2' y='5' width='1' height='1'/><rect x='4' y='5' width='1' height='1'/><rect x='5' y='5' width='1' height='1'/><rect x='2' y='6' width='1' height='1'/><rect x='3' y='6' width='1' height='1'/><rect x='4' y='6' width='1' height='1'/><rect x='3' y='7' width='1' height='1'/></svg>") center / 68% 68% no-repeat,var(--jk-yellow);box-shadow:inset 0 0 0 3px var(--ink)}label{display:block;font-family:var(--font-pixel);font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:18px 0 8px}.code-input{font-family:var(--font-arcade);font-size:27px;letter-spacing:.16em;text-align:center;text-transform:uppercase;color:var(--jk-yellow);min-height:76px;padding:16px 8px}.pips{display:inline-flex;gap:3px;align-items:center;flex:none}.pip{width:12px;height:12px;background:transparent;box-shadow:inset 0 0 0 2px var(--muted)}.pip.on{background:var(--jk-yellow);box-shadow:inset 0 0 0 2px var(--ink)}.pip.extra{background:var(--jk-teal);box-shadow:inset 0 0 0 2px var(--ink)}.card.me .pip{box-shadow:inset 0 0 0 2px #23499a73}.card.me .pip.on{background:var(--jk-blue);box-shadow:inset 0 0 0 2px var(--jk-blue-sh)}.line{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:2px solid rgba(147,168,214,.18);font-family:var(--font-ui)}.card.me .line{border-bottom-color:#23499a40}.line:last-child{border-bottom:none}.line .rank{width:30px;flex:none;font-family:var(--font-pixel);font-size:15px;color:var(--muted)}.line .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line .nm.wrap{overflow:visible;text-overflow:clip;white-space:normal}.line .pts{font-family:var(--font-arcade);font-size:13px;min-width:46px;text-align:right;flex:none;color:var(--jk-yellow)}.pts.neg{color:var(--jk-pink)}.line.self{color:var(--jk-yellow);font-weight:700}.line.self .nm:before{content:"▸ "}.badge{display:inline-block;flex:none;padding:4px 8px;font-family:var(--font-pixel);font-size:13px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;color:var(--muted);background:var(--ink);box-shadow:inset 0 0 0 2px currentColor}.badge.good{color:var(--jk-teal)}.badge.bad{color:var(--jk-pink)}.badge.gold{color:var(--jk-yellow)}.badge.accent{color:var(--jk-blue);background:var(--jk-yellow)}.badge.warn{color:var(--jk-orange)}.feed-item{padding:9px 0;border-bottom:2px solid rgba(147,168,214,.18);font-size:15px}.feed-item:last-child{border-bottom:none}.feed-item.voided{opacity:.4;text-decoration:line-through}.jukko-fail{color:var(--jk-pink);font-weight:700}.jukko-ok{color:var(--jk-teal);font-weight:700}.banner{padding:13px 15px;margin:16px var(--px);font-size:15px;color:var(--text);background:var(--panel);box-shadow:0 calc(-1 * var(--px)) 0 0 var(--ink),0 var(--px) 0 0 var(--ink),calc(-1 * var(--px)) 0 0 0 var(--ink),var(--px) 0 0 0 var(--ink)}.banner.warn{background:var(--jk-orange);color:#2c0d02}.banner.bad{background:var(--jk-pink);color:#fff}.banner.good{background:var(--jk-teal);color:#04231a}.banner.accent{background:var(--jk-blue);color:#fff}.banner.warn .btn-ghost,.banner.good .btn-ghost,.banner.bad .btn-ghost,.banner label,.banner .muted,.banner h3{color:inherit}.banner label{opacity:.95}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(20px + env(safe-area-inset-bottom));width:min(486px,calc(100vw - 40px));z-index:50;display:flex;align-items:center;gap:12px;padding:13px 15px;background:var(--jk-blue);box-shadow:0 calc(-1 * var(--px)) 0 0 var(--ink),0 var(--px) 0 0 var(--ink),calc(-1 * var(--px)) 0 0 0 var(--ink),var(--px) 0 0 0 var(--ink)}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px;background:#070f26d1}.modal{width:min(440px,100%);max-height:88dvh;overflow:auto;padding:20px;background:var(--panel);box-shadow:0 calc(-1 * var(--px)) 0 0 var(--ink),0 var(--px) 0 0 var(--ink),calc(-1 * var(--px)) 0 0 0 var(--ink),var(--px) 0 0 0 var(--ink)}.modal h2{margin-top:0;font-size:13px}.celebrate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:28px;text-align:center;background:var(--jk-blue)}.celebrate .trophy{font-size:84px;animation:bob .7s steps(2,end) infinite}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.tabs{display:flex;gap:10px;margin:18px var(--px);overflow-x:auto;padding-bottom:var(--px)}.tabs button{min-height:44px;font-size:15px;padding:10px 14px;--px: 3px;flex:none}.tabs button[aria-selected=true]{--fill: var(--jk-yellow);--fill-sh: var(--jk-yellow-sh);--on-fill: var(--jk-blue)}.qr{display:inline-block;padding:10px;line-height:0;background:#fff;box-shadow:0 calc(-1 * var(--px)) 0 0 var(--ink),0 var(--px) 0 0 var(--ink),calc(-1 * var(--px)) 0 0 0 var(--ink),var(--px) 0 0 0 var(--ink)}.qr svg{display:block;width:100%;height:auto}hr{border:0;border-top:var(--px) solid var(--jk-blue);margin:24px var(--px)}a{color:var(--jk-yellow)}a.card,a.card:hover{text-decoration:none;color:inherit;display:block}a.card strong{color:var(--jk-yellow)}.bigcode{font-family:var(--font-arcade);font-size:34px;letter-spacing:.1em;color:var(--jk-yellow);text-shadow:var(--px) var(--px) 0 var(--ink);word-break:break-all}.bigscore{font-family:var(--font-arcade);font-size:30px;line-height:1}.tv{height:100%;max-width:none;padding:18px 22px;display:grid;grid-template-columns:36% 1fr;grid-template-rows:auto minmax(0,1fr);gap:14px 20px;overflow:hidden}.tv-head{grid-column:1 / -1;display:flex;align-items:center;gap:18px}.tv-head h1{margin:0;font-size:22px}.tv-code{font-family:var(--font-arcade);font-size:24px;letter-spacing:.08em;color:var(--jk-yellow)}.tv-col{min-height:0;display:flex;flex-direction:column;gap:10px;overflow:hidden}.tv-col:last-child{display:grid;grid-template-rows:auto minmax(150px,1fr)}.tv-col>.card{margin:0 var(--px);overflow:hidden}.tv-col h3{margin:0 0 2px}.tv .line{font-size:var(--row-font, 18px);height:var(--row-h, 40px);padding:0;gap:8px}.tv .line .rank{width:26px;font-size:calc(var(--row-font, 18px) * .8)}.tv .line .pts{font-size:calc(var(--row-font, 18px) * .8);min-width:52px}.tv .line .badge{font-size:calc(var(--row-font, 18px) * .72);padding:2px 6px}.tv .pip{width:13px;height:13px}.tv-tables{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--card-min, 200px),1fr));gap:10px;align-content:start;flex:none}.tv-tables .card{margin:0;padding:10px 12px}.tv-tables .card>.row:first-child strong{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tv-tables.dense{gap:8px}.tv-tables.dense .card{padding:7px 9px}.tv-tables.dense .card>.row:first-child strong{font-size:13px}.tv-tables.dense .badge{font-size:11px;padding:1px 5px}.tv .card.final{grid-column:1 / -1;background:var(--jk-purple)}.tv-feed{flex:1 1 auto;min-height:0;overflow:hidden}.tv-feed .feed-item{padding:5px 0;font-size:15px}.tv-feed .feed-item:last-child{border-bottom:none}.tv .muted,.tv .tiny,.tv .small{font-size:13px}.tv h3{font-size:15px}.flash{animation:flash .9s steps(3,end)}@keyframes flash{0%{background:var(--jk-blue)}to{background:var(--panel)}}@media(max-width:760px){.tv{grid-template-columns:1fr}}@media(max-width:380px){:root{--px: 3px}h1{font-size:23px}.bigcode{font-size:26px}button,.btn{font-size:16px}.btn-lg{font-size:18px}}.avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;overflow:hidden;background:var(--panel-2);color:#fff;font-family:var(--font-display);line-height:1;box-shadow:inset 0 0 0 2px var(--ink)}.avatar img{width:100%;height:100%;object-fit:cover;display:block;image-rendering:pixelated}.card.me .avatar{box-shadow:inset 0 0 0 2px var(--jk-blue)}.avatar-pick{padding:0;overflow:hidden;min-height:0;--fill: var(--panel-2);--fill-sh: var(--jk-blue-sh)}.avatar-pick img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.avatar-pick:after{display:none}.line .avatar{margin-right:2px}.tv .avatar{box-shadow:inset 0 0 0 3px var(--ink)}.avatar-clear{position:absolute;top:var(--px);right:var(--px);min-height:0;width:28px;height:28px;padding:0;font-size:13px;--fill: var(--jk-pink);--fill-sh: var(--jk-pink-sh);--on-fill: #fff;margin:0}.avatar-clear:after{display:none}.tv-frame{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#000}.tv-stage{position:absolute;top:50%;left:50%;transform-origin:center center;background-color:var(--bg);background-image:linear-gradient(45deg,rgba(255,255,255,.022) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.022) 75%);background-size:8px 8px}.tv-stage .tv{width:100%;height:100%;min-height:0;padding:22px 26px}.tv .card.lb{display:grid;grid-template-columns:repeat(var(--lb-cols, 1),minmax(0,1fr));column-gap:16px;align-content:start}.tv .card.lb .line{border-bottom-color:#93a8d624}.navbtn{min-height:38px;width:38px;padding:0;margin:0;flex:none;font-family:var(--font-ui);font-size:17px;line-height:1;--fill: transparent;--on-fill: var(--jk-yellow);box-shadow:none}.navbtn:after{display:none}.navbtn:active{transform:translateY(2px);box-shadow:none}.modal.menu .stack button{justify-content:flex-start;text-align:left}.modal.menu hr{margin:6px var(--px)}
