:root{--ink:#f2f2f2;--paper:#101012;--surface:#17171a;--grey-900:#cfcfd2;--grey-600:#8b8b91;--grey-300:#34343a;--grey-100:#202024;--red:#e33b41;--red-muted:#ef7d81;--card-face:#1d1d21;--card-face-derived:#26262b;--wheel-face:#2a2a30;--radius:10px;--card-w:clamp(86px, 22vw, 132px);--card-h:calc(var(--card-w) * 1.42);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,-apple-system,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html,body{background:var(--paper);min-height:100%;color:var(--ink);margin:0;padding:0}body{overscroll-behavior:none}#root{justify-content:center;min-height:100dvh;display:flex}.app{flex-direction:column;gap:18px;width:100%;max-width:420px;padding:20px 20px 32px;display:flex}@media (width>=700px) and (height>=640px){#root{align-items:center;padding:32px 0}.app{gap:20px;max-width:520px}h1{font-size:48px}}.banner{flex-direction:column;gap:12px;padding:4px 0 2px;display:flex;position:relative}.langswitch{color:var(--grey-600);text-underline-offset:3px;background:0 0;border:0;padding:4px 2px;font-size:13px;text-decoration:underline;position:absolute;top:4px;right:0}.langswitch:hover:not(:disabled){color:var(--ink);background:0 0;border:0}h1{letter-spacing:-.045em;margin:0;font-size:clamp(44px,13vw,76px);font-weight:800;line-height:1.12}.tagline{color:var(--grey-600);letter-spacing:.14em;text-transform:uppercase;font-size:clamp(13px,3.4vw,16px)}h2{letter-spacing:-.01em;margin:0;font-size:19px;font-weight:700}.muted{color:var(--grey-600)}.mono{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.tiny{font-size:13px;line-height:1.45}.howto{color:var(--grey-600);flex-direction:column;gap:9px;font-size:13px;line-height:1.5;display:flex}.howto p{margin:0}button{font:inherit;cursor:pointer;border-radius:var(--radius);border:1px solid var(--grey-300);background:var(--surface);color:var(--ink);padding:11px 16px;transition:background .12s,border-color .12s,opacity .12s}button:hover:not(:disabled){background:var(--grey-100);border-color:var(--grey-600)}button:disabled{color:var(--grey-300);cursor:default}button.primary{background:var(--red);border-color:var(--red);color:#fff;width:100%;padding:14px 18px;font-size:16px;font-weight:650}button.primary:hover:not(:disabled){background:#c8272d;border-color:#c8272d}button.danger{color:var(--red);border-color:var(--grey-300)}.link,.skip{color:var(--grey-600);text-underline-offset:3px;background:0 0;border:0;padding:4px 2px;font-size:13px;text-decoration:underline}.link:hover:not(:disabled),.skip:hover:not(:disabled){color:var(--ink);background:0 0;border:0}.skip{white-space:nowrap;flex:none}.row{gap:8px;display:flex}.row>*{flex:1}.topbar{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.clock{letter-spacing:-.02em;font-size:30px;font-weight:700}.clock.penalized{color:var(--red)}.target{color:var(--grey-600);align-items:center;gap:8px;font-size:14px;display:inline-flex}.mute{color:var(--grey-600);opacity:.9;background:0 0;border:0;padding:2px 4px;line-height:0}.mute:hover:not(:disabled){color:var(--ink);background:0 0;border:0}.card.guide-from{border-color:var(--ink);animation:1.6s ease-in-out infinite guide-pulse}@keyframes guide-pulse{50%{transform:translateY(-5px);box-shadow:0 10px 22px #00000080}}.card.guide-to{border-style:dashed;border-color:var(--grey-600)}.step{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.step-count{letter-spacing:.14em;text-transform:uppercase;color:var(--grey-600);font-size:11px}.step-say{color:var(--ink);font-size:15px;line-height:1.4}.step-say strong{font-weight:700}.linkrow{gap:8px;display:flex}.linkrow input[type=text]{text-overflow:ellipsis;flex:1;min-width:0;font-size:12px}.linkrow button.primary{flex:none;width:auto;padding:11px 18px;font-size:15px}.recordbar{border-color:var(--grey-300);width:100%;color:var(--grey-600);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.recordbar:hover:not(:disabled){background:var(--grey-100);color:var(--grey-900)}.recordbar .chev{white-space:nowrap;color:var(--grey-900)}.runrow{border-bottom:1px solid var(--grey-100);grid-template-columns:58px 1fr auto;align-items:center;gap:10px;padding:4px 0;display:grid}.runrow:last-child{border-bottom:0}.runrow .beat{color:var(--grey-900)}.runrow .lost{color:var(--red-muted)}.progress{gap:4px;display:flex}.pip{background:var(--grey-300);border-radius:2px;flex:1;height:3px}.pip.done{background:var(--ink)}.pip.gaveup{background:var(--red)}.app.playing{justify-content:center;padding-bottom:48px}.board.won .card{border:2px solid var(--ink);background:var(--grey-100);z-index:5;animation:.9s cubic-bezier(.2,1.1,.3,1) forwards finale}@keyframes finale{0%{transform:scale(1)}35%{transform:scale(1.32);box-shadow:0 12px 40px #0009}to{transform:scale(1.26);box-shadow:0 12px 40px #0009}}.board.won .card:after{content:"";border-radius:var(--radius);border:2px solid var(--ink);pointer-events:none;animation:.9s ease-out forwards ring;position:absolute;inset:0}@keyframes ring{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.85)}}.card.derived{animation:.24s cubic-bezier(.2,1.3,.4,1) land}@keyframes land{0%{opacity:.5;transform:scale(.72)}60%{transform:scale(1.07)}}.flyer{z-index:40;pointer-events:none;width:var(--card-w);height:var(--card-h);border:1px solid var(--grey-600);border-radius:var(--radius);background:var(--card-face);justify-content:center;align-items:center;animation:.2s ease-in forwards fly;display:flex;position:fixed;top:0;left:0}.flyer .rank{font-size:calc(var(--card-w) * .36)}.flyer.red .rank{color:var(--red-muted)}.flyer.derived{background:var(--card-face-derived)}@keyframes fly{0%{transform:translate3d(calc(var(--fx) - 50%), calc(var(--fy) - 50%), 0) scale(1);opacity:1}to{transform:translate3d(calc(var(--tx) - 50%), calc(var(--ty) - 50%), 0) scale(.55);opacity:0}}.board.nudge .card{animation:2.4s ease-in-out infinite breathe}.board.nudge .slot:nth-child(2) .card{animation-delay:.12s}.board.nudge .slot:nth-child(3) .card{animation-delay:.24s}.board.nudge .slot:nth-child(4) .card{animation-delay:.36s}.board.nudge .card.lifted,.board.nudge .card.armed{animation:none}@keyframes breathe{50%{border-color:var(--grey-600);transform:translateY(-4px)}}.cheer{flex-direction:column;align-items:center;gap:4px;padding:6px 0;animation:.26s ease-out cheer-in;display:flex}.cheer-time{letter-spacing:-.03em;font-size:30px;font-weight:800;line-height:1}.cheer-line{color:var(--grey-900);font-size:13px}.cheer-streak{letter-spacing:.08em;text-transform:uppercase;color:var(--grey-600);align-items:center;gap:7px;font-size:12px;display:inline-flex}.cheer-streak .pips{letter-spacing:.18em;color:var(--ink)}@keyframes cheer-in{0%{opacity:0;transform:translateY(7px)}}.streak{border:1px solid var(--grey-300);letter-spacing:.04em;color:var(--grey-900);border-radius:999px;padding:2px 7px;font-size:11px}.nudge-note{color:var(--grey-900);animation:.4s ease-out fade-in}@keyframes fade-in{0%{opacity:0}}.app.shaking{animation:.42s ease-in-out shake}@keyframes shake{10%,50%,90%{transform:translate(-5px)}30%,70%{transform:translate(5px)}}@media (prefers-reduced-motion:reduce){.board.won .card,.board.nudge .card,.app.shaking,.wheel,.proxy{animation:none}}.board{grid-template-columns:repeat(2, var(--card-w));grid-template-rows:repeat(2, var(--card-h));touch-action:none;justify-content:center;gap:14px;padding:8px 0 4px;display:grid}.board.single{grid-template-columns:var(--card-w);grid-template-rows:var(--card-h);min-height:calc(var(--card-h) * 2 + 14px);align-content:center}.slot{width:var(--card-w);height:var(--card-h)}.card{border:1px solid var(--grey-300);border-radius:var(--radius);background:var(--card-face);-webkit-user-select:none;user-select:none;touch-action:none;justify-content:center;align-items:center;width:100%;height:100%;transition:box-shadow .12s,border-color .12s,transform .12s;display:flex;position:relative;box-shadow:0 1px 2px #0006}.card.lifted{opacity:.35;border-style:dashed;border-color:var(--grey-600);box-shadow:none}.proxy{z-index:60;pointer-events:none;width:calc(var(--card-w) * .5);height:calc(var(--card-w) * .71);border:1px solid var(--grey-600);background:var(--card-face);border-radius:7px;justify-content:center;align-items:center;animation:.11s ease-out proxy-in;display:flex;position:fixed;top:0;left:0;translate:-175% -180%;box-shadow:0 8px 20px #0009}.proxy .rank{font-size:calc(var(--card-w) * .26)}.proxy.red .rank{color:var(--red-muted)}.proxy.derived{background:var(--card-face-derived);border-style:dashed}@keyframes proxy-in{0%{opacity:.4;scale:.7}}.card.armed{border-color:var(--ink);z-index:15;transform:scale(1.1)}.board.dragging .card:not(.armed):not(.lifted){opacity:.25}.board.dragging .card:not(.armed):not(.lifted) .corner{opacity:0}.card.derived{background:var(--card-face-derived);border-style:dashed}.card .rank{font-size:calc(var(--card-w) * .36);letter-spacing:-.02em;font-weight:700}.card .rank.fraction{font-size:calc(var(--card-w) * .25)}.card .corner{font-size:calc(var(--card-w) * .13);text-align:center;font-weight:650;line-height:1.05;position:absolute}.card .corner.tl{top:7px;left:8px}.card .corner.tr{top:7px;right:8px}.card .corner.bl{bottom:7px;left:8px}.card .corner.br{bottom:7px;right:8px}.card.red .rank,.card.red .corner{color:var(--red-muted)}.wheel{z-index:30;pointer-events:none;width:100%;height:100%;clip-path:inset(0 round var(--radius));animation:.11s ease-out wheel-in;position:absolute;inset:0}@keyframes wheel-in{0%{opacity:0;scale:.9}}.wheel .sector{transition:opacity .11s}.wheel .sector path{fill:var(--wheel-face);stroke:var(--paper);stroke-width:3px;stroke-linejoin:round;transition:fill .11s}.wheel .sector text{fill:var(--grey-900);text-anchor:middle;dominant-baseline:central;font-size:26px;font-weight:700;transition:fill .11s}.wheel .sector.hot path{fill:var(--ink)}.wheel .sector.hot text{fill:var(--paper)}.wheel .sector.off{opacity:.25}.panel{border:1px solid var(--grey-300);background:var(--surface);border-radius:var(--radius);flex-direction:column;gap:10px;padding:16px;display:flex}.panel.flag{border-left:3px solid var(--red)}.expr{letter-spacing:-.01em;word-break:break-word;font-size:17px;font-weight:650}.bigtime{letter-spacing:-.04em;font-size:52px;font-weight:800;line-height:1}.scoreline{border-bottom:1px solid var(--grey-100);justify-content:space-between;padding:7px 0;display:flex}.scoreline:last-child{border-bottom:0}.scoreline.win{font-weight:700}.splits{flex-direction:column;gap:5px;display:flex}.splitrow{grid-template-columns:16px 1fr 42px 38px;align-items:center;gap:8px;display:grid}.splitrow .bar{background:var(--grey-100);border-radius:4px;height:8px;overflow:hidden}.splitrow .fill{background:var(--ink);border-radius:4px;height:100%;display:block}.splitrow .fill.gaveup{background:var(--red)}.splitrow .behind{color:var(--red)}input[type=text]{font:inherit;border:1px solid var(--grey-300);border-radius:var(--radius);background:var(--surface);color:var(--ink);width:100%;padding:11px 12px}input[type=text]::placeholder{color:var(--grey-600)}input[type=text]:focus{outline:2px solid var(--ink);outline-offset:-1px;border-color:var(--ink)}.center{text-align:center}.stack{flex-direction:column;gap:12px;display:flex}.spacer{flex:1}@media (height<=560px){:root{--card-w:clamp(70px, 15vh, 110px)}}
