:root{--bg: #f6f4ef;--surface: #ffffff;--surface-2: #efece5;--line: #e2ded5;--text: #1f2126;--muted: #6d6f76;--accent: #23262d;--on-accent: #f6f4ef;--good: #2f9e6a;--bad: #d0573f;--root: #e08a1e;--third: #2f8fd8;--fifth: #2fa36b;--added: #8b5cd6;--seventh: #c74b8b;--wood: #e9dcc6;--fretc: #b9a789;--stringc: #8a7f6c;--radius: 16px;--shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 4px 16px rgba(0, 0, 0, .05);color-scheme:light}:root[data-theme=dark]{--bg: #14161b;--surface: #1c1f26;--surface-2: #252932;--line: #2e333d;--text: #ece8e0;--muted: #959aa5;--accent: #ece2cc;--on-accent: #17191e;--good: #4cc48a;--bad: #ef7a62;--root: #f4a640;--third: #5bb2f2;--fifth: #55cf92;--added: #b48cf5;--seventh: #ec7bb6;--wood: #2a2520;--fretc: #5c5346;--stringc: #b3a993;--shadow: none;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:var(--bg);color:var(--text)}body{font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;min-height:100dvh;overscroll-behavior-y:none}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}a{color:inherit;text-decoration:none}h1{font-size:1.7rem;letter-spacing:-.02em;margin:.2rem 0 .4rem}h2.section{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:1.6rem 0 .6rem;font-weight:600}h3{margin:0 0 .6rem;font-size:1rem}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center;display:block}.ic{width:20px;height:20px;flex:none}.ic.big{width:26px;height:26px}code.frets{font:600 .95em ui-monospace,SF Mono,Menlo,monospace;background:var(--surface-2);padding:.1em .45em;border-radius:6px;letter-spacing:.02em;white-space:nowrap}#app{max-width:560px;margin:0 auto}.view{padding:max(16px,env(safe-area-inset-top)) 16px calc(96px + env(safe-area-inset-bottom))}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);margin-bottom:12px}.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:600;margin-bottom:4px}.tabs{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:center;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:6px 8px calc(6px + env(safe-area-inset-bottom));z-index:10}.tabs a{flex:1;max-width:140px;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.72rem;color:var(--muted);padding:6px 0;border-radius:12px}.tabs a svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.tabs a.on{color:var(--text)}.tabs a.on svg{stroke-width:2.3}.hero{display:flex;align-items:center;justify-content:space-between;margin:4px 0 16px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.2rem;letter-spacing:-.01em}.logo svg{width:32px;height:32px;display:block}.streak{display:flex;align-items:center;gap:4px;padding:6px 12px;border-radius:99px;background:var(--surface);border:1px solid var(--line);color:var(--muted)}.streak.hot{color:var(--root)}.daily{width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px;background:var(--accent);color:var(--on-accent);border:0}.daily .muted,.daily .eyebrow{color:color-mix(in srgb,var(--on-accent) 65%,transparent)}.daily-title{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:2px}.go{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--on-accent) 12%,transparent);flex:none}.unit{display:flex;align-items:center;gap:14px}.unit .num{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--surface-2);font-weight:700;flex:none}.unit .meta{flex:1;min-width:0}.unit .title{font-weight:600}.unit .right{color:var(--muted);font-size:.9rem;font-variant-numeric:tabular-nums}.unit.locked{opacity:.55;box-shadow:none;background:transparent;border-style:dashed}.bar{height:6px;background:var(--surface-2);border-radius:9px;overflow:hidden;margin-top:8px}.bar i{display:block;height:100%;background:var(--fifth);border-radius:9px;transition:width .4s}.legend{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:.85rem;color:var(--muted);margin-top:20px}.legend span{display:flex;align-items:center;gap:6px}.dot{width:12px;height:12px;border-radius:50%;display:inline-block;background:var(--c)}.r-root{--c: var(--root)}.r-third{--c: var(--third)}.r-fifth{--c: var(--fifth)}.r-added{--c: var(--added)}.r-seventh{--c: var(--seventh)}.r-note{--c: var(--muted)}.n{font-weight:700;color:var(--c);white-space:nowrap}.n.r-note{color:var(--text)}.back{display:inline-flex;align-items:center;gap:4px;color:var(--muted);margin-bottom:8px}.learned{margin:0;padding-left:1.1em}.learned li{margin:.35em 0}.chord-row{display:flex;flex-wrap:wrap;gap:8px}.skill{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.skill:last-child{border:0}.primary{background:var(--accent);color:var(--on-accent);border-radius:14px;font-weight:650;padding:14px 18px}.primary.big{width:100%;padding:16px;font-size:1.05rem;margin:8px 0 12px}.primary:disabled{opacity:.35}.primary:active,.choice:active,.note-btn:active,.chip:active{transform:scale(.97)}.chip{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:99px;background:var(--surface-2);font-size:.9rem;font-weight:550}.link{color:var(--muted);text-decoration:underline;text-underline-offset:3px;padding:8px 0;margin-right:12px}.danger{color:var(--bad);border:1px solid currentColor;border-radius:12px;padding:10px 14px}.icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px}.row{display:flex;flex-wrap:wrap}.gap{gap:8px}.seg{display:flex;background:var(--surface-2);border-radius:12px;padding:4px;gap:4px}.seg button{flex:1;padding:9px;border-radius:9px;font-weight:550;color:var(--muted)}.seg button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001f}.quiz{padding-bottom:20px}.qtop{display:flex;align-items:center;gap:10px;margin-bottom:14px}.qbar{flex:1;display:flex;gap:4px}.qbar i{flex:1;height:6px;border-radius:9px;background:var(--surface-2)}.qbar i.cur{background:var(--muted)}.qbar i.ok{background:var(--good)}.qbar i.bad{background:var(--bad)}.why{font-weight:650;padding:8px 14px;border-radius:99px;border:1px solid var(--line);background:var(--surface)}.qcard{padding:8px 2px 16px}.prompt{font-size:1.45rem;line-height:1.35;font-weight:600;letter-spacing:-.01em}.prompt .chain.big{margin-bottom:8px}.detail{margin-top:8px}.trap{color:var(--root)}.qboard{margin-top:14px}.qcard .sound{margin-top:12px}.label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:12px 0 6px;font-weight:600}.choices{display:grid;grid-template-columns:repeat(var(--cols, 2),1fr);gap:8px}.choice{background:var(--surface);border:1.5px solid var(--line);border-radius:14px;padding:16px 4px;font-size:1.15rem;font-weight:650;min-height:56px}.choice.on{border-color:var(--accent);background:var(--surface-2)}.quals .choice{font-size:.98rem;padding:14px 2px}.notes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.note-btn{background:var(--surface);border:1.5px solid var(--line);border-radius:14px;min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}.note-btn b{font-size:1.2rem}.note-btn small{font-size:.75rem;color:var(--muted);margin-top:2px}.note-btn.on{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.note-btn.on small{color:color-mix(in srgb,var(--on-accent) 70%,transparent)}.answer.locked{pointer-events:none;opacity:.6}.fb{border-radius:var(--radius);padding:16px;margin-top:16px;border:1.5px solid;background:var(--surface);animation:rise .25s ease-out;scroll-margin-top:12px}.fb.good{border-color:color-mix(in srgb,var(--good) 60%,transparent)}.fb.bad{border-color:color-mix(in srgb,var(--bad) 60%,transparent)}.fb-head{display:flex;gap:10px;align-items:flex-start;font-size:1.05rem}.fb.good .fb-head .ic{color:var(--good)}.fb.bad .fb-head .ic{color:var(--bad)}.trapmsg{margin-top:12px;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--root) 14%,transparent);border-left:3px solid var(--root)}.notemsg{margin-top:10px;padding:10px 14px;border-radius:12px;background:var(--surface-2);font-size:.93rem}.explain-slot{margin-top:8px}@keyframes rise{0%{transform:translateY(8px);opacity:0}}.explain{margin-top:8px}.estep{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.estep:first-child{border-top:0}.enum{width:24px;height:24px;border-radius:50%;background:var(--surface-2);display:grid;place-items:center;font-size:.8rem;font-weight:700;flex:none;color:var(--muted)}.etitle{font-weight:650;margin-bottom:4px}.ebody p{margin:6px 0 0}.hint{color:var(--muted);font-size:.92rem}.chain{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px;font-size:1.05rem;margin-top:4px}.chain.big{font-size:1.6rem;gap:10px}.chain sub{font-size:.7rem;color:var(--muted);margin-left:1px}.step{color:var(--muted);font-size:.85rem;display:inline-flex;flex-direction:column;align-items:center;line-height:1}.step sup{font-size:.68rem}.step.gap{color:var(--root)}.tones{list-style:none;padding:0;margin:4px 0 0}.tones li{padding:3px 0}table.mini td{padding:2px 14px 2px 0}.sounds{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.sheet-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:50;display:flex;align-items:flex-end;justify-content:center;animation:fade .2s}.sheet{background:var(--bg);width:100%;max-width:560px;max-height:85dvh;overflow:auto;border-radius:20px 20px 0 0;padding:12px 16px calc(24px + env(safe-area-inset-bottom));animation:rise .25s ease-out}.sheet-head{display:flex;justify-content:space-between;align-items:center;position:sticky;top:-12px;background:var(--bg);padding:4px 0;z-index:1}@keyframes fade{0%{opacity:0}}.board-wrap{position:relative;margin:12px -16px 4px}.board-scroll{overflow-x:auto;padding:0 12px;scrollbar-width:none}.board-scroll::-webkit-scrollbar{display:none}svg.board{display:block;width:100%;min-width:520px;height:auto}svg.board .wood{fill:var(--wood)}svg.board .fret{stroke:var(--fretc);stroke-width:2}svg.board .nut{stroke:var(--stringc);stroke-width:5}svg.board .string{stroke:var(--stringc)}svg.board .inlay{fill:var(--fretc);opacity:.6}svg.board .fretnum{fill:var(--muted);font-size:10px;text-anchor:middle}svg.board .openname{fill:var(--muted);font-size:11px;font-weight:600;text-anchor:middle}svg.board .mute{fill:var(--bad);font-size:18px;text-anchor:middle;font-weight:700}svg.board .hit{fill:transparent}svg.board.tappable .hit:hover{fill:color-mix(in srgb,var(--text) 6%,transparent)}svg.board .mark{pointer-events:none}svg.board .mark circle{fill:var(--c)}svg.board .mark text{fill:#111;font-size:12px;font-weight:750;text-anchor:middle}svg.board .mark.r-note circle{fill:var(--text)}svg.board .mark.r-note text{fill:var(--bg)}svg.board .mark.r-ghost text{fill:var(--text)}svg.board .mark.r-pick circle{fill:var(--accent);stroke:var(--bg);stroke-width:2}svg.board .mark.r-pick text{fill:var(--on-accent)}.finish{text-align:center;padding-top:10dvh}.score-ring{--p: 0;width:150px;height:150px;border-radius:50%;margin:0 auto 20px;display:grid;place-items:center;background:conic-gradient(var(--good) calc(var(--p) * 1%),var(--surface-2) 0)}.score-ring span{width:122px;height:122px;border-radius:50%;background:var(--bg);display:grid;place-items:center;font-size:1.8rem;font-weight:750}.fret-inputs{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:14px 0 0}.fret-inputs label{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.72rem;color:var(--muted)}.fret-inputs input{width:100%;text-align:center;font:700 1.25rem ui-monospace,Menlo,monospace;padding:10px 0;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);color:var(--text)}.fret-inputs input:focus{outline:none;border-color:var(--accent)}.dresult .dname{font-size:2.2rem;font-weight:750;letter-spacing:-.02em}.dtable{width:100%;border-collapse:collapse;margin-top:14px;font-size:.95rem}.dtable th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;padding:4px 6px}.dtable td{padding:7px 6px;border-top:1px solid var(--line)}.alts{display:flex;flex-direction:column;gap:8px}.alt{display:grid;grid-template-columns:1fr auto;gap:2px 10px;text-align:left;padding:12px 14px;background:var(--surface-2);border-radius:12px}.alt code{grid-column:1 / -1;justify-self:start;background:transparent;padding:0;color:var(--muted)}.result{margin-top:12px}.dboard{margin-top:4px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat{text-align:center;padding:14px 6px}.stat b{display:block;font-size:1.5rem}.stat span{font-size:.78rem;color:var(--muted)}.prow{display:grid;grid-template-columns:1fr 90px 40px;align-items:center;gap:10px;padding:6px 0;font-size:.95rem}.prow .bar{margin:0}.days{display:grid;grid-template-columns:repeat(14,1fr);gap:4px}.days i{aspect-ratio:1;border-radius:5px;background:var(--surface-2)}.days i.some{background:color-mix(in srgb,var(--fifth) 40%,var(--surface-2))}.days i.full{background:var(--fifth)}.settings .seg{margin-bottom:4px}.st-memorized{--c: var(--fifth)}.st-learning{--c: var(--third)}.st-shaky{--c: var(--root)}.st-new{--c: var(--surface-2)}.pill{background:var(--accent);color:var(--on-accent);font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:99px;text-transform:uppercase;letter-spacing:.06em}.unit.fresh{background:transparent;box-shadow:none}.unit.fresh .num{background:transparent;border:1.5px solid var(--line)}.memo{display:flex;align-items:center;justify-content:space-between;gap:12px}.memo .title,.deck .title,.fb-feature .title{font-weight:650}.go.small{width:36px;height:36px;background:var(--surface-2)}.row.between{justify-content:space-between;align-items:center;flex-wrap:nowrap;gap:10px}.center-y{align-items:center}.center-text{text-align:center}.mt{margin-top:16px}.lesson-sec h3{font-size:1.05rem}.lesson-sec .ebody p{margin:.4em 0}.example{margin-top:10px}.example .row{margin-top:4px}.deck{display:flex;align-items:center;gap:12px}.deck .meta{flex:1;min-width:0}.deck.locked{opacity:.55;background:transparent;box-shadow:none;border-style:dashed}.due{color:var(--root)}.segbar{display:flex;height:6px;border-radius:9px;overflow:hidden;background:var(--surface-2);margin-top:8px}.segbar i{display:block;height:100%;background:var(--c)}.tiles{display:flex;flex-wrap:wrap;gap:6px}.tile{min-width:42px;padding:6px 8px;text-align:center;border-radius:9px;font-size:.82rem;font-weight:650;background:color-mix(in srgb,var(--c) 28%,var(--surface));border:1px solid color-mix(in srgb,var(--c) 60%,transparent)}.tile.st-new{background:var(--surface-2);border-color:var(--line);color:var(--muted)}.legend.small{margin-top:12px;font-size:.78rem}.drill-prompt{font-size:1.7rem;padding:18px 0 6px}.timer{height:3px;background:var(--surface-2);border-radius:3px;overflow:hidden;margin:-6px 0 6px}.timer i{display:block;height:100%;width:100%;background:var(--muted);transform-origin:left;animation:shrink linear forwards;opacity:.6}@keyframes shrink{to{transform:scaleX(0)}}.flash{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;padding:12px;border-radius:14px;animation:rise .2s ease-out}.flash.good{color:var(--good);background:color-mix(in srgb,var(--good) 12%,transparent)}.reveal{margin-top:10px}.count{min-width:40px;text-align:right;font-variant-numeric:tabular-nums}.fb-feature .fb-mini{pointer-events:none;margin-bottom:4px}.fb-feature .fb-mini .board-wrap{margin:0 -16px 8px}.strings{display:flex;flex-wrap:wrap;gap:6px}.strings .chip.on{background:var(--accent);color:var(--on-accent)}.fb-trainer .seg{margin:10px 0}.memstats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.fb-feature{display:block;overflow:hidden}.fb-feature .fb-mini .board-wrap{margin:-4px -8px 10px}.fb-feature .fb-mini svg.board{min-width:0}svg.board .mark.r-ghost circle{fill:color-mix(in srgb,var(--text) 14%,transparent)}label{display:block;margin:10px 0}label>span{display:block;font-size:.8rem;color:var(--muted);font-weight:600;margin-bottom:5px}input:not([type=checkbox]):not([type=range]){width:100%;font:inherit;color:var(--text);background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;transition:border-color .15s}input:focus{outline:none;border-color:var(--accent)}.pw{position:relative}.pw input{padding-right:84px}.pw-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:.8rem;font-weight:650;color:var(--muted);padding:8px 10px;border-radius:8px}.form-error{color:var(--bad);font-size:.9rem;min-height:1.2em;margin:4px 0}.ok-text{color:var(--good)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip.on{background:var(--accent);color:var(--on-accent)}.danger-chip{color:var(--bad)}.toggle{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--muted);margin:12px 0}.toggle input{width:18px;height:18px;accent-color:var(--accent)}.center-row{justify-content:center;margin:14px 0}details summary{cursor:pointer;color:var(--muted);font-weight:600;padding:6px 0}.account .title{font-weight:700;font-size:1.1rem}.export-btns{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.md-preview{white-space:pre-wrap;font:.75rem/1.5 ui-monospace,Menlo,monospace;max-height:50dvh;overflow:auto;background:var(--surface-2);padding:12px;border-radius:10px;margin:0}.user .title{font-weight:650}.user-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.create .seg{margin:6px 0 10px}.login{min-height:100dvh;display:grid;place-items:center;padding-bottom:16px}.login-card{width:100%;max-width:380px;animation:rise .35s cubic-bezier(.2,.8,.2,1)}.login-logo svg{width:56px;height:56px;display:block;margin-bottom:14px}.login.leaving{animation:fadeOut .18s ease-in forwards}@keyframes fadeOut{to{opacity:0;transform:scale(.98)}}.beats{display:flex;justify-content:center;gap:14px;margin:24px 0}.beats i{width:22px;height:22px;border-radius:50%;background:var(--surface-2);transition:transform .08s,background-color .08s}.beats i.one{box-shadow:inset 0 0 0 2px var(--root)}.beats i.on{background:var(--fifth);transform:scale(1.25)}.beats i.one.on{background:var(--root)}.bpm{display:flex;align-items:center;justify-content:center;gap:22px;text-align:center}.bpm b{display:block;font-size:3.4rem;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.big-btn{width:56px;height:56px;font-size:1.6rem;background:var(--surface-2);border-radius:50%}.slider{width:100%;margin:16px 0 4px;accent-color:var(--accent)}.palette{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0 6px}.pal{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 2px;border-radius:14px;background:var(--surface);border:1.5px solid var(--line)}.pal small{color:var(--muted);font-weight:700}.pal b{font-size:1.05rem}.pal span{font-size:.66rem}.pal.borrowed{border-style:dashed;border-color:color-mix(in srgb,var(--added) 60%,transparent)}.seq{display:flex;flex-wrap:wrap;gap:6px;min-height:44px;align-items:center}.seq-chip{padding:8px 12px;border-radius:12px;background:var(--surface-2);font-weight:700;display:flex;flex-direction:column;align-items:center;line-height:1.1;transition:transform .12s,background-color .12s}.seq-chip small{font-size:.68rem;color:var(--muted)}.seq-chip.on{background:var(--accent);color:var(--on-accent);transform:translateY(-2px)}.seq-chip.on small{color:inherit;opacity:.7}.blues-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:6px 0}.blues-grid span{background:var(--surface-2);border-radius:8px;padding:6px;font-size:.7rem;color:var(--muted)}.blues-grid span b{display:block;color:var(--text);font-size:.95rem}.blues-grid span.on{background:var(--accent)}.blues-grid span.on,.blues-grid span.on b{color:var(--on-accent)}@keyframes viewIn{0%{opacity:0;transform:translateY(6px)}}.units>.card,.groups>.card,.stagger>*,.user-list>.card,.stats>.card,.alts>*{animation:rise .32s cubic-bezier(.2,.8,.2,1) backwards}.units>:nth-child(2),.groups>:nth-child(2),.stagger>:nth-child(2),.stats>:nth-child(2){animation-delay:30ms}.units>:nth-child(3),.groups>:nth-child(3),.stagger>:nth-child(3),.stats>:nth-child(3){animation-delay:60ms}.units>:nth-child(4),.groups>:nth-child(4),.stagger>:nth-child(4){animation-delay:90ms}.units>:nth-child(5),.groups>:nth-child(5){animation-delay:.12s}.units>:nth-child(n+6),.groups>:nth-child(n+6){animation-delay:.15s}button,.card,.chip,a.card{transition:transform .12s ease,background-color .15s ease,border-color .15s ease,color .15s ease,opacity .15s}a.card:active,.daily:active,.pal:active,.seq-chip:active,.alt:active{transform:scale(.985)}.bar i,.segbar i{transform-origin:left;animation:grow .7s cubic-bezier(.2,.8,.2,1) backwards .1s}@keyframes grow{0%{transform:scaleX(0)}}svg.board .mark{transform-box:fill-box;transform-origin:center;animation:pop .26s cubic-bezier(.3,1.5,.5,1) backwards}@keyframes pop{0%{transform:scale(.3);opacity:0}}.answer.was-right .on{animation:goodPulse .45s ease-out;border-color:var(--good)!important}.answer.was-wrong .on{animation:shake .36s ease-in-out;border-color:var(--bad)!important}.shake{animation:shake .36s ease-in-out}@keyframes goodPulse{40%{transform:scale(1.06)}}@keyframes shake{20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.fb{animation:rise .28s cubic-bezier(.2,.8,.2,1)}.fb-head .ic{animation:pop .35s cubic-bezier(.3,1.5,.5,1) backwards .05s}.qbar i{transition:background-color .3s}.streak.hot .ic{animation:flicker 2.4s ease-in-out infinite;transform-origin:bottom center}@keyframes flicker{50%{transform:scale(1.08) rotate(-3deg)}}@property --p{syntax: "<number>"; inherits: false; initial-value: 0;}.score-ring{animation:ring .9s cubic-bezier(.2,.8,.2,1) backwards .1s}@keyframes ring{0%{--p: 0}}.go{transition:transform .2s cubic-bezier(.2,.8,.2,1)}a.card:hover .go,.daily:hover .go{transform:translate(3px)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;animation-delay:0ms!important}}:root[data-motion=reduced] *,:root[data-motion=reduced] *:before,:root[data-motion=reduced] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;animation-delay:0ms!important}.tabs{transition:transform .28s cubic-bezier(.2,.8,.2,1);will-change:transform}.tabs.hidden{transform:translateY(110%);pointer-events:none}.tabs-inner{position:relative;display:grid;grid-template-columns:repeat(var(--n),1fr);width:100%;max-width:560px;isolation:isolate}.tabs-inner a{max-width:none;position:relative;transition:color .25s}.tab-ind{position:absolute;top:2px;bottom:2px;left:0;width:calc(100% / var(--n));transform:translate3d(calc(var(--i, 0) * 100%),0,0);transition:transform .38s cubic-bezier(.3,1.25,.4,1);z-index:-1}.tab-ind:before{content:"";position:absolute;top:0;right:12%;bottom:0;left:12%;border-radius:12px;background:var(--surface-2)}.tabs.no-anim .tab-ind{transition:none}.tabs-inner a.on svg{animation:tabPop .38s cubic-bezier(.3,1.5,.5,1)}@keyframes tabPop{40%{transform:translateY(-2px) scale(1.12)}}.view{will-change:auto}.view.no-nav{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.sheet-bg.closing{animation:fadeOut .18s ease-in forwards}.sheet-bg.closing .sheet{animation:sheetDown .18s ease-in forwards}@keyframes sheetDown{to{transform:translateY(40px)}}.rec-btn{display:inline-flex;align-items:center;gap:8px}.rec-dot{width:12px;height:12px;border-radius:50%;background:#ef4f4f;display:inline-block}.file-chip{margin:0;cursor:pointer}.list{margin-top:14px}.mini-flow{margin-top:4px;color:var(--text);opacity:.85}.rec-stage{text-align:center;padding:24px 0 10px}.rec-time{font-size:3.6rem;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.meter{height:8px;border-radius:8px;background:var(--surface-2);overflow:hidden;margin:14px auto;max-width:320px}.meter i{display:block;height:100%;background:var(--fifth);transform-origin:left;transform:scaleX(0);transition:transform .06s linear}.rec-markers{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:10px;min-height:30px}.mk-chip{background:color-mix(in srgb,var(--root) 25%,var(--surface));border-radius:99px;padding:4px 10px;font-size:.8rem;font-weight:650;animation:pop .25s cubic-bezier(.3,1.5,.5,1)}#start.recording{background:#ef4f4f;color:#fff}#start.recording .rec-dot{display:none}.big-chip{width:100%;padding:18px;font-size:1.1rem;justify-content:center;border-radius:14px}.big-chip:disabled{opacity:.35}.flash-mark{animation:goodPulse .3s ease-out;background:var(--root)!important;color:#111}.title-input{font-size:1.5rem!important;font-weight:700;border-color:transparent!important;background:transparent!important;padding:4px 0!important}.title-input:focus{border-bottom:1.5px solid var(--accent)!important;border-radius:0!important}canvas.wave{width:100%;height:96px;display:block;border-radius:10px;background:var(--surface-2);cursor:pointer;touch-action:manipulation;margin-bottom:8px}.transport{gap:14px;margin:8px 0}.play-btn{width:64px;height:64px;background:var(--accent);color:var(--on-accent);font-size:1.2rem}.seg.speed{padding:3px}.seg.speed button{padding:5px 10px;font-size:.85rem}.mrow{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line);animation:rise .25s ease-out}.mrow:first-child{border-top:0}.mtime{font-variant-numeric:tabular-nums;font-weight:700;color:var(--root);padding:6px 8px;border-radius:8px;background:var(--surface-2)}.mact{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.small-chip{padding:6px 9px;font-size:.8rem}.small-chip .ic{width:16px;height:16px}textarea.notes{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;resize:vertical}.danger-link{color:var(--bad);display:block;margin:10px auto 30px}.reuse{align-items:center;margin-bottom:4px}.tab-editor .dname{font-size:1.9rem}.te-name{margin-top:6px}.memo.wide{width:100%;text-align:left}.search input{font-size:1.05rem;padding:14px 16px!important;border-radius:14px!important}.vgroup{margin:6px 0 8px}.vgroup>span{display:block;margin-bottom:4px}.newdot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--added);margin-left:5px;vertical-align:middle}.chip.on .newdot{background:var(--on-accent)}
