:root{--bg:#16181d;--panel:#1f232b;--line:#2e3440;--text:#e8eaee;--muted:#8b93a3;--accent:#f0a530;--accent-dim:#4a3a1d;--ok:#4caf7a;--ng:#e5534b;--paper:#fbfaf6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,sans-serif;font-size:17px;line-height:1.5}*{box-sizing:border-box}body{background:var(--bg);margin:0}a{color:var(--accent);text-decoration:none}h1,h2{margin:0;font-weight:600}.muted{color:var(--muted)}[hidden]{display:none!important}.tag{border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:.8rem;display:inline-block}.btn{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;padding:8px 14px}.btn:hover{border-color:var(--muted)}.btn:disabled{opacity:.4;cursor:default}.btn.ghost{background:0 0;border-color:#0000;font-size:1.2rem}.btn.ghost:hover{background:var(--panel)}.btn.small{padding:6px 10px;font-size:.9rem}.btn.toggle{color:var(--muted)}.btn.toggle.is-on{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.list-header{align-items:baseline;gap:16px;max-width:760px;margin:0 auto;padding:28px 16px 8px;display:flex}.list{max-width:760px;margin:0 auto;padding:0 16px 24px}.group h2{letter-spacing:.08em;color:var(--muted);margin:24px 0 8px;font-size:.85rem}.ex-row{color:var(--text);background:var(--panel);border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;padding:12px 16px;display:flex}.ex-row:hover{border-color:var(--line)}.ex-row.is-last{border-color:var(--accent)}.ex-meta{flex-shrink:0;gap:6px;display:flex}.list-footer{max-width:760px;margin:0 auto;padding:8px 16px 40px;font-size:.85rem}.practice{flex-direction:column;height:100dvh;display:flex}.px-header{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:10px 12px;display:flex}.px-title{text-align:center;flex:1;min-width:0}.px-title h1{text-overflow:ellipsis;white-space:nowrap;font-size:1.35rem;overflow:hidden}.px-meta{justify-content:center;align-items:center;gap:8px;font-size:.85rem;display:flex}.px-body{flex:1;min-height:0;display:flex}.score-wrap{background:var(--paper);flex:1;min-width:0;position:relative;overflow:auto}.tips{border-left:1px solid var(--line);flex-shrink:0;width:300px;padding:16px 20px;font-size:.95rem;overflow:auto}.tips h2{color:var(--muted);margin-bottom:8px;font-size:.85rem}.tips ul{margin:0;padding-left:1.1em}.tips li{margin-bottom:10px}@media (width<=900px){.px-body{flex-direction:column}.tips{border-left:none;border-top:1px solid var(--line);width:auto;max-height:30vh}}.px-controls{border-top:1px solid var(--line);background:var(--panel);flex-wrap:wrap;align-items:center;gap:12px 20px;padding:12px 16px;display:flex}.btn.play{background:var(--accent);border-color:var(--accent);color:#1b1405;border-radius:50%;width:64px;height:64px;font-size:1.6rem}.btn.play.is-playing{background:var(--text);border-color:var(--text)}.bpm{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.bpm-value{flex-direction:column;align-items:center;min-width:72px;line-height:1;display:flex}.bpm-num{font-variant-numeric:tabular-nums;font-size:2.2rem;font-weight:700}.bpm-label{color:var(--muted);letter-spacing:.1em;font-size:.7rem}.bpm-slider{width:180px;accent-color:var(--accent);margin-left:8px}.bpm-range{font-size:.8rem}.toggles{flex-wrap:wrap;gap:6px;display:flex}.status{margin-left:auto;font-size:.85rem}.at-cursor-bar{background:#f0a5301f}.at-selection div{background:#f0a53033}.at-cursor-beat{background:#d67800d9;width:3px}.at-highlight *{fill:#d67800;stroke:#d67800}.check-summary{max-width:960px;margin:0 auto;padding:0 16px}.check-summary.is-ng{color:var(--ng)}.check{max-width:960px;margin:0 auto;padding:8px 16px 40px}.check-item{margin-bottom:20px}.check-item h2{margin-bottom:6px;font-size:1rem}.check-item .result{color:var(--ok);font-size:.85rem}.check-item.is-ng .result{color:var(--ng)}.check-item .score{background:var(--paper);border-radius:8px;overflow:hidden}
