:root{--jt-ink: #0f2b33;--jt-cream: #fff6e0;--jt-juice: #ff5e3a;--jt-lime: #8fd633;--jt-sky: #2ec6d6;--jt-shadow: rgba(8, 32, 40, .55);--jt-ui-font: "Trebuchet MS", "Avenir Next", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;overflow:hidden;background:#0d3b4f;font-family:var(--jt-ui-font);touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}#app{position:fixed;inset:0}#stage{display:block;width:100%;height:100%;touch-action:none}#hud{position:absolute;inset:0;pointer-events:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.panel,.actions,.btn{pointer-events:auto}.stick{position:fixed;top:0;left:0;border-radius:50%;pointer-events:none;z-index:5}.stick--base{width:132px;height:132px;background:radial-gradient(circle,#fff6e029,#fff6e00d 70%);border:2px solid rgba(255,246,224,.35)}.stick--knob{width:62px;height:62px;background:#fff6e0d1;border:3px solid var(--jt-juice);box-shadow:0 4px 14px var(--jt-shadow)}.readout{position:absolute;bottom:calc(10px + env(safe-area-inset-bottom));left:calc(12px + env(safe-area-inset-left));padding:7px 10px;border-radius:10px;background:#0a28328c;color:var(--jt-cream);font-size:11px;line-height:1.35;font-variant-numeric:tabular-nums;white-space:pre;pointer-events:none;backdrop-filter:blur(6px)}.panel{position:absolute;top:calc(10px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));width:232px;max-height:calc(100% - 24px);display:flex;flex-direction:column;align-items:flex-end;z-index:10}.panel__toggle{border:0;border-radius:999px;padding:8px 16px;background:var(--jt-juice);color:var(--jt-cream);font-family:inherit;font-weight:700;font-size:12px;letter-spacing:.08em;box-shadow:0 3px 10px var(--jt-shadow);cursor:pointer}.panel__body{display:none;width:100%;margin-top:8px;padding:10px 12px;border-radius:14px;background:#0a2832d1;backdrop-filter:blur(10px);overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}.panel.is-open .panel__body{display:block}.panel__row{display:grid;grid-template-columns:74px 1fr 38px;align-items:center;gap:6px;margin-bottom:7px}.panel__row--modes{grid-template-columns:74px 1fr 1fr}.panel__label{color:var(--jt-cream);font-size:10px;letter-spacing:.03em;opacity:.85}.panel__readout{color:var(--jt-lime);font-size:10px;text-align:right;font-variant-numeric:tabular-nums}.panel__row input[type=range]{width:100%;height:20px;accent-color:var(--jt-juice);touch-action:pan-y}.panel__mode{border:1px solid rgba(255,246,224,.3);border-radius:8px;padding:4px 2px;background:transparent;color:var(--jt-cream);font-family:inherit;font-size:9px;letter-spacing:.04em;cursor:pointer}.panel__mode.is-active{background:var(--jt-lime);border-color:var(--jt-lime);color:var(--jt-ink);font-weight:700}.panel__reset{width:100%;margin-top:6px;padding:7px;border:1px solid rgba(255,246,224,.25);border-radius:9px;background:transparent;color:var(--jt-cream);font-family:inherit;font-size:10px;letter-spacing:.04em;cursor:pointer}.scoreboard{position:absolute;top:calc(10px + env(safe-area-inset-top));left:calc(12px + env(safe-area-inset-left));padding:8px 10px 7px;border-radius:13px;background:#0926309e;backdrop-filter:blur(8px);pointer-events:none;min-width:132px}.scoreboard__target{color:var(--jt-lime);font-size:9px;font-weight:700;letter-spacing:.13em;margin-bottom:5px;opacity:.95}.scorerow{display:grid;grid-template-columns:17px 1fr auto;align-items:center;gap:5px;padding:2px 4px;border-radius:7px;border-left:3px solid var(--row-color, #fff);margin-bottom:2px;transition:background .18s ease}.scorerow--you{background:#fff6e01c}.scorerow.is-bumped{animation:jt-bump .46s cubic-bezier(.3,1.6,.5,1)}@keyframes jt-bump{0%{transform:scale(1);background:#8fd6338c}40%{transform:scale(1.07)}to{transform:scale(1)}}.scorerow__glyph{font-size:13px;line-height:1}.scorerow__name{color:var(--jt-cream);font-size:10px;font-weight:700;letter-spacing:.05em}.scorerow__score{color:var(--jt-cream);font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.centre{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;padding:4vh 4vw}.banner{color:var(--jt-cream);font-size:clamp(20px,4.6vw,40px);font-weight:800;letter-spacing:.06em;text-align:center;text-shadow:0 4px 16px rgba(6,30,40,.75);animation:jt-pop .32s cubic-bezier(.2,1.5,.4,1)}.banner--big{font-size:clamp(24px,6vw,54px);color:var(--accent, var(--jt-cream))}.banner--count{font-size:clamp(56px,15vw,140px);color:var(--jt-cream);margin-bottom:30vh}.banner--juice{margin-bottom:26vh}.banner--juice{color:var(--jt-lime);font-size:clamp(46px,12vw,116px)}@keyframes jt-pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.card{min-width:min(340px,84vw);padding:14px 18px 16px;border-radius:18px;background:#092630e6;backdrop-filter:blur(12px);box-shadow:0 12px 40px #04161e8c;animation:jt-pop .3s cubic-bezier(.2,1.4,.4,1)}.card__title{color:var(--jt-lime);font-size:11px;font-weight:800;letter-spacing:.16em;text-align:center;margin-bottom:10px}.card__title--champion{color:var(--accent, var(--jt-juice));font-size:clamp(15px,3vw,22px);letter-spacing:.1em}.champion{color:var(--jt-cream);font-size:clamp(20px,4.4vw,32px);font-weight:800;text-align:center;margin-bottom:12px}.card__hint{margin-top:10px;color:var(--jt-cream);opacity:.55;font-size:10px;text-align:center;letter-spacing:.05em}.resultrow{display:grid;grid-template-columns:30px 20px 1fr auto auto;align-items:center;gap:7px;padding:5px 7px;margin-bottom:3px;border-radius:9px;border-left:3px solid var(--accent, #fff);background:#fff6e012}.resultrow__place{font-size:13px;text-align:center}.resultrow__glyph{font-size:14px}.resultrow__name{color:var(--jt-cream);font-size:11px;font-weight:700;letter-spacing:.04em}.resultrow__pts{color:var(--jt-lime);font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}.resultrow__total{color:var(--jt-cream);opacity:.8;font-size:11px;font-variant-numeric:tabular-nums}.tie{display:inline-block;margin-left:5px;padding:1px 4px;border-radius:4px;background:var(--jt-juice);color:var(--jt-cream);font-size:8px;letter-spacing:.08em;vertical-align:middle}.actions{position:absolute;left:0;right:0;bottom:calc(16px + env(safe-area-inset-bottom));display:flex;gap:10px;justify-content:center}.btn{border:0;border-radius:999px;padding:11px 22px;background:var(--jt-juice);color:var(--jt-cream);font-family:inherit;font-weight:800;font-size:12px;letter-spacing:.1em;box-shadow:0 4px 14px var(--jt-shadow);cursor:pointer}.btn--ghost{background:#092630cc;border:1px solid rgba(255,246,224,.3)}.spectating{position:absolute;left:50%;transform:translate(-50%);bottom:calc(58px + env(safe-area-inset-bottom));padding:5px 13px;border-radius:999px;background:#0926309e;color:var(--jt-cream);font-size:10px;letter-spacing:.1em;pointer-events:none;backdrop-filter:blur(6px)}#rotate-hint{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:#0d3b4f;z-index:100;color:var(--jt-cream)}@media (orientation: portrait) and (max-width: 820px){#rotate-hint{display:flex}}.rotate-hint__inner{text-align:center}.rotate-hint__icon{font-size:54px;animation:jt-tilt 1.8s ease-in-out infinite}.rotate-hint__text{margin-top:14px;font-size:16px;letter-spacing:.06em}@keyframes jt-tilt{0%,to{transform:rotate(0)}50%{transform:rotate(-90deg)}}@media (prefers-reduced-motion: reduce){.rotate-hint__icon{animation:none}}.topbar{position:absolute;top:calc(10px + env(safe-area-inset-top));right:calc(96px + env(safe-area-inset-right));display:flex;gap:7px;align-items:center;z-index:10;pointer-events:auto}.btn--menu{padding:8px 14px;font-size:11px}.btn--mute{padding:8px 12px;font-size:14px;background:#092630cc;border:1px solid rgba(255,246,224,.3)}.btn--mute-locked{background:var(--jt-juice);border-color:var(--jt-juice);font-size:10px;letter-spacing:.08em;animation:jt-nudge 2.2s ease-in-out infinite}@keyframes jt-nudge{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@media (prefers-reduced-motion: reduce){.btn--mute-locked{animation:none}}.btn--jump{position:absolute;right:calc(22px + env(safe-area-inset-right));bottom:calc(26px + env(safe-area-inset-bottom));width:92px;height:92px;border-radius:50%;font-size:14px;letter-spacing:.1em;background:var(--jt-lime);color:var(--jt-ink);border:3px solid rgba(255,246,224,.75);touch-action:none;transition:transform 90ms ease,opacity .14s ease}.btn--jump.is-pressed{transform:scale(.9)}.btn--jump.is-cooling{opacity:.34;background:#092630cc;color:var(--jt-cream)}.setup{position:absolute;inset:0;display:flex;align-items:stretch;justify-content:center;background:#061e28f0;backdrop-filter:blur(10px);z-index:50;pointer-events:auto;padding:2vh 3vw;overflow:hidden}.setup__panel{width:min(560px,94vw);display:flex;flex-direction:column;height:100%;max-height:100%;min-height:0;padding:10px 14px 12px}.setup__scroll{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain}.setup__title{color:var(--jt-lime);font-size:clamp(20px,5vw,34px);font-weight:800;letter-spacing:.14em;text-align:center;margin-bottom:14px}.setup__row{margin-bottom:12px}.setup__label{color:var(--jt-cream);opacity:.72;font-size:10px;font-weight:700;letter-spacing:.16em;margin-bottom:6px}.setup__choices{display:flex;flex-wrap:wrap;gap:6px}.chip{border:2px solid rgba(255,246,224,.22);border-left:4px solid var(--chip-color, rgba(255, 246, 224, .4));border-radius:10px;padding:7px 11px;background:#fff6e012;color:var(--jt-cream);font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.05em;cursor:pointer;pointer-events:auto;transition:transform 90ms ease,background .14s ease}.chip:active{transform:scale(.96)}.chip.is-selected{background:var(--chip-color, var(--jt-lime));border-color:var(--chip-color, var(--jt-lime));color:var(--jt-ink)}.setup__actions{display:flex;gap:8px;margin-top:12px}.setup__play{flex:1 1 auto;padding:14px;font-size:15px;background:var(--jt-lime);color:var(--jt-ink)}.setup__resume{flex:0 0 auto;padding:14px 20px;font-size:13px}@media (max-height: 760px){.setup{padding:2vh 3vw;align-items:flex-start}.setup__title{font-size:18px;margin-bottom:8px}.setup__row{margin-bottom:7px}.setup__label{font-size:9px;margin-bottom:4px}.chip{padding:5px 8px;font-size:10px}.setup__actions{margin-top:8px}.setup__play{padding:10px;font-size:13px}.setup__resume{padding:10px 14px;font-size:12px}}.chip.is-disabled{opacity:.4;border-style:dashed;cursor:default}
