/* Layout support for the expanded game; colors and identity come from the original theme. */
:root{color-scheme:dark;--accent:var(--red)}
[hidden]{display:none!important}button:disabled,input:disabled,select:disabled{opacity:.45}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.two-col.equal{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-caption,.list-heading{display:flex;justify-content:space-between;gap:12px}.tiny-tag,.list-heading{font:10px monospace;color:var(--muted)}.text-btn{padding:0;border:0;background:transparent;color:var(--cyan);font-size:10px}.field>span{display:flex;justify-content:space-between}.wide{width:100%;margin-top:8px}
.library-layout{grid-template-columns:minmax(0,1fr) 350px;align-items:start}.song-list{min-width:0}.library-tools{grid-template-columns:minmax(120px,1fr) auto auto}.library-tools .file-button{white-space:nowrap}.song-card{display:grid;grid-template-columns:minmax(0,1fr) 145px;gap:6px 12px;min-height:76px}.song-card b,.song-card span{grid-column:1}.song-card small,.song-card em{grid-column:2;text-align:right;font:9px monospace}.song-card small{grid-row:1}.song-card em{grid-row:2;color:var(--muted)}.song-card span{margin:0}.import-note{display:flex;gap:16px;padding:22px 0}.import-mark{color:var(--cyan);font-size:28px}.import-note p,.privacy-note,.pattern-description{font-size:11px;line-height:1.7;color:var(--muted)}.import-note p{margin:8px 0}.import-note strong{color:var(--text)}.local-tools{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--line)}.chart-statline{padding:12px 0;border-block:1px solid var(--line);font:10px monospace;color:var(--cyan)}.detail-art.has-background{color:transparent;background-size:cover;background-position:center}
.settings-dialog{max-height:calc(100svh - 40px);overflow-y:auto}.editor-layout{grid-template-columns:290px minmax(0,1fr)}.editor-main{min-width:0}.editor-sidebar .primary{margin-top:15px}
.game-active .game-screen{height:100svh;min-height:100svh;isolation:isolate}.game-screen:before,.game-screen:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}.game-screen:before{background-image:var(--game-background,none);background-size:cover;background-position:center;opacity:0}.game-screen.has-background:before{opacity:1}.game-screen:after{background:rgba(0,0,0,var(--background-dim,.7))}.game-wrap{background:transparent;isolation:isolate}.game-active #gameCanvas,.game-active .lane-labels{width:min(var(--playfield-width,440px),100vw)}.game-active .lane-labels{bottom:calc(var(--hit-position,12%) - 36px)}.game-active.upscroll .lane-labels{top:calc(var(--hit-position,12%) + 14px);bottom:auto}.timing-meter{position:absolute;left:50%;transform:translateX(-50%);bottom:20px;pointer-events:none;width:260px}.timing-meter canvas{display:block;width:100%;height:25px}.timing-meter>span{display:flex;justify-content:space-between;font:8px monospace;color:var(--muted)}.timing-meter i{font-style:normal;color:var(--cyan)}.game-active.upscroll .timing-meter{bottom:auto;top:22px}.timing-result{border-top:1px solid var(--line);margin-top:20px;padding-top:14px;display:grid;gap:9px}.timing-result span{display:flex;justify-content:space-between;font:9px monospace;color:var(--muted)}.timing-result b{color:var(--cyan)}.judgement-report>div:nth-child(4) em{background:#8ba8d8}.judgement-report>div:nth-child(5) em{background:#d6ac79}.judgement-report>div:nth-child(6) em{background:var(--red)}
@media(max-width:1200px){.menu-screen{grid-template-columns:minmax(0,1fr) 300px;gap:30px;padding:40px 24px}.menu-rail{grid-template-columns:1fr;gap:28px}.menu-title h1{font-size:72px}.library-tools{grid-template-columns:1fr 1fr}.library-tools input[type=search]{grid-column:1/-1}}
@media(max-width:760px){.menu-screen,.library-layout,.editor-layout{grid-template-columns:1fr}.menu-screen{padding:30px 20px}.menu-title h1{font-size:64px}.now-panel{max-width:100%}.topbar{padding:0 12px}.brand{font-size:10px}.top-actions{gap:2px}.icon-btn{padding:8px;font-size:10px}.song-card{grid-template-columns:minmax(0,1fr) 100px}.song-card small,.song-card em{font-size:8px}.library-layout{padding:18px 14px}.game-active .song-meta{max-width:calc(100vw - 145px)}.game-active .lane-labels{display:none}.customize-layout{grid-template-columns:1fr}.editor-layout{padding:18px 14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001s!important;transition-duration:.001s!important}}
