:root{--void: #120726;--void-2: #22103f;--ink: #f3e7ff;--ink-soft: #ac91d0;--pink: #ff1ad9;--cyan: #00e5ff;--menu-cyan: #00f7ff;--menu-pink-deep: #ff007f;--rail: rgba(255, 255, 255, .18);--font-ui: "Outfit", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--font-display: "Montserrat", "Outfit", sans-serif;--fs-2xs: 10px;--fs-xs: 11.5px;--fs-sm: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 20px;--fs-2xl: 26px;--fs-3xl: 32px;--fw-body: 400;--fw-meta: 600;--fw-strong: 700;--fw-title: 800;--ls-title: .05em;--ls-caps: .08em;--ls-wide: .16em}:root:lang(vi){--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}#menu-screen{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;height:100dvh;height:var(--app-h, 100dvh);z-index:1000;background-color:#030209;font-family:var(--font-ui);overflow:hidden;will-change:transform;transition:transform .55s cubic-bezier(.16,1,.3,1);transform:translate(0)}#menu-screen.slide-out{transform:translate(-100%)}#menu-screen.slide-out-right{transform:translate(100%)}#menu-screen.slide-in-start{transform:translate(-100%);transition:none!important}#gameMenu{position:absolute;top:0;left:0;width:100%;height:100%;display:block}.menu-close{position:absolute;bottom:24px;bottom:max(24px,calc(16px + env(safe-area-inset-bottom)));left:20px;left:max(20px,env(safe-area-inset-left));z-index:1010}.menu-bottom-controls{position:absolute;bottom:24px;bottom:max(24px,calc(16px + env(safe-area-inset-bottom)));right:20px;right:max(20px,env(safe-area-inset-right));z-index:1010;display:flex;flex-direction:row;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;max-width:calc(100vw - 32px)}.menu-control-btn,.audio-toggle-btn{background:linear-gradient(#160a2a66,#09041285) padding-box,linear-gradient(90deg,#00f7ff59,#ff007f59) border-box;border:1px solid transparent;color:#f0e6ff;border-radius:10px;padding:10px 14px;font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:var(--fw-title);cursor:pointer;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 2px 6px #0009;transition:all .25s cubic-bezier(.2,.8,.2,1)}.menu-control-btn:hover,.audio-toggle-btn:hover{background:linear-gradient(135deg,#00f7ff73,#00b4f08c 25%,#be008c9e 70%,#ff007f85) padding-box,linear-gradient(90deg,var(--menu-cyan),var(--menu-pink-deep)) border-box;color:#fff;box-shadow:0 0 14px #ff007fd9}.icon-btn,.lang-btn{display:inline-flex;align-items:center;justify-content:center;width:48px;height:42px;padding:0;line-height:0}.icon-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.icon-btn svg .dot{fill:currentColor;stroke:none}.icon-btn.active{background:linear-gradient(135deg,#00f7ff73,#00b4f08c 25%,#be008c9e 70%,#ff007f85) padding-box,linear-gradient(90deg,var(--menu-cyan),var(--menu-pink-deep)) border-box;color:#fff;box-shadow:0 0 12px #00f7ff8c}.audio-toggle-btn .no{display:none;stroke:#ff4d6d;stroke-width:2.2}.audio-toggle-btn.off .waves{display:none}.audio-toggle-btn.off .no{display:inline}.audio-toggle-btn.off .speaker{opacity:.6}.lang-btn .flag{width:27px;height:18px;border-radius:2px;display:block}html.i18n-loading body{visibility:hidden}@media (max-width: 400px){.menu-bottom-controls{gap:6px}.menu-control-btn,.audio-toggle-btn{padding:9px 10px;font-size:12px}.icon-btn,.lang-btn{width:44px;height:40px}.lang-btn .flag{width:24px;height:16px}}html,body{height:100%;height:100dvh;height:var(--app-h, 100dvh);margin:0;padding:0;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}body{background:linear-gradient(180deg,var(--void-2),var(--void));color:var(--ink);font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:var(--fw-body);font-variant-numeric:tabular-nums;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}#stage{position:relative;flex:1;min-height:0;width:100%;height:100%}#cue2,#stage,#cue,#bar{box-sizing:border-box;width:100%;max-width:max(360px,62dvh);margin-left:auto;margin-right:auto}canvas#c{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}#hud{position:absolute;right:13px;top:12px;text-align:right;pointer-events:none;font-size:var(--fs-xs);color:var(--ink-soft);line-height:1.55;text-shadow:0 1px 10px rgba(18,7,38,.92);z-index:5}#hud b{color:var(--cyan);font-weight:var(--fw-meta);margin-left:9px;font-size:var(--fs-sm)}#bar{display:flex;flex-direction:column;gap:9px;padding:11px 14px 20px;padding:11px 14px max(20px,calc(11px + env(safe-area-inset-bottom)));background:#120726f0;border-top:1px solid rgba(255,26,217,.4);font-size:var(--fs-sm);z-index:10}#bar .row{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}#bar .row button{flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:clamp(var(--fs-2xs),2.6vw,var(--fs-sm));padding:6px clamp(5px,1.8vw,10px)}.row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}#counts{color:var(--ink-soft);white-space:nowrap}#counts strong{color:var(--pink);font-weight:var(--fw-meta)}.spacer{flex:1}button{font-family:var(--font-ui);font-size:var(--fs-md);font-weight:var(--fw-meta);font-variant-numeric:tabular-nums;color:var(--ink);background:#ffffff0d;border:1px solid var(--rail);border-radius:3px;padding:6px 10px;cursor:pointer;white-space:nowrap;touch-action:manipulation}button:active{background:#ff1ad947;border-color:var(--pink)}button:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}#sound[aria-pressed=false]{color:var(--ink-soft);border-style:dashed}input[type=range]{accent-color:var(--pink);width:100%}.flip{transform:rotate(180deg)}#cue{--seat: var(--cyan);--seat-soft: rgba(0, 229, 255, .14);--seat-glow: rgba(0, 229, 255, .55);--seat-dim: rgba(0, 229, 255, .3);--seat-hot: rgba(0, 229, 255, .95)}#cue2{--seat: var(--pink);--seat-soft: rgba(255, 26, 217, .14);--seat-glow: rgba(255, 26, 217, .55);--seat-dim: rgba(255, 26, 217, .3);--seat-hot: rgba(255, 26, 217, .95)}#cue,#cue2{display:grid;grid-template-columns:minmax(max-content,1fr) auto minmax(max-content,1fr);align-items:center;gap:20px;padding:8px 16px;background:#120726f0;border-top:1px solid rgba(79,240,255,.32);z-index:10}#cue2.deck-only .score-p1,#cue2.deck-only .score-p2,#cue2.deck-only .bar-time{display:none}@media (max-width: 360px){#cue,#cue2{gap:12px;padding:8px 10px}.cue-right{gap:8px}.score-lbl{font-size:.82em;letter-spacing:0;margin-right:3px}}#cue2{border-top:none;border-bottom:1px solid rgba(255,26,217,.32)}#cue2 .cue-left{gap:12px}#cue2 .cue-left .bar-time{margin-left:0;margin-right:auto}@media (max-width: 360px){#cue2 .cue-left{gap:8px}}.cue-left{grid-column:1;display:flex;align-items:center;justify-content:flex-end;min-width:0;font-size:var(--fs-lg);font-weight:var(--fw-strong);letter-spacing:.02em;font-variant-numeric:tabular-nums}.cue-right{grid-column:3;display:flex;align-items:center;justify-content:flex-start;min-width:0;gap:12px;font-size:var(--fs-lg);font-weight:var(--fw-strong);letter-spacing:.02em;font-variant-numeric:tabular-nums}.score-p1{color:var(--cyan);display:inline-flex;align-items:center}.score-p2{color:var(--pink);display:inline-flex;align-items:center}.score-lbl{font-weight:var(--fw-strong);margin-right:5px;letter-spacing:.05em;opacity:.95}.score-num{font-weight:var(--fw-title);color:#fff;text-shadow:none;padding:1px 5px;border-radius:4px;background:#ffffff14}.bar-time{display:flex;align-items:center;gap:6px;margin-left:auto;font-size:var(--fs-lg);font-weight:var(--fw-strong);color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:.02em}.cuecenter{grid-column:2;justify-self:center;display:flex;flex-direction:column;align-items:center;gap:7px}.chips{display:flex;align-items:center;justify-content:center;gap:10px;min-height:0}.chip{display:block;border-radius:50%;box-shadow:0 0 0 2px var(--seat, var(--cyan)),0 0 7px var(--seat-glow, transparent);transition:box-shadow .15s}.chip.empty{box-shadow:0 0 0 1.5px var(--seat-dim, rgba(255, 255, 255, .3))}.chip.next{opacity:.85}#over{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:space-around;gap:0;background:#060210db;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:30}#over[hidden]{display:none}#resultsCanvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:31}.overcard{position:relative;z-index:32;display:flex;flex-direction:column;align-items:center;gap:8px}.overcard[hidden]{display:none}.overcard h2{margin:0;font-size:var(--fs-2xl);font-weight:var(--fw-title);letter-spacing:var(--ls-title);color:var(--ink)}.overcard h2.epic{text-shadow:0 0 12px currentColor,0 0 28px currentColor;animation:epic-title .9s ease-in-out infinite alternate}@keyframes epic-title{0%{transform:scale(1)}to{transform:scale(1.12)}}@media (prefers-reduced-motion: reduce){.overcard h2.epic{animation:none}}.overcard .winner{margin:0 0 4px;font-size:var(--fs-lg);font-weight:var(--fw-meta)}.overcard table{border-collapse:collapse;font-size:var(--fs-sm);color:var(--ink-soft)}.overcard th{font-size:var(--fs-lg);font-weight:var(--fw-meta);padding:3px 12px;text-align:right}.overcard td{padding:3px 12px;text-align:right;color:var(--ink);font-variant-numeric:tabular-nums}.overcard td:first-child,.overcard th:first-child{text-align:left;color:var(--ink-soft)}.overcard em{font-style:normal;font-size:var(--fs-2xs);margin-right:6px;color:var(--ink-soft);opacity:.55;font-weight:var(--fw-body)}.overcard tr.total td{padding-bottom:7px;font-size:var(--fs-lg)}.overcard tr.total b{font-size:var(--fs-lg);font-weight:var(--fw-strong)}.overcard .rates{margin:9px 0 0;font-size:var(--fs-xs);color:var(--ink-soft);max-width:280px;text-align:center}.overcard .rates b{color:var(--ink)}.overcard .p1{color:var(--cyan)}.overcard .p2{color:var(--pink)}.overcard button{margin-top:12px;padding:9px 20px;border-color:var(--cyan)}#overcard2 button{border-color:var(--pink)}.overcard .card-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px;margin-top:10px}.overcard .card-actions button{margin-top:0}.overcard .mode-pick{display:flex;align-items:center;gap:4px;font-family:var(--font-ui)}.overcard .mode-name{min-width:5.2em;text-align:center;font-size:var(--fs-md);font-weight:var(--fw-meta);color:var(--ink);white-space:nowrap}.overcard .mode-step{width:38px;height:38px;padding:0;font-size:var(--fs-lg);line-height:1}.idle{opacity:.72}@keyframes liquid-pulse-options-1{0%,to{transform:translate(0) scale(1);opacity:.35}50%{transform:translate(45px,-35px) scale(1.18);opacity:.58}}@keyframes liquid-pulse-options-2{0%,to{transform:translate(0) scale(1);opacity:.35}50%{transform:translate(-55px,45px) scale(1.22);opacity:.62}}#panel{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;height:100dvh;height:var(--app-h, 100dvh);max-height:100dvh;max-height:var(--app-h, 100dvh);overflow-y:auto;padding:24px 28px 40px;background:radial-gradient(circle at 20% 20%,rgba(0,247,255,.15),transparent 45%),radial-gradient(circle at 80% 80%,rgba(255,0,127,.18),transparent 45%),radial-gradient(circle at 50% 35%,#1c0836,#0f0520 38%,#070212 72%,#020106);z-index:500;box-sizing:border-box;-webkit-overflow-scrolling:touch}#panel:before{content:"";position:fixed;top:-12%;left:-12%;width:65vw;height:65vw;background:radial-gradient(circle,#00f7ff38,#00f7ff00 70%);pointer-events:none;z-index:-1;will-change:transform,opacity;animation:liquid-pulse-options-1 12s ease-in-out infinite}#panel:after{content:"";position:fixed;bottom:-12%;right:-12%;width:70vw;height:70vw;background:radial-gradient(circle,#ff007f40,#ff007f00 70%);pointer-events:none;z-index:-1;will-change:transform,opacity;animation:liquid-pulse-options-2 15s ease-in-out infinite}#panel[hidden]{display:none}.panel-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid rgba(0,247,255,.35)}.panel-header h2{font-family:var(--font-ui);font-size:var(--fs-xl);font-weight:var(--fw-title);letter-spacing:var(--ls-title);color:var(--menu-cyan);text-transform:uppercase;margin:0!important;border:none!important;padding:0!important;text-shadow:0 0 12px rgba(0,247,255,.5)}.panel-close-btn{background:#ff007f2e;border:1px solid rgba(255,0,127,.5);color:#fff;padding:8px 16px;border-radius:6px;font-weight:var(--fw-strong);font-size:var(--fs-sm);cursor:pointer;transition:all .2s ease;box-shadow:0 0 10px #ff007f4d}.panel-close-btn:hover{background:#ff007f59;border-color:var(--menu-pink-deep);box-shadow:0 0 16px #ff007f99;transform:translateY(-1px)}#panel h2{font-size:var(--fs-xs);font-weight:var(--fw-meta);letter-spacing:var(--ls-caps);color:var(--cyan);margin:17px 0 7px;padding-bottom:6px;border-bottom:1px solid var(--rail)}#panel h2:first-child{margin-top:0}#panel #advanced>h2:first-child{margin-top:17px}.knob{display:grid;grid-template-columns:74px 1fr 64px;align-items:center;gap:11px;padding:5px 0}.knob label{color:var(--ink-soft);font-size:var(--fs-sm)}.knob output{font-size:var(--fs-sm);text-align:right;color:var(--ink)}.knob-hint{margin:-2px 0 10px;font-family:var(--font-ui);font-size:12px;line-height:1.4;color:var(--ink-soft);opacity:.85}select{font-family:var(--font-ui);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--ink);background:#ffffff0f;border:1px solid var(--rail);border-radius:3px;padding:5px 6px;width:100%}select option{background:#22103f;color:var(--ink)}#copy{width:100%;margin-bottom:8px}.sound-tester-container{margin:12px 0 20px;display:flex;flex-direction:column;gap:10px}.sound-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;background:#160a2ac7;border:1px solid rgba(255,255,255,.14);border-radius:10px;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.sound-card:hover{background:#00f7ff12;border-color:#00f7ff59;box-shadow:0 0 16px #00f7ff26}.sound-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.sound-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sound-title{font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:var(--fw-strong);color:#fff}.sound-badge{font-size:10px;font-weight:var(--fw-meta);padding:2px 7px;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}.sound-badge.game-fx{background:#00f7ff2e;color:var(--menu-cyan);border:1px solid rgba(0,247,255,.35)}.sound-badge.boom-levels{background:#ff007f2e;color:var(--menu-pink-deep);border:1px solid rgba(255,0,127,.35)}.sound-badge.bw-levels{background:#ffd6002e;color:#ffd600;border:1px solid rgba(255,214,0,.35)}.sound-badge.system-ui{background:#a500ff2e;color:#c084fc;border:1px solid rgba(165,0,255,.35)}.sound-desc{font-size:12px;color:var(--ink-soft);line-height:1.35}.sound-params{font-size:11px;font-family:var(--font-ui);color:#f0e6ffd9;background:#0000004d;padding:3px 8px;border-radius:4px;display:inline-block;margin-top:2px;width:fit-content;word-break:break-word}.sound-play-btn{background:linear-gradient(135deg,#00f7ff33,#ff007f33);border:1px solid rgba(0,247,255,.5);color:#fff;padding:8px 16px;border-radius:8px;font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:var(--fw-strong);cursor:pointer;white-space:nowrap;transition:all .2s ease;box-shadow:0 0 10px #00f7ff33;flex-shrink:0}.sound-play-btn:hover{background:linear-gradient(135deg,#00f7ff66,#ff007f66);border-color:var(--menu-cyan);box-shadow:0 0 18px #00f7ff80;transform:translateY(-1px)}.sound-play-btn:active{transform:translateY(1px);box-shadow:0 0 8px #00f7ff4d}#settings{width:100%;font-family:var(--font-ui);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;line-height:1.5;color:var(--ink-soft);background:#ffffff0d;border:1px solid var(--rail);border-radius:3px;padding:7px 8px;resize:vertical;-webkit-user-select:all;user-select:all}.bar-countdown{display:inline-block;font-family:var(--font-ui);font-size:var(--fs-xl);font-weight:var(--fw-title);letter-spacing:-.01em;line-height:1;color:var(--seat, var(--cyan));text-shadow:0 0 12px var(--seat-hot, rgba(79, 240, 255, .95)),0 0 28px var(--seat-glow, rgba(79, 240, 255, .55));-webkit-font-smoothing:antialiased;min-width:2ch;text-align:center}.bar-countdown.go{font-size:var(--fs-lg);letter-spacing:0}@keyframes bar-countdown-pop{0%{transform:scale(1.5);opacity:.5}25%{transform:scale(1);opacity:1}75%{transform:scale(1);opacity:1}to{transform:scale(.85);opacity:0}}.bar-countdown.pop{animation:bar-countdown-pop .9s ease forwards}#pause-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#060210b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:25;cursor:pointer;animation:pause-fade-in .25s cubic-bezier(.16,1,.3,1)}@keyframes pause-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.pause-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 52px;background:#120726e0;border:1px solid rgba(0,247,255,.45);border-radius:20px;box-shadow:0 0 30px #00f7ff4d,0 0 60px #ff1ad92e,inset 0 0 20px #00f7ff1f;text-align:center;pointer-events:auto;-webkit-user-select:none;user-select:none}.pause-icon{display:flex;gap:14px;margin-bottom:18px}.pause-bar{width:14px;height:48px;background:linear-gradient(180deg,var(--menu-cyan),var(--pink));border-radius:6px;box-shadow:0 0 16px #00f7ffd9,0 0 24px #ff1ad9a6;animation:pause-bar-pulse 2s ease-in-out infinite alternate}.pause-bar:nth-child(2){animation-delay:.3s}@keyframes pause-bar-pulse{0%{transform:scaleY(1);opacity:.9}to{transform:scaleY(1.08);opacity:1;box-shadow:0 0 22px #00f7ff,0 0 32px #ff1ad9d9}}.pause-title,.confirm-title{font-family:var(--font-ui);font-size:var(--fs-2xl);font-weight:var(--fw-title);letter-spacing:var(--ls-title);color:#fff;margin-bottom:10px}.pause-hint,.confirm-sub{font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:var(--fw-meta);line-height:1.4;color:var(--ink-soft)}.pause-title{letter-spacing:var(--ls-wide);text-shadow:0 0 12px rgba(0,247,255,.9),0 0 28px rgba(255,26,217,.7)}.pause-btn{transition:all .2s ease}.pause-btn.is-paused{background:#ff1ad947;border-color:var(--pink);color:#fff;box-shadow:0 0 16px #ff1ad9a6}#menu-confirm-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#060210c2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:35;cursor:pointer;animation:pause-fade-in .25s cubic-bezier(.16,1,.3,1)}.confirm-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 44px;background:#120726eb;border:1px solid rgba(255,26,217,.45);border-radius:20px;box-shadow:0 0 30px #ff1ad940,0 0 60px #00f7ff26,inset 0 0 20px #ff1ad91a;text-align:center;pointer-events:auto;-webkit-user-select:none;user-select:none;max-width:380px;width:90%}.confirm-title{text-shadow:0 0 12px rgba(255,26,217,.8),0 0 24px rgba(0,247,255,.5)}.confirm-sub{margin-bottom:24px}.confirm-actions{display:flex;gap:14px;width:100%;justify-content:center}.confirm-btn{flex:1;padding:10px 18px;font-family:var(--font-ui);font-size:var(--fs-md);font-weight:var(--fw-strong);border-radius:8px;cursor:pointer;letter-spacing:var(--ls-title);text-transform:uppercase;transition:all .2s ease}.confirm-btn.primary{background:#ff1ad940;border:1px solid var(--pink);color:#fff;box-shadow:0 0 14px #ff1ad980}.confirm-btn.primary:hover{background:#ff1ad973;box-shadow:0 0 20px #ff1ad9cc;transform:translateY(-1px)}.confirm-btn.secondary{background:#ffffff0f;border:1px solid var(--rail);color:var(--ink-soft)}.confirm-btn.secondary:hover{background:#4ff0ff26;border-color:var(--cyan);color:#fff;box-shadow:0 0 12px #4ff0ff66;transform:translateY(-1px)}#tut-banner{position:absolute;top:10px;left:50%;transform:translate(-50%);width:min(460px,calc(100% - 24px));padding:10px 14px 12px;background:#120726db;border:1px solid rgba(0,247,255,.45);border-radius:16px;box-shadow:0 0 22px #00f7ff38,inset 0 0 16px #00f7ff14;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:20;pointer-events:none;-webkit-user-select:none;user-select:none;animation:pause-fade-in .25s cubic-bezier(.16,1,.3,1)}.tut-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}.tut-title{font-family:var(--font-ui);font-size:var(--fs-xs);font-weight:var(--fw-strong);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--ink-soft)}.tut-dots{display:flex;gap:6px;flex:1}.tut-dots i{width:8px;height:8px;border-radius:50%;border:1px solid rgba(0,247,255,.55);background:transparent;transition:background .3s ease,box-shadow .3s ease}.tut-dots i.done{background:#00f7ff73}.tut-dots i.now{background:var(--menu-cyan);box-shadow:0 0 8px #00f7ffe6}.tut-skip{pointer-events:auto;font-family:var(--font-ui);font-size:var(--fs-xs);font-weight:var(--fw-strong);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--ink-soft);background:#ffffff0f;border:1px solid var(--rail);border-radius:999px;padding:4px 12px;cursor:pointer}.tut-skip:hover{color:#fff;border-color:var(--cyan)}.tut-line{font-family:var(--font-ui);font-size:var(--fs-lg);font-weight:var(--fw-strong);line-height:1.3;color:var(--ink);text-wrap:balance}.tut-sub{margin-top:2px;font-family:var(--font-ui);font-size:var(--fs-md);font-weight:var(--fw-meta);line-height:1.35;color:var(--ink-soft)}#tut-card-overlay,#offer-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#06021099;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:26;animation:pause-fade-in .25s cubic-bezier(.16,1,.3,1)}.tut-card-body{display:flex;flex-direction:column;gap:4px;margin:4px 0 10px;font-family:var(--font-ui);font-size:var(--fs-lg);font-weight:var(--fw-meta);line-height:1.35;color:var(--ink)}.tut-card-small{margin-bottom:20px;font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:var(--fw-meta);color:var(--ink-soft)}.tut-card-actions{flex-wrap:wrap}.tut-card-actions .tut-primary{flex-basis:100%}#seat-card{position:absolute;top:0;right:0;bottom:0;left:0;z-index:27;display:flex;flex-direction:column;background:#0602109e;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:pause-fade-in .25s cubic-bezier(.16,1,.3,1)}.seat-half{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:10px 16px;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;--seat: var(--cyan)}.seat-top{transform:rotate(180deg);--seat: var(--pink)}.seat-divider{flex:none;border-top:1px dashed rgba(255,255,255,.4)}.seat-title{font-family:var(--font-ui);font-size:var(--fs-xl);font-weight:var(--fw-title);color:#fff}.seat-line{font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:var(--fw-meta);color:var(--ink-soft)}.seat-rules{margin:8px 0 4px;font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:var(--fw-meta);line-height:1.4;color:var(--ink)}.seat-tap{margin-top:6px;padding:6px 18px;border:1px solid var(--seat);border-radius:999px;font-family:var(--font-ui);font-size:var(--fs-xs);font-weight:var(--fw-strong);letter-spacing:var(--ls-caps);text-transform:uppercase;color:#fff;box-shadow:0 0 12px color-mix(in srgb,var(--seat) 45%,transparent)}.seat-half.ready .seat-tap{background:var(--seat);color:var(--void)}.seat-half.ready>:not(.seat-tap){opacity:.55}@media (max-height: 700px){.seat-half{gap:1px;padding:6px 12px}.seat-title{font-size:var(--fs-lg)}.seat-line,.seat-rules{font-size:var(--fs-xs)}.seat-rules{margin:4px 0 2px;line-height:1.3}.seat-tap{margin-top:3px;padding:4px 14px}}#help-overlay,#records-overlay,#lang-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:16px;background:#030209d6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:pause-fade-in .25s cubic-bezier(.16,1,.3,1)}.help-card{max-width:440px;width:100%;max-height:100%;overflow-y:auto;overflow-x:hidden;justify-content:flex-start;padding:24px 22px}.help-actions{display:flex;flex-direction:column;gap:10px;width:100%;flex:none;margin:6px 0 16px}.help-actions .confirm-btn{width:100%}.help-rules{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;margin-bottom:18px;text-align:left;font-family:var(--font-ui);font-size:var(--fs-sm);line-height:1.4}.help-rules dt{font-weight:var(--fw-strong);color:var(--menu-cyan);white-space:nowrap}.help-rules dd{margin:0;font-weight:var(--fw-meta);color:var(--ink)}.help-credits{margin:4px 0 18px;padding-top:14px;border-top:1px solid rgba(172,145,208,.25);font-family:var(--font-ui);font-size:var(--fs-sm);line-height:1.45;color:var(--ink-soft)}#sounds-card .sound-tester-container{width:100%;margin-top:0;text-align:left}#records-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2}#records-card{position:relative;z-index:1}.lang-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;width:100%}.lang-choice{display:flex;align-items:center;gap:10px;padding:10px 12px;text-transform:none;letter-spacing:normal;text-align:left}.lang-choice span{min-width:0;overflow-wrap:anywhere}.lang-choice .flag{width:30px;height:20px;flex:none;border-radius:2px}.lang-choice.current{border-color:var(--menu-cyan);color:var(--ink);box-shadow:0 0 12px #00f7ff59}.help-end-btn{width:100%;flex:none;margin-bottom:4px}.help-credits-title{font-weight:var(--fw-strong);color:var(--menu-cyan);margin-bottom:4px}.help-credits-by{font-weight:var(--fw-strong);color:var(--ink);margin-bottom:6px}.help-licenses{margin-top:10px;text-align:left}.help-licenses summary{cursor:pointer;text-align:center;color:var(--ink);text-decoration:underline;text-underline-offset:3px;padding:6px 0}.help-license-name{margin:12px 0 4px;font-weight:var(--fw-strong);color:var(--ink)}.help-license-text{margin:0;max-height:180px;overflow:auto;padding:8px 10px;border-radius:8px;background:#0000004d;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink-soft)}.help-credits-footer{margin-top:10px;font-size:12px;opacity:.8}.records-body{width:100%;margin:8px 0 18px;font-family:var(--font-ui);font-size:var(--fs-sm);text-align:left}.records-section-title{margin:14px 0 6px;font-weight:var(--fw-strong);color:var(--menu-cyan)}.records-row{display:grid;grid-template-columns:minmax(0,1fr) repeat(var(--cols, 1),3.4em);column-gap:6px;align-items:baseline;padding:5px 2px;border-bottom:1px solid rgba(172,145,208,.15);color:var(--ink)}.records-row>:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.records-head{padding-bottom:3px;font-size:var(--fs-xs);color:var(--ink-soft)}.records-head .records-p1{color:var(--cyan)}.records-head .records-p2{color:var(--pink)}.records-note{display:block;font-size:var(--fs-xs);color:var(--menu-cyan)}.records-empty{padding:5px 2px;color:var(--ink-soft)}.result-note{margin:10px 0 0;font-family:var(--font-ui);font-size:var(--fs-sm);color:var(--ink-soft);text-align:center}.preset-hint{margin:4px 0 10px;font-family:var(--font-ui);font-size:var(--fs-sm);color:var(--ink-soft)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
