@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/nunito-700.woff2) format("woff2")}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/nunito-800.woff2) format("woff2")}:root{color-scheme:light dark;--bg: #f6f3ee;--card: #ffffff;--ink: #1e1b2e;--muted: #5d5870;--line: #e6e0d6;--lip: #d6cfc2;--soft: #f1ede6;--accent: #5636d8;--accent-ink: #ffffff;--accent-lip: #3b1fae;--accent-soft: #ece7fd;--accent-mark: #c9bdf8;--good: #0f6b47;--warn: #8a5000;--bad: #b32e25;--band-ink: #ffffff;--rec: #c4195a;--rec-ink: #ffffff;--flame: #c2550b;--shadow: 0 1px 2px rgba(30, 27, 46, .05), 0 24px 48px -24px rgba(60, 40, 140, .3);--sheet-shadow: 0 -16px 48px -12px rgba(30, 27, 46, .22);--ui: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--round: "Nunito", ui-rounded, "SF Pro Rounded", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ipa: "Charis SIL", "Doulos SIL", "Gentium Plus", "Lucida Sans Unicode", "Segoe UI", "Noto Sans", system-ui, sans-serif;--fs-1: 13px;--fs-2: 16px;--fs-3: 20px;--fs-4: 28px;--fs-word: 84px;--fs-hero: 60px;--r-s: 12px;--r-m: 18px;--r-l: 32px;--h-ctl: 44px;--g1: 4px;--g2: 8px;--g3: 12px;--g4: 16px;--g5: 24px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #14121b;--card: #1f1c29;--ink: #f2eff9;--muted: #ada7c0;--line: #37314a;--lip: #2a2539;--soft: #2a2638;--accent: #a996ff;--accent-ink: #1a1238;--accent-lip: #6e55e0;--accent-soft: #2e2852;--accent-mark: #4b4192;--good: #3ccf8e;--warn: #f0b94a;--bad: #ff7467;--band-ink: #1f1c29;--rec: #ff7aa8;--rec-ink: #3a0b1d;--flame: #ff9a4d;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 24px 48px -24px rgba(0, 0, 0, .7);--sheet-shadow: 0 -16px 48px -12px rgba(0, 0, 0, .7)}}:root[data-theme=dark]{color-scheme:dark;--bg: #14121b;--card: #1f1c29;--ink: #f2eff9;--muted: #ada7c0;--line: #37314a;--lip: #2a2539;--soft: #2a2638;--accent: #a996ff;--accent-ink: #1a1238;--accent-lip: #6e55e0;--accent-soft: #2e2852;--accent-mark: #4b4192;--good: #3ccf8e;--warn: #f0b94a;--bad: #ff7467;--band-ink: #1f1c29;--rec: #ff7aa8;--rec-ink: #3a0b1d;--flame: #ff9a4d;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 24px 48px -24px rgba(0, 0, 0, .7);--sheet-shadow: 0 -16px 48px -12px rgba(0, 0, 0, .7)}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--bg);color:var(--ink);font:var(--fs-2)/1.45 var(--ui);-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}button,input{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}:disabled{cursor:default}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.ic{width:20px;height:20px;fill:currentColor;flex:none;display:block}.app{max-width:440px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding:env(safe-area-inset-top,0px) var(--g4) 0}.view{flex:1;min-height:0;display:flex;flex-direction:column}.top{display:flex;align-items:center;gap:var(--g2);height:60px;flex:none}.top .grow{flex:1}.iconbtn{width:var(--h-ctl);height:var(--h-ctl);flex:none;display:grid;place-items:center;border:0;background:none;color:var(--muted);border-radius:var(--r-s);text-decoration:none}.iconbtn:first-child{margin-left:-10px}.iconbtn:hover:not(:disabled){background:var(--soft);color:var(--ink)}.iconbtn .ic{width:24px;height:24px}.goal{display:inline-flex;align-items:center;gap:5px;min-height:var(--h-ctl);padding:0 12px 0 10px;border-radius:99px;border:0;font:800 var(--fs-1)/1 var(--round);color:var(--ink);background:var(--card);box-shadow:inset 0 0 0 2px var(--line);white-space:nowrap;font-variant-numeric:tabular-nums;text-decoration:none}.goal .ic{width:16px;height:16px}.goal .fl{color:var(--flame)}.goal .sep{width:1px;height:14px;background:var(--line);margin:0 3px}.goal .dial{width:18px;height:18px;border-radius:50%;--d: 0;background:radial-gradient(circle,var(--card) 52%,transparent 54%),conic-gradient(var(--accent) calc(var(--d) * 1%),var(--line) 0)}.goal.done{background:var(--accent);color:var(--accent-ink);box-shadow:none}.goal.done .fl{color:inherit}.goal.done .sep{background:color-mix(in srgb,var(--accent-ink) 40%,transparent)}.goal.done .dial{background:radial-gradient(circle,var(--accent) 52%,transparent 54%),var(--accent-ink)}.brand{display:inline-flex;gap:3px;align-items:flex-end;text-decoration:none;font:800 28px/1 var(--round);letter-spacing:-.02em;padding:6px 0 8px}.brand span{position:relative;padding-bottom:7px;min-width:10px;text-align:center}.brand span:after{content:"";position:absolute;left:1px;right:1px;bottom:0;height:4px;border-radius:2px;background:var(--accent-mark)}.brand span:last-child:after{background:var(--accent)}.home{gap:var(--g5);padding-bottom:calc(var(--g5) + env(safe-area-inset-bottom,0px))}.ask{margin:var(--g3) 0 0;font:800 var(--fs-4)/1.15 var(--round);letter-spacing:-.015em}.ask small{display:block;margin-top:var(--g2);font:500 var(--fs-2)/1.4 var(--ui);color:var(--muted);letter-spacing:0}.searchbox{display:flex;align-items:center;gap:var(--g2);background:var(--card);border-radius:22px;padding:0 var(--g2) 0 var(--g4);box-shadow:var(--shadow),inset 0 0 0 2px var(--line);min-height:64px}.searchbox:focus-within{box-shadow:var(--shadow),inset 0 0 0 3px var(--accent)}.searchbox>.ic{color:var(--muted);width:24px;height:24px}.searchbox input{flex:1;min-width:0;border:0;background:none;outline:none;height:60px;font:800 24px/1 var(--round);letter-spacing:-.01em}.searchbox input::placeholder{color:var(--muted);font-weight:600;opacity:.8}.searchbox input::-webkit-search-cancel-button{display:none}.clear{width:var(--h-ctl);height:var(--h-ctl);border:0;background:none;border-radius:50%;color:var(--muted);display:grid;place-items:center}.clear:hover{background:var(--soft)}.clear .ic{width:18px;height:18px}.results{display:flex;flex-direction:column;gap:var(--g2)}.hit{display:flex;flex-direction:column;gap:var(--g3);padding:var(--g4);background:var(--card);border-radius:22px;box-shadow:var(--shadow);text-decoration:none}.hit .preview{display:flex;flex-wrap:wrap;gap:0 14px;align-items:flex-end;font:800 44px/1 var(--round);letter-spacing:-.02em}.hit .preview .wd{display:inline-flex;gap:2px}.hit .preview .c{position:relative;padding:2px 3px 12px}.hit .preview .c:after{content:"";position:absolute;left:4px;right:4px;bottom:2px;height:5px;border-radius:3px;background:var(--accent-mark)}.hit .preview .plain{padding-bottom:12px}.hit .meta{display:flex;align-items:center;justify-content:space-between;gap:var(--g3);flex-wrap:wrap}.hit .meta .ipa-s{font:var(--fs-3)/1.3 var(--ipa);color:var(--muted)}.hit .note{margin:0;font-size:var(--fs-1);color:var(--muted)}.hit .go{min-height:var(--h-ctl)}.row{display:flex;align-items:center;gap:var(--g3);min-height:56px;padding:0 var(--g3) 0 var(--g4);border-radius:16px;background:var(--card);text-decoration:none;box-shadow:inset 0 0 0 2px var(--line)}.row:hover{box-shadow:inset 0 0 0 2px var(--accent-mark)}.row b{font:800 var(--fs-3)/1.2 var(--round)}.row .ipa-s{flex:1;min-width:0;color:var(--muted);font:var(--fs-2)/1.3 var(--ipa);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .ic{color:var(--muted)}.row .badge{margin-left:auto}.empty-hint{margin:0;color:var(--muted);font-size:var(--fs-2)}.group{display:flex;flex-direction:column;gap:var(--g3)}.group h2{margin:0;font:800 var(--fs-2)/1.3 var(--round);display:flex;align-items:center;gap:var(--g2)}.group h2 .ic{width:18px;height:18px;color:var(--muted)}.group h2 a{margin-left:auto;font:800 var(--fs-1)/1 var(--round);color:var(--accent);text-decoration:none;min-height:var(--h-ctl);display:inline-flex;align-items:center;padding:0 var(--g2);border-radius:var(--r-s)}.chips{display:flex;flex-wrap:wrap;gap:var(--g2)}.chip{display:inline-flex;align-items:center;gap:var(--g2);min-height:var(--h-ctl);padding:0 var(--g3) 0 var(--g4);border-radius:99px;background:var(--card);box-shadow:inset 0 0 0 2px var(--line),0 3px 0 var(--lip);margin-bottom:3px;font:800 var(--fs-2)/1 var(--round);text-decoration:none}.badge{min-width:34px;height:26px;padding:0 7px;border-radius:99px;display:inline-grid;place-items:center;font:800 var(--fs-1)/1 var(--round);color:var(--band-ink);font-variant-numeric:tabular-nums}.badge.good{background:var(--good)}.badge.mid{background:var(--warn)}.badge.low{background:var(--bad)}.badge.new{background:var(--soft);color:var(--muted)}.cards{display:grid;grid-template-columns:1fr 1fr;gap:var(--g3)}.card{display:flex;flex-direction:column;gap:6px;padding:var(--g3) var(--g4) var(--g4);border-radius:var(--r-m);background:var(--card);box-shadow:inset 0 0 0 2px var(--line),0 4px 0 var(--lip);margin-bottom:4px;text-decoration:none;min-height:96px}.card:active{transform:translateY(3px);box-shadow:inset 0 0 0 2px var(--line),0 1px 0 var(--lip)}.card b{font:800 22px/1.1 var(--round);letter-spacing:-.01em}.card .ipa-s{color:var(--muted);font:var(--fs-2)/1.2 var(--ipa)}.card small{margin-top:auto;font:700 var(--fs-1)/1.3 var(--round);color:var(--accent)}.privacy{display:flex;gap:var(--g2);align-items:flex-start;margin:var(--g2) 0 0;font-size:var(--fs-1);color:var(--muted)}.privacy .ic{width:16px;height:16px;margin-top:2px}.drill{padding-bottom:calc(var(--g3) + env(safe-area-inset-bottom,0px))}.wcard{flex:1 1 auto;min-height:280px;max-height:540px;background:var(--card);border-radius:var(--r-l);box-shadow:var(--shadow);display:flex;flex-direction:column;position:relative;transition:box-shadow .2s}.wcard.rec{box-shadow:var(--shadow),0 0 0 3px var(--rec);animation:recpulse 1.2s ease-in-out infinite}@keyframes recpulse{50%{box-shadow:var(--shadow),0 0 0 3px color-mix(in srgb,var(--rec) 35%,transparent)}}.wtop{display:flex;align-items:center;justify-content:flex-end;gap:var(--g2);padding:var(--g3) var(--g3) 0 var(--g4)}.wtop .lbl{margin-right:auto;font:700 var(--fs-1)/1.2 var(--round);color:var(--muted)}.seg{display:inline-flex;background:var(--soft);border-radius:14px}.seg button{min-width:52px;height:var(--h-ctl);border:0;background:none;border-radius:14px;font:800 var(--fs-1)/1 var(--round);color:var(--muted)}.seg button[aria-checked=true]{background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 3px var(--soft),0 1px 0 var(--lip)}.wmid{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--g2);padding:var(--g2) var(--g4) var(--g5);text-align:center}.chunks{--wsize: var(--fs-word);display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:0 20px;max-width:100%;padding-bottom:22px}.wd{display:inline-flex;align-items:flex-end;gap:2px;white-space:nowrap}.chunk{position:relative;border:0;background:none;padding:4px 4px 14px;border-radius:var(--r-s);min-height:var(--h-ctl);min-width:var(--h-ctl);font:800 var(--wsize)/1 var(--round);letter-spacing:-.025em;color:var(--ink);transition:background .2s,color .25s}.chunk:after{content:"";position:absolute;left:5px;right:5px;bottom:4px;height:6px;border-radius:3px;background:var(--accent-mark)}.chunk.whole:after{background:repeating-linear-gradient(90deg,var(--line) 0 6px,transparent 6px 10px)}.chunk:hover{background:var(--soft)}.chunk:active{transform:scale(.96)}.chunk.sel{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.chunk .mark{position:absolute;left:50%;bottom:-22px;transform:translate(-50%);display:flex}.chunk .mark .ic{width:18px;height:18px}.chunk.ok{color:var(--good)}.chunk.part{color:var(--warn)}.chunk.no{color:var(--bad)}.chunk.ok:after{background:var(--good)}.chunk.part:after{background:repeating-linear-gradient(90deg,var(--warn) 0 10px,transparent 10px 15px)}.chunk.no:after{background:radial-gradient(circle at 3px 3px,var(--bad) 2.6px,transparent 3px) 0 0 / 9px 6px repeat-x}.ipa{display:inline-flex;align-items:center;gap:var(--g2);min-height:var(--h-ctl);padding:0 var(--g2) 0 var(--g3);border:0;background:none;border-radius:99px;color:var(--muted);font:var(--fs-3)/1.3 var(--ipa)}.ipa:hover{background:var(--soft)}.ipa .spk{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);flex:none}.ipa .spk .ic{width:18px;height:18px}.ipa .pc{border-radius:4px}.ipa .pc.on{background:var(--accent-soft);color:var(--accent)}.ipa .dot{opacity:.45;padding:0 1px}.slot{border-top:1px solid var(--line);min-height:58px;padding:var(--g3) var(--g4);display:flex;align-items:center;justify-content:center;gap:var(--g3);flex-wrap:wrap;font-size:var(--fs-1);color:var(--muted);text-align:center}.slot.live{color:var(--rec);font-weight:700;font-size:var(--fs-2)}.slot.note{color:var(--ink);font-weight:700}.slot.tip{color:var(--ink);text-align:left;justify-content:flex-start;font-size:var(--fs-2)}.slot.tip b{font-family:var(--ipa)}.reopen{display:inline-flex;align-items:center;gap:var(--g2);min-height:var(--h-ctl);padding:0 var(--g3) 0 var(--g2);border:0;border-radius:99px;background:var(--soft);font:800 var(--fs-1)/1 var(--round);color:var(--ink)}.reopen b{min-width:32px;height:32px;border-radius:99px;display:grid;place-items:center;color:var(--band-ink);font-size:var(--fs-2);padding:0 6px}.reopen b.good{background:var(--good)}.reopen b.mid{background:var(--warn)}.reopen b.low{background:var(--bad)}body.sheet-up .wcard{flex:0 0 auto;min-height:0}body.sheet-up .wtop,body.sheet-up .slot{display:none}body.sheet-up .wmid{padding-top:var(--g4);padding-bottom:var(--g3)}.dock{flex:none;margin-top:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding-top:var(--g5)}.side{display:flex;flex-direction:column;align-items:center;gap:6px;font:700 var(--fs-1)/1 var(--round);color:var(--muted)}.side.off{visibility:hidden}.round{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--line);background:var(--card);color:var(--accent);box-shadow:0 3px 0 var(--lip);transition:transform .08s,box-shadow .08s}.round:active:not(:disabled){transform:translateY(3px);box-shadow:0 0 0 var(--lip)}.round .ic{width:24px;height:24px}.micwrap{position:relative;width:92px;height:92px;display:grid;place-items:center;--lvl: 0}.ring{position:absolute;inset:0;border-radius:50%;background:var(--rec);display:none;pointer-events:none;transform:scale(calc(1.05 + var(--lvl) * .55));opacity:calc(.16 + var(--lvl) * .45)}.micwrap.rec .ring{display:block}.mic{position:relative;width:92px;height:92px;border-radius:50%;border:0;padding:0;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);box-shadow:0 6px 0 var(--accent-lip);transform:translateY(-3px);transition:transform .08s,box-shadow .08s,background .2s}.mic:active:not(:disabled){transform:translateY(3px);box-shadow:0 0 0 var(--accent-lip)}.mic:disabled{background:var(--soft);color:var(--muted);box-shadow:inset 0 0 0 2px var(--line)}.mic .ic{width:38px;height:38px}.mic .stop{display:none}.mic.rec{background:var(--rec);color:var(--rec-ink);box-shadow:0 6px color-mix(in srgb,var(--rec) 62%,#000)}.mic.rec .stop{display:block}.mic.rec .mi{display:none}.mic.busy{cursor:progress}.mic.busy .ic{display:none}.mic.busy:after{content:"";width:34px;height:34px;border-radius:50%;border:4px solid color-mix(in srgb,var(--accent-ink) 35%,transparent);border-top-color:var(--accent-ink);animation:spin .8s linear infinite}.mic.pulse:before{content:"";position:absolute;inset:-2px;border-radius:50%;border:3px solid var(--accent);animation:hello 1.6s ease-out 3;opacity:0;pointer-events:none}@keyframes hello{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.45)}}@keyframes spin{to{transform:rotate(360deg)}}.cap{margin:var(--g3) 0 0;text-align:center;font:700 var(--fs-1)/1.3 var(--round);color:var(--muted);min-height:18px}.cap small{display:block;font:500 12px/1.3 var(--ui);margin-top:4px}.btn{min-height:52px;padding:0 var(--g5);border-radius:16px;border:0;display:inline-flex;align-items:center;justify-content:center;gap:var(--g2);font:800 var(--fs-2)/1 var(--round);background:var(--accent);color:var(--accent-ink);box-shadow:0 4px 0 var(--accent-lip);transition:transform .08s,box-shadow .08s;margin-bottom:4px;text-decoration:none}.btn:active:not(:disabled){transform:translateY(4px);box-shadow:0 0 0 var(--accent-lip)}.btn.wide{width:100%}.btn.alt{background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 2px var(--line),0 4px 0 var(--lip)}.btn.alt:active:not(:disabled){box-shadow:inset 0 0 0 2px var(--line),0 0 0 var(--lip)}.btn.alt .ic{color:var(--accent)}.btn.sm{min-height:var(--h-ctl);padding:0 var(--g4);font-size:var(--fs-1);border-radius:14px}.btn:disabled{opacity:.5;background:var(--soft);color:var(--muted);box-shadow:inset 0 0 0 2px var(--line);border:2px dashed var(--line);transform:none}.linkbtn{background:none;border:0;min-height:var(--h-ctl);padding:0 var(--g3);border-radius:var(--r-s);font:800 var(--fs-1)/1 var(--round);color:var(--accent)}.linkbtn.quiet{color:var(--muted)}.sheet{position:fixed;left:0;right:0;bottom:0;margin:0 auto;max-width:440px;overflow-y:auto;overscroll-behavior:contain;scroll-padding-bottom:104px;max-height:calc(100vh - var(--sheet-gap, 80px));max-height:calc(100dvh - var(--sheet-gap, 80px));--sbg: var(--card);background:var(--sbg);border-radius:28px 28px 0 0;box-shadow:var(--sheet-shadow);z-index:20;padding:0 20px;transform:translateY(104%);visibility:hidden;transition:transform .32s cubic-bezier(.2,.8,.2,1),visibility 0s linear .32s}.sheet.open{transform:none;visibility:visible;transition:transform .32s cubic-bezier(.2,.8,.2,1)}.sheet.t-good{--sbg: color-mix(in srgb, var(--good) 12%, var(--card))}.sheet.t-mid{--sbg: color-mix(in srgb, var(--warn) 12%, var(--card))}.sheet.t-low{--sbg: color-mix(in srgb, var(--bad) 12%, var(--card))}.handle{display:grid;place-items:center;width:100%;height:var(--h-ctl);border:0;background:none;margin-bottom:-8px}.handle i{width:40px;height:5px;border-radius:3px;background:color-mix(in srgb,var(--muted) 45%,transparent)}.sheetbody{display:flex;flex-direction:column;gap:var(--g3)}.sheetbody>:last-child:not(.acts){margin-bottom:calc(var(--g4) + env(safe-area-inset-bottom,0px))}.fbhead{display:flex;align-items:center;justify-content:space-between;gap:var(--g3)}.headline{margin:0;font:800 var(--fs-4)/1.1 var(--round);letter-spacing:-.01em}.fbsub{margin:4px 0 0;font-size:var(--fs-1);color:var(--muted)}.scorebtn{display:inline-flex;align-items:center;gap:2px;border:0;background:none;padding:0 0 0 var(--g2);min-height:var(--h-ctl);border-radius:var(--r-m)}.scorebtn .num{font:800 var(--fs-hero)/1 var(--round);font-variant-numeric:tabular-nums;letter-spacing:-.03em}.scorebtn .ic{color:var(--muted);transition:transform .2s}.scorebtn[aria-expanded=true] .ic{transform:rotate(180deg)}.good{color:var(--good)}.mid{color:var(--warn)}.low{color:var(--bad)}.badge.good,.badge.mid,.badge.low{color:var(--band-ink)}.hist{display:flex;align-items:center;justify-content:flex-end;gap:var(--g3);color:var(--muted);font-size:var(--fs-1)}.hist svg{display:block}.fix{background:var(--card);border-radius:var(--r-m);padding:var(--g3) var(--g4) var(--g4);display:flex;flex-direction:column;gap:var(--g2)}.fix .fh{font:800 var(--fs-1)/1.2 var(--round);color:var(--muted)}.fix .dh{font:700 var(--fs-3)/1.3 var(--ipa)}.fix .dt{margin-top:2px}.fix .segline{margin:0}.fix .segline b{font-family:var(--ipa)}.fix .btn{align-self:flex-start;margin-top:var(--g1)}.pills{display:flex;gap:var(--g2)}.pills .btn{flex:1}.heard{color:var(--muted);font-size:var(--fs-1);overflow-wrap:anywhere;margin:0}.tips{background:var(--card);border-radius:var(--r-m)}.tips summary{list-style:none;display:flex;align-items:center;gap:var(--g2);min-height:var(--h-ctl);padding:0 var(--g4);cursor:pointer;border-radius:var(--r-m)}.tips summary::-webkit-details-marker{display:none}.tips summary b{font:800 var(--fs-1)/1 var(--round);color:var(--muted);flex:none}.tips summary span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tips summary .ic{color:var(--muted);transition:transform .2s}.tips[open] summary .ic{transform:rotate(180deg)}.tips ul{margin:0;padding:0 var(--g4) var(--g3) 34px}.tips li{margin:var(--g1) 0}.cmp{position:relative;background:var(--card);border-radius:var(--r-m);padding:var(--g2)}.cmp canvas{display:block;width:100%;height:124px}.cmp .x{position:absolute;top:0;right:0;width:var(--h-ctl);height:var(--h-ctl);background:none;border:0;color:var(--muted);display:grid;place-items:center;border-radius:var(--r-m)}.cmp .x .ic{width:16px;height:16px}.acts{position:sticky;bottom:0;z-index:1;display:flex;flex-direction:column;align-items:stretch;gap:var(--g1);margin:0 -20px;padding:var(--g2) 20px calc(var(--g4) + env(safe-area-inset-bottom,0px));background:var(--sbg)}.histv{gap:var(--g5);padding-bottom:calc(var(--g5) + env(safe-area-inset-bottom,0px))}.histv h1{margin:0;font:800 var(--fs-4)/1.15 var(--round)}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--g2)}.tile{background:var(--card);border-radius:16px;padding:var(--g3) var(--g2);box-shadow:inset 0 0 0 2px var(--line),0 4px 0 var(--lip);margin-bottom:4px;text-align:center}.tile .tl{font:700 var(--fs-1)/1.2 var(--round);color:var(--muted)}.tile .tv{margin-top:6px;font:800 var(--fs-4)/1.1 var(--round);font-variant-numeric:tabular-nums;display:flex;align-items:center;justify-content:center;gap:4px}.tile .tv .ic{width:22px;height:22px;color:var(--flame)}.tile .tv small{font-size:var(--fs-2);color:var(--muted)}.week{background:var(--card);border-radius:var(--r-m);padding:var(--g3) var(--g3) var(--g4)}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.days div{display:flex;flex-direction:column;align-items:center;gap:6px;font:700 12px/1 var(--round);color:var(--muted)}.days i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--muted)}.days .on i{background:var(--flame);color:#fff}.days .on i .ic{width:18px;height:18px}.days .today{color:var(--ink);font-weight:800}.days .today i{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--flame)}.rows{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.rows a{display:flex;align-items:center;gap:var(--g3);min-height:56px;padding:0 var(--g3) 0 var(--g4);background:var(--card);border-radius:14px;text-decoration:none}.rows a b{font:800 var(--fs-2)/1.3 var(--round)}.rows a .n{flex:1;color:var(--muted);font-size:var(--fs-1);font-variant-numeric:tabular-nums}.foot{margin:0;font-size:var(--fs-1);color:var(--muted)}.emptybox{display:flex;flex-direction:column;align-items:flex-start;gap:var(--g3);background:var(--card);border-radius:var(--r-m);padding:var(--g4)}.emptybox p{margin:0;font:700 var(--fs-2)/1.4 var(--round)}.toast{position:fixed;left:50%;bottom:calc(var(--g5) + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:40;background:var(--ink);color:var(--bg);padding:var(--g3) var(--g4);border-radius:14px;font:700 var(--fs-1)/1.3 var(--round);max-width:calc(100% - 32px)}.lvl{display:flex;align-items:center;gap:var(--g3);min-height:var(--h-ctl);text-decoration:none;margin:-4px 0 var(--g2);flex:none}.lvlnum{width:32px;height:32px;flex:none;border-radius:10px;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);font:800 var(--fs-2)/1 var(--round);box-shadow:0 3px 0 var(--accent-lip);font-variant-numeric:tabular-nums}.lvlnum.big{width:52px;height:52px;border-radius:16px;font-size:var(--fs-4);box-shadow:0 4px 0 var(--accent-lip)}.lvlmid{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.lvltop{display:flex;justify-content:space-between;gap:var(--g2);font:700 var(--fs-1)/1.2 var(--round);color:var(--muted);font-variant-numeric:tabular-nums}.lvltop b{color:var(--ink);font-weight:800}.lvlbar{height:8px;border-radius:99px;background:var(--line);overflow:hidden}.lvlbar>i{display:block;height:100%;border-radius:99px;background:var(--accent);box-shadow:inset 0 2px #ffffff47;transition:width .5s cubic-bezier(.2,.8,.2,1)}.reward{background:var(--card);border-radius:var(--r-m);padding:var(--g3) var(--g4);display:flex;flex-direction:column;gap:var(--g2)}.reward.up{box-shadow:inset 0 0 0 2px var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--card));animation:pop .5s cubic-bezier(.2,1.4,.4,1)}@keyframes pop{0%{transform:scale(.92);opacity:0}to{transform:none;opacity:1}}.rhead{display:flex;align-items:center;gap:var(--g3)}.rhead b{display:block;font:800 var(--fs-3)/1.15 var(--round);color:var(--accent)}.rhead span:not(.lvlnum){font:700 var(--fs-2)/1.3 var(--round)}.xprow{display:flex;align-items:baseline;gap:var(--g2);flex-wrap:wrap}.xprow .xp{font:800 var(--fs-3)/1 var(--round);color:var(--accent);font-variant-numeric:tabular-nums}.xprow .why{font-size:var(--fs-1);color:var(--muted)}.rnote{margin:0;font-size:var(--fs-1);color:var(--muted)}.gains{display:flex;flex-wrap:wrap;gap:6px}.gain{display:inline-flex;align-items:center;gap:6px;min-height:var(--h-ctl);padding:0 var(--g3) 0 10px;border-radius:99px;text-decoration:none;background:var(--accent-soft);color:var(--ink);font:800 var(--fs-1)/1.2 var(--round)}.gain .ic{color:var(--accent)}.pills .btn{padding:0 var(--g2)}.card.prog{min-height:0;gap:4px}.card.prog>.ic{color:var(--accent);width:24px;height:24px;margin-bottom:2px}.card.prog b{font-size:var(--fs-3)}.card.prog small{color:var(--muted);font-weight:700;margin-top:0}.privacy a{color:var(--accent);font-weight:700}.tile .ts{margin-top:6px;font:600 12px/1.25 var(--ui);color:var(--muted)}.days .frz i{background:var(--accent-soft);color:var(--accent)}.days .frz i .ic{width:18px;height:18px}.weeknote{margin:var(--g3) 0 0;text-align:center;font-size:12px;color:var(--muted)}.group h2 .count{margin-left:auto;font:800 var(--fs-1)/1 var(--round);color:var(--muted);font-variant-numeric:tabular-nums}.badges{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--g2)}.badge-t{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:var(--g3) var(--g2);border-radius:16px;background:var(--card);box-shadow:inset 0 0 0 2px var(--line)}.badge-t .bicon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--muted);border:2px dashed var(--line)}.badge-t .bicon .ic{width:24px;height:24px}.badge-t b{font:800 var(--fs-1)/1.2 var(--round)}.badge-t small{font-size:11.5px;line-height:1.3;color:var(--muted)}.badge-t.got{box-shadow:inset 0 0 0 2px var(--accent-mark),0 3px 0 var(--lip)}.badge-t.got .bicon{background:var(--accent);color:var(--accent-ink);border:0;box-shadow:0 3px 0 var(--accent-lip)}.badge-t:not(.got) b{color:var(--muted)}.filters{display:flex;gap:var(--g2);flex-wrap:wrap}.fchip{min-height:var(--h-ctl);padding:0 var(--g4);border-radius:99px;border:0;background:var(--card);box-shadow:inset 0 0 0 2px var(--line);font:800 var(--fs-1)/1 var(--round);color:var(--muted)}.fchip[aria-checked=true]{background:var(--accent);color:var(--accent-ink);box-shadow:none}.rows a .wn{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.rows a .wn .n{flex:none}.spark{flex:none;overflow:visible}.spark polyline{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.spark circle{fill:var(--accent)}.emptyrow{padding:var(--g3) var(--g4);color:var(--muted);font-size:var(--fs-1);background:var(--card);border-radius:14px}.keep .pills{flex-wrap:wrap}.foot a{color:var(--accent);font-weight:700}.lead{margin:0;color:var(--muted)}.sounds{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--g2)}.snd{background:var(--card);border-radius:var(--r-m);padding:var(--g3) var(--g4);display:flex;flex-direction:column;gap:var(--g3);box-shadow:inset 0 0 0 2px var(--line)}.snd .sh{display:flex;align-items:center;gap:var(--g3)}.symc{min-width:48px;height:48px;padding:0 8px;border-radius:14px;display:grid;place-items:center;flex:none;font:600 22px/1 var(--ipa);background:var(--soft);color:var(--ink)}.snd .st{flex:1;min-width:0}.snd .st b{display:block;font:800 var(--fs-2)/1.25 var(--round)}.snd .st small{color:var(--muted);font-size:var(--fs-1)}.snd.learning .symc{background:color-mix(in srgb,var(--bad) 14%,var(--card));color:var(--bad)}.snd.close .symc{background:color-mix(in srgb,var(--warn) 16%,var(--card));color:var(--warn)}.snd.close .lvlbar>i{background:var(--warn)}.snd.conquered{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--good) 45%,var(--line))}.snd.conquered .symc{background:var(--good);color:var(--band-ink)}.snd .won{color:var(--good);width:26px;height:26px}.chips.small .chip{min-height:36px;font-size:var(--fs-1);padding:0 var(--g3);box-shadow:inset 0 0 0 2px var(--line);margin:0}.chip.sym{padding-left:6px}.chip.sym .symc{min-width:32px;height:32px;font-size:16px;border-radius:99px}.freepill{margin:0;align-self:flex-start;padding:var(--g2) var(--g4);border-radius:99px;background:var(--accent-soft);color:var(--accent);font:800 var(--fs-1)/1.3 var(--round)}.prose h2{margin:0 0 var(--g2);font:800 var(--fs-3)/1.25 var(--round)}.prose p{margin:0 0 var(--g2);max-width:62ch}@media(prefers-reduced-motion:reduce){.reward.up{animation:none}.lvlbar>i{transition:none}}.confetti{position:fixed;left:0;top:0;width:100%;height:0;pointer-events:none;z-index:30}.confetti i{position:fixed;width:9px;height:14px;border-radius:2px;opacity:0;animation:fall var(--t) cubic-bezier(.2,.7,.4,1) forwards}@keyframes fall{0%{opacity:1;transform:translate(0) rotate(0)}to{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--r))}}@media(prefers-reduced-motion:reduce){.confetti{display:none}.mic.busy:after{animation-duration:2.4s}.sheet,.sheet.open,.chunk,.wcard,.scorebtn .ic,.tips summary .ic,.btn,.round,.mic,.card{transition:none}.chunk:active,.btn:active,.round:active,.mic:active,.card:active{transform:none}.wcard.rec{animation:none}.mic.pulse:before{animation:none;opacity:.6;transform:scale(1.12)}.ring{transform:scale(1.25);opacity:.3}}
