:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;--color-bg:#101114;--color-surface:#1f2127c7;--color-surface-border:#ffffff1a;--color-text:#f7f8fa;--color-muted:#b7bbc5;--color-accent:#8ce99a;--color-focus:#74c0fc;--space-1:.375rem;--space-2:.75rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--indicator-size:clamp(4.75rem, 20vw, 7.5rem);--duration-fast:.16s;--duration-normal:.28s;--elevation-panel:0 1rem 3rem #00000042;--elevation-indicator:0 .75rem 2rem #00000061;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--countdown-progress:0;font-family:Inter,ui-rounded,SF Pro Rounded,SF Pro Display,system-ui,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;margin:0;overflow:hidden}body{min-height:100dvh;color:var(--color-text);background:var(--color-bg)}button,output{font:inherit}[hidden]{display:none!important}.touch-surface{z-index:0;isolation:isolate;touch-action:none;-webkit-user-select:none;user-select:none;overscroll-behavior:none;background:radial-gradient(circle at 15% 10%, #4a6da72e, transparent 35%), radial-gradient(circle at 85% 85%, #438b6924, transparent 38%), var(--color-bg);min-width:100%;min-height:100%;position:fixed;inset:0;overflow:hidden}.touch-surface:before{z-index:-1;content:"";background-image:radial-gradient(#ffffff0d 1px,#0000 1px);background-size:1.5rem 1.5rem;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 80%);mask-image:linear-gradient(#000,#0000 80%)}.app-header,.status-panel,.app-footer{z-index:20;pointer-events:none;position:relative}.app-header{width:min(100%,42rem);padding:calc(var(--safe-top) + var(--space-4)) calc(var(--safe-right) + var(--space-4)) 0 calc(var(--safe-left) + var(--space-4));text-align:center;margin-inline:auto}.eyebrow{margin:0 0 var(--space-1);color:var(--color-accent);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:750}h1{letter-spacing:-.045em;margin:0;font-size:clamp(2rem,9vw,3.8rem);line-height:1}.instructions,.desktop-hint{margin:var(--space-2) 0 0;color:var(--color-muted);font-size:clamp(.92rem,3.8vw,1.08rem)}.desktop-hint{color:#ffd8a8;font-size:.85rem}.status-panel{width:min(100% - 2rem,24rem);margin:var(--space-3) auto 0;padding:var(--space-2) var(--space-3);text-align:center;background:var(--color-surface);border:1px solid var(--color-surface-border);box-shadow:var(--elevation-panel);-webkit-backdrop-filter:blur(1rem);border-radius:1.15rem;overflow:hidden}.participant-count{color:var(--color-text);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:700;display:block}.status-message{min-height:1.4em;margin:var(--space-1) 0 0;color:var(--color-muted);font-size:.95rem}[data-game-state=counting-down] .status-message{color:var(--color-text);font-weight:700}[data-game-state=winner] .status-message{color:var(--color-accent);font-size:1.08rem;font-weight:800}[data-game-state=waiting-for-release] .status-message{color:#ffd8a8}.countdown{gap:var(--space-2);margin-top:var(--space-2);grid-template-columns:1fr auto;align-items:center;display:grid}.countdown-track{background:#ffffff1a;border-radius:999px;height:.4rem;overflow:hidden}.countdown-progress{width:calc(var(--countdown-progress) * 100%);background:linear-gradient(90deg, #74c0fc, var(--color-accent));border-radius:inherit;height:100%;display:block}.countdown-value{min-width:3.1rem;color:var(--color-text);font-variant-numeric:tabular-nums;text-align:end;font-size:.78rem;font-weight:750}.participants-layer{z-index:10;pointer-events:none;position:absolute;inset:0;overflow:hidden}.participant{--participant-scale:1;width:var(--indicator-size);aspect-ratio:1;color:#101114;background:radial-gradient(circle at 35% 30%, #ffffff9e, transparent 24%), var(--participant-color);box-shadow:0 0 0 .18rem color-mix(in srgb, var(--participant-color), transparent 35%), var(--elevation-indicator);transform:translate3d(var(--pointer-x), var(--pointer-y), 0) translate(-50%, -50%) scale(var(--participant-scale));transition:opacity var(--duration-normal) ease, filter var(--duration-normal) ease, transform var(--duration-normal) cubic-bezier(.2, .8, .2, 1);will-change:transform;border:.24rem solid #ffffffe0;border-radius:50%;place-items:center;display:grid;position:absolute;top:0;left:0}.participant:after{border:.22rem solid var(--participant-color);border-radius:inherit;content:"";opacity:0;position:absolute;inset:-.85rem}.participant--dimmed{opacity:.22;filter:grayscale(.65)}.participant--winner{--participant-scale:1.42;z-index:2}.participant--winner:after{opacity:.9;animation:1.1s ease-out infinite winner-pulse}.participant-winner-label{color:var(--color-bg);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:var(--color-text);border-radius:999px;padding:.38rem .7rem;font-size:.72rem;font-weight:850;display:none;position:absolute;top:calc(100% + .7rem);left:50%;transform:translate(-50%);box-shadow:0 .5rem 1.4rem #00000059}.participant--winner .participant-winner-label{display:block}.app-footer{padding:var(--space-4) calc(var(--safe-right) + var(--space-4)) calc(var(--safe-bottom) + var(--space-4)) calc(var(--safe-left) + var(--space-4));justify-content:center;display:flex;position:absolute;bottom:0;left:0;right:0}.restart-button{pointer-events:auto;touch-action:manipulation;min-width:10rem;min-height:3.25rem;color:var(--color-bg);background:var(--color-text);cursor:pointer;transition:transform var(--duration-fast) ease, background var(--duration-fast) ease;border:0;border-radius:999px;padding:.8rem 1.4rem;font-weight:800;box-shadow:0 .8rem 2rem #00000059}.restart-button:hover{background:var(--color-accent)}.restart-button:active{transform:scale(.97)}.restart-button:focus-visible{outline:.2rem solid var(--color-focus);outline-offset:.25rem}.bootstrap-error{width:min(100% - 2rem,32rem);padding:var(--space-4);color:var(--color-text);text-align:center;background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:1rem;margin:20vh auto}noscript{z-index:50;color:#101114;text-align:center;background:#ffd43b;border-radius:.75rem;padding:1rem;position:fixed;inset:1rem}@keyframes winner-pulse{0%{opacity:.9;transform:scale(.84)}75%,to{opacity:0;transform:scale(1.45)}}@media (width>=48rem){.app-header{padding-top:calc(var(--safe-top) + var(--space-5))}.status-panel{margin-top:var(--space-4)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.participant--winner:after{opacity:.9;animation:none}}
