.sheet-backdrop[data-v-a3577817]{position:fixed;inset:0;z-index:var(--z-sheet);display:grid;align-items:end;background:#101a1473;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sheet[data-v-a3577817]{width:100%;max-height:78dvh;overflow:auto;padding:10px 18px calc(18px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;background:var(--surface);box-shadow:var(--shadow-overlay);animation:sheet-in-a3577817 .22s ease}@keyframes sheet-in-a3577817{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.sheet__handle[data-v-a3577817]{width:42px;height:4px;margin:2px auto 14px;border-radius:var(--radius-pill);background:var(--line-strong)}.sheet__head[data-v-a3577817]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.sheet__head h2[data-v-a3577817]{font-size:var(--text-lg);margin-top:2px}.sheet__list[data-v-a3577817]{display:grid;gap:6px}.sheet__item[data-v-a3577817]{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-align:left}.sheet__item[data-v-a3577817]:hover{background:var(--surface-2)}.sheet__icon[data-v-a3577817]{display:grid;place-items:center;width:38px;height:38px;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent);flex:none}.sheet__text[data-v-a3577817]{display:grid;gap:2px;flex:1;min-width:0}.sheet__text strong[data-v-a3577817]{font-size:var(--text-sm)}.sheet__text small[data-v-a3577817]{color:var(--muted);font-size:var(--text-xs)}.sheet__signout[data-v-a3577817]{margin-top:14px;color:var(--danger)}.shell[data-v-6efab93b]{min-height:100dvh}.scrim[data-v-6efab93b]{position:fixed;inset:0;z-index:39;background:#101a1475;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar[data-v-6efab93b]{position:fixed;inset:0 auto 0 0;z-index:var(--z-drawer);display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:var(--sidebar-w);padding:22px 14px 14px;background:radial-gradient(400px 220px at 20% 0%,rgba(94,145,112,.16),transparent 70%),linear-gradient(180deg,var(--sidebar-2),var(--sidebar));border-right:1px solid #22352a;color:var(--sidebar-text)}.brand[data-v-6efab93b]{display:flex;align-items:center;gap:11px;padding:2px 8px 24px;min-width:0}.brand__mark[data-v-6efab93b]{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(145deg,#3f7359,#244a3a);color:#f4f8f4;font-family:var(--font-serif);font-weight:700;font-size:15px;letter-spacing:-.4px;flex:none}.brand__text[data-v-6efab93b]{display:grid;gap:2px;min-width:0}.brand__text strong[data-v-6efab93b]{font-family:var(--font-serif);font-size:15px;color:#edf3ee}.brand__text small[data-v-6efab93b]{font-size:9px;letter-spacing:.16em;color:var(--sidebar-muted)}.sidebar__close[data-v-6efab93b]{display:none;margin-left:auto;width:38px;height:38px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--sidebar-text);place-items:center}.sidebar__scroll[data-v-6efab93b]{min-height:0;overflow-y:auto;padding:0 2px 8px}.nav-section[data-v-6efab93b]{padding:0 12px 8px;color:var(--sidebar-muted);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.nav-section--spaced[data-v-6efab93b]{margin-top:22px}.sidebar nav[data-v-6efab93b]{display:grid;gap:3px}.nav-item[data-v-6efab93b]{position:relative;display:flex;align-items:center;gap:11px;width:100%;min-height:44px;padding:0 12px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--sidebar-text);font-size:var(--text-sm);text-align:left;transition:background .16s ease,color .16s ease}.nav-item[data-v-6efab93b]:hover{background:#ffffff0e;color:#fff}.nav-item.is-active[data-v-6efab93b]{background:var(--sidebar-active);color:#fff;font-weight:650}.nav-item.is-active[data-v-6efab93b]:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 3px 3px 0;background:var(--sidebar-accent)}.nav-text[data-v-6efab93b]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-count[data-v-6efab93b]{min-width:22px;padding:1px 6px;border-radius:var(--radius-pill);background:#ffffff14;color:var(--sidebar-muted);font-size:10px;text-align:center}.nav-item.is-active .nav-count[data-v-6efab93b]{background:#9ed4b429;color:#b8e2c8}.sidebar__footer[data-v-6efab93b]{display:grid;gap:8px;padding-top:12px;border-top:1px solid rgba(255,255,255,.09)}.storage[data-v-6efab93b]{display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:var(--radius);background:#ffffff0b}.storage__dot[data-v-6efab93b],.connection i[data-v-6efab93b]{width:7px;height:7px;border-radius:50%;background:var(--warning);flex:none}.storage__dot.online[data-v-6efab93b],.connection.online i[data-v-6efab93b]{background:#6fbf8c;box-shadow:0 0 0 3px #6fbf8c29}.storage__dot.offline[data-v-6efab93b],.connection.offline i[data-v-6efab93b]{background:#d07167}.storage__copy[data-v-6efab93b]{display:grid;gap:2px;min-width:0}.storage__copy strong[data-v-6efab93b]{font-size:11px;color:#dce7de}.storage__copy small[data-v-6efab93b]{font-size:10px;color:var(--sidebar-muted)}.nav-item--settings[data-v-6efab93b]{color:var(--sidebar-muted)}.profile[data-v-6efab93b]{display:flex;align-items:center;gap:9px;padding:10px 8px 2px}.avatar[data-v-6efab93b],.top-avatar[data-v-6efab93b]{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;background:#e8d9c9;color:#7d5c43;font-size:12px;font-weight:700;flex:none}.profile__copy[data-v-6efab93b]{display:grid;gap:1px;min-width:0}.profile__copy strong[data-v-6efab93b]{font-size:11px;color:#dce7de}.profile__copy small[data-v-6efab93b]{font-size:10px;color:var(--sidebar-muted)}.profile__signout[data-v-6efab93b]{margin-left:auto;padding:7px 8px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--sidebar-muted);font-size:11px}.profile__signout[data-v-6efab93b]:hover{background:#ffffff0f;color:#fff}.shell-main[data-v-6efab93b]{display:flex;flex-direction:column;min-height:100dvh;margin-left:var(--sidebar-w)}.topbar[data-v-6efab93b]{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;gap:16px;height:var(--topbar-h);padding:0 var(--space-8);background:#f3f5f1e0;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.menu-button[data-v-6efab93b]{display:none;width:42px;height:42px;place-items:center;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink-2)}.crumbs[data-v-6efab93b]{display:flex;align-items:center;gap:9px;min-width:0;font-size:var(--text-sm);color:var(--faint)}.crumbs strong[data-v-6efab93b]{color:var(--ink);font-weight:650;font-size:var(--text-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crumbs__sep[data-v-6efab93b]{color:var(--line-strong)}.top-actions[data-v-6efab93b]{display:flex;align-items:center;gap:14px;margin-left:auto}.connection[data-v-6efab93b]{display:inline-flex;align-items:center;gap:7px;font-size:var(--text-xs);color:var(--muted);white-space:nowrap}.shell-content[data-v-6efab93b]{flex:1;min-width:0}.bottom-tabs[data-v-6efab93b]{display:none}@media(max-width:1199px)and (min-width:901px){.sidebar[data-v-6efab93b]{padding-inline:10px}.brand[data-v-6efab93b]{justify-content:center;padding-inline:0}.brand__text[data-v-6efab93b],.nav-text[data-v-6efab93b],.nav-section[data-v-6efab93b],.storage__copy[data-v-6efab93b],.profile__copy[data-v-6efab93b],.profile__signout[data-v-6efab93b],.nav-count[data-v-6efab93b]{display:none}.nav-item[data-v-6efab93b]{justify-content:center;padding:0}.nav-item.is-active[data-v-6efab93b]:before{display:none}.storage[data-v-6efab93b]{justify-content:center;padding:12px 0}.profile[data-v-6efab93b]{justify-content:center;padding-inline:0}}@media(max-width:900px){.sidebar[data-v-6efab93b]{width:min(304px,86vw);padding-bottom:calc(14px + env(safe-area-inset-bottom));transform:translate(-103%);transition:transform .22s ease;box-shadow:var(--shadow-overlay)}.sidebar.is-open[data-v-6efab93b]{transform:translate(0)}.sidebar__close[data-v-6efab93b]{display:grid}.shell-main[data-v-6efab93b]{margin-left:0}.topbar[data-v-6efab93b]{padding:0 var(--space-4)}.menu-button[data-v-6efab93b]{display:grid}.crumbs__root[data-v-6efab93b],.crumbs__sep[data-v-6efab93b]{display:none}.crumbs strong[data-v-6efab93b]{font-size:var(--text-base)}.connection span[data-v-6efab93b],.top-avatar[data-v-6efab93b]{display:none}.shell-content[data-v-6efab93b]{padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom))}.bottom-tabs[data-v-6efab93b]{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-tabbar);display:grid;grid-template-columns:repeat(5,1fr);height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#fffffff5;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.tab[data-v-6efab93b]{display:grid;justify-items:center;align-content:center;gap:3px;min-height:48px;border:0;background:transparent;color:var(--muted);font-size:10px;font-weight:650}.tab.is-active[data-v-6efab93b]{color:var(--accent)}}.toast__close[data-v-8186d97e]{margin-left:auto;border:0;background:transparent;color:inherit;opacity:.72;display:grid;place-items:center;padding:2px}.toast__close[data-v-8186d97e]:hover{opacity:1}.analysis[data-v-97ce9db4]{display:grid;gap:var(--space-4)}.analysis__banner[data-v-97ce9db4]{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.analysis__banner h2[data-v-97ce9db4]{margin:4px 0;font-size:var(--text-xl)}.analysis__stats[data-v-97ce9db4]{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font-size:var(--text-xs)}.analysis__stats strong[data-v-97ce9db4]{color:var(--ink-2)}.analysis__grid[data-v-97ce9db4]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);align-items:start}.analysis__grid--single[data-v-97ce9db4]{grid-template-columns:1fr}.model-card[data-v-97ce9db4]{display:grid;gap:var(--space-4);padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs);min-width:0}.model-card--failed[data-v-97ce9db4]{border-color:#ecc9c4;background:snow}.model-card__head[data-v-97ce9db4]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:var(--space-3);border-bottom:1px solid var(--line)}.model-card__head strong[data-v-97ce9db4],.model-card__head small[data-v-97ce9db4]{display:block}.model-card__head strong[data-v-97ce9db4]{font-size:var(--text-sm)}.model-card__head small[data-v-97ce9db4]{color:var(--faint);font-size:var(--text-xs);margin-top:2px}.model-card__error[data-v-97ce9db4]{display:flex;gap:8px;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--danger-soft);color:#87352f;font-size:var(--text-xs);line-height:1.6}.model-card__summary[data-v-97ce9db4]{color:var(--ink-2);font-size:var(--text-sm);line-height:1.75}.model-section[data-v-97ce9db4]{display:grid;gap:7px}.model-section h3[data-v-97ce9db4]{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.model-section ul[data-v-97ce9db4]{display:grid;gap:5px;margin:0;padding-left:18px;color:var(--ink-2);font-size:var(--text-sm);line-height:1.65}.model-section p[data-v-97ce9db4]{color:var(--ink-2);font-size:var(--text-sm);line-height:1.7}.model-section--warning[data-v-97ce9db4]{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--warning-soft)}.model-section--warning h3[data-v-97ce9db4]{color:var(--warning)}.vocab-grid[data-v-97ce9db4]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.vocab-item[data-v-97ce9db4]{display:grid;gap:2px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--surface-2);min-width:0}.vocab-item strong[data-v-97ce9db4]{font-size:var(--text-sm);overflow-wrap:anywhere}.vocab-item span[data-v-97ce9db4],.vocab-item small[data-v-97ce9db4]{color:var(--muted);font-size:var(--text-xs)}.citations[data-v-97ce9db4]{padding-left:18px;font-size:var(--text-xs)}.agreement__block[data-v-97ce9db4]{display:grid;gap:6px;padding:10px 0;border-top:1px solid var(--line)}.agreement__block h3[data-v-97ce9db4]{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--faint);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.agreement__block ul[data-v-97ce9db4]{margin:0;padding-left:18px;color:var(--ink-2);font-size:var(--text-sm);line-height:1.65}.raw[data-v-97ce9db4]{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);padding:12px 14px}.raw summary[data-v-97ce9db4]{cursor:pointer;color:var(--muted);font-size:var(--text-xs);font-weight:650}.raw pre[data-v-97ce9db4]{margin:10px 0 0;max-height:360px;overflow:auto;font-size:11px;line-height:1.6;white-space:pre-wrap;word-break:break-word;color:var(--muted)}@media(max-width:900px){.analysis__grid[data-v-97ce9db4],.vocab-grid[data-v-97ce9db4]{grid-template-columns:1fr}}.review-card[data-v-383d40d6]{display:grid;gap:12px;padding:var(--space-5);border:1px solid var(--line);border-left:3px solid #d8c39c;border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs)}.review-card__head[data-v-383d40d6]{min-width:0}.review-card__body summary[data-v-383d40d6]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}.review-card__body summary[data-v-383d40d6]::-webkit-details-marker{display:none}.review-card__stem[data-v-383d40d6]{font-size:var(--text-base);font-weight:600;line-height:1.65;color:var(--ink)}.review-card__content[data-v-383d40d6]{display:grid;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.question-passage[data-v-383d40d6]{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-2);font-size:var(--text-sm);line-height:1.7;white-space:pre-wrap}.options[data-v-383d40d6]{display:grid;gap:4px;margin:0;padding-left:18px;color:var(--ink-2);font-size:var(--text-sm);line-height:1.65}.explanation[data-v-383d40d6]{color:var(--muted);font-size:var(--text-sm);line-height:1.7}.review-card__reason[data-v-383d40d6]{padding:9px 11px;border-radius:var(--radius-sm);background:var(--warning-soft);color:#7a551f;font-size:var(--text-xs);line-height:1.6}.review-card__cross[data-v-383d40d6]{display:grid;gap:8px;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--surface-2)}.review-card__cross-head[data-v-383d40d6]{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:var(--text-xs);color:var(--muted)}.validator-list[data-v-383d40d6]{display:grid;gap:6px}.validator-row[data-v-383d40d6]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line)}.validator-row__main[data-v-383d40d6]{display:grid;gap:3px;min-width:0}.validator-row__title[data-v-383d40d6]{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.validator-row__title strong[data-v-383d40d6]{font-size:var(--text-xs)}.validator-row__reason[data-v-383d40d6],.validator-row__error[data-v-383d40d6]{color:var(--muted);font-size:var(--text-xs);line-height:1.5}.validator-row__error[data-v-383d40d6]{color:var(--danger)}.validator-row__issues[data-v-383d40d6]{display:flex;flex-wrap:wrap;gap:4px}.validator-row__answer[data-v-383d40d6]{display:grid;justify-items:end;gap:2px;flex:none}.validator-row__answer strong[data-v-383d40d6]{font-size:var(--text-sm);color:var(--accent);overflow-wrap:anywhere;max-width:140px;text-align:right}.validator-row__answer small[data-v-383d40d6]{color:var(--faint);font-size:10px}.review-card__actions[data-v-383d40d6]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:4px}@media(max-width:640px){.review-card[data-v-383d40d6]{padding:var(--space-4)}.review-card__actions[data-v-383d40d6]{align-items:stretch;flex-direction:column}.validator-row[data-v-383d40d6]{flex-direction:column}.validator-row__answer[data-v-383d40d6]{justify-items:start;text-align:left}.validator-row__answer strong[data-v-383d40d6]{text-align:left}}.readiness[data-v-f93bc8a4]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);padding:var(--space-4);margin-bottom:var(--space-4)}.readiness__item[data-v-f93bc8a4]{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);opacity:.72}.readiness__item.is-ready[data-v-f93bc8a4]{opacity:1;border-color:#cfe0d5;background:#f5faf6}.readiness__icon[data-v-f93bc8a4]{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-sm);background:var(--surface);color:var(--accent);flex:none}.readiness__item div[data-v-f93bc8a4]{display:grid;gap:2px}.readiness__item strong[data-v-f93bc8a4]{font-size:var(--text-xs)}.readiness__item small[data-v-f93bc8a4]{color:var(--faint);font-size:10px}.readiness__note[data-v-f93bc8a4]{grid-column:1 / -1;padding-top:10px;border-top:1px solid var(--line);color:var(--muted);font-size:var(--text-xs);line-height:1.6}.link[data-v-f93bc8a4]{border:0;padding:0;background:transparent;color:var(--accent);font-size:inherit;font-weight:650;text-decoration:underline;text-underline-offset:2px}.workbench[data-v-f93bc8a4]{margin-bottom:var(--space-4)}.workbench__head[data-v-f93bc8a4]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.resource-picker[data-v-f93bc8a4]{display:grid;gap:10px;padding:var(--space-4);border-radius:var(--radius);background:var(--surface-2)}.resource-picker__head[data-v-f93bc8a4]{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.resource-picker__head h2[data-v-f93bc8a4]{margin-top:3px;font-size:var(--text-md)}.resource-picker__search[data-v-f93bc8a4]{width:190px;min-height:38px}.resource-picker__list[data-v-f93bc8a4]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:250px;overflow-y:auto;padding-right:2px}.resource-option[data-v-f93bc8a4]{display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;min-width:0}.resource-option.is-selected[data-v-f93bc8a4]{border-color:#a9c6b2;background:#f3f8f4}.resource-option input[data-v-f93bc8a4]{accent-color:var(--accent);flex:none}.resource-option__icon[data-v-f93bc8a4]{display:grid;place-items:center;width:30px;height:30px;border-radius:var(--radius-sm);background:var(--surface-3);color:var(--accent);flex:none}.resource-option__text[data-v-f93bc8a4]{display:grid;gap:2px;min-width:0}.resource-option__text strong[data-v-f93bc8a4],.resource-option__text small[data-v-f93bc8a4]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-option__text strong[data-v-f93bc8a4]{font-size:var(--text-xs)}.resource-option__text small[data-v-f93bc8a4]{color:var(--faint);font-size:10px}.resource-picker__count[data-v-f93bc8a4]{color:var(--faint);font-size:var(--text-xs)}.workbench__form[data-v-f93bc8a4]{display:grid;gap:var(--space-4);margin-top:var(--space-5)}.web-search[data-v-f93bc8a4]{padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.form-grid[data-v-f93bc8a4]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.field--wide[data-v-f93bc8a4]{grid-column:1 / -1}.type-chips[data-v-f93bc8a4]{display:flex;flex-wrap:wrap;gap:5px}.type-chip[data-v-f93bc8a4]{border:1px solid transparent;cursor:pointer}.type-chip[data-v-f93bc8a4]:hover{border-color:var(--line-strong)}.workbench__submit[data-v-f93bc8a4]{padding-top:var(--space-3);border-top:1px solid var(--line)}.job[data-v-f93bc8a4]{display:grid;gap:var(--space-3);margin-top:var(--space-5);scroll-margin-top:calc(var(--topbar-h) + 16px);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2)}.job__head[data-v-f93bc8a4]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.job__status[data-v-f93bc8a4]{display:inline-flex;align-items:center;gap:7px;font-size:var(--text-sm);font-weight:650}.job__status i[data-v-f93bc8a4]{width:8px;height:8px;border-radius:50%;background:var(--warning)}.job__status--running i[data-v-f93bc8a4],.job__status--pending i[data-v-f93bc8a4]{background:var(--info);animation:pulse-f93bc8a4 1.4s ease infinite}.job__status--completed i[data-v-f93bc8a4]{background:var(--success)}.job__status--failed i[data-v-f93bc8a4]{background:var(--danger)}@keyframes pulse-f93bc8a4{50%{opacity:.35}}.spinner[data-v-f93bc8a4]{width:18px;height:18px;border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;animation:spin-f93bc8a4 .8s linear infinite}@keyframes spin-f93bc8a4{to{transform:rotate(360deg)}}.generation-result[data-v-f93bc8a4]{display:grid;gap:var(--space-3)}.generation-result__counts[data-v-f93bc8a4]{display:flex;gap:var(--space-5);flex-wrap:wrap}.generation-result__counts div[data-v-f93bc8a4]{display:grid;gap:2px}.generation-result__counts span[data-v-f93bc8a4]{color:var(--faint);font-size:var(--text-xs)}.generation-result__counts strong[data-v-f93bc8a4]{font-family:var(--font-serif);font-size:var(--text-xl)}.generation-result__cross[data-v-f93bc8a4]{display:flex;flex-wrap:wrap;gap:5px}.review[data-v-f93bc8a4]{margin-top:var(--space-4)}.review-list[data-v-f93bc8a4]{display:grid;gap:var(--space-3)}.count[data-v-f93bc8a4]{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 7px;margin-left:5px;border-radius:var(--radius-pill);background:var(--surface-3);color:var(--muted);font-size:11px;vertical-align:1px}.setup-gate[data-v-f93bc8a4]{min-height:320px;display:grid;place-items:center}@media(max-width:1000px){.readiness[data-v-f93bc8a4]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.workbench__head[data-v-f93bc8a4]{align-items:flex-start;flex-direction:column}.resource-picker__list[data-v-f93bc8a4],.form-grid[data-v-f93bc8a4]{grid-template-columns:1fr}.resource-picker__search[data-v-f93bc8a4]{width:100%}.workbench__submit[data-v-f93bc8a4],.resource-picker__head[data-v-f93bc8a4]{align-items:stretch;flex-direction:column}}.auth[data-v-5fa02b3a]{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr)}.auth__brand[data-v-5fa02b3a]{position:relative;display:grid;place-items:center;padding:56px;overflow:hidden;background:radial-gradient(600px 320px at 18% 12%,rgba(120,176,139,.22),transparent 68%),linear-gradient(150deg,#16241b,#0d1712 70%);color:#dbe7de}.auth__brand[data-v-5fa02b3a]:after{content:"";position:absolute;inset:26px;border:1px solid rgba(255,255,255,.08);border-radius:22px;pointer-events:none}.auth__brand-inner[data-v-5fa02b3a]{position:relative;z-index:1;max-width:480px}.auth__mark[data-v-5fa02b3a]{display:grid;place-items:center;width:52px;height:52px;margin-bottom:34px;border-radius:15px;background:linear-gradient(145deg,#4b8164,#2b5541);color:#f3f8f4;font-family:var(--font-serif);font-size:18px;font-weight:700}.auth__brand h1[data-v-5fa02b3a]{margin:14px 0 20px;color:#f0f6f1;font-size:clamp(30px,3.4vw,46px);line-height:1.16;letter-spacing:-.03em}.auth__lead[data-v-5fa02b3a]{max-width:40ch;color:#aebfb2;font-size:var(--text-base);line-height:1.75}.auth__points[data-v-5fa02b3a]{display:grid;gap:12px;margin:32px 0;padding:0;list-style:none;color:#c1d0c4;font-size:var(--text-sm)}.auth__points li[data-v-5fa02b3a]{display:flex;align-items:center;gap:10px}.auth__syllabus[data-v-5fa02b3a]{padding-top:18px;border-top:1px solid rgba(255,255,255,.1);color:#8fa795;font-size:var(--text-xs);letter-spacing:.02em}.auth__panel[data-v-5fa02b3a]{display:grid;place-items:center;padding:32px;background:radial-gradient(700px 420px at 90% 0%,#e7eee5 0%,transparent 62%),var(--bg)}.auth-card[data-v-5fa02b3a]{display:grid;gap:18px;width:min(100%,420px);padding:32px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow)}.auth-card__head[data-v-5fa02b3a]{display:flex;align-items:center;gap:14px}.auth-card__mark[data-v-5fa02b3a]{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--accent-soft);color:var(--accent);font-family:var(--font-serif);font-weight:700}.auth-card h2[data-v-5fa02b3a]{margin-top:2px;font-size:var(--text-xl)}.token-input[data-v-5fa02b3a]{position:relative}.token-input .input[data-v-5fa02b3a]{padding-right:46px}.token-input__toggle[data-v-5fa02b3a]{position:absolute;top:50%;right:6px;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);transform:translateY(-50%)}.token-input__toggle[data-v-5fa02b3a]:hover{background:var(--surface-3)}@media(max-width:900px){.auth[data-v-5fa02b3a]{grid-template-columns:1fr}.auth__brand[data-v-5fa02b3a]{display:none}.auth__panel[data-v-5fa02b3a]{padding:20px}.auth-card[data-v-5fa02b3a]{padding:26px 22px}}.estimate-card[data-v-d394db67]{display:grid;gap:var(--space-4);padding:var(--space-6);margin-bottom:var(--space-4);border:1px solid #cfe0d5;border-radius:var(--radius-lg);background:radial-gradient(520px 240px at 100% 0%,#e6f0e6,transparent 66%),linear-gradient(140deg,#fff,#f6faf5)}.estimate-card__top[data-v-d394db67]{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.estimate-card h2[data-v-d394db67]{margin-top:6px;font-size:clamp(32px,4vw,46px);letter-spacing:-.04em;color:var(--accent-ink)}.estimate-card h2 em[data-v-d394db67]{margin:0 6px;color:#a6b8ab;font-style:normal;font-size:.52em}.estimate-card h2 small[data-v-d394db67]{margin-left:6px;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;letter-spacing:0;color:var(--faint)}.estimate-card__bar[data-v-d394db67]{display:grid;gap:6px}.score-range[data-v-d394db67]{position:relative;height:10px;margin-top:2px;border-radius:var(--radius-pill);background:var(--surface-3)}.score-range__band[data-v-d394db67]{position:absolute;top:0;bottom:0;border-radius:var(--radius-pill);background:linear-gradient(90deg,#8fb69c,var(--accent))}.score-range__marker[data-v-d394db67]{position:absolute;top:-4px;width:2px;height:18px;border-radius:2px;background:var(--ink);transform:translate(-1px)}.score-range__pass[data-v-d394db67]{position:absolute;top:-3px;bottom:-3px;width:0;border-left:1px dashed var(--amber)}.estimate-card__scale[data-v-d394db67]{display:flex;justify-content:space-between;color:var(--faint);font-size:10px}.metrics[data-v-d394db67]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.stat-card[data-v-d394db67]{display:grid;gap:6px;padding:15px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-xs)}.stat-card__label[data-v-d394db67]{color:var(--muted);font-size:var(--text-xs);font-weight:650}.stat-card strong[data-v-d394db67]{font-family:var(--font-serif);font-size:28px;line-height:1;letter-spacing:-.03em}.stat-card strong small[data-v-d394db67]{margin-left:3px;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:500;color:var(--faint);letter-spacing:0}.stat-card__hint[data-v-d394db67]{color:var(--faint);font-size:var(--text-xs)}.lower-grid[data-v-d394db67]{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--space-4);margin-bottom:var(--space-4)}.section-list[data-v-d394db67]{display:grid;gap:4px}.section-row[data-v-d394db67]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.section-row[data-v-d394db67]:last-child{border-bottom:0}.section-row__text[data-v-d394db67]{display:grid;gap:2px}.section-row__text strong[data-v-d394db67]{font-size:var(--text-sm)}.section-row__text small[data-v-d394db67]{color:var(--faint);font-size:var(--text-xs)}.section-row__score[data-v-d394db67]{display:grid;justify-items:end;gap:2px}.section-row__score strong[data-v-d394db67]{color:var(--accent);font-size:var(--text-sm)}.section-row__score small[data-v-d394db67]{color:var(--faint);font-size:var(--text-xs)}.section-row__bar[data-v-d394db67]{grid-column:1 / -1}.trend[data-v-d394db67]{display:grid;gap:10px}.trend__row[data-v-d394db67]{display:grid;grid-template-columns:82px minmax(0,1fr) 48px;gap:10px;align-items:center;font-size:var(--text-xs);color:var(--muted)}.trend__bar[data-v-d394db67]{height:7px;border-radius:var(--radius-pill);background:var(--surface-3);overflow:hidden}.trend__bar span[data-v-d394db67]{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#9dbfa7,var(--accent))}.trend__value[data-v-d394db67]{text-align:right;color:var(--ink-2);font-weight:650}.session-list[data-v-d394db67]{display:grid;gap:8px}.session-row[data-v-d394db67]{display:flex;align-items:center;gap:11px;padding:11px;border:1px solid var(--line);border-radius:var(--radius)}.session-row__icon[data-v-d394db67]{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-sm);background:var(--surface-3);color:var(--accent);flex:none}.session-row__text[data-v-d394db67]{display:grid;gap:2px;min-width:0;flex:1}.session-row__text strong[data-v-d394db67]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm)}.session-row__text small[data-v-d394db67]{color:var(--faint);font-size:var(--text-xs)}.session-row__score[data-v-d394db67]{font-size:var(--text-sm);color:var(--accent);white-space:nowrap}@media(max-width:1000px){.metrics[data-v-d394db67]{grid-template-columns:repeat(2,minmax(0,1fr))}.lower-grid[data-v-d394db67]{grid-template-columns:1fr}}@media(max-width:640px){.estimate-card[data-v-d394db67]{padding:var(--space-5) var(--space-4)}.estimate-card__top[data-v-d394db67]{flex-direction:column}.metrics[data-v-d394db67]{grid-template-columns:1fr 1fr;gap:var(--space-2)}}.resource-table[data-v-10aa06cc]{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.resource-table__head[data-v-10aa06cc],.resource-row[data-v-10aa06cc]{display:grid;grid-template-columns:minmax(220px,2fr) .7fr .7fr .8fr .8fr auto;gap:12px;align-items:center;padding:12px 16px}.resource-table__head[data-v-10aa06cc]{background:var(--surface-2);color:var(--faint);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.resource-row[data-v-10aa06cc]{border-top:1px solid var(--line)}.resource-row[data-v-10aa06cc]:hover{background:#fbfcfa}.resource-name[data-v-10aa06cc]{display:flex;align-items:center;gap:11px;min-width:0}.resource-icon[data-v-10aa06cc]{display:grid;place-items:center;width:36px;height:38px;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent);flex:none}.resource-name__text[data-v-10aa06cc]{display:grid;gap:2px;min-width:0}.resource-name__text strong[data-v-10aa06cc],.resource-name__text small[data-v-10aa06cc]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-name__text strong[data-v-10aa06cc]{font-size:var(--text-sm);color:var(--ink)}.resource-name__text small[data-v-10aa06cc]{font-size:var(--text-xs);color:var(--faint)}.resource-name__text .resource-error[data-v-10aa06cc]{display:-webkit-box;overflow:hidden;color:var(--danger);font-size:11px;line-height:1.5;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.resource-cell[data-v-10aa06cc]{font-size:var(--text-xs);color:var(--muted);white-space:nowrap}.resource-meta[data-v-10aa06cc]{display:none}.resource-status[data-v-10aa06cc]{display:flex}.resource-actions[data-v-10aa06cc]{display:flex;justify-content:flex-end;gap:2px}.resource-remove[data-v-10aa06cc]:hover{color:var(--danger)}@media(max-width:900px){.resource-table[data-v-10aa06cc]{display:grid;gap:8px;padding:8px;background:transparent;border:0}.resource-table__head[data-v-10aa06cc]{display:none}.resource-row[data-v-10aa06cc]{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name actions" "meta status";gap:8px 10px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.resource-name[data-v-10aa06cc]{grid-area:name}.resource-cell[data-v-10aa06cc]{display:none}.resource-meta[data-v-10aa06cc]{grid-area:meta;display:block;color:var(--faint);font-size:var(--text-xs)}.resource-status[data-v-10aa06cc]{grid-area:status;justify-self:end}.resource-actions[data-v-10aa06cc]{grid-area:actions}}.upload-card[data-v-d635ba54]{display:grid;gap:10px;padding:14px 16px;margin-bottom:var(--space-5);border:1px dashed #b9cbbd;border-radius:var(--radius-lg);background:#fff9}.upload-card__main[data-v-d635ba54]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.upload-card__icon[data-v-d635ba54]{display:grid;place-items:center;width:42px;height:42px;border-radius:var(--radius);background:var(--accent-soft);color:var(--accent);flex:none}.upload-card__text[data-v-d635ba54]{display:grid;gap:2px;flex:1;min-width:180px}.upload-card__text strong[data-v-d635ba54]{font-size:var(--text-sm)}.upload-card__text small[data-v-d635ba54]{color:var(--faint);font-size:var(--text-xs)}.selected-files[data-v-d635ba54]{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-top:6px;border-top:1px solid var(--line)}.selected-file[data-v-d635ba54]{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:5px 8px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);font-size:var(--text-xs)}.selected-file__name[data-v-d635ba54]{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-file small[data-v-d635ba54]{color:var(--faint)}.selected-file button[data-v-d635ba54]{display:grid;place-items:center;border:0;background:transparent;color:var(--faint)}.upload-card__error[data-v-d635ba54]{color:var(--danger);font-size:var(--text-xs)}.upload-card__pending[data-v-d635ba54]{display:flex;align-items:center;gap:6px;color:var(--info);font-size:var(--text-xs)}.count[data-v-d635ba54]{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 7px;margin-left:5px;border-radius:var(--radius-pill);background:var(--surface-3);color:var(--muted);font-size:11px;vertical-align:1px}.section-gap[data-v-d635ba54]{margin-top:var(--space-8)}.exam-list[data-v-d635ba54]{display:grid;gap:8px}.exam-card[data-v-d635ba54]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.exam-card__main[data-v-d635ba54]{display:flex;align-items:flex-start;gap:12px;min-width:0}.exam-card__icon[data-v-d635ba54]{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-sm);background:var(--amber-soft);color:var(--amber);flex:none}.exam-card__text[data-v-d635ba54]{display:grid;gap:4px;min-width:0}.exam-card__text strong[data-v-d635ba54]{font-size:var(--text-sm)}.exam-card__text small[data-v-d635ba54]{color:var(--faint);font-size:var(--text-xs)}.exam-card__sections[data-v-d635ba54]{display:flex;gap:5px;flex-wrap:wrap;margin-top:2px}.vocab-search[data-v-d635ba54]{display:flex;gap:8px;min-width:min(100%,320px)}.vocab-summary[data-v-d635ba54]{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;align-items:center;gap:12px;color:var(--muted);font-size:var(--text-xs)}.vocab-summary strong[data-v-d635ba54]{color:var(--accent)}.word-list[data-v-d635ba54]{display:grid;gap:8px}.word-card[data-v-d635ba54]{display:flex;justify-content:space-between;gap:18px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.word-card__main[data-v-d635ba54]{display:grid;gap:4px;min-width:0}.word-card__title[data-v-d635ba54]{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.word-card__title strong[data-v-d635ba54]{font-family:var(--font-serif);font-size:var(--text-md)}.word-card p[data-v-d635ba54]{color:var(--ink-2);font-size:var(--text-sm)}.word-card em[data-v-d635ba54]{color:var(--faint);font-size:var(--text-xs);line-height:1.6}.word-card__side[data-v-d635ba54]{display:grid;justify-items:end;gap:8px;flex:none}@media(max-width:760px){.exam-card[data-v-d635ba54],.word-card[data-v-d635ba54]{flex-direction:column;align-items:stretch}.word-card__side[data-v-d635ba54]{justify-items:start}.vocab-search[data-v-d635ba54]{width:100%}.vocab-search .input[data-v-d635ba54]{flex:1}}.filters[data-v-0e54faf4]{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(120px,.7fr) minmax(180px,1.4fr) auto;gap:var(--space-3);align-items:end;margin-bottom:var(--space-4);padding:var(--space-4)}.filters__search[data-v-0e54faf4]{min-width:0}.filters__count[data-v-0e54faf4]{align-self:center;color:var(--faint);font-size:var(--text-xs);white-space:nowrap}.mistake-list[data-v-0e54faf4]{display:grid;gap:var(--space-3)}.mistake-card[data-v-0e54faf4]{padding:var(--space-5);border:1px solid var(--line);border-left:3px solid #d8b6b0;border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs)}.mistake-card__head[data-v-0e54faf4]{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.question-passage[data-v-0e54faf4]{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-2);font-size:var(--text-sm);line-height:1.75;white-space:pre-wrap}.mistake-card__stem[data-v-0e54faf4]{margin-bottom:var(--space-4);font-family:var(--font-sans);font-size:var(--text-base);font-weight:600;line-height:1.7}.mistake-card__answers[data-v-0e54faf4]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.mistake-card__answers>div[data-v-0e54faf4]{display:grid;gap:3px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-2)}.mistake-card__answers strong[data-v-0e54faf4]{font-size:var(--text-sm)}.answer-wrong[data-v-0e54faf4]{color:var(--danger)}.answer-right[data-v-0e54faf4]{color:var(--success)}.mistake-card__detail[data-v-0e54faf4]{display:grid;gap:8px;margin-top:var(--space-3);padding:var(--space-4);border-radius:var(--radius-sm);background:#fafbf9;color:var(--muted);font-size:var(--text-sm);line-height:1.7}.mistake-card__feedback[data-v-0e54faf4]{padding-top:8px;border-top:1px solid var(--line)}@media(max-width:900px){.filters[data-v-0e54faf4]{grid-template-columns:1fr 1fr}.filters__search[data-v-0e54faf4]{grid-column:1 / -1}.filters__count[data-v-0e54faf4]{justify-self:end}}@media(max-width:640px){.mistake-card[data-v-0e54faf4]{padding:var(--space-4)}.mistake-card__head[data-v-0e54faf4]{flex-direction:column}.mistake-card__answers[data-v-0e54faf4]{grid-template-columns:1fr}}.metric[data-v-88ebe0f3]{display:grid;gap:10px;width:100%;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-align:left;box-shadow:var(--shadow-xs);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.metric[data-v-88ebe0f3]:hover:not(.metric--static){transform:translateY(-2px);border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.metric--static[data-v-88ebe0f3]{cursor:default}.metric__top[data-v-88ebe0f3]{display:flex;align-items:center;justify-content:space-between;gap:10px}.metric__label[data-v-88ebe0f3]{font-size:var(--text-xs);font-weight:650;color:var(--muted)}.metric__icon[data-v-88ebe0f3]{display:grid;place-items:center;width:30px;height:30px;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent)}.metric--amber .metric__icon[data-v-88ebe0f3]{background:var(--amber-soft);color:var(--amber)}.metric--blue .metric__icon[data-v-88ebe0f3]{background:var(--info-soft);color:var(--info)}.metric--rose .metric__icon[data-v-88ebe0f3]{background:var(--danger-soft);color:var(--danger)}.metric__value[data-v-88ebe0f3]{font-family:var(--font-serif);font-size:26px;line-height:1;letter-spacing:-.03em;color:var(--ink)}.metric__value small[data-v-88ebe0f3]{margin-left:3px;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:500;color:var(--faint);letter-spacing:0}.metric__hint[data-v-88ebe0f3]{font-size:var(--text-xs);color:var(--faint)}.overview__alert[data-v-80c51bed]{margin-bottom:var(--space-5)}.hero[data-v-80c51bed]{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:var(--space-4);margin-bottom:var(--space-5)}.resume-card[data-v-80c51bed],.score-card[data-v-80c51bed],.focus-card[data-v-80c51bed]{border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-6);background:var(--surface);box-shadow:var(--shadow-xs)}.resume-card[data-v-80c51bed]{display:grid;gap:var(--space-3);border-color:#cfe0d5;background:linear-gradient(140deg,#fff 30%,#f1f7f2)}.resume-card__top[data-v-80c51bed],.score-card__top[data-v-80c51bed],.focus-card__top[data-v-80c51bed]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.resume-card h2[data-v-80c51bed],.focus-card h2[data-v-80c51bed]{font-size:var(--text-lg)}.resume-card__bar[data-v-80c51bed]{margin:var(--space-2) 0 var(--space-3)}.score-card[data-v-80c51bed]{display:grid;gap:var(--space-4);width:100%;text-align:left;cursor:pointer;background:radial-gradient(420px 220px at 100% 0%,#e9f1e8 0%,transparent 65%),var(--surface);transition:transform .16s ease,box-shadow .16s ease}.score-card[data-v-80c51bed]:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.score-card__main[data-v-80c51bed]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.score-card__range[data-v-80c51bed]{display:grid;gap:4px;font-family:var(--font-serif);font-size:clamp(34px,4vw,46px);line-height:1;letter-spacing:-.035em;color:var(--accent-ink)}.score-card__range em[data-v-80c51bed]{margin:0 5px;color:#a6b8ab;font-style:normal;font-size:.55em}.score-card__range small[data-v-80c51bed]{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:500;color:var(--faint);letter-spacing:0}.score-seal[data-v-80c51bed]{display:grid;place-items:center;width:64px;height:64px;border:1px dashed #b9ccbd;border-radius:50%;color:#5b7b66;flex:none}.score-seal span[data-v-80c51bed]{font-family:var(--font-serif);font-size:11px}.score-seal small[data-v-80c51bed]{font-size:8px;letter-spacing:.12em;color:var(--faint)}.score-card__caption[data-v-80c51bed]{color:var(--muted);font-size:var(--text-xs);line-height:1.6}.score-card__link[data-v-80c51bed]{display:inline-flex;align-items:center;gap:5px;color:var(--accent);font-size:var(--text-xs);font-weight:650}.focus-card[data-v-80c51bed]{display:grid;gap:var(--space-3);background:linear-gradient(150deg,#fbfcf9,#f0f5ee)}.focus-card__actions[data-v-80c51bed]{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-2)}.metrics[data-v-80c51bed]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4);margin-bottom:var(--space-5)}.lower[data-v-80c51bed]{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--space-4);margin-bottom:var(--space-5)}.module-list[data-v-80c51bed],.session-list[data-v-80c51bed]{display:grid;gap:var(--space-2)}.module-row[data-v-80c51bed]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.module-row[data-v-80c51bed]:last-child{border-bottom:0}.module-row__text[data-v-80c51bed]{display:grid;gap:2px}.module-row__text strong[data-v-80c51bed]{font-size:var(--text-sm)}.module-row__text small[data-v-80c51bed]{color:var(--faint);font-size:var(--text-xs)}.module-row__score[data-v-80c51bed]{display:grid;justify-items:end;gap:2px}.module-row__score strong[data-v-80c51bed]{color:var(--accent);font-size:var(--text-sm)}.module-row__score small[data-v-80c51bed]{color:var(--faint);font-size:var(--text-xs)}.module-row__bar[data-v-80c51bed]{grid-column:1 / -1}.session-row[data-v-80c51bed]{display:flex;align-items:center;gap:11px;width:100%;padding:11px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-align:left}.session-row[data-v-80c51bed]:hover{background:var(--surface-2)}.session-row__icon[data-v-80c51bed]{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--radius-sm);background:var(--surface-3);color:var(--accent);flex:none}.session-row__text[data-v-80c51bed]{display:grid;gap:2px;min-width:0;flex:1}.session-row__text strong[data-v-80c51bed]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm)}.session-row__text small[data-v-80c51bed]{color:var(--faint);font-size:var(--text-xs)}.session-row__score[data-v-80c51bed]{color:var(--accent);font-size:var(--text-sm);font-weight:650;white-space:nowrap}.recent .panel-head[data-v-80c51bed]{margin-bottom:var(--space-3)}@media(max-width:1100px){.hero[data-v-80c51bed]{grid-template-columns:1fr}.metrics[data-v-80c51bed]{grid-template-columns:repeat(2,minmax(0,1fr))}.lower[data-v-80c51bed]{grid-template-columns:1fr}}@media(max-width:640px){.metrics[data-v-80c51bed]{grid-template-columns:1fr 1fr;gap:var(--space-2)}.score-card[data-v-80c51bed],.resume-card[data-v-80c51bed],.focus-card[data-v-80c51bed]{padding:var(--space-5) var(--space-4)}}.practice-toolbar[data-v-7ca419dd]{position:sticky;top:calc(var(--topbar-h) + 8px);z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;margin-bottom:var(--space-4);border:1px solid var(--line);border-radius:var(--radius);background:#ffffffed;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-xs)}.practice-toolbar__main[data-v-7ca419dd],.practice-toolbar__meta[data-v-7ca419dd]{display:flex;align-items:center;gap:12px;min-width:0}.practice-toolbar__main[data-v-7ca419dd]{display:grid;gap:2px}.practice-toolbar__main strong[data-v-7ca419dd]{font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.practice-toolbar__main small[data-v-7ca419dd]{color:var(--faint);font-size:var(--text-xs)}.timer[data-v-7ca419dd]{display:inline-flex;align-items:center;gap:5px;color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:var(--text-sm)}.save-state[data-v-7ca419dd]{border:0;background:transparent;color:var(--faint);font-size:var(--text-xs);white-space:nowrap}.save-state.save-failed[data-v-7ca419dd]{color:var(--danger);text-decoration:underline}.result-card[data-v-7ca419dd]{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-6);padding:var(--space-5);margin-bottom:var(--space-4);border:1px solid #cfe0d5;border-radius:var(--radius-lg);background:linear-gradient(140deg,#fff,#f0f7f1)}.result-card__score[data-v-7ca419dd]{display:grid;gap:4px;align-content:center;padding-right:var(--space-5);border-right:1px solid var(--line)}.result-card__score strong[data-v-7ca419dd]{font-family:var(--font-serif);font-size:40px;line-height:1;letter-spacing:-.04em;color:var(--accent-ink)}.result-card__score small[data-v-7ca419dd]{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--faint)}.result-card__score>.chip[data-v-7ca419dd]{justify-self:start;align-self:start}.result-card__metrics[data-v-7ca419dd]{display:flex;flex-wrap:wrap;gap:var(--space-5);align-content:center}.result-card__metrics>div[data-v-7ca419dd]{display:grid;gap:3px}.result-card__metrics strong[data-v-7ca419dd]{font-size:var(--text-md);color:var(--ink)}.result-card__metrics small[data-v-7ca419dd]{margin-left:2px;font-size:var(--text-xs);color:var(--faint);font-weight:500}.practice-layout[data-v-7ca419dd]{display:grid;grid-template-columns:minmax(0,1fr) 214px;gap:var(--space-4);align-items:start}.question-stack[data-v-7ca419dd]{display:grid;gap:var(--space-4);min-width:0}.question-card[data-v-7ca419dd]{padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);scroll-margin-top:calc(var(--topbar-h) + 80px)}.question-card.is-current[data-v-7ca419dd]{border-color:#b7cdbd}.question-card.is-correct[data-v-7ca419dd]{border-left:3px solid var(--success)}.question-card.is-wrong[data-v-7ca419dd]{border-left:3px solid var(--danger)}.question-card__head[data-v-7ca419dd]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:var(--space-3)}.question-number[data-v-7ca419dd]{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:var(--radius-sm);background:var(--surface-3);color:var(--ink-2);font-size:var(--text-xs);font-weight:700}.question-passage[data-v-7ca419dd]{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-2);font-size:var(--text-sm);line-height:1.75;white-space:pre-wrap}.question-stem[data-v-7ca419dd]{margin-bottom:var(--space-4);font-family:var(--font-sans);font-size:var(--text-base);font-weight:600;line-height:1.7;color:var(--ink)}.option-list[data-v-7ca419dd]{display:grid;gap:8px}.option[data-v-7ca419dd]{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;transition:border-color .15s ease,background .15s ease}.option[data-v-7ca419dd]:hover{border-color:var(--line-strong)}.option.is-selected[data-v-7ca419dd]{border-color:#95b4a0;background:#f3f8f4}.option input[data-v-7ca419dd]{margin-top:2px;accent-color:var(--accent);flex:none}.option span[data-v-7ca419dd]{display:flex;gap:8px;font-size:var(--text-sm);line-height:1.65;color:var(--ink-2)}.option b[data-v-7ca419dd]{color:var(--accent);flex:none}.answer-review[data-v-7ca419dd]{display:grid;gap:7px;margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius);background:var(--surface-2)}.answer-review__head[data-v-7ca419dd]{display:flex;align-items:center;justify-content:space-between;gap:10px}.answer-review__answer[data-v-7ca419dd]{color:var(--accent-ink);font-weight:650}.answer-review__explain[data-v-7ca419dd],.answer-review__feedback[data-v-7ca419dd]{color:var(--muted);font-size:var(--text-sm);line-height:1.7}.navigator[data-v-7ca419dd]{position:sticky;top:calc(var(--topbar-h) + 80px);display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.navigator__head[data-v-7ca419dd]{display:flex;align-items:center;justify-content:space-between;gap:8px}.navigator__head strong[data-v-7ca419dd]{font-size:var(--text-sm)}.navigator__head small[data-v-7ca419dd]{color:var(--faint);font-size:var(--text-xs)}.navigator__grid[data-v-7ca419dd]{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.navigator__item[data-v-7ca419dd]{display:grid;place-items:center;aspect-ratio:1;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted);font-size:var(--text-xs);font-weight:650}.navigator__item.is-answered[data-v-7ca419dd]{border-color:#c2d8c8;background:var(--success-soft);color:var(--success)}.navigator__item.is-current[data-v-7ca419dd]{border-color:var(--accent);box-shadow:var(--focus)}.navigator__legend[data-v-7ca419dd]{display:flex;gap:10px;color:var(--faint);font-size:10px}.navigator__legend span[data-v-7ca419dd]{display:inline-flex;align-items:center;gap:4px}.dot[data-v-7ca419dd]{width:7px;height:7px;border-radius:50%;background:var(--line-strong)}.dot.answered[data-v-7ca419dd]{background:var(--success)}.setup[data-v-7ca419dd]{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:var(--space-4)}.setup__panel[data-v-7ca419dd]{display:grid;gap:var(--space-5);align-content:start}.setup__grid[data-v-7ca419dd]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.setup__full[data-v-7ca419dd]{padding:var(--space-4);border-radius:var(--radius);background:var(--surface-2)}.setup__aside h2[data-v-7ca419dd]{margin:4px 0 var(--space-4);font-size:var(--text-lg)}.rules[data-v-7ca419dd]{display:grid;gap:10px;margin:0;padding:0;list-style:none;color:var(--muted);font-size:var(--text-sm)}.rules li[data-v-7ca419dd]{display:flex;align-items:flex-start;gap:8px}.rules svg[data-v-7ca419dd]{color:var(--accent);flex:none;margin-top:2px}@media(max-width:1000px){.practice-layout[data-v-7ca419dd]{grid-template-columns:1fr}.navigator[data-v-7ca419dd]{position:static;order:-1}.navigator__grid[data-v-7ca419dd]{grid-template-columns:repeat(10,1fr)}}@media(max-width:760px){.practice-toolbar[data-v-7ca419dd]{flex-direction:column;align-items:stretch;top:calc(var(--topbar-h) + 4px)}.practice-toolbar__meta[data-v-7ca419dd]{justify-content:space-between;flex-wrap:wrap}.result-card[data-v-7ca419dd]{grid-template-columns:1fr}.result-card__score[data-v-7ca419dd]{padding-right:0;padding-bottom:var(--space-4);border-right:0;border-bottom:1px solid var(--line)}.setup[data-v-7ca419dd],.setup__grid[data-v-7ca419dd]{grid-template-columns:1fr}.navigator__grid[data-v-7ca419dd]{grid-template-columns:repeat(8,1fr)}.question-card[data-v-7ca419dd]{padding:var(--space-4);scroll-margin-top:calc(var(--topbar-h) + 150px)}}.editor-grid[data-v-09bda6fc]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.field--wide[data-v-09bda6fc]{grid-column:1 / -1}.key-input[data-v-09bda6fc]{position:relative}.key-input .input[data-v-09bda6fc]{padding-right:46px}.key-input__toggle[data-v-09bda6fc]{position:absolute;top:50%;right:5px;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);transform:translateY(-50%)}.key-input__toggle[data-v-09bda6fc]:hover{background:var(--surface-3)}.role-grid[data-v-09bda6fc]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.role-option[data-v-09bda6fc]{display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer}.role-option.is-selected[data-v-09bda6fc]{border-color:#a9c6b2;background:#f3f8f4}.role-option input[data-v-09bda6fc]{margin-top:2px;accent-color:var(--accent);flex:none}.role-option span[data-v-09bda6fc]{display:grid;gap:2px}.role-option strong[data-v-09bda6fc]{font-size:var(--text-xs)}.role-option small[data-v-09bda6fc]{color:var(--faint);font-size:10px;line-height:1.4}.switches[data-v-09bda6fc]{display:flex;gap:var(--space-4);align-items:center;flex-wrap:wrap}.dialog__actions[data-v-09bda6fc]{flex-wrap:wrap}@media(max-width:700px){.editor-grid[data-v-09bda6fc],.role-grid[data-v-09bda6fc]{grid-template-columns:1fr}.field--wide[data-v-09bda6fc]{grid-column:auto}.dialog__actions[data-v-09bda6fc]{align-items:stretch;flex-direction:row;flex-wrap:wrap}.dialog__actions .btn[data-v-09bda6fc]:first-child{flex:1 0 100%}.dialog__actions .btn[data-v-09bda6fc]:not(:first-child){flex:1}}.coverage[data-v-6e961e9a]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);padding:var(--space-4);margin-bottom:var(--space-4)}.coverage__item[data-v-6e961e9a]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--muted);font-size:var(--text-xs)}.coverage__item.is-ready[data-v-6e961e9a]{border-color:#cfe0d5;background:#f5faf6;color:var(--accent-ink)}.coverage__item strong[data-v-6e961e9a]{font-family:var(--font-serif);font-size:var(--text-lg)}.coverage__note[data-v-6e961e9a]{grid-column:1 / -1;color:var(--faint);font-size:var(--text-xs);line-height:1.6}.profile-list[data-v-6e961e9a]{display:grid;gap:var(--space-3);margin-bottom:var(--space-4)}.profile-card[data-v-6e961e9a]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-4);align-items:center;padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs)}.profile-card__main[data-v-6e961e9a]{display:grid;gap:8px;min-width:0}.profile-card__title[data-v-6e961e9a]{display:flex;align-items:flex-start;gap:11px;min-width:0}.profile-mark[data-v-6e961e9a]{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent);flex:none}.profile-card__title h2[data-v-6e961e9a]{font-family:var(--font-sans);font-size:var(--text-base);font-weight:650}.profile-card__meta[data-v-6e961e9a],.profile-card__roles[data-v-6e961e9a]{color:var(--faint);font-size:var(--text-xs);overflow-wrap:anywhere}.profile-card__roles[data-v-6e961e9a]{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.profile-card__error[data-v-6e961e9a]{padding:8px 10px;border-radius:var(--radius-sm);background:var(--danger-soft);color:#87352f;font-size:var(--text-xs);line-height:1.5;overflow-wrap:anywhere}.profile-card__actions[data-v-6e961e9a]{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.connection[data-v-6e961e9a]{margin-top:var(--space-4)}.settings-row[data-v-6e961e9a]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-top:1px solid var(--line);color:var(--muted);font-size:var(--text-sm)}.settings-row strong[data-v-6e961e9a]{color:var(--ink-2);font-weight:600;text-align:right;overflow-wrap:anywhere}@media(max-width:900px){.coverage[data-v-6e961e9a]{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-card[data-v-6e961e9a]{grid-template-columns:1fr}.profile-card__actions[data-v-6e961e9a]{justify-content:flex-start;padding-top:var(--space-3);border-top:1px solid var(--line)}}@media(max-width:560px){.settings-row[data-v-6e961e9a]{align-items:flex-start;flex-direction:column;gap:6px}.settings-row strong[data-v-6e961e9a]{text-align:left}}.boot[data-v-1a08f160]{min-height:100dvh;display:flex;align-items:center;justify-content:center;gap:16px;padding:24px;background:radial-gradient(800px 420px at 50% 0%,#e8f0e6,transparent 68%),var(--bg)}.boot__mark[data-v-1a08f160]{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(145deg,#3f7359,#244a3a);color:#f4f8f4;font-family:var(--font-serif);font-size:16px;font-weight:700}.boot__spinner[data-v-1a08f160]{width:18px;height:18px;border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;animation:spin-1a08f160 .8s linear infinite}.boot div[data-v-1a08f160]{display:grid;gap:2px}.boot strong[data-v-1a08f160]{font-size:var(--text-sm)}.boot small[data-v-1a08f160]{color:var(--muted);font-size:var(--text-xs)}@keyframes spin-1a08f160{to{transform:rotate(360deg)}}:root{--sidebar: #101a14;--sidebar-2: #17251c;--sidebar-text: #cfd9d1;--sidebar-muted: #8b9a8f;--sidebar-active: #24382b;--sidebar-accent: #9ed4b4;--bg: #f3f5f1;--surface: #ffffff;--surface-2: #f8faf6;--surface-3: #eef2ec;--ink: #1c2620;--ink-2: #47544b;--muted: #6d7a71;--faint: #94a097;--line: #e1e6df;--line-strong: #cdd5cc;--accent: #2f5d4a;--accent-strong: #244a3a;--accent-soft: #e6efe8;--accent-ink: #1d3c2e;--amber: #ad773b;--amber-soft: #f8efe2;--danger: #b04a42;--danger-soft: #f9ecea;--warning: #a2702b;--warning-soft: #faf1df;--success: #2f6b4a;--success-soft: #e8f2eb;--info: #3f5f8a;--info-soft: #edf2f8;--neutral: #56645b;--neutral-soft: #eff2ee;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(22, 34, 26, .05);--shadow-sm: 0 2px 8px rgba(22, 34, 26, .06);--shadow: 0 10px 30px rgba(22, 34, 26, .08);--shadow-overlay: 0 24px 60px rgba(16, 26, 20, .26);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 22px;--text-2xl: 28px;--text-3xl: 34px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;--font-serif: "Source Han Serif SC", "Noto Serif CJK SC", "Songti SC", "SimSun", Georgia, serif;--focus: 0 0 0 3px rgba(47, 93, 74, .28);--sidebar-w: 264px;--sidebar-w-compact: 84px;--topbar-h: 64px;--tabbar-h: 62px;--content-max: 1260px;--z-sticky: 20;--z-tabbar: 30;--z-drawer: 40;--z-sheet: 50;--z-toast: 60;color-scheme:light;font-family:var(--font-sans);color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}@media(max-width:1199px)and (min-width:901px){:root{--sidebar-w: var(--sidebar-w-compact)}}@media(max-width:900px){:root{--topbar-h: 56px;--sidebar-w: 0px}}*,*:before,*:after{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;min-width:320px;min-height:100dvh;background:radial-gradient(1100px 500px at 12% -10%,#eaf0e7 0%,transparent 58%),var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.55}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:var(--font-serif);font-weight:650;letter-spacing:-.018em;line-height:1.25}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-md)}a{color:var(--accent);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--radius-sm)}::selection{background:var(--accent-soft);color:var(--accent-ink)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#c6cfc7;border:3px solid transparent;border-radius:var(--radius-pill);background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}.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}.skip-link{position:fixed;top:8px;left:8px;z-index:100;padding:10px 14px;border-radius:var(--radius-sm);background:var(--ink);color:#fff;transform:translateY(-160%);transition:transform .18s ease}.skip-link:focus-visible{transform:translateY(0)}.page{width:100%;max-width:var(--content-max);margin-inline:auto;padding:var(--space-8) var(--space-10) var(--space-16)}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-6)}.page-header__title{display:grid;gap:var(--space-2);min-width:0}.page-header__actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end}.eyebrow{font-size:var(--text-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.subhead{color:var(--muted);font-size:var(--text-sm);max-width:68ch}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:var(--space-6);min-width:0}.panel--soft{background:var(--surface-2)}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.panel-head__text{display:grid;gap:var(--space-1);min-width:0}.panel-head h2{font-size:var(--text-lg)}.stack{display:grid;gap:var(--space-4)}.stack--lg{gap:var(--space-6)}.row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.row--between{justify-content:space-between}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:42px;padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--ink-2);font-size:var(--text-sm);font-weight:650;white-space:nowrap;transition:background .16s ease,border-color .16s ease,transform .16s ease}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn--primary{background:var(--accent);color:#fff;box-shadow:0 6px 16px #2f5d4a2e}.btn--primary:hover:not(:disabled){background:var(--accent-strong)}.btn--secondary{background:var(--surface);border-color:var(--line-strong);color:var(--ink-2)}.btn--secondary:hover:not(:disabled){background:var(--surface-2)}.btn--ghost{color:var(--muted)}.btn--ghost:hover:not(:disabled){background:var(--surface-3);color:var(--ink)}.btn--danger{background:var(--danger-soft);color:var(--danger)}.btn--danger:hover:not(:disabled){background:#f4deda}.btn--sm{min-height:34px;padding:0 var(--space-3);font-size:var(--text-xs)}.btn--icon{width:38px;min-height:38px;padding:0}.btn--full{width:100%}.field{display:grid;gap:var(--space-2);min-width:0}.field>label,.field__label{font-size:var(--text-xs);font-weight:650;color:var(--ink-2);letter-spacing:.02em}.field small,.hint{color:var(--muted);font-size:var(--text-xs);line-height:1.5}.input,.select,.textarea{width:100%;min-height:42px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-size:var(--text-base);transition:border-color .16s ease,box-shadow .16s ease}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:#8aa792;box-shadow:var(--focus)}.textarea{min-height:110px;resize:vertical;line-height:1.6}.checkbox{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--text-sm);color:var(--ink-2);cursor:pointer}.checkbox input{width:17px;height:17px;margin-top:2px;accent-color:var(--accent);flex:none}.switch{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--ink-2)}.switch input{width:38px;height:22px;accent-color:var(--accent)}.chip{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:3px 9px;border-radius:var(--radius-pill);background:var(--neutral-soft);color:var(--neutral);font-size:var(--text-xs);font-weight:600;white-space:nowrap}.chip--success{background:var(--success-soft);color:var(--success)}.chip--warning{background:var(--warning-soft);color:var(--warning)}.chip--danger{background:var(--danger-soft);color:var(--danger)}.chip--info{background:var(--info-soft);color:var(--info)}.chip--accent{background:var(--accent-soft);color:var(--accent)}.chip--muted{background:var(--surface-3);color:var(--muted)}.alert{display:flex;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);color:var(--ink-2);font-size:var(--text-sm)}.alert--info{border-color:#cfdcec;background:var(--info-soft);color:#294a72}.alert--success{border-color:#cfe2d5;background:var(--success-soft);color:#285c40}.alert--warning{border-color:#ead9b7;background:var(--warning-soft);color:#7a551f}.alert--danger{border-color:#ecc9c4;background:var(--danger-soft);color:#87352f}.alert__body{display:grid;gap:3px;min-width:0}.alert__body strong{font-size:var(--text-sm)}.empty{display:grid;justify-items:center;gap:var(--space-2);padding:var(--space-10) var(--space-6);text-align:center;color:var(--muted)}.empty__icon{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--radius);background:var(--surface-3);color:var(--accent)}.empty strong{color:var(--ink);font-size:var(--text-base)}.empty p{font-size:var(--text-sm);max-width:44ch}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#eef1ec 25%,#f7f9f5 37%,#eef1ec 63%);background-size:400% 100%;animation:skeleton 1.4s ease infinite}@keyframes skeleton{0%{background-position:100% 50%}to{background-position:0 50%}}.segmented{display:inline-flex;gap:4px;padding:4px;border-radius:var(--radius);background:var(--surface-3)}.segmented button{min-height:36px;padding:0 var(--space-4);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font-size:var(--text-sm);font-weight:650}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--accent-ink);box-shadow:var(--shadow-xs)}.stepper{display:inline-flex;align-items:center;gap:var(--space-2)}.stepper button{width:40px;height:40px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-2);font-size:var(--text-md);line-height:1}.stepper input{width:64px;height:40px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);text-align:center;background:var(--surface)}.progress{height:7px;border-radius:var(--radius-pill);background:var(--surface-3);overflow:hidden}.progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6e9a7d,var(--accent));transition:width .4s ease}.progress--amber>span{background:linear-gradient(90deg,#d2a66c,var(--amber))}.dialog-backdrop{position:fixed;inset:0;z-index:var(--z-sheet);display:grid;place-items:center;padding:var(--space-4);background:#101a146b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog{width:min(100%,520px);max-height:min(86dvh,760px);overflow:auto;padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-overlay)}.dialog--wide{width:min(100%,760px)}.dialog__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.dialog__actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6)}.toast-stack{position:fixed;right:var(--space-6);bottom:calc(var(--space-6) + env(safe-area-inset-bottom));z-index:var(--z-toast);display:grid;gap:var(--space-2);width:min(360px,calc(100vw - 32px))}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--ink);color:#f4f7f3;box-shadow:var(--shadow);font-size:var(--text-sm);animation:toast-in .2s ease}.toast--success{background:#1f4a35}.toast--danger{background:#7c342e}.toast--info{background:#2f425f}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.data-table{width:100%;border-collapse:collapse}.data-table th{padding:var(--space-3) var(--space-4);background:var(--surface-2);color:var(--faint);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-align:left;white-space:nowrap}.data-table td{padding:var(--space-3) var(--space-4);border-top:1px solid var(--line);font-size:var(--text-sm);color:var(--ink-2);vertical-align:middle}.data-table tr:hover td{background:#fbfcfa}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.muted{color:var(--muted)}.faint{color:var(--faint)}.nowrap{white-space:nowrap}.break-anywhere{overflow-wrap:anywhere;word-break:break-word}.divider{height:1px;background:var(--line);border:0;margin:0}@media(max-width:1100px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.page{padding:var(--space-6) var(--space-4) calc(var(--space-10) + env(safe-area-inset-bottom))}.page-header{align-items:flex-start;flex-direction:column;gap:var(--space-4)}.page-header__actions{width:100%;justify-content:flex-start}.panel{padding:var(--space-5) var(--space-4)}.dialog{width:100%;max-height:calc(100dvh - 32px);padding:var(--space-4)}.dialog__actions{position:sticky;bottom:calc(-1 * var(--space-4));margin:var(--space-4) calc(-1 * var(--space-4)) calc(-1 * var(--space-4));padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line)}.toast-stack{right:50%;bottom:calc(var(--tabbar-h) + 16px + env(safe-area-inset-bottom));transform:translate(50%)}}@media(max-width:640px){h1{font-size:var(--text-xl)}h2{font-size:var(--text-lg)}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.btn{min-height:44px}.btn--sm{min-height:38px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
