/* Shared arcade palette and geometry. Keep gameplay canvas dimensions and note skins independent. */
:root{
 --arc-bg:#090719;--arc-panel:#130e2c;--arc-line:#8a66df;
 --arc-pink:#fa54ec;--arc-cyan:#63dbff;--arc-text:#fbf4ff;
 --arc-cut:polygon(16px 0,calc(100% - 16px) 0,100% 16px,100% calc(100% - 16px),calc(100% - 16px) 100%,16px 100%,0 calc(100% - 16px),0 16px);
 --arc-scene:linear-gradient(127deg,transparent 13%,#597bff20 13.2%,transparent 13.5%,transparent 77%,#ec41f748 77.3%,transparent 78%),radial-gradient(ellipse at 80% 88%,#490d68,transparent 51%),radial-gradient(ellipse at 12% 85%,#15185a,transparent 53%),#090719;
}
#bootTitle,#modeSelect,#songSelect,#onlineMatch,#rankScene,#openMatch{
 background:var(--arc-scene);color:var(--arc-text);--shell-accent:var(--arc-pink);--shell-cool:var(--arc-cyan);
}
#bootTitle{background:linear-gradient(90deg,#08061744,#09071c10 62%,#09071c20),url('Brand/arcade-title-v167.webp') center/cover,var(--arc-bg)}
#bootTitle::before{display:none}
#bootTitle .bootContent{width:min(760px,88vw);margin-right:clamp(0px,26vw,460px)}
#bootTitle .bootLogo{width:min(100%,670px);margin:auto}
#bootTitle .neonOrbitLogo132{max-height:39vh}
#bootTitle .bootPress[hidden]{display:none}
.arcTitleMenu167{display:grid;gap:8px;width:min(350px,85vw);margin:clamp(10px,3vh,32px) auto 0}
.arcButton167,#result#result .again,#songSelect .libraryStart{
 clip-path:var(--arc-cut)!important;border:1px solid var(--arc-line)!important;border-radius:0!important;
 padding:12px 20px;background:linear-gradient(110deg,#171136,#211345)!important;
 color:var(--arc-text)!important;font:italic 800 clamp(14px,1.45vw,24px)/1.1 system-ui,sans-serif;
 cursor:pointer;
}
.arcButton167:hover,.arcButton167:focus-visible,.arcPrimary167,#songSelect .libraryStart,#result#result .again{
 background:linear-gradient(105deg,#562477,#331c79 68%,#233f8c)!important;
 box-shadow:inset 0 0 0 2px #d79bfa,inset 0 0 20px #e447ee42!important;
 color:white!important;
}
.arcButton167[hidden]{display:none}
.arcBrand167{display:block;width:clamp(100px,13vw,198px);height:auto;object-fit:contain;flex:none}
.arcNav167{
 position:absolute;inset:0 0 auto;z-index:2;display:flex;align-items:center;gap:clamp(8px,2vw,30px);
 padding:8px 24px;background:#0c081bee;border-bottom:1px solid #ae67ee;
 box-shadow:0 3px 18px #8a35f139;min-height:66px;
}
.arcNav167 .arcButton167{font-size:clamp(12px,1.1vw,18px);padding:9px 15px}
.arcNav167 [aria-current]{background:#38216a!important;box-shadow:inset 0 -2px #d47aff}
#modeSelect .modeTopActions{top:17px}
#modeSelect .modeWrap{margin-top:62px}
#modeSelect .modeHeading{margin-bottom:clamp(14px,3vh,36px)}
#modeSelect .modeHeading h1,#songSelect .selectHeader h1,.arcResultTitle167 h2{
 font:italic 900 clamp(26px,4vw,64px)/1 system-ui,sans-serif;color:#fff4ff;
 text-shadow:0 0 15px #bd53ff80;letter-spacing:.025em;
}
#modeSelect .modeHeading span{color:#d8baf4}
#modeSelect .mainModeCard,#modeSelect .multiCards146 .open146{
 --card-light:var(--arc-cyan);--card-dark:#2433a4;
 text-align:center!important;min-height:clamp(215px,38vh,460px);
 border-radius:0!important;clip-path:var(--arc-cut);
 border:1px solid var(--card-light)!important;
 background:linear-gradient(145deg,#10122c,#18113a 65%,var(--card-dark))!important;
 box-shadow:inset 0 0 0 2px var(--card-light),inset 0 0 36px #7260ed44;
}
#modeSelect .mainModeCard.rank,#modeSelect .multiCards146 .open146{--card-light:#f485fa;--card-dark:#642487}
#modeSelect .mainModeCard.active,#modeSelect .mainModeCard:hover{box-shadow:inset 0 0 0 3px var(--card-light),inset 0 0 68px #a74aff6c}
#modeSelect .mainModeCard::after{display:none}
#modeSelect .modeName{font-style:italic;font-weight:900;text-shadow:0 0 17px var(--card-light)}
#modeSelect .modeIcon,#modeSelect .rank .modeIcon{color:var(--card-light);margin:8px 0 10px}
#modeSelect .modeIcon svg{width:clamp(58px,8vw,104px);height:clamp(46px,7vh,85px);fill:none;stroke:currentColor;stroke-width:3}
#modeSelect .modeDesc,#modeSelect .modeNumber{color:#dfd6ff}
#songSelect .selectHeader{gap:14px;border-bottom-color:#995fdd}
#songSelect .selectHeader h1{font-size:clamp(18px,2.6vw,40px)}
#songSelect .trackHero,#songSelect .rankingPane{
 background:linear-gradient(140deg,#181138f5,#110d27ed);
 border:1px solid #956be4!important;border-radius:10px;padding:12px;
 box-shadow:inset 0 0 20px #7c46cf25;
}
#songSelect .trackHeroKicker,#songSelect .rankingHeading small{color:#9ce8ff}
#songSelect .songCard,#songSelect .chartButton,#songSelect .librarySpeedSetup,#songSelect #songSearch,
#songSelect #youtubeImportToggle,#songSelect .playModeRow button{
 background:linear-gradient(120deg,#16112f,#21133d);border-color:#8365bd;
 color:#f8efff;border-radius:8px!important;
}
#songSelect .songCard{min-height:74px;grid-template-columns:58px minmax(0,1fr) auto}
#songSelect .songCard img{width:58px;height:58px;border-radius:4px}
#songSelect .songCard.active,#songSelect .chartButton.active,#songSelect .playModeRow button.active{
 color:white;background:linear-gradient(100deg,#401663,#67185a);
 border-color:#ff8aed;box-shadow:inset 0 0 16px #ff4cec52;
}
#songSelect .songCardInfo span,#songSelect .songCard.active .songCardInfo span,#songSelect .songBadge,
#songSelect .songCard.active .songBadge,#songSelect .detailMeta p{color:#dacbf9}
#songSelect .selectedRating,#songSelect .myBest,#songSelect .shellFooter{background:#18112e;color:#e4d6fa}
#songSelect .skinChoice.active{border-color:#ff9af7!important;background:#4e265e!important}
#songSelect .backTitle,#modeSelect .modeBack,#modeSelect #performanceOpen,.accountIdentity>button{
 background:#1d1438!important;border-color:#875cc8!important;border-radius:7px!important;color:#f3e5ff!important;
}
.arcDialog167,#accountDialog,#timingCalibration,.performancePanel,.ng156{
 color:var(--arc-text)!important;background:linear-gradient(145deg,#24163e,#0f0b20)!important;
 border:1px solid #b07af3!important;border-radius:12px!important;
}
.arcDialog167{width:min(440px,88vw);padding:25px}.arcDialog167::backdrop{background:#080618d9}
#onlineMatch>.arcBrand167,#openMatch>.arcBrand167{margin:10px 0 0 20px}
#game{background:var(--arc-scene)}
.arcGameTrack167,.arcGameHud167,.arcGameActions167{position:absolute;z-index:15}
.arcGameTrack167,.arcGameHud167{width:min(21vw,320px);top:6vh}
.arcGameTrack167{left:4vw;pointer-events:none}.arcGameHud167{right:4vw;top:12vh;pointer-events:none}
.arcGameInfo167,.arcGameHud167{
 background:linear-gradient(125deg,#161135f5,#0b0a20f5);border:1px solid #a878fa;
 border-radius:9px;padding:12px;box-shadow:inset 0 0 16px #a254ff3f;
}
.arcGameInfo167{margin-top:14px;display:flex;align-items:center;gap:10px}
.arcGameInfo167 img{width:clamp(38px,6vw,90px);aspect-ratio:1;object-fit:cover}
.arcGameInfo167 img:not([src]){display:none}
.arcGameInfo167 strong,.arcGameInfo167 span,.arcGameInfo167 small{display:block;overflow-wrap:anywhere}
.arcGameInfo167 strong{font-size:clamp(12px,1.55vw,23px);color:#fff3ff}
.arcGameInfo167 span,.arcGameInfo167 small,.arcGameHud167 small{color:#d8baff}
.arcGameHud167 .arcLiveScore167{position:static;transform:none;font:italic 900 clamp(22px,3vw,46px)/1.1 system-ui,sans-serif;color:#fff5ff;text-shadow:0 0 12px #c653fd;margin:4px 0 8px;text-align:right}
.arcJudge167{display:flex;justify-content:space-between;border-top:1px solid #ad7ee540;padding:4px 0;font:italic 750 clamp(10px,1.05vw,16px)/1.2 system-ui,sans-serif;color:#e6d2ff}
.arcJudge167.perfect{color:#94eaff}.arcJudge167.great{color:#ffe49b}.arcJudge167.good{color:#bdf4a5}.arcJudge167.bad{color:#ff91e5}
.arcGameActions167{display:flex;gap:6px;right:4vw;top:2vh}.arcGameActions167 button{padding:7px 13px}
#game.arcBattle167 .arcGameTrack167,#game.arcBattle167 .arcGameHud167,#game.arcBattle167 .arcGameActions167{display:none}
#soloGear .comboBox,#soloGear .judgeFx{font-style:italic;text-shadow:0 0 15px #c262ff,0 2px 6px #090519}
#soloGear .hitLine{box-shadow:0 0 10px #ff4cf9,0 0 19px #53daff}
#result#result:not(:has(.matchFinalView.show)){background:var(--arc-scene)!important}
#result#result:not(:has(.matchFinalView.show)) .resultCard{
 background:linear-gradient(125deg,#151131f5,#200f30f5)!important;border:1px solid #aa7eeb!important;
 border-radius:12px!important;box-shadow:0 0 30px #9f40de40!important;
}
.arcResultTitle167{display:flex;align-items:center;gap:20px;grid-column:1/-1;border-bottom:1px solid #ae68e9;padding-bottom:12px}
.arcResultTitle167 h2{margin:0 auto}
#result:has(.matchFinalView.show) .arcResultTitle167{display:none}
#result#result:not(:has(.matchFinalView.show)) #grade{
 color:#ffe3a2!important;-webkit-text-fill-color:#ffe3a2!important;
 text-shadow:0 0 12px #f26cc0,0 0 35px #a538e8!important;font-style:italic;
}
#result#result .resultJudge{background:#160f2a!important;border-radius:6px!important}
#result .resultScoreBox b{color:#ffe8ff;text-shadow:0 0 12px #b847f270}
.arcResultActions167{display:flex;flex-wrap:wrap;gap:8px}.arcResultActions167 .again{margin:0!important}
@media(max-width:1000px){
 #modeSelect .modeTopActions{top:70px}#modeSelect .modeWrap{margin-top:100px}
 .arcGameTrack167,.arcGameHud167{width:18vw;left:1vw}.arcGameHud167{left:auto;right:1vw}
}
@media(max-width:700px){
 #bootTitle .bootContent{margin:0}#bootTitle{background-position:65% center}
 .arcNav167{padding-inline:8px;gap:4px}.arcNav167 .arcButton167{padding:8px 10px}
 #songSelect .selectHeader .arcBrand167{width:75px}
 #songSelect .selectHeader .hint{display:none}
 .arcGameTrack167,.arcGameHud167{display:none}.arcGameActions167{right:8px;top:8px}
 .arcResultTitle167 h2{font-size:26px}
}
@media(prefers-reduced-motion:reduce){.arcButton167,#modeSelect .mainModeCard{transition:none!important;animation:none!important}}

.arcLiveScore167{display:block}
#result#result:not(:has(.matchFinalView.show))::after{display:none!important}
@media(min-width:701px){#game:not(.arcBattle167) .bottomInfo #score{visibility:hidden}}

#openMatch .omTop .arcBrand167,#onlineMatch .matchHeader .arcBrand167{width:clamp(75px,9vw,140px);max-height:42px}
#openMatch :is(.omPanel,.omSongInfo,.omTrackList,.omChat){border-color:#9769df!important;background-color:#120e28}
#modeSelect .modeWrap>.modeBack{position:static!important;margin-top:14px}
#modeSelect .modeHeading{text-align:center}
#modeSelect .modeDesc{text-align:center}
#modeSelect .arcNav167 .arcBrand167{width:clamp(94px,11vw,155px);max-height:66px}
#modeSelect::after,#songSelect::after{
 content:'';position:absolute;inset:auto 0 0;height:17%;pointer-events:none;
 background:linear-gradient(#07071900,#150b3299),repeating-linear-gradient(0deg,#8a47ec23 0 1px,transparent 1px 20px);
 border-top:1px solid #b64bf959;z-index:0;
}
#songSelect .selectBody,#songSelect .selectHeader{position:relative;z-index:1}
@media(min-width:801px){
 #result#result:not(:has(.matchFinalView.show)) .resultCard{grid-template-columns:minmax(0,1fr) 280px!important}
 #result#result:not(:has(.matchFinalView.show)) .resultHero{grid-column:2;grid-row:3}
 #result#result:not(:has(.matchFinalView.show)) .resultData{grid-column:1;grid-row:3}
}
#sceneCover157{background:var(--arc-scene)!important}
#sceneCover157 .arcBrand167{width:min(32vw,220px)}
#sceneCover157 i{background:linear-gradient(90deg,#502878,#b765f8,#57d8ff)!important}
#bootTitle .neonOrbitLogo132{filter:drop-shadow(0 0 20px #b857ed66)}
.arcResultCombo167{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border:1px solid #7750a9;border-radius:6px;color:#e6d2ff}
.arcResultCombo167 b{font:italic 850 24px/1 system-ui,sans-serif;color:#fff}
#result#result:not(:has(.matchFinalView.show)) .resultHero{position:relative;isolation:isolate}
#result#result:not(:has(.matchFinalView.show)) .resultHero::before{
 content:'';position:absolute;z-index:-1;inset:9% 2%;
 background:radial-gradient(ellipse at center,#ab45cd38,transparent 68%),linear-gradient(145deg,#522470,#190e2d 58%,#763573);
 clip-path:polygon(50% 0,94% 22%,94% 71%,50% 100%,6% 71%,6% 22%);
}
#songSelect .trackHero>.libraryStart{position:static!important;display:block;width:100%;min-height:44px;margin:12px 0 0!important}
#songSelect .trackHero>.libraryStart:disabled{opacity:.5;cursor:default}
#songSelect .librarySpeedSetup{background:linear-gradient(120deg,#16112f,#21133d)!important;border-color:#8365bd!important}
#songSelect .librarySpeedSetup button{background:#291a4c;border-color:#9b6dd9}
#bootTitle .themeNowPlaying,#bootTitle .bootLanguage select{background:#160d2d;border-color:#9661d469}
#result#result .arcResultActions167 .again{width:auto;flex:1 1 150px;min-width:120px}
#result#result .arcResultActions167 .arcButton167{flex:1 1 120px}
