@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vazirmatn-arabic-400-normal-DMZFCm7K.woff2) format("woff2"),url(/assets/vazirmatn-arabic-400-normal-C4W5XURk.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vazirmatn-latin-ext-400-normal-BdGhO0lm.woff2) format("woff2"),url(/assets/vazirmatn-latin-ext-400-normal-DPxMaNjI.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Vazirmatn;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vazirmatn-latin-400-normal-BT_DHTc7.woff2) format("woff2"),url(/assets/vazirmatn-latin-400-normal-GKyMcI03.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/vazirmatn-arabic-500-normal-C_lbnnKa.woff2) format("woff2"),url(/assets/vazirmatn-arabic-500-normal-Dqq3-xo3.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/vazirmatn-latin-ext-500-normal-CgxvvVrG.woff2) format("woff2"),url(/assets/vazirmatn-latin-ext-500-normal-4XgegWYb.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Vazirmatn;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/vazirmatn-latin-500-normal-6zZzgpg4.woff2) format("woff2"),url(/assets/vazirmatn-latin-500-normal-Bg_BALlD.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/vazirmatn-arabic-600-normal-CPKvAnd1.woff2) format("woff2"),url(/assets/vazirmatn-arabic-600-normal-CWYTfCgi.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/vazirmatn-latin-ext-600-normal-CyxCUfFz.woff2) format("woff2"),url(/assets/vazirmatn-latin-ext-600-normal-Di8rk35l.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Vazirmatn;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/vazirmatn-latin-600-normal-D-zF-Oec.woff2) format("woff2"),url(/assets/vazirmatn-latin-600-normal-BxJiDPKT.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/vazirmatn-arabic-700-normal-Dge_DOjm.woff2) format("woff2"),url(/assets/vazirmatn-arabic-700-normal-B5nPuCFv.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/vazirmatn-latin-ext-700-normal-BfoXmNMx.woff2) format("woff2"),url(/assets/vazirmatn-latin-ext-700-normal-DMYLqBto.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Vazirmatn;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/vazirmatn-latin-700-normal-9BlbvDRV.woff2) format("woff2"),url(/assets/vazirmatn-latin-700-normal-DrB0PBU6.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-latin: "Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-fa: "Vazirmatn", "Inter Variable", system-ui, sans-serif;--font: var(--font-latin);--bg: #f6f2eb;--bg-grad: radial-gradient(1200px 600px at 10% -10%, #fbe9dc 0%, transparent 60%);--surface: #ffffff;--surface-2: #f2ece2;--surface-3: #e9e1d4;--ink: #1f1b17;--ink-2: #5a5249;--ink-3: #6f675c;--line: #e3dbcf;--line-strong: #cfc4b4;--accent: #b4532a;--accent-2: #d97745;--accent-soft: #f6e1d4;--accent-ink: #ffffff;--good: #237547;--good-soft: #dcf1e4;--bad: #b23a33;--bad-soft: #f8dedb;--warn: #8f5d12;--warn-soft: #f8ecd2;--staff-ink: #221e1a;--nylon: #d9d2c4;--wound: #b08d57;--fret: #b9ae9c;--wood: #f0e4d2;--shadow: 0 1px 2px rgb(60 40 20 / 6%), 0 6px 24px rgb(60 40 20 / 7%);--shadow-lg: 0 2px 6px rgb(60 40 20 / 8%), 0 18px 48px rgb(60 40 20 / 12%);--radius: 16px;--radius-sm: 10px;--ease: cubic-bezier(.2, .8, .2, 1);color-scheme:light}:root[data-theme=dark]{--bg: #121314;--bg-grad: radial-gradient(1200px 600px at 10% -10%, #2a1d16 0%, transparent 60%);--surface: #1b1c1e;--surface-2: #232427;--surface-3: #2c2d31;--ink: #eeeae4;--ink-2: #b8b1a7;--ink-3: #958d82;--line: #2f3034;--line-strong: #43444a;--accent: #e2814f;--accent-2: #f0a172;--accent-soft: #3a2519;--accent-ink: #1a0f08;--good: #4cc38a;--good-soft: #17301f;--bad: #f0716a;--bad-soft: #3a1c1a;--warn: #e3b04b;--warn-soft: #362a12;--staff-ink: #ece6dc;--nylon: #8d877d;--wound: #c9a46a;--fret: #57534c;--wood: #2a241d;--shadow: 0 1px 2px rgb(0 0 0 / 30%), 0 8px 28px rgb(0 0 0 / 28%);--shadow-lg: 0 2px 6px rgb(0 0 0 / 35%), 0 20px 50px rgb(0 0 0 / 40%);color-scheme:dark}:root[lang=fa]{--font: var(--font-fa)}:root[lang=fa] :is(h1,h2,h3,.big-name,.stat .value){letter-spacing:0}[dir=rtl] .flip-rtl{display:inline-block;transform:scaleX(-1)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:15px;line-height:1.5;color:var(--ink);background:var(--bg-grad),var(--bg);background-attachment:fixed;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01"}.latin{font-family:var(--font-latin)}.fa{font-family:var(--font-fa)}a{color:var(--accent);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}h1,h2,h3{margin:0;line-height:1.2;letter-spacing:-.01em}h1{font-size:28px;font-weight:700}h2{font-size:19px;font-weight:650}h3{font-size:15px;font-weight:650}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.small{font-size:13px}.tiny{font-size:11.5px}.num{font-variant-numeric:tabular-nums}.shell{display:grid;grid-template-columns:232px 1fr;min-height:100%}.sidebar{position:sticky;top:0;height:100vh;padding:22px 14px;display:flex;flex-direction:column;gap:4px;border-inline-end:1px solid var(--line);background:color-mix(in srgb,var(--surface) 55%,transparent);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px;padding:4px 10px 18px;font-weight:750;font-size:18px}.brand-mark{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(140deg,var(--accent),var(--accent-2));color:var(--accent-ink);box-shadow:var(--shadow)}.brand small{display:block;font-weight:500;font-size:11.5px;color:var(--ink-3)}.nav-link{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:10px;color:var(--ink-2);font-weight:550;transition:background .15s,color .15s}.nav-link:hover{background:var(--surface-2);color:var(--ink)}.nav-link.active{background:var(--accent-soft);color:var(--accent)}.nav-link svg{flex:none}.sidebar .spacer{flex:1}.main{min-width:0;padding:32px clamp(16px,4vw,48px) 48px}.page{max-width:1080px;margin:0 auto;display:flex;flex-direction:column;gap:22px;animation:page-in .35s var(--ease)}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-header p{margin:6px 0 0}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}}.tabbar{display:none}@media (max-width: 820px){.shell{grid-template-columns:1fr}.sidebar{display:none}.main{padding:18px 14px 96px}.tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;inset:auto 0 0;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(14px);border-top:1px solid var(--line);z-index:20}.tabbar a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;color:var(--ink-3);padding:6px 0;border-radius:10px}.tabbar a.active{color:var(--accent)}h1{font-size:24px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card.flat{box-shadow:none}.card-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width: 980px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 620px){.grid-2,.grid-3{grid-template-columns:1fr}}.row{display:flex;align-items:center;gap:10px}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:10px}.stack.lg{gap:18px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-weight:600;cursor:pointer;transition:transform .08s,background .15s,border-color .15s,box-shadow .15s;user-select:none;white-space:nowrap}.btn:hover{background:var(--surface-2)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 35%,transparent)}.btn.primary:hover{background:color-mix(in srgb,var(--accent) 88%,black)}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--surface-2)}.btn.danger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,transparent)}.btn.lg{padding:14px 24px;font-size:16px;border-radius:14px}.btn.sm{padding:6px 12px;font-size:13px;border-radius:9px}.btn.block{width:100%}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;font-weight:550;font-size:13.5px;transition:all .15s}.chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.chip:disabled{opacity:.5}.segmented{display:inline-flex;padding:3px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line);gap:2px;flex-wrap:wrap}.segmented button{border:0;background:transparent;padding:7px 14px;border-radius:9px;font-weight:600;color:var(--ink-2);cursor:pointer}.segmented button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;cursor:pointer}.toggle input{appearance:none;width:42px;height:24px;border-radius:999px;background:var(--surface-3);position:relative;transition:background .2s;flex:none;cursor:pointer}.toggle input:after{content:"";position:absolute;inset-block-start:3px;inset-inline-start:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .2s var(--ease)}.toggle input:checked{background:var(--accent)}.toggle input:checked:after{transform:translate(18px)}[dir=rtl] .toggle input:checked:after{transform:translate(-18px)}.input,select.input{width:100%;padding:11px 13px;border-radius:11px;border:1px solid var(--line-strong);background:var(--surface);transition:border-color .15s,box-shadow .15s}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}label.field{display:flex;flex-direction:column;gap:6px;font-weight:550;font-size:13.5px}label.field .hint{font-weight:400;color:var(--ink-3);font-size:12px}input[type=range]{width:100%;accent-color:var(--accent)}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;background:var(--surface-2);color:var(--ink-2)}.badge.good{background:var(--good-soft);color:var(--good)}.badge.bad{background:var(--bad-soft);color:var(--bad)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.accent{background:var(--accent-soft);color:var(--accent)}.banner{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:var(--radius);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);flex-wrap:wrap}.banner.warn{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 35%,transparent)}.banner.bad{background:var(--bad-soft);border-color:color-mix(in srgb,var(--bad) 35%,transparent)}.banner>div{flex:1;min-width:200px}.stat{display:flex;flex-direction:column;gap:2px}.stat .value{font-size:26px;font-weight:720;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat .label{font-size:12.5px;color:var(--ink-3);font-weight:550}.mode-card{position:relative;display:flex;flex-direction:column;gap:8px;text-align:start;padding:20px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);cursor:pointer;transition:transform .18s var(--ease),box-shadow .18s,border-color .18s;min-height:150px;color:var(--ink)}.mode-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.mode-card .icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}.mode-card p{margin:0;color:var(--ink-2);font-size:13.5px}.table{width:100%;border-collapse:collapse}.table th{text-align:start;font-size:12px;color:var(--ink-3);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--line)}.table td{padding:10px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.table tr.me td{background:var(--accent-soft)}.table tr:last-child td{border-bottom:0}.rank-medal{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;font-weight:700;font-size:13px;background:var(--surface-2)}.rank-medal.r1{background:#f3d36b;color:#5a4300}.rank-medal.r2{background:#d7dbe0;color:#3d434b}.rank-medal.r3{background:#e7b98f;color:#5b3416}.session{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:18px}.session-bar{display:flex;align-items:center;gap:14px}.progress-track{flex:1;height:6px;border-radius:999px;background:var(--surface-3);overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:inherit;transition:width .3s var(--ease)}[dir=rtl] .progress-fill{background:linear-gradient(270deg,var(--accent),var(--accent-2))}.prompt-card{position:relative;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:26px 20px;border-radius:22px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg);transition:border-color .2s,box-shadow .2s;overflow:hidden}.prompt-card.good{border-color:var(--good);box-shadow:0 0 0 4px color-mix(in srgb,var(--good) 18%,transparent),var(--shadow-lg)}.prompt-card.bad{border-color:var(--bad);box-shadow:0 0 0 4px color-mix(in srgb,var(--bad) 16%,transparent),var(--shadow-lg)}.prompt-card .question-label{color:var(--ink-3);font-weight:600;font-size:13px;letter-spacing:.02em}.prompt-enter{animation:prompt-in .28s var(--ease)}@keyframes prompt-in{0%{opacity:0;transform:translateY(8px) scale(.985)}}.shake{animation:shake .35s}@keyframes shake{25%{transform:translate(-6px)}50%{transform:translate(5px)}75%{transform:translate(-3px)}}.big-name{font-size:clamp(54px,9vw,84px);font-weight:760;line-height:1.05;letter-spacing:-.02em}.big-name .qualifier{display:block;font-size:18px;font-weight:600;color:var(--ink-2);letter-spacing:0;margin-top:8px}.answers{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.answers.four{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width: 620px){.answers{grid-template-columns:repeat(4,minmax(0,1fr))}}.answer-btn{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 6px 12px;border-radius:14px;border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;font-weight:700;font-size:22px;transition:transform .08s,background .15s,border-color .15s;box-shadow:var(--shadow)}.answer-btn .sub{font-size:12.5px;font-weight:550;color:var(--ink-3)}.answer-btn .key{position:absolute;inset-block-start:6px;inset-inline-end:8px;font-size:10.5px;color:var(--ink-3);font-weight:600}.answer-btn:hover{border-color:var(--accent)}.answer-btn:active{transform:scale(.97)}.answer-btn.correct{background:var(--good-soft);border-color:var(--good);color:var(--good)}.answer-btn.wrong{background:var(--bad-soft);border-color:var(--bad);color:var(--bad)}.answer-btn:disabled{cursor:default}.feedback{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:16px;animation:prompt-in .22s var(--ease);flex-wrap:wrap}.feedback.good{background:var(--good-soft);color:var(--good)}.feedback.bad{background:var(--bad-soft);color:var(--bad)}.feedback.neutral{background:var(--surface-2);color:var(--ink-2)}.feedback .title{font-weight:700;font-size:17px}.feedback .detail{color:var(--ink-2);font-size:14px}.feedback>div{flex:1;min-width:200px}.timer-ring{flex:none}.timer-ring circle{transition:stroke-dashoffset .1s linear}.listen-pill{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;background:var(--surface-2);font-weight:600;color:var(--ink-2)}.pulse-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);animation:pulse 1.4s infinite}@keyframes pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--accent) 60%,transparent)}70%{box-shadow:0 0 0 10px transparent}to{box-shadow:0 0 0 0 transparent}}.meter{position:relative;height:8px;border-radius:999px;background:var(--surface-3);overflow:hidden}.meter .fill{position:absolute;inset-block:0;inset-inline-start:0;background:linear-gradient(90deg,var(--good),var(--warn) 80%,var(--bad));border-radius:inherit;transition:width .06s linear}.meter .gate{position:absolute;inset-block:-2px;width:2px;background:var(--ink);opacity:.6}.kbd{display:inline-block;padding:1px 6px;border-radius:5px;border:1px solid var(--line-strong);background:var(--surface-2);font-size:11.5px;font-family:var(--font-latin)}.staff-svg{width:100%;height:auto;display:block}.staff-svg .hit{cursor:pointer}.fretboard-svg{width:100%;height:auto;display:block;user-select:none}.fretboard-svg .cell{cursor:pointer}.fretboard-svg .cell:hover .hover-dot{opacity:.35}.hover-dot{opacity:0;transition:opacity .12s}.toast{position:fixed;inset-block-end:24px;inset-inline-start:50%;transform:translate(-50%);padding:12px 18px;border-radius:14px;background:var(--ink);color:var(--bg);box-shadow:var(--shadow-lg);font-weight:600;z-index:100;animation:prompt-in .25s var(--ease)}[dir=rtl] .toast{transform:translate(50%)}.toast.good{background:var(--good);color:#fff}.toast.bad{background:var(--bad);color:#fff}@media (max-width: 820px){.toast{inset-block-end:90px}}.empty{padding:30px;text-align:center;color:var(--ink-3)}.heat-cell{border-radius:12px;padding:10px 8px;text-align:center;border:1px solid var(--line);transition:transform .15s}.heat-cell:hover{transform:translateY(-1px)}.heat-cell .nm{font-weight:700}.heat-cell .sub{font-size:11.5px;color:var(--ink-2)}.ach{display:flex;gap:12px;align-items:center;padding:12px;border-radius:14px;border:1px solid var(--line);background:var(--surface)}.ach.locked{opacity:.55;filter:grayscale(.8)}.ach .ic{font-size:24px;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--surface-2)}.ach-progress{height:4px;border-radius:999px;background:var(--surface-3);overflow:hidden;margin-top:6px}.ach-progress>div{height:100%;background:var(--accent)}.tuner-gauge text{font-family:var(--font-latin)}.auth-wrap{min-height:100%;display:grid;place-items:center;padding:24px 14px}.auth-card{width:min(420px,100%)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.instruction{font-weight:650;font-size:15px;color:var(--ink)}.correct-pop{animation:prompt-in .18s var(--ease);font-size:13px}.scroll-x{direction:ltr;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrap{overflow-x:auto}.fretboard-answer{min-width:480px}.staff-svg,.fretboard-svg{touch-action:manipulation}@media (max-width: 820px){.main:has(.session){padding-bottom:24px}.sticky-action{position:sticky;bottom:calc(env(safe-area-inset-bottom) + 72px);z-index:5;display:flex;justify-content:center;padding:10px;border-radius:var(--radius);background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:blur(10px);border:1px solid var(--line);box-shadow:var(--shadow-lg)}}@media (min-width: 821px){.sticky-action{display:none}}@media (max-width: 480px){.hide-narrow{display:none}}.more-list{display:flex;flex-direction:column}.more-list a,.more-list button{display:flex;align-items:center;gap:14px;padding:14px 8px;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);font-weight:600;text-align:start;cursor:pointer}.more-list>:last-child{border-bottom:0}@media (pointer: coarse),(max-width: 820px){.hide-touch{display:none}.chip,.segmented button,.btn.sm{min-height:40px}.session-bar .btn{min-width:44px;min-height:44px}.auth-card .row.between a,.card a.small,.table td a,.empty a{display:inline-block;padding:10px 0}.btn{min-height:44px}}
