:root{color-scheme:dark;--ink:#101014;--panel:#1b1b22;--muted:#b1aeba;--pink:#ff438d;--lime:#d6ff48;--line:#ffffff25;font-family:Inter,"Arial Black","Noto Sans JP",system-ui,sans-serif;color:#fff;background:var(--ink)}*{box-sizing:border-box}body{margin:0;font-size:16px}button,input,select{font:inherit}button{color:inherit;cursor:pointer;border:1px solid var(--line);background:#ffffff08;padding:13px 20px;font-weight:750;transition:background .15s,transform .15s}button:hover{background:#ffffff16;border-color:#ffffff75}button:active{transform:translateY(1px)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--lime);outline-offset:4px}button:disabled{opacity:.4;cursor:not-allowed}.primary{background:var(--lime);color:#14160d;border-color:var(--lime);display:flex;align-items:center;justify-content:space-between;gap:20px;font-weight:900}.primary:hover{background:#e4ff86}.quiet,.text-link{background:transparent}.quiet{border:0;color:var(--muted)}.screen{position:relative;min-height:100svh;isolation:isolate}[hidden]{display:none!important}.eyebrow{font-size:12px;letter-spacing:.13em;font-weight:750;color:var(--muted);display:flex;align-items:center;gap:10px}.eyebrow i{width:7px;height:7px;background:var(--lime);border-radius:50%}.hint{font-size:14px;color:var(--muted);line-height:1.7}

/* NEON STAGE visual system */
:root{--ink:#060711;--panel:#101224;--muted:#a8afc9;--pink:#ff3cac;--lime:#84fff0;--line:#8fdcff2e;background:radial-gradient(circle at 65% 0,#1b1748 0,#060711 44%)}body{background:var(--ink);letter-spacing:.01em}.brand{letter-spacing:.11em}.brand span{color:#84fff0}.small-tag{border-color:#84fff088;background:#0812299c;box-shadow:0 0 24px #43e9ff24}.primary{background:linear-gradient(105deg,#75fff0,#f85bad);color:#05050c;border:0;box-shadow:0 0 22px #4ce7ff40}.primary:hover{background:linear-gradient(105deg,#c7fff8,#ff94cb)}.title-art,.result-art{background-image:url(neon-stage-key-visual.png);background-position:69% center}.title-art:after{background:linear-gradient(90deg,#05060ff2 0%,#060711c8 36%,#06071122 73%),linear-gradient(0deg,#060711e0,transparent 45%)}.title-screen:before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(90deg,transparent 0 72px,#71e9ff08 73px 74px),linear-gradient(120deg,transparent 0 60%,#ff3cac10 60% 61%,transparent 61%);pointer-events:none}.title-content h1{font-style:italic;text-shadow:0 0 28px #ff3cac66}.title-content h1 span{-webkit-text-stroke:1.5px #84fff0}.title-content h1 em{color:#84fff0}.title-footer{background:#060711b3;backdrop-filter:blur(10px)}.select-screen{background:radial-gradient(ellipse at 80% 30%,#21255f 0,transparent 52%),radial-gradient(ellipse at 20% 100%,#4c1046 0,transparent 55%),var(--ink)}.topbar{background:#080a16c4;backdrop-filter:blur(16px)}.track-item{border-left-color:#84fff0;background:linear-gradient(90deg,#63ffe013,transparent)}.track-item.selected{border-color:#ff3cac;background:linear-gradient(90deg,#ff3cac35,transparent);box-shadow:0 0 20px #ff3cac1c}.track-item i,.artist-card b,.catalog{color:#84fff0}.artist-card{background:#101226;border:1px solid #84fff02c}.jacket-frame{padding:8px;background:linear-gradient(140deg,#74fff1,#ff48aa 52%,#fff 52%);box-shadow:14px 14px 0 #ff3cac26}.jacket-frame>img{content:url(neon-stage-jacket.png)}.catalog{background:#080b17;color:#fff;border:1px solid #84fff0}.song-info h2{font-style:italic;text-transform:uppercase}.difficulties .selected{background:linear-gradient(135deg,#ff3cac,#874dff);color:#fff;border-color:#ff89c6}.difficulties [data-level=light].selected{background:#84fff0;border-color:#84fff0;color:#050812}.difficulties [data-level=expert].selected{background:#8a5cff;border-color:#ad9bff;color:#fff}.play-screen{background:radial-gradient(circle at 50% 20%,#2a155b,#060711 65%)}.video-shade{background:linear-gradient(#050711dd,transparent 35%,#050711d9)}.progress-track i{background:linear-gradient(90deg,#84fff0,#ff3cac)}.pads button{border-top-color:#ff3cac;background:#0a1026ee}.pads button:nth-child(n+3){border-top-color:#84fff0}.pads button.down{background:#ff3cac99}.pads button:nth-child(n+3).down{background:#84fff088}.rank,.result-primary .eyebrow,.settings-grid output{color:#84fff0}.result-art{filter:saturate(1.25) contrast(1.1);opacity:.3}dialog{background:#0a0e20eF;border-color:#84fff055;box-shadow:0 0 60px #3cc6ff1b,12px 12px 0 #ff3cac1f}
.title-art,.result-art{position:absolute;inset:0;z-index:-2;background:url(cool-miyabi-title-v4.png) 67% center/cover no-repeat}.title-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#101014d9 0%,#101014a6 34%,transparent 72%)}.brandbar{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw}.brand{font-weight:950;font-size:21px;letter-spacing:-.04em}.brand span{color:var(--pink);margin:0 3px}.small-tag{border:1px solid #ffffff50;padding:7px 12px;font-size:12px;font-weight:700;letter-spacing:.1em}.title-content{padding:4vh 0 100px 7vw;max-width:650px}.title-content h1{font-size:clamp(66px,8.9vw,142px);font-weight:1000;line-height:.87;letter-spacing:-.085em;margin:25px 0 22px;position:relative;transform:rotate(-4deg);transform-origin:left center}.title-content h1 span{-webkit-text-stroke:1.5px #fff;color:transparent}.title-content h1 em{color:var(--pink);font-size:.6em;display:inline-block;margin-left:8px;font-style:normal;letter-spacing:-.13em}.title-jp{letter-spacing:.2em;margin:24px 0 35px}.start-button{width:min(355px,100%);font-size:23px;min-height:64px;box-shadow:6px 6px 0 #ffffff25}.title-menu{display:flex;gap:8px;margin-top:25px;flex-wrap:wrap}.title-menu button{padding:9px 14px;font-size:14px;background:#101014b8}.sound-toggle{border:0;background:transparent;color:#cbc8d1;font-size:14px;padding-left:0;margin-top:22px}.title-footer{display:flex;justify-content:space-between;position:absolute;bottom:0;left:0;right:0;padding:20px 5vw;border-top:1px solid var(--line);font-size:12px;letter-spacing:.07em}
.topbar{display:flex;align-items:center;gap:24px;height:96px;padding:0 4vw;border-bottom:1px solid var(--line)}.topbar h1{font-size:25px;letter-spacing:-.045em;margin:0}.topbar h1 span{color:var(--muted)}.topbar>button:last-child{margin-left:auto}.back{font-size:24px;padding:5px 15px}.select-screen{background:radial-gradient(ellipse at 80% 45%,#35222f 0,transparent 65%),var(--ink)}.selection{display:grid;grid-template-columns:290px 1fr;gap:4vw;padding:40px 4vw 85px;max-width:1600px;margin:auto}.track-list .eyebrow{justify-content:space-between;margin-top:0}.track-item{display:flex;width:100%;align-items:center;padding:12px;text-align:left;gap:12px;border-left:3px solid var(--lime);background:#d6ff4810}.track-item img{width:54px;height:54px;object-fit:cover}.track-item span{display:grid;gap:6px}.track-item small{font-size:11px;color:var(--muted)}.track-item b{font-size:14px}.track-item i{font-size:12px;margin-left:auto;color:var(--lime)}.artist-card{position:relative;height:310px;margin-top:22px;overflow:hidden;background:#27232a}.artist-card img{height:100%;width:100%;object-fit:cover;object-position:90% 50%}.artist-card:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#111)}.artist-card span{position:absolute;bottom:18px;left:18px;z-index:1;font-size:12px;letter-spacing:.15em}.artist-card b{display:block;font-size:24px;letter-spacing:-.04em;margin-top:6px}.track-list .text-link{width:100%;font-size:14px;margin-top:14px}.selected-track{display:grid;grid-template-columns:minmax(200px,1fr) minmax(300px,1fr);gap:3vw;align-items:center}.jacket-frame{position:relative;transform:rotate(-3deg);padding:10px;background:#efedf0;color:#15151a;box-shadow:12px 12px 0 #ffffff0e;margin:20px 0 30px}.jacket-frame>img{width:100%;aspect-ratio:1;display:block;object-fit:cover}.catalog{position:absolute;top:27px;left:-18px;background:var(--lime);font-size:14px;font-weight:900;padding:8px 15px;transform:rotate(3deg)}.jacket-caption{display:block;padding:13px 0 5px;font-size:11px;letter-spacing:.08em;text-align:center}.song-info h2{font-size:clamp(36px,4vw,64px);line-height:.93;letter-spacing:-.065em;margin:14px 0}.artist{font-size:13px;letter-spacing:.035em;color:var(--muted)}.track-meta{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:10px;border-block:1px solid var(--line);padding:15px 0;margin:23px 0}.track-meta span{font-size:12px;color:var(--muted)}.track-meta b{display:block;font-size:21px;color:#fff;font-variant-numeric:tabular-nums;margin-top:6px}.difficulty-caption{display:flex;justify-content:space-between;gap:8px;font-size:12px}.difficulty-caption>span{color:var(--muted)}.difficulties{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.difficulties button{padding:10px;text-align:left}.difficulties small{display:block;font-size:11px}.difficulties b{display:block;font-size:28px;margin-top:5px;letter-spacing:-.05em}.difficulties .selected{border-color:var(--pink);background:var(--pink);color:#171018}.difficulties [data-level=light].selected{background:#aeece4;border-color:#aeece4}.difficulties [data-level=expert].selected{background:var(--lime);border-color:var(--lime)}.song-info>.hint{min-height:24px;margin:10px 0}.play-options{display:flex;flex-wrap:wrap;gap:14px;margin:18px 0;font-size:14px}.play-options input{accent-color:var(--pink)}.play-options small{color:var(--muted);font-size:11px}.play-actions{display:grid;grid-template-columns:1fr auto;gap:8px}.play-actions>.primary{min-height:57px;font-size:23px}.controls-hint{font-size:12px;color:var(--muted);text-align:center}.bottom-strip{position:absolute;bottom:0;left:0;right:0;border-top:1px solid var(--line);padding:18px 4vw;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}
.play-screen{height:100dvh;min-height:0;overflow:hidden;background:#101018;touch-action:none;user-select:none}.play-screen video{position:absolute;width:100%;height:100%;object-fit:cover;opacity:.35;z-index:-3}.video-shade{position:absolute;inset:0;background:linear-gradient(#080810b3,transparent 35%,#0808108c);z-index:-2}#field{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.play-top{position:absolute;top:0;left:0;right:0;display:grid;grid-template-columns:1fr 220px 1fr;gap:20px;padding:21px 3vw;pointer-events:none;background:linear-gradient(#101014ee,#10101400)}.play-top>div{display:grid;align-content:start;gap:6px}.play-top small{font-size:11px;letter-spacing:.05em;color:var(--muted)}.play-top>div>b{font-size:18px}.score-wrap{text-align:right}.score-wrap>b{font-size:28px!important;font-variant-numeric:tabular-nums}.score-wrap>span{font-size:12px;color:var(--lime)}.life-wrap small{display:flex;justify-content:space-between}.life-track{height:6px;background:#ffffff25}.life-track i{display:block;height:100%;width:100%;background:var(--lime);transition:width .15s}.progress-track{position:absolute;top:0;left:0;right:0;height:3px;background:#ffffff15}.progress-track i{display:block;width:0;height:100%;background:var(--pink)}.combo{position:absolute;top:38%;left:0;right:0;text-align:center;pointer-events:none;text-shadow:0 2px 12px #000}.combo b{display:block;font-size:clamp(42px,7vw,75px);font-style:italic;line-height:1;font-variant-numeric:tabular-nums}.combo span{font-size:12px;letter-spacing:.2em;color:var(--lime)}.judgment{position:absolute;top:57%;left:0;right:0;text-align:center;pointer-events:none;opacity:0;text-shadow:0 2px 15px #000}.judgment b{font-size:clamp(26px,4vw,40px);font-style:italic;letter-spacing:-.05em}.judgment>span{display:block;font-size:12px;margin-top:5px}.judgment.visible{animation:judge .4s ease-out}.judgment[data-word=PERFECT]{color:var(--lime)}.judgment[data-word=GREAT]{color:#adf7fa}.judgment[data-word=GOOD]{color:#ffa2cd}.judgment[data-word=MISS]{color:#c9c3d4}.pads{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:min(94%,760px);height:6%;min-height:42px;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;touch-action:none}.pads button{padding:0;border-top:2px solid var(--pink);background:#211627f0;touch-action:none;-webkit-user-select:none}.pads button:nth-child(n+3){border-top-color:var(--lime)}.pads button.down{background:#ff438d88}.pads button:nth-child(n+3).down{background:#d6ff4866}.pads span{font-size:19px}.pads small{font-size:10px;margin-left:10px;color:var(--muted)}.pause-button{position:absolute;right:20px;bottom:65px;padding:10px 16px;background:#101014db}.play-time{position:absolute;left:20px;bottom:68px;font-size:12px;color:#e0dce6}.count-in{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#08080ead;pointer-events:none;z-index:5}.count-in small{font-size:15px;letter-spacing:.2em;color:var(--lime)}.count-in b{font-size:110px;font-style:italic}.count-in span{font-size:14px;text-align:center;max-width:90vw}.milestone{position:absolute;left:0;right:0;top:25%;text-align:center;color:var(--pink);font-size:24px;font-weight:900;pointer-events:none;opacity:0}.milestone.pop{animation:judge 1s}
.result-art{opacity:.22;filter:saturate(.6);background-position:right center}.results{display:grid;grid-template-columns:1fr 1.15fr;gap:6vw;max-width:1040px;padding:40px 4vw 60px;margin:auto}.result-primary{text-align:center}.result-primary .eyebrow{justify-content:center;color:var(--lime)}.rank{display:block;font-size:clamp(100px,20vw,235px);letter-spacing:-.1em;line-height:1;font-style:italic;color:var(--lime);text-shadow:8px 8px 0 #ffffff14}.clear-badge{display:block;font-size:16px;color:var(--pink);font-weight:900;margin:8px 0 22px}.result-score small{display:block;color:var(--muted);font-size:12px}.result-score b{display:block;font-size:clamp(30px,5vw,48px);font-variant-numeric:tabular-nums;letter-spacing:-.04em;margin:8px 0}.result-score em{display:block;color:var(--lime);font-size:13px;font-style:normal;min-height:17px}.result-details{align-self:center}.result-details h2{font-size:36px;letter-spacing:-.05em;margin-top:10px}.result-summary{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--line)}.result-summary span{font-size:12px;color:var(--muted)}.result-summary b{display:block;color:#fff;font-size:27px;margin-top:9px}.judgment-counts div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.judgment-counts dt{font-size:14px;color:var(--muted)}.judgment-counts dd{font-size:18px;margin:0}.result-actions{display:flex;flex-wrap:wrap;gap:8px}.result-actions button{font-size:14px}.result-actions .primary{flex:1}#resultMode{font-size:13px;color:var(--pink);margin-left:auto}
dialog{background:var(--panel);color:white;border:1px solid #ffffff35;padding:34px;width:min(520px,calc(100vw - 28px));max-height:90dvh;overflow:auto;box-shadow:12px 12px 0 #ff438d22}dialog::backdrop{background:#090911db;backdrop-filter:blur(8px)}dialog h2{font-size:32px;letter-spacing:-.05em;margin:8px 0 22px}dialog p{line-height:1.7}.close{position:absolute;top:14px;right:14px;width:37px;height:37px;padding:0;font-size:24px;background:transparent;border:0}.stack{display:flex;flex-direction:column;gap:9px;margin-top:20px}.options-dialog{width:min(660px,calc(100vw - 28px))}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}.settings-grid label{font-size:14px;color:#ddd}.settings-grid output{float:right;font-variant-numeric:tabular-nums;color:var(--lime)}.settings-grid input{width:100%;display:block;margin:14px 0 0;accent-color:var(--pink);height:22px}.settings-grid select{display:block;width:100%;margin-top:10px;padding:9px;background:#292932;color:#fff;border:1px solid var(--line)}.settings-grid small{display:block;margin-top:6px;color:var(--muted);font-size:12px}.wide-setting{grid-column:1/-1}.key-settings{margin-top:28px;font-size:12px;letter-spacing:.08em}.key-settings>div{display:flex;gap:8px;margin-top:10px}.key-settings button{min-width:54px;font-size:18px}.key-settings button.binding{border-color:var(--lime);color:var(--lime)}.settings-bottom{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.settings-bottom button{font-size:14px}.guide-block{border-top:1px solid var(--line);padding-top:18px;margin:18px 0}.guide-block b{color:var(--lime)}.guide-block p{font-size:15px;color:var(--muted);margin-bottom:0}.calibration-pad{height:150px;width:100%;font-size:32px;background:#d6ff4810;border-color:var(--lime);color:var(--lime);touch-action:manipulation}.gallery-dialog{width:min(970px,calc(100vw - 24px))}.gallery-dialog h2 small{font-size:15px;color:var(--lime);margin-left:12px}.gallery-dialog h3{font-size:15px;margin-top:28px}.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.achievement-card{padding:16px;border:1px solid var(--line)}.achievement-card>b{display:block;font-size:14px;color:var(--lime)}.achievement-card>span{font-size:12px;color:var(--muted);display:block;line-height:1.6;margin-top:6px}.achievement-card.locked>b{color:#aaa}.reward-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.reward-card{padding:0;text-align:left;overflow:hidden}.reward-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.reward-card.locked img{filter:brightness(.15) grayscale(1)}.reward-card span{display:block;padding:12px;font-size:14px}.reward-dialog{width:min(1120px,96vw);padding:20px}.reward-dialog img{width:100%;max-height:78vh;object-fit:contain}.reward-dialog h2{font-size:20px;margin:12px 0 0}.reward-dialog .close{background:#101014dc}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,30px);z-index:1000;max-width:90vw;background:#202027;border-left:4px solid var(--lime);box-shadow:0 5px 35px #000b;padding:15px 22px;font-size:14px;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}@keyframes judge{0%{opacity:1;transform:scale(1.08)}20%,60%{opacity:1;transform:scale(1)}100%{opacity:0}}
@media(max-width:1100px){.selection{grid-template-columns:220px 1fr;gap:28px}.selected-track{gap:25px;grid-template-columns:1fr 1.15fr}.artist-card{height:270px}.track-item img{width:40px;height:40px}.track-item{padding:10px;gap:8px}.track-item b{font-size:12px}.track-item small{font-size:10px}.track-item i{display:none}}
@media(max-width:860px){.title-content{padding-left:6vw;max-width:60vw}.title-content h1{font-size:12vw}.title-art{background-position:68% center}.title-art:after{background:linear-gradient(90deg,#101014c9,transparent)}.title-content .eyebrow{font-size:10px;max-width:200px;line-height:1.6}.small-tag{font-size:10px}.selection{display:block;max-width:760px}.track-list{display:none}.selected-track{grid-template-columns:1fr 1.15fr}.play-top{grid-template-columns:1fr 1fr}.life-wrap{position:absolute!important;top:82px;left:3vw;right:3vw;display:block!important}.life-wrap small{display:none}.results{gap:30px}.result-details h2{font-size:28px}}
@media(max-width:560px){.brandbar{height:74px;padding:0 22px}.brand{font-size:19px}.small-tag{font-size:9px;max-width:110px;text-align:center}.title-screen{display:flex;flex-direction:column}.title-art{background-size:auto 80%;background-position:67% top;background-color:#101014}.title-art:after{background:linear-gradient(0deg,#101014 20%,#10101420 65%,#10101430)}.title-content{max-width:none;padding:31vh 24px 115px}.title-content>.eyebrow{display:none}.title-content h1{font-size:clamp(70px,17vw,96px);line-height:.84;margin:0 0 16px}.title-content h1 br{display:none}.title-content h1 span{display:block}.title-content h1 em{position:absolute;left:76%;bottom:0}.title-jp{font-size:14px;margin:15px 0 22px}.start-button{width:100%;max-width:none;min-height:57px;font-size:21px}.title-menu{margin-top:16px;gap:6px}.title-menu button{flex:1;padding:10px 8px;font-size:13px}.sound-toggle{margin-top:11px}.title-footer{padding:17px 22px;font-size:10px}.topbar{height:76px;padding:0 20px;gap:15px}.topbar h1{font-size:22px}.selection{padding:25px 24px 80px}.selected-track{display:block}.jacket-frame{width:60%;max-width:250px;margin:5px auto 28px}.jacket-caption{font-size:9px;padding:7px 0 0}.catalog{font-size:11px;padding:6px 9px}.song-info h2{font-size:40px;line-height:1}.song-info h2 br{display:none}.song-info>.eyebrow{font-size:11px;margin-bottom:6px}.artist{font-size:12px}.track-meta{margin:18px 0}.track-meta b{font-size:22px}.difficulties b{font-size:30px}.bottom-strip span:last-child{display:none}.play-top{padding:19px 16px;gap:10px}.play-top>div>b{font-size:14px}.score-wrap>b{font-size:25px!important}.play-top small{font-size:10px}.pause-button{right:10px;bottom:72px;padding:8px 12px}.play-time{left:10px;bottom:77px;font-size:10px}.pads{height:7%;min-height:49px;padding-bottom:env(safe-area-inset-bottom,0)}.pads small{display:none}.combo{top:35%}.judgment{top:52%}.milestone{top:25%;font-size:19px}.results{grid-template-columns:1fr;padding:25px 24px 45px;gap:24px}.result-primary{display:grid;grid-template-columns:1fr 1.3fr;align-items:center;gap:0 10px}.result-primary>.eyebrow{grid-column:1/-1}.rank{grid-row:2/4;font-size:130px}.clear-badge{margin:0;font-size:14px}.result-score{grid-column:2;grid-row:3}.result-score b{font-size:32px}.result-score small{font-size:10px}.result-details h2{font-size:28px}.result-summary b{font-size:25px}.judgment-counts{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.judgment-counts dt{font-size:12px}.result-actions{gap:5px}.result-actions button{padding:12px;font-size:13px}dialog{padding:28px 22px}.settings-grid{gap:18px 14px}.settings-grid label{font-size:13px}.gallery-dialog{padding:30px 18px}.gallery-dialog h2{font-size:25px}.achievement-grid{grid-template-columns:1fr 1fr}.achievement-card{padding:12px}.achievement-card>b{font-size:12px}.reward-grid{grid-template-columns:1fr}.reward-card{display:grid;grid-template-columns:120px 1fr;align-items:center}.reward-card img{height:80px;width:120px}.reward-card span{font-size:13px}}
@media(max-height:550px) and (min-width:600px){.title-content{padding-top:0;padding-bottom:75px}.title-content h1{font-size:72px;margin:10px 0}.brandbar{height:60px}.title-jp{margin:10px 0}.title-menu{margin-top:8px}.sound-toggle{margin-top:5px}.topbar{height:66px}.selection{padding-top:20px}.play-top{padding-top:12px}.life-wrap{top:70px}.pads{height:10%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition:none!important}}
@keyframes judgeFade{0%,70%{opacity:1}100%{opacity:0}}
.track-item img{content:normal}
@media(prefers-reduced-motion:reduce){.judgment.visible,.milestone.pop{animation:judgeFade .5s!important}}
.event-launch{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:12px;width:min(460px,100%);margin-top:14px;padding:8px 11px;border:1px solid #63f5ff66;background:linear-gradient(100deg,#07152de8,#260a2be8);color:#fff;text-decoration:none;box-shadow:0 0 24px #63f5ff18}.event-launch[hidden]{display:none}.event-launch-art{width:58px;height:58px;background:#03040a;overflow:hidden}.event-launch-art img{width:100%;height:100%;object-fit:contain}.event-launch>span:nth-child(2){display:grid;line-height:1.2}.event-launch small{color:#63f5ff;font-size:10px;letter-spacing:.12em;font-weight:900}.event-launch b{font-size:15px;margin-top:4px}.event-launch em{color:#bac2da;font-size:10px;font-style:normal;margin-top:5px}.event-launch>i{color:#ff5ccc;font-size:10px;font-style:normal;font-weight:900}.event-launch:hover{border-color:#ff5ccc;background:linear-gradient(100deg,#0b2347,#45113d)}
@media(max-width:560px){.event-launch{grid-template-columns:46px 1fr auto;margin-top:10px;padding:6px 8px}.event-launch-art{width:46px;height:46px}.event-launch em{display:none}.event-launch b{font-size:13px}}
.artist-card.azarashi-jacket img{object-fit:contain;background:#070913;object-position:center}
.difficulties{grid-template-columns:repeat(2,minmax(0,1fr))}.difficulties button[hidden]{display:none}.difficulties [data-level=master].selected{background:linear-gradient(120deg,#8f153d,#d94629);color:#fff;border-color:#ffc077}.difficulties [data-level=master] small{color:#ffce92}.difficulties small{font-size:13px}.pads button.sustaining,.pads button:nth-child(n+3).sustaining{background:#073c53;border-top:4px solid #3ee1ff;box-shadow:inset 0 0 0 2px #3ee1ff;color:#e7fbff}

.jacket-frame>img{content:normal}.track-pr{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0;font-size:14px}.track-pr a{color:#84fff0;overflow-wrap:anywhere}

.sample-play{display:block;width:100%;margin-top:11px;padding:11px 8px;border:1px solid #111827;background:#111827;color:#f8fbff;font-size:12px;font-weight:900;letter-spacing:.13em}.sample-play:hover,.sample-play:focus-visible{background:var(--pink);border-color:var(--pink);color:#111827}.artist-card.has-link{cursor:pointer}.artist-card span small{display:block;margin-top:7px;color:var(--lime);font-weight:800;font-size:10px}.artist-card.has-link:hover:after{background:linear-gradient(transparent,#111b)}

/* Pause stays above the input area, with reserved HUD space. */
.play-screen .pause-button{top:calc(env(safe-area-inset-top,0px) + 12px);right:12px;bottom:auto;min-width:48px;min-height:44px;z-index:8;touch-action:none}
.play-screen .play-top{padding-right:84px}
@media(pointer:coarse){
 .play-screen .pause-button{width:84px;padding:10px 6px;font-size:14px}
 .play-screen .play-top{padding-right:108px}
 .pause-button.pause-holding{animation:pauseConfirm .45s linear forwards}
}
@keyframes pauseConfirm{from{box-shadow:inset 0 -2px #3ee1ff}to{box-shadow:inset 0 -48px #3ee1ff;color:#07131e}}
/* Disable browser double-tap zoom, preserving menu scrolling and pinch zoom.
   Gameplay keeps its existing touch-action:none and pointer capture. */
html,body,dialog{touch-action:manipulation}
/* The card rail is a native horizontal scroller; allow both pan directions. */
.mobile-track-rail{touch-action:manipulation}
/* iOS/WebView long-press selection and tap overlay must not cover gameplay. */
.play-screen,.play-screen *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
@media(min-width:861px){.selection{align-items:start}.track-list{position:sticky;top:112px;max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px);overflow-y:auto;overscroll-behavior:contain;padding:0 11px 28px 0;scrollbar-width:thin;scrollbar-color:var(--pink) #11152a}.track-list>.eyebrow{position:sticky;top:0;z-index:4;padding:10px 2px;background:linear-gradient(#080a18 72%,transparent);backdrop-filter:blur(8px)}.track-list::-webkit-scrollbar{width:8px}.track-list::-webkit-scrollbar-track{background:#11152a}.track-list::-webkit-scrollbar-thumb{background:linear-gradient(var(--pink),var(--lime));border:2px solid #11152a}.selected-track{position:sticky;top:112px}}
@media(max-width:860px){.mobile-track-picker{position:relative}.mobile-track-picker:after{content:"";position:absolute;z-index:3;top:28px;right:-1px;width:34px;height:78px;background:linear-gradient(90deg,transparent,#080a18dd);pointer-events:none}.mobile-track-rail{padding-bottom:13px;scrollbar-width:thin;scrollbar-color:var(--pink) #11152a}.mobile-track-rail::-webkit-scrollbar{height:5px}.mobile-track-rail::-webkit-scrollbar-track{background:#11152a}.mobile-track-rail::-webkit-scrollbar-thumb{background:linear-gradient(90deg,var(--pink),var(--lime))}}
/* TOP PORTAL */
.portal{position:relative;z-index:1;max-width:1220px;margin:0 auto;padding:0 5vw 82px;display:grid;gap:22px}.event-hub-card{position:relative;overflow:hidden;min-height:270px;border:1px solid #7dfff050;background:linear-gradient(115deg,#061125f4,#161044d9 55%,#2a0934dc);padding:32px;display:flex;align-items:flex-end;justify-content:space-between;box-shadow:0 0 45px #56e9ff12}.event-hub-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0 52%,#84fff014 52% 53%,transparent 53% 68%,#ff3cac16 68% 69%,transparent 69%);pointer-events:none}.event-hub-card>div{position:relative;z-index:1}.portal-kicker{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:900;letter-spacing:.16em;color:#b9c1dd}.portal-kicker span{color:#84fff0}.portal-kicker b{background:#ffffff12;border:1px solid #ffffff36;padding:4px 7px;color:#fff;font-size:10px}.event-hub-card h2{font-size:clamp(45px,6vw,80px);line-height:.78;letter-spacing:-.08em;margin:18px 0;font-style:italic}.event-hub-card h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1px #84fff0}.event-hub-card p:not(.portal-kicker){max-width:430px;color:#d5d9eb;margin:0 0 8px}.event-hub-card small{color:#9ba4c3}.event-hub-card button{position:relative;z-index:1;min-width:160px;background:#080b1a99;border-color:#84fff050;color:#aab4cc;cursor:not-allowed}.event-grid-art{position:absolute;right:8%;top:7%;width:250px;height:250px;border:1px solid #84fff050;transform:rotate(25deg);background:repeating-linear-gradient(0deg,transparent 0 30px,#84fff01b 31px 32px),repeating-linear-gradient(90deg,transparent 0 30px,#ff3cac18 31px 32px);box-shadow:0 0 65px #ff3cac30}.information,.quick-access{background:#0a0e20c7;border:1px solid #84fff02b;padding:24px;backdrop-filter:blur(12px)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:16px}.section-heading small{display:block;color:#84fff0;font-weight:800;font-size:11px;letter-spacing:.16em}.section-heading h2{font-size:24px;line-height:1;margin:5px 0 0;letter-spacing:-.05em}.section-heading .text-link:disabled{opacity:.45;cursor:not-allowed}.info-list{list-style:none;padding:0;margin:0;border-top:1px solid #ffffff16}.info-list li{display:grid;grid-template-columns:96px 76px 1fr auto;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #ffffff16}.info-list time{font-size:12px;color:#a8afc9;font-variant-numeric:tabular-nums}.info-tag{font-size:10px;letter-spacing:.08em;padding:4px 6px;text-align:center;background:#84fff018;color:#84fff0;border:1px solid #84fff03a}.info-tag.music{color:#ff8bc5;background:#ff3cac14;border-color:#ff3cac38}.info-tag.system{color:#b7a2ff;background:#9a72ff14;border-color:#9a72ff38}.info-list span{font-size:15px;font-weight:700}.info-list i{font-size:10px;font-style:normal;letter-spacing:.09em;color:#0b1120;background:#84fff0;padding:4px 6px;font-weight:900}.quick-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.quick-grid>a,.quick-grid>button{min-height:120px;padding:15px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;text-decoration:none;color:#fff;background:linear-gradient(145deg,#13182d,#080b1a);border:1px solid #ffffff1f;transition:transform .15s,border-color .15s,box-shadow .15s}.quick-grid>a:hover,.quick-grid>button:not(:disabled):hover{transform:translateY(-3px);border-color:#84fff0;box-shadow:0 10px 26px #4ce7ff1f}.quick-grid small{color:#84fff0;font-weight:900;letter-spacing:.1em}.quick-grid b{font-size:15px;letter-spacing:-.02em}.quick-grid span{font-size:12px;color:#a8afc9}.quick-grid .future-link{opacity:.62;cursor:not-allowed}.title-screen{padding-bottom:0}.title-footer{position:relative;margin-top:0}
@media (max-width:860px){.title-content{padding:4vh 6vw 54px}.portal{padding:0 16px 48px;gap:14px}.event-hub-card{min-height:245px;padding:24px}.event-hub-card h2{font-size:54px}.event-grid-art{right:-52px;top:16px;width:190px;height:190px}.event-hub-card button{min-width:120px;font-size:12px}.information,.quick-access{padding:18px}.info-list li{grid-template-columns:78px 66px 1fr;gap:8px;align-items:start}.info-list span{font-size:14px;line-height:1.45}.info-list i{grid-column:3;justify-self:start}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-grid>a,.quick-grid>button{min-height:104px}.quick-grid>a:last-child,.quick-grid>button:last-child{grid-column:span 2}.title-footer{font-size:11px;padding:16px}}
/* Ranking entry is not part of the current public portal. */
.quick-grid>a[href="https://neon-stage-music-entry.miyabikam04.chatgpt.site/"]{display:none}.quick-grid{grid-template-columns:repeat(4,1fr)}
@media (max-width:860px){.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Hero artwork v2: the supplied image carries the title lockup, so the UI avoids duplicate type. */
.title-art{background-image:url(neon-stage-top-hero.png)!important;background-position:center center!important;background-size:cover!important}.title-art:after{background:linear-gradient(90deg,#070611b8 0%,#07061133 32%,transparent 62%),linear-gradient(0deg,#060711d4 0%,transparent 42%)!important}.title-content{max-width:430px;padding:33vh 0 76px 6vw!important}.title-content>.eyebrow,.title-content>h1,.title-content>.title-jp{display:none}.title-content .start-button{background:linear-gradient(105deg,#fff,#ff76bc);box-shadow:0 0 34px #ff3cac7a}.title-content .title-menu{background:#0808139e;border:1px solid #ffffff38;backdrop-filter:blur(10px);padding:6px}.title-content .title-menu button{border:0}.title-screen .brandbar{position:relative;z-index:2}.title-screen .small-tag{background:#0a0612bb;border-color:#ff8ac24a}.title-screen .brand{color:#fff;text-shadow:0 0 14px #ff3cac88}
@media (max-width:860px){.title-art{background-position:57% center!important}.title-art:after{background:linear-gradient(90deg,#070611c4 0%,#0706111c 75%),linear-gradient(0deg,#060711e3 0%,transparent 52%)!important}.title-content{padding:44svh 6vw 54px!important;max-width:100%}.title-content .start-button{width:min(390px,100%)}.title-content .title-menu{width:min(390px,100%)}.brandbar{height:72px!important}.brand{font-size:16px!important}.small-tag{font-size:10px!important;padding:5px 7px!important}}

/* Published EVENT HUB and corrected hero framing. */
.title-art{height:100svh;bottom:auto!important;background-position:center top!important}.event-hub-card.is-live{cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s}.event-hub-card.is-live:hover,.event-hub-card.is-live:focus-visible{transform:translateY(-3px);border-color:#84fff0;box-shadow:0 14px 48px #56e9ff22;outline:none}.event-hub-card.is-live button{cursor:pointer;color:#fff;border-color:#84fff0;background:linear-gradient(105deg,#142846,#3c153d)}
@media (max-width:860px){.title-art{height:100svh;background-size:auto 68svh!important;background-repeat:no-repeat!important;background-position:58% 68px!important;background-color:#060711}.title-content{padding-top:46svh!important}.event-hub-card{align-items:flex-end;gap:16px}.event-hub-card button{min-width:118px}}
@media (max-width:560px){.title-art{background-size:auto 58svh!important;background-position:58% 72px!important}.title-content{padding-top:42svh!important}.event-hub-card{display:block}.event-hub-card button{width:100%;margin-top:18px}}
