.game-page{position:relative;isolation:isolate;background:#090b10;color:#f7f4ee;min-height:80vh;padding-bottom:40px;--accent:#f3c548}.game-wrap{width:calc(100% - 88px);max-width:1400px;margin:auto}.game-page button,.game-page select,.game-page input{font:inherit}.game-page button,.game-page a{touch-action:manipulation}.game-page button:focus-visible,.game-page a:focus-visible,.game-page select:focus-visible,.game-page input:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.game-page [hidden]{display:none!important}.game-kicker,.game-label{font-size:11px;letter-spacing:.2em;font-weight:800;color:var(--accent)}.game-kicker{display:block}.game-muted{color:#b0b1bb;font-size:12px;line-height:1.8}.game-button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:48px;padding:14px 23px;border:1px solid #ffffff35;border-radius:5px;text-decoration:none;cursor:pointer;font-weight:800!important;font-size:12px!important;letter-spacing:.03em}.game-button.primary{background:var(--accent);border-color:var(--accent);color:#101014}.game-button.secondary{background:#131620b8;color:#fff}.game-button:disabled{opacity:.5;cursor:wait}.game-button:hover{filter:brightness(1.12)}.game-text-link{font-size:12px;color:#ddd;margin-left:22px}.game-hub-hero{padding:180px 0 100px;background:linear-gradient(90deg,#090b10 10%,#090b1090 60%,#090b1050),url('/images/game/vona-band.jpg') center 40%/cover;min-height:650px}.game-hub-hero h1{font-size:clamp(40px,5.5vw,78px);line-height:1.04;letter-spacing:-.06em;margin:28px 0}.game-page em{font-style:normal;color:var(--accent)}.game-hub-hero p{color:#d3d0c9;line-height:1.9;margin-bottom:34px}.game-section{padding:68px 0;border-top:1px solid #ffffff18}.game-section-title{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:26px}.game-section-title h2{font-size:25px;letter-spacing:-.035em}.game-section-title>span{font-size:12px;color:#aaa}.game-cards{display:grid;grid-template-columns:1fr 1fr;gap:25px}.game-card{position:relative;overflow:hidden;border:1px solid #ffffff24;min-height:350px;border-radius:10px;padding:36px;color:#fff;text-decoration:none;background:#15161e}.game-card h3{font-size:38px;letter-spacing:-.055em;margin:85px 0 14px}.game-card p{font-size:14px;color:#c6c5ca;line-height:1.9;margin-bottom:24px}.game-card>strong{color:var(--accent);font-size:13px}.game-tag{font-size:10px;letter-spacing:.15em;font-weight:800;padding:8px 11px;border:1px solid #ffffff35;border-radius:30px}.rhythm-card{background:radial-gradient(ellipse at 100% 0,#604421 0,transparent 65%),#17171d}.rhythm-card:hover{border-color:var(--accent)}.mini-lanes{position:absolute;display:flex;gap:18px;right:20px;top:20px;transform:rotate(25deg);opacity:.5}.mini-lanes i{display:block;background:linear-gradient(transparent,#f3c54855);width:26px;height:210px;border-bottom:9px solid #f3c548}.mini-lanes i:nth-child(even){height:130px}.member-names{position:absolute;right:22px;top:38px;font-size:30px;line-height:1.4;font-weight:900;color:#ffffff10}.game-back,.game-help-link{font-size:10px;font-weight:700;color:#c9c9cf;text-decoration:none;letter-spacing:.1em}.rhythm-top{padding-top:112px;display:flex;align-items:center;justify-content:space-between;margin-bottom:44px}.song-backdrop{position:fixed;inset:0;z-index:-2;background:linear-gradient(#090b1070,#090b10e0),var(--song-bg) center/cover;transition:background .5s}.game-page[data-screen=rhythm]{background:transparent}.game-page[data-screen=rhythm]:before{content:'';position:fixed;inset:0;z-index:-3;background:#090b10}#ambience{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:.65}.song-selection>.game-section-title h1{font-size:clamp(28px,3.5vw,48px);letter-spacing:-.045em}.selection-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:28px}.song-list{display:flex;flex-direction:column;gap:7px}.song-item{display:flex;align-items:center;gap:17px;width:100%;padding:10px 16px;min-height:72px;border:1px solid #ffffff14;border-radius:6px;text-align:left;background:#10131dcc;color:#fff;cursor:pointer;transition:border-color .2s,background .2s}.song-item[aria-pressed=true]{border-color:var(--accent);background:#202332ed;box-shadow:inset 3px 0 var(--accent)}.song-number{font-size:11px;color:#8e909b}.song-item img{width:50px;height:50px;object-fit:cover;border-radius:3px}.song-item strong{display:block;font-size:13px;letter-spacing:.025em}.song-item small{display:block;font-size:10px;color:#aeb0be;margin-top:6px;letter-spacing:.04em}.song-arrow{margin-left:auto;color:var(--accent)}.song-feature{position:relative;min-height:440px;overflow:hidden;border-radius:8px;border:1px solid #ffffff25}.song-feature>img{position:absolute;width:100%;height:100%;object-fit:cover;transition:opacity .3s}.song-feature-shade{position:absolute;inset:0;background:linear-gradient(0deg,#080b13 0%,#080b1360 55%,#080b1300)}.song-feature-copy{position:absolute;bottom:32px;left:32px;right:20px}.song-feature-copy h2{font-size:clamp(30px,3.1vw,48px);line-height:1.1;letter-spacing:-.04em;margin:15px 0 10px;max-width:430px}.song-feature-copy>p{font-size:11px;letter-spacing:.12em;color:#d0d0d8}.song-facts{display:flex;gap:20px;font-size:10px;color:#b9bac5;margin:22px 0}.game-setup{display:flex;align-items:end;gap:24px;margin-top:26px;padding:24px;border:1px solid #ffffff25;border-radius:6px;background:#11131cd9}.difficulty{display:flex;gap:6px;margin-top:10px}.difficulty button,.ranking-tabs button{padding:12px 17px;border:1px solid #ffffff30;background:#13151f;color:#aeb0bb;border-radius:4px;cursor:pointer;font-size:11px;font-weight:800}.difficulty small{margin-left:5px;font-weight:400}.difficulty button[aria-pressed=true],.ranking-tabs button[aria-pressed=true]{color:#111;background:var(--accent);border-color:var(--accent)}.game-setting{display:flex;flex-direction:column;gap:12px;font-size:11px;color:#bec0cd}.game-setting select,.game-setting input{border:1px solid #ffffff30;background:#171b28;color:#fff;padding:10px;border-radius:4px;max-width:104px;height:40px}.game-setting input{width:70px}.game-setup>.primary{margin-left:auto;min-width:180px}.game-status{font-size:12px;color:#c3c4cb;min-height:24px;line-height:1.7;margin:15px 0 40px}.game-status.error{color:#ffa2b7}.play-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.play-head h2{font-size:24px;margin-top:8px}.play-layout{display:grid;grid-template-columns:1fr minmax(300px,550px) 1fr;gap:30px;align-items:center}.play-side{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.play-side>strong{font-size:38px;font-variant-numeric:tabular-nums;letter-spacing:-.04em;margin-bottom:20px}.play-side p{font-size:12px;line-height:2;color:#b4b6c5}.highway-wrap{position:relative;border:1px solid #ffffff45;box-shadow:0 0 70px #0008;border-radius:10px;overflow:hidden;background:#070a12d9}#highway{display:block;width:100%;height:min(62vh,620px);min-height:320px}.lane-buttons{display:grid;grid-template-columns:repeat(6,1fr);gap:2px;padding:3px;background:#070911}.lane-buttons button{height:54px;background:linear-gradient(#252937,#131720);border:1px solid #ffffff24;border-bottom:3px solid var(--accent);border-radius:3px;color:white;font-weight:900;font-size:18px;touch-action:none;user-select:none}.lane-buttons button.is-down{background:var(--accent);color:#111}.judgment{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;pointer-events:none;opacity:0;z-index:2}.judgment.pop{animation:judgment-pop .48s ease-out forwards}.judgment strong{font-size:27px;font-weight:1000;font-style:italic;letter-spacing:.03em;color:#ffe690;text-shadow:0 2px 5px #000}.judgment[data-grade=great] strong{color:#9bffdf}.judgment[data-grade=good] strong{color:#a4d9ff}.judgment[data-grade=bad] strong,.judgment[data-grade=miss] strong{color:#c6b8ff}.reaction-sprite{width:94px;height:94px;background-image:url('/images/game/reactions.png');background-size:400% 500%;background-repeat:no-repeat;filter:drop-shadow(0 3px 3px #0008)}.countdown{position:absolute;top:35%;width:100%;text-align:center;color:#fff;font-size:68px;font-weight:900;pointer-events:none;text-shadow:0 0 25px var(--accent)}.pause-overlay{position:absolute;inset:0;background:#090d19f5;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;padding:25px;text-align:center;z-index:4}.pause-overlay h3{font-size:30px}.pause-overlay p{font-size:13px;color:#b3b7c9}.play-progress{height:4px;background:#ffffff25;margin-top:22px;border-radius:3px;overflow:hidden}.play-progress span{height:100%;display:block;background:var(--accent);width:0}.play-section>#playTime{text-align:center;margin:10px}.result-section{text-align:center;border:1px solid #ffffff25;border-radius:12px;background:#10131de8;padding:45px 24px}.result-section h2{font-size:32px;letter-spacing:-.035em;margin-top:20px}#resultGrade{font-size:76px;color:var(--accent);font-weight:1000;margin-top:18px}#resultScore{font-size:46px;font-variant-numeric:tabular-nums}.result-section p{color:#bfc1cf;font-size:13px;line-height:1.8;margin:15px auto}.result-counts{display:flex;flex-wrap:wrap;justify-content:center;gap:30px;margin:25px 0}.result-counts span{font-size:10px;color:#b4b9cc}.result-counts strong{display:block;font-size:24px;color:#fff;margin-top:8px}.result-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.ranking-section{margin-top:38px}.ranking-tabs{display:flex;gap:7px;margin-bottom:17px}.ranking-section>.game-muted{margin-bottom:22px}#rankingRows{border-top:1px solid #ffffff22}.rank-row{display:grid;grid-template-columns:55px 1fr 150px 110px;gap:16px;align-items:center;padding:18px;border-bottom:1px solid #ffffff15;font-size:12px;background:#0c1019c9}.rank-row.me{background:#f3c54815}.rank-row strong{font-variant-numeric:tabular-nums;font-size:16px}.rank-row small{color:#aaa}.rank-empty{padding:45px;text-align:center;font-size:13px;color:#b9bbca;background:#10131cb0}.help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.help-grid article>span{font-size:10px;color:var(--accent);letter-spacing:.12em}.help-grid h3{font-size:18px;margin:17px 0}.help-grid p,.game-help details p{font-size:12px;line-height:1.95;color:#b5b6c1}.help-keys{display:flex;align-items:center;gap:5px;margin:18px 0}.help-keys kbd{display:grid;place-items:center;width:32px;height:35px;border:1px solid #ffffff40;border-bottom:3px solid var(--accent);border-radius:3px;font-family:inherit;font-size:14px}.help-keys i{width:10px}.game-help details{border-top:1px solid #ffffff22;padding:20px 0;margin-top:25px}.game-help summary{cursor:pointer;font-size:13px}.game-help details p{padding-top:15px}.game-help details+details{margin-top:0}.game-auth{margin-left:auto;margin-right:24px;position:relative;z-index:35}.game-auth>a,.game-auth button{color:#f3c548;font-size:11px;text-decoration:none;border:1px solid #f3c54870;background:#1119;border-radius:4px;padding:10px 14px;white-space:nowrap;cursor:pointer}.game-auth form{display:inline}.game-auth .player-label{font-size:10px;color:#bbb;margin-right:12px}.header-social{margin-left:0!important}.music-game-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid #f3c54880!important;border-radius:4px;padding:10px 13px;color:#f3c548!important;font-size:11px!important;font-weight:700;white-space:nowrap;text-decoration:none}.track-actions{flex-wrap:wrap}.track-main-game{margin:20px 0;gap:12px}.auth-page{padding:175px 24px 100px;text-align:center;min-height:70vh}.auth-page h1{font-size:42px;letter-spacing:-.04em}.auth-page p{margin:25px 0;color:#aaa;font-size:14px}.auth-google{display:flex;justify-content:center;margin:30px auto}.auth-page>a{font-size:13px;color:#f3c548}.auth-error{color:#ffa2b7!important}.is-rhythm-playing .vona-header{display:none}.is-rhythm-playing .rhythm-top{padding-top:22px;margin-bottom:20px}.is-rhythm-playing .game-help,.is-rhythm-playing .ranking-section,.is-rhythm-playing .vona-footer{display:none}.is-rhythm-playing .play-section{padding-top:0}@keyframes judgment-pop{0%{opacity:1;transform:translate(-50%,-50%) scale(.85)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}70%{opacity:1}100%{opacity:0;transform:translate(-50%,-58%) scale(1)}}@media(min-width:1100px){.gnb{gap:28px}}@media(max-width:1100px){.game-setup{flex-wrap:wrap}.game-setup>.primary{margin-left:0}.play-layout{grid-template-columns:1fr minmax(300px,500px) 1fr;gap:12px}.play-side>strong{font-size:26px}.game-auth .player-label{display:none}}@media(max-width:760px){.game-wrap{width:calc(100% - 32px)}.game-hub-hero{padding:140px 0 70px;min-height:580px;background-position:62% center}.game-cards,.selection-layout,.help-grid{grid-template-columns:1fr}.game-card{padding:26px;min-height:310px}.game-section{padding:40px 0}.game-section-title{align-items:start;flex-direction:column;gap:12px}.rhythm-top{padding-top:100px;gap:12px;margin-bottom:26px}.rhythm-top>.game-kicker{display:none}.song-feature{min-height:350px;grid-row:1}.song-feature-copy{left:24px;bottom:24px}.song-item{min-height:64px;padding:7px 10px}.song-item img{width:42px;height:42px}.game-setup{padding:18px;gap:20px}.game-setup>div:first-child{width:100%}.difficulty button{padding:12px}.game-setup>.primary{width:100%}.play-layout{display:flex;flex-direction:column;gap:12px}.play-side{flex-direction:row;justify-content:space-between;width:100%;gap:5px}.play-side>strong{font-size:21px;margin:0}.play-side .game-label{font-size:9px}.play-side p{display:none}.play-side.right{order:2}.highway-wrap{width:100%;max-width:550px}#highway{height:52vh;min-height:270px}.play-head h2{font-size:19px}.play-head .game-button{min-height:38px;padding:8px 12px}.rank-row{grid-template-columns:25px 1fr 85px;gap:10px;padding:15px 8px}.rank-row>small:last-child{display:none}.rank-row strong{font-size:14px}.game-auth{margin-right:18px}.game-auth>a,.game-auth button{font-size:10px;padding:8px 10px}.reaction-sprite{width:76px;height:76px}.judgment strong{font-size:23px}.lane-buttons button{height:44px}.track-actions .music-game-link{padding:7px;font-size:10px!important}.game-status{margin-bottom:20px}.result-section h2{font-size:26px}}@media(prefers-reduced-motion:reduce){.judgment.pop{animation:none;opacity:1}.song-backdrop{transition:none}#ambience{opacity:.3}}

.sound-page .track-main .music-game-link{background:#161616;color:#f3c548!important;padding:7px 10px;margin-top:9px;font-size:10px!important;line-height:1.4;white-space:normal}.sound-page .track-row{min-height:125px}.sound-hero-actions{flex-wrap:wrap}
/* Keep the auth action beside the mobile menu; only the auth group absorbs free space. */
@media(max-width:768px){.vona-header .game-auth{margin-left:auto;margin-right:8px}.vona-header .mobile-menu-button{margin-left:0;flex:0 0 44px}}
