@font-face{font-family:Anton;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/anton-vietnamese-400-normal-CkBxLiRJ.woff2)format("woff2"),url(/assets/anton-vietnamese-400-normal-2FfR1wHA.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Anton;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/anton-latin-ext-400-normal-SyiqE2Jt.woff2)format("woff2"),url(/assets/anton-latin-ext-400-normal-BMODBQc6.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Anton;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/anton-latin-400-normal-Byf51wtH.woff2)format("woff2"),url(/assets/anton-latin-400-normal-AUNGEG_V.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-vietnamese-400-normal-Dpl4UHAZ.woff2)format("woff2"),url(/assets/barlow-vietnamese-400-normal-BFeobeCK.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-ext-400-normal-HxX4XjxC.woff2)format("woff2"),url(/assets/barlow-latin-ext-400-normal-CvBsJvxq.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2)format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/barlow-vietnamese-400-italic-BadtuaKt.woff2)format("woff2"),url(/assets/barlow-vietnamese-400-italic-h5SLTWmb.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-ext-400-italic-BALf98tD.woff2)format("woff2"),url(/assets/barlow-latin-ext-400-italic-DW2GD2EY.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-italic-BjGuzOss.woff2)format("woff2"),url(/assets/barlow-latin-400-italic-B9FqDUoy.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-vietnamese-700-normal-D6euyNzi.woff2)format("woff2"),url(/assets/barlow-vietnamese-700-normal-4Jt4k04K.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-latin-ext-700-normal-BLuWmldJ.woff2)format("woff2"),url(/assets/barlow-latin-ext-700-normal-CctuGmmz.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-latin-700-normal-A9pxMQ4z.woff2)format("woff2"),url(/assets/barlow-latin-700-normal-__SGTsZ1.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/barlow-vietnamese-800-normal-Cl1Mc_Dv.woff2)format("woff2"),url(/assets/barlow-vietnamese-800-normal-D0VWpbij.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/barlow-latin-ext-800-normal-BiucknKG.woff2)format("woff2"),url(/assets/barlow-latin-ext-800-normal-D7I3yvUw.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/barlow-latin-800-normal-s1sAMnoV.woff2)format("woff2"),url(/assets/barlow-latin-800-normal-BdVooDN4.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.toast[data-v-c66a1f37]{z-index:50;background:var(--ink);max-width:calc(100vw - 32px);color:var(--surface);border:2px solid var(--highlight);box-shadow:var(--shadow);border-radius:14px;align-items:center;gap:8px;padding:10px 18px;font-weight:700;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast-enter-active[data-v-c66a1f37],.toast-leave-active[data-v-c66a1f37]{transition:opacity .25s,transform .25s}.toast-enter-from[data-v-c66a1f37],.toast-leave-to[data-v-c66a1f37]{opacity:0;transform:translate(-50%,12px)}@media (width<=640px){.toast[data-v-c66a1f37]{bottom:84px}}.confirm[data-v-2ed576b3]{border:var(--stroke);border-radius:var(--radius);background:var(--surface);width:min(400px,100vw - 32px);color:var(--text);box-shadow:var(--shadow);padding:0}.confirm[open][data-v-2ed576b3]{animation:.2s cubic-bezier(.2,.8,.2,1) pop-in-2ed576b3}.confirm[data-v-2ed576b3]::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#14141499}.content[data-v-2ed576b3]{gap:10px;padding:20px 22px 18px;display:grid}.content p[data-v-2ed576b3]{margin:0}.actions[data-v-2ed576b3]{justify-content:flex-end;margin-top:8px}@keyframes pop-in-2ed576b3{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:none}}.badges[data-v-a841dd98]{gap:5px}.level-learning[data-v-a841dd98]{background:var(--surface)}.level-playable[data-v-a841dd98]{background:var(--highlight-soft)}.level-mastered[data-v-a841dd98]{background:var(--highlight);color:var(--on-highlight);--icon-fill:var(--on-highlight)}.history[data-v-dbac6257]{border-top:1.5px dashed var(--line);padding-top:12px}summary[data-v-dbac6257]{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}summary .field-title[data-v-dbac6257],p .field-title[data-v-dbac6257]{margin:0 8px 0 0;display:inline}ul[data-v-dbac6257]{gap:6px;margin-top:10px;display:grid}li[data-v-dbac6257]{background:var(--surface-soft);border-radius:6px;flex-wrap:nowrap;padding:6px 10px}.day[data-v-dbac6257]{white-space:nowrap;font-weight:700}.what[data-v-dbac6257]{justify-content:flex-end;gap:4px 10px}.what .row[data-v-dbac6257]{gap:4px}.recordings[data-v-f5a1d224]{border-top:1.5px dashed var(--line);gap:10px;padding-top:12px;display:grid}.recordings .field-title[data-v-f5a1d224]{margin:0}audio[data-v-f5a1d224]{width:100%;height:40px}.record[data-v-f5a1d224]{width:100%}.dot[data-v-f5a1d224]{background:var(--on-highlight);border-radius:50%;width:12px;height:12px;display:inline-block}.live[data-v-f5a1d224]{border:var(--stroke);background:var(--highlight-soft);border-radius:8px;padding:8px 10px;font-weight:700}.live .dot[data-v-f5a1d224]{background:var(--highlight)}.pulse[data-v-f5a1d224]{animation:1s ease-in-out infinite pulse-f5a1d224}@keyframes pulse-f5a1d224{50%{opacity:.25}}.compare[data-v-f5a1d224]{grid-template-columns:1fr 1fr;gap:10px;display:grid}.compare p[data-v-f5a1d224]{margin-bottom:4px}.all summary[data-v-f5a1d224]{cursor:pointer;color:var(--muted);font-weight:700}.all ul[data-v-f5a1d224]{gap:10px;margin-top:8px;display:grid}.take p[data-v-f5a1d224]{margin-bottom:2px}.small-icon[data-v-f5a1d224]{width:34px;height:34px;font-size:1rem}@media (width<=480px){.compare[data-v-f5a1d224]{grid-template-columns:1fr}}.sheet[data-v-24034136]{border:var(--stroke);border-radius:var(--radius);background:var(--surface);width:min(520px,100vw - 24px);max-height:calc(100dvh - 32px);color:var(--text);box-shadow:var(--shadow);padding:0}.sheet[open][data-v-24034136]{animation:.2s cubic-bezier(.2,.8,.2,1) pop-in-24034136}.sheet[data-v-24034136]::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#14141499}.content[data-v-24034136]{border-top:9px solid #0000;border-image:var(--stripes) 1;gap:14px;padding:16px 18px 18px;display:grid}.head[data-v-24034136]{flex-wrap:nowrap;align-items:flex-start}.artist[data-v-24034136]{font-weight:700}.memo[data-v-24034136]{background:var(--surface-soft);border:1.5px solid var(--ink);border-left:6px solid var(--highlight);border-radius:6px;gap:8px;margin:0;padding:12px 14px;display:grid}.memo div[data-v-24034136]{grid-template-columns:110px 1fr;gap:8px;display:grid}.memo dt[data-v-24034136]{color:var(--muted);font-size:.9rem;font-weight:700}.memo dd[data-v-24034136]{white-space:pre-line;margin:0}.notes dd[data-v-24034136]{font-style:italic}.actions .button[data-v-24034136]{flex:1}.played-row[data-v-24034136]{border-top:1.5px dashed var(--line);padding-top:4px}.hint[data-v-24034136]{margin-top:6px}.edit[data-v-24034136]{justify-self:center}@media (width<=480px){.memo div[data-v-24034136]{grid-template-columns:1fr;gap:0}}@keyframes pop-in-24034136{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}.login[data-v-69930cc0]{place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.login-card[data-v-69930cc0]{text-align:center;justify-items:center;gap:14px;width:100%;max-width:380px;margin:0;padding:32px 22px;display:grid}.title[data-v-69930cc0]{text-shadow:3px 3px 0 var(--highlight);font-size:2.6rem;transform:skew(-8deg)}.title span[data-v-69930cc0]{color:var(--highlight);text-shadow:3px 3px 0 var(--ink);display:block}.title[data-v-69930cc0]:after{margin:10px auto 0}.google[data-v-69930cc0]{color:#141414;background:#fff;gap:10px;padding:12px 20px;font-size:1.05rem}.google-logo[data-v-69930cc0]{width:22px;height:22px}.topbar[data-v-560401df]{z-index:10;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top));background:var(--header-bg);border-bottom:4px solid var(--highlight);box-shadow:0 3px 0 var(--stripe-mid), 0 7px 0 var(--highlight);justify-content:space-between;align-items:center;gap:12px;margin-bottom:7px;display:flex;position:sticky;top:0}.brand[data-v-560401df]{align-items:center;gap:10px;min-width:0;text-decoration:none;display:inline-flex}.logo[data-v-560401df]{flex-shrink:0;transition:transform .3s;display:block}.brand:hover .logo[data-v-560401df]{transform:rotate(-10deg)scale(1.08)}.brand-name[data-v-560401df]{font-family:var(--font-display);letter-spacing:.03em;text-transform:uppercase;color:var(--header-text);text-shadow:2px 2px 0 var(--highlight);white-space:nowrap;font-size:1.45rem;line-height:1;transform:skew(-8deg)}.brand-name span[data-v-560401df]{color:var(--highlight);text-shadow:2px 2px 0 var(--header-text)}.nav[data-v-560401df]{gap:4px;display:flex}.nav-link[data-v-560401df]{color:var(--header-text);text-transform:uppercase;letter-spacing:.04em;--icon-stroke:var(--header-text);border:2px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:.92rem;font-weight:700;text-decoration:none;transition:background .15s;display:inline-flex}.nav-link[data-v-560401df]:hover{background:#ffffff1a}.nav-link.router-link-exact-active[data-v-560401df]{background:var(--highlight);color:var(--on-highlight);border-color:var(--header-text);--icon-fill:var(--on-highlight);--icon-stroke:#141414}.offline[data-v-560401df]{text-align:center;background:var(--info-soft);border-bottom:2px solid var(--ink);margin:0;padding:8px 16px;font-size:.9rem;font-weight:700}@media (width<=760px){.topbar[data-v-560401df]{padding:8px 16px;padding-top:calc(8px + env(safe-area-inset-top));justify-content:center}.nav[data-v-560401df]{z-index:20;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:var(--header-bg);border-top:4px solid var(--highlight);box-shadow:0 -3px 0 var(--stripe-mid), 0 -7px 0 var(--highlight);gap:4px;position:fixed;bottom:0;left:0;right:0}.nav-link[data-v-560401df]{text-transform:none;letter-spacing:0;white-space:nowrap;border-radius:8px;flex-direction:column;flex:1;gap:1px;min-width:0;padding:5px 2px;font-size:.74rem}.nav-icon[data-v-560401df]{font-size:1.35rem}main[data-v-560401df]{padding-bottom:calc(110px + env(safe-area-inset-bottom))}}.signature[data-v-560401df]{text-align:center;color:var(--muted);margin-top:40px;font-size:.88rem;font-weight:700}.signature-logo[data-v-560401df]{vertical-align:-5px;margin-right:2px}.signature a[data-v-560401df]{color:inherit;text-underline-offset:2px}.signature a[data-v-560401df]:hover{color:var(--accent)}.sign-out[data-v-560401df]{margin:10px auto 0;padding:4px 12px;font-size:.85rem;display:block}.page-enter-active[data-v-560401df],.page-leave-active[data-v-560401df]{transition:opacity .16s,transform .16s}.page-enter-from[data-v-560401df]{opacity:0;transform:translateY(6px)}.page-leave-to[data-v-560401df]{opacity:0}.song-card[data-v-b1e8d4a0]{background:var(--surface);border:var(--stroke);border-radius:var(--radius);box-shadow:var(--shadow-small);align-items:center;gap:10px;padding:4px 10px 4px 4px;display:flex}.open[data-v-b1e8d4a0]{text-align:left;min-width:0;box-shadow:none;background:0 0;border:none;border-radius:8px;flex:1;justify-content:stretch;justify-items:start;gap:3px;padding:10px 12px;font-weight:400;display:grid}.open[data-v-b1e8d4a0]:hover{background:var(--surface-soft)}.open[data-v-b1e8d4a0]:active{transform:none}.title[data-v-b1e8d4a0]{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;font-size:1.2rem;line-height:1.1}.artist[data-v-b1e8d4a0]{margin-top:-2px;font-weight:700}.parts[data-v-b1e8d4a0]{color:var(--text)}.played[data-v-b1e8d4a0]{box-shadow:none;--icon-fill:var(--surface);border-style:dashed;flex-shrink:0}.played.on[data-v-b1e8d4a0]{background:var(--highlight);--icon-fill:var(--on-highlight);border-style:solid}.review[data-v-c71a2ef6]{background:var(--highlight-soft);gap:8px;display:grid}.review h2[data-v-c71a2ef6]{gap:8px}.review-list[data-v-c71a2ef6]{gap:6px}.review-list button[data-v-c71a2ef6]{padding:5px 12px;font-size:.92rem}.filters[data-v-c71a2ef6]{gap:10px;margin-bottom:14px}.search[data-v-c71a2ef6]{display:block;position:relative}.search-icon[data-v-c71a2ef6]{pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search input[data-v-c71a2ef6]{padding-left:42px}.count[data-v-c71a2ef6]{gap:8px;margin-bottom:8px}.sort[data-v-c71a2ef6]{gap:6px}.list[data-v-c71a2ef6]{gap:10px;display:grid}.empty .button[data-v-c71a2ef6]{justify-self:center}:root{--bg:#111;--surface:#1c1a19;--surface-soft:#262322;--ink:#f4f2ed;--text:#f4f2ed;--muted:#b3aca3;--line:#3a3533;--accent:#f4f2ed;--accent-dark:#fff;--accent-soft:#2f2b29;--highlight:#e5261f;--highlight-dark:#b8160f;--highlight-soft:#4a1916;--success:#3fae64;--success-soft:#1f3a28;--info:#e5261f;--info-soft:#4a1916;--alert:#ff4d45;--alert-soft:#4a1916;--on-accent:#141414;--on-highlight:#fff;--header-bg:#000;--header-text:#fff;--shadow:4px 4px 0 var(--highlight);--shadow-small:2px 2px 0 var(--highlight);--stroke:2.5px solid var(--ink);--radius:10px;--stripe-mid:#f4f2ed;--stripes:linear-gradient(var(--highlight) 0 40%, var(--stripe-mid) 40% 60%, var(--highlight) 60%);--page-bg:radial-gradient(ellipse 90% 55% at 50% -5%, #e5261f61, transparent 70%), radial-gradient(#ffffff0d 1px, transparent 1.2px) 0 0 / 6px 6px, var(--bg);--font-display:"Anton", Impact, "Arial Narrow Bold", sans-serif;--font-body:"Barlow", system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:16px}*{box-sizing:border-box}body{color:var(--text);background:var(--page-bg);background-attachment:fixed;margin:0;line-height:1.45;overflow-x:hidden}h1,h2,h3{font-family:var(--font-display);letter-spacing:.03em;text-transform:uppercase;margin:0;font-weight:400;line-height:1.1}h1{font-size:2.1rem}h1:after{content:"";background:var(--stripes);width:72px;height:9px;margin-top:6px;display:block}h2{font-size:1.35rem}h3{font-size:1.15rem}ul{margin:0;padding:0;list-style:none}p{margin:0}button,.button{font:inherit;border:var(--stroke);background:var(--surface);color:var(--text);box-shadow:var(--shadow-small);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-weight:700;text-decoration:none;transition:transform .1s,box-shadow .1s,background .15s;display:inline-flex}button:hover,.button:hover{background:var(--highlight-soft)}button:active,.button:active{box-shadow:0 0 0 var(--ink);transform:translate(2px,2px)}button:disabled{opacity:.5;cursor:default;box-shadow:var(--shadow-small);transform:none}button:focus-visible,.button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--highlight);outline-offset:3px}.primary{background:var(--accent);color:var(--on-accent)}.primary:hover{background:var(--accent-dark)}.loud{background:var(--highlight);color:var(--on-highlight);text-transform:uppercase;letter-spacing:.04em;font-weight:800}.loud:hover{background:var(--highlight-dark)}.big{padding:12px 24px;font-size:1.1rem}button.ghost,.button.ghost{box-shadow:none;color:var(--muted);background:0 0;border-color:#0000}button.ghost:hover,.button.ghost:hover{color:var(--text);background:var(--highlight-soft)}button.danger{color:var(--alert)}button.danger:hover{background:var(--alert-soft)}button.icon{width:44px;height:44px;padding:0;font-size:1.3rem}input,select,textarea{font:inherit;border:var(--stroke);background:var(--surface);color:var(--text);border-radius:8px;width:100%;min-width:0;padding:10px 14px;font-size:1rem}textarea{resize:vertical;min-height:84px}input::placeholder,textarea::placeholder{color:#9b958c}input:focus,select:focus,textarea:focus{background:var(--surface);border-color:var(--highlight);outline:none}label.field{gap:4px;font-size:.92rem;font-weight:700;display:grid}.field-title{margin-bottom:6px;font-size:.92rem;font-weight:700}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:2px dashed var(--muted);background:var(--surface);color:var(--muted);box-shadow:none;padding:6px 14px;font-size:.95rem}.chip.on{border:var(--stroke);background:var(--highlight);color:var(--on-highlight);box-shadow:var(--shadow-small)}main{max-width:900px;margin:0 auto;padding:18px 16px 48px}.card{background:var(--surface);border:var(--stroke);border-radius:var(--radius);box-shadow:var(--shadow);margin:16px 0;padding:16px 18px}.page-head{gap:4px;margin:4px 0 14px;display:grid}.stack{gap:14px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.between{justify-content:space-between}.muted{color:var(--muted)}.small{font-size:.88rem}.error{color:var(--alert);font-weight:700}.empty{color:var(--muted);text-align:center;padding:28px 12px}.section-title{align-items:center;gap:8px;margin:26px 0 10px;display:flex}.badge{border:1.5px solid var(--ink);background:var(--surface-soft);color:var(--ink);white-space:nowrap;border-radius:4px;align-items:center;gap:4px;padding:1px 9px;font-size:.8rem;font-weight:700;display:inline-flex}.badge.success{background:var(--success-soft)}.badge.highlight{background:var(--highlight-soft)}.badge.accent{background:var(--accent-soft)}.badge.alert{background:var(--alert-soft)}.spinner{font-size:1.6rem;animation:.9s ease-in-out infinite wobble;display:inline-block}@keyframes wobble{0%,to{transform:rotate(-14deg)}50%{transform:rotate(14deg)scale(1.1)}}.appear{animation:.35s cubic-bezier(.2,.8,.2,1) both appear;animation-delay:calc(min(var(--i,0), 12) * 25ms)}@keyframes appear{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.chip.on,.loud{--icon-fill:var(--on-highlight);--icon-stroke:#141414}
