#stageScreen.perform{--neon: #c9a8ff;--neon-dim: rgba(201, 168, 255, .34);--glass: rgba(16, 12, 34, .64)}#stageScreen.perform .hudPlaque{border:1px solid var(--neon-dim);border-image:none;border-radius:12px;padding:6px 16px;background:var(--glass);backdrop-filter:blur(8px);color:#efe9ff;text-shadow:0 1px 4px rgba(0,0,0,.8);box-shadow:0 0 18px #966eff38,inset 0 1px #ffffff14;filter:none}#stageScreen.perform .hudStage{color:#f3eeff;letter-spacing:.02em}#stageScreen.perform .hudProgress{color:#bdaee8;font-variant-numeric:tabular-nums}#stageScreen.perform .hud .btn.plankBtn.hudBtn{border:1px solid var(--neon-dim);border-image:none;border-radius:10px;background:var(--glass);backdrop-filter:blur(8px);color:#e8e0ff;text-shadow:0 1px 3px rgba(0,0,0,.7);filter:none;box-shadow:0 0 12px #966eff2e}#stageScreen.perform .hud .btn.plankBtn.hudBtn:hover{filter:none;border-color:var(--neon);box-shadow:0 0 18px #aa82ff66}#stageScreen.perform .seekTrack:before{background:#beaaff47}#stageScreen.perform .seekTicks i{background:#c8b9ff73}#stageScreen.perform .seekFill{background:linear-gradient(90deg,#7c6bff,var(--neon));box-shadow:0 0 10px #aa82ffcc}#stageScreen.perform .seekKnob{background:#fff;box-shadow:0 0 0 2px #8c64ffb3,0 0 14px #aa82ffe6}#stageScreen.perform .seekLabel{color:#d8ccff}#stageScreen.perform .overlay .card,#stageScreen.perform .modePanel{background:#0e0a1ee6;border:1px solid var(--neon-dim);border-image:none;border-radius:16px;color:#ece6ff;box-shadow:0 10px 40px #0009,0 0 26px #8c64ff2e;backdrop-filter:blur(10px)}#stageScreen.perform .overlay .card h2{color:#f5f0ff}#stageScreen.perform .overlay .card p{color:#c9bdee}#stageScreen.perform .modePanel .modeHead b{color:#f0eaff}#stageScreen.perform .modePanel .modeRow{border-top-color:#b4a0ff2e;color:#ece6ff}#stageScreen.perform .modePanel .val,#stageScreen.perform .modePanel .hint{color:#b7a8e4}#stageScreen.perform .modePanel .btn.small{background:#281e48cc;border:1px solid rgba(180,160,255,.3);color:#e6dfff;text-shadow:none}#stageScreen.perform .modePanel .btn.small.on{background:linear-gradient(180deg,#8f76ff,#6a4fe0);border-color:transparent;color:#fff;font-weight:700;box-shadow:0 0 14px #966eff99}#stageScreen.perform .stageArea:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;pointer-events:none;background:linear-gradient(90deg,#c9a8ff00,#e2ceffbf,#c9a8ff00);z-index:15}#stageScreen.perform .card.parchmentPanel{background:#0e0a1eeb;border:1px solid var(--neon-dim);border-image:none;border-radius:16px;color:#ece6ff;box-shadow:0 10px 40px #0009,0 0 26px #8c64ff2e;filter:none}#stageScreen.perform .card.parchmentPanel h2{color:#f5f0ff}#stageScreen.perform .card.parchmentPanel .handGuideText{color:#cfc2f2}#stageScreen.perform .tipBox{background:#0e0a1ef0;border:1px solid var(--neon-dim);border-radius:14px;color:#ece6ff;box-shadow:0 8px 30px #0000008c,0 0 22px #8c64ff33}#stageScreen.perform .tipText{color:#ece6ff}#stageScreen.perform .tipText b{color:#e0cfff}#stageScreen.perform .tipBox .hint{color:#a99ad4}#stageScreen.perform .tipArrow{color:#c9a8ffcc}#stageScreen.perform .modePanel .rangePair:before{background:#beaaff33}#stageScreen.perform .modePanel .rangeTicks i{background:#c8b9ff73}#stageScreen.perform .rangeFill{background:#a078ff66}#stageScreen.perform .rangeFill.on{background:linear-gradient(90deg,#7c6bff,var(--neon));box-shadow:0 0 10px #aa82ffb3}#stageScreen.perform .rangePair input[type=range]::-webkit-slider-thumb{background:var(--neon);border-color:#fff;box-shadow:0 0 10px #aa82ffcc}#stageScreen.perform .modeRow input[type=range]{accent-color:#9f82ff}.songSelect,.performResult{--sel-neon: #c9a8ff;--sel-accent: #37d9c0;--sel-line: rgba(201, 168, 255, .26);--sel-panel: rgba(18, 14, 36, .72);--sel-ink: #ece6ff;--sel-dim: #a99ad4}.songSelect{display:grid;grid-template-columns:minmax(180px,230px) minmax(220px,1fr) minmax(300px,1.25fr);gap:14px;padding:14px;box-sizing:border-box;overflow:hidden;color:var(--sel-ink);background:url(../img/perform-select-bg.webp) center / cover no-repeat,linear-gradient(160deg,#0b0a1c,#140f2e,#1b1038)}.selMenu{display:flex;flex-direction:column;gap:10px;min-height:0}.selDetail,.selMenu{text-shadow:0 1px 6px rgba(0,0,0,.7)}.selTitle{margin:0;padding:6px 2px 10px;font-size:24px;letter-spacing:.06em;border-bottom:1px solid var(--sel-line)}.selSteps{display:flex;flex-direction:column;gap:6px;overflow:auto;min-height:0;flex:1}.selStep{font:inherit;font-size:14px;text-align:left;padding:11px 14px;border:1px solid transparent;border-radius:10px;background:var(--sel-panel);color:var(--sel-dim);cursor:pointer}.selStep:hover{color:var(--sel-ink);border-color:var(--sel-line)}.selStep.on{background:linear-gradient(100deg,#37d9c0e6,#2db4c8bf);color:#06201d;font-weight:700;border-color:transparent}.selMenuFoot{display:flex;flex-direction:column;gap:6px}.songSelect .btn.selSide{background:var(--sel-panel);background-image:none;border:1px solid var(--sel-line);border-radius:10px;color:var(--sel-ink);text-shadow:none}.songSelect .btn.selSide:hover{filter:none;border-color:var(--sel-neon)}.selList{background:linear-gradient(180deg,#0a08186b,#0a08189e);border:1px solid rgba(201,168,255,.12);border-radius:14px;padding:8px;backdrop-filter:blur(3px);display:flex;flex-direction:column;gap:7px;overflow:auto;min-height:0}.selRow{display:flex;align-items:center;gap:10px;font:inherit;font-size:15px;text-align:left;padding:13px 14px;border:1px solid transparent;border-radius:8px;background:#76708e38;color:var(--sel-ink);cursor:pointer}.selRow:hover{background:#8c84aa4d}.selRowName{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selRowTag{font-size:12px;color:var(--sel-dim);white-space:nowrap}.selRow.on{background:linear-gradient(100deg,#37d9c0eb,#32becdcc);color:#06201d;font-weight:700;box-shadow:0 0 18px #37d9c059}.selRow.on .selRowTag{color:#0b3b36}.selRow.locked{cursor:default;opacity:.5}.selRow.locked:hover{background:#76708e38}.selEmpty{color:var(--sel-dim);padding:16px;line-height:1.7}.selDetail{overflow:auto;min-height:0;min-width:0;display:flex;flex-direction:column;gap:12px;padding:14px 16px;background:linear-gradient(180deg,#0a081894,#0a0818c2);border:1px solid rgba(201,168,255,.16);border-radius:14px;backdrop-filter:blur(3px)}.selHead{display:flex;align-items:center;gap:10px;border-bottom:2px solid rgba(255,255,255,.5);padding-bottom:8px}.prMark{width:15px;height:26px;flex:none;background:#fff;clip-path:polygon(0 0,100% 0,100% 100%,50% 72%,0 100%)}.selBookmark{width:22px;height:34px;flex:none;padding:0;margin:0;border:0;background:none;cursor:pointer;position:relative}.selBookmark:before{content:"";position:absolute;inset:0;clip-path:polygon(0 0,100% 0,100% 100%,50% 72%,0 100%);background:#ffffff38;box-shadow:none;transition:background .15s,filter .15s}.selBookmark:hover:before{background:#ffffff73}.selBookmark.on:before{background:linear-gradient(180deg,#ffe08a,#f0a93c);filter:drop-shadow(0 0 8px rgba(255,196,80,.85))}.selBookmarkLabel{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.selRowFav{width:9px;height:15px;flex:none;clip-path:polygon(0 0,100% 0,100% 100%,50% 70%,0 100%);background:linear-gradient(180deg,#ffe08a,#f0a93c);filter:drop-shadow(0 0 5px rgba(255,196,80,.8))}.selRow.on .selRowFav{filter:none}.selSongName,.prSong{margin:0;font-size:26px;font-weight:700;letter-spacing:.02em}.selSub{margin:0;color:var(--sel-dim);font-size:14px}.selBar,.prBar,.phBar{position:relative;height:16px;border-radius:8px;background:#0a0818d9;border:1px solid var(--sel-line);overflow:hidden}.selBarFill,.prBarFill{height:100%;width:0;border-radius:8px 0 0 8px;background:linear-gradient(90deg,#3f6fe0,#37d9c0);box-shadow:0 0 14px #37d9c08c;transition:width .9s cubic-bezier(.2,.8,.3,1)}.selMarks,.prMarks,.phMarks{position:absolute;inset:0;pointer-events:none}.selMarks i,.prMarks i,.phMarks i{position:absolute;top:0;bottom:0;width:1px;background:#ffffffb3}.selMarks i:after,.prMarks i:after,.phMarks i:after{content:attr(data-rank);position:absolute;left:3px;top:50%;transform:translateY(-50%);font-size:10px;font-weight:700;color:#ffffffd9;font-style:normal}.selMid{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.selRankDia,.prRankDia{width:clamp(116px,12vw,168px);height:clamp(116px,12vw,168px);flex:none;display:grid;place-items:center;position:relative;color:#8b86a8;filter:drop-shadow(0 0 18px color-mix(in srgb,currentColor 60%,transparent))}.selRankDia:before,.prRankDia:before{content:"";position:absolute;inset:0;background:url(../img/rank-diamond.webp) center / contain no-repeat;background-color:currentColor;-webkit-mask:url(../img/rank-diamond.webp) center / contain no-repeat;mask:url(../img/rank-diamond.webp) center / contain no-repeat;background-blend-mode:multiply;animation:rankShine 3.2s ease-in-out infinite}@keyframes rankShine{0%,to{filter:brightness(1)}50%{filter:brightness(1.35)}}.selRankChar,.prRankChar{position:relative;font-size:clamp(50px,5.8vw,76px);font-weight:900;line-height:1;font-family:Georgia,Times New Roman,serif;color:currentColor;text-shadow:0 0 18px currentColor}[data-rank=S]{color:#5fe6ff}[data-rank=A]{color:#f0c04a}[data-rank=B]{color:#c7cad8}[data-rank=C]{color:#c08a5a}[data-rank=F]{color:#e8616f}[data-rank="-"]{color:#6c6889}.selStats{flex:1 1 180px;min-width:0}.selHiLabel{display:inline-block;padding:2px 10px;border:1px solid var(--sel-line);border-radius:6px;font-size:12px;color:var(--sel-dim)}.selHiScore{font-size:clamp(26px,3.4vw,44px);letter-spacing:-.01em;font-weight:700;line-height:1.1;font-family:Georgia,Times New Roman,serif;background:linear-gradient(180deg,#eaf4ff,#7fd3ff 60%,#37d9c0);-webkit-background-clip:text;background-clip:text;color:transparent}.selStats dl,.prStats{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;margin:6px 0 0}.selStats dt,.prStats dt{font-family:Georgia,Times New Roman,serif;font-size:16px;color:var(--sel-dim);border-bottom:1px solid var(--sel-line);padding:3px 0}.selStats dd,.prStats dd{margin:0;text-align:right;font-size:20px;font-weight:700;border-bottom:1px solid var(--sel-line);padding:3px 0;font-variant-numeric:tabular-nums}.selStats dt:nth-of-type(1),.prStats dt:nth-of-type(1){color:#f0c04a}.selStats dt:nth-of-type(2),.prStats dt:nth-of-type(2){color:#37d9c0}.selStats dt:nth-of-type(3),.prStats dt:nth-of-type(3){color:#9aa0b8}.selStart{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-top:auto;padding-top:6px}.selPractice{border:1px solid var(--sel-line);border-radius:12px;padding:4px 12px 10px;margin:0}.selPractice legend{font-size:12px;color:var(--sel-dim);padding:0 6px}.selHands{display:flex;gap:8px}.songSelect .btn.selHand{background:#e6e6f0eb;background-image:none;border:1px solid rgba(255,255,255,.5);border-radius:9px;color:#1b1830;text-shadow:none;min-width:62px;font-weight:700}.songSelect .btn.selHand:hover{filter:none;background:#fff}.songSelect .btn.selPlay{flex:1;min-width:200px;min-height:58px;font-size:22px;font-weight:700;background:linear-gradient(180deg,#6fd0ff,#2e7fe0);background-image:linear-gradient(180deg,#6fd0ff,#2e7fe0);border:2px solid rgba(255,255,255,.7);border-radius:12px;color:#06203f;text-shadow:0 1px 0 rgba(255,255,255,.5);box-shadow:0 0 22px #46a0ff73}.songSelect .btn.selPlay:hover{filter:brightness(1.08)}.performHud{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:6px;pointer-events:none;flex-wrap:wrap}.phRow{display:flex;align-items:center;gap:8px;flex:1 1 280px;max-width:460px}.phRow.life{justify-content:flex-end}.phLabel{font-size:11px;font-weight:700;letter-spacing:.08em;color:#cfc2f2;min-width:52px;text-shadow:0 1px 3px #000}.phLabel.life{color:#ff9ab0}.phBar{flex:1;height:14px;border:1.5px solid rgba(255,255,255,.85);background:#080614bf;box-shadow:0 1px 4px #000000b3,inset 0 0 6px #0009}.phBarFill{height:100%;width:0;border-radius:7px 0 0 7px;transition:width .18s linear}.phBarFill.score{background:linear-gradient(90deg,#3f6fe0,#37d9c0);box-shadow:0 0 10px #37d9c099}.phBarFill.life{background:linear-gradient(90deg,#ff6f8b,#ffb36b);box-shadow:0 0 10px #ff82968c}.phBarFill.life.low{background:linear-gradient(90deg,#ff3b5c,#ff7a3b);animation:phPulse .6s ease-in-out infinite alternate}@keyframes phPulse{0%{opacity:.6}to{opacity:1}}.phVal{font-size:13px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums;min-width:78px;text-align:right;text-shadow:0 1px 3px #000}.phRow.life .phVal{text-align:left}.phRow.life .phBarFill{border-radius:0 7px 7px 0;margin-left:auto}.phRow.life .phBar{direction:rtl}.performResult{align-items:center;justify-content:center;padding:16px;box-sizing:border-box;overflow:auto;color:var(--sel-ink);background:url(../img/perform-result-bg.webp) center / cover no-repeat,linear-gradient(160deg,#0b0a1c,#140f2e,#1b1038)}.prCard{width:min(760px,100%);display:flex;flex-direction:column;gap:14px;padding:22px 26px;border:1px solid var(--sel-line);border-radius:18px;background:#100c22b8;box-shadow:0 16px 50px #0009,0 0 30px #8c64ff29}.prHead{display:flex;align-items:center;gap:10px;border-bottom:2px solid rgba(255,255,255,.5);padding-bottom:8px}.prStep{margin-left:auto;font-size:13px;color:var(--sel-dim)}.prBody{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.prRankBox{display:flex;flex-direction:column;align-items:center;gap:22px;flex:none}.prRankLabel{font-family:Georgia,Times New Roman,serif;font-size:15px;color:var(--sel-dim);letter-spacing:.1em}.prStats{flex:1;min-width:220px}.prScoreRow{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.prScoreLabel{font-family:Georgia,Times New Roman,serif;font-size:18px;color:var(--sel-dim)}.prScoreVal{font-size:52px;font-weight:700;line-height:1;font-family:Georgia,Times New Roman,serif;font-variant-numeric:tabular-nums;background:linear-gradient(180deg,#eaf4ff,#7fd3ff 60%,#37d9c0);-webkit-background-clip:text;background-clip:text;color:transparent}.prBest{font-size:13px;font-weight:700;color:#06201d;background:#37d9c0;border-radius:6px;padding:3px 10px}.prNote{margin:0;color:#ffb3c0;font-size:14px;min-height:1em}.prNote:empty{display:none}.prRow{gap:10px;flex-wrap:wrap}.performResult .btn{background-image:none;background:var(--sel-panel);border:1px solid var(--sel-line);border-radius:10px;color:var(--sel-ink);text-shadow:none}.performResult .btn:hover{filter:none;border-color:var(--sel-neon)}.performResult .btn.primary{background:linear-gradient(180deg,#6fd0ff,#2e7fe0);border-color:#fff9;color:#06203f;font-weight:700}@media(max-width:820px){.songSelect{grid-template-columns:1fr;grid-template-rows:auto minmax(120px,1fr) auto;overflow:auto}.selSteps{flex-direction:row;flex-wrap:wrap;flex:none}.selMenuFoot{flex-direction:row}.selList{max-height:34vh}.selRankDia,.prRankDia{width:110px;height:110px}.selRankChar,.prRankChar{font-size:60px}}#resultScreen.perform{background:linear-gradient(160deg,#0b0a1c,#140f2e,#1b1038);color:#ece6ff}#resultScreen.perform .resultList{background:#100c22b8;border:1px solid rgba(201,168,255,.26)}#resultScreen.perform .resultList dt{color:#a99ad4}#resultScreen.perform .feedback{background:#100c22cc;border-color:#c9a8ff42;color:#ece6ff}#resultScreen.perform .reviewBox{background:#100c22d9;background-image:none;border:1px solid rgba(201,168,255,.26)}#resultScreen.perform .reviewBox .modeHead b{color:#ece6ff}#resultScreen.perform .btn{background-image:none;background:#120e24b8;border:1px solid rgba(201,168,255,.26);border-radius:10px;color:#ece6ff;text-shadow:none}#resultScreen.perform .btn:hover{filter:none;border-color:#c9a8ff}#resultScreen.perform .btn.primary{background:linear-gradient(180deg,#6fd0ff,#2e7fe0);border-color:#fff9;color:#06203f;font-weight:700}.settingsPanel.perform{background:#0e0a1eeb;background-image:none;border:1px solid rgba(201,168,255,.3);border-image:none;border-radius:16px;padding:16px 18px 18px;color:#ece6ff;box-shadow:0 16px 50px #000000a6,0 0 30px #8c64ff33;backdrop-filter:blur(10px)}.settingsPanel.perform h2,.settingsPanel.perform b{color:#f3eeff}.settingsPanel.perform .setting{border-top-color:#b4a0ff2e;border-bottom-color:#b4a0ff2e}.settingsPanel.perform .setting small,.settingsPanel.perform .val,.settingsPanel.perform .settingsNote{color:#a99ad4}.settingsPanel.perform .btn.small{background:#281e48d9;background-image:none;border:1px solid rgba(180,160,255,.32);border-radius:9px;color:#e6dfff;text-shadow:none}.settingsPanel.perform .btn.small:hover{filter:none;border-color:#c9a8ff}.settingsPanel.perform .btn.small.on,.settingsPanel.perform .toggleBtn.on{background:linear-gradient(180deg,#6fd0ff,#2e7fe0);background-image:linear-gradient(180deg,#6fd0ff,#2e7fe0);border-color:#fff9;color:#06203f;font-weight:700}.settingsPanel.perform .settingsMoreBtn{background:#281e48d9;background-image:none;border:1px solid rgba(180,160,255,.32);color:#e6dfff;text-shadow:none}.settingsPanel.perform select{background:#281e48e6;color:#e6dfff;border:1px solid rgba(180,160,255,.32);border-radius:8px;padding:4px 8px}.settingsPanel.perform input[type=range]{accent-color:#9f82ff}.toggleBtn{min-width:62px;font-weight:700;letter-spacing:.04em}
