.picker-view{flex:1;min-height:0;overflow:auto;padding:22px clamp(12px,3vw,42px)}.picker-view[hidden],.player-view[hidden]{display:none}.picker-sheet{display:flex;flex-direction:column;gap:14px;width:min(1100px,100%);min-height:100%;margin:0 auto;padding:clamp(16px,3vw,30px);border:1px solid var(--line);border-top:5px solid var(--coral);background:var(--paper);box-shadow:0 10px 30px #172f2a14}.picker-sheet h2{margin:0;font-family:Georgia,serif;font-size:clamp(1.4rem,3vw,2rem)}.picker-intro{max-width:62ch;margin:0;color:var(--muted);font-size:1rem}.picker-tabs{display:flex;flex-wrap:wrap;gap:6px;border-bottom:2px solid var(--line)}.picker-tabs button{display:inline-flex;min-height:48px;align-items:center;gap:8px;margin-bottom:-2px;padding:8px 14px;border:0;border-bottom:4px solid transparent;color:var(--muted);background:none;font-size:.95rem;font-weight:700}.picker-tabs button:hover{color:var(--green)}.picker-tabs button[aria-selected=true]{border-bottom-color:var(--gold);color:var(--green)}.picker-panel[hidden]{display:none}.song-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:0;padding:0;list-style:none}.song-card{display:flex;width:100%;min-height:118px;flex-direction:column;align-items:flex-start;gap:8px;padding:14px;border:1px solid #9aada4;border-bottom-width:4px;border-radius:8px;color:var(--ink);background:#f0f5ef;text-align:left}.song-card:hover{border-color:var(--green);background:#e6efe8}.song-card:active{border-bottom-width:1px;translate:0 3px}.song-card-title{font-family:Georgia,serif;font-size:1.15rem;font-weight:700;line-height:1.2}.song-card-meta{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.8rem;font-weight:700}.level-stars{color:#8a6410;font-size:1rem;letter-spacing:1px}.color-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:auto}.color-badge{display:grid;min-width:30px;height:26px;place-items:center;padding:0 5px;border:1px solid rgb(23 47 42 / 35%);border-radius:6px;background:var(--badge-color, #ccc);font-size:.74rem;font-weight:800}.color-badge.ink-dark{color:#172f2a}.color-badge.ink-light{color:#fffefa}.saved-song{display:flex;flex-direction:column;gap:4px}.saved-song .song-card{min-height:92px}.saved-song-actions{display:flex;gap:6px}.text-button{min-height:44px;padding:6px 10px;border:1px solid var(--line);border-radius:4px;color:var(--green);background:none;font-size:.8rem;font-weight:700}.text-button.danger{color:var(--coral)}.saved-list .songs-empty{grid-column:1 / -1}.open-panel{display:flex;max-width:640px;flex-direction:column;align-items:flex-start;gap:14px}.open-panel[hidden]{display:none}.open-panel>p{margin:0;color:var(--muted)}.link-form{display:flex;width:100%;flex-direction:column;gap:6px}.link-form label{font-size:.85rem;font-weight:700}.link-row{display:flex;flex-wrap:wrap;gap:8px}.link-row input{min-width:0;min-height:48px;flex:1 1 240px;padding:8px 10px;border:1px solid #9aada4;border-radius:4px;color:var(--ink);background:#fff}.primary-button{display:inline-flex;min-height:48px;align-items:center;gap:8px;padding:8px 16px;border:1px solid #e7b644;border-radius:6px;color:#1c3e36;background:#e7b644;font-weight:800}.primary-button:hover{background:#f2ca65}.open-panel .file-import-button{min-height:48px;gap:8px;padding:8px 14px;font-size:.9rem}.file-import-button .lucide,.colorscore-link .lucide,.picker-tabs .lucide{width:20px;height:20px;flex:0 0 20px}.colorscore-link{display:inline-flex;min-height:44px;align-items:center;gap:8px;color:var(--green-light);font-weight:700}.player-view{position:relative;display:flex;min-height:0;flex:1;flex-direction:column;color:#f6f7ed;background:#0d1a17}.is-playing>.app-header{display:none}.player-bar{z-index:3;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:8px clamp(8px,2vw,20px);border-bottom:4px solid var(--gold);background:var(--green);transition:opacity .4s ease}.player-view.is-idle .player-bar{opacity:0}.player-view.is-idle{cursor:none}.player-bar button{display:inline-flex;min-width:48px;min-height:48px;align-items:center;justify-content:center;gap:8px;padding:6px 10px;border:1px solid rgb(255 255 255 / 35%);border-radius:8px;color:#f6f7ed;background:#ffffff14;font-weight:800}.player-bar button:hover{background:#ffffff2e}.player-bar button[aria-pressed=true],.player-bar #guideButton[data-guide=on]{border-color:var(--gold);color:#1c3e36;background:var(--gold)}.player-bar #guideButton[data-guide=soft]{border-color:var(--gold);color:var(--gold)}.player-bar .play-button{min-width:120px;border-color:#e7b644;color:#1c3e36;background:#e7b644;font-size:1.05rem}.player-bar .play-button:hover{background:#f2ca65}.player-bar button[hidden]{display:none}.song-title{min-width:0;flex:1 1 140px;margin:0;overflow:hidden;font-family:Georgia,serif;font-size:clamp(1rem,2.2vw,1.5rem);text-overflow:ellipsis;white-space:nowrap}.transport{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.tempo-control{display:flex;min-height:48px;align-items:center;gap:8px;padding:0 10px;border:1px solid rgb(255 255 255 / 35%);border-radius:8px;font-size:.8rem;font-weight:700}.tempo-control input{width:clamp(80px,12vw,160px);accent-color:var(--gold)}.tempo-control output{min-width:108px;font-variant-numeric:tabular-nums}.stage{position:relative;min-height:0;flex:1}.flow-canvas{position:absolute;inset:0;display:block;width:100%;height:100%}.count-in{position:absolute;inset:0 0 30%;display:grid;place-items:center;pointer-events:none}.count-in[hidden],.end-screen[hidden],.blackout[hidden]{display:none}.count-in output{color:#fffefa;font-size:clamp(6rem,28vh,16rem);font-weight:900;line-height:1;text-shadow:0 6px 0 rgb(0 0 0 / 45%)}.end-screen{position:absolute;inset:0;z-index:2;display:grid;place-items:center;padding:16px;background:#0d1a17c7}.end-card{width:min(520px,100%);padding:26px;border-top:6px solid var(--gold);border-radius:10px;color:var(--ink);background:var(--paper);text-align:center}.end-card h3{margin:0 0 8px;font-family:Georgia,serif;font-size:clamp(1.8rem,5vw,2.8rem)}.end-card p{margin:0 0 18px;color:var(--muted);font-size:1.1rem}.end-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.end-actions button{display:inline-flex;min-height:52px;align-items:center;gap:8px;padding:8px 18px;border-radius:6px;font-size:1rem;font-weight:800}.end-actions button:not(.primary-button){border:1px solid #9aada4;color:var(--green);background:#f0f5ef}.blackout{position:absolute;inset:0;z-index:4;display:grid;place-items:end center;padding:24px;background:#000}.blackout p{margin:0;color:#5d6b66;font-size:.9rem}@media(max-width:720px){.picker-view{padding:10px 8px}.player-bar .play-button{min-width:48px}.player-bar .play-button span,.back-button span{display:none}.tempo-control output{min-width:64px}}@media(prefers-reduced-motion:reduce){.player-bar{transition:none}}.setup-dialog{width:min(640px,calc(100vw - 24px))}.setup-section+.setup-section{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.setup-section h3{margin:0 0 8px;color:var(--green);font-size:1rem}.setup-hint{margin:6px 0 0;color:var(--muted);font-size:.85rem}.row-range,.preset-row,.latency-actions,.solo-list{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.row-range label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:700}.row-range select{min-width:88px;min-height:44px;padding:6px 8px;border:1px solid #9aada4;border-radius:4px;color:var(--ink);background:#fff;font:inherit}.app-dialog button[aria-pressed=true]{border-color:var(--green);color:#fffefa;background:var(--green)}.app-dialog button:disabled{cursor:default;opacity:.45}.check-row{display:flex;min-height:44px;align-items:center;gap:10px;margin-top:8px;font-size:.9rem}.check-row input{width:22px;height:22px;flex:0 0 22px;accent-color:var(--green)}.range-row{display:flex;min-height:44px;align-items:center;gap:10px;font-size:.9rem;font-weight:700}.range-row input{flex:1 1 160px;accent-color:var(--green)}.range-row output{min-width:72px;font-variant-numeric:tabular-nums}.app-dialog .solo-button{min-width:52px;height:44px;border:2px solid rgb(23 47 42 / 35%);background:var(--badge-color, #ccc);font-size:.95rem}.app-dialog .solo-button.ink-dark{color:#172f2a}.app-dialog .solo-button.ink-light{color:#fffefa}.app-dialog .solo-button[aria-pressed=true]{border-color:var(--ink);color:inherit;background:var(--badge-color, #ccc);outline:3px solid var(--gold);outline-offset:2px}.lane-setup-list{display:flex;flex-direction:column;gap:6px;margin:8px 0;padding:0;list-style:none}.lane-setup-item{display:flex;align-items:center;gap:6px}.lane-setup-item .color-badge{min-width:44px;height:36px;font-size:.9rem}.app-dialog .lane-move{display:grid;width:44px;place-items:center;padding:0}.lane-move .lucide{width:20px;height:20px}.lane-setup-item input{min-width:0;min-height:44px;flex:1 1 auto;padding:6px 10px;border:1px solid #9aada4;border-radius:4px;color:var(--ink);background:#fff}.latency-status{margin:8px 0;font-size:1.1rem;font-weight:800}.app-dialog .tap-button{min-width:140px;min-height:64px;border-color:#e7b644;color:#1c3e36;background:#e7b644;font-size:1.2rem}.app-dialog .tap-button:disabled{opacity:.35}
