/* Mechanic: a four-lane performance instrument. The lane signal dominates. */
:root { --accent:#e6bd82; --cyan:#b9d4ce; --radius:3px; }
.screen,.menu-screen { background:var(--t-bg); }
.sidebar,.menu-sidebar { background:transparent; border-right:1px solid var(--t-line); }
.btn,.nav-btn,.difficulty-btn,.chart-btn { border-radius:2px; box-shadow:none; }
.btn.primary { background:#e6bd82; border-color:#e6bd82; color:#1d1b17; }
.continue-stage { min-height:260px; border:0; border-radius:0; box-shadow:none; background:transparent; border-bottom:1px solid var(--t-line); padding-bottom:28px; }
.hero-art { border-radius:0; box-shadow:none; min-height:230px; }
.hero-art::after,.cover::after { box-shadow:none; }
.continue-copy h2 { font-size:clamp(28px,4vw,44px); line-height:1.1; letter-spacing:-.045em; }
.signal-label { font-size:10px; letter-spacing:.12em; }
.signal-line { height:1px; background:var(--t-line); }
.hero-meta { gap:24px; }
.hero-meta small { font-size:9px; }
.collections { gap:24px; }
.collection,.library-pane,.selected-panel { background:transparent; border-radius:0; box-shadow:none; }
.collection-title small { display:none; }
.shelf-card,.song-row,.track-card { border-radius:2px; box-shadow:none; }
.view-heading h1 { font-size:32px; line-height:1.15; letter-spacing:-.04em; }
.view-heading p { font-size:12px; max-width:270px; }
.selected-panel { border-left:1px solid var(--t-line); padding-left:24px; }
.cover { border-radius:0; }
.library-filters button,.score-tabs button { border-radius:2px; }
.play-hud,.hud { box-shadow:none; backdrop-filter:none; }
.settings-card,.setting-section { border-radius:2px; box-shadow:none; }
@media(max-width:760px){.continue-stage{min-height:0;padding-bottom:20px;gap:16px}.hero-art{min-height:145px}.continue-copy h2{font-size:28px}.hero-meta{gap:13px}.hero-meta small{font-size:8px}.view-heading h1{font-size:25px}.view-heading p{font-size:11px}.selected-panel{border-left:0;border-top:1px solid var(--t-line);padding-left:0;padding-top:20px}.btn{min-height:42px}}

/* Select a chart, not a product. The four timing lanes are the single motif. */
body::before,body::after,.signal-line::after,.continue-stage::before{display:none}
.global-header{background:var(--bg);backdrop-filter:none;height:60px;grid-template-columns:1fr auto 1fr}
.wordmark small,.header-status{display:none}.wordmark{font-size:16px;letter-spacing:-.03em}.brand-nav{gap:20px}.games-home-link{font:11px var(--cab-sans);letter-spacing:0}
.app-shell{width:min(1260px,calc(100% - 48px))}.menu-main{padding:25px 0 40px}
.view-heading{margin-bottom:24px}.view-heading h1{font:500 28px/1.12 var(--cab-sans);letter-spacing:-.045em}.view-heading>.signal-label{display:none}
.library-grid{grid-template-columns:minmax(0,1fr) 300px;gap:28px}.library-toolbar{grid-template-columns:minmax(0,1fr) 125px}
.library-caption{grid-template-columns:1fr 100px 88px 28px;padding-left:48px}
.song-card{grid-template-columns:30px minmax(110px,1fr) 100px 88px 28px;padding:10px 4px;gap:10px;min-height:65px;border-radius:0}
.song-card .row-art{width:28px;height:35px;border:0}.song-copy b{font-size:13px}.song-copy small{font-size:10px}.song-card.selected{transform:none;background:var(--surface-2);border-color:var(--line);border-left:2px solid var(--text)}
.song-card.selected:before{display:none}.song-diffs i{border-radius:1px;width:25px;height:25px}.song-grade{font:18px var(--cab-mono)}
.song-card.licensed .song-copy:after,.song-card.audio-ready .song-copy:after{display:none}.song-tech{font-size:10px;grid-template-columns:1fr}.song-tech span:last-child{display:none}
.selected-panel{padding-left:22px}.selected-panel .cover{aspect-ratio:auto;height:175px;min-height:0;max-height:none;margin-bottom:18px;background:var(--surface-2)!important;border:0;border-bottom:1px solid var(--line)}
.selected-panel .cover::before,.selected-panel .cover::after{display:none}.cover .cover-index{font-size:8px;left:10px;top:9px;z-index:2;color:var(--muted);text-shadow:none!important}.cover.no-art .cover-index:after{display:none}
.cover .cover-bpm{font:28px var(--cab-mono);color:var(--text);bottom:9px;right:10px;z-index:2;text-shadow:none!important}.cover-bpm small{font-size:8px}.cover.no-art .cover-bpm small{color:var(--muted)}.bpm-dot{display:none}
.cabinet-lanes{position:absolute;inset:28px 18px 48px;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:2px solid var(--text)}
.cabinet-lanes>i{border-left:1px solid var(--line);position:relative}.cabinet-lanes>i:last-child{border-right:1px solid var(--line)}.cabinet-lanes b{position:absolute;left:18%;right:18%;top:18%;height:4px;background:var(--text)}.cabinet-lanes b+b{top:73%}.cabinet-lanes i:nth-child(2) b{top:46%}.cabinet-lanes i:nth-child(3) b{top:5%}.cabinet-lanes i:nth-child(3) b+b{top:62%;height:18px;background:var(--accent)}.cabinet-lanes i:nth-child(4) b{top:81%}
.selected-meta{margin:15px 0;font-size:12px}.selected-meta div{padding:9px 0}.selected-meta b{font-size:12px}.selected-meta span{font-size:8px}.now-title{font-size:23px}.now-artist{font-size:12px}.detail-section{padding:13px 0}.diff-row{gap:6px}.diff{min-height:55px;border-radius:2px}.diff.selected .diff-level{color:color-mix(in srgb, var(--songAccent, var(--accent)) 42%, var(--text))}.best-strip{gap:12px}.keys{gap:6px}.kbd{height:32px;border-radius:2px}.menu-actions{gap:7px}.menu-actions .btn{height:40px;padding:0 11px;font-size:11px}.source-link{font-size:9px}
.sort-control select option{background:var(--bg);color:var(--text)}.library-filter.active,.score-tabs button.active{background:var(--text);color:var(--bg)}
#game.screen{background:#101213}.playfield{box-shadow:none}.start-card,.settings-shell,.results-shell,.pause-modal{border-radius:3px;box-shadow:none}.icon-btn,.favorite-btn{border-radius:2px}
@media(max-width:960px){.library-grid{grid-template-columns:minmax(0,1fr) 260px;gap:18px}.song-card{grid-template-columns:minmax(90px,1fr) 78px;gap:8px}.song-card .row-art,.song-tech,.song-grade{display:none}.library-caption{display:none}.song-diffs i{width:22px}.library-filters{gap:4px}.library-filter{padding:0 7px}}
@media(max-width:680px){
 .app-shell{width:calc(100% - 28px)}.global-header{height:auto;min-height:84px;grid-template-columns:1fr auto;row-gap:5px;padding-block:10px}.brand-nav{gap:12px}.brand-nav .games-home-link{font-size:10px}.wordmark{font-size:14px;gap:7px}.wordmark-mark{width:16px}.header-actions{gap:5px}.header-actions .icon-btn{font-size:9px;min-height:34px;min-width:0;height:34px;padding:0 7px}.global-nav{grid-row:2;grid-column:1/-1;justify-content:center;height:32px}.nav-btn{font-size:12px;padding:0 17px}
 .menu-main{padding-top:17px}.view-heading{gap:7px;margin-bottom:14px}.view-heading h1{font-size:24px}.view-heading p{font-size:11px;max-width:34ch}.view-heading .signal-label{font-size:8px}
 .library-grid{display:flex;flex-direction:column;gap:20px}.library-pane,.selected-panel{width:100%;min-width:0}.library-toolbar{grid-template-columns:minmax(0,1fr) 100px;gap:12px}.sort-control{font-size:8px}.sort-control select{font-size:10px}.song-card{grid-template-columns:minmax(0,1fr) 80px;min-height:55px;padding:9px 5px}.song-copy b{font-size:13px}.song-copy small{font-size:10px}.song-diffs i{width:23px}
 .selected-panel{padding:17px 0 0;border-left:0;border-top:1px solid var(--line)}.selected-panel .cover{height:100px;width:100%;margin-bottom:14px}.cabinet-lanes{inset:20px 85px 16px 50px}.cover .cover-bpm{bottom:14px;font-size:24px}.cover .cover-index{font-size:7px}.selected-meta{grid-template-columns:repeat(3,1fr)}.menu-actions .btn{flex:1;min-height:44px}.credits{display:none}
 .playfield-wrap{width:100vw;max-width:100vw}.performance-stage{padding-inline:0}.top-hud{padding-inline:12px}.score-hud{font-size:21px}
}
@media(max-width:680px){
 .song-list{max-height:31svh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
 .selected-panel{display:flex;flex-direction:column;gap:0}.selected-panel .cover,.selected-panel .selected-meta{display:none}
 .selected-panel>.detail-section:has(.best-strip),.selected-panel>.detail-section:has(.keys){display:none}
 .selected-panel .detail-section{padding:9px 0}.selected-panel .detail-section-head{margin-bottom:7px}.selected-panel .diff{min-height:47px}
 .selected-panel .menu-actions{margin-top:8px}.selected-panel .source-link{font-size:9px;line-height:1.4}
}

@media(max-width:900px){.global-nav .nav-btn:not([data-view="scores"]){display:inline-flex;align-items:center}.global-nav .nav-btn[data-view="scores"]{border:0;border-radius:0;font:inherit;height:auto;letter-spacing:0}.global-nav .nav-btn{font-size:12px;min-height:32px}}
