.sound-control{flex:none;position:relative}.sound-control-pill{background:var(--target-bg);border:1px solid var(--target-border);height:30px;color:var(--text-target);border-radius:999px;align-items:center;display:flex}.btn-mute,.btn-sound-more{color:inherit;background:0 0;border:0;border-radius:999px;place-items:center;padding:0;display:grid;position:relative}.btn-mute{width:28px;height:28px}.btn-sound-more{width:14px;height:28px;margin-right:3px}.btn-mute:before{content:"";position:absolute;inset:-8px -2px -8px -8px}.btn-sound-more:before{content:"";position:absolute;inset:-8px -6px}.btn-mute:hover,.btn-sound-more:hover,.sound-control.is-open .btn-sound-more{color:var(--ink)}.btn-mute svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.btn-sound-more svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px;transition:rotate .2s}.sound-control.is-open .btn-sound-more svg{rotate:180deg}.sound-control .speaker-body{fill:currentColor;fill-opacity:.18}.sound-control .speaker-slash,.sound-control.is-muted .speaker-wave{display:none}.sound-control.is-muted .speaker-slash{display:block}.btn-mute:focus-visible,.btn-sound-more:focus-visible{outline:3px solid var(--focus);outline-offset:1px}.sound-popover{z-index:60;background:var(--field-bg);border:1px solid var(--line);width:min(236px,100vw - 32px);box-shadow:0 12px 24px -12px rgba(var(--shadow-rgb), .4);animation:soundPopIn .16s var(--ease-out);border-radius:14px;flex-direction:column;gap:4px;padding:10px 12px;display:flex;position:absolute;top:calc(100% + 8px);right:0}@keyframes soundPopIn{0%{opacity:0;translate:0 -4px}}.sound-volume-row,.sound-tick-row{min-height:40px;font:500 12px/1.2 var(--f-ui);color:var(--ink-2);align-items:center;gap:10px;display:flex}.sound-popover-label{flex:none}.sound-volume-row .sound-popover-label{width:44px}.sound-tick-row{cursor:pointer;justify-content:space-between}.sound-volume-value{text-align:right;font-variant-numeric:tabular-nums;width:26px;color:var(--ink);flex:none;font-weight:600}.sound-volume-slider{cursor:pointer;appearance:none;background:0 0;flex:1;min-width:0;height:28px;margin:0}.sound-volume-slider::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--select) var(--vol,50%), var(--n-200) var(--vol,50%));border-radius:3px;height:6px}.sound-volume-slider::-moz-range-track{background:var(--n-200);border-radius:3px;height:6px}.sound-volume-slider::-moz-range-progress{background:var(--select);border-radius:3px;height:6px}.sound-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;border:1px solid var(--line-2);width:20px;height:20px;box-shadow:0 1px 4px rgba(var(--shadow-rgb), .35);background:#fff;border-radius:50%;margin-top:-7px}.sound-volume-slider::-moz-range-thumb{border:1px solid var(--line-2);width:18px;height:18px;box-shadow:0 1px 4px rgba(var(--shadow-rgb), .35);background:#fff;border-radius:50%}.sound-volume-slider:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}.sound-tick-switch{background:var(--n-300);appearance:none;cursor:pointer;border-radius:999px;flex:none;width:38px;height:22px;margin:0;transition:background-color .15s;position:relative}.sound-tick-switch:after{content:"";width:18px;height:18px;box-shadow:0 1px 3px rgba(var(--shadow-rgb), .35);background:#fff;border-radius:50%;transition:translate .15s;position:absolute;top:2px;left:2px}.sound-tick-switch:checked{background:var(--select)}.sound-tick-switch:checked:after{translate:16px}.sound-tick-switch:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.start-tools{flex:none;align-items:center;gap:8px;margin-top:6px;display:flex}.start-header .start-tools .btn-theme{margin-top:0}@media (prefers-reduced-motion:reduce){.sound-popover{animation:none}.btn-sound-more svg,.sound-tick-switch:after{transition:none}}.game-header:has(.sound-popover){z-index:55}.instrument-icon{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.sound-menu{z-index:30;background:var(--field-bg);border:1px solid var(--line);width:max-content;min-width:176px;max-width:min(260px,100vw - 32px);box-shadow:0 12px 24px -12px rgba(var(--shadow-rgb), .4);animation:soundMenuIn .16s var(--ease-out);border-radius:12px;flex-direction:column;gap:1px;padding:4px;display:flex;position:absolute;top:calc(100% + 6px);right:0}@keyframes soundMenuIn{0%{opacity:0;translate:0 -4px}}.sound-option{text-align:left;min-height:40px;font:500 12px/1.2 var(--f-ui);color:var(--ink-2);background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;display:flex}.sound-option:hover,.sound-option:focus-visible{background:var(--n-100);color:var(--ink)}.sound-option:focus-visible{outline:3px solid var(--focus);outline-offset:-1px}.sound-option.is-on{color:var(--ink);font-weight:600}.sound-option-icon{width:16px;height:16px;color:var(--n-500);flex:none}.sound-option.is-on .sound-option-icon{color:var(--select)}.sound-option-name{flex:1;min-width:0}.sound-option-check{fill:none;width:14px;height:14px;stroke:var(--good);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;flex:none}@media (prefers-reduced-motion:reduce){.sound-menu{animation:none}}.start-screen{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:var(--table);color:var(--ink);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden auto}.start-sunlight,.start-floor{pointer-events:none;position:fixed;inset:0}.start-sunlight{background:radial-gradient(1100px 620px at 14% -12%, var(--sun-1), transparent 70%), radial-gradient(900px 600px at 70% 125%, var(--sun-2), transparent 70%)}.start-floor{background-image:radial-gradient(circle, var(--floor-dot) 1.1px, transparent 1.5px);opacity:.48;background-size:22px 22px;-webkit-mask-image:radial-gradient(closest-side at 50% 45%,#000 30%,#0006 70%,#0000 100%);mask-image:radial-gradient(closest-side at 50% 45%,#000 30%,#0006 70%,#0000 100%)}.start-column{z-index:1;width:100%;max-width:420px;padding:calc(max(env(safe-area-inset-top), 8px) + 10px) calc(env(safe-area-inset-right) + 16px) 18px calc(env(safe-area-inset-left) + 16px);flex-direction:column;flex:1 0 auto;gap:12px;margin:0 auto;display:flex;position:relative}.start-header{justify-content:space-between;align-items:flex-start;gap:12px;padding:4px 4px 6px;display:flex}.start-brand{min-width:0}.start-title{font:inherit;margin:0}.start-title .game-wordmark{letter-spacing:-1.5px;font-size:30px;display:block}.start-tagline{color:var(--text-help);margin:3px 0 0;font-size:12.5px}.start-header .btn-theme{flex:none;margin-top:6px}.start-section{background:var(--chip-bg);border:1px solid var(--chip-border);border-radius:20px;flex-direction:column;gap:10px;padding:12px 12px 13px;display:flex}.start-section-title{color:var(--text-help);letter-spacing:.1px;margin:0 2px;font-size:11px;font-weight:500;line-height:1.2}.segmented{background:var(--n-200);border-radius:999px;gap:2px;padding:3px;display:flex}.segment{min-width:0;min-height:44px;color:var(--n-500);transition:background-color .15s var(--ease-out), color .15s var(--ease-out), box-shadow .15s var(--ease-out);background:0 0;border:0;border-radius:999px;flex:1 1 0;padding:6px 10px;font-size:12px;font-weight:500;line-height:1.2}.segment:not(:disabled):hover{color:var(--ink)}.segment.is-on{background:var(--toggle-on);color:var(--ink);box-shadow:0 1px 2px rgba(var(--shadow-rgb), .16);font-weight:600}.segmented.is-disabled{opacity:.45}.segmented.is-disabled .segment.is-on{box-shadow:none}.mode-toggle .segment{font-size:12.5px}.seat-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.seat-row{background:var(--card);border:1px solid var(--chip-border);border-radius:15px;grid-template-columns:34px minmax(0,1fr) auto auto;align-items:center;gap:7px 10px;padding:8px 6px 8px 10px;display:grid}.seat-human{min-height:52px;padding-right:6px}.seat-name-input{min-width:0;min-height:44px;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:10px;padding:6px 10px;font-family:inherit;font-size:13px;font-weight:600}.seat-name-input:hover{background:var(--hover-tint)}.seat-name-input:focus-visible{background:var(--card);border-color:var(--chip-active-border);outline:none}.seat-avatar{width:34px;height:34px;display:block}.seat-avatar svg{border-radius:50%;width:100%;height:100%;display:block}.seat-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.seat-tag{color:var(--text-target);background:var(--target-bg);border:1px solid var(--target-border);border-radius:999px;padding:4px 9px;font-size:11px;font-weight:500}.seat-ai .seat-avatar{grid-area:1/1}.seat-ai .seat-name{grid-area:1/2}.seat-ai .seat-sound{grid-area:1/3}.seat-ai .btn-remove-seat{grid-area:1/4}.seat-level{grid-area:2/1/auto/-1;margin-right:4px}.seat-level .segment{min-height:40px;font-size:11.5px}.btn-remove-seat{width:44px;height:44px;color:var(--text-help);background:0 0;border:0;border-radius:12px;place-items:center;padding:0;display:grid}.btn-remove-seat svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:16px;height:16px}.btn-remove-seat:not(:disabled):hover{color:var(--error);background:var(--hover-tint)}.btn-remove-seat:disabled{opacity:.3}.seat-actions{flex-wrap:wrap;gap:8px;display:flex}.btn-add-seat,.btn-add-human,.btn-invite{border:1.5px dashed var(--line-2);min-height:44px;color:var(--ink);background:0 0;border-radius:14px;flex:1 1 0;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:12.5px;font-weight:500;display:flex}.btn-add-seat svg,.btn-add-human svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;width:14px;height:14px}.btn-add-seat:not(:disabled):hover,.btn-add-human:not(:disabled):hover{background:var(--hover-tint);border-color:var(--chip-active-border)}.btn-add-seat:disabled,.btn-add-human:disabled,.btn-invite:disabled{opacity:.5}.btn-invite{color:var(--text-help)}.seat-meta{color:var(--text-help);justify-content:space-between;gap:8px;margin:0 2px;font-size:11px;display:flex}.seat-count{color:var(--ink-2);font-weight:600}.invite-hint{color:var(--text-caption);margin:-4px 2px 0;font-size:11px}.sound-picker{justify-self:end;min-width:0;position:relative}.btn-sound{border:1px solid var(--chip-border);background:var(--chip-bg);max-width:150px;min-height:44px;color:var(--ink-2);transition:background-color .15s var(--ease-out), border-color .15s var(--ease-out);border-radius:999px;align-items:center;gap:5px;padding:4px 6px 4px 9px;font-size:11px;font-weight:500;line-height:1;display:flex}.btn-sound:hover,.sound-picker.is-open .btn-sound{background:var(--hover-tint);border-color:var(--chip-active-border);color:var(--ink)}.btn-sound-icon{flex:none;width:15px;height:15px}.btn-sound-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.btn-sound-caret{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;opacity:.7;flex:none;width:12px;height:12px}.start-sound .sound-picker{align-self:flex-start}.start-sound .btn-sound{max-width:100%}.target-presets,.level-picker{background:0 0;border-radius:0;gap:6px;padding:0}.target-presets{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.level-picker{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.target-presets .segment,.level-picker .segment{background:var(--card);border:1px solid var(--chip-border);min-height:48px;color:var(--ink-2);border-radius:15px}.target-presets .segment.is-on,.level-picker .segment.is-on{background:var(--chip-active-bg);border-color:var(--chip-active-border);color:var(--ink);box-shadow:0 3px 0 var(--chip-active-edge)}.target-presets .segment{flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:8px 4px;display:flex}.target-label{color:var(--text-help);font-size:11px;font-weight:500}.target-points{font-variant-numeric:tabular-nums;color:var(--ink);font-size:18px;font-weight:600;line-height:1.1}.level-picker .segment{padding:8px 10px;font-size:12.5px}.level-hint{color:var(--text-help);margin:0 2px;font-size:11px}.shot-clock-row{justify-content:space-between;align-items:center;gap:12px;margin:0 2px;display:flex}.shot-clock-label{color:var(--ink);font-size:13px;font-weight:600}.shot-clock-switch{background:var(--n-300);width:52px;height:32px;transition:background-color .18s var(--ease-out);border:0;border-radius:999px;flex:none;padding:0;position:relative}.shot-clock-switch:before{content:"";position:absolute;inset:-6px}.shot-clock-switch.is-on{background:var(--accent)}.switch-knob{background:var(--on-accent);width:26px;height:26px;box-shadow:0 1px 3px rgba(var(--shadow-rgb), .3);transition:translate .18s var(--ease-out);border-radius:50%;position:absolute;top:3px;left:3px}.shot-clock-switch.is-on .switch-knob{translate:20px}.solo-clock-note{background:var(--target-bg);border:1px solid var(--target-border);border-radius:15px;flex-direction:column;gap:4px;padding:11px 12px;display:flex}.solo-clock-note p{margin:0}.solo-clock-lead{color:var(--ink);font-size:13px;font-weight:600}.solo-clock-curve{color:var(--text-help);font-size:12px}.solo-lives{color:var(--text-lives);align-items:center;gap:5px;font-size:12px;font-weight:500;display:flex;margin-top:2px!important}.solo-lives-heart{width:14px;height:14px;fill:var(--error)}.start-footer{z-index:2;width:100%;max-width:420px;padding:14px calc(env(safe-area-inset-right) + 18px) calc(max(env(safe-area-inset-bottom), 10px) + 10px) calc(env(safe-area-inset-left) + 18px);background:linear-gradient(180deg, var(--dock-top), var(--dock-bottom));border:1px solid var(--dock-border);box-shadow:0 -8px 32px -20px var(--dock-glow);border-bottom:0;border-radius:28px 28px 0 0;margin:0 auto;position:sticky;bottom:0}.btn-start{background:var(--accent);width:100%;min-height:52px;color:var(--on-accent);letter-spacing:-.2px;box-shadow:0 4px 0 var(--accent-edge), 0 12px 20px -10px rgba(var(--shadow-rgb), .45);border:0;border-radius:14px;font-size:15px;font-weight:600;line-height:1;transition:translate .12s,box-shadow .12s}.btn-start:active{box-shadow:0 0 0 var(--accent-edge);translate:0 4px}@media (width>=501px){.start-column{padding-top:36px}}@media (prefers-reduced-motion:reduce){.segment,.shot-clock-switch,.switch-knob,.btn-start{transition:none}}.start-copyright{letter-spacing:.02em;color:var(--ink-2);opacity:.7;justify-content:center;align-items:center;gap:6px;margin:8px 0 0;font-size:11px;font-weight:500;display:flex}.start-copyright-logo{width:20px;height:auto}.board-picker{background:0 0;border-radius:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0;display:grid}.board-picker .segment{background:var(--card);border:1px solid var(--chip-border);min-height:48px;color:var(--ink-2);border-radius:15px;padding:8px 6px;font-size:12.5px}.board-picker .segment.is-on{background:var(--chip-active-bg);border-color:var(--chip-active-border);color:var(--ink);box-shadow:0 3px 0 var(--chip-active-edge)}.board-hint{color:var(--text-help);margin:0 2px;font-size:11px}:root{--hex-clip:polygon(42% 4%, 58% 4%, 92% 21%, 100% 33%, 100% 67%, 92% 79%, 58% 96%, 42% 96%, 8% 79%, 0% 67%, 0% 33%, 8% 21%)}.hex-tile{--tr:0px}.hex-tile .tile-side,.hex-tile .cap-face{clip-path:var(--hex-clip);border-radius:0}.hex-tile .tile-shadow{border-radius:50%;top:22%;left:8%;right:8%}.game .tile.hex-tile .tile-top,.game .tile.hex-tile.run-tile .tile-top,.game .tile.hex-tile.is-right .tile-top,.game .tile.hex-tile.is-glow .tile-top,.game .tile.hex-tile.is-miss .tile-top{box-shadow:none!important}.hex-tile .tile-ring{clip-path:var(--hex-clip);background:color-mix(in srgb, var(--ring,#fff) 60%, transparent);border:0;border-radius:0;inset:-3px}.hex-tile:before{content:"";clip-path:var(--hex-clip);transform:translate3d(0, 0, calc(var(--lift) - .5px));pointer-events:none;transition:background-color .3s var(--ease-out);background:0 0;position:absolute;inset:-4px}.is-naming .hex-tile.run-tile:before{background:rgba(var(--amber), .95)}.hex-tile.is-right:before,.hex-tile.is-glow:before{background:var(--good)}.hex-tile.is-miss:before{background:#c9a15a}.is-naming .hex-tile.run-tile .tile-shadow{transform:translateY(8px)scale(1.1)}.hex-tile .tile-mark{top:2px;right:2px}.game.is-hex .drag-ghost .tile-side,.game.is-hex .drag-ghost .cap-face,.game.is-hex .tile-flight .tile-side,.game.is-hex .tile-flight .cap-face{clip-path:var(--hex-clip)}.ghost-slot.hex-slot{background:0 0;border:0;border-radius:0}.hex-slot-shape{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.hex-slot-shape polygon{fill:var(--ghost-bg);stroke:var(--ghost-border);stroke-width:1.5px;stroke-dasharray:4 3;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:fill .2s,stroke .2s}.is-holding .ghost-slot.hex-slot.is-legal{background:0 0;animation:none}.is-holding .ghost-slot.hex-slot.is-legal polygon{stroke:rgba(var(--amber), .8);fill:var(--slot-legal);animation:1.1s ease-in-out infinite alternate hexSlotPulse}.ghost-slot.hex-slot.is-target{background:0 0!important}.ghost-slot.hex-slot.is-target polygon{stroke:rgb(var(--amber));stroke-dasharray:none;fill:var(--slot-target);animation:none!important}.is-holding .ghost-slot.hex-slot.is-legal.is-dup polygon{stroke:var(--slot-dup-border);fill:var(--slot-dup);animation:none}.ghost-slot.hex-slot.is-dup.is-target polygon{stroke:var(--slot-dup-border);fill:var(--slot-dup)}@keyframes hexSlotPulse{0%{fill:var(--slot-lo)}to{fill:var(--slot-hi)}}.is-naming .hex-layer .cluster-option,.is-naming .hex-layer .run-bar{opacity:1}.hex-layer{width:0;height:0;transform-style:preserve-3d;pointer-events:none;position:absolute;top:0;left:0}.hex-svg{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.hex-svg.is-under{transform:translateZ(-.5px)}.hex-svg.is-over{transform:translateZ(18px)}.run-bar{stroke:var(--run-pad);stroke-linecap:round;opacity:.45;transition:opacity .3s}.run-bar.is-active{opacity:1;transform-box:fill-box;transform-origin:50%;animation:2.6s ease-in-out infinite alternate padBreath}.cluster-claim,.cluster-streak,.cluster-option{--tint:color-mix(in srgb, var(--owner,#88a7f8) calc(var(--claim-alpha,.34) * 100%), transparent);stroke-linejoin:round;stroke-width:14px}.cluster-claim{fill:var(--tint);stroke:var(--tint)}.cluster-claim.is-rhombus{--claim-alpha:.42}.cluster-streak{fill:color-mix(in srgb, var(--owner,#88a7f8) 26%, transparent);stroke:color-mix(in srgb, var(--owner,#88a7f8) 80%, transparent);stroke-width:3px;stroke-dasharray:5 5;stroke-linejoin:round}.cluster-option{--glow:rgba(var(--amber), calc(var(--option-alpha,.5) * .6));fill:var(--glow);stroke:var(--glow);pointer-events:all;cursor:pointer;transition:fill .2s,stroke .2s}.cluster-option.kind-extend{stroke-width:18px}.cluster-option.is-active{--glow:rgba(var(--amber), var(--option-alpha,.5));animation:1.1s ease-in-out infinite alternate clusterPulse}@keyframes clusterPulse{0%{opacity:.7}to{opacity:1}}.cluster-label{z-index:2;pointer-events:none;white-space:nowrap;background:var(--card);border:1.5px solid color-mix(in srgb, var(--owner,#88a7f8) 85%, transparent);box-shadow:0 2px 5px -2px rgba(var(--shadow-rgb), .35);font-family:var(--f-ui);letter-spacing:-.2px;color:var(--earned);border-radius:999px;padding:0 5px 1px;font-size:11px;font-weight:600;line-height:1.1;position:absolute;transform:translate3d(-50%,-50%,26px)}.cluster-label sup{vertical-align:super;font-size:.66em}.is-naming .cluster-label{opacity:.5}.streak-hud{z-index:13;left:14px;right:14px;top:calc(var(--safe-top) + 99px);background:var(--chip-active-bg);border:1px solid var(--chip-active-border);box-shadow:0 3px 0 var(--chip-active-edge);font-family:var(--f-ui);color:var(--ink);animation:hudIn .3s var(--ease-spring);border-radius:16px;justify-content:space-between;align-items:center;gap:10px;padding:7px 8px 7px 14px;display:flex;position:absolute}@keyframes hudIn{0%{opacity:0;translate:0 -8px}to{opacity:1;translate:0}}.streak-hud .streak-stats{flex-direction:column;gap:2px;min-width:0;display:flex}.streak-hud .streak-named{letter-spacing:-.2px;font-size:13px;font-weight:600}.streak-hud .streak-points{color:var(--text-help);font-variant-numeric:tabular-nums;font-size:11px}.streak-hud .streak-points b{color:var(--pts);font-weight:600}.streak-hud .btn-bank{min-height:40px;font-family:var(--f-ui);background:var(--accent);color:var(--on-accent);box-shadow:0 3px 0 var(--accent-edge);border:0;border-radius:999px;flex:none;padding:0 18px;font-size:13px;font-weight:600;transition:translate .12s,box-shadow .12s,opacity .2s}.streak-hud .btn-bank:not(:disabled):active{box-shadow:0 1px 0 var(--accent-edge);translate:0 2px}.streak-hud .btn-bank:disabled{opacity:.45;box-shadow:none}.streak-hud .streak-pick{color:var(--text-help);white-space:nowrap;font-size:11px}.streak-forfeit{z-index:14;text-align:center;background:var(--card);border:1.5px solid var(--error);box-shadow:0 14px 30px -12px rgba(var(--shadow-rgb), .5);font-family:var(--f-ui);pointer-events:none;animation:forfeitBanner var(--forfeit-ms,2.8s) var(--ease-out) forwards;border-radius:20px;padding:14px 16px;position:absolute;top:30%;left:24px;right:24px}.streak-forfeit .forfeit-title{letter-spacing:-.4px;color:var(--error);font-size:18px;font-weight:600;display:block}.streak-forfeit .forfeit-detail{color:var(--ink-2);margin-top:3px;font-size:12px;display:block}@keyframes forfeitBanner{0%{opacity:0;translate:0 10px;scale:.85}10%{opacity:1;scale:1.04}16%{translate:6px;scale:1}22%{translate:-5px}28%{translate:3px}34%{translate:0}80%{opacity:1}to{opacity:0;translate:0 -12px}}@media (prefers-reduced-motion:reduce){.streak-forfeit{animation:forfeitFade var(--forfeit-ms,2.8s) linear forwards}.streak-hud,.cluster-option.is-active,.run-bar.is-active{animation:none}@keyframes forfeitFade{0%,80%{opacity:1}to{opacity:0}}}.handoff-cover{z-index:90;background:radial-gradient(120% 70% at 50% 28%, color-mix(in srgb, var(--seat-body) 38%, transparent), transparent 70%), var(--table);font-family:var(--f-ui);place-items:center;padding:24px;display:grid;position:absolute;inset:0}.handoff-card{text-align:center;flex-direction:column;align-items:center;gap:14px;width:min(100%,340px);display:flex}.handoff-avatar-ring{background:var(--card);border:3px solid var(--seat-body);width:132px;height:132px;box-shadow:0 10px 24px -10px rgba(var(--shadow-rgb), .5);border-radius:50%;padding:6px}.handoff-avatar{width:100%;height:100%;display:block}.handoff-avatar svg{border-radius:50%;width:100%;height:100%;display:block}.handoff-title{letter-spacing:-1px;color:var(--ink);overflow-wrap:anywhere;margin:6px 0 0;font-size:28px;font-weight:600;line-height:1.15}.handoff-last-move{color:var(--n-500);margin:0;font-size:13px;font-weight:500;line-height:1.5}.btn-handoff-reveal{background:var(--seat-body);color:#1e2230;letter-spacing:-.2px;width:100%;min-height:56px;box-shadow:0 4px 0 var(--seat-dark), 0 12px 20px -10px rgba(var(--shadow-rgb), .45);border:0;border-radius:16px;margin-top:10px;padding:10px 18px;font-family:inherit;font-size:16px;font-weight:600;line-height:1.2;transition:translate .12s,box-shadow .12s}.btn-handoff-reveal:active{box-shadow:0 0 0 var(--seat-dark);translate:0 4px}.btn-handoff-reveal:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.handoff-hint{color:var(--text-help);margin:0;font-size:12px;line-height:1.6}.game.is-covered .bottom-dock{visibility:hidden}@media (prefers-reduced-motion:reduce){.btn-handoff-reveal{transition:none}}.btn-swap{position:relative}.btn-swap .swap-bag-icon{width:17px;height:17px}.btn-swap.is-active{background:var(--icon-hover);color:var(--select)}.swap-badge{box-sizing:border-box;background:var(--select-label);min-width:16px;height:16px;color:var(--on-accent);font:600 10px/1 var(--f-ui);font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px var(--float-bg);border-radius:999px;place-items:center;padding:0 4px;display:grid;position:absolute;top:5px;right:3px}.btn-swap:disabled .swap-badge{background:var(--n-400)}.btn-swap.is-bagging .swap-bag-icon{animation:bagBounce .45s var(--ease-spring)}@keyframes bagBounce{0%{scale:1}30%{rotate:-8deg;scale:1.3}65%{rotate:5deg;scale:.92}to{rotate:0deg;scale:1}}.tray.is-swapping{outline:2px dashed var(--select);outline-offset:3px}.rack-tile.is-swappable{cursor:pointer}.rack-tile.is-swap-picked{translate:0 -8px}.rack-tile.is-swap-picked .tile-top{box-shadow:0 0 0 2px var(--ring-gap), 0 0 0 4px var(--select)}.rack-tile.is-swap-picked .tile-shadow{opacity:.45;filter:blur(8px);transform:translateY(12px)scale(.9)}.rack-tile.is-swap-out{opacity:0}.swap-check{z-index:2;background:var(--select);width:18px;height:18px;box-shadow:0 0 0 2px var(--ring-gap);pointer-events:none;border-radius:50%;place-items:center;display:grid;position:absolute;top:-7px;right:-7px}.swap-check svg{fill:none;width:12px;height:12px;stroke:var(--on-accent);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.rack-slot.is-rising .rack-tile{animation:tileRise .55s var(--ease-spring) both}.rack-slot.is-rising:nth-child(2n) .rack-tile{animation-delay:60ms}.rack-slot.is-rising:nth-child(3n) .rack-tile{animation-delay:.12s}@keyframes tileRise{0%{opacity:0;transform:translateY(34px)scale(.5)}60%{opacity:1}to{opacity:1;transform:none}}.swap-bar{justify-content:center;gap:10px;padding:4px 16px 10px;display:flex}.btn-swap-cancel,.btn-swap-confirm{min-width:96px;height:40px;font:600 14px/1 var(--f-ui);border:1px solid var(--line-2);background:var(--float-bg);color:var(--ink-2);border-radius:999px;padding:0 18px}.btn-swap-confirm{background:var(--select-label);color:var(--on-accent);border-color:#0000}.btn-swap-cancel:disabled,.btn-swap-confirm:disabled{opacity:.45}.btn-swap-cancel:focus-visible,.btn-swap-confirm:focus-visible{outline:3px solid var(--focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){.rack-slot.is-rising .rack-tile,.btn-swap.is-bagging .swap-bag-icon{animation:none}}@media (width<=400px){.game-header .target-extra{display:none}.game-header .header-end{gap:6px}}.btn-pick{position:relative}.btn-pick .pick-icon{fill:currentColor;fill-opacity:.16;width:18px;height:18px}.btn-pick.is-armed{background:var(--icon-hover);color:var(--select)}.btn-pick.is-armed .pick-icon{fill-opacity:.5;animation:pickSpin .6s var(--ease-spring)}.pick-badge{box-sizing:border-box;background:var(--select-label);min-width:16px;height:16px;color:var(--on-accent);font:600 10px/1 var(--f-ui);font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px var(--float-bg);border-radius:999px;place-items:center;padding:0 4px;display:grid;position:absolute;top:5px;right:3px}.btn-pick:disabled .pick-badge{background:var(--n-400)}@keyframes pickSpin{0%{transform:rotateY(0)scale(1)}45%{transform:rotateY(180deg)scale(1.35)}to{transform:rotateY(360deg)scale(1)}}.pick-flourish{z-index:40;pointer-events:none;width:0;height:0;position:absolute;bottom:38%;left:50%}.pick-flourish-ring{border:3px solid var(--select);opacity:0;width:96px;height:96px;animation:pickRing var(--pick-ms,.9s) ease-out both;border-radius:50%;position:absolute;top:-48px;left:-48px}.pick-flourish-pick{width:56px;height:56px;color:var(--select-label);fill:currentColor;stroke:var(--ring-gap);stroke-width:1.2px;stroke-linejoin:round;filter:drop-shadow(0 6px 10px rgba(var(--shadow-rgb), .35));animation:pickRise var(--pick-ms,.9s) var(--ease-spring) both;position:absolute;top:-28px;left:-28px}.pick-flourish-label{text-align:center;width:120px;font:700 18px/1 var(--f-ui);letter-spacing:.02em;color:var(--select-label);opacity:0;animation:pickLabel var(--pick-ms,.9s) ease-out both;position:absolute;top:36px;left:-60px}@keyframes pickRise{0%{opacity:0;transform:translateY(70px)rotate(0)scale(.4)}30%{opacity:1}60%{opacity:1;transform:translateY(-14px)rotate(540deg)scale(1.15)}to{opacity:0;transform:translateY(-34px)rotate(720deg)scale(1)}}@keyframes pickRing{0%{opacity:.8;transform:scale(.3)}to{opacity:0;transform:scale(2.4)}}@keyframes pickLabel{0%,35%{opacity:0;transform:translateY(8px)}55%{opacity:1;transform:none}85%{opacity:1}to{opacity:0;transform:translateY(-6px)}}.flip-banner{background:var(--chip-active-bg);border:1px solid var(--chip-active-border);color:var(--ink);animation:flipBannerIn .4s var(--ease-spring) both;border-radius:14px;align-items:flex-start;gap:12px;margin:4px 0 10px;padding:10px 12px;display:flex}.flip-banner.is-fallback{background:var(--target-bg);border-color:var(--target-border)}.flip-banner-icon{width:30px;height:30px;fill:var(--select-label);stroke:var(--ring-gap);stroke-width:1.2px;stroke-linejoin:round;flex:none;margin-top:2px}.flip-banner-kicker{font:600 10px/1 var(--f-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--aside-kicker);margin:0}.flip-banner-title{font:600 15px/1.25 var(--f-ui);color:var(--ink);margin:3px 0 0}.flip-banner-run{font:600 13px/1.3 var(--f-ui);color:var(--select-label);font-variant-numeric:tabular-nums;margin:3px 0 0}.flip-banner-stakes{font:500 12px/1.3 var(--f-ui);color:var(--text-help);flex-wrap:wrap;gap:4px 12px;margin:6px 0 0;padding:0;list-style:none;display:flex}.flip-banner-stake:before{content:"";background:var(--select);vertical-align:middle;border-radius:50%;width:5px;height:5px;margin-right:6px;display:inline-block}@keyframes flipBannerIn{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.pick-flourish{display:none}.btn-pick.is-armed .pick-icon,.flip-banner{animation:none}}.game-wrap{background:var(--page-bg);justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.game{isolation:isolate;background:var(--table);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;--safe-top:14px;--safe-bottom:18px;border-radius:42px;flex:none;width:390px;height:min(844px,100dvh - 48px);position:relative;overflow:clip;box-shadow:0 0 0 10px #1e2230,0 0 0 11px #3a3f50,0 40px 80px -30px #1e223080}@media (width<=500px){.game-wrap{padding:0;display:block}.game{width:100vw;height:100dvh;box-shadow:none;--safe-top:max(env(safe-area-inset-top), 8px);--safe-bottom:max(env(safe-area-inset-bottom), 10px);border-radius:0}}.board-stage{touch-action:none;cursor:grab;position:absolute;inset:0}.game.is-panning .board-stage{cursor:grabbing}.stage-sunlight{pointer-events:none;background:radial-gradient(1100px 620px at 14% -12%, var(--sun-1), transparent 70%), radial-gradient(900px 600px at 70% 125%, var(--sun-2), transparent 70%);position:absolute;inset:0}.board-scene{perspective:1500px;transform-origin:0 0;position:absolute;inset:0}.board-plane{width:0;height:0;transform-style:preserve-3d;position:absolute;top:0;left:0}.board-floor{background-image:radial-gradient(circle, var(--floor-dot) 1.1px, transparent 1.5px);opacity:.48;background-position:5px 5px;background-size:22px 22px;width:2800px;height:2400px;position:absolute;top:-1200px;left:-1400px;-webkit-mask-image:radial-gradient(closest-side,#000 34%,#0006 66%,#0000 100%);mask-image:radial-gradient(closest-side,#000 34%,#0006 66%,#0000 100%)}.board-veil{pointer-events:none;z-index:2;opacity:0;transition:opacity .55s var(--ease-out);background:radial-gradient(ellipse var(--vw,240px) var(--vh,120px) at var(--vx,50%) var(--vy,50%), transparent 0%, transparent 55%, var(--veil) 100%);position:absolute;inset:0}.is-naming .board-veil{opacity:1}.run-highlight{pointer-events:none;background:radial-gradient(closest-side, var(--run-pad), transparent);border-radius:22px;animation:2.6s ease-in-out infinite alternate padBreath;position:absolute}@keyframes padBreath{0%{scale:.96}to{scale:1.04}}.tile{--ts:56px;--depth:7px;--tr:12px;--lift:0px;width:var(--ts);height:var(--ts);transform-style:preserve-3d;transition:opacity .5s var(--ease-out), filter .5s var(--ease-out);position:absolute}.tile-shadow{top:18%;left:6%;right:6%;bottom:calc(-1 * var(--depth) - 4px);background:var(--tile-shadow);filter:blur(6px);transition:transform .35s var(--ease-out), opacity .35s, filter .35s;border-radius:40%;position:absolute}.tile-shadow:after{content:"";background:var(--top,transparent);opacity:var(--spill-opacity);border-radius:50%;position:absolute;inset:-18% -16% -34%}.tile-side,.tile-top{border-radius:var(--tr);transition:transform .38s var(--ease-out), box-shadow .3s;position:absolute;inset:0}.tile-side{transform:translate3d(0, var(--depth), var(--lift));background:linear-gradient(180deg, var(--side) 30%, var(--side2) 100%);box-shadow:inset 1px 0 0 #ffffff2e, inset 0 -1px 0 #0000002e, 0 0 0 1px var(--tile-rim);filter:var(--cap-filter)}.tile-top{transform:translate3d(0, 0, var(--lift));transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.tile-cap{border-radius:var(--tr);transform-style:preserve-3d;-webkit-transform-style:preserve-3d;position:absolute;inset:0;transform:translateZ(1px)}.cap-face{border-radius:var(--tr);backface-visibility:hidden;background:radial-gradient(120% 95% at 20% 12%, #ffffff94 0%, #ffffff29 34%, #fff0 60%), linear-gradient(158deg, var(--top) 42%, var(--top2) 100%);filter:var(--cap-filter);position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 1.5px #fffc,inset 1.5px 0 #ffffff59,inset 0 -2px 1px #00000012,inset -1px 0 #0000000d}.cap-face:before{content:"";background:radial-gradient(closest-side,#ffffffd9,#fff0);border-radius:50%;width:34%;height:15%;position:absolute;top:9%;left:12%;transform:rotate(-18deg)}.cap-back{transform:rotateY(180deg)}.tile-glyph{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.tile-glyph text{text-anchor:middle;dominant-baseline:central;fill:#fff;stroke:#00000059;stroke-width:3px;paint-order:stroke;filter:drop-shadow(0 1px 1.2px #00000059);font-family:Poppins,sans-serif;font-size:21px;font-weight:600}.tile-glyph text.is-acc{font-size:19.5px}.tile-ring{border:3px solid var(--ring,#fff);transform:translate3d(0,0,var(--lift));opacity:0;pointer-events:none;border-radius:15px;position:absolute;inset:-2px}.tile-ring.is-pulse{animation:ringPulse .7s var(--ease-out)}@keyframes ringPulse{0%{opacity:.95;scale:1}to{opacity:0;scale:1.75}}.board-plane .tile,.pencil-chord,.ghost-slot{transition:opacity .5s var(--ease-out), filter .5s var(--ease-out)}.is-naming .tile.run-tile{--lift:14px}.is-naming .tile.run-tile .tile-top{box-shadow:inset 0 1.5px 0 #fffc, inset 1.5px 0 0 #ffffff59, 0 0 0 2.5px var(--ring-gap), 0 0 0 4.5px rgba(var(--amber), .95), 0 0 30px 8px var(--run-glow)}.is-naming .tile.run-tile .tile-shadow{opacity:.6;filter:blur(10px);transform:translateY(8px)scale(1.1)}.is-naming .board-plane .tile:not(.run-tile){opacity:.5;filter:saturate(.55)}.is-naming .pencil-chord{opacity:.35}.is-naming .ghost-slot{opacity:0!important}.tile.is-pop{--lift:34px!important}.tile.is-pop .tile-shadow{opacity:.4;filter:blur(13px);transform:translateY(12px)scale(1.2)}.tile.is-glow .tile-top{box-shadow:inset 0 1.5px 0 #fffc, 0 0 0 2.5px var(--ring-gap), 0 0 0 4.5px var(--good), 0 0 38px 12px #78dca099!important}.tile.is-right .tile-top{box-shadow:inset 0 1.5px 0 #fffc, 0 0 0 2.5px var(--ring-gap), 0 0 0 4.5px var(--good), 0 0 26px 6px #78dca073!important}.tile.is-miss .cap-face{filter:saturate(.25)brightness(.97)}.tile.is-miss .tile-top{box-shadow:inset 0 1.5px 0 #fffc, 0 0 0 2.5px var(--ring-gap), 0 0 0 4.5px #c9a15a, 0 0 16px 2px #c9a15a4d!important}.tile.is-shake .tile-top,.tile.is-shake .tile-side{animation:.55s ease-in-out tileShake}@keyframes tileShake{0%,to{translate:0;rotate:0deg}15%{translate:-6px;rotate:-4deg}30%{translate:5px;rotate:4deg}45%{translate:-4px;rotate:-2.5deg}60%{translate:3px;rotate:1.5deg}75%{translate:-1px}}.tile.is-landing{animation:.55s cubic-bezier(.3,.7,.3,1) tileLand}.tile.is-landing .tile-top,.tile.is-landing .tile-side,.tile.is-landing .tile-ring{transition:none}@keyframes tileLand{0%{--lift:34px}48%{--lift:0px}68%{--lift:8px}84%{--lift:0px}93%{--lift:2px}to{--lift:0px}}.tile-mark{width:19px;height:19px;transform:translate3d(0,0,calc(var(--lift) + 6px)) scale(0);pointer-events:none;background:var(--good);box-shadow:0 0 0 2px var(--ring-gap), 0 3px 6px -2px #1e223059;transition:transform .35s var(--ease-spring);border-radius:50%;place-items:center;display:grid;position:absolute;top:-7px;right:-7px}.tile-mark svg{stroke:#fff;fill:none;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:10px;height:10px}.tile.is-right .tile-mark{transform:translate3d(0,0,calc(var(--lift) + 6px)) scale(1)}.ghost-slot{border:1.5px dashed var(--ghost-border);background:var(--ghost-bg);opacity:.5;width:56px;height:56px;transition:opacity .25s, border-color .2s, background .2s, scale .2s var(--ease-spring);border-radius:12px;position:absolute}.is-holding .ghost-slot:not(.is-legal){opacity:0}.is-holding .ghost-slot.is-legal{opacity:1;border-color:rgba(var(--amber), .8);background:var(--slot-legal);animation:1.1s ease-in-out infinite alternate slotPulse}@keyframes slotPulse{0%{background:var(--slot-lo)}to{background:var(--slot-hi)}}.ghost-slot.is-target{scale:1.1;background:var(--slot-target)!important;border-style:solid!important;animation:none!important}.is-holding .ghost-slot.is-legal.is-dup{border-color:var(--slot-dup-border);background:var(--slot-dup);animation:none}.ghost-slot.is-dup.is-target{border-color:var(--slot-dup-border);background:var(--slot-dup)!important}.pencil-chord{width:56px;height:56px;font-family:var(--f-ui);letter-spacing:-.4px;color:var(--label);white-space:nowrap;pointer-events:none;justify-content:center;align-items:center;font-size:19px;font-weight:500;line-height:1;display:flex;position:absolute}.pencil-chord sup{vertical-align:super;font-size:.62em}.pencil-chord.is-earned{color:var(--earned);font-weight:600;animation:.25s ease-out labelAppear}@keyframes labelAppear{0%{opacity:0;scale:.75}to{opacity:1;scale:1}}.game-header{z-index:12;top:calc(var(--safe-top) + 4px);justify-content:space-between;align-items:center;display:flex;position:absolute;left:20px;right:20px}.header-end{align-items:center;gap:8px;display:flex}.game-target{color:var(--text-target);background:var(--target-bg);border:1px solid var(--target-border);white-space:nowrap;border-radius:12px;padding:6px 10px;font-size:11px}.btn-leave{background:var(--target-bg);border:1px solid var(--target-border);width:30px;height:30px;color:var(--text-target);border-radius:50%;place-items:center;padding:0;display:grid;position:relative}.btn-leave:before{content:"";position:absolute;inset:-7px}.btn-leave:hover,.btn-leave.is-armed{color:var(--ink)}.btn-leave svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.m-players{z-index:12;top:calc(var(--safe-top) + 49px);gap:6px;display:flex;position:absolute;left:14px;right:14px}.player-chip{background:var(--chip-bg);border:1px solid var(--chip-border);border-radius:15px;flex-direction:row;flex:1;justify-content:center;align-items:center;gap:5px;min-width:0;padding:8px 3px;display:flex;position:relative}.player-chip.is-active{background:var(--chip-active-bg);border-color:var(--chip-active-border);box-shadow:0 3px 0 var(--chip-active-edge)}.player-chip.is-out{opacity:.45;filter:saturate(.4)}button.player-chip{font:inherit;color:inherit;text-align:left;cursor:pointer}button.player-chip:hover,button.player-chip.is-menu-open{border-color:var(--chip-active-border)}.chip-sound{z-index:1;background:var(--card);border:1px solid var(--chip-border);width:13px;height:13px;color:var(--ink-2);box-shadow:0 1px 2px rgba(var(--shadow-rgb), .18);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-4px;right:-5px}.chip-sound .instrument-icon{stroke-width:2px;width:9px;height:9px}.player-chip.is-editable .chip-sound{color:var(--select)}.strip-sound-menu{top:calc(100% + 6px);right:auto}.avatar-wrap{flex:none;width:23px;height:23px;position:relative}.avatar{border-radius:50%;width:100%;height:100%;display:block;overflow:hidden}.avatar svg{width:100%;height:100%;display:block}.turn-ring{width:29px;height:29px;position:absolute;inset:-3px;transform:rotate(-90deg)}.turn-ring .ring-bg{stroke:var(--ring-track)}.turn-ring .ring-fg{stroke:var(--select);stroke-linecap:round;transition:stroke-dashoffset .25s linear}.turn-ring.is-thinking{animation:1.1s linear infinite ringSpin}.turn-ring.is-thinking .ring-fg{transition:none}@keyframes ringSpin{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}.turn-ring.is-low .ring-fg{stroke:var(--error)}.player-meta{flex-direction:column;align-items:flex-start;gap:3px;min-width:0;display:flex}.player-name{color:var(--text-player);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:10px;font-weight:500;line-height:1;overflow:hidden}.turn-time{font-variant-numeric:tabular-nums;color:var(--ink-2);margin-left:3px}.turn-time.is-low{color:var(--error);font-weight:600}.player-line{align-items:center;gap:5px;display:flex}.player-score{font-variant-numeric:tabular-nums;color:var(--ink);font-size:14px;font-weight:600;line-height:1.2;transition:color .3s;display:inline-block}.player-score.is-bump{color:var(--good);animation:.16s ease-out scoreBump}@keyframes scoreBump{50%{transform:scale(1.3)}}.lives-compact{color:var(--text-lives);font-variant-numeric:tabular-nums;align-items:center;gap:3px;font-size:10px;line-height:1;display:inline-flex}.life-heart{width:9px;height:9px;display:inline-block;position:relative}.life-heart svg{width:9px;height:9px;position:absolute;inset:0;overflow:visible}.life-heart path.fill{fill:var(--error)}.life-heart .heart-l{clip-path:inset(0 50% 0 0)}.life-heart .heart-r{clip-path:inset(0 0 0 50%)}.life-heart .heart-crack{opacity:0}.life-heart.is-cracking{animation:.22s ease-out forwards heartJolt}.life-heart.is-cracking .heart-crack{animation:.2s ease-out forwards crackLine}.life-heart.is-cracking .heart-l{animation:crackL .8s .2s var(--ease-out) forwards}.life-heart.is-cracking .heart-r{animation:crackR .8s .2s var(--ease-out) forwards}.life-heart.is-new{animation:heartIn .4s var(--ease-spring)}@keyframes heartJolt{40%{transform:scale(1.8)}to{transform:scale(1.5)}}@keyframes crackLine{to{opacity:1}}@keyframes crackL{to{opacity:0;transform:translate(-4px,7px)rotate(-30deg)}}@keyframes crackR{to{opacity:0;transform:translate(4px,8px)rotate(30deg)}}@keyframes heartIn{0%{transform:scale(0)}}.lives-num.is-drop{animation:numDrop .35s var(--ease-out);color:var(--error)}@keyframes numDrop{0%{opacity:0;transform:translateY(-6px)}}@media (width<=350px){.avatar-wrap{width:19px;height:19px}.player-chip,.player-line{gap:3px}}.board-nav{z-index:15;top:calc(var(--safe-top) + 110px);border:1px solid var(--dock-border);background:var(--nav-bg);border-radius:15px;padding:2px;display:flex;position:absolute;right:14px;box-shadow:0 3px 8px #30334a09}.board-nav button{min-width:40px;height:40px;font:500 13px var(--f-ui);color:var(--ink);background:0 0;border:0;border-radius:11px;padding:0 10px}.board-nav button:hover{background:var(--hover-tint)}.board-nav button:disabled{opacity:.35}.board-nav .zoom-step{font-size:20px}.sheet-open .board-nav{display:none}.toast{z-index:50;left:50%;top:calc(var(--safe-top) + 162px);background:var(--card);border:1px solid var(--line);width:max-content;max-width:calc(100% - 24px);box-shadow:0 12px 26px -14px rgba(var(--shadow-rgb),.45);font:500 12px/1.35 var(--f-ui);color:var(--ink-2);text-align:center;opacity:0;pointer-events:none;transition:opacity .3s, translate .45s var(--ease-spring);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:8px 14px 8px 12px;display:flex;position:absolute;translate:-50% -14px}.toast.is-on{opacity:1;translate:-50%}.toast b,.toast .toast-chord{color:var(--ink);font-weight:600}.bottom-dock{z-index:30;padding-bottom:var(--safe-bottom);background:linear-gradient(180deg, var(--dock-top), var(--dock-bottom));border-top:1px solid var(--dock-border);box-shadow:0 -8px 32px -20px var(--dock-glow);border-radius:28px 28px 0 0;flex-direction:column;transition:background-color .4s,box-shadow .4s;display:flex;position:absolute;bottom:0;left:0;right:0}.sheet-open .bottom-dock{background:var(--sheet-bg);box-shadow:0 -1px 0 var(--hairline), 0 -20px 40px -18px rgba(var(--shadow-rgb),.35)}.dock-tail{background:var(--dock-tail);width:22px;height:22px;box-shadow:-1px -1px 0 var(--hairline);opacity:0;border-radius:6px 0 0;margin-left:-11px;transition:opacity .3s;position:absolute;top:-9px;left:50%;transform:rotate(45deg)}.sheet-open .dock-tail{opacity:1}.turn-prompt{text-align:center;padding:19px 22px 9px}.turn-prompt h2{letter-spacing:-.6px;color:var(--ink);margin:0 0 5px;font-size:20px;font-weight:600}.turn-prompt p{color:var(--text-help);margin:0;font-size:12px;line-height:1.6}.turn-prompt .thinking-dots i{font-style:normal;animation:1.2s infinite both dotBlink;display:inline-block}.turn-prompt .thinking-dots i:nth-child(2){animation-delay:.2s}.turn-prompt .thinking-dots i:nth-child(3){animation-delay:.4s}@keyframes dotBlink{0%,80%,to{opacity:.2}40%{opacity:1}}.sheet-open .turn-prompt{display:none}.sheet-body{transition:grid-template-rows .5s var(--ease-out);grid-template-rows:0fr;display:grid}.sheet-open .sheet-body{grid-template-rows:1fr}.sheet-inner{min-height:0;padding:0 18px;overflow:hidden}.m-grabber{z-index:3;background:var(--n-300);border-radius:3px;width:36px;height:4px;margin:10px auto 8px;position:relative}.rack-row{justify-content:center;padding:13px 12px 7px;display:flex;position:relative}.tray{background:linear-gradient(var(--tray-top), var(--tray-bottom));width:100%;box-shadow:inset 0 1.5px 0 var(--tray-hi), 0 4px 0 -1px var(--tray-edge), 0 4px 0 0 var(--tray-edge-2), 0 14px 22px -14px var(--tray-cast);border-radius:17px;justify-content:space-between;gap:4px;padding:9px 9px 12px;transition:opacity .4s,background .4s,box-shadow .4s;display:flex}.sheet-open .tray{background:var(--tray-open);opacity:.75;box-shadow:inset 0 1px 2px #1e22300f}.tray.is-idle{opacity:.6}.rack-tile{--ts:clamp(32px, 10.77vw, 42px);--depth:5px;--tr:9px;cursor:grab;touch-action:none;transition:translate .28s var(--ease-spring), opacity .15s;position:relative}.rack-tile .tile-glyph text{font-size:21px}.rack-tile .tile-glyph text.is-acc{font-size:19px}@media (hover:hover){.rack-tile:not(.is-selected):hover{translate:0 -5px}}.rack-tile.is-selected{translate:0 -8px}.rack-tile.is-selected .tile-top{box-shadow:0 0 0 2px var(--ring-gap), 0 0 0 4px var(--select)}.rack-tile.is-selected .tile-shadow{opacity:.45;filter:blur(8px);transform:translateY(12px)scale(.9)}.rack-tile.is-lifted{opacity:0}.rack-tile.is-home{animation:homeBounce .4s var(--ease-spring)}@keyframes homeBounce{0%{scale:.85}60%{scale:1.06}to{scale:1}}.rack-slot-empty{border:1.5px dashed var(--slot-empty);border-radius:9px;width:clamp(32px,10.77vw,42px);height:clamp(32px,10.77vw,42px)}.selection-label{background:var(--select-label);color:var(--on-accent);font:500 11px/1.2 var(--f-ui);white-space:nowrap;pointer-events:none;z-index:2;border-radius:10px;padding:6px 10px;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 3px 8px #30334a20}.selection-label:after{content:"";background:inherit;width:8px;height:8px;position:absolute;bottom:-4px;left:calc(50% - 4px);transform:rotate(45deg)}.dock-float{align-items:center;gap:4px;transition:opacity .3s,translate .3s;display:flex;position:absolute;top:-54px}.dock-float.left{background:var(--float-bg);border:1px solid var(--line);border-radius:999px;padding:0 4px;left:18px}.sheet-open .dock-float{opacity:0;pointer-events:none;translate:0 8px}.btn-icon{width:44px;height:44px;color:var(--icon-tool);background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.btn-icon:hover{background:var(--icon-hover)}.btn-icon:disabled{opacity:.4}.btn-icon svg{stroke:currentColor;fill:none;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.dock-meter{align-items:center;gap:12px;min-height:48px;padding:2px 16px 0 14px;display:flex}.accidental-toggle{background:var(--n-200);border:1px solid var(--line);border-radius:999px;flex:none;padding:2px;display:inline-flex}.accidental-option{min-width:30px;height:24px;color:var(--ink-2);font:600 15px/1 var(--f-ui);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 8px;transition:background-color .15s,color .15s,box-shadow .15s;position:relative}.accidental-option:before{content:"";position:absolute;inset:-10px -2px}.accidental-option.is-on{background:var(--toggle-on);color:var(--ink);box-shadow:0 1px 3px rgba(var(--shadow-rgb),.18)}.dock-meter .shot-clock{--clock-size:44px;--clock-color:var(--select);width:var(--clock-size);height:var(--clock-size);color:var(--clock-color);flex:none;position:relative}.shot-clock-body{transform-origin:50%;will-change:transform;transition:transform .2s linear;position:absolute;inset:0}.shot-clock-pop{border-radius:50%;position:absolute;inset:0}.shot-clock-svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible;transform:rotate(-90deg)}.shot-clock-track,.shot-clock-arc,.shot-clock-idle{fill:none;stroke-width:4px}.shot-clock-track{stroke:var(--ring-track)}.shot-clock-arc{stroke:var(--clock-color);stroke-linecap:round;transition:stroke-dashoffset .2s linear,stroke .3s}.shot-clock-secs{font:600 15px/1 var(--f-ui);font-variant-numeric:tabular-nums;color:var(--ink);justify-content:center;align-items:center;transition:color .3s;display:flex;position:absolute;inset:0}.shot-clock.is-warn{--clock-color:var(--clock-warn)}.shot-clock.is-warn .shot-clock-secs{color:var(--clock-warn-text)}.shot-clock.is-danger{--clock-color:var(--error)}.shot-clock.is-danger .shot-clock-secs{color:var(--error)}.shot-clock.is-warn .shot-clock-pop,.shot-clock.is-danger .shot-clock-pop{animation:.42s cubic-bezier(.2,.9,.3,1.3) clockPop}.shot-clock.is-warn .shot-clock-secs,.shot-clock.is-danger .shot-clock-secs{animation:.3s ease-out clockFlip}.shot-clock.is-danger .shot-clock-body{animation:1s ease-in-out infinite clockGlow}@keyframes clockPop{0%{scale:1}30%{scale:1.14}55%{scale:.97}to{scale:1}}@keyframes clockFlip{0%{opacity:0;transform:translateY(-45%)rotateX(70deg)}to{opacity:1;transform:none}}@keyframes clockGlow{0%,to{filter:drop-shadow(0 0 #0000)}50%{filter:drop-shadow(0 0 7px var(--error))}}.shot-clock.is-thinking{color:var(--text-help)}.shot-clock.is-thinking .shot-clock-idle{stroke:var(--select);opacity:.6;stroke-linecap:round;stroke-dasharray:5 7;transform-origin:22px 22px;animation:6s linear infinite clockIdle}@keyframes clockIdle{to{transform:rotate(360deg)}}.sheet-open .dock-meter{padding-top:6px}.dock-caption{text-align:center;color:var(--text-caption);padding:3px 0 7px;font-size:10px}.sheet-open .dock-caption{display:none}.np-card{flex-direction:column;gap:10px;padding:2px 0 4px;display:flex}.np-card.is-shaking{animation:.42s ease-in-out cardShake}@keyframes cardShake{0%,to{translate:0}20%{translate:-9px}40%{translate:8px}60%{translate:-5px}80%{translate:3px}}.naming-title{letter-spacing:-.5px;color:var(--ink);margin:3px 0;font-size:19px;font-weight:600}.naming-title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.axis-toggle{background:var(--n-200);border-radius:999px;padding:2px;display:flex}.np-top{align-items:center;gap:8px;display:flex}.btn-hear{background:var(--hear);width:44px;height:44px;box-shadow:0 3px 0 var(--hear-edge);border:0;border-radius:14px;flex:none;place-items:center;padding:0;transition:translate .12s,box-shadow .12s;display:grid;position:relative}.btn-hear:active{box-shadow:0 0 0 var(--hear-edge);translate:0 2px}.btn-hear svg{width:17px;height:17px;stroke:var(--on-accent)}.btn-hear svg path:first-child{fill:var(--on-accent)}.btn-hear.is-playing .wave{animation:.5s ease-in-out infinite alternate wave}.btn-hear.is-playing .wave2{animation-delay:.15s}@keyframes wave{0%{opacity:.3}to{opacity:1}}.btn-hear.is-loading svg{opacity:.35}.btn-hear.is-loading:before{content:"";border:2px solid var(--line-2);border-top-color:var(--ink);border-radius:16px;animation:.8s linear infinite spin;position:absolute;inset:-3px}@keyframes spin{to{rotate:360deg}}.voicing-toggle{background:var(--n-200);border-radius:999px;padding:2px;display:flex}.voicing-toggle button,.axis-toggle button{min-height:36px;font:500 11px/1 var(--f-ui);color:var(--n-500);background:0 0;border:0;border-radius:999px;padding:9px 10px}.voicing-toggle button.is-on,.axis-toggle button.is-on{background:var(--toggle-on);color:var(--ink);box-shadow:0 1px 2px #1e22301f}.patch-picker{position:relative}.btn-patch{min-height:44px;font:500 11px/1 var(--f-ui);color:var(--n-500);background:0 0;border:0;border-radius:999px;align-items:center;gap:4px;padding:4px 6px;display:flex}.btn-patch:hover{background:var(--n-200);color:var(--ink)}.btn-patch svg{stroke:currentColor;fill:none;stroke-width:1.6px;stroke-linejoin:round;width:13px;height:13px}.patch-menu{z-index:20;background:var(--field-bg);border:1px solid var(--line);min-width:132px;box-shadow:0 12px 24px -12px rgba(var(--shadow-rgb),.4);border-radius:12px;flex-direction:column;padding:4px;display:flex;position:absolute;bottom:calc(100% + 6px);left:0}.patch-menu button{text-align:left;font:500 12px/1 var(--f-ui);color:var(--ink-2);background:0 0;border:0;border-radius:8px;padding:9px 10px}.patch-menu button:hover{background:var(--n-100)}.patch-menu button.is-on{color:var(--ink);font-weight:600}.patch-menu button.is-on:after{content:" ·";color:var(--good)}.pts-hint{color:var(--pts);margin-left:auto;font-size:12px;font-weight:600}.np-preview{text-align:center;padding:2px 0 0}.np-preview-name{font-family:var(--f-ui);letter-spacing:-1.5px;color:var(--ink);justify-content:center;align-items:baseline;min-height:48px;font-size:44px;font-weight:600;line-height:.95;display:inline-flex}.np-preview-name .cp-qual{margin-left:2px;font-size:.52em}.np-preview-name .cp-bass{color:var(--ink-2);margin-left:2px;font-size:.52em}.np-preview-name .cp-bass.is-pedal-blocked{color:#c9a15a;text-decoration:line-through}.np-long.is-pedal-blocked{color:#c9a15a}.np-preview-sub{color:var(--text-help);justify-content:center;align-items:center;gap:10px;margin-top:4px;font-size:12px;display:flex}.entry-row{align-items:center;gap:6px;display:flex}.root-wheel{border-radius:14px;outline:none;flex:none;align-items:center;gap:1px;display:flex;position:relative}.root-wheel:focus-visible .wheel-frame{box-shadow:inset 0 1px 2px #1e223014, 0 0 0 2px rgba(var(--amber), .7)}.wheel-frame{width:calc(var(--wt) + 14px);height:calc(var(--wt) * 1.75);background:var(--n-100);border-radius:14px;box-shadow:inset 0 1px 2px #1e223014,inset 0 0 0 1px #1e22300d}.wheel-window{perspective:280px;cursor:ns-resize;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000 0,#000 30% 72%,#0000 100%);mask-image:linear-gradient(#0000 0,#000 30% 72%,#0000 100%)}.wheel-drum{width:0;height:0;transform-style:preserve-3d;position:absolute;top:50%;left:50%}.wheel-item{left:calc(var(--wt) / -2);top:calc(var(--wt) / -2 - 2px);width:var(--wt);height:var(--wt);transform-style:preserve-3d;backface-visibility:hidden;position:absolute}.wheel-item:not(.is-sel){opacity:.55;filter:saturate(.7)}.wheel-item .tile{--ts:var(--wt);--depth:4px;--tr:9px}.wheel-item .tile .tile-shadow{filter:blur(3px)}.wheel-item .tile-glyph text{font-size:25px}.wheel-item .tile-glyph text.is-acc{font-size:22px}.wheel-steps{flex-direction:column;gap:2px;display:flex}.wheel-steps button{width:16px;height:20px;color:var(--n-400);background:0 0;border:0;border-radius:6px;padding:0;font-size:8px;line-height:1}.wheel-steps button:hover{background:var(--n-200);color:var(--ink)}.bass-wheel .wheel-steps button{width:13px}.wheel-chip{left:calc(var(--wt) / 2 + 7px);z-index:2;border:1px solid var(--line-2);background:var(--card);font:600 9.5px/1.2 var(--f-ui);color:var(--ink);white-space:nowrap;box-shadow:0 2px 5px -2px rgba(var(--shadow-rgb),.3);border-radius:999px;padding:2px 6px;position:absolute;bottom:-9px;translate:-50%}.quality-field{background:var(--field-bg);border:1px solid var(--line-2);border-radius:13px;flex:1;min-width:0;height:46px;transition:border-color .2s,box-shadow .2s;display:block;position:relative}.quality-field:focus-within{border-color:var(--field-focus);box-shadow:0 0 0 3px var(--field-halo)}.quality-field.is-unknown{border-color:#c9a15ab3}.quality-input,.quality-ghost{font:500 18px/46px var(--f-ui);letter-spacing:0;white-space:pre;background:0 0;border:0;margin:0;padding:0 11px;position:absolute;inset:0;overflow:hidden}.quality-input{width:100%;color:var(--ink);text-overflow:ellipsis;outline:none}.quality-input:focus-visible{outline:none}.quality-input::placeholder{color:var(--n-400);font:400 12px/46px var(--f-ui)}.quality-ghost{color:var(--n-400);pointer-events:none}.quality-ghost .typed{visibility:hidden}.btn-slash{width:24px;height:46px;font:500 18px/1 var(--f-ui);color:var(--n-400);background:0 0;border:0;border-radius:10px;flex:none}.btn-slash:hover{background:var(--n-200);color:var(--ink)}.btn-slash.is-on{color:var(--ink)}.np-actions{align-items:center;gap:12px;margin-top:2px;display:flex}.btn-submit{background:var(--accent);min-height:46px;color:var(--on-accent);font:600 14px/1 var(--f-ui);box-shadow:0 4px 0 var(--accent-edge);border:0;border-radius:14px;flex:1;justify-content:center;align-items:center;gap:9px;transition:translate .12s,box-shadow .12s;display:flex}.btn-submit:active{box-shadow:0 0 0 var(--accent-edge);translate:0 3px}.btn-pass-text{min-height:44px;font:500 12px/1 var(--f-ui);color:var(--text-pass);background:0 0;border:0;align-items:center;gap:4px;padding:6px 2px;display:flex}.btn-pass-text:hover{color:var(--ink)}.btn-pass-text svg{width:10px;height:10px}.btn-pass-text svg path{fill:var(--error)}.fx-layer{z-index:60;pointer-events:none;position:absolute;inset:0}.drag-ghost,.tile-flight{--ts:52px;--depth:6px;--tr:11px;will-change:transform;position:absolute;top:0;left:0}.drag-ghost .tile-shadow{opacity:.4;filter:blur(12px);transform:translateY(20px)scale(1.12)}.tile-flight .tile-shadow{opacity:0}.flight-shadow{background:var(--flight-shadow);filter:blur(6px);will-change:transform, opacity;border-radius:50%;width:46px;height:14px;position:absolute;top:0;left:0}.points-bubble{z-index:100;pointer-events:none;width:56px;height:56px;font:700 19px/1 var(--f-ui);color:var(--bubble-text);background:radial-gradient(circle at 32% 28%, #fffffff2 0 9%, #fff0 10%), radial-gradient(circle at 50% 50%, var(--bubble-core) 0 55%, var(--bubble-rim) 80%, var(--bubble-rim-2) 100%);border-radius:50%;place-items:center;display:grid;position:fixed;top:0;left:0;box-shadow:inset 0 0 0 1.5px #ffffffd9,inset -4px -6px 10px #2f8a642e,0 8px 18px -8px #2f8a6473}.points-bubble:after{content:"";background:#ffffffb3;border-radius:50%;width:6px;height:6px;position:absolute;bottom:10px;right:12px}.pop-spark{z-index:100;pointer-events:none;background:#78d2aae6;border-radius:50%;width:7px;height:7px;position:fixed;top:0;left:0;box-shadow:inset 0 0 0 1.5px #fff}.game-over{z-index:70;background:color-mix(in srgb, var(--table) 55%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fadeIn .35s var(--ease-out);place-items:center;padding:24px;display:grid;position:absolute;inset:0}@keyframes fadeIn{0%{opacity:0}}.game-over-card{background:var(--sheet-bg);border:1px solid var(--dock-border);width:100%;max-width:330px;box-shadow:0 24px 50px -24px rgba(var(--shadow-rgb),.55);text-align:center;animation:cardRise .5s var(--ease-spring);border-radius:28px;flex-direction:column;gap:14px;padding:22px 20px 20px;display:flex}@keyframes cardRise{0%{opacity:0;translate:0 24px;scale:.94}}.game-over-kicker{letter-spacing:2px;text-transform:uppercase;color:var(--text-help);font-size:11px;font-weight:500}.game-over-title{letter-spacing:-1px;color:var(--ink);margin:0;font-size:26px;font-weight:600}.game-over-reason{color:var(--text-help);margin:-6px 0 0;font-size:12px}.final-scores{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.final-score-row{background:var(--chip-bg);border:1px solid var(--chip-border);border-radius:15px;align-items:center;gap:10px;padding:8px 12px;display:flex}.final-score-row.is-winner{background:var(--chip-active-bg);border-color:var(--chip-active-border);box-shadow:0 3px 0 var(--chip-active-edge)}.final-score-row .avatar{flex:none;width:28px;height:28px}.final-name{text-align:left;color:var(--ink);flex:1;font-size:13px;font-weight:500}.final-points{font-variant-numeric:tabular-nums;color:var(--ink);font-size:17px;font-weight:600}.game-over-actions{flex-direction:column;gap:10px;margin-top:4px;display:flex}.btn-play-again{width:100%}.btn-new-setup{border:1px solid var(--line-2);min-height:44px;font:500 13px/1 var(--f-ui);color:var(--ink-2);background:0 0;border-radius:14px}.btn-new-setup:hover{background:var(--n-200);color:var(--ink)}@media (prefers-reduced-motion:reduce){.tile.is-landing,.pencil-chord.is-earned,.game-over,.game-over-card{animation:none}.sheet-body,.bottom-dock,.board-veil{transition-duration:10ms}.turn-ring.is-thinking,.shot-clock .shot-clock-pop,.shot-clock .shot-clock-secs,.shot-clock .shot-clock-body,.shot-clock-idle{animation:none}.shot-clock-body{transition:none;transform:none!important}.shot-clock-arc{transition:stroke .3s}}.rack-slot{touch-action:none;display:block;position:relative}.rack-slot.is-lifted:before{content:"";border:1.5px dashed var(--slot-empty);border-radius:9px;position:absolute;inset:0}.pencil-chord.is-superseded{opacity:0!important}.m-players.is-compact{gap:4px}.m-players.is-compact .player-chip{gap:4px;padding:8px 2px;position:relative}.m-players.is-compact .player-name{display:none}.m-players.is-compact .lives-compact{background:var(--card);border:1px solid var(--chip-border);border-radius:999px;gap:2px;padding:2px 4px;font-size:9px;position:absolute;top:-6px;right:1px}.m-players.is-compact .life-heart,.m-players.is-compact .life-heart svg{width:7px;height:7px}.m-players.is-compact .turn-time,.m-players.is-four .turn-time{display:none}.player-line .turn-time{font-size:10px}@media (width<=380px){.m-players.is-four{gap:4px}.m-players.is-four .player-chip{gap:4px;padding:8px 2px;position:relative}.m-players.is-four .player-name{display:none}.m-players.is-four .lives-compact{background:var(--card);border:1px solid var(--chip-border);border-radius:999px;gap:2px;padding:2px 4px;font-size:9px;position:absolute;top:-6px;right:1px}.m-players.is-four .life-heart,.m-players.is-four .life-heart svg{width:7px;height:7px}.m-players.is-four .turn-time{display:none}}@property --page-bg{syntax:"<color>";inherits:true;initial-value:#0000}@property --table{syntax:"<color>";inherits:true;initial-value:#0000}@property --sun-1{syntax:"<color>";inherits:true;initial-value:#0000}@property --sun-2{syntax:"<color>";inherits:true;initial-value:#0000}@property --floor-dot{syntax:"<color>";inherits:true;initial-value:#0000}@property --veil{syntax:"<color>";inherits:true;initial-value:#0000}@property --n-50{syntax:"<color>";inherits:true;initial-value:#0000}@property --n-100{syntax:"<color>";inherits:true;initial-value:#0000}@property --n-200{syntax:"<color>";inherits:true;initial-value:#0000}@property --n-300{syntax:"<color>";inherits:true;initial-value:#0000}@property --n-400{syntax:"<color>";inherits:true;initial-value:#0000}@property --n-500{syntax:"<color>";inherits:true;initial-value:#0000}@property --card{syntax:"<color>";inherits:true;initial-value:#0000}@property --line{syntax:"<color>";inherits:true;initial-value:#0000}@property --hairline{syntax:"<color>";inherits:true;initial-value:#0000}@property --line-2{syntax:"<color>";inherits:true;initial-value:#0000}@property --ink{syntax:"<color>";inherits:true;initial-value:#0000}@property --ink-2{syntax:"<color>";inherits:true;initial-value:#0000}@property --on-ink{syntax:"<color>";inherits:true;initial-value:#0000}@property --svg-ink{syntax:"<color>";inherits:true;initial-value:#0000}@property --text-help{syntax:"<color>";inherits:true;initial-value:#0000}@property --text-caption{syntax:"<color>";inherits:true;initial-value:#0000}@property --text-player{syntax:"<color>";inherits:true;initial-value:#0000}@property --text-lives{syntax:"<color>";inherits:true;initial-value:#0000}@property --text-target{syntax:"<color>";inherits:true;initial-value:#0000}@property --text-pass{syntax:"<color>";inherits:true;initial-value:#0000}@property --text-viz{syntax:"<color>";inherits:true;initial-value:#0000}@property --icon-tool{syntax:"<color>";inherits:true;initial-value:#0000}@property --aside-text{syntax:"<color>";inherits:true;initial-value:#0000}@property --aside-kicker{syntax:"<color>";inherits:true;initial-value:#0000}@property --link{syntax:"<color>";inherits:true;initial-value:#0000}@property --dock-top{syntax:"<color>";inherits:true;initial-value:#0000}@property --dock-bottom{syntax:"<color>";inherits:true;initial-value:#0000}@property --dock-border{syntax:"<color>";inherits:true;initial-value:#0000}@property --dock-glow{syntax:"<color>";inherits:true;initial-value:#0000}@property --sheet-bg{syntax:"<color>";inherits:true;initial-value:#0000}@property --dock-tail{syntax:"<color>";inherits:true;initial-value:#0000}@property --tray-top{syntax:"<color>";inherits:true;initial-value:#0000}@property --tray-bottom{syntax:"<color>";inherits:true;initial-value:#0000}@property --tray-hi{syntax:"<color>";inherits:true;initial-value:#0000}@property --tray-edge{syntax:"<color>";inherits:true;initial-value:#0000}@property --tray-edge-2{syntax:"<color>";inherits:true;initial-value:#0000}@property --tray-cast{syntax:"<color>";inherits:true;initial-value:#0000}@property --tray-open{syntax:"<color>";inherits:true;initial-value:#0000}@property --slot-empty{syntax:"<color>";inherits:true;initial-value:#0000}@property --chip-bg{syntax:"<color>";inherits:true;initial-value:#0000}@property --chip-border{syntax:"<color>";inherits:true;initial-value:#0000}@property --chip-active-bg{syntax:"<color>";inherits:true;initial-value:#0000}@property --chip-active-border{syntax:"<color>";inherits:true;initial-value:#0000}@property --chip-active-edge{syntax:"<color>";inherits:true;initial-value:#0000}@property --ring-track{syntax:"<color>";inherits:true;initial-value:#0000}@property --target-bg{syntax:"<color>";inherits:true;initial-value:#0000}@property --target-border{syntax:"<color>";inherits:true;initial-value:#0000}@property --nav-bg{syntax:"<color>";inherits:true;initial-value:#0000}@property --hover-tint{syntax:"<color>";inherits:true;initial-value:#0000}@property --float-bg{syntax:"<color>";inherits:true;initial-value:#0000}@property --pill-bg{syntax:"<color>";inherits:true;initial-value:#0000}@property --pill-hover{syntax:"<color>";inherits:true;initial-value:#0000}@property --icon-hover{syntax:"<color>";inherits:true;initial-value:#0000}@property --avatar-ring{syntax:"<color>";inherits:true;initial-value:#0000}@property --field-bg{syntax:"<color>";inherits:true;initial-value:#0000}@property --field-focus{syntax:"<color>";inherits:true;initial-value:#0000}@property --field-halo{syntax:"<color>";inherits:true;initial-value:#0000}@property --toggle-on{syntax:"<color>";inherits:true;initial-value:#0000}@property --chat-bg{syntax:"<color>";inherits:true;initial-value:#0000}@property --accent{syntax:"<color>";inherits:true;initial-value:#0000}@property --accent-edge{syntax:"<color>";inherits:true;initial-value:#0000}@property --hear{syntax:"<color>";inherits:true;initial-value:#0000}@property --hear-edge{syntax:"<color>";inherits:true;initial-value:#0000}@property --on-accent{syntax:"<color>";inherits:true;initial-value:#0000}@property --select{syntax:"<color>";inherits:true;initial-value:#0000}@property --select-label{syntax:"<color>";inherits:true;initial-value:#0000}@property --wordmark{syntax:"<color>";inherits:true;initial-value:#0000}@property --focus{syntax:"<color>";inherits:true;initial-value:#0000}@property --error{syntax:"<color>";inherits:true;initial-value:#0000}@property --good{syntax:"<color>";inherits:true;initial-value:#0000}@property --label{syntax:"<color>";inherits:true;initial-value:#0000}@property --earned{syntax:"<color>";inherits:true;initial-value:#0000}@property --pts{syntax:"<color>";inherits:true;initial-value:#0000}@property --ghost-border{syntax:"<color>";inherits:true;initial-value:#0000}@property --ghost-bg{syntax:"<color>";inherits:true;initial-value:#0000}@property --slot-legal{syntax:"<color>";inherits:true;initial-value:#0000}@property --slot-lo{syntax:"<color>";inherits:true;initial-value:#0000}@property --slot-hi{syntax:"<color>";inherits:true;initial-value:#0000}@property --slot-target{syntax:"<color>";inherits:true;initial-value:#0000}@property --run-pad{syntax:"<color>";inherits:true;initial-value:#0000}@property --run-glow{syntax:"<color>";inherits:true;initial-value:#0000}@property --bubble-text{syntax:"<color>";inherits:true;initial-value:#0000}@property --bubble-core{syntax:"<color>";inherits:true;initial-value:#0000}@property --bubble-rim{syntax:"<color>";inherits:true;initial-value:#0000}@property --bubble-rim-2{syntax:"<color>";inherits:true;initial-value:#0000}@property --key-white{syntax:"<color>";inherits:true;initial-value:#0000}@property --key-under{syntax:"<color>";inherits:true;initial-value:#0000}@property --key-stroke{syntax:"<color>";inherits:true;initial-value:#0000}@property --key-black{syntax:"<color>";inherits:true;initial-value:#0000}@property --viz-label{syntax:"<color>";inherits:true;initial-value:#0000}@property --neck-board{syntax:"<color>";inherits:true;initial-value:#0000}@property --neck-inlay{syntax:"<color>";inherits:true;initial-value:#0000}@property --neck-fret{syntax:"<color>";inherits:true;initial-value:#0000}@property --neck-nut{syntax:"<color>";inherits:true;initial-value:#0000}@property --neck-string{syntax:"<color>";inherits:true;initial-value:#0000}@property --slot-dup{syntax:"<color>";inherits:true;initial-value:#0000}@property --slot-dup-border{syntax:"<color>";inherits:true;initial-value:#0000}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page-bg:#edeae2;--table:#f8f5ed;--sun-1:#fffbecf2;--sun-2:#d6ccb652;--floor-dot:#8a857852;--veil:#faf8f26b;--n-50:#fbf9f4;--n-100:#f6f3ec;--n-200:#ece7dc;--n-300:#ddd6c7;--n-400:#b9b2a2;--n-500:#686859;--card:#fffdf8;--line:#1e223014;--line-2:#1e223021;--hairline:#1e22300d;--ink:#30334a;--ink-2:#53566b;--on-ink:#fff;--svg-ink:#1e2230;--text-help:#62635c;--text-caption:#757568;--text-player:#54566a;--text-lives:#6b6b66;--text-target:#66695f;--text-pass:#71655f;--text-viz:#5b6254;--icon-tool:#646653;--aside-text:#585a63;--aside-kicker:#797b6c;--link:#465fc0;--dock-top:#fffcf6;--dock-bottom:#f6f0e4;--dock-border:#e4ddcf;--dock-glow:#998b6a;--sheet-bg:#fffcf6;--dock-tail:#fdfaf3;--tray-top:#f0eadb;--tray-bottom:#e9dfc8;--tray-hi:#ffffffd9;--tray-edge:#ddcfb2;--tray-edge-2:#96784629;--tray-cast:#5a421866;--tray-open:#ece7dc80;--slot-empty:#96784652;--chip-bg:#fffdf9b3;--chip-border:#eae5d9;--chip-active-bg:#eef0fd;--chip-active-border:#b9c3f0;--chip-active-edge:#dce0f3;--ring-track:#1e223014;--target-bg:#efebdf;--target-border:#e4dfd1;--nav-bg:#fffcf6f2;--hover-tint:#eef0fd;--float-bg:#fffcf6;--pill-bg:#fffdf8d1;--pill-hover:#fff;--icon-hover:#ffffffbf;--avatar-ring:#fffdf8f2;--field-bg:#fff;--field-focus:#1e223073;--field-halo:#1e22300f;--toggle-on:#fff;--chat-bg:#fffdf8e6;--accent:#5e73c2;--accent-edge:#42548f;--hear:#6276be;--hear-edge:#465994;--on-accent:#fff;--select:#647cd2;--select-label:#5168b2;--wordmark:#5970c8;--focus:#526cc7;--error:#d9483b;--good:#2f8a64;--label:#676958;--earned:#466b4d;--pts:#526d4b;--ghost-border:#8a857852;--ghost-bg:#ffffff24;--slot-legal:#ffd68c33;--slot-lo:#ffd68c1f;--slot-hi:#ffd68c61;--slot-target:#ffce6e8c;--run-pad:#ffce6e6b;--run-glow:#ffc45780;--slot-dup:#d9483b14;--slot-dup-border:#d9483b80;--clock-warn:#d89a2b;--clock-warn-text:#8c5a08;--bubble-text:#2f8a64;--bubble-core:#ffffff59;--bubble-rim:#aae6c88c;--bubble-rim-2:#78d2aabf;--key-white:#fff;--key-under:transparent;--key-stroke:#1e223029;--key-black:#2a2e3b;--viz-label:#8a8578;--neck-board:#f1e7d3;--neck-inlay:#e0d2b4;--neck-fret:#c9bba0;--neck-nut:#8a8578;--neck-string:#9c927f;--shadow-rgb:60,48,24;--tile-shadow:#56421e52;--flight-shadow:#56421e4d;--ring-gap:#fff;--spill-opacity:0;--cap-filter:none;--tile-rim:transparent;transition-property:--page-bg,--table,--sun-1,--sun-2,--floor-dot,--veil,--n-50,--n-100,--n-200,--n-300,--n-400,--n-500,--card,--line,--line-2,--hairline,--ink,--ink-2,--on-ink,--svg-ink,--text-help,--text-caption,--text-player,--text-lives,--text-target,--text-pass,--text-viz,--icon-tool,--aside-text,--aside-kicker,--link,--dock-top,--dock-bottom,--dock-border,--dock-glow,--sheet-bg,--dock-tail,--tray-top,--tray-bottom,--tray-hi,--tray-edge,--tray-edge-2,--tray-cast,--tray-open,--slot-empty,--chip-bg,--chip-border,--chip-active-bg,--chip-active-border,--chip-active-edge,--ring-track,--target-bg,--target-border,--nav-bg,--hover-tint,--float-bg,--pill-bg,--pill-hover,--icon-hover,--avatar-ring,--field-bg,--field-focus,--field-halo,--toggle-on,--chat-bg,--accent,--accent-edge,--hear,--hear-edge,--on-accent,--select,--select-label,--wordmark,--focus,--error,--good,--label,--earned,--pts,--ghost-border,--ghost-bg,--slot-legal,--slot-lo,--slot-hi,--slot-target,--run-pad,--run-glow,--slot-dup,--slot-dup-border,--bubble-text,--bubble-core,--bubble-rim,--bubble-rim-2,--key-white,--key-under,--key-stroke,--key-black,--viz-label,--neck-board,--neck-inlay,--neck-fret,--neck-nut,--neck-string;transition-duration:.12s;transition-timing-function:cubic-bezier(.2,.8,.2,1)}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page-bg:#0b1120;--table:#151d30;--sun-1:#96b0f01a;--sun-2:#04081273;--floor-dot:#a0b6e647;--veil:#151d308c;--n-50:#1b2438;--n-100:#1f293f;--n-200:#29344c;--n-300:#38445e;--n-400:#97a1b7;--n-500:#adb5c6;--card:#212b42;--line:#c8d7fa1a;--line-2:#c8d7fa2e;--hairline:#c8d7fa12;--ink:#eef0f5;--ink-2:#c6ccd8;--on-ink:#141b2d;--svg-ink:#eef0f5;--text-help:#b3bbcc;--text-caption:#a3acbf;--text-player:#bec5d4;--text-lives:#b0b8c9;--text-target:#b3bbcc;--text-pass:#c9bdbe;--text-viz:#b5bec9;--icon-tool:#aeb6c6;--aside-text:#b3bbcc;--aside-kicker:#9ca6ba;--link:#a6b8f6;--dock-top:#1c2539;--dock-bottom:#182033;--dock-border:#2c3851;--dock-glow:#000;--sheet-bg:#1c2539;--dock-tail:#1c2539;--tray-top:#263049;--tray-bottom:#202a41;--tray-hi:#ffffff12;--tray-edge:#0c1220;--tray-edge-2:#00000059;--tray-cast:#0009;--tray-open:#28324a80;--slot-empty:#a0b4e13d;--chip-bg:#212b42b8;--chip-border:#2d3954;--chip-active-bg:#283666;--chip-active-border:#5468b0;--chip-active-edge:#111933;--ring-track:#c8d7fa21;--target-bg:#1e283d;--target-border:#303c57;--nav-bg:#1c2539f2;--hover-tint:#2a3762;--float-bg:#1c2539;--pill-bg:#1c2539d9;--pill-hover:#26314b;--icon-hover:#ffffff14;--avatar-ring:#1c2539f2;--field-bg:#121a2b;--field-focus:#eef0f580;--field-halo:#eef0f514;--toggle-on:#38445e;--chat-bg:#1b2438f2;--accent:#9daef3;--accent-edge:#5a6cb8;--hear:#9daef3;--hear-edge:#5a6cb8;--on-accent:#121830;--select:#8fa3ee;--select-label:#9daef3;--wordmark:#a6b8f6;--focus:#a6b8f6;--error:#f47466;--good:#55bc8d;--label:#adb4a2;--earned:#95d3a2;--pts:#a4d396;--ghost-border:#a0b6e64d;--ghost-bg:#ffffff08;--slot-legal:#ffc86e24;--slot-lo:#ffc86e14;--slot-hi:#ffc86e3d;--slot-target:#ffc86e61;--run-pad:#ffc46038;--run-glow:#ffbe505c;--slot-dup:#f474661f;--slot-dup-border:#f474669e;--clock-warn:#f2b65a;--clock-warn-text:#f5c477;--bubble-text:#86dcae;--bubble-core:#ffffff1a;--bubble-rim:#6ec8a06b;--bubble-rim-2:#5abe96b3;--key-white:#cec9ba;--key-under:#cec9ba;--key-stroke:#00000073;--key-black:#0b1019;--viz-label:#9ca6ba;--neck-board:#2f2924;--neck-inlay:#48413a;--neck-fret:#6f675c;--neck-nut:#c6bda8;--neck-string:#a69d8b;--shadow-rgb:0,0,0;--tile-shadow:#000000b3;--flight-shadow:#0000008c;--ring-gap:#151d30;--spill-opacity:.16;--cap-filter:saturate(1.04) brightness(.97);--tile-rim:#e1ebff29}.theme-switching *,.theme-switching :before,.theme-switching :after{transition-duration:0s!important;transition-delay:0s!important}@media (prefers-reduced-motion:reduce){:root{transition:none}}.viz-dock{flex-direction:column;align-items:stretch;display:none}.sheet-open .viz-dock{display:flex}.viz-toggle{min-height:28px;font:500 11px/1 var(--f-ui);color:var(--text-viz);cursor:pointer;background:0 0;border:0;border-radius:999px;align-self:center;margin:0 0 2px;padding:6px 12px;transition:background-color .15s}.viz-toggle:hover{background:var(--n-200)}.viz-chev{font-size:10px;transition:rotate .3s;display:inline-block}.viz-open .viz-chev{rotate:180deg}.viz-drawer{opacity:0;transition:grid-template-rows .45s var(--ease-out), opacity .3s;grid-template-rows:0fr;display:grid}.viz-open .viz-drawer{opacity:1;grid-template-rows:1fr}.viz-inner{min-height:0;padding:0 12px;overflow:hidden}.viz-head{justify-content:space-between;align-items:center;padding:4px 2px 6px;display:flex}.viz-legend{font:500 10px/1 var(--f-mono);color:var(--text-viz);align-items:center;gap:5px;display:inline-flex}.viz-legend i{width:9px;height:9px;box-shadow:0 0 0 1.5px var(--svg-ink);border-radius:50%}.viz-pager{align-items:center;gap:6px;display:flex}.pg-item{align-items:center;gap:6px;display:inline-flex}.pg-sep{color:var(--n-300)}.pg{min-height:28px;font:500 11px/1 var(--f-mono);color:var(--text-viz);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:3px 2px;display:inline-flex}.pg i{background:var(--n-300);border-radius:50%;width:6px;height:6px;transition:background-color .2s,scale .2s}.pg.is-on{color:var(--ink)}.pg.is-on i{background:var(--ink);scale:1.25}.viz-carousel{touch-action:pan-y;-webkit-user-select:none;user-select:none;outline:none;padding-bottom:6px;overflow:hidden}.viz-carousel:focus-visible{box-shadow:0 0 0 2px var(--select);border-radius:8px}.viz-carousel.is-dragging{cursor:grabbing}.viz-track{will-change:transform;width:200%;display:flex}.viz-panel{flex:0 0 50%;min-width:0;padding:0 2px}.viz-piano{width:100%;height:auto;display:block}.neck-scroll{scrollbar-width:none;-webkit-overflow-scrolling:touch;overflow:auto hidden}.neck-scroll::-webkit-scrollbar{display:none}.viz-neck{max-width:none;display:block}.piano-key,.note-dot{cursor:pointer}.viz-piano .key-white{fill:var(--key-white);stroke:var(--key-stroke)}.viz-piano .key-under{fill:var(--key-under)}.viz-piano .key-lit{stroke:var(--key-stroke)}.viz-piano .key-black{fill:var(--key-black)}.viz-label{fill:var(--viz-label)}.dot-root-ring{stroke:var(--svg-ink)}.neck-board{fill:var(--neck-board)}.neck-inlay{fill:var(--neck-inlay)}.neck-fret{fill:var(--neck-fret)}.neck-nut{fill:var(--neck-nut)}.neck-string{stroke:var(--neck-string)}.note-dot-text{-webkit-user-select:none;user-select:none;pointer-events:none}@media (prefers-reduced-motion:reduce){.viz-drawer{transition:opacity .2s}.viz-chev{transition:none}.viz-track{transition:none!important}}@property --lift{syntax:"<length>";inherits:true;initial-value:0}:root{--amber:224, 164, 58;--f-ui:"Poppins", sans-serif;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--page-bg);color:var(--ink);font-family:var(--f-ui);-webkit-font-smoothing:antialiased;overscroll-behavior:none;font-size:14px;line-height:1.4}#root{min-height:100%}button,input{color:inherit;font-family:inherit}button{cursor:pointer}button:disabled{cursor:default}[hidden]{display:none!important}button:focus-visible,[role=button]:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}@media (width<=500px){html,body{background:var(--table)}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.game-wordmark{letter-spacing:-1.2px;color:var(--ink);font-size:23px;font-weight:600;line-height:1.2}.game-wordmark span{color:var(--wordmark)}.btn-theme{background:var(--target-bg);border:1px solid var(--target-border);width:30px;height:30px;color:var(--text-target);border-radius:50%;place-items:center;padding:0;display:grid;position:relative}.btn-theme:before{content:"";position:absolute;inset:-7px}.btn-theme:hover{color:var(--ink)}.btn-theme svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.btn-theme .icon-sun{display:none}[data-theme=dark] .btn-theme .icon-sun{display:block}[data-theme=dark] .btn-theme .icon-moon{display:none}
