@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:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-cyrillic-ext-wght-normal-CGKlZYBf.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:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-cyrillic-wght-normal-DLqwHbi6.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-greek-ext-wght-normal-e3e57Shi.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-greek-wght-normal-CO1l-giJ.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:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-vietnamese-wght-normal-LcSrhZ7T.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:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-latin-ext-wght-normal-BnEbWgdZ.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:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-latin-wght-normal-DLxlUchJ.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}@layer components{.dropdown[data-v-bba8a4d1]{position:relative}.dropdown-content[data-v-bba8a4d1]{position:absolute;top:100%;right:0;z-index:var(--z-dropdown, 100);margin-top:var(--space-1);min-width:180px;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden}.dropdown-enter-active[data-v-bba8a4d1]{transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.dropdown-leave-active[data-v-bba8a4d1]{transition:opacity var(--duration-fast) var(--ease-in),transform var(--duration-fast) var(--ease-in)}.dropdown-enter-from[data-v-bba8a4d1],.dropdown-leave-to[data-v-bba8a4d1]{opacity:0;transform:translateY(-4px) scale(.97)}}@layer components{.progress-ring[data-v-c5322c61]{transform:rotate(-90deg)}.progress-ring__track[data-v-c5322c61]{stroke:var(--progress-ring-track, var(--color-border-primary));opacity:.3}.progress-ring__fill[data-v-c5322c61]{stroke:var(--progress-ring-color, var(--color-primary));transition:stroke-dashoffset var(--transition-normal)}.progress-ring--indeterminate[data-v-c5322c61]{animation:ring-spin-c5322c61 1.4s linear infinite}.progress-ring--indeterminate .progress-ring__fill[data-v-c5322c61]{stroke-dashoffset:calc(var(--v55d26e7c) * .75)}@keyframes ring-spin-c5322c61{to{transform:rotate(270deg)}}}@layer components{.progress-indicator[data-v-01c02334]{position:relative;display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;cursor:pointer;padding:0;border-radius:var(--radius-full);transition:transform var(--transition-fast)}.progress-indicator[data-v-01c02334]:hover{transform:scale(1.1)}.progress-indicator[data-v-01c02334]:active{transform:scale(.95)}.progress-indicator--processing[data-v-01c02334] .progress-ring{animation:pulse-ring-01c02334 var(--duration-slower) ease-in-out infinite}.progress-indicator--connecting[data-v-01c02334] .progress-ring{animation:spin var(--duration-slow) linear infinite}@keyframes pulse-ring-01c02334{0%,to{opacity:1}50%{opacity:.7}}.progress-text[data-v-01c02334]{position:absolute;font-size:8px;font-weight:var(--font-weight-semibold);font-family:var(--font-mono);color:var(--color-text-secondary);letter-spacing:-.02em}@media(max-width:479.98px){.progress-indicator[data-v-01c02334]{display:none}}@media(prefers-reduced-motion:reduce){.progress-indicator--processing[data-v-01c02334] .progress-ring,.progress-indicator--connecting[data-v-01c02334] .progress-ring{animation:none}}}@layer components{.progress-indicator[data-v-d90fbbaa]{position:relative;display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;cursor:pointer;padding:0;border-radius:var(--radius-full);transition:transform var(--transition-fast)}.progress-indicator[data-v-d90fbbaa]:hover{transform:scale(1.1)}.progress-indicator[data-v-d90fbbaa]:active{transform:scale(.95)}.progress-indicator--processing[data-v-d90fbbaa] .progress-ring{animation:pulse-ring-d90fbbaa var(--duration-slower) ease-in-out infinite}@keyframes pulse-ring-d90fbbaa{0%,to{opacity:1}50%{opacity:.7}}.progress-text[data-v-d90fbbaa]{position:absolute;font-size:8px;font-weight:var(--font-weight-semibold);font-family:var(--font-mono);color:var(--color-text-secondary);letter-spacing:-.02em}@media(max-width:479.98px){.progress-indicator[data-v-d90fbbaa]{display:none}}@media(prefers-reduced-motion:reduce){.progress-indicator--processing[data-v-d90fbbaa] .progress-ring{animation:none}}}@layer components{.coach-progress-indicator[data-v-42dbc979]{position:relative;display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;cursor:pointer;padding:0;border-radius:var(--radius-full);transition:transform var(--transition-fast)}.coach-progress-indicator[data-v-42dbc979]:hover{transform:scale(1.1)}.coach-progress-indicator[data-v-42dbc979]:active{transform:scale(.95)}.coach-progress-indicator--processing[data-v-42dbc979] .progress-ring{animation:coach-pulse-ring-42dbc979 var(--duration-slower) ease-in-out infinite}@keyframes coach-pulse-ring-42dbc979{0%,to{opacity:1}50%{opacity:.7}}.coach-progress-text[data-v-42dbc979]{position:absolute;font-size:8px;font-weight:var(--font-weight-semibold);font-family:var(--font-mono);color:var(--color-text-secondary);letter-spacing:-.02em}@media(max-width:479.98px){.coach-progress-indicator[data-v-42dbc979]{display:none}}@media(prefers-reduced-motion:reduce){.coach-progress-indicator--processing[data-v-42dbc979] .progress-ring{animation:none}}}@layer components{.app-header[data-v-ac25f432]{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);padding:0 var(--space-4);padding-top:env(safe-area-inset-top,0px);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border-bottom:1px solid var(--glass-border);position:sticky;top:0;z-index:var(--z-sticky)}.header-left[data-v-ac25f432]{display:flex;align-items:center;gap:var(--space-4)}.mobile-menu-btn[data-v-ac25f432]{display:none}.logo[data-v-ac25f432]{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:var(--color-text-primary)}.logo[data-v-ac25f432]:hover{text-decoration:none}.logo-mark[data-v-ac25f432]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.logo-letter[data-v-ac25f432]{font-weight:var(--font-weight-bold);font-size:var(--font-size-md);color:#fff;letter-spacing:-.02em}.logo-text[data-v-ac25f432]{display:none;font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);letter-spacing:var(--letter-spacing-tight)}.header-right[data-v-ac25f432]{display:flex;align-items:center;gap:var(--space-2)}.auth-pill[data-v-ac25f432]{display:none;align-items:center;gap:var(--space-2);height:28px;padding:0 var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-family:var(--font-mono);color:var(--color-text-secondary);transition:all var(--transition-fast)}.auth-pill.expiring[data-v-ac25f432]{background:var(--color-warning-subtle);color:var(--color-warning-text)}.auth-dot[data-v-ac25f432]{width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-success);flex-shrink:0}.auth-pill.expiring .auth-dot[data-v-ac25f432]{background:var(--color-warning);animation:pulse var(--duration-slow) ease-in-out infinite}.auth-timer[data-v-ac25f432]{font-variant-numeric:tabular-nums}.header-sign-in[data-v-ac25f432]{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--btn-height-sm);padding:var(--space-1) var(--space-3);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1;text-decoration:none;white-space:nowrap;border-radius:var(--radius-md);cursor:pointer;background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm);transition:all var(--duration-fast) var(--ease-out)}.header-sign-in[data-v-ac25f432]:hover{background:var(--color-primary-hover);color:#fff;box-shadow:var(--shadow-md);transform:translateY(-1px)}.header-sign-in[data-v-ac25f432]:active{background:var(--color-primary-active);transform:translateY(0);box-shadow:var(--shadow-xs)}.avatar-wrapper[data-v-ac25f432]{position:relative}.avatar-btn[data-v-ac25f432]{display:flex;align-items:center;justify-content:center;background:transparent;border:none;padding:0;cursor:pointer;border-radius:var(--radius-full);transition:opacity var(--duration-fast) var(--ease-out)}.avatar-btn[data-v-ac25f432]:hover{opacity:.85}.avatar-btn[data-v-ac25f432]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.avatar-circle[data-v-ac25f432]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--color-primary);border-radius:var(--radius-full);color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1;-webkit-user-select:none;user-select:none;flex-shrink:0}.dropdown-user[data-v-ac25f432]{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.dropdown-divider[data-v-ac25f432]{margin:var(--space-1) 0;border:none;border-top:1px solid var(--color-border)}.dropdown-item[data-v-ac25f432]{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--color-text-primary);text-decoration:none;background:transparent;border:none;cursor:pointer;text-align:left;transition:background var(--duration-fast) var(--ease-out)}.dropdown-item[data-v-ac25f432]:hover{background:var(--color-bg-hover, var(--color-bg-tertiary))}.dropdown-item[data-v-ac25f432]:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}@media(prefers-reduced-motion:reduce){.auth-pill.expiring .auth-dot[data-v-ac25f432]{animation:none}}@media(min-width:768px){.app-header[data-v-ac25f432]{padding:0 var(--space-5)}.logo-text[data-v-ac25f432]{display:inline}.auth-pill[data-v-ac25f432]{display:flex}}}@layer components{.sidebar[data-v-451b9508]{display:none;flex-direction:column;background:var(--color-bg-secondary);border-right:1px solid var(--color-border-secondary);transition:width var(--duration-normal) var(--ease-out);flex-shrink:0;overflow:hidden}.sidebar-header[data-v-451b9508]{display:flex;align-items:center;justify-content:flex-end;height:var(--space-12);padding:0 var(--space-3);border-bottom:1px solid var(--color-divider)}.collapsed .sidebar-header[data-v-451b9508]{justify-content:center}.collapse-btn[data-v-451b9508]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-tertiary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.collapse-btn[data-v-451b9508]:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.sidebar-nav[data-v-451b9508]{flex:1;display:flex;flex-direction:column;padding:var(--space-2) var(--space-3);gap:var(--space-1);overflow-y:auto}.nav-section[data-v-451b9508]{display:flex;flex-direction:column}.nav-section+.nav-section[data-v-451b9508]{margin-top:var(--space-2)}.section-header[data-v-451b9508]{display:flex;align-items:center;gap:var(--space-2);height:32px;padding:0 var(--space-2);border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);width:100%;text-align:left}.section-header[data-v-451b9508]:hover{background:var(--color-bg-hover);color:var(--color-text-secondary)}.section-header.active[data-v-451b9508]{color:var(--color-text-secondary)}.collapsed .section-header[data-v-451b9508]{justify-content:center;padding:0}.section-icon[data-v-451b9508]{display:flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.section-label[data-v-451b9508]{flex:1;white-space:nowrap}.section-chevron[data-v-451b9508]{flex-shrink:0;transition:transform var(--duration-fast) var(--ease-out)}.section-chevron.rotated[data-v-451b9508]{transform:rotate(-90deg)}.section-items[data-v-451b9508]{display:flex;flex-direction:column;gap:var(--space-px)}.nav-item[data-v-451b9508]{position:relative;display:flex;align-items:center;gap:var(--space-3);height:36px;padding:0 var(--space-3);padding-left:var(--space-6);border-radius:var(--radius-lg);color:var(--color-text-secondary);text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast);overflow:hidden}.collapsed .nav-item[data-v-451b9508]{justify-content:center;padding:0}.nav-item[data-v-451b9508]:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.nav-item.active[data-v-451b9508]{background:var(--color-primary-subtle);color:var(--color-primary-text)}.nav-icon[data-v-451b9508]{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0}.nav-label[data-v-451b9508]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);white-space:nowrap}.nav-indicator[data-v-451b9508]{position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:18px;background:var(--color-primary);border-radius:0 var(--radius-full) var(--radius-full) 0}.collapsed .nav-indicator[data-v-451b9508]{width:3px;height:14px}.sidebar-footer[data-v-451b9508]{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);border-top:1px solid var(--color-divider)}.footer-item[data-v-451b9508]{padding-left:var(--space-3)}.collapsed .footer-item[data-v-451b9508]{padding-left:0}.collapsed .sidebar-footer[data-v-451b9508]{padding:var(--space-2);align-items:center}.api-status[data-v-451b9508]{display:flex;align-items:center;gap:var(--space-2);height:32px;padding:0 var(--space-3);font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.collapsed .api-status[data-v-451b9508]{justify-content:center;padding:0}.api-label[data-v-451b9508]{white-space:nowrap}.label-enter-active[data-v-451b9508],.label-leave-active[data-v-451b9508]{transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.label-enter-from[data-v-451b9508],.label-leave-to[data-v-451b9508]{opacity:0;transform:translate(-8px)}@media(min-width:768px)and (max-width:1023.98px){.sidebar[data-v-451b9508]{display:flex;width:var(--sidebar-width-collapsed)!important}.collapse-btn[data-v-451b9508],.sidebar-header[data-v-451b9508],.section-label[data-v-451b9508],.section-chevron[data-v-451b9508],.nav-label[data-v-451b9508],.api-label[data-v-451b9508]{display:none}.section-header[data-v-451b9508],.nav-item[data-v-451b9508]{justify-content:center;padding:0}.footer-item[data-v-451b9508]{padding-left:0}.sidebar-footer[data-v-451b9508]{padding:var(--space-2);align-items:center}.api-status[data-v-451b9508]{justify-content:center;padding:0}}@media(min-width:1024px){.sidebar[data-v-451b9508]{display:flex;width:var(--sidebar-width)}.collapse-btn[data-v-451b9508],.sidebar-header[data-v-451b9508]{display:flex}.section-label[data-v-451b9508],.section-chevron[data-v-451b9508],.nav-label[data-v-451b9508]{display:block}.api-label[data-v-451b9508]{display:inline}.section-header[data-v-451b9508]{justify-content:flex-start;padding:0 var(--space-2)}.nav-item[data-v-451b9508]{justify-content:flex-start;padding:0 var(--space-3);padding-left:var(--space-6)}.footer-item[data-v-451b9508]{padding-left:var(--space-3)}.sidebar-footer[data-v-451b9508]{padding:var(--space-3)}.api-status[data-v-451b9508]{justify-content:flex-start;padding:0 var(--space-3)}}}@layer components{.sheet-overlay[data-v-a5f2e922]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal-backdrop);background:#0006}.sheet[data-v-a5f2e922]{position:fixed;bottom:0;left:0;right:0;background:var(--color-bg-secondary);border-radius:var(--radius-3xl) var(--radius-3xl) 0 0;padding-bottom:env(safe-area-inset-bottom,0px);overflow:hidden}.sheet-handle[data-v-a5f2e922]{width:40px;height:4px;background:var(--color-border-primary);border-radius:var(--radius-full);margin:var(--space-3) auto var(--space-2)}.sheet-nav[data-v-a5f2e922]{display:flex;flex-direction:column;padding:var(--space-3) var(--space-4) var(--space-6);gap:var(--space-1)}.sheet-section[data-v-a5f2e922]{display:flex;flex-direction:column;gap:var(--space-1)}.sheet-section-header[data-v-a5f2e922]{display:flex;align-items:center;gap:var(--space-2);height:32px;padding:0 var(--space-4);color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.04em}.sheet-divider[data-v-a5f2e922]{height:1px;background:var(--color-divider);margin:var(--space-2) var(--space-4)}.sheet-item[data-v-a5f2e922]{display:flex;align-items:center;gap:var(--space-3);height:48px;padding:0 var(--space-4);border-radius:var(--radius-lg);color:var(--color-text-secondary);text-decoration:none;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);transition:background var(--transition-fast),color var(--transition-fast)}.sheet-item[data-v-a5f2e922]:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.sheet-item.active[data-v-a5f2e922]{background:var(--color-primary-subtle);color:var(--color-primary-text)}.sheet-enter-active[data-v-a5f2e922],.sheet-leave-active[data-v-a5f2e922]{transition:transform var(--motion-enter)}.sheet-enter-from[data-v-a5f2e922],.sheet-leave-to[data-v-a5f2e922]{transform:translateY(100%)}}@layer components{.bottom-nav[data-v-7a6e7ec2]{position:fixed;bottom:0;left:0;right:0;height:var(--bottom-nav-height);padding-bottom:env(safe-area-inset-bottom,0px);display:flex;align-items:center;justify-content:space-around;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border-top:1px solid var(--glass-border);z-index:var(--z-fixed)}.tab-item[data-v-7a6e7ec2]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:44px;gap:var(--space-1);color:var(--color-text-tertiary);text-decoration:none;font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);background:transparent;border:none;cursor:pointer;transition:color var(--duration-fast) var(--ease-out);-webkit-tap-highlight-color:transparent}.tab-item.active[data-v-7a6e7ec2]{color:var(--color-primary-text)}.tab-icon[data-v-7a6e7ec2]{position:relative;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.tab-label[data-v-7a6e7ec2]{line-height:1}.pulse-indicator[data-v-7a6e7ec2]{position:absolute;top:-2px;right:-4px;width:8px;height:8px;background:var(--color-success);border-radius:var(--radius-full);border:2px solid var(--color-bg-primary);animation:pulse-dot-7a6e7ec2 1.5s ease-in-out infinite}@keyframes pulse-dot-7a6e7ec2{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}@media(prefers-reduced-motion:reduce){.pulse-indicator[data-v-7a6e7ec2]{animation:none}}@media(min-width:768px){.bottom-nav[data-v-7a6e7ec2]{display:none}}}@layer components{.sticky-action-bar[data-v-045895fe]{position:fixed;bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px));left:0;right:0;height:var(--mobile-action-bar-height);display:flex;align-items:center;padding:var(--space-2) var(--space-4);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border-top:1px solid var(--glass-border);z-index:var(--z-fixed)}.sticky-action-btn[data-v-045895fe]{width:100%;height:var(--btn-height-lg);display:flex;align-items:center;justify-content:center;gap:var(--space-2);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out)}.sticky-action-btn[data-v-045895fe]:hover:not(:disabled){background:var(--color-primary-hover)}.sticky-action-btn[data-v-045895fe]:active:not(:disabled){background:var(--color-primary-active)}.sticky-action-btn[data-v-045895fe]:disabled{opacity:var(--state-disabled-opacity);cursor:var(--state-disabled-cursor)}.btn-spinner[data-v-045895fe]{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:var(--radius-full);animation:spin .8s linear infinite;flex-shrink:0}.action-bar-enter-active[data-v-045895fe]{transition:transform var(--motion-enter),opacity var(--motion-enter)}.action-bar-leave-active[data-v-045895fe]{transition:transform var(--motion-exit),opacity var(--motion-exit)}.action-bar-enter-from[data-v-045895fe],.action-bar-leave-to[data-v-045895fe]{transform:translateY(100%);opacity:0}@media(min-width:768px){.sticky-action-bar[data-v-045895fe]{display:none}}}@layer components{.mobile-progress-bar[data-v-9b3a6eb8]{position:fixed;bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px));left:0;right:0;height:var(--mobile-action-bar-height);display:flex;flex-direction:column;justify-content:center;padding:var(--space-2) var(--space-4);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border-top:1px solid var(--glass-border);z-index:var(--z-fixed)}.mobile-progress-bar--success[data-v-9b3a6eb8]{flex-direction:row;align-items:center;gap:var(--space-2);background:var(--color-success-subtle);border-top-color:var(--color-success);color:var(--color-success-text);cursor:pointer}.mobile-progress-bar--success[data-v-9b3a6eb8]:focus-visible{outline:2px solid var(--color-success);outline-offset:-2px}.progress-info[data-v-9b3a6eb8]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-1)}.progress-status[data-v-9b3a6eb8]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.mobile-progress-bar--success .progress-status[data-v-9b3a6eb8]{color:inherit}.progress-percent[data-v-9b3a6eb8]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;color:var(--color-primary-text)}.progress-action[data-v-9b3a6eb8]{margin-left:auto;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-decoration:underline}.progress-track[data-v-9b3a6eb8]{width:100%;height:4px;background:var(--color-bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.progress-fill[data-v-9b3a6eb8]{height:100%;background:var(--color-primary);border-radius:var(--radius-full);transition:width .3s var(--ease-out)}.progress-bar-enter-active[data-v-9b3a6eb8]{transition:transform var(--motion-enter),opacity var(--motion-enter)}.progress-bar-leave-active[data-v-9b3a6eb8]{transition:transform var(--motion-exit),opacity var(--motion-exit)}.progress-bar-enter-from[data-v-9b3a6eb8]{transform:translateY(20px);opacity:0}.progress-bar-leave-to[data-v-9b3a6eb8]{transform:translateY(-10px);opacity:0}@media(min-width:768px){.mobile-progress-bar[data-v-9b3a6eb8]{display:none}}}@layer components{.toast-container[data-v-1347d3a4]{position:fixed;bottom:var(--space-4);left:var(--space-4);right:var(--space-4);transform:none;z-index:var(--z-toast, 9999);display:flex;flex-direction:column-reverse;gap:var(--space-2);max-width:none;width:auto;pointer-events:none}@media(min-width:768px){.toast-container[data-v-1347d3a4]{bottom:var(--space-6);left:50%;right:auto;transform:translate(-50%);max-width:380px;width:max-content}}.toast[data-v-1347d3a4]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-xl);border:1px solid;box-shadow:var(--shadow-lg);font-size:var(--font-size-sm);pointer-events:auto;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.toast-success[data-v-1347d3a4]{background:var(--color-success-subtle);border-color:var(--color-success);color:var(--color-success-text)}.toast-error[data-v-1347d3a4]{background:var(--color-error-subtle);border-color:var(--color-error);color:var(--color-error-text)}.toast-warning[data-v-1347d3a4]{background:var(--color-warning-subtle);border-color:var(--color-warning);color:var(--color-warning-text)}.toast-info[data-v-1347d3a4]{background:var(--color-info-subtle);border-color:var(--color-info);color:var(--color-info-text)}.toast-icon[data-v-1347d3a4]{flex-shrink:0}.toast-message[data-v-1347d3a4]{flex:1;line-height:1.4}.toast-close[data-v-1347d3a4]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:var(--radius-md);color:inherit;opacity:.7;cursor:pointer;flex-shrink:0;transition:opacity var(--transition-fast),background var(--transition-fast)}.toast-close[data-v-1347d3a4]:hover{opacity:1;background:#ffffff1a}.toast-enter-active[data-v-1347d3a4]{transition:opacity var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-spring)}.toast-leave-active[data-v-1347d3a4]{transition:opacity var(--duration-fast) var(--ease-in),transform var(--duration-fast) var(--ease-in)}.toast-enter-from[data-v-1347d3a4]{opacity:0;transform:translateY(20px) scale(.95)}.toast-leave-to[data-v-1347d3a4]{opacity:0;transform:translateY(10px) scale(.98)}.toast-move[data-v-1347d3a4]{transition:transform var(--duration-normal) var(--ease-out)}}@layer components{.breadcrumb[data-v-14182a8a]{font-size:var(--font-size-sm);line-height:1.4}.breadcrumb-list[data-v-14182a8a]{display:flex;align-items:center;flex-wrap:wrap;gap:0;margin:0;padding:0;list-style:none}.breadcrumb-item[data-v-14182a8a]{display:flex;align-items:center;min-width:0}.breadcrumb-link[data-v-14182a8a]{color:var(--color-text-secondary);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px;transition:color var(--transition-fast)}.breadcrumb-link[data-v-14182a8a]:hover{color:var(--color-primary)}.breadcrumb-link[data-v-14182a8a]:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;border-radius:var(--radius-sm)}.breadcrumb-separator[data-v-14182a8a]{color:var(--color-text-quaternary);padding:0 var(--space-2);flex-shrink:0;-webkit-user-select:none;user-select:none}.breadcrumb-current[data-v-14182a8a]{color:var(--color-text-primary);font-weight:var(--font-weight-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px}@media(max-width:479.98px){.breadcrumb-link[data-v-14182a8a]{max-width:120px}.breadcrumb-current[data-v-14182a8a]{max-width:160px}.breadcrumb-list--truncatable .breadcrumb-item--middle[data-v-14182a8a]{display:none}.breadcrumb-list--truncatable .breadcrumb-item[data-v-14182a8a]:first-child:after{content:"…";color:var(--color-text-quaternary);padding:0 var(--space-1);font-size:var(--font-size-sm)}}}@layer components{.sr-only[data-v-86b96266]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-to-content[data-v-86b96266]{position:absolute;top:-100%;left:var(--space-4);z-index:9999;padding:var(--space-2) var(--space-4);background:var(--color-primary);color:#fff;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;transition:top var(--duration-fast) var(--ease-out)}.skip-to-content[data-v-86b96266]:focus-visible{top:var(--space-4)}.app[data-v-86b96266]{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background:var(--color-bg-primary)}.app-body[data-v-86b96266]{display:flex;flex:1;flex-direction:column;overflow:hidden}@media(min-width:768px){.app-body[data-v-86b96266]{flex-direction:row}}.app-main[data-v-86b96266]{flex:1;overflow-y:auto;overflow-x:hidden;padding-bottom:calc(var(--bottom-nav-height) + var(--mobile-action-bar-height) + env(safe-area-inset-bottom,0px))}@media(min-width:768px){.app-main[data-v-86b96266]{padding-bottom:0}}.app-content[data-v-86b96266]{max-width:var(--content-max-width);margin:0 auto;padding:var(--space-4)}@media(min-width:768px){.app-content[data-v-86b96266]{padding:var(--content-padding)}}.app-breadcrumb[data-v-86b96266]{margin-bottom:var(--space-3)}}@layer reset,tokens,base,components,utilities;@layer tokens{:root{color-scheme:dark;--color-primary: #FF6B4A;--color-primary-hover: #FF7D60;--color-primary-active: #E85A3A;--color-primary-subtle: rgba(255, 107, 74, .12);--color-primary-text: #FF8A6A;--color-accent: #9B7FFF;--color-accent-hover: #AB93FF;--color-accent-active: #8A6BE8;--color-accent-subtle: rgba(155, 127, 255, .12);--color-accent-text: #B8A4FF;--color-tertiary: #F0B429;--color-tertiary-subtle: rgba(240, 180, 41, .12);--color-bg-primary: #111113;--color-bg-secondary: #1A1A1E;--color-bg-tertiary: #232328;--color-bg-elevated: #2A2A30;--color-bg-hover: rgba(255, 255, 255, .05);--color-bg-active: rgba(255, 255, 255, .08);--color-input-bg: #28282E;--color-surface: #1A1A1E;--color-surface-elevated: #222226;--color-surface-overlay: rgba(26, 26, 30, .92);--color-text-primary: #F0F0F3;--color-text-secondary: #9D9DA8;--color-text-tertiary: #6B6B78;--color-text-quaternary: #45454F;--color-text-inverse: #1A1A1F;--color-border-primary: rgba(255, 255, 255, .1);--color-border-secondary: rgba(255, 255, 255, .06);--color-border-focus: var(--color-primary);--color-divider: rgba(255, 255, 255, .06);--color-success: #2DD272;--color-success-subtle: rgba(45, 210, 114, .1);--color-success-text: #4ADE80;--color-warning: #FFB224;--color-warning-subtle: rgba(255, 178, 36, .1);--color-warning-text: #FFCA57;--color-warning-bg: var(--color-warning-subtle);--color-error: #FF6369;--color-error-subtle: rgba(255, 99, 105, .1);--color-error-text: #FF8085;--color-info: #60A5FA;--color-info-subtle: rgba(96, 165, 250, .1);--color-info-text: #93BBFD;--color-cefr-a1: #4ADE80;--color-cefr-a1-subtle: rgba(74, 222, 128, .12);--color-cefr-a2: #2DD4BF;--color-cefr-a2-subtle: rgba(45, 212, 191, .12);--color-cefr-b1: #60A5FA;--color-cefr-b1-subtle: rgba(96, 165, 250, .12);--color-cefr-b2: #22D3EE;--color-cefr-b2-subtle: rgba(34, 211, 238, .12);--color-cefr-c1: #A78BFA;--color-cefr-c1-subtle: rgba(167, 139, 250, .12);--color-cefr-c2: #C084FC;--color-cefr-c2-subtle: rgba(192, 132, 252, .12);--color-cefr-unclassified: #A1A1AA;--color-cefr-unclassified-subtle: rgba(161, 161, 170, .12);--color-link: #60A5FA;--color-link-hover: #93BBFD;--color-selection: rgba(155, 127, 255, .2);--color-skeleton: var(--color-bg-tertiary);--glass-bg: rgba(26, 26, 30, .72);--glass-border: rgba(255, 255, 255, .08);--glass-blur: 20px;--glass-saturate: 180%;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .12);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .2), 0 1px 2px rgba(0, 0, 0, .12);--shadow-md: 0 4px 8px rgba(0, 0, 0, .24), 0 2px 4px rgba(0, 0, 0, .16);--shadow-lg: 0 12px 24px rgba(0, 0, 0, .3), 0 4px 8px rgba(0, 0, 0, .2);--shadow-xl: 0 24px 48px rgba(0, 0, 0, .4), 0 8px 16px rgba(0, 0, 0, .24);--shadow-focus: 0 0 0 2px var(--color-bg-primary), 0 0 0 4px var(--color-primary);--shadow-focus-error: 0 0 0 2px var(--color-bg-primary), 0 0 0 4px var(--color-error);--shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .1);--glow-primary: 0 0 24px rgba(232, 87, 58, .25);--glow-accent: 0 0 24px rgba(124, 91, 240, .25);--glow-success: 0 0 24px rgba(18, 161, 80, .25)}[data-theme=light]{color-scheme:light;--color-primary: #E8573A;--color-primary-hover: #D44A30;--color-primary-active: #C04028;--color-primary-subtle: rgba(232, 87, 58, .1);--color-primary-text: #C04028;--color-accent: #7C5BF0;--color-accent-hover: #6B4AD9;--color-accent-active: #5C3EC4;--color-accent-subtle: rgba(124, 91, 240, .1);--color-accent-text: #5C3EC4;--color-tertiary: #D4950E;--color-tertiary-subtle: rgba(212, 149, 14, .1);--color-bg-primary: #FAFAF8;--color-bg-secondary: #F3F2EF;--color-bg-tertiary: #E8E6E1;--color-bg-elevated: #FFFFFF;--color-bg-hover: rgba(0, 0, 0, .03);--color-bg-active: rgba(0, 0, 0, .06);--color-input-bg: #DFDCD6;--color-surface: #FFFFFF;--color-surface-elevated: #FFFFFF;--color-surface-overlay: rgba(255, 255, 255, .92);--color-text-primary: #1A1A1F;--color-text-secondary: #5C5C66;--color-text-tertiary: #8A8A96;--color-text-quaternary: #B8B8C4;--color-text-inverse: #F0F0F3;--color-border-primary: rgba(0, 0, 0, .1);--color-border-secondary: rgba(0, 0, 0, .06);--color-border-focus: var(--color-primary);--color-divider: rgba(0, 0, 0, .06);--color-success: #12A150;--color-success-subtle: rgba(18, 161, 80, .1);--color-success-text: #0E8A40;--color-warning: #E09400;--color-warning-subtle: rgba(224, 148, 0, .1);--color-warning-text: #C07800;--color-warning-bg: var(--color-warning-subtle);--color-error: #E5383B;--color-error-subtle: rgba(229, 56, 59, .1);--color-error-text: #CC2D30;--color-info: #3B82F6;--color-info-subtle: rgba(59, 130, 246, .1);--color-info-text: #2563EB;--color-cefr-a1: #22C55E;--color-cefr-a1-subtle: rgba(34, 197, 94, .12);--color-cefr-a2: #14B8A6;--color-cefr-a2-subtle: rgba(20, 184, 166, .12);--color-cefr-b1: #3B82F6;--color-cefr-b1-subtle: rgba(59, 130, 246, .12);--color-cefr-b2: #06B6D4;--color-cefr-b2-subtle: rgba(6, 182, 212, .12);--color-cefr-c1: #8B5CF6;--color-cefr-c1-subtle: rgba(139, 92, 246, .12);--color-cefr-c2: #A855F7;--color-cefr-c2-subtle: rgba(168, 85, 247, .12);--color-cefr-unclassified: #71717A;--color-cefr-unclassified-subtle: rgba(113, 113, 122, .12);--color-link: #3B82F6;--color-link-hover: #2563EB;--color-selection: rgba(124, 91, 240, .2);--color-skeleton: var(--color-bg-tertiary);--glass-bg: rgba(255, 255, 255, .72);--glass-border: rgba(0, 0, 0, .06);--glass-blur: 20px;--glass-saturate: 180%;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 8px rgba(0, 0, 0, .06), 0 2px 4px rgba(0, 0, 0, .04);--shadow-lg: 0 12px 24px rgba(0, 0, 0, .08), 0 4px 8px rgba(0, 0, 0, .04);--shadow-xl: 0 24px 48px rgba(0, 0, 0, .1), 0 8px 16px rgba(0, 0, 0, .06)}:root{--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", "Segoe UI", Roboto, sans-serif;--font-family-base: "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading: "Literata Variable", Georgia, "Times New Roman", serif;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", Consolas, monospace;--font-size-2xs: .625rem;--font-size-xs: .6875rem;--font-size-sm: .75rem;--font-size-base: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-size-fluid-xl: clamp(1.5rem, 1.2rem + 1.5vw, 2.5rem);--font-size-fluid-lg: clamp(1.25rem, 1rem + 1vw, 1.875rem);--font-size-fluid-md: clamp(1rem, .875rem + .5vw, 1.25rem);--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--letter-spacing-tight: -.02em;--letter-spacing-normal: 0;--letter-spacing-wide: .02em;--letter-spacing-wider: .04em;--letter-spacing-widest: .08em}:root{--space-0: 0;--space-px: 1px;--space-0-5: .125rem;--space-1: .25rem;--space-1-5: .375rem;--space-2: .5rem;--space-2-5: .625rem;--space-3: .75rem;--space-3-5: .875rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-9: 2.25rem;--space-10: 2.5rem;--space-11: 2.75rem;--space-12: 3rem;--space-14: 3.5rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem}:root{--radius-none: 0;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-3xl: 20px;--radius-4xl: 24px;--radius-full: 9999px}:root{--duration-instant: 50ms;--duration-fast: .1s;--duration-normal: .2s;--duration-slow: .3s;--duration-slower: .4s;--duration-slowest: .5s;--ease-linear: linear;--ease-in: cubic-bezier(.32, 0, .67, 0);--ease-out: cubic-bezier(.33, 1, .68, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--transition-fast: var(--duration-fast) var(--ease-out);--transition-normal: var(--duration-normal) var(--ease-out);--transition-slow: var(--duration-slow) var(--ease-out);--transition-spring: var(--duration-normal) var(--ease-spring);--stagger-delay: 30ms;--stagger-max: 10}:root{--z-below: -1;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--z-max: 9999}:root{--header-height: 56px;--sidebar-width: 240px;--sidebar-width-collapsed: 64px;--content-max-width: 1200px;--content-padding: var(--space-6);--bottom-nav-height: 60px;--mobile-action-bar-height: 64px;--breakpoint-tablet: 768px;--breakpoint-desktop: 1024px;--modal-width-sm: 400px;--modal-width-md: 560px;--modal-width-lg: 800px;--modal-width-xl: 1000px}:root{--btn-height-sm: 32px;--btn-height-md: 40px;--btn-height-lg: 48px;--btn-padding-sm: 0 12px;--btn-padding-md: 0 20px;--btn-padding-lg: 0 28px;--btn-radius: var(--radius-lg);--btn-font-weight: var(--font-weight-medium);--input-height: 44px;--input-height-sm: 36px;--input-radius: var(--radius-lg);--input-padding: 12px 16px;--input-bg: var(--color-input-bg);--input-border: var(--color-border-secondary);--input-border-focus: var(--color-primary);--card-radius: var(--radius-2xl);--card-padding: var(--space-6);--card-padding-compact: var(--space-4);--card-bg: var(--color-surface);--card-bg-hover: var(--color-surface-elevated);--card-border: var(--color-border-secondary);--card-border-hover: var(--color-border-primary);--card-shadow: var(--shadow-sm);--card-shadow-hover: var(--shadow-md);--table-row-height: 52px;--table-header-height: 44px;--table-radius: var(--radius-2xl);--pill-height: 24px;--pill-height-sm: 20px;--pill-padding: 0 10px;--pill-radius: var(--radius-full);--pill-font-size: var(--font-size-xs);--pill-font-weight: var(--font-weight-medium);--modal-radius: var(--radius-3xl);--modal-padding: var(--space-6);--review-card-radius: var(--radius-3xl);--review-card-padding: var(--space-8);--review-word-size: var(--font-size-5xl);--review-grade-height: 56px;--review-grade-radius: var(--radius-xl);--nav-item-bg-active: var(--color-primary-subtle);--nav-item-color-active: var(--color-primary-text)}:root{--state-hover-bg: var(--color-bg-hover);--state-hover-border: var(--color-border-primary);--state-active-bg: var(--color-bg-active);--state-disabled-opacity: .5;--state-disabled-cursor: not-allowed;--state-selected-bg: var(--color-accent-subtle);--state-selected-color: var(--color-accent-text)}:root{--motion-enter: var(--duration-normal) var(--ease-spring);--motion-exit: var(--duration-fast) var(--ease-in);--motion-interact: var(--duration-fast) var(--ease-out)}@media(prefers-reduced-motion:reduce){:root{--duration-instant: 0ms;--duration-fast: 0ms;--duration-normal: 0ms;--duration-slow: 0ms;--duration-slower: 0ms;--duration-slowest: 0ms}}}@layer base{@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes successPulse{0%{box-shadow:0 0 0 0 var(--color-success-subtle)}70%{box-shadow:0 0 0 8px transparent}to{box-shadow:0 0 0 0 transparent}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.fade-enter-active,.fade-leave-active{transition:opacity var(--duration-normal) var(--ease-out)}.fade-enter-from,.fade-leave-to{opacity:0}.page-enter-active{transition:opacity .25s var(--ease-out),transform .25s var(--ease-out)}.page-leave-active{transition:opacity .12s var(--ease-in)}.page-enter-from{opacity:0;transform:translateY(8px)}.page-leave-to{opacity:0}.page-back-enter-active{transition:opacity .25s var(--ease-out)}.page-back-leave-active{transition:opacity .12s var(--ease-in)}.page-back-enter-from,.page-back-leave-to{opacity:0}.review-enter-active{transition:opacity .3s var(--ease-spring),transform .3s var(--ease-spring)}.review-leave-active{transition:opacity .12s var(--ease-in),transform .12s var(--ease-in)}.review-enter-from,.review-leave-to{opacity:0;transform:scale(.95)}.modal-enter-active{transition:opacity var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-spring)}.modal-leave-active{transition:opacity var(--duration-fast) var(--ease-in),transform var(--duration-fast) var(--ease-in)}.modal-enter-from{opacity:0;transform:scale(.95) translateY(-8px)}.modal-leave-to{opacity:0;transform:scale(.98) translateY(4px)}.slide-right-enter-active,.slide-right-leave-active{transition:opacity var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out)}.slide-right-enter-from{opacity:0;transform:translate(16px)}.slide-right-leave-to{opacity:0;transform:translate(8px)}.list-enter-active,.list-leave-active{transition:all var(--duration-normal) var(--ease-out)}.list-enter-from,.list-leave-to{opacity:0;transform:translate(-8px)}.list-move{transition:transform var(--duration-normal) var(--ease-out)}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-out)}.animate-scale-in{animation:scaleIn var(--duration-normal) var(--ease-spring)}.animate-slide-up{animation:slideInFromBottom var(--duration-normal) var(--ease-out)}.animate-slide-down{animation:slideInFromTop var(--duration-normal) var(--ease-out)}.animate-pulse{animation:pulse 2s var(--ease-in-out) infinite}.animate-spin{animation:spin 1s linear infinite}.animate-bounce{animation:bounce 1s var(--ease-in-out) infinite}.animate-shake{animation:shake .5s var(--ease-in-out)}@layer components{.celebration-glow{animation:successPulse .6s ease-out 3}}.skeleton{background:linear-gradient(90deg,var(--color-bg-tertiary) 0%,var(--color-bg-elevated) 50%,var(--color-bg-tertiary) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.stagger-1{animation-delay:50ms}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.press-effect{transition:transform var(--duration-fast) var(--ease-out)}.press-effect:active{transform:scale(.98)}.hover-lift{transition:transform var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.link-underline{position:relative}.link-underline:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform var(--duration-normal) var(--ease-out)}.link-underline:hover:after{transform:scaleX(1);transform-origin:left}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.animate-pulse,.animate-spin,.animate-bounce,.skeleton{animation:none}.hover-lift:hover,.press-effect:active{transform:none}}}@layer reset{*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);font-variation-settings:"wght" 450;line-height:var(--line-height-normal);color:var(--color-text-primary);background:var(--color-bg-primary);overflow-x:hidden}}@layer base{h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);font-variation-settings:"wght" 650;line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary)}h1,h2,h3{font-family:var(--font-heading);font-variation-settings:"wght" 600}h1{font-size:var(--font-size-fluid-xl)}h2{font-size:var(--font-size-fluid-lg)}h3{font-size:var(--font-size-fluid-md)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-md)}h6{font-size:var(--font-size-base)}p{color:var(--color-text-secondary)}small{font-size:var(--font-size-sm)}a{color:var(--color-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-link-hover)}a:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-radius:var(--radius-sm)}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.9em}code{padding:var(--space-0-5) var(--space-1-5);background:var(--color-bg-tertiary);border-radius:var(--radius-sm);color:var(--color-accent-text)}pre{padding:var(--space-4);background:var(--color-bg-tertiary);border-radius:var(--radius-lg);overflow-x:auto}pre code{padding:0;background:none;border-radius:0}::selection{background:var(--color-selection);color:var(--color-text-primary)}:focus{outline:none}:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-radius:var(--radius-sm)}.form-group{display:flex;flex-direction:column;gap:var(--space-1-5)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.form-input,.form-select,.form-textarea{width:100%;min-height:44px;padding:var(--space-3);font-family:inherit;font-size:16px;color:var(--color-text-primary);background:var(--color-input-bg);border:1px solid var(--color-border-primary);border-radius:var(--input-radius);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}@media(min-width:768px){.form-input,.form-select,.form-textarea{min-height:var(--input-height);padding:var(--input-padding);font-size:var(--font-size-base)}}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--color-border-focus)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-tertiary)}.form-input.error,.form-select.error,.form-textarea.error{border-color:var(--color-error)}.form-input.error:focus,.form-select.error:focus,.form-textarea.error:focus{box-shadow:var(--shadow-focus-error)}.form-input-sm{min-height:44px;padding:var(--space-2) var(--space-3);font-size:16px}@media(min-width:768px){.form-input-sm{min-height:var(--input-height-sm);font-size:var(--font-size-sm)}}.form-textarea{height:auto;min-height:100px;resize:vertical}.form-hint{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.form-error{font-size:var(--font-size-sm);color:var(--color-error)}.form-checkbox,.form-radio{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;min-height:44px}.form-checkbox input,.form-radio input{width:18px;height:18px;margin:0;cursor:pointer;accent-color:var(--color-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-primary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}*{scrollbar-width:thin;scrollbar-color:var(--color-border-primary) transparent}}@layer components{.card{background:var(--color-surface);border:1px solid var(--color-border-secondary);border-radius:var(--card-radius);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.card-interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--card-padding);border-bottom:1px solid var(--color-divider)}.card-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.card-body{padding:var(--card-padding)}.card-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--card-padding);border-top:1px solid var(--color-divider)}.badge{display:inline-flex;align-items:center;justify-content:center;height:var(--pill-height);padding:var(--pill-padding);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1;letter-spacing:var(--letter-spacing-wide);border-radius:var(--pill-radius);white-space:nowrap}.badge-default{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.badge-primary{background:var(--color-primary-subtle);color:var(--color-primary-text)}.badge-success{background:var(--color-success-subtle);color:var(--color-success-text)}.badge-warning{background:var(--color-warning-subtle);color:var(--color-warning-text)}.badge-error{background:var(--color-error-subtle);color:var(--color-error-text)}.badge-info{background:var(--color-info-subtle);color:var(--color-info-text)}.badge-purple{background:#a371f726;color:var(--color-accent-text)}.badge-muted{background:var(--color-bg-tertiary);color:var(--color-text-tertiary)}.status-dot{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.status-dot-success{background:var(--color-success)}.status-dot-warning{background:var(--color-warning)}.status-dot-error{background:var(--color-error)}.status-dot-info{background:var(--color-info)}.status-dot-neutral{background:var(--color-text-tertiary)}.tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--color-divider)}.tab{position:relative;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast)}.tab:hover{color:var(--color-text-primary)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.table-container{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--color-border-secondary)}.table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.table th{height:var(--table-header-height);padding:0 var(--space-4);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-align:left;text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-text-tertiary);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-divider)}.table td{height:var(--table-row-height);padding:0 var(--space-4);color:var(--color-text-primary);border-bottom:1px solid var(--color-divider);transition:background var(--transition-fast)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--color-bg-hover)}.table tbody tr.selected td{background:var(--color-accent-subtle)}.divider{height:1px;background:var(--color-divider);border:none}.divider-vertical{width:1px;height:100%;background:var(--color-divider)}.spinner{width:20px;height:20px;border:2px solid var(--color-border-primary);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:spin .8s linear infinite}.spinner-sm{width:16px;height:16px;border-width:1.5px}.spinner-lg{width:32px;height:32px;border-width:3px}.theme-transitioning .app-header,.theme-transitioning .app-content,.theme-transitioning .sidebar,.theme-transitioning .main-content,.theme-transitioning .app-nav{transition:background-color .2s ease,color .2s ease,border-color .2s ease!important}}@layer utilities{.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-accent{color:var(--color-accent)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-mono{font-family:var(--font-mono)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-md{font-size:var(--font-size-md)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.p-0{padding:0}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.m-0{margin:0}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.w-full{width:100%}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-content{max-width:var(--content-max-width)}.hidden{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.select-none{-webkit-user-select:none;user-select:none}.select-all{-webkit-user-select:all;user-select:all}@media(max-width:767.98px){.hidden-mobile{display:none!important}}@media(min-width:768px){.hidden-desktop{display:none!important}}@media(max-width:1023.98px){.hidden-tablet-down{display:none!important}}@media(min-width:768px){.mobile-only{display:none!important}}@media(max-width:767.98px){.tablet-only{display:none!important}}@media(min-width:1024px){.tablet-only{display:none!important}}@media(max-width:1023.98px){.desktop-only{display:none!important}}.pull-indicator{display:flex;align-items:center;justify-content:center;overflow:hidden;height:0;transition:height var(--duration-fast) var(--ease-out);opacity:0}.pull-indicator--active{opacity:1}.pull-indicator__arrow{font-size:var(--font-size-xl);color:var(--color-text-tertiary);transition:transform var(--duration-fast) var(--ease-out);line-height:1}.pull-indicator__spinner{width:20px;height:20px;border:2px solid var(--color-border-primary);border-top-color:var(--color-primary);border-radius:50%;animation:pull-spin .6s linear infinite}@keyframes pull-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.pull-indicator,.pull-indicator__arrow{transition:none}.pull-indicator__spinner{animation:none;border-top-color:var(--color-primary)}}}
