/* Nine-slice artwork keeps the corner bevels and light accents intact at every size. */
:root{
 --ngCity169:url('Brand/neon-city-v169.webp');
 --ngFrame169:url('Brand/frame-v169.svg');
 --ngActive169:url('Brand/frame-active-v169.svg');
 --ngTrack169:url('Brand/frame-track-v169.svg');
}
#songSelect,#result#result:not(:has(.matchFinalView.show)){
 background:linear-gradient(#05091b22,#0b0a210d),var(--ngCity169) center/cover no-repeat,#080b1d!important;
}
#songSelect::after{display:none}
#songSelect .selectHeader{height:13vh;min-height:65px;border:0;padding:0 1vw;background:linear-gradient(180deg,#080b1fed,#080b1f7a 83%,transparent)}
#songSelect .selectHeader>.arcBrand167{width:32%;height:auto;max-height:none;object-fit:contain}
#songSelect .trackNav168{gap:.25vw}
#songSelect .trackNav168 button,#songSelect .arcProfile169 button{
 border:9px solid transparent!important;border-image:var(--ngTrack169) 25 fill stretch!important;
 border-radius:0!important;background:none!important;padding:.35em .42em!important;color:#edf6ff!important;
 font:750 clamp(9px,.86vw,17px)/1.1 system-ui;white-space:nowrap
}
#songSelect .trackNav168 button[aria-current]{border-image:var(--ngActive169) 25 fill stretch!important;filter:drop-shadow(0 0 6px #f325d7)}
#songSelect .arcProfile169{padding:6px;border:11px solid transparent;border-image:var(--ngFrame169) 30 fill stretch}
#songSelect#songSelect.hasRanking .selectBody{
 padding-top:4vh;height:calc(100% - max(13vh,65px));
 grid-template-columns:minmax(0,11%) minmax(0,55%) minmax(0,1fr)!important;
 grid-template-rows:minmax(0,1fr) 21vh;gap:6vh 1vw
}
#songSelect .trackRail168,#songSelect .trackHero,#songSelect .trackDock168>*{
 clip-path:none!important;border:clamp(13px,1.5vw,29px) solid transparent!important;
 border-image:var(--ngFrame169) 30 fill stretch!important;
 background:none!important;box-shadow:none!important;filter:drop-shadow(0 0 8px #a151db90)
}
#songSelect .trackRail168{padding:0;gap:0;justify-content:center}
#songSelect .trackRail168 button{
 flex:0 1 23%;background:none;border:0;border-radius:0;
 border-bottom:1px solid #748ddb50;padding:6px .45vw;color:#e5efff;font-size:clamp(10px,1vw,20px)
}
#songSelect .trackRail168 button[aria-pressed=true]{
 border:9px solid transparent;border-image:var(--ngActive169) 25 fill stretch;
 padding:2px;background:none;filter:drop-shadow(0 0 5px #eb4ad2)
}
.trackCount169{display:block;color:#bccaea;font-size:.82em;margin-top:3px}
.trackCount169:empty{display:none}
#songSelect .trackHero{padding:clamp(5px,.6vw,14px)}
#songSelect.hasRanking .trackHero .detailTop{
 grid-template-columns:minmax(0,44%) minmax(0,1fr)!important;
 gap:clamp(12px,1.5vw,30px);overflow:visible;align-items:center
}
#songSelect.hasRanking .trackHero .detailJacket{
 display:block;width:100%!important;height:auto!important;aspect-ratio:1;
 object-fit:contain!important;max-height:100%;border:1px solid #ed9fff;
 background:radial-gradient(ellipse,#241940,#0b1024 77%);box-shadow:0 0 14px #983ce780
}
#songSelect .trackHero .detailMeta{overflow:visible;max-height:none;height:auto}
#songSelect .trackHero #detailTitle{
 overflow-wrap:anywhere;line-height:1.09!important;max-height:2.18em;
 font-size:clamp(21px,3.25vw,65px)!important
}
#songSelect .trackHero #detailArtist{
 height:auto!important;max-height:none!important;margin:.38em 0!important;
 line-height:1.3!important;overflow:visible;text-overflow:clip;white-space:normal;
 font:italic 600 clamp(12px,1.47vw,28px)/1.3 system-ui;color:#c8d4f5
}
#songSelect .trackHeroKicker strong{font-size:clamp(10px,1.1vw,22px);letter-spacing:.06em}
.trackWave169{height:clamp(9px,2.5vh,30px);display:flex;align-items:end;justify-content:end;gap:2px;border-bottom:1px solid #9b86d7}
.trackWave169 i{width:1.2%;background:linear-gradient(#3de1f8,#9a45e9);opacity:.62}
#songSelect .detailBpm{
 margin:.85em 0 .4em;padding:.35em .5em;border:9px solid transparent;
 border-image:var(--ngTrack169) 25 fill stretch;background:none
}
#songSelect .detailBpm>span{display:flex;align-items:center;gap:.55em;flex:1;color:#dce7ff;font:700 clamp(9px,.96vw,18px)/1.1 system-ui}
#songSelect .detailBpm>span+span{border-left:1px solid #8f77c380;padding-left:.6em}
#songSelect .detailBpm i{font:normal 800 1.55em/1 system-ui;color:#c3edff}
#songSelect .detailBpm :is(b,.trackLength168){display:block;margin:2px 0 0;color:#fff;font:850 1.38em/1 system-ui}
.trackLength168:empty::before{content:'—'}
#songSelect :is(.trackStar168,.trackMore169){
 position:absolute;top:0;right:2.4em;padding:.23em .42em;color:#ffc3fb;font-size:clamp(14px,1.55vw,30px);
 line-height:1;background:#2c1847;border:1px solid #a474d9;border-radius:6px;cursor:pointer
}
#songSelect .trackMore169{right:0}
#songSelect .trackHero .detailSectionTitle{font:italic 850 clamp(11px,1.14vw,21px)/1.2 system-ui;color:#edf2ff;margin-bottom:5px}
#songSelect #chartList .chartButton{border-radius:0!important;border:8px solid transparent!important;border-image:var(--ngTrack169) 24 fill stretch!important;background:none!important}
#songSelect #chartList .chartButton.active{border-image:var(--ngActive169) 25 fill stretch!important;filter:drop-shadow(0 0 5px #f323e4);outline:0}
#songSelect .songListPane{margin-top:-3.2vh}
#songSelect .songToolbar{margin-bottom:1vh}
#songSelect .songToolbar :is(input,select){background:#0d1732e8;border-color:#6995c4}
#songSelect .songCard{
 grid-template-columns:minmax(34px,15%) minmax(0,1fr) auto minmax(28px,12%);
 border:9px solid transparent!important;border-image:var(--ngTrack169) 25 fill stretch!important;border-radius:0!important;background:none!important;
 padding:0 4px;min-height:clamp(40px,6.5vh,78px)!important;gap:7px
}
#songSelect .songCard.active{border-image:var(--ngActive169) 25 fill stretch!important;filter:drop-shadow(0 0 5px #ee40eb);box-shadow:none}
#songSelect .songCard.active::after{display:none}
#songSelect .songCard img{object-fit:contain;background:#0a0d1e;border:1px solid #6171ad;border-radius:0}
#songSelect .songCardInfo{grid-column:2;grid-row:1}
#songSelect .songBadge{grid-column:3;grid-row:1;position:static;display:grid;line-height:1.2;color:#e2efff}
#songSelect .songBadge small{font-size:.74em}
.songLevel169{grid-column:4;grid-row:1;text-align:right;font:850 clamp(10px,1.18vw,22px)/1 system-ui;color:#ff9ef4;white-space:nowrap}
#songSelect .trackDock168>*{padding:4px!important}
#songSelect .trackEquipment168{display:grid;align-content:start;gap:6px}
#songSelect .trackEquipment168 details[hidden]{display:none!important}
.equipmentTiles169{display:flex;gap:clamp(4px,.7vw,14px);min-width:0;align-items:stretch}
.equipmentTiles169>.detailSection{flex:1;margin:0;min-width:0}
.equipmentTiles169 .playModeRow{height:100%;gap:4px}
#songSelect .equipmentTiles169 .playModeRow button,.skinTile169{
 min-width:0;display:grid;align-content:center;justify-items:center;gap:4px;text-align:center;
 border:9px solid transparent!important;border-image:var(--ngTrack169) 25 fill stretch!important;background:none!important;border-radius:0!important;
 color:#f4eeff;font:800 clamp(9px,.86vw,18px)/1.15 system-ui
}
#songSelect .equipmentTiles169 .playModeRow button.active{border-image:var(--ngActive169) 25 fill stretch!important}
.skinTile169{width:24%;padding:0 2px}
.skinTile169 i{font:normal 800 clamp(15px,2vw,36px)/1 system-ui;color:#c2afff}
.skinTile169 select{width:100%;min-width:0;background:#101a35;color:#edf4ff;border:1px solid #7583b8;border-radius:4px;padding:3px;font:inherit}
#songSelect .trackSpeed168>.detailSectionTitle{font-size:clamp(11px,1.25vw,22px)}
#songSelect .trackLaunch168 #libraryStart{
 min-height:clamp(43px,10vh,126px);border:14px solid transparent!important;border-image:var(--ngActive169) 25 fill stretch!important;
 clip-path:none!important;background:none!important;filter:drop-shadow(0 0 10px #fe45e9);box-shadow:none!important;
}
#songSelect .trackLaunch168 #libraryStart:focus-visible,#songSelect .trackLaunch168 #libraryStart:hover{filter:drop-shadow(0 0 16px #ff83f5)}
#game:not(.arcBattle167) .vignette{
 background-image:linear-gradient(90deg,#10072a22,transparent 40% 60%,#160b3126),var(--ngCity169)!important;
 background-size:cover!important;background-position:center!important;opacity:.84
}
#game:not(.arcBattle167) .vignette::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#13072550,transparent 40%,#210e3940);pointer-events:none}
#game:not(.arcBattle167) .arcGameInfo167,#game:not(.arcBattle167) .arcGameHud167{
 border:clamp(11px,1.2vw,22px) solid transparent;border-image:var(--ngFrame169) 30 fill stretch;
 border-radius:0;background:none;box-shadow:none;filter:drop-shadow(0 0 9px #b455ec90);padding:8px
}
#game:not(.arcBattle167) .arcGameInfo167 img{aspect-ratio:1;object-fit:contain;background:#0a1023;border:1px solid #b68bfa}
#soloStage:not([style*="none"])::before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 75%,#5423a33f 75.2%,transparent 79%),linear-gradient(160deg,transparent 73%,#3cbeff35 73.2%,transparent 74%)}
#result#result:not(:has(.matchFinalView.show)) .resultCard{
 width:96vw!important;max-width:none!important;min-height:min(90vh,840px)!important;
 border:none!important;background:none!important;border-radius:0!important;box-shadow:none!important;
 padding:2vh 3vw!important;gap:1.2vh 2vw!important;grid-template-columns:minmax(0,1fr) minmax(220px,31%)!important
}
#result#result .arcResultTitle167{
 min-height:10vh;padding:0 1vw;border:13px solid transparent;border-image:var(--ngFrame169) 28 fill stretch;
}
#result#result .arcResultTitle167 .arcBrand167{width:min(25vw,390px)}
#result#result .arcResultTitle167 h2{font-size:clamp(28px,4vw,79px);text-align:center}
#result#result .arcResultTitle167 h2 small{display:block;font:italic 700 clamp(9px,1.15vw,22px)/1.4 system-ui;letter-spacing:.26em;color:#e7dcff}
#result#result .resultTrackHeader,#result#result .resultScore169,#result#result .resultJudges,
#result#result .arcResultCombo167,#result#result .resultScoreBox:has(#accuracy){
 border:clamp(10px,1.2vw,22px) solid transparent!important;border-image:var(--ngFrame169) 30 fill stretch!important;
 border-radius:0!important;background:none!important;padding:4px 1vw!important
}
#result#result .resultTrackHeader img{width:clamp(52px,7vw,132px);height:auto;aspect-ratio:1;object-fit:contain;border-radius:0;border:1px solid #be9eff}
#result#result .resultTrackHeader .resultSong{font:italic 900 clamp(20px,2.8vw,52px)/1.1 system-ui!important}
#result#result .resultTrackHeader>span{display:none}
#result#result .resultJudges h3{margin:0;text-align:center;font:italic 900 clamp(13px,1.45vw,29px)/1.3 system-ui;color:#f7dfff}
#result#result .resultJudge{background:none!important}
#result#result:not(:has(.matchFinalView.show)) .resultHero{min-height:min(43vh,430px)!important;align-self:start;margin-top:3vh}
#result#result:not(:has(.matchFinalView.show)) .resultHero::before{inset:0;background:url('Brand/rank-crest-v169.svg') center/contain no-repeat;clip-path:none;filter:drop-shadow(0 0 14px #ec47c9)}
#result#result:not(:has(.matchFinalView.show)) .resultHero::after{top:2%;color:#ffdafa;text-shadow:0 0 14px #f146db}
#result#result:not(:has(.matchFinalView.show)) #grade{
 font-size:clamp(100px,14vw,255px)!important;color:#ffeab2!important;
 text-shadow:0 0 8px #fff,0 0 23px #f454bd,0 0 44px #c520a9!important;
}
#result#result .arcResultActions167 :is(.again,.arcButton167){
 border:11px solid transparent!important;border-image:var(--ngTrack169) 25 fill stretch!important;background:none!important;clip-path:none!important;box-shadow:none!important
}
#result#result .arcResultActions167 .again{border-image:var(--ngActive169) 25 fill stretch!important;filter:drop-shadow(0 0 5px #fe37c5)}
@media(max-width:900px){
 #songSelect#songSelect.hasRanking .selectBody{height:auto;gap:9px;padding-top:6px}
 #songSelect .songListPane{margin-top:0}
 #songSelect .trackRail168 button{flex:1}
 #songSelect .selectHeader>.arcBrand167{width:20%}
 #songSelect .arcProfile169{border:0;padding:0}
 #result#result:not(:has(.matchFinalView.show)) .resultCard{grid-template-columns:minmax(0,1fr)!important}
 #result#result:not(:has(.matchFinalView.show)) :is(.resultHero,.resultData){grid-column:1}
 #result#result:not(:has(.matchFinalView.show)) .resultHero{min-height:155px!important;margin-top:0}
 #result#result:not(:has(.matchFinalView.show)) #grade{font-size:95px!important}
}
@media(max-height:660px) and (min-width:901px){
 #songSelect#songSelect.hasRanking .selectBody{gap:3vh 1vw;padding-top:2vh;grid-template-rows:minmax(0,1fr) 24vh}
 #songSelect .trackHeroKicker,#songSelect .trackWave169{display:none!important}
}
#songSelect .coverStage169{position:relative;aspect-ratio:1;display:grid;align-items:center;isolation:isolate;overflow:hidden;border:1px solid #eea6ff;background:#0c1329;box-shadow:0 0 18px #983ce780}
#songSelect .coverStage169::before{content:'';position:absolute;z-index:-1;inset:-20px;background:var(--cover169) center/cover;filter:blur(16px);opacity:.42}
#songSelect.hasRanking .coverStage169 .detailJacket{border:0;box-shadow:none;background:none;position:relative;max-height:100%}
#songSelect .trackHero{border-width:clamp(19px,2vw,40px)!important}
#songSelect .songCard.active::after{display:none!important}
#songSelect .songCardInfo span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#songSelect .trackMore169:focus-visible,#songSelect .trackStar168:focus-visible{outline:2px solid #fff}
#result#result:not(:has(.matchFinalView.show)) #grade{min-width:0!important;width:100%!important;text-align:center!important;padding:0!important}
#result#result .resultScoreBox:has(#finalScore){
 border:clamp(11px,1.3vw,24px) solid transparent!important;
 border-image:var(--ngFrame169) 30 fill stretch!important;background:none!important;padding:5px!important
}
#result#result .arcResultTitle167{position:relative}
@media(min-width:901px){#result#result .arcResultTitle167 h2{position:absolute;left:50%;transform:translateX(-50%);margin:0}}
#songSelect #songGrid{display:flex;flex-direction:column;gap:4px}
#songSelect #songGrid .songCard{
 box-sizing:border-box;flex:0 0 clamp(46px,7.05vh,84px);height:clamp(46px,7.05vh,84px);
 min-height:0!important;margin:0!important;padding:0 4px!important;border-width:7px!important
}
#songSelect #songGrid .songCard img{height:100%;min-height:0;max-height:clamp(30px,5.1vh,66px)}
#songSelect #chartList .chartLevel{white-space:nowrap;font-size:clamp(11px,1.25vw,24px)}
#songSelect #chartList .chartDiffName{font-size:clamp(7px,.73vw,15px)!important;max-width:100%;overflow-wrap:anywhere}
