:root{--bg:#f7f3ea;--surface:#fffdf8;--surface-2:#efe8d9;--ink:#1f2420;--ink-2:#5b625c;--line:#ddd3c0;--brand:#1f6b46;--brand-ink:#fff;--brand-soft:#dcefe3;--good:#1f8a52;--warn:#b7791f;--warn-ink:#8f5d0b;--bad:#c2410c;--dot:#1f2420;--sun:#f2c14e;--sun-ink:#3d2c05;--sun-soft:#fdf1d2;--sky:#6aa9d8;--sky-soft:#e2eff8;--coral-soft:#fbe3d8;--stage:#15201a;--stage-ink:#f3f1ea;--radius:14px;--shadow:0 1px 2px #0000000f, 0 4px 16px #0000000a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#141714;--surface:#1c201c;--surface-2:#252a25;--ink:#eef1ec;--ink-2:#a3aba2;--line:#333a33;--brand:#5cc28c;--brand-ink:#0d1f15;--brand-soft:#1f3b2b;--good:#5cc28c;--warn:#e0a84a;--warn-ink:#e0a84a;--bad:#f0835a;--dot:#eef1ec;--sun-soft:#3a3220;--sky-soft:#1f2f3d;--coral-soft:#3d2a22;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);margin:0}body{-webkit-tap-highlight-color:transparent;font:16px/1.45 ui-rounded,SF Pro Rounded,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input,select{font:inherit;color:inherit}h1{margin:0 0 12px;font-size:1.9rem;line-height:1.15}h2{margin:0;font-size:1.25rem}.app{flex-direction:column;min-height:100dvh;display:flex}.top{z-index:5;padding:10px 24px;padding-top:max(10px, env(safe-area-inset-top));background:var(--bg);border-bottom:1px solid var(--line);align-items:center;gap:24px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.01em;color:var(--brand);font-size:1.25rem;font-weight:800}.tabs{gap:4px;display:flex}.tab{color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:8px 14px;font-weight:600}.tab.on{background:var(--brand-soft);color:var(--ink)}.main{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:20px 24px 40px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.hint{color:var(--ink-2);margin:8px 0;font-size:.9rem}.error{color:var(--bad);font-weight:600}.empty{color:var(--ink-2);padding:12px 0;list-style:none}.primary{background:var(--brand);color:var(--brand-ink);cursor:pointer;border:0;border-radius:12px;min-height:44px;padding:12px 20px;font-weight:700}.primary.big{width:100%;padding:16px;font-size:1.1rem}.primary.rec{background:var(--bad);color:#fff}.chip{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;min-height:36px;padding:6px 12px;font-size:.9rem}.chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.fit-chips .chip.on{background:var(--brand-soft);color:var(--ink);border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);font-weight:700}.chip.danger{border-color:var(--bad);color:var(--bad)}.link{color:var(--brand);cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.tuner{flex-direction:column;gap:18px;max-width:560px;margin:0 auto;display:flex}.tuner-head{justify-content:space-between;align-items:center;display:flex}.tuner-head h1{margin:0}.toggle{color:var(--ink-2);align-items:center;gap:6px;font-size:.95rem;display:flex}.dial{text-align:center;padding:8px 0}.note{color:var(--ink-2);font-size:5.5rem;font-weight:800;line-height:1}.dial.in-tune .note{color:var(--good)}.dial.sharp .note,.dial.flat .note{color:var(--warn)}.gauge{padding:18px 8px 8px}.scale{border-bottom:2px solid var(--line);height:34px;position:relative}.scale span{background:var(--line);width:2px;height:12px;position:absolute;bottom:0;transform:translate(-1px)}.zone{background:var(--brand-soft);border-radius:6px 6px 0 0;width:10%;height:100%;position:absolute;bottom:0;left:45%}.needle{background:var(--ink);border-radius:2px;width:4px;height:34px;transition:left 80ms linear;position:absolute;bottom:0;transform:translate(-2px)}.dial.in-tune .needle{background:var(--good)}.cents{min-height:1.4em;color:var(--ink-2);font-variant-numeric:tabular-nums}.status{min-height:1.6em;font-size:1.25rem;font-weight:700}.dial.in-tune .status{color:var(--good)}.string-row{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.string{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;padding:12px 0;display:flex}.string b{font-size:1.5rem}.string small{color:var(--ink-2)}.string.on{border-color:var(--brand);background:var(--brand-soft)}.library{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:20px;display:grid}.search{border:1px solid var(--line);background:var(--bg);border-radius:12px;width:100%;padding:12px 14px}.chips{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.card{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:2px;width:100%;padding:10px 6px 6px;display:flex}.card.on{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.card-name{font-weight:700}.detail{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex;position:sticky;top:76px}.detail-head{flex-direction:column;align-items:center;display:flex}.notes{color:var(--ink-2);font-size:.95rem}.positions{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.easy{margin:0}.diagram .fret{stroke:var(--line);stroke-width:1px}.diagram .string-line{stroke:var(--ink-2);stroke-width:1px}.diagram .nut{fill:var(--ink)}.diagram .dot,.diagram .barre{fill:var(--dot)}.diagram .finger{fill:var(--bg);font-size:8px;font-weight:700}.diagram .open{fill:none;stroke:var(--ink);stroke-width:1.2px}.diagram .mark{fill:var(--ink);font-size:9px}.diagram .basefret,.diagram .slabel{fill:var(--ink-2);font-size:8px}.takes{max-width:760px;margin:0 auto}.recorder{flex-wrap:wrap;gap:10px;margin:12px 0;display:flex}.recorder input{border:1px solid var(--line);background:var(--bg);border-radius:12px;flex:220px;padding:12px 14px}.recorder select{border:1px solid var(--line);background:var(--bg);border-radius:12px;padding:10px 12px}.take-list{flex-direction:column;gap:10px;margin:16px 0 0;padding:0;list-style:none;display:flex}.take{border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.take-info{flex-direction:column;min-width:0;display:flex}.take-info small{color:var(--ink-2)}.take-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.take-actions audio{max-width:100%;height:36px}@media (width<=760px){.top{padding:10px 16px}.tabs{padding:6px 8px;padding-bottom:max(6px, env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);justify-content:space-around;position:fixed;bottom:0;left:0;right:0}.tab{flex:1;padding:12px 0}.main{padding:14px 16px 96px}.panel{padding:16px}.library{grid-template-columns:1fr}.detail{scroll-margin-top:70px;position:static}.grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr))}.note{font-size:4.5rem}}.tab{align-items:center;gap:6px;display:inline-flex}.tab svg{width:18px;height:18px}.brand{text-decoration:none}.h3{margin:0;font-size:1.05rem}.row{align-items:center;gap:10px;display:flex}.between{justify-content:space-between}.center{text-align:center;flex-direction:column;align-items:center;display:flex}.box{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;padding:16px}.big{background:var(--brand);width:100%;color:var(--brand-ink);cursor:pointer;border:0;border-radius:16px;min-height:52px;padding:16px;font-size:1.1rem;font-weight:800;transition:transform 80ms,box-shadow 80ms;box-shadow:0 4px #154d32}.big:active{transform:translateY(3px);box-shadow:0 1px #154d32}.big:disabled{opacity:.45;cursor:default}.big.sun{background:var(--sun);color:var(--sun-ink);box-shadow:0 4px #c49522}.ghost{border:1.5px solid var(--line);background:var(--surface);cursor:pointer;color:var(--ink);border-radius:14px;justify-content:center;align-items:center;min-height:44px;padding:12px 14px;font-weight:700;text-decoration:none;display:inline-flex}.ghost.small{min-height:36px;padding:6px 12px}.ghost.danger{color:var(--bad);border-color:var(--bad)}.pill{background:var(--surface-2);color:var(--ink);cursor:pointer;border:0;border-radius:999px;min-height:38px;padding:8px 14px;font-weight:700}.pill.on{background:var(--ink);color:var(--bg)}.stack{flex-direction:column;gap:10px;margin-top:16px;display:flex}.field{border:1px solid var(--line);background:var(--bg);border-radius:12px;width:100%;margin-bottom:10px;padding:12px 14px}.tag{border-radius:8px;align-self:flex-start;margin-top:4px;padding:3px 8px;font-size:12px;font-weight:700;display:inline-block}.tag.weak{background:var(--sun-soft);color:#8a6411}.tag.new{background:var(--sky-soft);color:#2e6a99}.tag.mine{background:var(--coral-soft);color:#a24a2a}.say{align-items:flex-end;gap:10px;margin:8px 0;display:flex}.bubble{background:var(--surface-2);border-radius:18px 18px 18px 4px;padding:10px 14px;font-weight:600}.kiki .eye{transform-origin:50%;transform-box:fill-box;animation:4s infinite blink}@keyframes blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}.bounce{animation:1.2s ease-in-out infinite bounce}@keyframes bounce{50%{transform:translateY(-6px)rotate(-3deg)}}@media (prefers-reduced-motion:reduce){.bounce,.kiki .eye{animation:none}}.two-col{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.col-main{flex-direction:column;gap:14px;display:flex}.col-side{flex-direction:column;gap:10px;display:flex}.hello{justify-content:space-between;align-items:center;display:flex}.hello h1{margin:0;font-size:1.8rem}.hello .hint{margin:0}.week{gap:8px;margin-top:10px;display:flex}.week span{text-align:center;color:var(--ink-2);flex:1;font-size:11px;font-weight:700}.week i{background:var(--surface-2);border-radius:10px;height:30px;margin-bottom:4px;display:block}.week i.done{background:#2f8f5f}.week i.today{background:var(--sun)}.mission{color:#fff;background:linear-gradient(160deg,#24774f,#1a5a3c);border:0}.mission .mhint{color:#cfe7d9;font-size:.9rem}.steps{margin:12px 0 16px;padding:0;list-style:none}.steps li{border-top:1px solid #ffffff24;align-items:center;gap:12px;padding:10px 0;display:flex}.steps li:first-child{border-top:0}.steps .n{background:#ffffff29;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:13px;font-weight:800;display:grid}.steps b{display:block}.steps span{color:#cfe7d9;font-size:.88rem}.footer-links a{color:var(--ink-2)}.seg-tabs{gap:6px;margin:4px 0 12px;display:flex}.song-list{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.song-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;align-items:stretch;display:flex;overflow:hidden}.song-main{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:12px;min-width:0;padding:10px 12px;display:flex}.song-main:hover{background:var(--surface-2)}.cover{color:#fff;border-radius:14px;flex:none;place-items:center;width:56px;height:56px;font-size:22px;font-weight:900;display:grid;overflow:hidden}.cover img{object-fit:cover;width:100%;height:100%;display:block}.meta{flex-direction:column;flex:1;min-width:0;display:flex}.meta .artist{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;margin-top:-1px;font-size:.85rem;overflow:hidden}.meta .hint{margin:0;font-size:.85rem}.dots{gap:3px;display:inline-flex}.dots i{background:var(--line);border-radius:50%;width:7px;height:7px}.dots i.f{background:#2f8f5f}.info{border:0;border-left:1px solid var(--line);width:48px;color:var(--ink-2);cursor:pointer;background:0 0;font-family:Georgia,serif;font-size:1.1rem;font-style:italic;font-weight:800}.sheet-backdrop{z-index:20;background:#00000059;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-panel{background:var(--surface);width:min(560px,100%);padding:22px 20px calc(22px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;flex-direction:column;gap:12px;display:flex}.sheet-panel h2{margin:0}.mini-chords{flex-wrap:wrap;gap:10px;display:flex}.mini{flex-direction:column;align-items:center;display:flex}@media (width>=900px){.song-list{grid-template-columns:1fr 1fr;display:grid}}.paste{flex-direction:column;gap:10px;max-width:760px;margin:0 auto;display:flex}.paste .ghost.small{align-self:flex-start}.sheet{border:1.5px solid var(--line);background:var(--bg);resize:vertical;border-radius:14px;width:100%;min-height:200px;padding:12px;font:14px/1.4 ui-monospace,Menlo,monospace}.preview{border:1px dashed var(--line);border-radius:14px;padding:10px 14px}.lyric{text-wrap:balance;margin:0;font-weight:800;line-height:1.15}.lyric .w{vertical-align:bottom;white-space:pre-wrap;flex-direction:column;display:inline-flex}.lyric .c{color:var(--brand);min-height:1.2em;font-size:.7em;font-weight:900}.small-lyric{padding:4px 0;font-size:1rem}.app.focus .main{max-width:none;padding:0}.play{background:var(--stage);color:var(--stage-ink);padding:max(10px, env(safe-area-inset-top)) 16px max(12px, env(safe-area-inset-bottom));-webkit-user-select:none;user-select:none;flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.play-top{align-items:center;gap:10px;display:flex}.play .icon{color:#fff;cursor:pointer;background:#ffffff1a;border:0;border-radius:12px;width:44px;height:44px;font-size:1.1rem;font-weight:800}.play .progress{background:#ffffff1f;border-radius:3px;flex:1;height:6px;overflow:hidden}.play .progress i{background:var(--sun);height:100%;display:block}.play .pills{gap:6px;display:flex}.play .pill{color:var(--stage-ink);background:#ffffff1a}.play .pill:disabled{opacity:.7;cursor:default}.stage-grid{flex:1;grid-template-rows:auto 1fr;gap:10px;min-height:0;padding-top:10px;display:grid}.chord-zone{border-radius:26px;justify-content:center;align-items:center;gap:24px;padding:10px;transition:box-shadow .25s;display:flex}.chord-zone.clean{box-shadow:inset 0 0 0 3px #3ccf86,0 0 40px #3ccf8640}.chord-zone.close{box-shadow:inset 0 0 0 3px var(--sun), 0 0 40px #f2c14e40}.now{flex-direction:column;align-items:center;display:flex}.now-name{font-size:clamp(48px,9vh,88px);font-weight:900;line-height:1}.now .diagram{width:auto;height:clamp(150px,30vh,320px)}.play .diagram .fret{stroke:#ffffff40}.play .diagram .string-line{stroke:#ffffff8c}.play .diagram .nut,.play .diagram .dot,.play .diagram .barre{fill:var(--stage-ink)}.play .diagram .open{stroke:var(--stage-ink)}.play .diagram .finger{fill:var(--stage)}.play .diagram .slabel,.play .diagram .basefret,.play .diagram .mark{fill:#fff9}.next{opacity:.7;flex-direction:column;align-items:center;transition:opacity .2s,transform .2s;display:flex}.next .diagram{width:auto;height:clamp(70px,12vh,130px)}.next-name{font-size:1.6rem;font-weight:900}.next-label{font-size:.85rem;font-weight:700}.next.soon{opacity:1;color:var(--sun);transform:scale(1.5)}.next.soon .next-name{font-size:3rem}.lyrics-zone{flex-direction:column;gap:10px;min-height:0;display:flex}.beat-bar{gap:6px;display:flex}.beat-bar i{background:#ffffff24;border-radius:5px;flex:1;height:10px}.beat-bar i.on{background:var(--sun)}.play .lyric{font-size:clamp(28px,6vh,56px)}.play .lyric .c{color:var(--sun);min-height:1em;font-size:max(22px,.62em)}.play .now-line .w.cur .t{-webkit-text-decoration:underline 3px var(--sun);text-decoration:underline 3px var(--sun);text-underline-offset:6px}.play .next-line{opacity:.4;font-size:clamp(20px,3.4vh,34px)}.play.countin .play-status{font-size:clamp(64px,12vh,120px);line-height:1}.play-status{min-height:1.5em;color:var(--sun);margin:4px 0 0;font-size:1.3rem;font-weight:800}.play .start{max-width:420px}@media (orientation:portrait){.play .lyric{font-size:max(36px,min(40px,9.6vw))}.play .lyric .c{font-size:24px}.play.playing .pills .pill:not([data-testid=pill-speed]){display:none}.play .next-line{font-size:min(26px,6.4vw)}.now .diagram{height:clamp(120px,22vh,260px)}.now-name{font-size:clamp(44px,7vh,80px)}.play .start{left:16px;right:16px;bottom:max(16px, env(safe-area-inset-bottom));width:auto;max-width:none;position:fixed}}@media (width>=900px),(orientation:landscape) and (width>=640px){.stage-grid{grid-template-rows:1fr;grid-template-columns:1fr minmax(260px,35%)}.chord-zone{flex-direction:column;order:2}.lyrics-zone{order:1;justify-content:center;padding:0 3vw}}.ask{flex-direction:column;gap:12px;max-width:560px;margin:10vh auto 0;display:flex}.ask-buttons{flex-direction:column;gap:10px;display:flex}.results{max-width:560px;margin:4vh auto 0;position:relative;overflow:hidden}.results h1{margin:8px 0 0}.tiles{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:16px 0;display:grid}.tile{text-align:center;border:2px solid;border-radius:16px;padding:10px 6px}.tile .word{font-size:1.25rem;font-weight:900}.tile .val{color:var(--ink-2);font-weight:700}.tile .lab{color:var(--ink-2);font-size:.8rem}.tile.green{border-color:#2f8f5f}.tile.green .word{color:#1f8a52}.tile.blue{border-color:var(--sky)}.tile.blue .word{color:#2e6a99}.tile.sun{border-color:var(--sun)}.tile.sun .word{color:#9a6c06}.tomorrow{text-align:center;font-weight:800}.clip{flex-direction:column;align-items:center;gap:4px;display:flex}.confetti{pointer-events:none;position:absolute;inset:0}.confetti i{border-radius:2px;width:8px;height:14px;animation:2.4s ease-in forwards fall;position:absolute;top:-20px}@keyframes fall{to{transform:translateY(110vh)rotate(540deg)}}@media (prefers-reduced-motion:reduce){.confetti{display:none}}.nextup{text-align:center;cursor:pointer;flex-direction:column;align-items:center;max-width:520px;margin:14vh auto 0;display:flex}.nextup h1{margin:0;font-size:2rem}.drill{flex-direction:column;gap:8px;max-width:620px;margin:2vh auto 0;display:flex}.drill h1{margin:0;font-size:2rem}.pair{justify-content:center;align-items:center;gap:16px;display:flex}.pcard{border:2px solid var(--line);text-align:center;border-radius:18px;flex-direction:column;align-items:center;padding:10px 14px;display:flex}.pcard b{font-size:1.4rem}.pcard.cur{box-shadow:0 0 0 4px var(--brand-soft);border-color:#2f8f5f}.swap{font-size:1.6rem}.ring{cursor:pointer;background:0 0;border:0;place-items:center;width:220px;height:220px;margin:8px auto;display:grid;position:relative}.ring svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.ring .track{stroke:var(--surface-2);stroke-width:14px;fill:none}.ring .arc{stroke:#2f8f5f;stroke-width:14px;fill:none;stroke-linecap:round;transition:stroke-dashoffset .25s linear}.ring-in{flex-direction:column;align-items:center;display:flex;position:relative}.count{font-size:64px;font-weight:900;line-height:1}.welcome{flex-direction:column;gap:14px;max-width:760px;margin:2vh auto 0;display:flex}.chord-picks{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;display:grid}.pick{border:2px solid var(--line);background:var(--surface);cursor:pointer;border-radius:16px;flex-direction:column;align-items:center;padding:8px;display:flex}.pick.on{background:var(--brand-soft);border-color:#2f8f5f}.pick b{font-size:1.2rem}@media (width<=760px){.two-col{grid-template-columns:1fr}.tab svg{width:22px;height:22px}.tab{flex-direction:column;gap:2px;font-size:.75rem}.play .pills .pill{padding:6px 10px;font-size:.85rem}}.me-btn{border:1.5px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;min-height:38px;margin-left:auto;padding:6px 14px;font-weight:700}.me-btn.on{background:var(--brand-soft);border-color:var(--brand)}.week-card{cursor:pointer}.gap{gap:10px}.wrap{flex-wrap:wrap}.small{font-size:.8rem}.me .box,.songs .strum-row{margin-bottom:12px}.me .box>*+*{margin-top:10px}.me .toggle{align-items:center;gap:8px;min-height:40px;display:flex}.chart{width:100%;max-width:360px;height:80px;color:var(--brand);display:block}.confirm{border-top:1px solid var(--line);padding-top:10px}.strum-row{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;justify-content:space-between;align-items:center;display:flex}.keys{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.keys .link{grid-column:1/-1;justify-self:start}.keyopt{text-align:left;border:2px solid var(--line);background:var(--surface);cursor:pointer;border-radius:14px;flex-direction:column;align-items:flex-start;gap:2px;min-height:56px;padding:8px 10px;display:flex}.keyopt.on{border-color:var(--brand);background:var(--brand-soft)}.keyopt:disabled{opacity:.5;cursor:default}.keyopt small{color:var(--ink-2);font-size:.78rem}.original{flex-direction:column;gap:14px;max-width:860px;margin:0 auto;padding:16px;display:flex}.original .play-top h2{flex:1}.video{aspect-ratio:16/9;background:#000;border-radius:16px;width:100%;overflow:hidden}.video iframe{border:0;width:100%;height:100%;display:block}.original .pills{flex-wrap:wrap;gap:8px;display:flex}.strum,.voice,.tunecheck{flex-direction:column;gap:14px;max-width:640px;margin:0 auto;display:flex}.strum .play-top h2,.voice .play-top h2{flex:1}.pattern{grid-template-columns:repeat(8,1fr);gap:6px;display:grid}.slot{background:var(--surface-2);border-radius:12px;flex-direction:column;align-items:center;padding:10px 0;transition:transform 80ms;display:flex}.slot b{color:var(--brand);font-size:clamp(1.4rem,6vw,2.2rem);font-weight:900}.slot small{color:var(--ink-2);font-size:.8rem}.slot.rest b{color:var(--ink-2)}.slot.on{background:var(--sun);transform:scale(1.06)}.slot.on b,.slot.on small{color:var(--sun-ink)}.big-count{font-size:1.6rem;font-weight:900}.slot-map{grid-template-columns:repeat(8,1fr);gap:4px;display:grid}.slot-map i{background:var(--surface-2);border-radius:6px;height:12px}.slot-map i.hit{background:var(--good)}.slot-map i.miss{border:2px solid var(--warn);background:0 0}.slot-map i.extra{background:var(--warn)}.voice-now{text-align:center;color:var(--brand);font-variant-numeric:tabular-nums;font-size:clamp(3rem,16vw,5.5rem);font-weight:900}.checkme{flex-direction:column;gap:8px;margin-top:10px;display:flex}.verdict{margin:0;font-weight:700}.verdict.clean{color:var(--good)}.verdict.close{color:var(--warn)}.verdict.wrong{color:var(--bad)}.stepup{flex-direction:column;gap:10px;margin:12px 0;display:flex}.stepup p{margin:0}.lyric.chords-only .w{margin-right:.9em}.lyric.chords-only .t{display:none}.lyric.chords-only .c{min-height:0;font-size:1em}.lyric.chords-only.next-line .c{opacity:.55}@media (width<=760px){.keys{grid-template-columns:1fr}.top .brand{margin-right:auto}}.play .lyric.chords-only.now-line .w .c{opacity:.45;transition:opacity .1s}.play .lyric.chords-only.now-line .w.cur .c{opacity:1;-webkit-text-decoration:underline 4px var(--sun);text-decoration:underline 4px var(--sun);text-underline-offset:8px}.keys-head{grid-column:1/-1}.keyopt .warn{color:var(--warn)}.sheet-panel{max-height:92dvh;overflow-y:auto}.icon{background:var(--surface-2);cursor:pointer;border:0;border-radius:10px;min-width:40px;min-height:40px;font-size:1.1rem}.video{position:relative}.video-wait{color:#ddd;place-items:center;margin:0;display:grid;position:absolute;inset:0}.legend{margin:0}.row-toggle{cursor:pointer;min-height:48px;padding:4px 0;font-weight:600}.row-toggle input{width:24px;height:24px;accent-color:var(--brand)}.lyric.chords-only{white-space:nowrap;flex-wrap:nowrap;display:flex}.lyric.chords-only.later{opacity:.6;font-size:.8em}.strum-hint{color:var(--stage-ink);opacity:.8;margin:4px 0 0;font-weight:700}.strum-hint .slots{white-space:nowrap;letter-spacing:.15em;color:var(--sun);margin-top:4px;display:block}@media (width<=760px){.library .detail{order:-1}.library{flex-direction:column;display:flex}}.strum-strip{flex-wrap:wrap;align-items:center;gap:12px;margin-top:6px;display:flex}.strum-name{color:var(--stage-ink);opacity:.8;font-weight:800}.strum-slots{white-space:nowrap;gap:6px;display:inline-flex}.strum-slots i{color:var(--sun);text-align:center;opacity:.75;border-radius:8px;min-width:1.4em;padding:2px 0;font-style:normal;font-weight:900}.strum-slots i.rest{color:var(--stage-ink);opacity:.35}.strum-slots i.on{background:var(--sun);color:var(--sun-ink);opacity:1}.search{font-size:16px}.search-row{align-items:center;gap:8px;margin-bottom:10px;display:flex}.search-row .search{flex:1}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.first-pick{background:var(--sun-soft);border-radius:14px;margin:0 0 10px;padding:10px 14px;font-weight:600}.fit-chips{margin:0 0 10px}.song-main{align-items:flex-start}.meta{gap:5px}.title-row{align-items:baseline;gap:8px;display:flex}.title-row .title{overflow-wrap:anywhere}.lvl{background:var(--brand-soft);color:var(--ink);border-radius:6px;flex:none;padding:1px 6px;font-size:.72rem;font-weight:800}.lvl.mid{background:var(--sky-soft)}.tokens{flex-wrap:wrap;gap:4px;display:flex}.tok{border:1.5px solid var(--line);border-radius:8px;padding:1px 7px;font-size:.85rem;font-weight:800}.tok.new{border-color:var(--warn)}.tok.new small{color:var(--warn-ink);font-size:.7rem;font-weight:800}.tok.more{color:var(--ink-2);border-style:dashed}.strum-line{color:var(--ink-2);align-items:baseline;gap:10px;font-size:.85rem;display:flex}.strum-line .pace{font-weight:700}.strum-line .arrows{letter-spacing:.08em;color:var(--brand);white-space:nowrap;font-weight:800}.tag.first{background:var(--sun-soft);color:#8a6411}.play-btn{background:var(--brand);min-width:88px;min-height:48px;color:var(--brand-ink);cursor:pointer;border:0;border-radius:14px;flex:none;justify-content:center;align-self:center;align-items:center;gap:6px;margin:0 12px 0 0;font-weight:800;display:inline-flex}.play-btn.quiet{background:var(--surface);color:var(--brand);border:2px solid var(--brand)}.play-btn:active{transform:translateY(2px)}@media (width<=760px){.song-card .song-main{gap:10px;padding:10px}.song-card .cover{border-radius:12px;align-self:flex-start;width:44px;height:44px;font-size:18px}.play-btn{min-width:76px;margin-right:10px}}.songs h1,.songs .search-row{margin-bottom:8px}.songs .search{padding:10px 14px}.songs .seg-tabs{margin:0 0 8px}.songs .fit-chips{margin:0 0 10px}.song-list .strum-row{grid-column:1/-1;margin:2px 0}.center-link{align-self:center;min-height:44px;margin:0 auto;padding:12px 8px;display:block}@media (width<=760px){.songs h1{font-size:1.6rem}}@media (prefers-color-scheme:dark){.tag.weak,.tag.first{color:#f2c14e}.tag.new{color:#9ccbf0}.tag.mine{color:#f4a98a}.tile.blue .word{color:#9ccbf0}.tile.sun .word{color:#f2c14e}.tile.green .word{color:#5cc28c}}
