.cookie-banner[data-v-e6aa9ecd]{position:fixed;left:var(--sp-4);right:var(--sp-4);bottom:var(--sp-4);z-index:1000;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:var(--sp-4) var(--sp-5);max-width:760px;margin:0 auto}.cookie-banner__inner[data-v-e6aa9ecd]{display:flex;gap:var(--sp-4);align-items:flex-start}.cookie-banner__text[data-v-e6aa9ecd]{flex:1;min-width:0}.cookie-banner__text h3[data-v-e6aa9ecd]{font-size:var(--fs-md);font-weight:var(--fw-semibold);margin:0 0 var(--sp-1);color:var(--text)}.cookie-banner__text p[data-v-e6aa9ecd]{font-size:var(--fs-sm);color:var(--text-secondary);line-height:var(--lh-relaxed);margin:0}.cookie-banner__text a[data-v-e6aa9ecd]{color:var(--brand)}.cookie-banner__actions[data-v-e6aa9ecd]{display:flex;gap:var(--sp-2);flex-shrink:0;align-items:center;flex-wrap:wrap}.cookie-banner__close[data-v-e6aa9ecd]{background:transparent;border:none;color:var(--text-secondary);font-size:var(--fs-lg);line-height:1;padding:var(--sp-1) var(--sp-2);border-radius:var(--r-md);cursor:pointer}.cookie-banner__close[data-v-e6aa9ecd]:hover{background:var(--bg-subtle);color:var(--text)}.cookie-banner__btn[data-v-e6aa9ecd]{padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);font-size:var(--fs-sm);font-weight:var(--fw-medium);border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.cookie-banner__btn--primary[data-v-e6aa9ecd]{background:var(--brand);color:#fff}.cookie-banner__btn--primary[data-v-e6aa9ecd]:hover{filter:brightness(.95)}.cookie-banner__btn--ghost[data-v-e6aa9ecd]{background:transparent;color:var(--text);border-color:var(--border)}.cookie-banner__btn--ghost[data-v-e6aa9ecd]:hover{background:var(--bg-subtle)}.cookie-banner__more[data-v-e6aa9ecd]{display:none}@media(max-width:768px){.cookie-banner[data-v-e6aa9ecd]{left:var(--sp-2);right:var(--sp-2);bottom:var(--sp-2);padding:var(--sp-3) var(--sp-4)}.cookie-banner__text--collapsed p[data-v-e6aa9ecd]{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.cookie-banner__text--collapsed .cookie-banner__more[data-v-e6aa9ecd]{display:inline;margin-top:var(--sp-1);padding:0;border:0;background:none;color:var(--brand);font:inherit;font-size:var(--fs-sm);text-decoration:underline;cursor:pointer}.cookie-banner__inner[data-v-e6aa9ecd]{flex-direction:column}.cookie-banner__actions[data-v-e6aa9ecd]{width:100%;justify-content:stretch}.cookie-banner__btn[data-v-e6aa9ecd]{flex:1}}.cookie-fade-enter-active[data-v-e6aa9ecd],.cookie-fade-leave-active[data-v-e6aa9ecd]{transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}.cookie-fade-enter-from[data-v-e6aa9ecd],.cookie-fade-leave-to[data-v-e6aa9ecd]{opacity:0;transform:translateY(12px)}.dlg-overlay[data-v-075dcfa1]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:var(--sp-4);z-index:1300}.dlg-modal[data-v-075dcfa1]{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5) var(--sp-6);max-width:420px;width:100%;box-shadow:var(--shadow-lg)}.dlg-title[data-v-075dcfa1]{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text);margin:0 0 var(--sp-2)}.dlg-message[data-v-075dcfa1]{font-size:var(--fs-md);color:var(--text-secondary);line-height:var(--lh-relaxed);margin:0 0 var(--sp-4);white-space:pre-line;overflow-wrap:break-word}.dlg-actions[data-v-075dcfa1]{display:flex;gap:var(--sp-3);justify-content:flex-end}.dlg-btn[data-v-075dcfa1]{padding:var(--sp-2) var(--sp-4);border-radius:var(--r-md);font-size:var(--fs-md);font-weight:var(--fw-medium);border:1px solid transparent;cursor:pointer;transition:background var(--dur) var(--ease),filter var(--dur) var(--ease)}.dlg-btn--primary[data-v-075dcfa1]{background:var(--brand);color:#fff}.dlg-btn--primary[data-v-075dcfa1]:hover{filter:brightness(.95)}.dlg-btn--danger[data-v-075dcfa1]{background:var(--danger);color:#fff}.dlg-btn--danger[data-v-075dcfa1]:hover{filter:brightness(.95)}.dlg-btn--secondary[data-v-075dcfa1]{background:var(--bg);border-color:var(--border);color:var(--text)}.dlg-btn--secondary[data-v-075dcfa1]:hover{background:var(--bg-subtle)}.dlg-enter-active[data-v-075dcfa1],.dlg-leave-active[data-v-075dcfa1]{transition:opacity .15s ease}.dlg-enter-active .dlg-modal[data-v-075dcfa1],.dlg-leave-active .dlg-modal[data-v-075dcfa1]{transition:transform .15s ease}.dlg-enter-from[data-v-075dcfa1],.dlg-leave-to[data-v-075dcfa1]{opacity:0}.dlg-enter-from .dlg-modal[data-v-075dcfa1],.dlg-leave-to .dlg-modal[data-v-075dcfa1]{transform:scale(.96)}.app-icon[data-v-c59ed45a]{flex-shrink:0;vertical-align:middle}.bug-overlay[data-v-60bba476]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:var(--sp-4, 16px);z-index:1200}.bug-modal[data-v-60bba476]{position:relative;width:100%;max-width:520px;max-height:calc(100vh - 32px);overflow:auto;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg, 16px);padding:var(--sp-5, 20px) var(--sp-6, 24px);box-shadow:var(--shadow-lg)}.bug-close[data-v-60bba476]{position:absolute;top:10px;right:12px;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--text-tertiary);cursor:pointer}.bug-close[data-v-60bba476]:hover{background:var(--bg-subtle);color:var(--text)}.bug-title[data-v-60bba476]{margin:0 0 6px;font-size:var(--fs-lg, 18px);font-weight:var(--fw-semibold, 600);color:var(--text);padding-right:28px}.bug-text[data-v-60bba476]{margin:0 0 var(--sp-4, 16px);font-size:var(--fs-sm, 14px);color:var(--text-secondary);line-height:1.55}.bug-label[data-v-60bba476]{display:block;margin:var(--sp-3, 12px) 0 6px;font-size:var(--fs-sm, 14px);font-weight:var(--fw-medium, 500);color:var(--text)}.bug-req[data-v-60bba476]{color:var(--danger)}.bug-input[data-v-60bba476]{width:100%;box-sizing:border-box;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:var(--r-md, 10px);padding:10px 12px;font:inherit;font-size:var(--fs-md, 15px);resize:vertical}.bug-input[data-v-60bba476]:focus{outline:none;border-color:var(--brand);box-shadow:var(--shadow-focus)}.bug-input.is-error[data-v-60bba476]{border-color:var(--danger)}.bug-err[data-v-60bba476]{display:block;margin-top:4px;font-size:var(--fs-xs, 12.5px);color:var(--danger)}.bug-hint[data-v-60bba476]{display:block;margin:4px 0 0;font-size:var(--fs-xs, 12.5px);color:var(--text-tertiary);line-height:1.5}.bug-fine[data-v-60bba476]{margin:var(--sp-4, 16px) 0 0;font-size:var(--fs-xs, 12.5px);color:var(--text-tertiary);line-height:1.5}.bug-server-err[data-v-60bba476]{margin:var(--sp-3, 12px) 0 0;padding:10px 12px;border-radius:var(--r-md, 10px);background:var(--danger-soft);color:var(--danger-soft-text);border:1px solid var(--danger);font-size:var(--fs-sm, 14px)}.bug-shot-actions[data-v-60bba476]{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.bug-file[data-v-60bba476]{display:none}.bug-shot[data-v-60bba476]{border:1px solid var(--border);border-radius:var(--r-md, 10px);overflow:hidden;background:var(--bg-subtle)}.bug-shot__img[data-v-60bba476]{display:block;width:100%;max-height:220px;object-fit:contain;background:var(--bg)}.bug-shot__bar[data-v-60bba476]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;font-size:var(--fs-xs, 12.5px);color:var(--text-secondary)}.bug-shot__name[data-v-60bba476]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bug-actions[data-v-60bba476]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:var(--sp-4, 16px);flex-wrap:wrap}.bug-btn[data-v-60bba476]{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:var(--r-md, 10px);border:1px solid transparent;font:inherit;font-size:var(--fs-sm, 14px);font-weight:var(--fw-medium, 500);cursor:pointer;transition:filter var(--dur, .15s) var(--ease, ease),background var(--dur, .15s) var(--ease, ease)}.bug-btn[data-v-60bba476]:disabled{opacity:.6;cursor:default}.bug-btn--primary[data-v-60bba476]{background:var(--brand);color:var(--text-inverse, #fff)}.bug-btn--primary[data-v-60bba476]:hover:not(:disabled){filter:brightness(.95)}.bug-btn--secondary[data-v-60bba476]{background:var(--bg);border-color:var(--border);color:var(--text)}.bug-btn--secondary[data-v-60bba476]:hover:not(:disabled){background:var(--bg-subtle)}.bug-btn--ghost[data-v-60bba476]{background:transparent;color:var(--text-secondary)}.bug-btn--ghost[data-v-60bba476]:hover{background:var(--bg-subtle);color:var(--text)}.bug-link[data-v-60bba476]{border:0;background:none;padding:0;font:inherit;font-size:var(--fs-xs, 12.5px);color:var(--text-secondary);text-decoration:underline;cursor:pointer}.bug-link[data-v-60bba476]:hover{color:var(--text)}.bug-link--mail[data-v-60bba476]{text-decoration:none}.bug-link--mail[data-v-60bba476]:hover{text-decoration:underline}.bug-done[data-v-60bba476]{text-align:center;padding:var(--sp-4, 16px) 0 var(--sp-2, 8px)}.bug-done__ico[data-v-60bba476]{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;margin-bottom:8px;background:var(--success-soft, rgba(22, 163, 74, .12));color:var(--success, #16a34a)}.bug-done .bug-btn[data-v-60bba476]{margin-top:4px}@media(max-width:768px){.bug-modal[data-v-60bba476]{padding:var(--sp-4, 16px)}.bug-input[data-v-60bba476]{min-height:44px}}.bug-dlg-enter-active[data-v-60bba476],.bug-dlg-leave-active[data-v-60bba476]{transition:opacity .15s ease}.bug-dlg-enter-active .bug-modal[data-v-60bba476],.bug-dlg-leave-active .bug-modal[data-v-60bba476]{transition:transform .15s ease}.bug-dlg-enter-from[data-v-60bba476],.bug-dlg-leave-to[data-v-60bba476]{opacity:0}.bug-dlg-enter-from .bug-modal[data-v-60bba476],.bug-dlg-leave-to .bug-modal[data-v-60bba476]{transform:scale(.96)}.bug-btn[data-v-26beb043]{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;height:36px;padding:0 12px;border-radius:9px;border:1px solid var(--border);background:var(--bg-subtle);color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:13px;font-weight:var(--fw-medium);line-height:1;white-space:nowrap}.bug-btn[data-v-26beb043]:hover{color:var(--text);border-color:var(--border-strong, var(--border))}.bug-btn[data-v-26beb043]:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.bug-btn .app-icon[data-v-26beb043]{flex-shrink:0}@media(max-width:767px){.bug-btn[data-v-26beb043]{width:36px;padding:0;justify-content:center}.bug-btn__label[data-v-26beb043]{display:none}}.age-badge[data-v-724ed1b2]{display:inline-flex;align-items:center}.age-badge__mark[data-v-724ed1b2]{border:1px solid var(--text-tertiary);color:var(--text-tertiary);border-radius:var(--r-sm);padding:1px 6px;font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:0;cursor:help}.grant-banner[data-v-b9ff5722]{background:var(--pub-inverse-bg);border-top:1px solid var(--pub-inverse-line);border-bottom:1px solid var(--pub-inverse-line);padding:clamp(28px,4vw,48px) 0}.grant-inner[data-v-b9ff5722]{display:flex;align-items:center;gap:3rem;flex-wrap:wrap}.grant-text[data-v-b9ff5722]{flex:1;min-width:260px}.grant-label[data-v-b9ff5722]{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--pub-tracking-eyebrow);color:var(--pub-inverse-ink-2);font-weight:var(--fw-semibold);margin:0 0 .5rem}.grant-body[data-v-b9ff5722]{font-size:var(--pub-small);font-weight:var(--fw-medium);color:var(--pub-inverse-ink);margin:0;line-height:1.55;max-width:64ch;text-wrap:pretty}.grant-logos[data-v-b9ff5722]{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;background:#fff;padding:.75rem 1.25rem;border-radius:.75rem;box-shadow:0 1px 4px #0000001a}.grant-logo-img[data-v-b9ff5722]{height:56px;width:auto;object-fit:contain}@media(max-width:768px){.grant-inner[data-v-b9ff5722]{flex-direction:column;gap:1.5rem}.grant-logos[data-v-b9ff5722]{justify-content:flex-start}}.pub-shell[data-v-9d7e0cea]{min-height:100vh;display:flex;flex-direction:column}.pub-topbar[data-v-9d7e0cea]{display:flex;align-items:center;gap:14px;padding:0 36px;height:60px;border-bottom:1px solid var(--pub-line);background:color-mix(in srgb,var(--pub-bg) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);position:sticky;top:0;z-index:50}.pub-topbar.is-minimal[data-v-9d7e0cea]{border-bottom:0;background:transparent}@media(max-width:900px){.pub-topbar[data-v-9d7e0cea]{padding:0 20px;height:60px;gap:8px}}@media(max-width:768px){.pub-topbar[data-v-9d7e0cea]{padding:0 14px}}.pub-brand[data-v-9d7e0cea]{display:inline-flex;align-items:center;gap:10px;color:var(--pub-ink);text-decoration:none;font-weight:var(--fw-bold)}.pub-brand-mark[data-v-9d7e0cea]{width:28px;height:28px;border-radius:var(--r-md);background:linear-gradient(135deg,#6366f1,#4338ca);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:var(--fw-bold);font-size:14px;letter-spacing:-.5px}.pub-brand-text[data-v-9d7e0cea]{font-size:20px;letter-spacing:-.3px}.pub-nav[data-v-9d7e0cea]{display:flex;gap:4px;margin-left:28px}.pub-nav a[data-v-9d7e0cea]{padding:8px 12px;font-size:14px;font-weight:var(--fw-medium);color:var(--pub-ink-2);border-radius:8px;text-decoration:none;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.pub-nav a[data-v-9d7e0cea]:hover{background:var(--pub-surface-sunk);color:var(--pub-ink)}.pub-nav a.is-active[data-v-9d7e0cea]{color:var(--pub-ink);background:var(--pub-surface-sunk)}@media(max-width:1120px){.pub-nav[data-v-9d7e0cea]{display:none}}.pub-spacer[data-v-9d7e0cea]{flex:1}.age-chip[data-v-9d7e0cea]{display:inline-flex;align-items:center;padding:4px 10px;border:1px solid var(--pub-line-strong);color:var(--pub-ink-3);border-radius:var(--r-pill);font-size:12px;font-weight:var(--fw-medium)}@media(max-width:768px){.age-chip[data-v-9d7e0cea]{display:none}}.icon-btn-bare[data-v-9d7e0cea]{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;color:var(--pub-ink-2);cursor:pointer;width:44px;height:44px;border-radius:var(--r-md);font-family:inherit;padding:0}.icon-btn-bare[data-v-9d7e0cea]:hover{background:var(--pub-surface-sunk);color:var(--pub-ink)}.icon-btn-bare svg[data-v-9d7e0cea]{width:18px;height:18px}.pub-burger[data-v-9d7e0cea]{display:none}@media(max-width:1120px){.pub-burger[data-v-9d7e0cea]{display:inline-flex}.icon-btn-bare[data-v-9d7e0cea]{width:44px;height:44px}.pub-topbar>.pub-btn[data-v-9d7e0cea],.pub-topbar>.age-chip[data-v-9d7e0cea]{display:none}}.pub-drawer-bg[data-v-9d7e0cea]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:100}.pub-drawer[data-v-9d7e0cea]{position:fixed;top:0;right:0;bottom:0;width:min(320px,100vw);background:var(--pub-surface);border-left:1px solid var(--pub-line);padding:16px;display:flex;flex-direction:column;z-index:101;box-shadow:var(--pub-shadow-lg)}.pub-drawer__top[data-v-9d7e0cea]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--pub-line)}.pub-drawer__nav[data-v-9d7e0cea]{display:flex;flex-direction:column;gap:2px;flex:1}.pub-drawer__nav a[data-v-9d7e0cea]{padding:12px 14px;border-radius:10px;color:var(--pub-ink);font-weight:var(--fw-medium);font-size:15px;text-decoration:none;min-height:44px;display:flex;align-items:center}.pub-drawer__nav a.is-active[data-v-9d7e0cea]{background:var(--pub-accent-soft);color:var(--pub-accent-ink)}.pub-drawer__actions[data-v-9d7e0cea]{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:14px;border-top:1px solid var(--pub-line)}.drawer-enter-active[data-v-9d7e0cea],.drawer-leave-active[data-v-9d7e0cea]{transition:opacity .18s var(--ease)}.drawer-enter-from[data-v-9d7e0cea],.drawer-leave-to[data-v-9d7e0cea]{opacity:0}.slide-drawer-enter-active[data-v-9d7e0cea],.slide-drawer-leave-active[data-v-9d7e0cea]{transition:transform .22s var(--ease-out)}.slide-drawer-enter-from[data-v-9d7e0cea],.slide-drawer-leave-to[data-v-9d7e0cea]{transform:translate(100%)}.pub-main[data-v-9d7e0cea]{flex:1}.pub-main.is-minimal[data-v-9d7e0cea] .auth-page,.pub-main.is-minimal[data-v-9d7e0cea] .join,.pub-main.is-minimal[data-v-9d7e0cea] .pc{min-height:calc(100vh - 60px);align-items:center;padding-top:clamp(32px,6vh,64px);padding-bottom:clamp(48px,8vh,80px)}.pub-main.is-minimal[data-v-9d7e0cea] .auth-card,.pub-main.is-minimal[data-v-9d7e0cea] .join__card,.pub-main.is-minimal[data-v-9d7e0cea] .pc__card{padding:clamp(24px,4vw,34px);border:1px solid var(--pub-line);border-radius:var(--r-xl);background:var(--pub-surface);box-shadow:var(--pub-shadow-sm)}@media(max-width:768px){.pub-main.is-minimal[data-v-9d7e0cea] .auth-page,.pub-main.is-minimal[data-v-9d7e0cea] .join,.pub-main.is-minimal[data-v-9d7e0cea] .pc{align-items:flex-start;padding-top:var(--sp-4);padding-right:var(--sp-3);padding-left:var(--sp-3)}.pub-main.is-minimal[data-v-9d7e0cea] .auth-card,.pub-main.is-minimal[data-v-9d7e0cea] .join__card,.pub-main.is-minimal[data-v-9d7e0cea] .pc__card{padding:var(--sp-5);border-radius:var(--r-lg)}}.pub-footer[data-v-9d7e0cea]{background:var(--pub-surface);border-top:1px solid var(--pub-line);padding:56px 36px 36px;margin-top:96px}@media(max-width:900px){.pub-footer[data-v-9d7e0cea]{padding:40px 20px 28px;margin-top:64px}}.pub-footer__inner[data-v-9d7e0cea]{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px}@media(max-width:900px){.pub-footer__inner[data-v-9d7e0cea]{grid-template-columns:1fr 1fr;gap:28px}}.pub-brand--footer[data-v-9d7e0cea]{margin-bottom:12px}.pub-footer__about[data-v-9d7e0cea]{font-size:14px;color:var(--pub-ink-2);max-width:280px;margin:0}.pub-footer h4[data-v-9d7e0cea]{font-size:11px;text-transform:uppercase;letter-spacing:var(--pub-tracking-eyebrow);font-weight:var(--fw-semibold);color:var(--pub-ink-3);margin:0 0 12px}.pub-footer ul[data-v-9d7e0cea]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.pub-footer a[data-v-9d7e0cea]{color:var(--pub-ink-2);font-size:14px;text-decoration:none}.pub-footer a[data-v-9d7e0cea]:hover{color:var(--pub-ink)}.pub-footer__linkbtn[data-v-9d7e0cea]{background:none;border:0;padding:0;font:inherit;font-size:14px;color:var(--pub-ink-2);cursor:pointer;text-align:left}.pub-footer__linkbtn[data-v-9d7e0cea]:hover{color:var(--pub-ink)}.pub-footer__copy[data-v-9d7e0cea]{max-width:1200px;margin:32px auto 0;padding-top:24px;border-top:1px solid var(--pub-line);font-size:12px;color:var(--pub-ink-3);display:flex;align-items:center;flex-wrap:wrap;gap:12px}.pub-footer__spacer[data-v-9d7e0cea]{flex:1}.pub-footer__pwa[data-v-9d7e0cea]{display:inline-flex;align-items:center;gap:6px;margin-top:14px;padding:5px 9px;border-radius:var(--r-pill);background:var(--pub-surface-sunk);border:1px solid var(--pub-line);font-size:var(--fs-xs);color:var(--pub-ink-2)}.pub-footer__pwa svg[data-v-9d7e0cea]{width:13px;height:13px}.pub-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border:1px solid transparent;border-radius:var(--r-pill);font-family:inherit;font-size:15px;font-weight:var(--fw-semibold);line-height:1.2;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.pub-btn:disabled,.pub-btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.pub-btn:focus-visible{outline:none;box-shadow:var(--pub-focus)}.pub-btn .app-icon{flex-shrink:0}.pub-btn--primary{background:var(--pub-accent);color:var(--text-inverse)}.pub-btn--primary:hover{background:var(--pub-accent-hover);color:var(--text-inverse)}.pub-btn--primary:active{background:var(--pub-accent-active);color:var(--text-inverse)}.pub-btn--ink{background:var(--pub-ink);color:var(--pub-bg)}.pub-btn--ink:hover{background:var(--pub-accent);color:var(--text-inverse)}.pub-btn--secondary{background:var(--pub-surface);color:var(--pub-ink);border-color:var(--pub-line-strong)}.pub-btn--secondary:hover{border-color:var(--pub-ink);color:var(--pub-ink)}.pub-btn--ghost{background:transparent;color:var(--pub-ink-2);border-color:var(--pub-line)}.pub-btn--ghost:hover{border-color:var(--pub-ink);color:var(--pub-ink)}.pub-btn--lime{background:var(--pub-lime);color:var(--pub-lime-ink)}.pub-btn--lime:hover{background:var(--pub-lime-edge);color:var(--pub-lime-ink)}.pub-btn--sm{min-height:44px;padding:0 16px;font-size:14px}.pub-btn--lg,.pub-shell .pub-btn--lg{min-height:52px;padding:0 26px;font-size:16px}.pub-btn--block{width:100%}.subj-tile[data-v-409d9266]{display:inline-flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.demo-card[data-v-9afed92c]{background:var(--bg-elevated);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-lg);padding:18px;display:flex;flex-direction:column;gap:12px;min-width:0}@media(max-width:768px){.demo-card[data-v-9afed92c]{padding:14px}}.demo-tabs[data-v-9afed92c]{align-self:flex-start;max-width:100%}.demo-tabs button[data-v-9afed92c]{display:inline-flex;align-items:center;gap:7px}.demo-tab-icon[data-v-9afed92c]{width:14px;height:14px}.demo-body[data-v-9afed92c]{min-height:312px}@media(max-width:768px){.demo-body[data-v-9afed92c]{min-height:296px}}.demo-col[data-v-9afed92c]{display:flex;flex-direction:column;height:100%}.py-editor[data-v-9afed92c]{background:#0d1220;border-radius:12px;padding:14px 0;font-family:var(--font-mono);font-size:13px;line-height:1.7}.py-head[data-v-9afed92c]{padding:0 16px 10px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #1c2336;color:#6b7385;font-size:11.5px}.py-head svg[data-v-9afed92c]{width:11px;height:11px}.py-code[data-v-9afed92c]{padding:10px 16px 0;color:#e6e9f0;overflow-x:auto;white-space:pre}.py-ln[data-v-9afed92c]{color:#6b7385;margin-right:14px;-webkit-user-select:none;user-select:none}.py-kw[data-v-9afed92c]{color:#a78bfa}.py-str[data-v-9afed92c]{color:#4ade80}.py-num[data-v-9afed92c]{color:#fbbf24}.py-fn[data-v-9afed92c]{color:#38bdf8}.py-out[data-v-9afed92c]{margin:12px 16px 0;border-top:1px solid #1c2336;padding-top:10px;min-height:74px;color:#e6e9f0}.py-dim[data-v-9afed92c]{color:#6b7385}.py-line[data-v-9afed92c]{color:#9fe8b8;animation:fadeUp-9afed92c .24s var(--ease-out) both}.py-cursor[data-v-9afed92c]{animation:blink-9afed92c 1s step-end infinite}.py-actions[data-v-9afed92c]{display:flex;align-items:center;gap:10px;margin-top:12px}.demo-btn[data-v-9afed92c]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;min-width:122px;padding:0 14px;border:0;border-radius:var(--r-md);background:var(--brand);color:var(--text-inverse);font:inherit;font-size:var(--fs-sm);font-weight:600;cursor:pointer;transition:background var(--dur) var(--ease),transform var(--dur-fast) var(--ease)}.demo-btn[data-v-9afed92c]:hover{background:var(--brand-hover)}.demo-btn[data-v-9afed92c]:active{transform:scale(.97)}.demo-btn svg[data-v-9afed92c]{width:15px;height:15px}.viz-panel[data-v-9afed92c]{background:var(--bg-subtle);border:1px solid var(--border);border-radius:12px;position:relative;overflow:hidden}.viz-svg[data-v-9afed92c]{width:100%;display:block}.viz-pause[data-v-9afed92c]{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:9px;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.viz-pause svg[data-v-9afed92c]{width:15px;height:15px}.viz-chip[data-v-9afed92c]{position:absolute;left:10px;top:10px;background:var(--bg-elevated);border:1px solid var(--border)}.viz-chip-val[data-v-9afed92c]{font-weight:600;color:var(--text)}.viz-controls[data-v-9afed92c]{margin-top:12px}.viz-controls--two[data-v-9afed92c]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.viz-label[data-v-9afed92c]{display:flex;justify-content:space-between;font-size:var(--fs-sm);color:var(--text-secondary);margin-bottom:2px}.viz-val[data-v-9afed92c]{color:var(--text)}.viz-note[data-v-9afed92c]{font-size:var(--fs-xs);color:var(--text-tertiary);margin-top:4px}.demo-note[data-v-9afed92c]{font-size:var(--fs-xs);color:var(--text-tertiary);display:flex;align-items:center;gap:6px}.chip[data-v-9afed92c]{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:500;line-height:1;padding:5px 9px;border-radius:var(--r-pill);background:var(--bg-muted);color:var(--text-secondary)}.chip.success[data-v-9afed92c]{background:var(--success-soft);color:var(--success-soft-text);animation:fadeUp-9afed92c .24s var(--ease-out) both}input[type=range].f-range[data-v-9afed92c]{--f-fill: 50%;--f-track: color-mix(in srgb, var(--brand) 18%, var(--bg-muted));-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:34px;background:transparent;cursor:grab;margin:0;padding:0;border:0}input[type=range].f-range[data-v-9afed92c]:active{cursor:grabbing}input[type=range].f-range[data-v-9afed92c]:focus{outline:none}input[type=range].f-range[data-v-9afed92c]::-webkit-slider-runnable-track{height:10px;border-radius:999px;background:linear-gradient(90deg,var(--brand) var(--f-fill),var(--f-track) var(--f-fill))}input[type=range].f-range[data-v-9afed92c]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;margin-top:-8px;border-radius:50%;background:var(--brand);border:3px solid var(--bg-elevated);box-shadow:var(--shadow-md),0 0 0 1px color-mix(in srgb,var(--brand) 45%,transparent);transition:transform .14s var(--ease-out)}input[type=range].f-range[data-v-9afed92c]:hover::-webkit-slider-thumb{transform:scale(1.08)}input[type=range].f-range[data-v-9afed92c]:focus-visible::-webkit-slider-thumb{box-shadow:var(--shadow-md),0 0 0 5px color-mix(in srgb,var(--brand) 35%,transparent)}input[type=range].f-range[data-v-9afed92c]::-moz-range-track{height:10px;border-radius:999px;background:linear-gradient(90deg,var(--brand) var(--f-fill),var(--f-track) var(--f-fill))}input[type=range].f-range[data-v-9afed92c]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--brand);border:3px solid var(--bg-elevated);box-shadow:var(--shadow-md),0 0 0 1px color-mix(in srgb,var(--brand) 45%,transparent)}input[type=range].f-range[data-v-9afed92c]:focus-visible::-moz-range-thumb{box-shadow:var(--shadow-md),0 0 0 5px color-mix(in srgb,var(--brand) 35%,transparent)}@media(prefers-reduced-motion:reduce){input[type=range].f-range[data-v-9afed92c]::-webkit-slider-thumb{transition:none}input[type=range].f-range[data-v-9afed92c]:hover::-webkit-slider-thumb{transform:none}.demo-btn[data-v-9afed92c]{transition:none}.demo-btn[data-v-9afed92c]:active{transform:none}.py-line[data-v-9afed92c],.chip.success[data-v-9afed92c],.py-cursor[data-v-9afed92c]{animation:none}}@keyframes fadeUp-9afed92c{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes blink-9afed92c{0%,55%{opacity:1}56%,to{opacity:0}}.viz-tip[data-v-bba98709]{position:absolute;z-index:20;pointer-events:none;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-md);padding:8px 10px;min-width:120px;max-width:220px}.viz-tip__title[data-v-bba98709]{font-size:12px;font-weight:var(--fw-semibold);color:var(--text);margin-bottom:3px}.viz-tip__line[data-v-bba98709]{font-size:12px;color:var(--text-secondary);line-height:1.45;font-variant-numeric:tabular-nums}.ac[data-v-e2acc252]{position:relative;width:100%}.ac__svg[data-v-e2acc252]{display:block;width:100%}.ac__legend[data-v-e2acc252]{display:flex;justify-content:flex-end;gap:14px;margin-bottom:2px;font-size:11px;color:var(--text-tertiary)}.ac__key[data-v-e2acc252]{display:inline-flex;align-items:center;gap:5px}.ac__dot[data-v-e2acc252]{width:8px;height:8px;border-radius:2px;display:inline-block}.ac__dot--correct[data-v-e2acc252]{background:var(--brand)}.ac__dot--wrong[data-v-e2acc252]{background:var(--brand);opacity:.28}.ac__dash[data-v-e2acc252]{width:12px;height:0;border-top:2px dashed var(--success);display:inline-block}.ac__grid[data-v-e2acc252]{stroke:var(--border-subtle);stroke-width:1}.ac__grid--base[data-v-e2acc252]{stroke:var(--border)}.ac__tick[data-v-e2acc252]{font-size:10px;fill:var(--text-tertiary);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.ac__hover[data-v-e2acc252]{fill:var(--bg-muted)}.ac__bar-correct[data-v-e2acc252]{fill:var(--brand)}.ac__bar-wrong[data-v-e2acc252]{fill:var(--brand);opacity:.28}.ac__goal[data-v-e2acc252]{stroke:var(--success);stroke-width:1.5;stroke-dasharray:4 4;opacity:.85}.ac__empty[data-v-e2acc252]{position:absolute;top:30px;right:0;bottom:30px;left:0;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--text-tertiary);pointer-events:none}.dn[data-v-711f26ea]{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.dn__svg[data-v-711f26ea]{flex-shrink:0}.dn__track[data-v-711f26ea]{fill:none;stroke:var(--bg-subtle)}.dn__value[data-v-711f26ea]{font-size:26px;font-weight:var(--fw-bold);fill:var(--text);letter-spacing:-.5px}.dn__label[data-v-711f26ea]{font-size:11px;fill:var(--text-tertiary)}.dn__legend[data-v-711f26ea]{display:flex;flex-direction:column;gap:8px;min-width:140px;flex:1}.dn__row[data-v-711f26ea]{display:flex;align-items:center;gap:9px;font-size:13px}.dn__dot[data-v-711f26ea]{width:9px;height:9px;border-radius:3px;flex-shrink:0}.dn__name[data-v-711f26ea]{flex:1;color:var(--text-secondary)}.dn__count[data-v-711f26ea]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text);font-weight:var(--fw-semibold)}.hc[data-v-08894a2f]{position:relative}.hc__scroll[data-v-08894a2f]{overflow-x:auto}.hc__svg[data-v-08894a2f]{display:block}.hc__tick[data-v-08894a2f]{font-size:9.5px;fill:var(--text-tertiary)}.hc__cell--s0[data-v-08894a2f]{fill:var(--bg-muted)}.hc__cell--s1[data-v-08894a2f]{fill:var(--brand);fill-opacity:.25}.hc__cell--s2[data-v-08894a2f]{fill:var(--brand);fill-opacity:.45}.hc__cell--s3[data-v-08894a2f]{fill:var(--brand);fill-opacity:.7}.hc__cell--s4[data-v-08894a2f]{fill:var(--brand);fill-opacity:1}.hc__legend[data-v-08894a2f]{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:8px;font-size:11px;color:var(--text-tertiary)}.hc__sq[data-v-08894a2f]{width:10px;height:10px;border-radius:2px;display:inline-block;background:var(--brand)}.hc__sq.hc__cell--s1[data-v-08894a2f]{opacity:.25}.hc__sq.hc__cell--s2[data-v-08894a2f]{opacity:.45}.hc__sq.hc__cell--s3[data-v-08894a2f]{opacity:.7}.hc__sq.hc__cell--s4[data-v-08894a2f]{opacity:1}.mb[data-v-b1228dea]{display:flex;align-items:center;gap:8px;min-width:0}.mb__track[data-v-b1228dea]{flex:1;height:8px;border-radius:999px;background:var(--bg-subtle);overflow:hidden;min-width:40px}.mb__fill[data-v-b1228dea]{display:block;height:100%;border-radius:999px;background:var(--brand);transition:width var(--dur-slow) var(--ease-out)}.mb.is-mastered .mb__fill[data-v-b1228dea]{background:var(--success)}.mb__count[data-v-b1228dea]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:12px;color:var(--text-secondary);white-space:nowrap}.mb__count i[data-v-b1228dea]{font-style:normal;color:var(--text-tertiary)}.mb__badge[data-v-b1228dea]{width:16px;height:16px;border-radius:999px;background:var(--success);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.mb__badge svg[data-v-b1228dea]{width:10px;height:10px}.spark[data-v-fc1ab46e]{color:var(--brand);display:block}.spark.is-flat[data-v-fc1ab46e]{color:var(--border-strong)}.spark__dot[data-v-fc1ab46e]{stroke:var(--bg-elevated);stroke-width:1.5}.tile[data-v-827dce43]{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px 18px;display:flex;flex-direction:column;gap:4px;min-width:0}.tile__label[data-v-827dce43]{font-size:11px;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary)}.tile__row[data-v-827dce43]{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.tile__value[data-v-827dce43]{font-size:30px;font-weight:var(--fw-bold);letter-spacing:-.8px;line-height:1.05;color:var(--text)}.tile__value.tone-brand[data-v-827dce43]{color:var(--brand)}.tile__value.tone-success[data-v-827dce43]{color:var(--success)}.tile__value.tone-warn[data-v-827dce43]{color:var(--warn)}.tile__spark[data-v-827dce43]{flex-shrink:0;margin-bottom:3px}.tile__sub[data-v-827dce43]{font-size:12px;color:var(--text-secondary)}@media(max-width:768px){.tile[data-v-827dce43]{padding:13px 14px}.tile__value[data-v-827dce43]{font-size:24px}}.concept-page[data-v-61fd4bba]{color:var(--pub-ink);background:var(--pub-bg)}.concept-page h1[data-v-61fd4bba],.concept-page h2[data-v-61fd4bba],.concept-page h3[data-v-61fd4bba],.concept-page p[data-v-61fd4bba]{margin:0}.concept-page a[data-v-61fd4bba]{text-decoration:none}.concept-hero[data-v-61fd4bba],.concept-self__inner[data-v-61fd4bba],.concept-live__inner[data-v-61fd4bba],.concept-learning__inner[data-v-61fd4bba],.concept-courses__inner[data-v-61fd4bba],.concept-progress__inner[data-v-61fd4bba],.concept-report-sec__inner[data-v-61fd4bba],.concept-ai__inner[data-v-61fd4bba],.concept-econ__inner[data-v-61fd4bba],.concept-trust__inner[data-v-61fd4bba],.concept-final__content[data-v-61fd4bba]{width:min(var(--pub-maxw),calc(100% - 2 * var(--pub-gutter)));margin:0 auto}.concept-self[data-v-61fd4bba],.concept-live[data-v-61fd4bba],.concept-learning[data-v-61fd4bba],.concept-courses[data-v-61fd4bba],.concept-progress[data-v-61fd4bba],.concept-report-sec[data-v-61fd4bba],.concept-ai[data-v-61fd4bba],.concept-econ[data-v-61fd4bba],.concept-trust[data-v-61fd4bba],.concept-final[data-v-61fd4bba]{padding:var(--pub-section-y) 0}@font-face{font-family:AlgosTight;src:local("Inter"),local("Segoe UI"),local("Helvetica Neue"),local("Arial");font-style:normal;font-weight:100 600;ascent-override:86%;descent-override:12%;line-gap-override:0%}@font-face{font-family:AlgosTight;src:local("Inter Bold"),local("Inter-Bold"),local("Segoe UI Bold"),local("Helvetica Neue Bold"),local("Arial Bold");font-style:normal;font-weight:601 900;ascent-override:86%;descent-override:12%;line-gap-override:0%}@font-face{font-family:AlgosTightSerif;src:local("Georgia"),local("Times New Roman");font-style:normal;font-weight:100 900;ascent-override:86%;descent-override:12%;line-gap-override:0%}@font-face{font-family:AlgosTightSerif;src:local("Georgia Italic"),local("Georgia-Italic"),local("Times New Roman Italic"),local("TimesNewRomanPS-ItalicMT");font-style:italic;font-weight:100 900;ascent-override:86%;descent-override:12%;line-gap-override:0%}.concept-page h1[data-v-61fd4bba],.concept-page h2[data-v-61fd4bba]{font-family:"AlgosTight",var(--font-sans)}.concept-page h1 em[data-v-61fd4bba],.concept-page h2 em[data-v-61fd4bba]{color:var(--pub-accent-italic-color);font-family:AlgosTightSerif,Georgia,Times New Roman,serif;font-weight:400}.concept-kicker[data-v-61fd4bba]{display:block;color:var(--pub-accent);font-size:var(--pub-eyebrow);font-weight:var(--fw-bold);letter-spacing:var(--pub-tracking-eyebrow);text-transform:uppercase}.concept-section-head[data-v-61fd4bba]{display:grid;gap:12px;max-width:720px}.concept-section-head h2[data-v-61fd4bba]{font-size:var(--pub-h2);line-height:var(--pub-lh-h2);letter-spacing:var(--pub-tracking-h2);font-weight:var(--fw-bold)}.concept-section-head>p[data-v-61fd4bba]{color:var(--pub-ink-2);font-size:var(--pub-body);line-height:var(--pub-lh-body);text-wrap:pretty}.concept-section-head--split[data-v-61fd4bba]{display:grid;grid-template-columns:1fr .72fr;gap:24px 48px;align-items:end;max-width:none;margin-bottom:clamp(24px,3vw,40px)}.concept-section-head--split>div[data-v-61fd4bba]:first-child{display:grid;gap:12px}.concept-section-head--split>p[data-v-61fd4bba]{max-width:480px;color:var(--pub-ink-2);font-size:var(--pub-body);line-height:var(--pub-lh-body)}.concept-section-head--center[data-v-61fd4bba]{justify-items:center;max-width:720px;margin:0 auto clamp(24px,3vw,40px);text-align:center}.concept-hero[data-v-61fd4bba]{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,48px);align-items:center;padding:clamp(28px,3.5vw,48px) 0 var(--pub-section-y)}.concept-year[data-v-61fd4bba]{display:inline-flex;align-items:center;gap:10px;max-width:100%;margin:0 0 18px;padding:6px 16px 6px 6px;border:1px solid var(--pub-line);border-radius:var(--r-pill);background:var(--pub-surface);color:var(--pub-ink-2);font-size:var(--pub-small);line-height:1.35}.concept-year__tag[data-v-61fd4bba]{flex:0 0 auto;padding:3px 10px;border-radius:var(--r-pill);background:var(--pub-accent-soft);color:var(--pub-accent-ink);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.04em;font-variant-numeric:tabular-nums}.concept-year__text[data-v-61fd4bba]{min-width:0;text-wrap:balance}.concept-fork[data-v-61fd4bba]{display:inline-flex;gap:2px;padding:3px;border-radius:var(--r-pill);background:var(--pub-surface-sunk)}.concept-fork__option[data-v-61fd4bba]{min-height:40px;padding:0 16px;border:0;border-radius:var(--r-pill);color:var(--pub-ink-2);background:transparent;font:inherit;font-size:var(--pub-small);font-weight:var(--fw-semibold);cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.concept-fork__option[aria-pressed=true][data-v-61fd4bba]{color:var(--pub-bg);background:var(--pub-ink)}.concept-fork__option[data-v-61fd4bba]:focus-visible{outline:none;box-shadow:var(--pub-focus)}.concept-hero h1[data-v-61fd4bba]{margin-top:26px;max-width:620px;font-size:var(--pub-display);line-height:var(--pub-lh-display);letter-spacing:var(--pub-tracking-display);font-weight:var(--fw-bold)}.concept-hero__lede[data-v-61fd4bba]{max-width:560px;margin-top:18px!important;color:var(--pub-ink-2);font-size:var(--pub-lead);line-height:var(--pub-lh-body);text-wrap:pretty}.concept-actions[data-v-61fd4bba]{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:24px}.concept-hero__proof[data-v-61fd4bba]{display:flex;gap:8px 18px;flex-wrap:wrap;margin-top:18px;color:var(--pub-ink-2);font-size:var(--fs-xs)}.concept-hero__proof span[data-v-61fd4bba]{display:inline-flex;align-items:center;gap:6px}.concept-hero__proof[data-v-61fd4bba] .app-icon{color:var(--success)}.concept-photo-wrap[data-v-61fd4bba]{position:relative;aspect-ratio:1.03;border-radius:var(--r-2xl);overflow:hidden;background:var(--pub-surface-sunk);box-shadow:var(--pub-shadow-md)}.concept-photo[data-v-61fd4bba]{display:block;width:100%;height:100%;object-fit:cover;object-position:57% center}.concept-photo__shade[data-v-61fd4bba]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 55%,rgba(9,16,36,.66))}.concept-photo__caption[data-v-61fd4bba]{position:absolute;left:20px;right:20px;bottom:16px;color:#ffffffe6;font-size:var(--fs-xs);line-height:1.45}.concept-photo-wrap--wide[data-v-61fd4bba]{aspect-ratio:16 / 10}.concept-self[data-v-61fd4bba]{background:var(--pub-surface-sunk);border-block:1px solid var(--pub-line)}.concept-self__grid[data-v-61fd4bba]{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,44px);align-items:center}.concept-self .concept-section-head[data-v-61fd4bba]{margin-bottom:20px}.concept-levels[data-v-61fd4bba]{display:grid;gap:0}.concept-level[data-v-61fd4bba]{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding:14px 0;border-top:1px solid var(--pub-line)}.concept-level__bar[data-v-61fd4bba]{width:4px;align-self:stretch;min-height:34px;border-radius:var(--r-pill)}.concept-level h3[data-v-61fd4bba]{font-size:var(--pub-small);font-weight:var(--fw-semibold)}.concept-level p[data-v-61fd4bba]{margin-top:2px;color:var(--pub-ink-2);font-size:var(--fs-sm);line-height:1.5}.concept-live__stage[data-v-61fd4bba]{min-width:0}.concept-live__stage[data-v-61fd4bba] .demo-card{border-radius:var(--r-xl);box-shadow:var(--pub-shadow-md)}.concept-live__features[data-v-61fd4bba]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}.concept-live__features article[data-v-61fd4bba]{padding:20px;border:1px solid var(--pub-line);border-radius:var(--r-lg);background:var(--pub-surface)}.concept-live__features article>span[data-v-61fd4bba]{color:var(--pub-accent);font-family:var(--font-mono);font-size:var(--fs-xs)}.concept-live__features h3[data-v-61fd4bba]{margin-top:12px;font-size:var(--fs-md);font-weight:var(--fw-semibold)}.concept-live__features p[data-v-61fd4bba]{margin-top:6px;color:var(--pub-ink-2);font-size:var(--fs-sm);line-height:1.55}.concept-learning__grid[data-v-61fd4bba]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.concept-learning-card[data-v-61fd4bba]{padding:20px;border:1px solid var(--pub-line);border-radius:var(--r-lg);background:var(--pub-surface)}.concept-learning-card__num[data-v-61fd4bba]{display:block;color:var(--pub-ink-3);font-family:var(--font-mono);font-size:var(--fs-xs)}.concept-learning-card h3[data-v-61fd4bba]{margin-top:10px;font-size:var(--fs-md);font-weight:var(--fw-semibold)}.concept-learning-card p[data-v-61fd4bba]{margin-top:6px;color:var(--pub-ink-2);font-size:var(--fs-sm);line-height:1.5}.concept-courses[data-v-61fd4bba]{border-top:1px solid var(--pub-line)}.concept-tabs[data-v-61fd4bba]{display:inline-flex;justify-self:end;gap:2px;padding:3px;border-radius:var(--r-pill);background:var(--pub-surface-sunk)}.concept-tabs button[data-v-61fd4bba]{min-height:40px;padding:0 16px;border:0;border-radius:var(--r-pill);color:var(--pub-ink-2);background:transparent;font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-semibold);cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.concept-tabs button.is-active[data-v-61fd4bba]{color:var(--pub-bg);background:var(--pub-ink)}.concept-tabs button[data-v-61fd4bba]:focus-visible{outline:none;box-shadow:var(--pub-focus)}.concept-courses__summary[data-v-61fd4bba]{margin-bottom:20px!important;color:var(--pub-ink-2);font-size:var(--pub-small);line-height:var(--pub-lh-body)}.concept-courses__summary strong[data-v-61fd4bba]{color:var(--pub-ink)}.concept-courses__grid[data-v-61fd4bba]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.concept-course-card[data-v-61fd4bba]{display:flex;flex-direction:column;padding:20px;border:1px solid var(--pub-line);border-radius:var(--r-lg);color:var(--pub-ink);background:var(--pub-surface);transition:border-color var(--dur) var(--ease)}.concept-course-card[data-v-61fd4bba]:hover{color:var(--pub-ink);border-color:var(--pub-line-strong)}.concept-course-card__top[data-v-61fd4bba]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.concept-course-card__top>span[data-v-61fd4bba]{padding:3px 9px;border-radius:var(--r-pill);color:var(--pub-ink-2);background:var(--pub-surface-sunk);font-size:var(--fs-xs)}.concept-course-card h3[data-v-61fd4bba]{margin-top:16px;font-size:var(--fs-md);font-weight:var(--fw-semibold)}.concept-course-card p[data-v-61fd4bba]{margin-top:8px;color:var(--pub-ink-2);font-size:var(--fs-sm);line-height:1.5}.concept-course-card__footer[data-v-61fd4bba]{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:18px;color:var(--pub-accent);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.concept-courses__all[data-v-61fd4bba]{display:inline-flex;align-items:center;gap:8px;margin-top:20px;color:var(--pub-accent);font-size:var(--pub-small);font-weight:var(--fw-semibold)}.concept-progress__dashboard[data-v-61fd4bba]{padding:18px;border:1px solid var(--pub-line);border-radius:var(--r-xl);color:var(--text);background:var(--bg);box-shadow:var(--pub-shadow-md)}.concept-progress__topbar[data-v-61fd4bba]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:2px 2px 18px}.concept-progress__topbar>div[data-v-61fd4bba]:first-child{display:flex;align-items:center;gap:10px}.concept-progress__topbar span strong[data-v-61fd4bba],.concept-progress__topbar span small[data-v-61fd4bba]{display:block}.concept-progress__topbar span strong[data-v-61fd4bba]{font-size:var(--fs-sm)}.concept-progress__topbar span small[data-v-61fd4bba]{margin-top:2px;color:var(--text-tertiary);font-size:var(--fs-xs)}.concept-progress__avatar[data-v-61fd4bba]{display:grid!important;place-items:center;width:36px;height:36px;border-radius:var(--r-md);color:var(--brand-soft-text);background:var(--brand-soft);font-weight:var(--fw-bold)}.concept-demo-tag[data-v-61fd4bba]{padding:2px 8px;border:1px solid var(--pub-line-strong);border-radius:var(--r-pill);color:var(--pub-ink-3);font-size:var(--fs-xs);white-space:nowrap}.concept-progress__period[data-v-61fd4bba]{display:inline-flex;padding:3px;border-radius:var(--r-pill);background:var(--bg-muted)}.concept-progress__period button[data-v-61fd4bba]{min-height:32px;padding:0 13px;border:0;border-radius:var(--r-pill);color:var(--text-secondary);background:transparent;font:inherit;font-size:var(--fs-xs);font-weight:var(--fw-semibold);cursor:pointer}.concept-progress__period button.is-active[data-v-61fd4bba]{color:var(--text);background:var(--bg-elevated);box-shadow:var(--shadow-xs)}.concept-progress__stats[data-v-61fd4bba]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.concept-progress__stats[data-v-61fd4bba] .tile{min-height:116px}.concept-progress__stats[data-v-61fd4bba] .tile__value{font-size:26px}.concept-progress__main-grid[data-v-61fd4bba]{display:grid;grid-template-columns:1.55fr .75fr;gap:10px;margin-top:10px}.concept-progress__lower-grid[data-v-61fd4bba]{display:grid;grid-template-columns:.8fr 1.2fr;gap:10px;margin-top:10px}.concept-progress-card[data-v-61fd4bba]{min-width:0;padding:18px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-elevated)}.concept-progress-card__head[data-v-61fd4bba]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.concept-progress-card__head div>span[data-v-61fd4bba],.concept-progress-card__head div>small[data-v-61fd4bba]{display:block}.concept-progress-card__head div>span[data-v-61fd4bba]{font-size:var(--fs-sm);font-weight:var(--fw-bold)}.concept-progress-card__head div>small[data-v-61fd4bba]{margin-top:3px;color:var(--text-tertiary);font-size:var(--fs-xs)}.concept-progress-card__head>strong[data-v-61fd4bba]{padding:5px 8px;border-radius:var(--r-pill);color:var(--success-soft-text);background:var(--success-soft);font-size:var(--fs-xs);white-space:nowrap}.concept-progress-card--donut[data-v-61fd4bba]{display:flex;flex-direction:column}.concept-progress-card--donut[data-v-61fd4bba] .dn{margin:auto 0}.concept-progress-card--topics[data-v-61fd4bba]{min-height:250px}.concept-progress-card[data-v-61fd4bba] .ac__legend,.concept-progress-card[data-v-61fd4bba] .hc__legend{font-size:var(--fs-xs)}.concept-progress__topics[data-v-61fd4bba]{display:flex;flex-direction:column;gap:15px}.concept-progress__topic[data-v-61fd4bba]{display:grid;grid-template-columns:minmax(170px,.8fr) 1.2fr;gap:18px;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--border-subtle)}.concept-progress__topic[data-v-61fd4bba]:last-child{padding-bottom:0;border-bottom:0}.concept-progress__topic>div strong[data-v-61fd4bba],.concept-progress__topic>div small[data-v-61fd4bba]{display:block}.concept-progress__topic>div strong[data-v-61fd4bba]{font-size:var(--fs-xs)}.concept-progress__topic>div small[data-v-61fd4bba]{margin-top:3px;color:var(--text-tertiary);font-size:var(--fs-xs)}.concept-progress__footer[data-v-61fd4bba]{padding:16px 4px 2px;color:var(--text-tertiary);font-size:var(--fs-xs)}.concept-report-sec__grid[data-v-61fd4bba]{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,44px);align-items:start}.concept-brief[data-v-61fd4bba]{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:20px;border:1px solid var(--pub-line);border-radius:var(--r-lg);background:var(--pub-surface-sunk)}.concept-brief[data-v-61fd4bba] .app-icon{color:var(--pub-accent)}.concept-brief p[data-v-61fd4bba]{flex:1;min-width:240px;color:var(--pub-ink-2);font-size:var(--pub-small);line-height:var(--pub-lh-body)}.concept-brief strong[data-v-61fd4bba]{color:var(--pub-ink)}.concept-report[data-v-61fd4bba]{min-width:0;border:1px solid var(--pub-line);border-radius:var(--r-lg);overflow:hidden;background:var(--pub-surface);box-shadow:var(--pub-shadow-sm)}.concept-report__bar[data-v-61fd4bba]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;border-bottom:1px solid var(--pub-line);background:var(--pub-surface-sunk);color:var(--pub-ink-3);font-size:var(--fs-xs)}.concept-report__body[data-v-61fd4bba]{display:grid;gap:14px;padding:clamp(16px,2.4vw,24px)}.concept-report h3[data-v-61fd4bba]{font-size:var(--fs-xl);font-weight:var(--fw-bold);letter-spacing:-.02em}.concept-rrow[data-v-61fd4bba]{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:8px 0;border-top:1px solid var(--pub-line);color:var(--pub-ink-2);font-size:var(--pub-small)}.concept-rrow b[data-v-61fd4bba]{color:var(--pub-ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.concept-note[data-v-61fd4bba]{color:var(--pub-ink-2);font-size:var(--fs-sm);line-height:1.6}.concept-ai__grid[data-v-61fd4bba]{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,44px);align-items:start}.concept-chat[data-v-61fd4bba]{display:grid;gap:12px;padding:clamp(16px,2.4vw,24px)}.concept-msg[data-v-61fd4bba]{display:grid;gap:4px;max-width:88%;padding:12px 16px;border-radius:var(--r-lg);font-size:var(--pub-small);line-height:1.5}.concept-msg small[data-v-61fd4bba]{font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;opacity:.75}.concept-msg--user[data-v-61fd4bba]{justify-self:end;background:var(--pub-accent-soft);color:var(--pub-accent-ink);border-bottom-right-radius:var(--r-xs)}.concept-msg--ai[data-v-61fd4bba]{justify-self:start;background:var(--pub-surface-sunk);color:var(--pub-ink);border-bottom-left-radius:var(--r-xs)}.concept-econ__card[data-v-61fd4bba]{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:clamp(20px,2.4vw,28px);border:1px solid var(--pub-line);border-radius:var(--r-lg);background:var(--pub-surface)}.concept-econ__card>div[data-v-61fd4bba]{flex:1;min-width:260px}.concept-econ__card h2[data-v-61fd4bba]{font-size:var(--pub-h3);font-weight:var(--fw-bold);letter-spacing:-.02em}.concept-econ__card p[data-v-61fd4bba]{margin-top:8px;color:var(--pub-ink-2);font-size:var(--pub-small);line-height:var(--pub-lh-body);text-wrap:pretty}.concept-slot[data-v-61fd4bba]{padding:0 6px;border-radius:var(--r-xs);background:var(--pub-accent-soft);color:var(--pub-accent-ink);font-style:normal}.concept-trust[data-v-61fd4bba]{border-top:1px solid var(--pub-line)}.concept-trust .concept-section-head[data-v-61fd4bba]{margin-bottom:clamp(20px,2.6vw,32px)}.concept-trust__grid[data-v-61fd4bba]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:0}.concept-trust__grid dt[data-v-61fd4bba]{margin-bottom:4px;color:var(--pub-ink-3);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase}.concept-trust__grid dd[data-v-61fd4bba]{margin:0;color:var(--pub-ink-2);font-size:var(--fs-sm);line-height:1.5;font-variant-numeric:tabular-nums}.concept-trust__note[data-v-61fd4bba]{margin-top:20px!important;color:var(--pub-ink-3);font-size:var(--fs-sm)}.concept-trust__note a[data-v-61fd4bba]{color:inherit;text-decoration:underline;text-underline-offset:2px}.concept-final[data-v-61fd4bba]{text-align:center}.concept-final__content[data-v-61fd4bba]{display:grid;justify-items:center;max-width:640px}.concept-final h2[data-v-61fd4bba]{margin-top:12px;font-size:var(--pub-h2);line-height:var(--pub-lh-h2);letter-spacing:var(--pub-tracking-h2);font-weight:var(--fw-bold)}.concept-final__note[data-v-61fd4bba]{margin-top:16px!important;color:var(--pub-ink-2);font-size:var(--pub-body);line-height:var(--pub-lh-body)}.concept-final .pub-btn[data-v-61fd4bba]{margin-top:24px}.concept-final__teachers[data-v-61fd4bba]{margin-top:20px!important;color:var(--pub-ink-3);font-size:var(--fs-sm)}.concept-final__teachers a[data-v-61fd4bba]{color:var(--pub-accent);font-weight:var(--fw-semibold)}@media(max-width:1024px){.concept-hero[data-v-61fd4bba]{grid-template-columns:1fr}.concept-hero__copy[data-v-61fd4bba],.concept-hero__visual[data-v-61fd4bba]{max-width:680px}.concept-photo-wrap[data-v-61fd4bba]{aspect-ratio:1.4}.concept-self__grid[data-v-61fd4bba],.concept-report-sec__grid[data-v-61fd4bba],.concept-ai__grid[data-v-61fd4bba]{grid-template-columns:1fr}.concept-section-head--split[data-v-61fd4bba]{grid-template-columns:1fr;align-items:start}.concept-tabs[data-v-61fd4bba]{justify-self:start}.concept-learning__grid[data-v-61fd4bba],.concept-courses__grid[data-v-61fd4bba],.concept-trust__grid[data-v-61fd4bba]{grid-template-columns:repeat(2,minmax(0,1fr))}.concept-progress__main-grid[data-v-61fd4bba],.concept-progress__lower-grid[data-v-61fd4bba]{grid-template-columns:1fr}.concept-progress__stats[data-v-61fd4bba]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.concept-live__features[data-v-61fd4bba]{grid-template-columns:1fr}.concept-levels[data-v-61fd4bba]{max-width:560px}}@media(max-width:480px){.concept-fork[data-v-61fd4bba]{display:grid;grid-template-columns:1fr 1fr;width:100%}.concept-actions[data-v-61fd4bba]{flex-direction:column;align-items:stretch}.concept-actions .pub-btn[data-v-61fd4bba]{width:100%}.concept-photo-wrap[data-v-61fd4bba]{aspect-ratio:1.1}.concept-learning__grid[data-v-61fd4bba],.concept-courses__grid[data-v-61fd4bba],.concept-trust__grid[data-v-61fd4bba],.concept-progress__stats[data-v-61fd4bba]{grid-template-columns:1fr}.concept-progress__dashboard[data-v-61fd4bba]{padding:12px}.concept-progress__topbar[data-v-61fd4bba]{align-items:flex-start;flex-direction:column}.concept-progress-card[data-v-61fd4bba]{padding:14px}.concept-progress-card__head[data-v-61fd4bba]{flex-direction:column;gap:8px}.concept-progress-card--activity[data-v-61fd4bba]{overflow:hidden}.concept-progress__topic[data-v-61fd4bba]{grid-template-columns:1fr;gap:8px}.concept-msg[data-v-61fd4bba]{max-width:100%}.concept-tabs[data-v-61fd4bba]{width:100%;overflow-x:auto}.concept-tabs button[data-v-61fd4bba]{flex:1 0 auto}}@media(prefers-reduced-motion:reduce){.concept-fork__option[data-v-61fd4bba],.concept-tabs button[data-v-61fd4bba],.concept-course-card[data-v-61fd4bba]{transition:none}}.auth-page[data-v-83c021b1]{display:flex;justify-content:center;padding:var(--sp-12) var(--sp-4);min-height:calc(100vh - 64px);align-items:flex-start}.auth-card[data-v-83c021b1]{width:100%;max-width:400px}.auth-head[data-v-83c021b1]{text-align:center;margin-bottom:var(--sp-6)}.auth-head h1[data-v-83c021b1]{font-size:24px;font-weight:var(--fw-bold);letter-spacing:-.5px;margin:0;line-height:var(--lh-tight)}.alert[data-v-83c021b1]{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);margin-bottom:var(--sp-4);font-size:var(--fs-sm);background:var(--danger-soft);color:var(--danger-soft-text);line-height:1.5}.auth-form[data-v-83c021b1]{display:flex;flex-direction:column;gap:var(--sp-4)}.field label[data-v-83c021b1]{display:block;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text);margin-bottom:6px}.field input[data-v-83c021b1]{width:100%;border:1px solid var(--border);background:var(--bg-elevated);border-radius:var(--r-md);padding:11px 13px;font:inherit;font-size:var(--fs-md);color:var(--text);box-sizing:border-box;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.field input[data-v-83c021b1]:focus{outline:none;border-color:var(--brand);box-shadow:var(--shadow-focus)}.field input.is-error[data-v-83c021b1]{border-color:var(--danger)}.field-error[data-v-83c021b1]{display:block;font-size:var(--fs-xs);color:var(--danger);margin-top:4px}.password-wrapper[data-v-83c021b1]{position:relative}.toggle-password[data-v-83c021b1]{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--text-tertiary);padding:6px;cursor:pointer;border-radius:var(--r-sm);display:grid;place-items:center}.toggle-password[data-v-83c021b1]:hover{color:var(--text);background:var(--bg-subtle)}@media(max-width:768px){.field input[data-v-83c021b1]{min-height:44px}.toggle-password[data-v-83c021b1]{width:44px;height:44px}}.auth-row[data-v-83c021b1]{display:flex;align-items:center;justify-content:space-between}.remember[data-v-83c021b1]{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:var(--fs-xs);color:var(--text-secondary);-webkit-user-select:none;user-select:none}.remember input[data-v-83c021b1]{width:15px;height:15px;accent-color:var(--brand);cursor:pointer;margin:0}.auth-row__link[data-v-83c021b1]{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--brand);text-decoration:none}.auth-row__link[data-v-83c021b1]:hover{text-decoration:underline}.auth-submit[data-v-83c021b1]{margin-top:var(--sp-1)}.auth-footer[data-v-83c021b1]{margin-top:var(--sp-5);text-align:center;font-size:var(--fs-sm);color:var(--text-secondary)}.auth-footer--tight[data-v-83c021b1]{margin-top:var(--sp-1)}.auth-footer a[data-v-83c021b1]{color:var(--brand);font-weight:var(--fw-semibold)}.auth-tos[data-v-83c021b1]{margin-top:var(--sp-5);color:var(--text-tertiary);font-size:var(--fs-xs);text-align:center;line-height:1.5}.auth-tos a[data-v-83c021b1]{color:var(--brand)}.auth-page[data-v-2e466a22]{display:flex;justify-content:center;padding:var(--sp-12) var(--sp-4);min-height:calc(100vh - 64px);align-items:flex-start}.auth-card[data-v-2e466a22]{width:100%;max-width:400px}.auth-head[data-v-2e466a22]{text-align:center;margin-bottom:var(--sp-6)}.auth-head h1[data-v-2e466a22]{font-size:24px;font-weight:var(--fw-bold);letter-spacing:-.5px;margin:0;line-height:var(--lh-tight)}.auth-sub[data-v-2e466a22]{font-size:var(--fs-sm);color:var(--text-secondary);margin:var(--sp-2) 0 0;line-height:1.5}.auth-sub a[data-v-2e466a22]{color:var(--brand);font-weight:var(--fw-semibold)}.alert[data-v-2e466a22]{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);margin-bottom:var(--sp-4);font-size:var(--fs-sm);border:1px solid}.alert--danger[data-v-2e466a22]{background:var(--danger-soft);color:var(--danger-soft-text);border-color:var(--danger)}.auth-form[data-v-2e466a22]{display:flex;flex-direction:column;gap:var(--sp-4)}.role-tabs[data-v-2e466a22]{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2);margin-bottom:var(--sp-4)}.role-tabs button[data-v-2e466a22]{display:grid;gap:2px;text-align:left;border:1px solid var(--border);background:var(--bg-elevated);border-radius:var(--r-lg);padding:12px 14px;font:inherit;color:var(--text);cursor:pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.role-tabs button[data-v-2e466a22]:hover{border-color:var(--border-strong)}.role-tabs button strong[data-v-2e466a22]{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.role-tabs button small[data-v-2e466a22]{font-size:var(--fs-xs);color:var(--text-secondary);line-height:1.4}.role-tabs button.is-on[data-v-2e466a22]{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-soft-text)}.role-tabs button.is-on small[data-v-2e466a22]{color:var(--brand-soft-text)}@media(max-width:420px){.role-tabs[data-v-2e466a22]{grid-template-columns:1fr}}.name-row[data-v-2e466a22]{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}@media(max-width:420px){.name-row[data-v-2e466a22]{grid-template-columns:1fr}}.tutor-note[data-v-2e466a22]{background:var(--brand-soft);color:var(--brand-soft-text);border-radius:var(--r-md);padding:10px 12px;font-size:12.5px;line-height:1.5}.field label[data-v-2e466a22]{display:block;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text);margin-bottom:6px}.label-opt[data-v-2e466a22]{font-weight:var(--fw-regular, 400);color:var(--text-tertiary)}.code-input[data-v-2e466a22]{text-transform:uppercase;letter-spacing:.1em;font-family:var(--font-mono)}.login-box[data-v-2e466a22]{display:flex;flex-direction:column;gap:var(--sp-1);background:var(--bg-subtle);border-radius:var(--r-md);padding:var(--sp-4);font-size:var(--fs-sm);text-align:center}.login-box strong[data-v-2e466a22]{font-family:var(--font-mono);font-size:var(--fs-lg);color:var(--brand-soft-text)}.login-box small[data-v-2e466a22]{color:var(--text-secondary);font-size:var(--fs-xs);line-height:1.5}.field input[data-v-2e466a22]{width:100%;border:1px solid var(--border);background:var(--bg-elevated);border-radius:var(--r-md);padding:11px 13px;font:inherit;font-size:var(--fs-md);color:var(--text);box-sizing:border-box;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.field input[data-v-2e466a22]:focus{outline:none;border-color:var(--brand);box-shadow:var(--shadow-focus)}.field input.is-error[data-v-2e466a22]{border-color:var(--danger)}.field-error[data-v-2e466a22]{display:block;font-size:var(--fs-xs);color:var(--danger);margin-top:4px}.field-hint[data-v-2e466a22]{display:block;font-size:var(--fs-xs);color:var(--text-tertiary);margin-top:4px;line-height:1.4}.password-wrapper[data-v-2e466a22]{position:relative}.toggle-password[data-v-2e466a22]{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--text-tertiary);padding:6px;cursor:pointer;border-radius:var(--r-sm);display:grid;place-items:center}.toggle-password[data-v-2e466a22]:hover{color:var(--text);background:var(--bg-subtle)}@media(max-width:768px){.field input[data-v-2e466a22]{min-height:44px}.toggle-password[data-v-2e466a22]{width:44px;height:44px}}.auth-submit[data-v-2e466a22]{margin-top:var(--sp-2)}.auth-footer[data-v-2e466a22]{margin-top:var(--sp-6);text-align:center;font-size:var(--fs-sm);color:var(--text-secondary)}.auth-footer a[data-v-2e466a22]{color:var(--brand);font-weight:var(--fw-medium)}.consent-group[data-v-2e466a22]{display:flex;flex-direction:column;gap:var(--sp-3);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-4)}.consent[data-v-2e466a22]{display:flex;gap:var(--sp-3);align-items:flex-start;font-size:var(--fs-sm);color:var(--text-secondary);line-height:var(--lh-relaxed);cursor:pointer}.consent input[type=checkbox][data-v-2e466a22]{margin-top:2px;flex-shrink:0;width:18px;height:18px;accent-color:var(--brand);cursor:pointer}.consent a[data-v-2e466a22]{color:var(--brand)}.consent--optional[data-v-2e466a22]{color:var(--text-tertiary)}.under14-hint[data-v-2e466a22]{margin:-4px 0 0 30px;font-size:var(--fs-xs);color:var(--text-tertiary);line-height:var(--lh-relaxed)}.under14-hint button[data-v-2e466a22]{border:0;background:none;padding:0;font:inherit;color:var(--brand);cursor:pointer;text-decoration:underline}.ref-banner[data-v-2e466a22]{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);margin-bottom:var(--sp-4);font-size:var(--fs-sm);background:var(--success-soft);color:var(--success-soft-text);border:1px solid var(--success);line-height:1.5}.mail-sent[data-v-c9869017]{display:flex;gap:var(--sp-3);align-items:flex-start;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-4);text-align:left}.mail-sent__ico[data-v-c9869017]{color:var(--text-tertiary);display:flex;margin-top:1px}.mail-sent__text[data-v-c9869017]{margin:0;font-size:var(--fs-sm);color:var(--text-secondary);line-height:var(--lh-relaxed)}.mail-sent__text strong[data-v-c9869017]{color:var(--text);font-weight:var(--fw-medium)}.auth-page[data-v-31bc13e1]{display:flex;justify-content:center;padding:var(--sp-12) var(--sp-4);min-height:calc(100vh - 64px);align-items:flex-start}.auth-card[data-v-31bc13e1]{width:100%;max-width:420px}.auth-head[data-v-31bc13e1]{text-align:center;margin-bottom:var(--sp-5)}.auth-head h1[data-v-31bc13e1]{font-size:24px;font-weight:var(--fw-bold);letter-spacing:-.5px;margin:0;line-height:var(--lh-tight)}.auth-sub[data-v-31bc13e1]{font-size:var(--fs-sm);color:var(--text-secondary);margin:var(--sp-2) 0 0;line-height:1.5}.auth-sub strong[data-v-31bc13e1]{color:var(--text);font-weight:var(--fw-medium)}.alert[data-v-31bc13e1]{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);margin-bottom:var(--sp-4);font-size:var(--fs-sm);border:1px solid}.alert--danger[data-v-31bc13e1]{background:var(--danger-soft);color:var(--danger-soft-text);border-color:var(--danger)}.alert--success[data-v-31bc13e1]{background:var(--success-soft);color:var(--success-soft-text);border-color:var(--success)}.otp-form[data-v-31bc13e1]{display:flex;flex-direction:column;gap:var(--sp-4)}.otp-inputs[data-v-31bc13e1]{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--sp-2)}.otp-inputs input[data-v-31bc13e1]{width:100%;aspect-ratio:1 / 1;box-sizing:border-box;border:1.5px solid var(--border);background:var(--bg-elevated);border-radius:var(--r-md);text-align:center;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:28px;font-weight:600;color:var(--text);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.otp-inputs input[data-v-31bc13e1]:focus{outline:none;border-color:var(--brand);box-shadow:var(--shadow-focus)}.otp-inputs input.is-error[data-v-31bc13e1]{border-color:var(--danger)}.otp-inputs input[data-v-31bc13e1]:disabled{opacity:.6;cursor:not-allowed}.field-error[data-v-31bc13e1]{font-size:var(--fs-xs);color:var(--danger)}.otp-error[data-v-31bc13e1]{margin-top:-8px}.auth-submit[data-v-31bc13e1]{margin-top:var(--sp-2)}.auth-footer[data-v-31bc13e1]{margin-top:var(--sp-6);display:flex;gap:var(--sp-2);justify-content:center;align-items:center;flex-wrap:wrap;font-size:var(--fs-sm)}.link-btn[data-v-31bc13e1]{background:transparent;border:0;padding:0;color:var(--brand);font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer}.link-btn[data-v-31bc13e1]:disabled{color:var(--text-tertiary);cursor:not-allowed}.link-btn[data-v-31bc13e1]:hover:not(:disabled){text-decoration:underline}.sep[data-v-31bc13e1]{color:var(--text-tertiary)}.not-found[data-v-98922f34]{display:flex;align-items:center;justify-content:center;min-height:100vh;text-align:center;padding:2rem}.not-found-inner[data-v-98922f34]{max-width:400px}.code[data-v-98922f34]{font-size:5rem;font-weight:800;color:var(--brand);line-height:1}.not-found h1[data-v-98922f34]{margin:1rem 0 .5rem;font-size:1.5rem;color:var(--text)}.not-found p[data-v-98922f34]{color:var(--text-muted);margin-bottom:2rem}@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:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-italic-B5xAaiFk.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:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-italic-DzZdc28x.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:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-italic-DcOpz6Lw.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-italic-CILZdfAp.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:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-italic-K3WlGtc8.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:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-italic-0pjOp8NU.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:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-italic-DpCbqKDY.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA) 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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.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}:root{color-scheme:light;--bg: #f7f8fb;--bg-elevated: #ffffff;--bg-subtle: #f1f3f8;--bg-muted: #e5e8ef;--text: #0f1320;--text-secondary: #4b5468;--text-tertiary: #8b94a6;--text-disabled: #b6bcc9;--text-inverse: #ffffff;--border: #e6e9f0;--border-strong: #d0d5e0;--border-subtle: #eef0f5;--brand: #4f46e5;--brand-hover: #4338ca;--brand-active: #3730a3;--brand-soft: #eef0ff;--brand-soft-text: #3730a3;--brand-ring: rgba(79, 70, 229, .25);--info: #0369a1;--info-soft: #e0f2fe;--info-soft-text: #075985;--warn: #b45309;--warn-soft: #fef3c7;--warn-soft-text: #92400e;--success: #15803d;--success-soft: #dcfce7;--success-soft-text:#14532d;--danger: #b91c1c;--danger-soft: #fee2e2;--danger-soft-text: #991b1b;--lvl-exam: #b91c1c;--lvl-hint: #b45309;--lvl-support: #0369a1;--lvl-learn: #15803d;--shadow-xs: 0 1px 2px rgba(13, 18, 30, .05);--shadow-sm: 0 1px 3px rgba(13, 18, 30, .08), 0 1px 2px rgba(13, 18, 30, .04);--shadow-md: 0 6px 16px rgba(13, 18, 30, .08);--shadow-lg: 0 16px 40px rgba(13, 18, 30, .12);--shadow-focus: 0 0 0 3px var(--brand-ring);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, "Courier New", monospace;--fs-xs: 12px;--fs-sm: 13px;--fs-base: 15px;--fs-md: 16px;--fs-lg: 18px;--fs-xl: 22px;--fs-2xl: 28px;--fs-3xl: 36px;--fs-4xl: 48px;--fs-reading: 17px;--lh-reading: 1.7;--lh-tight: 1.2;--lh-snug: 1.35;--lh-normal: 1.5;--lh-relaxed: 1.65;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--tracking-tight: -.015em;--tracking-normal: 0em;--tracking-wide: .02em;--sp-0: 0;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--sp-20: 80px;--sp-24: 96px;--r-xs: 4px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 20px;--r-2xl: 24px;--r-pill: 999px;--ease: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--dur-fast: .12s;--dur: .2s;--dur-slow: .32s;--reading-width: 860px;--content-width: 1200px;--header-height: 56px;--sidebar-width: 240px;--toc-width: 280px;--density-pad-y: 10px;--density-pad-x: 14px;--density-row: 44px;--density-card-pad: 20px;--density-gap: 16px;--pub-bg: #f7f3ea;--pub-surface: #fffdf8;--pub-surface-sunk: #f1ece0;--pub-ink: #101a38;--pub-ink-2: #45506e;--pub-ink-3: #6f7894;--pub-line: #e2dbcb;--pub-line-strong: #cfc5ae;--pub-accent: #315ee8;--pub-accent-hover: #2a4fc7;--pub-accent-active: #2342a6;--pub-accent-soft: #e4e9fd;--pub-accent-ink: #21398c;--pub-accent-ring: rgba(49, 94, 232, .3);--pub-lime: #caff63;--pub-lime-ink: #101a38;--pub-lime-edge: #b4ea4a;--pub-lilac: #ddd7ff;--pub-lilac-ink: #33266e;--pub-inverse-bg: #101a38;--pub-inverse-ink: #f6f4ee;--pub-inverse-ink-2: #a8b1cc;--pub-inverse-line: #24304f;--pub-role-tint: transparent;--pub-role-line: var(--pub-line);--photo-scrim: linear-gradient(180deg, rgba(16,26,56,0) 40%, rgba(16,26,56,.1) 100%);--photo-radius: var(--r-2xl);--pub-shadow-sm: 0 1px 2px rgba(56, 44, 24, .06), 0 1px 3px rgba(56, 44, 24, .04);--pub-shadow-md: 0 8px 24px rgba(56, 44, 24, .1);--pub-shadow-lg: 0 24px 56px rgba(16, 26, 56, .16);--pub-shadow-float: 0 12px 32px rgba(16, 26, 56, .18);--pub-focus: 0 0 0 3px var(--pub-accent-ring);--pub-display: clamp(34px, 5.2vw, 60px);--pub-h1: clamp(30px, 3.6vw, 44px);--pub-h2: clamp(28px, 4.4vw, 52px);--pub-h3: clamp(21px, 2.4vw, 30px);--pub-lead: clamp(17px, 1.7vw, 22px);--pub-body: 17px;--pub-small: 15px;--pub-eyebrow: 13px;--pub-lh-display: 1.02;--pub-lh-h2: 1.08;--pub-lh-body: 1.6;--pub-tracking-display: -.032em;--pub-tracking-h2: -.022em;--pub-tracking-eyebrow: .09em;--pub-accent-italic-color: var(--pub-accent);--pub-section-y: clamp(48px, 6vw, 96px);--pub-gutter: clamp(16px, 4vw, 40px);--pub-maxw: 1240px;--pub-maxw-text: 680px}[data-density=compact]{--density-pad-y: 6px;--density-pad-x: 10px;--density-row: 36px;--density-card-pad: 14px;--density-gap: 12px}[data-theme=dark]{color-scheme:dark;--bg: #0a0d14;--bg-elevated: #141823;--bg-subtle: #1a1f2c;--bg-muted: #232938;--text: #f1f3f8;--text-secondary: #a1a8b8;--text-tertiary: #6b7385;--text-disabled: #4c5364;--text-inverse: #0f1320;--border: #232938;--border-strong: #353c4d;--border-subtle: #1a1f2c;--brand: #837bff;--brand-hover: #9a93ff;--brand-active: #6b62ff;--brand-soft: #1f1d3a;--brand-soft-text: #cac6ff;--brand-ring: rgba(131, 123, 255, .32);--info: #38bdf8;--info-soft: #0b2235;--info-soft-text: #bae6fd;--warn: #fbbf24;--warn-soft: #3a2807;--warn-soft-text: #fde68a;--success: #4ade80;--success-soft: #0a2c18;--success-soft-text:#bbf7d0;--danger: #f87171;--danger-soft: #3d0e0e;--danger-soft-text: #fecaca;--lvl-exam: #f87171;--lvl-hint: #fbbf24;--lvl-support: #38bdf8;--lvl-learn: #4ade80;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .5), 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 6px 18px rgba(0, 0, 0, .45);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .6);--pub-bg: #0a1022;--pub-surface: #101a38;--pub-surface-sunk: #16213f;--pub-ink: #f3f5fb;--pub-ink-2: #b3bcd6;--pub-ink-3: #8590ad;--pub-line: #24304f;--pub-line-strong: #35426a;--pub-accent: #7d9dff;--pub-accent-hover: #98b1ff;--pub-accent-active: #6a8cf5;--pub-accent-soft: #17224a;--pub-accent-ink: #c3d1ff;--pub-accent-ring: rgba(125, 157, 255, .34);--pub-lime: #b3e34f;--pub-lime-ink: #0a1022;--pub-lime-edge: #8fbb36;--pub-lilac: #2a2554;--pub-lilac-ink: #ddd7ff;--pub-inverse-bg: #060b18;--pub-inverse-ink: #f3f5fb;--pub-inverse-ink-2: #96a1c0;--pub-inverse-line: #1b2748;--pub-role-line: var(--pub-line);--photo-scrim: linear-gradient(180deg, rgba(10,16,34,.28) 0%, rgba(10,16,34,.62) 100%);--pub-shadow-sm: 0 1px 3px rgba(0, 0, 0, .5);--pub-shadow-md: 0 8px 24px rgba(0, 0, 0, .5);--pub-shadow-lg: 0 24px 56px rgba(0, 0, 0, .62);--pub-shadow-float: 0 12px 32px rgba(0, 0, 0, .55)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"cv11","ss01","ss03"}:where(button,input,select,textarea){color:inherit}a{color:var(--brand);text-decoration:none;transition:color var(--dur) var(--ease)}a:hover{color:var(--brand-hover)}::selection{background:var(--brand-soft);color:var(--brand-soft-text)}:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-radius:var(--r-sm)}.u-text-xs{font-size:var(--fs-xs)}.u-text-sm{font-size:var(--fs-sm)}.u-text-md{font-size:var(--fs-md)}.u-text-lg{font-size:var(--fs-lg)}.u-text-secondary{color:var(--text-secondary)}.u-text-tertiary{color:var(--text-tertiary)}.u-mono{font-family:var(--font-mono)}.u-tabular{font-variant-numeric:tabular-nums}.hover-lift{transition:transform var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}.hover-lift:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.hover-card{transition:border-color .15s,background .15s,box-shadow .15s;cursor:pointer}.hover-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.skel{background:linear-gradient(90deg,var(--bg-muted) 25%,var(--bg-subtle) 45%,var(--bg-muted) 65%);background-size:200% 100%;animation:skel 1.3s ease-in-out infinite}@keyframes skel{0%{background-position:200% 0}to{background-position:-200% 0}}.seg{display:inline-flex;background:var(--bg-muted);border-radius:11px;padding:3px;gap:2px}.seg>button{border:0;font:inherit;font-size:var(--fs-sm);font-weight:500;color:var(--text-secondary);background:transparent;border-radius:8px;padding:7px 14px;cursor:pointer;min-height:34px;transition:background .15s,color .15s,box-shadow .15s}.seg>button.on{background:var(--bg-elevated);color:var(--text);font-weight:600;box-shadow:var(--shadow-xs)}.pub-shell{--bg: var(--pub-bg);--bg-elevated: var(--pub-surface);--bg-subtle: var(--pub-surface-sunk);--bg-muted: color-mix(in srgb, var(--pub-surface-sunk) 82%, var(--pub-line-strong));--text: var(--pub-ink);--text-secondary: var(--pub-ink-2);--text-tertiary: var(--pub-ink-3);--border: var(--pub-line);--border-strong: var(--pub-line-strong);--border-subtle: color-mix(in srgb, var(--pub-line) 62%, transparent);--brand: var(--pub-accent);--brand-hover: var(--pub-accent-hover);--brand-active: var(--pub-accent-active);--brand-soft: var(--pub-accent-soft);--brand-soft-text: var(--pub-accent-ink);--brand-ring: var(--pub-accent-ring);--shadow-xs: var(--pub-shadow-sm);--shadow-sm: var(--pub-shadow-sm);--shadow-md: var(--pub-shadow-md);--shadow-lg: var(--pub-shadow-lg);background:var(--pub-bg);color:var(--pub-ink)}.pub-shell .pub-cabinet-surface{--bg: #f7f8fb;--bg-elevated: #ffffff;--bg-subtle: #f1f3f8;--bg-muted: #e5e8ef;--text: #0f1320;--text-secondary: #4b5468;--text-tertiary: #8b94a6;--border: #e6e9f0;--border-strong: #d0d5e0;--border-subtle: #eef0f5;--brand: #4f46e5;--brand-soft: #eef0ff;--brand-soft-text: #3730a3;--shadow-xs: 0 1px 2px rgba(13, 18, 30, .05);--shadow-sm: 0 1px 3px rgba(13, 18, 30, .08), 0 1px 2px rgba(13, 18, 30, .04)}[data-theme=dark] .pub-shell .pub-cabinet-surface{--bg: #0a0d14;--bg-elevated: #141823;--bg-subtle: #1a1f2c;--bg-muted: #232938;--text: #f1f3f8;--text-secondary: #a1a8b8;--text-tertiary: #6b7385;--border: #232938;--border-strong: #353c4d;--border-subtle: #1a1f2c;--brand: #837bff;--brand-soft: #1f1d3a;--brand-soft-text: #cac6ff}:root{--paper-bg: #ffffff;--paper-bg-subtle: #f4f5f7;--paper-bg-muted: #e9ebef;--paper-text: #101318;--paper-text-secondary: #3c4350;--paper-text-tertiary: #6b7280;--paper-border: #d9dde3;--paper-border-strong: #b8bec8;--paper-border-subtle: #e8ebef;--paper-brand: #4f46e5;--paper-brand-soft: #eef0ff;--paper-brand-soft-text: #3730a3;--paper-info-soft: #e0f2fe;--paper-info-soft-text: #075985;--paper-warn-soft: #fef3c7;--paper-warn-soft-text: #92400e;--paper-success-soft: #dcfce7;--paper-success-soft-text:#166534;--paper-danger-soft: #fee2e2;--paper-danger-soft-text: #991b1b;--paper-info: #0369a1;--paper-warn: #b45309;--paper-success: #15803d;--paper-danger: #b91c1c}.paper-sheet{color-scheme:light;--bg: var(--paper-bg);--bg-elevated: var(--paper-bg);--bg-subtle: var(--paper-bg-subtle);--bg-muted: var(--paper-bg-muted);--text: var(--paper-text);--text-secondary: var(--paper-text-secondary);--text-tertiary: var(--paper-text-tertiary);--text-inverse: var(--paper-bg);--border: var(--paper-border);--border-strong: var(--paper-border-strong);--border-subtle: var(--paper-border-subtle);--brand: var(--paper-brand);--brand-soft: var(--paper-brand-soft);--brand-soft-text: var(--paper-brand-soft-text);--info: var(--paper-info);--warn: var(--paper-warn);--success: var(--paper-success);--danger: var(--paper-danger);--info-soft: var(--paper-info-soft);--info-soft-text: var(--paper-info-soft-text);--warn-soft: var(--paper-warn-soft);--warn-soft-text: var(--paper-warn-soft-text);--success-soft: var(--paper-success-soft);--success-soft-text:var(--paper-success-soft-text);--danger-soft: var(--paper-danger-soft);--danger-soft-text: var(--paper-danger-soft-text);--code-block-bg: var(--paper-bg-subtle);--code-block-text: var(--paper-text);color:var(--text)}@media print{[data-theme=dark]{color-scheme:light;--bg: var(--paper-bg);--bg-elevated: var(--paper-bg);--bg-subtle: var(--paper-bg-subtle);--bg-muted: var(--paper-bg-muted);--text: var(--paper-text);--text-secondary: var(--paper-text-secondary);--text-tertiary: var(--paper-text-tertiary);--text-inverse: var(--paper-bg);--border: var(--paper-border);--border-strong: var(--paper-border-strong);--border-subtle: var(--paper-border-subtle);--brand: var(--paper-brand);--brand-soft: var(--paper-brand-soft);--brand-soft-text: var(--paper-brand-soft-text);--info: var(--paper-info);--warn: var(--paper-warn);--success: var(--paper-success);--danger: var(--paper-danger);--info-soft: var(--paper-info-soft);--info-soft-text: var(--paper-info-soft-text);--warn-soft: var(--paper-warn-soft);--warn-soft-text: var(--paper-warn-soft-text);--success-soft: var(--paper-success-soft);--success-soft-text:var(--paper-success-soft-text);--danger-soft: var(--paper-danger-soft);--danger-soft-text: var(--paper-danger-soft-text)}}.paper-inset,[data-theme=dark] figure.viz,.m11-fig,.m13-fig,.robot-fig,.rfp__field{color-scheme:light;--text: var(--paper-text);--text-secondary: var(--paper-text-secondary);--text-tertiary: var(--paper-text-tertiary);--border: var(--paper-border);--border-strong: var(--paper-border-strong);--brand: var(--paper-brand);--brand-soft: var(--paper-brand-soft);--brand-soft-text: var(--paper-brand-soft-text);--info: var(--paper-info);--warn: var(--paper-warn);--success: var(--paper-success);--danger: var(--paper-danger);--info-soft: var(--paper-info-soft);--info-soft-text: var(--paper-info-soft-text);--warn-soft: var(--paper-warn-soft);--warn-soft-text: var(--paper-warn-soft-text);--success-soft: var(--paper-success-soft);--success-soft-text:var(--paper-success-soft-text);--danger-soft: var(--paper-danger-soft);--danger-soft-text: var(--paper-danger-soft-text);--bg-elevated: var(--paper-bg);--bg-subtle: var(--paper-bg-subtle);--bg-muted: var(--paper-bg-muted);color:var(--text)}:where(.pub-shell) a{color:var(--pub-accent)}:where(.pub-shell) a:hover{color:var(--pub-accent-hover)}.pub-shell :focus-visible{outline:none;box-shadow:var(--pub-focus);border-radius:var(--r-sm)}.pub-shell ::selection{background:var(--pub-lime);color:var(--pub-lime-ink)}.pub-shell[data-role=parent]{--pub-role-tint: var(--pub-accent-soft);--pub-role-line: var(--pub-line-strong)}.pub-shell[data-role=student]{--pub-role-tint: transparent}.pub-photo{position:relative;border-radius:var(--photo-radius);overflow:hidden}.pub-photo>img{display:block;width:100%;height:100%;object-fit:cover}.pub-photo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--photo-scrim);pointer-events:none}.pub-float{background:var(--pub-surface);color:var(--pub-ink);border:1px solid var(--pub-line);border-radius:var(--r-lg);box-shadow:var(--pub-shadow-float)}.pub-chip-lime{background:var(--pub-lime);color:var(--pub-lime-ink);border:1px solid var(--pub-lime-edge)}.pub-eyebrow{font-size:var(--pub-eyebrow);font-weight:var(--fw-semibold);letter-spacing:var(--pub-tracking-eyebrow);text-transform:uppercase;color:var(--pub-ink-3)}.pub-shell button,.pub-shell a.pub-btn,.pub-shell select,.pub-shell input:not([type=checkbox]):not([type=radio]){min-height:44px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}:root{--bg-page: var(--bg);--bg-hover: var(--bg-subtle);--bg-tertiary: var(--bg-muted);--text-muted: var(--text-tertiary);--text-faint: var(--text-disabled);--brand-softer: var(--brand-soft);--brand-muted: #a5b4fc;--green: var(--success);--green-bg: var(--success-soft);--green-bg-soft: var(--success-soft);--green-text: var(--success-soft-text);--green-border: #bbf7d0;--red: var(--danger);--red-hover: #b1392f;--red-bg: var(--danger-soft);--red-bg-soft: var(--danger-soft);--red-text: var(--danger-soft-text);--red-border: #fca5a5;--amber: var(--warn);--amber-bg: var(--warn-soft);--amber-bg-soft: var(--warn-soft);--amber-text: var(--warn-soft-text);--amber-border: #fcd34d;--blue-bg: var(--info-soft);--blue-bg-soft: var(--info-soft);--blue-text: var(--info-soft-text);--blue-border: #bfdbfe;--shadow: var(--shadow-sm);--code-bg: var(--bg-subtle);--code-block-bg: #1e1e2e;--code-block-text: #e8e8ec;--input-bg: var(--bg-elevated);--input-border: var(--border);--input-focus: var(--brand);--input-focus-ring: var(--brand-ring)}[data-theme=dark]{--green-border: #163a26;--red-hover: #f08c80;--red-border: #3f1e1a;--amber-border: #3b2e15;--blue-border: #1e2c4a;--code-block-bg: #0f0f14;--code-block-text: #e8e8ec}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5)}.card--clickable{cursor:pointer;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.card--clickable:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-3)}.card__title{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text);margin:0;letter-spacing:var(--tracking-tight)}.card__subtitle{font-size:var(--fs-sm);color:var(--text-secondary);margin:4px 0 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);border:1px solid transparent;border-radius:var(--r-md);font-family:inherit;font-weight:var(--fw-medium);cursor:pointer;transition:all var(--dur) var(--ease);white-space:nowrap;line-height:1;padding:9px 14px;font-size:var(--fs-sm);text-decoration:none}.btn--primary{background:var(--brand);color:var(--text-inverse);border-color:var(--brand)}.btn--primary:hover{background:var(--brand-hover);border-color:var(--brand-hover);color:var(--text-inverse)}.btn--secondary{background:var(--bg-elevated);color:var(--text);border-color:var(--border-strong)}.btn--secondary:hover{background:var(--bg-subtle);color:var(--text)}.btn--ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.btn--ghost:hover{background:var(--bg-subtle);color:var(--text)}.btn--lg{padding:12px 20px;font-size:var(--fs-md)}.btn--sm{padding:6px 10px;font-size:var(--fs-xs)}.btn svg{width:1em;height:1em}@media(max-width:1023px){.btn--lg{min-height:44px}}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:var(--fw-medium);line-height:1.4;white-space:nowrap}.badge--neutral{background:var(--bg-subtle);color:var(--text-secondary)}.badge--brand{background:var(--brand-soft);color:var(--brand-soft-text)}.badge--info{background:var(--info-soft);color:var(--info-soft-text)}.badge--warn{background:var(--warn-soft);color:var(--warn-soft-text)}.badge--success{background:var(--success-soft);color:var(--success-soft-text)}.badge--danger{background:var(--danger-soft);color:var(--danger-soft-text)}.badge--soon{background:var(--warn);color:var(--text-inverse);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.06em;font-size:11px;padding:3px 10px;box-shadow:0 2px 8px #b4530947}.badge__dot{width:6px;height:6px;border-radius:999px;background:currentColor}.icon-btn{width:32px;height:32px;display:grid;place-items:center;border-radius:var(--r-md);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;transition:all var(--dur) var(--ease)}.icon-btn:hover{background:var(--bg-subtle);color:var(--text)}.icon-btn svg{width:16px;height:16px}@media(max-width:900px){.admin-table{border-collapse:separate;border-spacing:0}.admin-table thead{display:none}.admin-table,.admin-table tbody{display:block;width:100%}.admin-table tbody tr{display:block;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg);padding:4px 10px;margin-bottom:10px}.admin-table tbody td{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-table tbody td:last-child{border-bottom:0!important}.admin-table tbody td:before{content:attr(data-label);font-size:11px;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);text-align:left;flex-shrink:0}.admin-table tbody td:not([data-label]){justify-content:flex-end}.admin-table tbody td:not([data-label]):before{content:none}.admin-table tbody td[colspan]{display:block}.admin-table tbody td[colspan]:before{content:none}.admin-table .icon-btn{min-width:44px;min-height:44px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:16px;line-height:1.65;color:var(--text);background:var(--bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}h1,h2,h3,h4{line-height:1.3}.container{max-width:1440px;margin:0 auto;padding:0 2rem}.btn:active:not(:disabled){transform:scale(.98)}.btn--danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn--danger:hover{background:var(--red-hover);border-color:var(--red-hover)}.btn--block{width:100%}input[type=text],input[type=email],input[type=password],input[type=number],input[type=url],select,textarea{font-family:inherit;font-size:.95rem;color:var(--text);border:1px solid var(--input-border);border-radius:.5rem;padding:.6rem .875rem;transition:border-color .15s,box-shadow .15s;background:var(--input-bg)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--input-focus);box-shadow:0 0 0 3px var(--input-focus-ring)}textarea{resize:vertical}input[type=range]{touch-action:none}.alert{padding:.75rem 1rem;border-radius:.5rem;font-size:.9rem;margin-bottom:1rem}.alert--error{background:var(--red-bg-soft);color:var(--red-text);border:1px solid var(--red-border)}.alert--success{background:var(--green-bg-soft);color:var(--green-text);border:1px solid var(--green-border)}.alert--warning{background:var(--amber-bg-soft);color:var(--amber-text);border:1px solid var(--amber-border)}.alert--info{background:var(--blue-bg-soft);color:var(--blue-text);border:1px solid var(--blue-border)}.page-title{font-size:1.5rem;font-weight:700;color:var(--text);margin:0}.page-sub{color:var(--text-muted);margin:.25rem 0 1.5rem;font-size:.925rem}.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}.task-card__cond{overflow-wrap:break-word;min-width:0}.admin-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;font-size:14px}.admin-table th,.admin-table td{padding:12px 14px;text-align:left;font-size:14px;border-top:1px solid var(--border)}.admin-table thead tr:first-child th{border-top:0}.admin-table thead{background:var(--bg-subtle)}.admin-table th{font-size:12px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.admin-table tbody tr:hover{background:var(--bg-subtle)}@media(max-width:768px){.cab-table,.cab-table tbody{display:block;width:100%}.cab-table{padding:0 10px 2px;min-width:0!important}.cab-table thead{display:none}.cab-table tbody tr{display:block;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg);padding:4px 12px;margin-bottom:10px}.cab-table tbody td{display:flex!important;align-items:center;justify-content:space-between;gap:12px;min-height:40px;width:auto!important;text-align:left}.cab-table tbody td:last-child{border-bottom:0!important}.cab-table tbody td:before{content:attr(data-label);font-size:11px;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);text-align:left;flex-shrink:0}.cab-table tbody td:not([data-label]){justify-content:flex-end}.cab-table tbody td:not([data-label]):before{content:none}.cab-table tbody td[colspan]{display:block!important}.cab-table tbody td[colspan]:before{content:none}.cab-table tbody td.cab-table__wide{display:block!important;text-align:left}.cab-table tbody td.cab-table__wide:before{display:block;margin-bottom:6px}}@media(max-width:768px){.container{padding:0 1rem}.page-title{font-size:1.3rem}.page-sub{font-size:.875rem;margin-bottom:1rem}h1,h2{word-break:break-word}}@media(max-width:480px){html{font-size:15px}.container{padding:0 .75rem}}
