:root{--bg:#0a0a0f;--buy:#2bff9b;--sell:#ff3b52;--neutral:#eef3ff;--btc:#f7931a;--dim:#eef3ff57;--font:"JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--ease:cubic-bezier(.22, .61, .36, 1)}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--neutral);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}#stage{touch-action:none;cursor:none;width:100%;height:100%;display:block;position:fixed;inset:0}.intro{z-index:10;cursor:pointer;text-align:center;transition:opacity .8s var(--ease);background:#05050a;flex-direction:column;justify-content:center;align-items:center;gap:3.5rem;display:flex;position:fixed;inset:0}.intro.is-gone{opacity:0;pointer-events:none}.intro__card{letter-spacing:.14em;color:#fff;text-shadow:3px 0 #ff3b52e6,-3px 0 #2bff9be6;transition:opacity .24s var(--ease), transform .24s var(--ease);flex-direction:column;gap:1.1rem;font-size:clamp(1.6rem,5.2vw,4rem);font-weight:700;line-height:1.15;display:flex}.intro__card.is-out{opacity:0;transform:scale(.97)}.intro__card.is-split .intro__line{background:linear-gradient(90deg, var(--buy) 0%, var(--buy) 38%, #fff 50%, var(--sell) 62%, var(--sell) 100%);color:#0000;text-shadow:none;-webkit-background-clip:text;background-clip:text}.intro__prompt{letter-spacing:.5em;text-indent:.5em;color:var(--dim);font-size:clamp(.7rem,1.3vw,.95rem);animation:1.1s step-end infinite blink}@keyframes blink{50%{opacity:.15}}.crosshair{z-index:4;pointer-events:none;opacity:0;will-change:transform;width:40px;height:40px;transition:opacity .25s var(--ease);margin:-20px 0 0 -20px;position:fixed;top:0;left:0}.crosshair.is-visible{opacity:.75}.crosshair svg{fill:none;stroke:#eef3ffd9;stroke-width:1.2px;transform-origin:50%;width:100%;height:100%;transition:stroke .16s var(--ease), stroke-width .16s var(--ease), transform .11s var(--ease)}.crosshair.is-firing svg{stroke:#fff;transform:scale(.76)}.crosshair.is-hit svg{stroke:var(--buy);stroke-width:2.4px;transform:scale(1.3)}.crosshair__dot{fill:currentColor;stroke:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.price-block{z-index:3;pointer-events:none;text-align:center;will-change:transform;opacity:0;transition:opacity .9s var(--ease);position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.price-block.is-ready{opacity:1}.price-block__label{letter-spacing:.42em;text-indent:.42em;color:var(--dim);margin-bottom:.85rem;font-size:clamp(.68rem,1.1vw,.86rem);font-weight:400}.price-block__value{letter-spacing:.01em;color:#fff;font-variant-numeric:tabular-nums;text-shadow:0 0 28px #bed6ff8c,0 0 82px #78a0ff4d;font-size:clamp(2.4rem,6.2vw,5rem);font-weight:300;line-height:1}.rank{z-index:3;pointer-events:none;flex-direction:column;gap:.4rem;display:flex;position:fixed;top:clamp(1.2rem,3vh,2rem);left:clamp(1.2rem,3vw,2.2rem)}.rank__name{letter-spacing:.22em;color:#fff;text-shadow:0 0 20px #bed6ff73;transition:opacity .2s var(--ease);font-size:clamp(.95rem,1.7vw,1.4rem);font-weight:700}.rank__name.is-handing-over{opacity:0}.rank__line{align-items:baseline;gap:.7rem;display:flex}.rank__stars{flex-wrap:wrap;gap:.22rem;max-width:12rem;display:flex}.rank__stars svg{width:clamp(.72rem,1.15vw,1rem);height:clamp(.72rem,1.15vw,1rem);fill:var(--btc);filter:drop-shadow(0 0 6px #f7931a8c);display:block}@keyframes star-in{0%{opacity:0;transform:scale(0)rotate(-90deg)}to{opacity:1;transform:scale(1)rotate(0)}}.rank__stars svg.is-new{animation:star-in .42s var(--ease) both}.rank__progress{letter-spacing:.12em;color:var(--btc);font-variant-numeric:tabular-nums;text-shadow:0 0 18px #f7931a66;font-size:1.44rem;font-weight:700}.rank__scores{pointer-events:auto;cursor:pointer;color:var(--btc);font:inherit;letter-spacing:.18em;transition:border-color .16s var(--ease), background .16s var(--ease);background:#0a0a0f8c;border:1px solid #f7931a59;align-self:flex-start;margin-top:.55rem;padding:.3rem .6rem;font-size:.66rem;font-weight:700}.rank__scores:hover{background:#f7931a1f;border-color:#f7931ae6}.levelup{z-index:5;pointer-events:none;opacity:0;visibility:hidden;flex-direction:column;align-items:center;gap:.5rem;display:flex;position:fixed;top:15%;left:50%;transform:translate(-50%,-50%)}.levelup.is-on{visibility:visible;opacity:1}.levelup__star{color:#ffd15c;filter:drop-shadow(0 0 18px #ffd15cbf);width:clamp(2.4rem,5vw,3.6rem);height:clamp(2.4rem,5vw,3.6rem)}.levelup__star svg{fill:currentColor;width:100%;height:100%}.levelup.is-on .levelup__star{animation:star-pop .7s var(--ease) both}@keyframes star-pop{0%{opacity:0;transform:scale(.2)rotate(-40deg)}60%{opacity:1;transform:scale(1.15)rotate(6deg)}to{opacity:1;transform:scale(1)rotate(0)}}.levelup__label{letter-spacing:.45em;text-indent:.45em;color:#ffd15c;font-size:clamp(.7rem,1.2vw,.9rem);font-weight:700}.levelup__rank{letter-spacing:.22em;color:#fff;white-space:nowrap;text-shadow:0 0 20px #bed6ff73;transform-origin:0;font-size:clamp(.95rem,1.7vw,1.4rem);font-weight:700}.levelup__rank.is-travelling{transition:transform .9s cubic-bezier(.65,0,.35,1)}@media (prefers-reduced-motion:reduce){.levelup.is-on .levelup__star{animation:none}.levelup__rank.is-travelling{transition:none}}.rungs{z-index:1;pointer-events:none;position:fixed;inset:0}.rung{letter-spacing:.06em;font-variant-numeric:tabular-nums;white-space:nowrap;will-change:transform;transition:opacity .5s var(--ease);font-size:clamp(.85rem,1.35vw,1.2rem);font-weight:300;position:absolute;top:0;left:0}.rung--bid{color:#2bff9bbf}.rung--ask{color:#ff3b52b8}.hud{z-index:2;pointer-events:none;position:fixed;inset:0}.pressure{width:min(24rem,42vw);position:absolute;bottom:clamp(1.6rem,4vh,2.8rem);left:50%;transform:translate(-50%)}.pressure__track{background:#eef3ff14;height:2px;display:flex;position:relative;overflow:hidden}.pressure__fill{width:50%;height:100%;transition:width .42s var(--ease);flex:none}.pressure__fill--buy{background:linear-gradient(90deg, #2bff9b00 0%, var(--buy) 100%);box-shadow:0 0 14px #2bff9b99}.pressure__fill--sell{background:linear-gradient(90deg, var(--sell) 0%, #ff3b5200 100%);box-shadow:0 0 14px #ff3b5273}.status{letter-spacing:.3em;color:var(--dim);align-items:center;gap:.6rem;font-size:.78rem;display:flex;position:absolute;bottom:clamp(1.4rem,3.6vh,2.4rem);left:clamp(1.2rem,3vw,2.2rem)}.status__dot{background:var(--dim);width:6px;height:6px;transition:background .6s var(--ease), box-shadow .6s var(--ease);border-radius:50%}.status.is-live .status__dot{background:var(--buy);box-shadow:0 0 10px var(--buy)}.status.is-connecting .status__dot{animation:1.8s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.2}}.options__toggle{width:30px;height:30px;color:var(--dim);cursor:pointer;pointer-events:auto;opacity:.5;transition:opacity .4s var(--ease), color .4s var(--ease);background:0 0;border:0;padding:0;position:absolute;bottom:clamp(1.4rem,3.6vh,2.4rem);right:clamp(1.2rem,3vw,2.2rem)}.options__toggle:hover,.options__toggle[aria-expanded=true]{opacity:1;color:var(--neutral)}.options__toggle svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;width:100%;height:100%}.options__panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:auto;background:#0c0c14e6;border:1px solid #eef3ff1a;min-width:15rem;padding:1.1rem 1.2rem;position:absolute;bottom:calc(clamp(1.4rem,3.6vh,2.4rem) + 44px);right:clamp(1.2rem,3vw,2.2rem)}.options__panel[hidden]{display:none}.options__row{justify-content:space-between;align-items:center;gap:1.2rem;display:flex}.options__label{letter-spacing:.24em;color:var(--dim);font-size:.72rem}.options__seg{border:1px solid #eef3ff24;display:flex}.options__seg button{color:var(--dim);font-family:var(--font);letter-spacing:.1em;cursor:pointer;transition:color .3s var(--ease), background .3s var(--ease);background:0 0;border:0;padding:.4rem .7rem;font-size:.7rem}.options__seg button.is-active{color:var(--neutral);background:#eef3ff1a}.options__note{letter-spacing:.04em;color:#eef3ff47;margin:.9rem 0 0;font-size:.66rem;line-height:1.6}@media (prefers-reduced-motion:reduce){.price-block,.pressure__fill,.status__dot{transition-duration:1ms}.status.is-connecting .status__dot,.over__card,.scores__card,.rank__stars svg.is-new{animation:none}}.over,.scores{z-index:12;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#040408b8;justify-content:center;align-items:center;padding:1.2rem;display:flex;position:fixed;inset:0}.over[hidden],.scores[hidden]{display:none}.over__card,.scores__card{text-align:center;animation:card-in .24s var(--ease) both;background:#0a0a0ff0;border:1px solid #f7931a66;padding:1.8rem 2rem;box-shadow:0 0 60px #000000b3,inset 0 0 0 1px #f7931a0f}@keyframes card-in{0%{opacity:0;transform:scale(.94)}}.over__title{letter-spacing:.22em;color:var(--sell);text-shadow:0 0 30px #ff3b5280;font-size:clamp(1.7rem,4vw,2.8rem);font-weight:700}.over__line{justify-content:center;align-items:baseline;gap:.45rem;margin-top:1rem;display:flex}.over__score{color:var(--btc);font-variant-numeric:tabular-nums;font-size:clamp(2.4rem,6vw,3.6rem);font-weight:700;line-height:1}.over__unit{letter-spacing:.2em;color:var(--dim);font-size:.8rem}.over__rank{letter-spacing:.24em;color:var(--neutral);opacity:.75;margin-top:.4rem;font-size:.78rem}.over__entry{flex-direction:column;align-items:center;gap:.6rem;margin-top:1.4rem;display:flex}.over__entry[hidden]{display:none}.over__label{letter-spacing:.18em;color:var(--btc);font-size:.68rem}.over__name{font:inherit;letter-spacing:.16em;text-align:center;text-transform:uppercase;color:var(--neutral);background:#eef3ff0f;border:1px solid #eef3ff38;width:11rem;padding:.5rem .7rem;font-size:.95rem}.over__name:focus{border-color:var(--btc);outline:none}.over__save,.over__again{font:inherit;letter-spacing:.2em;cursor:pointer;color:var(--btc);transition:background .16s var(--ease), border-color .16s var(--ease);background:#f7931a24;border:1px solid #f7931a8c;padding:.5rem 1.1rem;font-size:.72rem;font-weight:700}.over__again{margin-top:1.4rem}.over__save:hover,.over__again:hover{border-color:var(--btc);background:#f7931a42}.scores__card{text-align:left;min-width:min(30rem,92vw)}.scores__head{justify-content:space-between;align-items:center;gap:1.4rem;margin-bottom:1.2rem;display:flex}.scores__title{letter-spacing:.24em;color:var(--btc);font-size:.9rem;font-weight:700}.scores__close{color:var(--dim);cursor:pointer;background:0 0;border:0;padding:0 .2rem;font-size:1.4rem;line-height:1}.scores__close:hover{color:var(--neutral)}.scores__boards{grid-template-columns:1fr 1fr;gap:1.6rem;display:grid}.scores__side{letter-spacing:.2em;border-bottom:1px solid #eef3ff1f;margin-bottom:.5rem;padding-bottom:.5rem;font-size:.68rem;font-weight:700}.scores__side--bull{color:var(--buy)}.scores__side--bear{color:var(--sell)}.scores__list{letter-spacing:.06em;margin:0;padding:0;font-size:.72rem;list-style:none}.scores__list li{color:var(--neutral);opacity:.85;grid-template-columns:1.4rem 1fr auto;gap:.5rem;padding:.28rem 0;display:grid}.scores__list li.is-new{color:var(--btc);opacity:1}.scores__place{color:var(--dim);font-variant-numeric:tabular-nums}.scores__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scores__pts{font-variant-numeric:tabular-nums}.scores__empty{color:var(--dim);grid-column:1/-1}.scores__note{letter-spacing:.14em;color:var(--dim);text-align:center;margin:1.3rem 0 0;font-size:.62rem}@media (max-width:560px){.scores__boards{grid-template-columns:1fr;gap:1.2rem}}
