.cookie-banner[data-v-5bc4e977]{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-5bc4e977]{display:flex;gap:var(--sp-4);align-items:flex-start}.cookie-banner__text[data-v-5bc4e977]{flex:1;min-width:0}.cookie-banner__text h3[data-v-5bc4e977]{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-5bc4e977]{font-size:var(--fs-sm);color:var(--text-secondary);line-height:var(--lh-relaxed);margin:0}.cookie-banner__text a[data-v-5bc4e977]{color:var(--brand)}.cookie-banner__actions[data-v-5bc4e977]{display:flex;gap:var(--sp-2);flex-shrink:0;align-items:center}.cookie-banner__btn[data-v-5bc4e977]{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-5bc4e977]{background:var(--brand);color:#fff}.cookie-banner__btn--primary[data-v-5bc4e977]:hover{filter:brightness(.95)}.cookie-banner__btn--ghost[data-v-5bc4e977]{background:transparent;color:var(--text);border-color:var(--border)}.cookie-banner__btn--ghost[data-v-5bc4e977]:hover{background:var(--bg-subtle)}@media(max-width:768px){.cookie-banner__inner[data-v-5bc4e977]{flex-direction:column}.cookie-banner__actions[data-v-5bc4e977]{width:100%;justify-content:stretch}.cookie-banner__btn[data-v-5bc4e977]{flex:1}}.cookie-fade-enter-active[data-v-5bc4e977],.cookie-fade-leave-active[data-v-5bc4e977]{transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}.cookie-fade-enter-from[data-v-5bc4e977],.cookie-fade-leave-to[data-v-5bc4e977]{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)}.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-cb79a523]{background:linear-gradient(135deg,var(--gradient-from) 0%,var(--gradient-to) 100%);border-top:1px solid var(--gradient-border);border-bottom:1px solid var(--gradient-border);padding:2.5rem 0}.grant-inner[data-v-cb79a523]{display:flex;align-items:center;gap:3rem;flex-wrap:wrap}.grant-text[data-v-cb79a523]{flex:1;min-width:260px}.grant-label[data-v-cb79a523]{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--brand);font-weight:600;margin:0 0 .5rem}.grant-body[data-v-cb79a523]{font-size:1.05rem;font-weight:500;color:var(--brand-deep);margin:0;line-height:1.55;max-width:64ch}.grant-logos[data-v-cb79a523]{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-cb79a523]{height:56px;width:auto;object-fit:contain}@media(max-width:768px){.grant-inner[data-v-cb79a523]{flex-direction:column;gap:1.5rem}.grant-logos[data-v-cb79a523]{justify-content:flex-start}}.pub-shell[data-v-ec467a49]{min-height:100vh;display:flex;flex-direction:column}.pub-topbar[data-v-ec467a49]{display:flex;align-items:center;gap:14px;padding:0 36px;height:60px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg-elevated) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);position:sticky;top:0;z-index:50}.pub-topbar.is-minimal[data-v-ec467a49]{border-bottom:0;background:transparent}@media(max-width:900px){.pub-topbar[data-v-ec467a49]{padding:0 20px;height:60px;gap:8px}}@media(max-width:768px){.pub-topbar[data-v-ec467a49]{padding:0 14px}}.pub-brand[data-v-ec467a49]{display:inline-flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-weight:var(--fw-bold)}.pub-brand-mark[data-v-ec467a49]{width:28px;height:28px;border-radius:var(--r-md);background:linear-gradient(135deg,var(--brand) 0%,var(--brand-active) 100%);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-ec467a49]{font-size:20px;letter-spacing:-.3px}.pub-nav[data-v-ec467a49]{display:flex;gap:4px;margin-left:28px}.pub-nav a[data-v-ec467a49]{padding:8px 12px;font-size:14px;font-weight:var(--fw-medium);color:var(--text-secondary);border-radius:8px;text-decoration:none;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.pub-nav a[data-v-ec467a49]:hover{background:var(--bg-subtle);color:var(--text)}.pub-nav a.is-active[data-v-ec467a49]{color:var(--text);background:var(--bg-subtle)}@media(max-width:1023px){.pub-nav[data-v-ec467a49]{display:none}}.pub-spacer[data-v-ec467a49]{flex:1}.age-chip[data-v-ec467a49]{display:inline-flex;align-items:center;padding:4px 10px;background:var(--bg-subtle);color:var(--text-secondary);border-radius:var(--r-pill);font-size:12px;font-weight:var(--fw-medium)}@media(max-width:768px){.age-chip[data-v-ec467a49]{display:none}}.icon-btn-bare[data-v-ec467a49]{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;color:var(--text-secondary);cursor:pointer;width:36px;height:36px;border-radius:var(--r-md);font-family:inherit;padding:0}.icon-btn-bare[data-v-ec467a49]:hover{background:var(--bg-subtle);color:var(--text)}.icon-btn-bare svg[data-v-ec467a49]{width:18px;height:18px}.pub-burger[data-v-ec467a49]{display:none}@media(max-width:1023px){.pub-burger[data-v-ec467a49]{display:inline-flex}.icon-btn-bare[data-v-ec467a49]{width:44px;height:44px}.pub-drawer__actions .btn-primary[data-v-ec467a49],.pub-drawer__actions .btn-ghost[data-v-ec467a49]{min-height:44px}}.btn-primary[data-v-ec467a49]{display:inline-flex;align-items:center;justify-content:center;padding:0 16px;min-height:38px;background:var(--brand);color:#fff;border:0;border-radius:var(--r-md);font-family:inherit;font-size:14px;font-weight:var(--fw-semibold);cursor:pointer;text-decoration:none}.btn-primary[data-v-ec467a49]:hover{background:var(--brand-hover)}.btn-ghost[data-v-ec467a49]{display:inline-flex;align-items:center;justify-content:center;padding:0 14px;min-height:38px;background:transparent;color:var(--text-secondary);border:0;border-radius:var(--r-md);font-family:inherit;font-size:14px;font-weight:var(--fw-medium);cursor:pointer;text-decoration:none}.btn-ghost[data-v-ec467a49]:hover{background:var(--bg-subtle);color:var(--text)}.btn-block[data-v-ec467a49]{width:100%}@media(max-width:1023px){.pub-topbar>.btn-primary[data-v-ec467a49],.pub-topbar>.btn-ghost[data-v-ec467a49],.pub-topbar>.age-chip[data-v-ec467a49]{display:none}}.pub-drawer-bg[data-v-ec467a49]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:100}.pub-drawer[data-v-ec467a49]{position:fixed;top:0;right:0;bottom:0;width:min(320px,100vw);background:var(--bg-elevated);border-left:1px solid var(--border);padding:16px;display:flex;flex-direction:column;z-index:101;box-shadow:var(--shadow-lg)}.pub-drawer__top[data-v-ec467a49]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border)}.pub-drawer__nav[data-v-ec467a49]{display:flex;flex-direction:column;gap:2px;flex:1}.pub-drawer__nav a[data-v-ec467a49]{padding:12px 14px;border-radius:10px;color:var(--text);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-ec467a49]{background:var(--brand-soft);color:var(--brand-soft-text)}.pub-drawer__actions[data-v-ec467a49]{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:14px;border-top:1px solid var(--border)}.drawer-enter-active[data-v-ec467a49],.drawer-leave-active[data-v-ec467a49]{transition:opacity .18s var(--ease)}.drawer-enter-from[data-v-ec467a49],.drawer-leave-to[data-v-ec467a49]{opacity:0}.slide-drawer-enter-active[data-v-ec467a49],.slide-drawer-leave-active[data-v-ec467a49]{transition:transform .22s var(--ease-out)}.slide-drawer-enter-from[data-v-ec467a49],.slide-drawer-leave-to[data-v-ec467a49]{transform:translate(100%)}.pub-main[data-v-ec467a49]{flex:1}.pub-main.is-minimal[data-v-ec467a49]{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 12% 18%,color-mix(in srgb,var(--brand) 11%,transparent),transparent 32%),radial-gradient(circle at 88% 78%,color-mix(in srgb,var(--success) 8%,transparent),transparent 30%)}.pub-main.is-minimal[data-v-ec467a49]:before{content:"";position:absolute;z-index:-1;top:18px;right:18px;bottom:18px;left:18px;border:1px solid color-mix(in srgb,var(--border) 65%,transparent);border-radius:var(--r-2xl);pointer-events:none}.pub-main.is-minimal[data-v-ec467a49] .auth-page,.pub-main.is-minimal[data-v-ec467a49] .join,.pub-main.is-minimal[data-v-ec467a49] .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-ec467a49] .auth-card,.pub-main.is-minimal[data-v-ec467a49] .join__card,.pub-main.is-minimal[data-v-ec467a49] .pc__card{padding:clamp(24px,4vw,34px);border:1px solid var(--border);border-radius:var(--r-xl);background:color-mix(in srgb,var(--bg-elevated) 94%,transparent);box-shadow:var(--shadow-lg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}@media(max-width:560px){.pub-main.is-minimal[data-v-ec467a49]:before{display:none}.pub-main.is-minimal[data-v-ec467a49] .auth-page,.pub-main.is-minimal[data-v-ec467a49] .join,.pub-main.is-minimal[data-v-ec467a49] .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-ec467a49] .auth-card,.pub-main.is-minimal[data-v-ec467a49] .join__card,.pub-main.is-minimal[data-v-ec467a49] .pc__card{padding:var(--sp-5);border-radius:var(--r-lg)}}.pub-footer[data-v-ec467a49]{background:var(--bg-elevated);border-top:1px solid var(--border);padding:56px 36px 36px;margin-top:96px}@media(max-width:900px){.pub-footer[data-v-ec467a49]{padding:40px 20px 28px;margin-top:64px}}.pub-footer__inner[data-v-ec467a49]{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-ec467a49]{grid-template-columns:1fr 1fr;gap:28px}}.pub-brand--footer[data-v-ec467a49]{margin-bottom:12px}.pub-footer__about[data-v-ec467a49]{font-size:14px;color:var(--text-secondary);max-width:280px;margin:0}.pub-footer h4[data-v-ec467a49]{font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:var(--fw-semibold);color:var(--text-tertiary);margin:0 0 12px}.pub-footer ul[data-v-ec467a49]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.pub-footer a[data-v-ec467a49]{color:var(--text-secondary);font-size:14px;text-decoration:none}.pub-footer a[data-v-ec467a49]:hover{color:var(--text)}.pub-footer__copy[data-v-ec467a49]{max-width:1200px;margin:32px auto 0;padding-top:24px;border-top:1px solid var(--border);font-size:12px;color:var(--text-tertiary);display:flex;align-items:center;flex-wrap:wrap;gap:12px}.pub-footer__spacer[data-v-ec467a49]{flex:1}.pub-footer__pwa[data-v-ec467a49]{display:inline-flex;align-items:center;gap:6px;margin-top:14px;padding:5px 9px;border-radius:var(--r-pill);background:var(--bg-subtle);border:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-secondary)}.pub-footer__pwa svg[data-v-ec467a49]{width:13px;height:13px}.loader[data-v-89bd4fa0]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:var(--text-muted)}.spinner[data-v-89bd4fa0]{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--brand);border-radius:50%;animation:spin-89bd4fa0 .7s linear infinite;margin-bottom:1rem}@keyframes spin-89bd4fa0{to{transform:rotate(360deg)}}.loader p[data-v-89bd4fa0]{font-size:.9rem}.gate-wrap[data-v-aab7d6db]{padding:var(--sp-4) var(--sp-4) 0}.gate[data-v-aab7d6db]{display:flex;gap:var(--sp-3);background:var(--brand-soft);border:1px solid var(--brand-ring);border-radius:var(--r-lg);padding:var(--sp-4)}.gate__icon[data-v-aab7d6db]{font-size:22px;flex-shrink:0}.gate__body[data-v-aab7d6db]{flex:1;min-width:0}.gate__body strong[data-v-aab7d6db]{color:var(--brand-soft-text)}.gate__body p[data-v-aab7d6db]{margin:var(--sp-1) 0 var(--sp-3);color:var(--text-secondary);font-size:var(--fs-sm)}.gate__ok[data-v-aab7d6db]{color:var(--success-soft-text)!important}.gate__form[data-v-aab7d6db]{display:flex;gap:var(--sp-2);flex-wrap:wrap}.gate__input[data-v-aab7d6db]{flex:1;min-width:180px;padding:10px var(--sp-3);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--bg-elevated);color:var(--text)}.gate__btn[data-v-aab7d6db]{background:var(--brand);color:var(--text-inverse);border:0;border-radius:var(--r-md);padding:10px 16px;font-weight:var(--fw-semibold);cursor:pointer;min-height:42px}.gate__btn[data-v-aab7d6db]:disabled{opacity:.5}.gate__err[data-v-aab7d6db]{color:var(--danger-soft-text)!important}.app-shell[data-v-700a766b]{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100vh;background:var(--bg)}@media(max-width:1023px){.app-shell[data-v-700a766b]{grid-template-columns:1fr}}@media(max-width:1023px){.app-shell.is-immersive .app-tabbar[data-v-700a766b],.app-shell.is-immersive .app-mtopbar[data-v-700a766b]{display:none}.app-shell.is-immersive .app-content[data-v-700a766b]{padding-bottom:0}}.app-sidebar[data-v-700a766b]{background:var(--bg-elevated);border-right:1px solid var(--border);position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:20px 14px 18px}@media(max-width:1023px){.app-sidebar[data-v-700a766b]{display:none}}.app-sidebar__brand[data-v-700a766b]{padding:0 8px 18px}.brand-mark[data-v-700a766b]{display:inline-flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-weight:var(--fw-bold)}.brand-mark__square[data-v-700a766b]{width:28px;height:28px;border-radius:var(--r-md);background:linear-gradient(135deg,var(--brand) 0%,var(--brand-active) 100%);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--fw-bold);font-size:14px;letter-spacing:-.5px}.brand-mark__text[data-v-700a766b]{font-size:20px;letter-spacing:-.3px}.app-sidebar__nav[data-v-700a766b]{display:flex;flex-direction:column;flex:1;min-height:0}.nav-section+.nav-section[data-v-700a766b]{margin-top:22px}.nav-section__label[data-v-700a766b]{font-size:11px;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);padding:0 12px;margin-bottom:6px}.nav-link[data-v-700a766b]{position:relative;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:var(--text-secondary);font-size:14px;font-weight:var(--fw-medium);text-decoration:none;min-height:40px;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.nav-link svg[data-v-700a766b]{width:18px;height:18px;flex-shrink:0}.nav-link[data-v-700a766b]:hover{background:var(--bg-subtle);color:var(--text)}.nav-link.is-active[data-v-700a766b]{background:var(--brand-soft);color:var(--brand-soft-text);font-weight:var(--fw-semibold)}.nav-link.is-active[data-v-700a766b]:before{content:"";position:absolute;left:-14px;top:8px;bottom:8px;width:3px;border-radius:2px;background:var(--brand)}.nav-link--switch[data-v-700a766b]{border:1px solid var(--border-strong);color:var(--text);font-weight:var(--fw-semibold)}.nav-link--switch[data-v-700a766b]:hover{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-soft-text)}.ai-mini[data-v-700a766b]{display:block;margin:auto 4px 0;padding:12px;border-radius:12px;background:var(--brand-soft);color:var(--brand-soft-text);text-decoration:none;transition:filter var(--dur) var(--ease)}.ai-mini[data-v-700a766b]:hover{filter:brightness(.97);color:var(--brand-soft-text)}.ai-mini__head[data-v-700a766b]{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:var(--fw-semibold)}.ai-mini__head svg[data-v-700a766b]{width:14px;height:14px}.ai-mini__sub[data-v-700a766b]{font-size:12px;margin-top:4px;opacity:.85}.ai-mini__bar[data-v-700a766b]{margin-top:8px;height:5px;border-radius:999px;background:color-mix(in srgb,currentColor 18%,transparent);overflow:hidden}.ai-mini__bar i[data-v-700a766b]{display:block;height:100%;border-radius:inherit;background:currentColor;transition:width var(--dur-slow) var(--ease-out)}.ai-mini+.app-sidebar__footer[data-v-700a766b]{margin-top:12px}.app-sidebar__footer[data-v-700a766b]{margin-top:auto;padding-top:12px;border-top:1px solid var(--border)}.sidebar-user[data-v-700a766b]{display:flex;align-items:center;gap:10px;padding:8px 4px}.sidebar-user__info[data-v-700a766b]{flex:1;min-width:0}.sidebar-user__name[data-v-700a766b]{font-weight:var(--fw-semibold);font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user__plan[data-v-700a766b]{font-size:11px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-main[data-v-700a766b]{min-width:0;display:flex;flex-direction:column;min-height:100vh}.app-topbar[data-v-700a766b]{height:64px;display:flex;align-items:center;gap:14px;padding:0 28px;background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30}@media(max-width:1023px){.app-topbar[data-v-700a766b]{display:none}}.app-topbar__spacer[data-v-700a766b]{flex:1}.topbar-search[data-v-700a766b]{position:relative;display:flex;align-items:center;gap:8px;max-width:480px;flex:1;background:var(--bg-subtle);border:1px solid transparent;border-radius:var(--r-md);min-height:38px;padding:0 14px 0 12px;color:var(--text-tertiary);cursor:pointer;text-align:left;font-family:inherit;font-size:14px;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.topbar-search[data-v-700a766b]:hover{border-color:var(--border);background:var(--bg-muted)}.topbar-search svg[data-v-700a766b]{width:16px;height:16px;flex-shrink:0}.topbar-search__placeholder[data-v-700a766b]{flex:1;color:var(--text-tertiary)}.topbar-search__kbd[data-v-700a766b]{background:var(--bg-elevated);border:1px solid var(--border);padding:2px 6px;border-radius:4px;font-size:11px;font-weight:var(--fw-medium);color:var(--text-tertiary);font-family:inherit}.app-mtopbar[data-v-700a766b]{display:none;padding:10px 16px 12px;min-height:56px;background:var(--bg);position:sticky;top:0;z-index:30;align-items:center;gap:12px}@media(max-width:1023px){.app-mtopbar[data-v-700a766b]{display:flex}}.app-mtopbar .mtopbar__spacer[data-v-700a766b]{flex:1}.mtopbar-avatar[data-v-700a766b]{text-decoration:none;color:inherit;display:inline-flex}.mtopbar-search[data-v-700a766b]{display:inline-flex;align-items:center;gap:6px;background:var(--bg-subtle);border:0;border-radius:var(--r-lg);min-height:36px;padding:0 10px;font-family:inherit;cursor:pointer;color:var(--text-tertiary);font-size:13px;flex-shrink:1;min-width:0;max-width:60vw}.mtopbar-search svg[data-v-700a766b]{width:16px;height:16px;flex-shrink:0}.mtopbar-search span[data-v-700a766b]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mtopbar-switch[data-v-700a766b]{display:inline-flex;align-items:center;gap:5px;background:var(--bg-subtle);border-radius:var(--r-pill);min-height:36px;padding:0 12px;flex-shrink:0;color:var(--text-secondary);font-size:13px;font-weight:var(--fw-medium);text-decoration:none;white-space:nowrap}.mtopbar-switch svg[data-v-700a766b]{width:15px;height:15px}.mtopbar-switch[data-v-700a766b]:hover{background:var(--bg-muted);color:var(--text)}.app-content[data-v-700a766b]{flex:1;min-width:0;width:100%}@media(max-width:1023px){.app-content[data-v-700a766b]{padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))}}.app-tabbar[data-v-700a766b]{display:none;position:fixed;left:0;right:0;bottom:0;padding:8px 12px calc(12px + env(safe-area-inset-bottom,0px));background:var(--bg-elevated);border-top:1px solid var(--border);gap:4px;z-index:40}@media(max-width:1023px){.app-tabbar[data-v-700a766b]{display:flex}}.tabbar-item[data-v-700a766b]{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;background:transparent;border:0;color:var(--text-tertiary);font-family:inherit;cursor:pointer;min-height:48px;padding:6px 4px}.tabbar-pill[data-v-700a766b]{width:44px;height:28px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:transparent;transition:background .28s cubic-bezier(.34,1.56,.64,1)}.tabbar-pill svg[data-v-700a766b]{width:20px;height:20px}.tabbar-label[data-v-700a766b]{font-size:10px;font-weight:var(--fw-medium)}.tabbar-item.is-active[data-v-700a766b]{color:var(--brand)}.tabbar-item.is-active .tabbar-pill[data-v-700a766b]{background:var(--brand-soft)}.tabbar-item.is-active .tabbar-label[data-v-700a766b]{font-weight:var(--fw-semibold)}@media(max-width:1023px){.icon-btn-bare[data-v-700a766b]{width:44px;height:44px}}.avatar[data-v-700a766b]{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-active) 100%);color:#fff;font-weight:var(--fw-semibold);border-radius:999px}.avatar--xs[data-v-700a766b]{width:32px;height:32px;font-size:13px}.avatar--sm[data-v-700a766b]{width:36px;height:36px;font-size:14px}.icon-btn-bare[data-v-700a766b]{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;color:var(--text-secondary);cursor:pointer;font-family:inherit;padding:0;width:36px;height:36px;border-radius:var(--r-md);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.icon-btn-bare[data-v-700a766b]:hover{background:var(--bg-subtle);color:var(--text)}.icon-btn-bare svg[data-v-700a766b]{width:18px;height:18px}.search-overlay[data-v-700a766b]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--bg);display:flex;flex-direction:column}.search-overlay__head[data-v-700a766b]{display:flex;align-items:center;gap:10px;padding:14px 18px;background:var(--bg-elevated);border-bottom:1px solid var(--border)}.search-overlay__head .search-icon[data-v-700a766b]{width:18px;height:18px;color:var(--text-tertiary);flex-shrink:0}.search-overlay__input[data-v-700a766b]{flex:1;border:0;background:transparent;padding:0;font-size:16px;font-family:inherit;color:var(--text);outline:none;min-width:0}.search-overlay__input[data-v-700a766b]::placeholder{color:var(--text-tertiary)}.search-overlay__cancel[data-v-700a766b]{background:transparent;border:0;color:var(--brand);font-weight:var(--fw-medium);font-size:14px;font-family:inherit;cursor:pointer;padding:4px 6px}.search-overlay__body[data-v-700a766b]{flex:1;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:22px}.search-section[data-v-700a766b]{display:flex;flex-direction:column;gap:10px}.section-label[data-v-700a766b]{font-size:11px;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);padding:0 4px}.card.search-list[data-v-700a766b]{padding:4px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg)}.search-row[data-v-700a766b]{display:flex;align-items:center;gap:12px;width:100%;padding:12px 10px;background:transparent;border:0;border-radius:var(--r-md);font-family:inherit;font-size:14px;color:var(--text);text-align:left;cursor:pointer;min-height:48px;transition:background var(--dur) var(--ease)}.search-row+.search-row[data-v-700a766b]{border-top:1px solid var(--border);border-radius:0}.search-row[data-v-700a766b]:hover{background:var(--bg-subtle)}.search-row.is-active[data-v-700a766b]{background:var(--brand-soft);color:var(--brand-soft-text)}.search-row svg[data-v-700a766b]{width:16px;height:16px;flex-shrink:0}.search-row__label[data-v-700a766b]{flex:1}.search-row__label[data-v-700a766b] mark{background:var(--warn-soft);color:var(--warn-soft-text);padding:0 2px;border-radius:3px}.search-unit-num[data-v-700a766b]{min-width:34px;height:28px;padding:0 6px;background:var(--bg-subtle);border-radius:7px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:12px;font-weight:var(--fw-semibold);color:var(--text-secondary);flex-shrink:0}.search-unit-subj[data-v-700a766b]{color:var(--text-tertiary);font-size:12px}.search-empty[data-v-700a766b]{padding:22px;text-align:center;color:var(--text-tertiary);font-size:14px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg)}.search-suggestions[data-v-700a766b]{display:flex;gap:6px;flex-wrap:wrap;padding-top:18px;border-top:1px solid var(--border)}.chip[data-v-700a766b]{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-pill);font-size:12px;font-weight:var(--fw-medium);background:var(--bg-subtle);color:var(--text-secondary);border:0;font-family:inherit;cursor:pointer}.chip svg[data-v-700a766b]{width:11px;height:11px}.chip--soft[data-v-700a766b]{background:var(--bg-subtle);color:var(--text-secondary)}.chip--brand-solid[data-v-700a766b]{background:var(--brand);color:#fff}.search-enter-active[data-v-700a766b],.search-leave-active[data-v-700a766b]{transition:opacity .18s var(--ease)}.search-enter-from[data-v-700a766b],.search-leave-to[data-v-700a766b]{opacity:0}.search-leave-active[data-v-700a766b],.search-leave-to[data-v-700a766b],.search-enter-from[data-v-700a766b]{pointer-events:none}.sch-ico[data-v-711823f0]{display:inline-flex;align-items:center;justify-content:center}.adm-shell[data-v-9c0b2b23]{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100vh;background:var(--bg)}@media(max-width:1023px){.adm-shell[data-v-9c0b2b23]{grid-template-columns:1fr}}.adm-sidebar[data-v-9c0b2b23]{background:#171922;border-right:1px solid #262838;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:16px 10px 14px}[data-theme=dark] .adm-sidebar[data-v-9c0b2b23]{background:#141519}@media(max-width:1023px){.adm-sidebar[data-v-9c0b2b23]{display:none}}.adm-sidebar__brand[data-v-9c0b2b23]{display:flex;align-items:center;gap:9px;padding:0 8px 14px}.adm-badge[data-v-9c0b2b23]{font-size:10px;font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;color:#8b8fa3;border:1px solid #33364a;border-radius:6px;padding:2px 7px}.brand-mark[data-v-9c0b2b23]{display:inline-flex;align-items:center;gap:10px;color:#e8e9f0;text-decoration:none;font-weight:var(--fw-bold)}.adm-drawer .brand-mark[data-v-9c0b2b23]{color:var(--text)}.brand-mark__square[data-v-9c0b2b23]{width:28px;height:28px;border-radius:var(--r-md);background:linear-gradient(135deg,var(--brand) 0%,var(--brand-active) 100%);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--fw-bold);font-size:14px;letter-spacing:-.5px}.brand-mark__text[data-v-9c0b2b23]{font-size:16px;letter-spacing:-.3px}.adm-sidebar__nav[data-v-9c0b2b23],.adm-drawer__nav[data-v-9c0b2b23]{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto}.nav-section+.nav-section[data-v-9c0b2b23]{margin-top:16px}.nav-section__label[data-v-9c0b2b23]{font-size:11px;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);padding:0 12px;margin-bottom:6px}.adm-sidebar .nav-section__label[data-v-9c0b2b23]{color:#8b8fa3}.nav-link[data-v-9c0b2b23]{display:flex;align-items:center;gap:10px;padding:8px 11px;border-radius:8px;color:var(--text-secondary);font-size:13px;font-weight:var(--fw-medium);text-decoration:none;min-height:38px;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.nav-link[data-v-9c0b2b23]:hover{background:var(--bg-subtle);color:var(--text)}.nav-link.is-active[data-v-9c0b2b23]{background:var(--brand-soft);color:var(--brand-soft-text);font-weight:var(--fw-semibold)}.adm-sidebar .nav-link[data-v-9c0b2b23]{color:#b9bcc9}.adm-sidebar .nav-link[data-v-9c0b2b23]:hover{background:#ffffff0f;color:#e8e9f0}.adm-sidebar .nav-link.is-active[data-v-9c0b2b23]{background:#6b74ff2e;color:#aeb4ff}.adm-count[data-v-9c0b2b23]{margin-left:auto;min-width:20px;height:20px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#e5484d;color:#fff;font-size:11px;font-weight:var(--fw-bold)}.adm-user[data-v-9c0b2b23]{display:flex;align-items:center;gap:10px;padding:10px 12px 4px}.adm-user__info[data-v-9c0b2b23]{min-width:0}.adm-user__name[data-v-9c0b2b23]{font-size:13px;font-weight:var(--fw-semibold);color:#e8e9f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adm-user__role[data-v-9c0b2b23]{font-size:11px;color:#8b8fa3}.adm-sidebar__footer[data-v-9c0b2b23],.adm-drawer .adm-back[data-v-9c0b2b23]{margin-top:auto;padding-top:12px}.adm-back[data-v-9c0b2b23]{display:inline-flex;align-items:center;gap:8px;background:transparent;border:0;padding:10px 12px;border-radius:10px;color:var(--text-secondary);font-family:inherit;font-size:14px;font-weight:var(--fw-medium);cursor:pointer;width:100%;text-align:left}.adm-back[data-v-9c0b2b23]:hover{background:var(--bg-subtle);color:var(--text)}.adm-sidebar .adm-back[data-v-9c0b2b23]{color:#b9bcc9}.adm-sidebar .adm-back[data-v-9c0b2b23]:hover{background:#ffffff0f;color:#e8e9f0}.adm-back svg[data-v-9c0b2b23]{width:16px;height:16px}.adm-main[data-v-9c0b2b23]{min-width:0;display:flex;flex-direction:column;min-height:100vh}.adm-topbar[data-v-9c0b2b23]{height:56px;display:flex;align-items:center;gap:12px;padding:0 24px;background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30}@media(max-width:1023px){.adm-topbar[data-v-9c0b2b23]{padding:0 16px}}.adm-topbar__title[data-v-9c0b2b23]{font-size:14px;font-weight:var(--fw-semibold);white-space:nowrap}.adm-topbar__extra[data-v-9c0b2b23]{display:inline-flex;align-items:center}.adm-topbar__spacer[data-v-9c0b2b23]{flex:1}.adm-topbar__actions[data-v-9c0b2b23]{display:inline-flex;align-items:center;gap:10px}.adm-burger[data-v-9c0b2b23]{display:none}@media(max-width:1023px){.adm-burger[data-v-9c0b2b23]{display:inline-flex}.adm-topbar[data-v-9c0b2b23]{gap:8px}.adm-topbar__title[data-v-9c0b2b23]{min-width:40px;flex-shrink:1;overflow:hidden;text-overflow:ellipsis}.adm-topbar__extra[data-v-9c0b2b23]{display:none}.adm-topbar__actions[data-v-9c0b2b23]{min-width:0;overflow-x:auto}.adm-topbar>.icon-btn-bare[data-v-9c0b2b23],.adm-topbar>.avatar[data-v-9c0b2b23]{flex-shrink:0}}.adm-content[data-v-9c0b2b23]{flex:1;min-width:0;padding:28px 32px 40px}@media(max-width:1023px){.adm-content[data-v-9c0b2b23]{padding:16px 16px 24px}}.adm-drawer-bg[data-v-9c0b2b23]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:100}.adm-drawer[data-v-9c0b2b23]{position:fixed;top:0;left:0;bottom:0;width:280px;background:var(--bg-elevated);border-right:1px solid var(--border);padding:16px 14px;display:flex;flex-direction:column;z-index:101;box-shadow:var(--shadow-lg)}.adm-drawer__top[data-v-9c0b2b23]{display:flex;align-items:center;justify-content:space-between;padding:0 4px 14px;border-bottom:1px solid var(--border);margin-bottom:12px}.avatar[data-v-9c0b2b23]{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-active) 100%);color:#fff;font-weight:var(--fw-semibold);border-radius:999px}.avatar--xs[data-v-9c0b2b23]{width:32px;height:32px;font-size:13px}.icon-btn-bare[data-v-9c0b2b23]{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;color:var(--text-secondary);cursor:pointer;font-family:inherit;padding:0;width:36px;height:36px;border-radius:var(--r-md)}.icon-btn-bare[data-v-9c0b2b23]:hover{background:var(--bg-subtle);color:var(--text)}.icon-btn-bare svg[data-v-9c0b2b23]{width:18px;height:18px}@media(max-width:1023px){.icon-btn-bare[data-v-9c0b2b23]{width:44px;height:44px}}.drawer-enter-active[data-v-9c0b2b23],.drawer-leave-active[data-v-9c0b2b23]{transition:opacity .18s var(--ease)}.drawer-enter-from[data-v-9c0b2b23],.drawer-leave-to[data-v-9c0b2b23]{opacity:0}.slide-drawer-enter-active[data-v-9c0b2b23],.slide-drawer-leave-active[data-v-9c0b2b23]{transition:transform .22s var(--ease-out)}.slide-drawer-enter-from[data-v-9c0b2b23],.slide-drawer-leave-to[data-v-9c0b2b23]{transform:translate(-100%)}.cab[data-v-01739402]{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh;background:var(--bg)}@media(max-width:1023px){.cab[data-v-01739402]{grid-template-columns:1fr}}.cab__sidebar[data-v-01739402]{background:var(--bg-elevated);border-right:1px solid var(--border);position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:var(--sp-5) var(--sp-4)}@media(max-width:1023px){.cab__sidebar[data-v-01739402]{display:none}}.cab__brand[data-v-01739402]{display:inline-flex;align-items:center;gap:var(--sp-2);color:var(--text);text-decoration:none;font-weight:var(--fw-bold)}.cab__brandmark[data-v-01739402]{width:28px;height:28px;border-radius:var(--r-md);background:linear-gradient(135deg,var(--brand),var(--brand-active));color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:var(--fw-bold)}.cab__brandtext[data-v-01739402]{font-size:var(--fs-lg)}.cab__nav[data-v-01739402]{display:flex;flex-direction:column;gap:2px;flex:1;margin-top:var(--sp-4)}.cab__section[data-v-01739402]{font-size:10px;font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);padding:0 12px;margin:2px 0 6px}.cab__linkicon[data-v-01739402]{flex-shrink:0;opacity:.75}.cab__link.is-active .cab__linkicon[data-v-01739402]{opacity:1}.cab__link[data-v-01739402]{padding:10px 12px;border-radius:var(--r-md);color:var(--text-secondary);text-decoration:none;font-weight:var(--fw-medium);font-size:var(--fs-sm);min-height:40px;display:flex;align-items:center;gap:10px}.cab__link[data-v-01739402]:hover{background:var(--bg-subtle);color:var(--text)}.cab__link.is-active[data-v-01739402]{background:var(--brand-soft);color:var(--brand-soft-text);font-weight:var(--fw-semibold)}.cab__switch[data-v-01739402]{margin-top:var(--sp-3);border:1px solid var(--border-strong);color:var(--text);font-weight:var(--fw-semibold);justify-content:center;gap:6px}.cab__switch[data-v-01739402]:hover{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-soft-text)}.cab__footer[data-v-01739402]{display:flex;align-items:center;gap:var(--sp-2);border-top:1px solid var(--border);padding-top:var(--sp-3);margin-top:auto}.cab__avatar[data-v-01739402]{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--brand-active));color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:var(--fw-semibold);font-size:var(--fs-sm)}.cab__user[data-v-01739402]{flex:1;min-width:0}.cab__username[data-v-01739402]{font-size:var(--fs-sm);font-weight:var(--fw-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cab__userrole[data-v-01739402]{font-size:var(--fs-xs);color:var(--text-tertiary)}.cab__icon[data-v-01739402]{background:transparent;border:0;color:var(--text-secondary);cursor:pointer;width:36px;height:36px;border-radius:var(--r-md);font-size:16px}.cab__icon[data-v-01739402]:hover{background:var(--bg-subtle)}.cab__main[data-v-01739402]{min-width:0;display:flex;flex-direction:column;min-height:100vh}.cab__top[data-v-01739402]{display:flex;align-items:center;gap:var(--sp-3);padding:14px var(--sp-6);background:var(--bg-elevated);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30;min-height:64px}@media(max-width:1023px){.cab__top[data-v-01739402]{display:none}}.cab__title[data-v-01739402]{font-size:20px;font-weight:var(--fw-bold);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cab__back[data-v-01739402]{font-size:var(--fs-sm);color:var(--text-secondary);text-decoration:none;white-space:nowrap}.cab__back[data-v-01739402]:hover{color:var(--text)}.cab__top-spacer[data-v-01739402]{flex:1}.cab__top-actions[data-v-01739402]{display:inline-flex;align-items:center;gap:var(--sp-2);min-width:0}.cab__section--gap[data-v-01739402]{margin-top:var(--sp-4)}.cab__qbadge[data-v-01739402]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--r-pill);background:var(--brand-soft);color:var(--brand-soft-text);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-decoration:none;white-space:nowrap}.cab__qbadge[data-v-01739402]:hover{filter:brightness(.97)}.cab__seats[data-v-01739402]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--r-pill);background:var(--brand-soft);color:var(--brand-soft-text);font-size:var(--fs-xs);font-weight:var(--fw-semibold);white-space:nowrap}.cab__mtop[data-v-01739402]{display:none;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30}@media(max-width:1023px){.cab__mtop[data-v-01739402]{display:flex}}.cab__mtop-title[data-v-01739402]{font-size:var(--fs-md);font-weight:var(--fw-bold);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cab__mtop-actions[data-v-01739402]{display:inline-flex;align-items:center;gap:var(--sp-1);flex-shrink:0}.cab__mswitch[data-v-01739402]{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border-strong);border-radius:var(--r-pill);padding:6px 12px;min-height:36px;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text);text-decoration:none;white-space:nowrap}.cab__mswitch[data-v-01739402]:hover{background:var(--bg-subtle)}.cab__content[data-v-01739402]{flex:1;min-width:0;width:100%;max-width:var(--content-width);margin:0 auto;padding:var(--sp-6)}@media(max-width:1023px){.cab__content[data-v-01739402]{padding:var(--sp-4);padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}}.cab__tabbar[data-v-01739402]{display:none;position:fixed;left:0;right:0;bottom:0;background:var(--bg-elevated);border-top:1px solid var(--border);padding:var(--sp-2) var(--sp-2) calc(var(--sp-2) + env(safe-area-inset-bottom,0px));gap:2px;z-index:40;overflow-x:auto}@media(max-width:1023px){.cab__tabbar[data-v-01739402]{display:flex}}.cab__tab[data-v-01739402]{flex:1;min-width:max-content;text-align:center;padding:10px 12px;border-radius:var(--r-md);color:var(--text-tertiary);text-decoration:none;font-size:var(--fs-xs);font-weight:var(--fw-medium);white-space:nowrap}.cab__tab.is-active[data-v-01739402]{color:var(--brand);background:var(--brand-soft);font-weight:var(--fw-semibold)}@media print{.cab[data-v-01739402]{display:block;background:#fff}.cab__sidebar[data-v-01739402],.cab__mtop[data-v-01739402],.cab__tabbar[data-v-01739402]{display:none!important}.cab__content[data-v-01739402]{max-width:none;padding:0}}.subj-tile[data-v-409d9266]{display:inline-flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.demo-card[data-v-205e79ac]{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-205e79ac]{padding:14px}}.demo-tabs[data-v-205e79ac]{align-self:flex-start;max-width:100%}.demo-tabs button[data-v-205e79ac]{display:inline-flex;align-items:center;gap:7px}.demo-tab-icon[data-v-205e79ac]{width:14px;height:14px}.demo-body[data-v-205e79ac]{min-height:312px}@media(max-width:768px){.demo-body[data-v-205e79ac]{min-height:296px}}.demo-col[data-v-205e79ac]{display:flex;flex-direction:column;height:100%}.py-editor[data-v-205e79ac]{background:#0d1220;border-radius:12px;padding:14px 0;font-family:var(--font-mono);font-size:13px;line-height:1.7}.py-head[data-v-205e79ac]{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-205e79ac]{width:11px;height:11px}.py-code[data-v-205e79ac]{padding:10px 16px 0;color:#e6e9f0;overflow-x:auto;white-space:pre}.py-ln[data-v-205e79ac]{color:#6b7385;margin-right:14px;-webkit-user-select:none;user-select:none}.py-kw[data-v-205e79ac]{color:#a78bfa}.py-str[data-v-205e79ac]{color:#4ade80}.py-num[data-v-205e79ac]{color:#fbbf24}.py-fn[data-v-205e79ac]{color:#38bdf8}.py-out[data-v-205e79ac]{margin:12px 16px 0;border-top:1px solid #1c2336;padding-top:10px;min-height:74px;color:#e6e9f0}.py-dim[data-v-205e79ac]{color:#6b7385}.py-line[data-v-205e79ac]{color:#9fe8b8;animation:fadeUp-205e79ac .24s var(--ease-out) both}.py-cursor[data-v-205e79ac]{animation:blink-205e79ac 1s step-end infinite}.py-actions[data-v-205e79ac]{display:flex;align-items:center;gap:10px;margin-top:12px}.demo-btn[data-v-205e79ac]{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:#fff;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-205e79ac]:hover{background:var(--brand-hover)}.demo-btn[data-v-205e79ac]:active{transform:scale(.97)}.demo-btn svg[data-v-205e79ac]{width:15px;height:15px}.viz-panel[data-v-205e79ac]{background:var(--bg-subtle);border:1px solid var(--border);border-radius:12px;position:relative;overflow:hidden}.viz-svg[data-v-205e79ac]{width:100%;display:block}.viz-pause[data-v-205e79ac]{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-205e79ac]{width:15px;height:15px}.viz-chip[data-v-205e79ac]{position:absolute;left:10px;top:10px;background:var(--bg-elevated);border:1px solid var(--border)}.viz-chip-val[data-v-205e79ac]{font-weight:600;color:var(--text)}.viz-controls[data-v-205e79ac]{margin-top:12px}.viz-controls--two[data-v-205e79ac]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.viz-label[data-v-205e79ac]{display:flex;justify-content:space-between;font-size:var(--fs-sm);color:var(--text-secondary);margin-bottom:2px}.viz-val[data-v-205e79ac]{color:var(--text)}.viz-note[data-v-205e79ac]{font-size:var(--fs-xs);color:var(--text-tertiary);margin-top:4px}.demo-note[data-v-205e79ac]{font-size:var(--fs-xs);color:var(--text-tertiary);display:flex;align-items:center;gap:6px}.chip[data-v-205e79ac]{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-205e79ac]{background:var(--success-soft);color:var(--success-soft-text);animation:fadeUp-205e79ac .24s var(--ease-out) both}input[type=range].f-range[data-v-205e79ac]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:28px;background:transparent;cursor:pointer;margin:0;padding:0;border:0}input[type=range].f-range[data-v-205e79ac]::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:var(--bg-muted)}input[type=range].f-range[data-v-205e79ac]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;margin-top:-6px;border-radius:50%;background:var(--brand);border:2.5px solid var(--bg-elevated);box-shadow:var(--shadow-sm)}input[type=range].f-range[data-v-205e79ac]::-moz-range-track{height:6px;border-radius:999px;background:var(--bg-muted)}input[type=range].f-range[data-v-205e79ac]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--brand);border:2.5px solid var(--bg-elevated)}@keyframes fadeUp-205e79ac{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes blink-205e79ac{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-05a05707]{--concept-ink: #111827;--concept-muted: #5c6473;--concept-paper: #f7f3ea;--concept-surface: #fffdf8;--concept-line: #ded9cf;--concept-navy: #101a38;--concept-navy-2: #17244a;--concept-blue: #315ee8;--concept-blue-dark: #2448ba;--concept-lime: #caff63;--concept-lilac: #ddd7ff;--concept-progress-bg: #19264d;--concept-progress-panel: #f7f8fb;color:var(--concept-ink);background:var(--concept-paper);overflow:hidden}[data-theme=dark] .concept-page{--concept-ink: #f4f2ec;--concept-muted: #aeb5c3;--concept-paper: #0b1020;--concept-surface: #141b2e;--concept-line: #2c3448;--concept-blue: #7895ff;--concept-blue-dark: #607fe8;--concept-lilac: #302c58;--concept-progress-bg: #111936;--concept-progress-panel: #0a0d14}.concept-page h1[data-v-05a05707],.concept-page h2[data-v-05a05707],.concept-page h3[data-v-05a05707],.concept-page p[data-v-05a05707]{margin:0}.concept-page a[data-v-05a05707]{text-decoration:none}.concept-page svg[data-v-05a05707]{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.concept-hero[data-v-05a05707],.concept-direction[data-v-05a05707],.concept-learning[data-v-05a05707],.concept-courses[data-v-05a05707],.concept-roles[data-v-05a05707]{width:min(1280px,calc(100% - 64px));margin:0 auto}.concept-hero[data-v-05a05707]{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center;min-height:710px;padding:72px 0 42px}.concept-hero__glow[data-v-05a05707]{position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}.concept-hero__glow--one[data-v-05a05707]{width:370px;height:370px;left:-230px;top:-90px;background:color-mix(in srgb,var(--concept-lilac) 55%,transparent)}.concept-hero__glow--two[data-v-05a05707]{width:180px;height:180px;right:-90px;bottom:110px;background:color-mix(in srgb,var(--concept-lime) 35%,transparent)}.concept-hero__copy[data-v-05a05707],.concept-hero__visual[data-v-05a05707]{position:relative;z-index:1}.concept-eyebrow[data-v-05a05707],.concept-kicker[data-v-05a05707]{display:inline-flex;align-items:center;gap:9px;color:var(--concept-blue);font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.concept-eyebrow__dot[data-v-05a05707]{width:8px;height:8px;border-radius:50%;background:var(--concept-lime);box-shadow:0 0 0 5px color-mix(in srgb,var(--concept-lime) 24%,transparent)}.concept-hero h1[data-v-05a05707]{max-width:620px;margin-top:22px;font-size:clamp(48px,5.2vw,76px);line-height:.98;letter-spacing:-.065em;font-weight:700}.concept-hero h1 em[data-v-05a05707],.concept-method h2 em[data-v-05a05707],.concept-final h2 em[data-v-05a05707]{color:var(--concept-blue);font-family:Georgia,Times New Roman,serif;font-weight:400;letter-spacing:-.045em}.concept-hero__lede[data-v-05a05707]{max-width:560px;margin-top:26px!important;color:var(--concept-muted);font-size:18px;line-height:1.65;text-wrap:pretty}.concept-actions[data-v-05a05707]{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:30px}.concept-button[data-v-05a05707]{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:0 24px;border:1px solid transparent;border-radius:999px;font-size:15px;font-weight:700;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.concept-button[data-v-05a05707]:hover{transform:translateY(-2px)}.concept-button svg[data-v-05a05707]{width:19px;height:19px;transition:transform .18s ease}.concept-button:hover svg[data-v-05a05707]{transform:translate(3px)}.concept-button--primary[data-v-05a05707]{color:#fff;background:var(--concept-blue);box-shadow:0 14px 30px color-mix(in srgb,var(--concept-blue) 24%,transparent)}.concept-button--primary[data-v-05a05707]:hover{color:#fff;background:var(--concept-blue-dark)}.concept-button--ghost[data-v-05a05707]{color:var(--concept-ink);border-color:var(--concept-line);background:color-mix(in srgb,var(--concept-surface) 58%,transparent)}.concept-button--ghost[data-v-05a05707]:hover{color:var(--concept-ink);background:var(--concept-surface)}.concept-hero__proof[data-v-05a05707]{display:flex;gap:18px;flex-wrap:wrap;margin-top:20px;color:var(--concept-muted);font-size:12px}.concept-hero__proof span[data-v-05a05707]{display:inline-flex;align-items:center;gap:6px}.concept-hero__proof svg[data-v-05a05707]{width:14px;height:14px;color:#34966a;stroke-width:2.4}.concept-photo-wrap[data-v-05a05707]{position:relative;aspect-ratio:1.03;border-radius:34px 34px 128px;overflow:hidden;background:var(--concept-navy);box-shadow:0 28px 70px #191f3638}.concept-photo[data-v-05a05707]{display:block;width:100%;height:100%;object-fit:cover;object-position:57% center}.concept-photo__shade[data-v-05a05707]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 55%,rgba(9,16,36,.66))}.concept-float[data-v-05a05707]{position:absolute;display:flex;align-items:center;gap:11px;min-width:184px;padding:12px 14px;border:1px solid rgba(255,255,255,.72);border-radius:16px;color:#16203b;background:#ffffffe8;box-shadow:0 14px 35px #0b142a29;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.concept-float small[data-v-05a05707],.concept-float strong[data-v-05a05707]{display:block}.concept-float small[data-v-05a05707]{color:#717889;font-size:10px}.concept-float strong[data-v-05a05707]{margin-top:1px;font-size:13px}.concept-float--today[data-v-05a05707]{top:24px;right:24px}.concept-float--progress[data-v-05a05707]{left:20px;bottom:76px}.concept-float__icon[data-v-05a05707]{display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;border-radius:11px}.concept-float__icon--lime[data-v-05a05707]{color:#17331f;background:var(--concept-lime)}.concept-float__icon svg[data-v-05a05707]{width:16px;height:16px}.concept-progress-ring[data-v-05a05707]{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:conic-gradient(var(--concept-blue) 0 82%,#e9eaf0 82% 100%);position:relative}.concept-progress-ring[data-v-05a05707]:before{content:"";position:absolute;width:33px;height:33px;border-radius:50%;background:#fff}.concept-progress-ring span[data-v-05a05707]{position:relative;z-index:1;font-size:9px;font-weight:800}.concept-photo__caption[data-v-05a05707]{position:absolute;left:28px;right:32px;bottom:24px;display:flex;align-items:center;gap:9px;color:#ffffffe6;font-size:11px}.concept-photo__pulse[data-v-05a05707]{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:var(--concept-lime);box-shadow:0 0 0 5px #caff6329}.concept-hero__stats[data-v-05a05707]{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--concept-line);border-bottom:1px solid var(--concept-line)}.concept-hero__stats div[data-v-05a05707]{display:flex;align-items:baseline;justify-content:center;gap:10px;padding:19px 24px;border-right:1px solid var(--concept-line)}.concept-hero__stats div[data-v-05a05707]:last-child{border-right:0}.concept-hero__stats strong[data-v-05a05707]{font-size:23px;letter-spacing:-.04em}.concept-hero__stats span[data-v-05a05707]{color:var(--concept-muted);font-size:12px}.concept-direction[data-v-05a05707]{padding:118px 0 130px}.concept-section-head--split[data-v-05a05707]{display:grid;grid-template-columns:1fr .72fr;gap:48px;align-items:end}.concept-section-head h2[data-v-05a05707]{margin-top:10px;font-size:clamp(36px,4vw,54px);line-height:1.05;letter-spacing:-.055em}.concept-section-head>p[data-v-05a05707],.concept-section-head--split>p[data-v-05a05707]{max-width:510px;color:var(--concept-muted);font-size:16px;line-height:1.65}.concept-direction__grid[data-v-05a05707]{display:grid;grid-template-columns:repeat(4,1fr);margin-top:44px;border:1px solid var(--concept-line);border-radius:24px;overflow:hidden}.concept-direction-card[data-v-05a05707]{position:relative;display:flex;flex-direction:column;min-height:286px;padding:28px;color:var(--concept-ink);background:var(--concept-surface);border-right:1px solid var(--concept-line);transition:color .22s ease,background .22s ease}.concept-direction-card[data-v-05a05707]:last-child{border-right:0}.concept-direction-card[data-v-05a05707]:hover{color:#fff;background:var(--concept-blue)}.concept-direction-card--ege[data-v-05a05707]:hover{color:#17213d;background:var(--concept-lime)}.concept-direction-card--school[data-v-05a05707]:hover{background:#ef8f5a}.concept-direction-card--it[data-v-05a05707]:hover{background:#8d7ee8}.concept-direction-card__num[data-v-05a05707]{color:var(--concept-muted);font-family:var(--font-mono);font-size:11px}.concept-direction-card:hover .concept-direction-card__num[data-v-05a05707],.concept-direction-card:hover .concept-direction-card__note[data-v-05a05707]{color:currentColor;opacity:.74}.concept-direction-card__title[data-v-05a05707]{max-width:220px;margin-top:54px;font-size:24px;font-weight:700;line-height:1.12;letter-spacing:-.04em}.concept-direction-card__note[data-v-05a05707]{margin-top:9px;color:var(--concept-muted);font-size:12px}.concept-direction-card__arrow[data-v-05a05707]{position:absolute;right:26px;bottom:25px;display:grid;place-items:center;width:42px;height:42px;border:1px solid currentColor;border-radius:50%}.concept-direction-card__arrow svg[data-v-05a05707]{width:18px;height:18px}.concept-live[data-v-05a05707]{padding:120px 0 126px;border-top:1px solid var(--concept-line);background:radial-gradient(circle at 9% 18%,color-mix(in srgb,var(--concept-lime) 24%,transparent) 0 90px,transparent 91px),radial-gradient(circle at 92% 84%,color-mix(in srgb,var(--concept-lilac) 55%,transparent) 0 150px,transparent 151px),var(--concept-surface)}.concept-live__inner[data-v-05a05707]{width:min(1180px,calc(100% - 64px));margin:0 auto}.concept-live__stage[data-v-05a05707]{margin-top:46px;padding:16px;border:1px solid var(--concept-line);border-radius:30px;background:color-mix(in srgb,var(--concept-paper) 88%,transparent);box-shadow:0 30px 80px #191f361c}.concept-live__stage-bar[data-v-05a05707]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:2px 10px 14px;color:var(--concept-muted);font-size:10px}.concept-live__stage-bar span[data-v-05a05707]{display:inline-flex;align-items:center;gap:7px}.concept-live__stage-bar span[data-v-05a05707]:first-child{color:var(--concept-ink);font-weight:700}.concept-live__stage-bar i[data-v-05a05707]{width:7px;height:7px;border-radius:50%;background:#34a36f;box-shadow:0 0 0 5px #34a36f1f}.concept-live__demo[data-v-05a05707] .demo-card{min-height:500px;padding:26px;border-radius:20px;box-shadow:none}.concept-live__demo[data-v-05a05707] .demo-body{min-height:390px}.concept-live__demo[data-v-05a05707] .py-editor{min-height:310px;padding-top:24px;font-size:15px}.concept-live__demo[data-v-05a05707] .py-head{padding-bottom:18px}.concept-live__demo[data-v-05a05707] .py-code{padding-top:28px}.concept-live__demo[data-v-05a05707] .py-out{min-height:102px;margin-top:25px;padding-top:18px}.concept-live__demo[data-v-05a05707] .viz-panel{max-width:720px;width:100%;margin:0 auto}.concept-live__demo[data-v-05a05707] .viz-svg{max-height:360px}.concept-live__features[data-v-05a05707]{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:26px;border:1px solid var(--concept-line);border-radius:22px;overflow:hidden;background:var(--concept-line)}.concept-live__features article[data-v-05a05707]{min-height:184px;padding:25px;background:var(--concept-surface)}.concept-live__features article>span[data-v-05a05707]{color:var(--concept-blue);font-family:var(--font-mono);font-size:10px}.concept-live__features h3[data-v-05a05707]{margin-top:32px;font-size:17px;letter-spacing:-.025em}.concept-live__features p[data-v-05a05707]{margin-top:8px;color:var(--concept-muted);font-size:12px;line-height:1.55}.concept-method[data-v-05a05707]{display:grid;grid-template-columns:.68fr 1.32fr;gap:70px;align-items:center;padding:118px max(32px,calc((100vw - 1280px)/2));color:#f5f7ff;background:var(--concept-navy)}.concept-kicker--light[data-v-05a05707]{color:var(--concept-lime)}.concept-method h2[data-v-05a05707]{margin-top:16px;font-size:clamp(40px,4.4vw,62px);line-height:1.02;letter-spacing:-.06em}.concept-method h2 em[data-v-05a05707]{color:var(--concept-lime)}.concept-method__intro>p[data-v-05a05707]{margin-top:25px;color:#aeb7d0;font-size:16px;line-height:1.7}.concept-text-link[data-v-05a05707]{display:inline-flex;align-items:center;gap:9px;margin-top:24px;color:var(--concept-blue);font-size:13px;font-weight:700}.concept-text-link[data-v-05a05707]:hover{color:var(--concept-blue-dark)}.concept-text-link svg[data-v-05a05707]{width:17px;height:17px;transition:transform .18s ease}.concept-text-link:hover svg[data-v-05a05707]{transform:translate(3px)}.concept-text-link--light[data-v-05a05707]{color:var(--concept-lime)}.concept-text-link--light[data-v-05a05707]:hover{color:#fff}.concept-lesson[data-v-05a05707]{border:1px solid rgba(255,255,255,.12);border-radius:24px;overflow:hidden;background:#f8f6f0;box-shadow:0 36px 90px #0207196b;color:#141b30}.concept-lesson__topbar[data-v-05a05707],.concept-lesson__footer[data-v-05a05707]{display:flex;align-items:center;justify-content:space-between;padding:13px 19px;color:#697184;background:#fff;font-size:10px}.concept-lesson__topbar[data-v-05a05707]{border-bottom:1px solid #e4e1d9}.concept-lesson__counter[data-v-05a05707]{font-family:var(--font-mono)}.concept-lesson__body[data-v-05a05707]{display:grid;grid-template-columns:1.05fr .95fr;min-height:430px}.concept-lesson__copy[data-v-05a05707]{padding:42px 36px;border-right:1px solid #dedbd3}.concept-lesson__label[data-v-05a05707]{color:#5963be;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.concept-lesson h3[data-v-05a05707]{margin-top:11px;font-size:30px;line-height:1.1;letter-spacing:-.045em}.concept-lesson__copy>p[data-v-05a05707]{margin-top:10px;color:#697184;font-size:12px}.concept-bits[data-v-05a05707]{display:flex;gap:8px;margin-top:34px}.concept-bits>span[data-v-05a05707]{display:grid;place-items:center;width:54px;height:65px;border:1px solid #d8d5cd;border-radius:13px;background:#fff;color:#9b9eaa;font-family:var(--font-mono);font-size:20px;font-weight:700}.concept-bits>span.is-on[data-v-05a05707]{color:#fff;border-color:var(--concept-blue);background:var(--concept-blue)}.concept-bits small[data-v-05a05707]{display:block;margin-top:-10px;font-size:8px;opacity:.68}.concept-equation[data-v-05a05707]{margin-top:18px;color:#697184;font-family:var(--font-mono);font-size:13px}.concept-equation span[data-v-05a05707]{color:var(--concept-blue)}.concept-equation strong[data-v-05a05707]{color:#141b30}.concept-lesson__practice[data-v-05a05707]{display:flex;flex-direction:column;padding:24px;background:#efede6}.concept-help-levels[data-v-05a05707]{display:flex;align-items:center;justify-content:space-between;color:#7b8190;font-size:10px}.concept-help-levels strong[data-v-05a05707]{display:flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;color:#2d5d9a;background:#ddeafe;font-size:9px}.concept-help-levels i[data-v-05a05707]{width:6px;height:6px;border-radius:50%;background:#3288da}.concept-task[data-v-05a05707]{margin:auto 0;padding:22px;border:1px solid #dedbd3;border-radius:17px;background:#fff;box-shadow:0 10px 30px #111a380f}.concept-task__index[data-v-05a05707]{color:#8a8f9c;font-size:9px;font-weight:700;text-transform:uppercase}.concept-task>p[data-v-05a05707]{margin-top:9px;font-size:14px;font-weight:600;line-height:1.45}.concept-task__answer[data-v-05a05707]{display:flex;gap:8px;margin-top:17px}.concept-task__answer>span[data-v-05a05707]{flex:1;padding:11px 13px;border:1px solid #d9d6ce;border-radius:10px;font-family:var(--font-mono);font-size:12px}.concept-task__answer>i[data-v-05a05707]{display:grid;place-items:center;width:40px;border-radius:10px;color:#18331e;background:var(--concept-lime)}.concept-task__answer svg[data-v-05a05707]{width:16px;height:16px;stroke-width:2.5}.concept-task__success[data-v-05a05707]{display:flex;justify-content:space-between;margin-top:10px;color:#2f875c;font-size:9px;font-weight:700}.concept-lesson__footer[data-v-05a05707]{justify-content:center;gap:34px;border-top:1px solid #e4e1d9}.concept-lesson__footer span[data-v-05a05707]{display:inline-flex;align-items:center;gap:6px}.concept-lesson__footer i[data-v-05a05707]{width:6px;height:6px;border-radius:50%;background:#d6d8df}.concept-lesson__footer .is-current[data-v-05a05707]{color:#263c98;font-weight:700}.concept-lesson__footer .is-current i[data-v-05a05707]{background:var(--concept-blue)}.concept-learning[data-v-05a05707]{padding:126px 0}.concept-section-head--center[data-v-05a05707]{text-align:center}.concept-section-head--center>p[data-v-05a05707]{margin:16px auto 0}.concept-learning__grid[data-v-05a05707]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:48px}.concept-learning-card[data-v-05a05707]{display:flex;flex-direction:column;min-height:310px;padding:24px;border:1px solid var(--concept-line);border-radius:22px;background:var(--concept-surface)}.concept-learning-card__head[data-v-05a05707]{display:flex;align-items:baseline;gap:12px}.concept-learning-card__head>span[data-v-05a05707]{color:var(--concept-blue);font-family:var(--font-mono);font-size:10px;font-weight:800}.concept-learning-card h3[data-v-05a05707]{font-size:20px;letter-spacing:-.035em}.concept-learning-card>p[data-v-05a05707]{margin-top:12px;color:var(--concept-muted);font-size:13px;line-height:1.6}.concept-learning-panel[data-v-05a05707]{margin-top:auto;padding:13px;border:1px solid var(--concept-line);border-radius:14px;background:color-mix(in srgb,var(--concept-paper) 78%,var(--concept-surface))}.concept-learning-panel strong[data-v-05a05707]{font-size:11px;line-height:1.45}.concept-learning-bits[data-v-05a05707]{display:flex;align-items:center;gap:6px;margin:10px 0}.concept-learning-bits>span[data-v-05a05707]{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--concept-line);border-radius:8px;color:var(--concept-muted);background:var(--concept-surface);font-family:var(--font-mono);font-size:13px}.concept-learning-bits>span.is-on[data-v-05a05707]{color:var(--concept-blue);border-color:transparent;background:color-mix(in srgb,var(--concept-lilac) 68%,transparent)}.concept-learning-bits small[data-v-05a05707]{color:var(--concept-muted);font-family:var(--font-mono);font-size:11px}.concept-learning-check[data-v-05a05707]{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;color:var(--concept-blue);background:color-mix(in srgb,var(--concept-lilac) 62%,transparent);font-size:10px;font-weight:700}.concept-learning-check svg[data-v-05a05707]{width:12px;height:12px}.concept-learning-levels[data-v-05a05707]{display:flex;flex-wrap:wrap;gap:5px}.concept-learning-levels>span[data-v-05a05707]{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid var(--concept-line);border-radius:999px;color:var(--concept-muted);background:var(--concept-surface);font-size:9px;font-weight:650}.concept-learning-levels>span.is-current[data-v-05a05707]{background:transparent}.concept-learning-levels i[data-v-05a05707]{width:6px;height:6px;border-radius:50%}.concept-learning-answer[data-v-05a05707]{display:flex;gap:8px;margin-top:11px}.concept-learning-answer>span[data-v-05a05707]{flex:1;padding:10px 12px;border:1px solid var(--concept-line);border-radius:9px;background:var(--concept-surface);font-family:var(--font-mono);font-size:12px}.concept-learning-answer>i[data-v-05a05707]{display:grid;place-items:center;width:38px;border-radius:9px;color:#fff;background:var(--success)}.concept-learning-answer svg[data-v-05a05707]{width:16px;height:16px;stroke-width:2.5}.concept-learning-streak[data-v-05a05707]{display:flex;align-items:center;gap:5px;margin-top:8px;color:var(--success-soft-text);font-size:10px}.concept-learning-streak svg[data-v-05a05707]{width:13px;height:13px}.concept-learning-exam-head[data-v-05a05707]{display:flex;align-items:center;gap:8px}.concept-learning-exam-head strong[data-v-05a05707]{padding:5px 8px;border:1px solid var(--concept-line);border-radius:999px;background:var(--concept-surface);font-family:var(--font-mono)}.concept-learning-exam-head>span[data-v-05a05707]{color:var(--concept-muted);font-size:10px}.concept-learning-exam-head small[data-v-05a05707]{margin-left:auto;color:var(--concept-muted);font-family:var(--font-mono);font-size:10px}.concept-learning-exam-cells[data-v-05a05707]{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:4px;margin-top:12px}.concept-learning-exam-cells span[data-v-05a05707]{display:grid;place-items:center;min-width:0;height:26px;border:1px solid transparent;border-radius:6px;color:var(--concept-muted);background:var(--concept-surface);font-family:var(--font-mono);font-size:9px}.concept-learning-exam-cells span.is-done[data-v-05a05707]{color:var(--concept-blue);background:color-mix(in srgb,var(--concept-lilac) 62%,transparent)}.concept-learning-exam-cells span.is-current[data-v-05a05707]{border-color:var(--concept-blue)}.concept-learning-panel>p[data-v-05a05707]{margin-top:10px;color:var(--concept-muted);font-size:10px}.concept-learning-map[data-v-05a05707]{display:grid;grid-template-columns:repeat(10,1fr);gap:5px}.concept-learning-map>span[data-v-05a05707]{aspect-ratio:1;border-radius:5px}.concept-learning-map__foot[data-v-05a05707]{display:flex;align-items:center;gap:10px;margin-top:12px;color:var(--concept-muted);font-size:10px}.concept-learning-map__foot>i[data-v-05a05707]{flex:1;height:6px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--concept-line) 70%,transparent)}.concept-learning-map__foot b[data-v-05a05707]{display:block;width:68%;height:100%;border-radius:inherit;background:var(--concept-blue)}.concept-progress[data-v-05a05707]{padding:118px max(32px,calc((100vw - 1280px)/2)) 126px;color:#f5f7ff;background:linear-gradient(135deg,rgba(255,255,255,.025) 25%,transparent 25%) 0 0 / 22px 22px,var(--concept-progress-bg)}.concept-progress__intro[data-v-05a05707]{display:grid;grid-template-columns:1fr .68fr;gap:70px;align-items:end;width:min(1120px,100%);margin:0 auto}.concept-progress__intro h2[data-v-05a05707]{margin-top:14px;font-size:clamp(40px,4.5vw,62px);line-height:1.02;letter-spacing:-.06em}.concept-progress__intro h2 em[data-v-05a05707]{color:var(--concept-lime);font-family:Georgia,Times New Roman,serif;font-weight:400;letter-spacing:-.045em}.concept-progress__intro>p[data-v-05a05707]{color:#aeb7d0;font-size:15px;line-height:1.7}.concept-progress__dashboard[data-v-05a05707]{width:min(1280px,100%);margin:52px auto 0;padding:22px;border:1px solid rgba(255,255,255,.14);border-radius:30px;color:var(--text);background:var(--concept-progress-panel);box-shadow:0 38px 100px #0207196b}.concept-progress__topbar[data-v-05a05707]{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:2px 2px 20px}.concept-progress__topbar>div[data-v-05a05707]:first-child{display:flex;align-items:center;gap:11px}.concept-progress__topbar span strong[data-v-05a05707],.concept-progress__topbar span small[data-v-05a05707]{display:block}.concept-progress__topbar span strong[data-v-05a05707]{font-size:14px}.concept-progress__topbar span small[data-v-05a05707]{margin-top:2px;color:var(--text-tertiary);font-size:10px}.concept-progress__avatar[data-v-05a05707]{display:grid!important;place-items:center;width:38px;height:38px;border-radius:12px;color:#fff;background:var(--concept-blue);font-weight:800}.concept-progress__period[data-v-05a05707]{display:inline-flex;padding:3px;border-radius:999px;background:var(--bg-muted)}.concept-progress__period button[data-v-05a05707]{min-height:32px;padding:0 13px;border:0;border-radius:999px;color:var(--text-secondary);background:transparent;font:inherit;font-size:10px;font-weight:700;cursor:pointer}.concept-progress__period button.is-active[data-v-05a05707]{color:var(--text);background:var(--bg-elevated);box-shadow:var(--shadow-xs)}.concept-progress__stats[data-v-05a05707]{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.concept-progress__stats[data-v-05a05707] .tile{min-height:116px}.concept-progress__stats[data-v-05a05707] .tile__value{font-size:26px}.concept-progress__main-grid[data-v-05a05707]{display:grid;grid-template-columns:1.55fr .75fr;gap:10px;margin-top:10px}.concept-progress__lower-grid[data-v-05a05707]{display:grid;grid-template-columns:.8fr 1.2fr;gap:10px;margin-top:10px}.concept-progress-card[data-v-05a05707]{min-width:0;padding:20px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-elevated)}.concept-progress-card__head[data-v-05a05707]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.concept-progress-card__head div>span[data-v-05a05707],.concept-progress-card__head div>small[data-v-05a05707]{display:block}.concept-progress-card__head div>span[data-v-05a05707]{font-size:13px;font-weight:700}.concept-progress-card__head div>small[data-v-05a05707]{margin-top:3px;color:var(--text-tertiary);font-size:10px}.concept-progress-card__head>strong[data-v-05a05707]{padding:5px 8px;border-radius:999px;color:var(--success-soft-text);background:var(--success-soft);font-size:9px;white-space:nowrap}.concept-progress-card--donut[data-v-05a05707]{display:flex;flex-direction:column}.concept-progress-card--donut[data-v-05a05707] .dn{margin:auto 0}.concept-progress-card--topics[data-v-05a05707]{min-height:250px}.concept-progress-card[data-v-05a05707] .ac__legend,.concept-progress-card[data-v-05a05707] .hc__legend{font-size:9px}.concept-progress__topics[data-v-05a05707]{display:flex;flex-direction:column;gap:15px}.concept-progress__topic[data-v-05a05707]{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-05a05707]:last-child{padding-bottom:0;border-bottom:0}.concept-progress__topic>div strong[data-v-05a05707],.concept-progress__topic>div small[data-v-05a05707]{display:block}.concept-progress__topic>div strong[data-v-05a05707]{font-size:12px}.concept-progress__topic>div small[data-v-05a05707]{margin-top:3px;color:var(--text-tertiary);font-size:9px}.concept-progress__footer[data-v-05a05707]{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 4px 2px;color:var(--text-tertiary);font-size:10px}.concept-progress__footer span[data-v-05a05707]{display:inline-flex;align-items:center;gap:7px}.concept-progress__footer svg[data-v-05a05707]{width:14px;height:14px;color:var(--success);stroke-width:2.4}.concept-progress__footer a[data-v-05a05707]{color:var(--brand);font-weight:700}.concept-courses[data-v-05a05707]{padding:116px 0 126px;border-top:1px solid var(--concept-line)}.concept-tabs[data-v-05a05707]{display:inline-flex;justify-self:end;gap:4px;padding:4px;border:1px solid var(--concept-line);border-radius:999px;background:var(--concept-surface)}.concept-tabs button[data-v-05a05707]{min-height:39px;padding:0 18px;border:0;border-radius:999px;color:var(--concept-muted);background:transparent;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.concept-tabs button.is-active[data-v-05a05707]{color:#fff;background:var(--concept-blue);box-shadow:0 6px 16px color-mix(in srgb,var(--concept-blue) 24%,transparent)}.concept-courses__summary[data-v-05a05707]{display:grid;grid-template-columns:.8fr .4fr 1.8fr;gap:24px;margin-top:38px;padding:15px 18px;border-top:1px solid var(--concept-line);border-bottom:1px solid var(--concept-line);color:var(--concept-muted);font-size:11px}.concept-courses__summary span[data-v-05a05707]:first-child{color:var(--concept-ink);font-weight:700}.concept-courses__grid[data-v-05a05707]{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}.concept-course-card[data-v-05a05707]{display:flex;flex-direction:column;min-height:300px;padding:22px;border:1px solid var(--concept-line);border-radius:20px;color:var(--concept-ink);background:var(--concept-surface);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.concept-course-card[data-v-05a05707]:hover{color:var(--concept-ink);transform:translateY(-5px);border-color:color-mix(in srgb,var(--concept-blue) 45%,var(--concept-line));box-shadow:0 18px 42px #141c3717}.concept-course-card__top[data-v-05a05707]{display:flex;align-items:flex-start;justify-content:space-between}.concept-course-card__top>span[data-v-05a05707]{padding:5px 8px;border-radius:999px;color:var(--concept-muted);background:var(--concept-paper);font-size:9px}.concept-course-card h3[data-v-05a05707]{margin-top:23px;font-size:20px;letter-spacing:-.035em}.concept-course-card p[data-v-05a05707]{margin-top:10px;color:var(--concept-muted);font-size:12px;line-height:1.55}.concept-course-card__footer[data-v-05a05707]{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:22px;color:var(--concept-blue);font-size:11px;font-weight:700}.concept-course-card__footer svg[data-v-05a05707]{width:18px;height:18px}.concept-courses__all[data-v-05a05707]{display:flex;align-items:center;justify-content:center;gap:8px;width:fit-content;margin:26px auto 0;color:var(--concept-blue);font-size:13px;font-weight:700}.concept-courses__all svg[data-v-05a05707]{width:17px;height:17px}.concept-ai[data-v-05a05707]{display:grid;grid-template-columns:.86fr 1.14fr;gap:72px;align-items:center;padding:104px max(32px,calc((100vw - 1120px)/2));background:var(--concept-lilac)}.concept-ai__mark[data-v-05a05707]{display:grid;place-items:center;width:54px;height:54px;margin-bottom:24px;border-radius:18px;color:#fff;background:var(--concept-blue);transform:rotate(-6deg)}.concept-ai__mark svg[data-v-05a05707]{width:25px;height:25px}.concept-ai h2[data-v-05a05707]{margin-top:12px;font-size:clamp(38px,4vw,56px);line-height:1.04;letter-spacing:-.055em}.concept-ai__copy>p[data-v-05a05707]{max-width:500px;margin-top:20px;color:var(--concept-muted);font-size:15px;line-height:1.65}.concept-chat[data-v-05a05707]{padding:22px;border:1px solid color-mix(in srgb,var(--concept-ink) 10%,transparent);border-radius:26px;background:var(--concept-surface);box-shadow:0 24px 60px #191c4224}.concept-chat__meta[data-v-05a05707]{display:flex;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--concept-line);color:var(--concept-muted);font-size:9px}.concept-chat__meta span[data-v-05a05707]:first-child{color:var(--concept-ink);font-weight:700}.concept-chat__bubble[data-v-05a05707]{margin-top:18px;padding:13px 16px;font-size:12px;line-height:1.55}.concept-chat__bubble--user[data-v-05a05707]{width:fit-content;max-width:78%;margin-left:auto;border-radius:16px 16px 4px;color:#fff;background:var(--concept-blue)}.concept-chat__bubble--assistant[data-v-05a05707]{display:flex;gap:11px;max-width:91%;padding-left:0}.concept-chat__avatar[data-v-05a05707]{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:9px;color:#fff;background:var(--concept-navy);font-size:11px;font-weight:800}.concept-chat__bubble p[data-v-05a05707]{color:var(--concept-muted)}.concept-chat__bubble strong[data-v-05a05707]{color:var(--concept-ink)}.concept-chat__prompt[data-v-05a05707]{display:flex;align-items:center;justify-content:space-between;margin-top:15px;padding:10px 11px 10px 14px;border:1px solid var(--concept-line);border-radius:13px;color:var(--concept-muted);font-size:10px}.concept-chat__prompt i[data-v-05a05707]{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;color:#fff;background:var(--concept-blue);font-style:normal;font-size:14px}.concept-roles[data-v-05a05707]{padding:126px 0}.concept-roles__grid[data-v-05a05707]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}.concept-role-card[data-v-05a05707]{display:flex;flex-direction:column;min-height:300px;padding:28px;border:1px solid var(--concept-line);border-radius:24px;background:var(--concept-surface)}.concept-role-card__head[data-v-05a05707]{display:flex;align-items:center;gap:10px;color:var(--concept-muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.concept-role-card__icon[data-v-05a05707]{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;color:var(--concept-blue);background:color-mix(in srgb,var(--concept-lilac) 70%,transparent)}.concept-role-card__icon svg[data-v-05a05707]{width:19px;height:19px}.concept-role-card h3[data-v-05a05707]{margin-top:38px;max-width:290px;font-size:23px;line-height:1.15;letter-spacing:-.04em}.concept-role-card p[data-v-05a05707]{margin-top:12px;color:var(--concept-muted);font-size:13px;line-height:1.6}.concept-role-card .concept-text-link[data-v-05a05707]{margin-top:auto;padding-top:26px}.concept-final[data-v-05a05707]{position:relative;display:grid;place-items:center;min-height:620px;padding:90px 24px;overflow:hidden;color:#fff;background:var(--concept-blue);text-align:center}.concept-final__content[data-v-05a05707]{position:relative;z-index:1}.concept-final h2[data-v-05a05707]{margin-top:18px;font-size:clamp(48px,6vw,80px);line-height:.98;letter-spacing:-.065em}.concept-final h2 em[data-v-05a05707]{color:var(--concept-lime)}.concept-final p[data-v-05a05707]{margin-top:24px;color:#ffffffb8;font-size:15px}.concept-actions--center[data-v-05a05707]{justify-content:center}.concept-button--lime[data-v-05a05707]{color:#16241a;background:var(--concept-lime);box-shadow:0 14px 34px #121e2538}.concept-button--lime[data-v-05a05707]:hover{color:#16241a;background:#fff}.concept-button--dark-ghost[data-v-05a05707]{color:#fff;border-color:#ffffff5c;background:#0d193d29}.concept-button--dark-ghost[data-v-05a05707]:hover{color:#fff;background:#0d193d4d}.concept-final__orb[data-v-05a05707]{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.16)}.concept-final__orb[data-v-05a05707]:after{content:"";position:absolute;top:17%;right:17%;bottom:17%;left:17%;border:1px solid rgba(255,255,255,.12);border-radius:50%}.concept-final__orb--one[data-v-05a05707]{width:520px;height:520px;left:-180px;top:-210px}.concept-final__orb--two[data-v-05a05707]{width:430px;height:430px;right:-130px;bottom:-190px}@media(max-width:1080px){.concept-hero[data-v-05a05707]{gap:36px}.concept-photo-wrap[data-v-05a05707]{border-bottom-right-radius:88px}.concept-direction__grid[data-v-05a05707]{grid-template-columns:repeat(2,1fr)}.concept-direction-card[data-v-05a05707]:nth-child(2){border-right:0}.concept-direction-card[data-v-05a05707]:nth-child(-n+2){border-bottom:1px solid var(--concept-line)}.concept-method[data-v-05a05707]{grid-template-columns:1fr}.concept-method__intro[data-v-05a05707]{max-width:700px}.concept-progress__main-grid[data-v-05a05707],.concept-progress__lower-grid[data-v-05a05707]{grid-template-columns:1fr}.concept-progress__stats[data-v-05a05707],.concept-courses__grid[data-v-05a05707]{grid-template-columns:repeat(2,1fr)}}@media(max-width:820px){.concept-hero[data-v-05a05707],.concept-direction[data-v-05a05707],.concept-learning[data-v-05a05707],.concept-courses[data-v-05a05707],.concept-roles[data-v-05a05707]{width:min(100% - 32px,680px)}.concept-hero[data-v-05a05707]{grid-template-columns:1fr;min-height:0;padding-top:52px}.concept-hero__copy[data-v-05a05707]{text-align:center}.concept-hero__lede[data-v-05a05707]{margin-left:auto;margin-right:auto}.concept-actions[data-v-05a05707],.concept-hero__proof[data-v-05a05707]{justify-content:center}.concept-hero__visual[data-v-05a05707]{max-width:640px;width:100%;margin:4px auto 0}.concept-photo-wrap[data-v-05a05707]{aspect-ratio:1.22}.concept-hero__stats[data-v-05a05707]{margin-top:8px}.concept-section-head--split[data-v-05a05707]{grid-template-columns:1fr;gap:18px}.concept-tabs[data-v-05a05707]{justify-self:start}.concept-live__inner[data-v-05a05707]{width:min(100% - 32px,680px)}.concept-live__features[data-v-05a05707]{grid-template-columns:1fr}.concept-live__features article[data-v-05a05707]{min-height:155px}.concept-progress__intro[data-v-05a05707]{grid-template-columns:1fr;gap:22px}.concept-learning__grid[data-v-05a05707]{grid-template-columns:1fr}.concept-ai[data-v-05a05707]{grid-template-columns:1fr;gap:42px;padding-left:32px;padding-right:32px}.concept-roles__grid[data-v-05a05707]{grid-template-columns:1fr}.concept-role-card[data-v-05a05707]{min-height:260px}}@media(max-width:620px){.concept-hero[data-v-05a05707]{gap:30px;padding-top:38px}.concept-hero h1[data-v-05a05707]{font-size:clamp(43px,14vw,62px)}.concept-hero__lede[data-v-05a05707]{margin-top:20px!important;font-size:15px}.concept-actions[data-v-05a05707]{flex-direction:column;align-items:stretch}.concept-button[data-v-05a05707]{width:100%}.concept-hero__proof[data-v-05a05707]{gap:10px 15px}.concept-photo-wrap[data-v-05a05707]{aspect-ratio:.88;border-radius:24px 24px 70px}.concept-photo[data-v-05a05707]{object-position:57% center}.concept-float[data-v-05a05707]{min-width:0;padding:9px 10px}.concept-float--today[data-v-05a05707]{top:14px;right:14px}.concept-float--progress[data-v-05a05707]{left:12px;bottom:66px}.concept-float small[data-v-05a05707]{font-size:8px}.concept-float strong[data-v-05a05707]{font-size:10px}.concept-float__icon[data-v-05a05707]{width:30px;height:30px}.concept-progress-ring[data-v-05a05707]{width:36px;height:36px}.concept-progress-ring[data-v-05a05707]:before{width:28px;height:28px}.concept-photo__caption[data-v-05a05707]{left:18px;right:18px;bottom:18px;font-size:9px}.concept-hero__stats[data-v-05a05707]{grid-template-columns:1fr}.concept-hero__stats div[data-v-05a05707]{justify-content:flex-start;padding:14px 4px;border-right:0;border-bottom:1px solid var(--concept-line)}.concept-hero__stats div[data-v-05a05707]:last-child{border-bottom:0}.concept-direction[data-v-05a05707]{padding:86px 0 92px}.concept-direction__grid[data-v-05a05707]{grid-template-columns:1fr;margin-top:30px;border-radius:20px}.concept-direction-card[data-v-05a05707]{min-height:210px;border-right:0;border-bottom:1px solid var(--concept-line)}.concept-direction-card[data-v-05a05707]:nth-child(3){border-bottom:1px solid var(--concept-line)}.concept-direction-card[data-v-05a05707]:last-child{border-bottom:0}.concept-direction-card__title[data-v-05a05707]{margin-top:38px}.concept-live[data-v-05a05707]{padding:84px 0 90px}.concept-live__stage[data-v-05a05707]{margin-top:30px;padding:8px;border-radius:22px}.concept-live__stage-bar[data-v-05a05707]{padding:6px 8px 12px}.concept-live__stage-bar span[data-v-05a05707]:last-child{display:none}.concept-live__demo[data-v-05a05707] .demo-card{min-height:0;padding:14px}.concept-live__demo[data-v-05a05707] .demo-body{min-height:296px}.concept-live__demo[data-v-05a05707] .py-editor{min-height:0;padding-top:14px;font-size:12px}.concept-live__demo[data-v-05a05707] .py-head{padding-bottom:10px}.concept-live__demo[data-v-05a05707] .py-code{padding-top:12px}.concept-live__demo[data-v-05a05707] .py-out{min-height:74px;margin-top:12px;padding-top:10px}.concept-live__features[data-v-05a05707]{border-radius:18px}.concept-method[data-v-05a05707]{gap:44px;padding:84px 16px}.concept-method h2[data-v-05a05707]{font-size:44px}.concept-lesson__body[data-v-05a05707]{grid-template-columns:1fr}.concept-lesson__copy[data-v-05a05707]{padding:30px 20px;border-right:0;border-bottom:1px solid #dedbd3}.concept-lesson__practice[data-v-05a05707]{min-height:320px;padding:20px}.concept-bits>span[data-v-05a05707]{width:50px;height:60px}.concept-lesson__footer[data-v-05a05707]{gap:15px;padding-left:8px;padding-right:8px}.concept-learning[data-v-05a05707]{padding:90px 0}.concept-section-head h2[data-v-05a05707]{font-size:38px}.concept-learning__grid[data-v-05a05707]{margin-top:38px}.concept-learning-card[data-v-05a05707]{min-height:0;padding:18px}.concept-learning-panel[data-v-05a05707]{margin-top:22px}.concept-learning-exam-cells[data-v-05a05707]{gap:3px}.concept-learning-exam-cells span[data-v-05a05707]{font-size:8px}.concept-progress[data-v-05a05707]{padding:84px 16px 90px}.concept-progress__intro h2[data-v-05a05707]{font-size:42px}.concept-progress__dashboard[data-v-05a05707]{margin-top:34px;padding:12px;border-radius:22px}.concept-progress__topbar[data-v-05a05707]{align-items:flex-start;flex-direction:column}.concept-progress__stats[data-v-05a05707]{grid-template-columns:1fr 1fr}.concept-progress__stats[data-v-05a05707] .tile{min-height:106px}.concept-progress-card[data-v-05a05707]{padding:15px}.concept-progress-card__head[data-v-05a05707]{flex-direction:column;gap:8px}.concept-progress-card--activity[data-v-05a05707]{overflow:hidden}.concept-progress__topic[data-v-05a05707]{grid-template-columns:1fr;gap:8px}.concept-progress__footer[data-v-05a05707]{align-items:flex-start;flex-direction:column}.concept-courses[data-v-05a05707]{padding:88px 0 94px}.concept-tabs[data-v-05a05707]{width:100%;overflow-x:auto;justify-self:stretch}.concept-tabs button[data-v-05a05707]{flex:1 0 auto;padding:0 14px}.concept-courses__summary[data-v-05a05707]{grid-template-columns:1fr 1fr}.concept-courses__summary span[data-v-05a05707]:last-child{grid-column:1 / -1}.concept-courses__grid[data-v-05a05707]{grid-template-columns:1fr}.concept-course-card[data-v-05a05707]{min-height:270px}.concept-ai[data-v-05a05707]{padding:82px 16px}.concept-ai h2[data-v-05a05707]{font-size:41px}.concept-chat[data-v-05a05707]{padding:16px}.concept-chat__meta[data-v-05a05707]{flex-direction:column;gap:5px}.concept-roles[data-v-05a05707]{padding:92px 0}.concept-roles__grid[data-v-05a05707]{margin-top:34px}.concept-final[data-v-05a05707]{min-height:590px;padding-left:16px;padding-right:16px}.concept-final h2[data-v-05a05707]{font-size:48px}}@media(max-width:420px){.concept-progress__stats[data-v-05a05707]{grid-template-columns:1fr}.concept-progress__stats[data-v-05a05707] .tile{min-height:96px}}.auth-page[data-v-2ac95c4a]{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-2ac95c4a]{width:100%;max-width:400px}.auth-head[data-v-2ac95c4a]{text-align:center;margin-bottom:var(--sp-6)}.auth-head h1[data-v-2ac95c4a]{font-size:24px;font-weight:var(--fw-bold);letter-spacing:-.5px;margin:0;line-height:var(--lh-tight)}.alert[data-v-2ac95c4a]{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-2ac95c4a]{display:flex;flex-direction:column;gap:var(--sp-4)}.field label[data-v-2ac95c4a]{display:block;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text);margin-bottom:6px}.field input[data-v-2ac95c4a]{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-2ac95c4a]:focus{outline:none;border-color:var(--brand);box-shadow:var(--shadow-focus)}.field input.is-error[data-v-2ac95c4a]{border-color:var(--danger)}.field-error[data-v-2ac95c4a]{display:block;font-size:var(--fs-xs);color:var(--danger);margin-top:4px}.password-wrapper[data-v-2ac95c4a]{position:relative}.toggle-password[data-v-2ac95c4a]{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-2ac95c4a]:hover{color:var(--text);background:var(--bg-subtle)}@media(max-width:768px){.field input[data-v-2ac95c4a]{min-height:44px}.toggle-password[data-v-2ac95c4a]{width:44px;height:44px}}.auth-row[data-v-2ac95c4a]{display:flex;align-items:center;justify-content:space-between}.remember[data-v-2ac95c4a]{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-2ac95c4a]{width:15px;height:15px;accent-color:var(--brand);cursor:pointer;margin:0}.auth-row__link[data-v-2ac95c4a]{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--brand);text-decoration:none}.auth-row__link[data-v-2ac95c4a]:hover{text-decoration:underline}.auth-submit[data-v-2ac95c4a]{margin-top:var(--sp-1);width:100%}.auth-sep[data-v-2ac95c4a]{display:flex;align-items:center;gap:10px;margin:var(--sp-5) 0}.auth-sep span[data-v-2ac95c4a]{flex:1;height:1px;background:var(--border)}.auth-sep i[data-v-2ac95c4a]{font-style:normal;font-size:var(--fs-xs);color:var(--text-tertiary)}.auth-alt[data-v-2ac95c4a]{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px}.auth-footer[data-v-2ac95c4a]{margin-top:var(--sp-5);text-align:center;font-size:var(--fs-sm);color:var(--text-secondary)}.auth-footer a[data-v-2ac95c4a]{color:var(--brand);font-weight:var(--fw-semibold)}.auth-tos[data-v-2ac95c4a]{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-2ac95c4a]{color:var(--brand)}.auth-page[data-v-393404a6]{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-393404a6]{width:100%;max-width:400px}.auth-head[data-v-393404a6]{text-align:center;margin-bottom:var(--sp-6)}.auth-head h1[data-v-393404a6]{font-size:24px;font-weight:var(--fw-bold);letter-spacing:-.5px;margin:0;line-height:var(--lh-tight)}.auth-sub[data-v-393404a6]{font-size:var(--fs-sm);color:var(--text-secondary);margin:var(--sp-2) 0 0;line-height:1.5}.auth-sub a[data-v-393404a6]{color:var(--brand);font-weight:var(--fw-semibold)}.alert[data-v-393404a6]{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-393404a6]{background:var(--danger-soft);color:var(--danger-soft-text);border-color:var(--danger)}.auth-form[data-v-393404a6]{display:flex;flex-direction:column;gap:var(--sp-4)}.role-tabs[data-v-393404a6]{display:flex;background:var(--bg-muted);border-radius:999px;padding:3px;gap:2px;margin-bottom:var(--sp-4)}.role-tabs button[data-v-393404a6]{flex:1;border:0;background:none;border-radius:999px;padding:9px 6px;font:inherit;font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer;white-space:nowrap}.role-tabs button.is-on[data-v-393404a6]{background:var(--bg-elevated);color:var(--text);box-shadow:var(--shadow-sm)}.name-row[data-v-393404a6]{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}@media(max-width:420px){.name-row[data-v-393404a6]{grid-template-columns:1fr}}.tutor-note[data-v-393404a6]{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}.school-tab[data-v-393404a6]{display:flex;flex-direction:column;gap:var(--sp-4)}.school-tab p[data-v-393404a6]{margin:0;font-size:var(--fs-sm);line-height:1.6;color:var(--text-secondary)}.school-tab .btn[data-v-393404a6]{text-align:center}.field label[data-v-393404a6]{display:block;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text);margin-bottom:6px}.field input[data-v-393404a6]{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-393404a6]:focus{outline:none;border-color:var(--brand);box-shadow:var(--shadow-focus)}.field input.is-error[data-v-393404a6]{border-color:var(--danger)}.field-error[data-v-393404a6]{display:block;font-size:var(--fs-xs);color:var(--danger);margin-top:4px}.field-hint[data-v-393404a6]{display:block;font-size:var(--fs-xs);color:var(--text-tertiary);margin-top:4px;line-height:1.4}.password-wrapper[data-v-393404a6]{position:relative}.toggle-password[data-v-393404a6]{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-393404a6]:hover{color:var(--text);background:var(--bg-subtle)}@media(max-width:768px){.field input[data-v-393404a6]{min-height:44px}.toggle-password[data-v-393404a6]{width:44px;height:44px}}.auth-submit[data-v-393404a6]{margin-top:var(--sp-2)}.auth-footer[data-v-393404a6]{margin-top:var(--sp-6);text-align:center;font-size:var(--fs-sm);color:var(--text-secondary)}.auth-footer a[data-v-393404a6]{color:var(--brand);font-weight:var(--fw-medium)}.consent-group[data-v-393404a6]{display:flex;flex-direction:column;gap:var(--sp-3)}.consent[data-v-393404a6]{display:flex;gap:var(--sp-2);align-items:flex-start;font-size:var(--fs-xs);color:var(--text-secondary);line-height:var(--lh-relaxed);cursor:pointer}.consent input[type=checkbox][data-v-393404a6]{margin-top:3px;flex-shrink:0;width:16px;height:16px;accent-color:var(--brand);cursor:pointer}.consent a[data-v-393404a6]{color:var(--brand)}.consent--optional[data-v-393404a6]{color:var(--text-tertiary)}.under14-hint[data-v-393404a6]{margin:-4px 0 0 26px;font-size:var(--fs-xs);color:var(--text-tertiary);line-height:var(--lh-relaxed)}.under14-hint button[data-v-393404a6]{border:0;background:none;padding:0;font:inherit;color:var(--brand);cursor:pointer;text-decoration:underline}.waitlist-cta[data-v-393404a6]{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:var(--sp-2)}.ref-banner[data-v-393404a6]{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}.auth-page[data-v-aad7619e]{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-aad7619e]{width:100%;max-width:420px}.auth-head[data-v-aad7619e]{text-align:center;margin-bottom:var(--sp-5)}.auth-head h1[data-v-aad7619e]{font-size:24px;font-weight:var(--fw-bold);letter-spacing:-.5px;margin:0;line-height:var(--lh-tight)}.auth-sub[data-v-aad7619e]{font-size:var(--fs-sm);color:var(--text-secondary);margin:var(--sp-2) 0 0;line-height:1.5}.auth-sub strong[data-v-aad7619e]{color:var(--text);font-weight:var(--fw-medium)}.auth-icon[data-v-aad7619e]{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:18px;background:var(--warn-soft);color:var(--warn-soft-text);margin-bottom:var(--sp-3)}.alert[data-v-aad7619e]{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-aad7619e]{background:var(--danger-soft);color:var(--danger-soft-text);border-color:var(--danger)}.alert--success[data-v-aad7619e]{background:var(--success-soft, #ecfdf5);color:var(--success-soft-text, #047857);border-color:var(--success, #10b981)}.auth-hint[data-v-aad7619e]{display:flex;gap:var(--sp-3);align-items:flex-start;background:var(--bg-subtle);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);font-size:var(--fs-sm);color:var(--text-secondary);line-height:var(--lh-relaxed);margin-bottom:var(--sp-4)}.auth-hint svg[data-v-aad7619e]{width:18px;height:18px;flex-shrink:0;margin-top:2px;color:var(--text-tertiary)}.auth-hint strong[data-v-aad7619e]{color:var(--text);font-weight:var(--fw-medium)}.otp-form[data-v-aad7619e]{display:flex;flex-direction:column;gap:var(--sp-4)}.otp-inputs[data-v-aad7619e]{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--sp-2)}.otp-inputs input[data-v-aad7619e]{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-aad7619e]:focus{outline:none;border-color:var(--brand);box-shadow:var(--shadow-focus)}.otp-inputs input.is-error[data-v-aad7619e]{border-color:var(--danger)}.otp-inputs input[data-v-aad7619e]:disabled{opacity:.6;cursor:not-allowed}.field-error[data-v-aad7619e]{font-size:var(--fs-xs);color:var(--danger)}.otp-error[data-v-aad7619e]{margin-top:-8px}.auth-submit[data-v-aad7619e]{margin-top:var(--sp-2)}.auth-footer[data-v-aad7619e]{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-aad7619e]{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-aad7619e]:disabled{color:var(--text-tertiary);cursor:not-allowed}.link-btn[data-v-aad7619e]:hover:not(:disabled){text-decoration:underline}.sep[data-v-aad7619e]{color:var(--text-tertiary)}.sys-pill[data-v-5c4a92e4]{display:inline-flex;align-items:center;gap:5px;margin-left:10px;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:var(--fw-semibold);white-space:nowrap}.sys-pill--ok[data-v-5c4a92e4]{background:var(--success-soft);color:var(--success-soft-text)}.sys-pill--warn[data-v-5c4a92e4]{background:var(--warn-soft);color:var(--warn-soft-text)}.seg[data-v-5c4a92e4]{display:inline-flex;background:var(--bg-subtle);border:1px solid var(--border);border-radius:10px;padding:2px}.seg__btn[data-v-5c4a92e4]{border:0;background:transparent;cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:var(--fw-medium);color:var(--text-secondary);padding:5px 12px;border-radius:8px;white-space:nowrap}.seg__btn.is-active[data-v-5c4a92e4]{background:var(--bg-elevated);color:var(--text);font-weight:var(--fw-semibold);box-shadow:var(--shadow-sm)}.mcard--link[data-v-5c4a92e4]{text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}.mcard--link[data-v-5c4a92e4]:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.sch .metrics-grid--5[data-v-5c4a92e4]{grid-template-columns:repeat(5,1fr)}@media(max-width:1200px){.sch .metrics-grid--5[data-v-5c4a92e4]{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.sch .metrics-grid--5[data-v-5c4a92e4]{grid-template-columns:1fr 1fr}}.dash__duo[data-v-5c4a92e4]{display:grid;grid-template-columns:1.5fr 1fr;gap:14px;margin-top:16px;align-items:start}@media(max-width:1000px){.dash__duo[data-v-5c4a92e4]{grid-template-columns:1fr}}.dash__chart[data-v-5c4a92e4],.dash__attn[data-v-5c4a92e4],.dash__events[data-v-5c4a92e4]{padding:18px}.dash__muted[data-v-5c4a92e4]{font-size:var(--fs-sm);color:var(--text-tertiary);margin:10px 0 0}.wchart[data-v-5c4a92e4]{display:flex;align-items:flex-end;gap:14px;margin-top:16px;min-height:160px}.wchart__col[data-v-5c4a92e4]{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px}.wchart__val[data-v-5c4a92e4]{font-size:11.5px;color:var(--text-secondary);font-weight:var(--fw-semibold)}.wchart__bar[data-v-5c4a92e4]{width:100%;max-width:72px;border-radius:8px 8px 4px 4px;background:var(--brand);opacity:.85}.wchart__col:last-child .wchart__bar[data-v-5c4a92e4]{opacity:1}.wchart__lbl[data-v-5c4a92e4]{font-size:11px;color:var(--text-tertiary)}.attn__list[data-v-5c4a92e4]{display:flex;flex-direction:column;gap:10px;margin-top:12px}.attn__row[data-v-5c4a92e4]{display:flex;align-items:center;gap:10px}.attn__text[data-v-5c4a92e4]{flex:1;min-width:0;font-size:13px}.dash__events[data-v-5c4a92e4]{margin-top:16px}.ev__list[data-v-5c4a92e4]{display:flex;flex-direction:column;margin-top:8px}.ev__row[data-v-5c4a92e4]{display:flex;align-items:baseline;gap:12px;padding:9px 0;border-bottom:1px solid var(--border-subtle)}.ev__row[data-v-5c4a92e4]:last-child{border-bottom:0}.ev__text[data-v-5c4a92e4]{flex:1;min-width:0;font-size:13px}.ev__time[data-v-5c4a92e4]{font-size:11.5px;color:var(--text-tertiary);white-space:nowrap}.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{--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}[data-density=compact]{--density-pad-y: 6px;--density-pad-x: 10px;--density-row: 36px;--density-card-pad: 14px;--density-gap: 12px}[data-theme=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)}*,*: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"}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)}@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-body: var(--text);--text-muted: var(--text-tertiary);--text-faint: var(--text-disabled);--brand-softer: var(--brand-soft);--brand-muted: #a5b4fc;--brand-deep: var(--brand-active);--gradient-from: var(--brand-soft);--gradient-to: #e0e7ff;--gradient-border: #c7d2fe;--cta-from: var(--brand);--cta-to: #7c3aed;--cta-text: #c7d2fe;--green: var(--success);--green-bg: var(--success-soft);--green-bg-soft: var(--success-soft);--green-text: var(--success-soft-text);--green-dark: #047857;--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-text-dark: #78350f;--amber-text-medium: #92400e;--amber-border: #fcd34d;--blue-bg: var(--info-soft);--blue-bg-soft: var(--info-soft);--blue-text: var(--info-soft-text);--blue-text-dark: #1e3a8a;--blue-border: #bfdbfe;--shadow: var(--shadow-sm);--shadow-brand: 0 8px 24px rgba(79, 70, 229, .18);--shadow-brand-soft: 0 4px 12px rgba(79, 70, 229, .1);--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);--reading-max: var(--reading-width)}[data-theme=dark]{--gradient-from: #2a2845;--gradient-to: #1f1d3b;--gradient-border: #3d3a5c;--cta-from: var(--brand);--cta-to: #9089ff;--cta-text: #cac6ff;--green-dark: #4ade80;--green-border: #163a26;--red-hover: #f08c80;--red-border: #3f1e1a;--amber-text-dark: #fcd383;--amber-text-medium: #fbbf5a;--amber-border: #3b2e15;--blue-text-dark: #93c5fd;--blue-border: #1e2c4a;--shadow-brand: 0 8px 24px rgba(124, 116, 255, .28);--shadow-brand-soft: 0 4px 12px rgba(124, 116, 255, .18);--code-block-bg: #0f0f14;--code-block-text: #e8e8ec}.app{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh;background:var(--bg)}.app__sidebar{background:var(--bg-elevated);border-right:1px solid var(--border);position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:var(--sp-4) var(--sp-3);gap:var(--sp-2);overflow-y:auto}.app__brand{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-4);font-weight:var(--fw-semibold);font-size:var(--fs-xl);letter-spacing:var(--tracking-tight);color:var(--text);text-decoration:none}.app__brand-mark{width:36px;height:36px;border-radius:9px;background:var(--brand);display:grid;place-items:center;color:#fff;font-size:18px;font-weight:var(--fw-bold);letter-spacing:-.04em}.app__nav{display:flex;flex-direction:column;gap:2px}.app__nav-section{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-tertiary);font-weight:var(--fw-semibold);padding:var(--sp-3) var(--sp-3) var(--sp-2)}.app__nav a{display:flex;align-items:center;gap:var(--sp-3);padding:10px var(--sp-3);border-radius:var(--r-md);color:var(--text-secondary);font-size:var(--fs-md);font-weight:var(--fw-medium);text-decoration:none;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.app__nav a svg{width:18px;height:18px;flex-shrink:0}.app__nav a:hover{background:var(--bg-subtle);color:var(--text)}.app__nav a.is-active{background:var(--brand-soft);color:var(--brand-soft-text)}.app__nav a .count{margin-left:auto;font-size:var(--fs-xs);color:var(--text-tertiary);font-variant-numeric:tabular-nums}.app__nav a.is-active .count{color:var(--brand-soft-text)}.app__sidebar-footer{margin-top:auto;padding:var(--sp-3);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:var(--sp-2)}.app__sidebar-user{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2)}.app__avatar{width:32px;height:32px;border-radius:999px;background:linear-gradient(135deg,var(--brand) 0%,var(--info) 100%);display:grid;place-items:center;color:#fff;font-size:var(--fs-xs);font-weight:var(--fw-semibold);flex-shrink:0}.app__user-info{min-width:0}.app__user-name{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app__user-plan{font-size:var(--fs-xs);color:var(--text-tertiary)}.app__main{min-width:0}.app__topbar{height:var(--header-height);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 var(--sp-6);background:var(--bg-elevated);position:sticky;top:0;z-index:30}.app__topbar-title{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text)}.app__topbar-actions{display:flex;gap:var(--sp-2);align-items:center}.app__content{padding:var(--sp-8) var(--sp-6) var(--sp-16);max-width:1280px;margin:0 auto}.app__content--narrow{max-width:920px}.app__content h1.page-title{font-size:var(--fs-3xl);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);margin:0 0 var(--sp-2);line-height:var(--lh-tight)}.app__content p.page-subtitle{font-size:var(--fs-md);color:var(--text-secondary);margin:0 0 var(--sp-8)}@media(max-width:768px){.app{grid-template-columns:1fr}.app__sidebar{position:fixed;top:0;left:0;width:280px;height:100vh;transform:translate(-100%);transition:transform var(--dur-slow) var(--ease-out);z-index:100;box-shadow:var(--shadow-lg)}.app__sidebar.is-open{transform:translate(0)}.app__content{padding:var(--sp-5) var(--sp-4) var(--sp-12)}}.app__hamburger{display:none;width:36px;height:36px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;align-items:center;justify-content:center}.app__hamburger svg{width:18px;height:18px}@media(max-width:768px){.app__hamburger{display:inline-flex}}.app__backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:99}.app__backdrop.is-open{display:block}.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--sm{padding:6px 10px;font-size:var(--fs-xs)}@media(max-width:1023px){.btn--lg{min-height:44px}}.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}.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}}.tweaks-panel{position:fixed;bottom:var(--sp-6);right:var(--sp-6);width:260px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:var(--sp-4);z-index:200;font-size:var(--fs-sm);display:none}.tweaks-panel.is-open{display:block}.tweaks-panel__title{font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-tertiary);margin-bottom:var(--sp-3)}.tweaks-panel__row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-3)}.tweaks-panel__row:last-child{margin-bottom:0}.tweaks-panel__label{color:var(--text-secondary);font-size:var(--fs-sm)}.tweaks-segmented{display:inline-flex;background:var(--bg-subtle);border-radius:var(--r-md);padding:2px;gap:2px}.tweaks-segmented button{border:0;background:transparent;color:var(--text-secondary);font-size:var(--fs-xs);font-weight:var(--fw-medium);padding:4px 10px;border-radius:4px;cursor:pointer;transition:all var(--dur) var(--ease);font-family:inherit}.tweaks-segmented button.is-active{background:var(--bg-elevated);color:var(--text);box-shadow:var(--shadow-xs)}.tweaks-toggle{position:fixed;bottom:var(--sp-6);right:var(--sp-6);height:40px;padding:0 var(--sp-4);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-pill);box-shadow:var(--shadow-md);display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-secondary);cursor:pointer;z-index:199;font-family:inherit;transition:all var(--dur) var(--ease)}.tweaks-toggle:hover{color:var(--text);border-color:var(--border-strong)}.tweaks-toggle svg{width:14px;height:14px}body{background:var(--bg)}.reading-progress-rail{position:fixed;top:0;left:0;right:0;height:3px;background:transparent;z-index:80}.reading-progress-bar{height:100%;width:0%;background:var(--brand);transition:width 60ms linear}.theory-topbar{height:var(--header-height);background:var(--bg-elevated);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:60;display:flex;align-items:center;padding:0 var(--sp-6);gap:var(--sp-4)}.theory-topbar__crumbs{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--text-tertiary);flex:1;min-width:0}.theory-topbar__crumbs a{color:var(--text-tertiary)}.theory-topbar__crumbs a:hover{color:var(--text)}.theory-topbar__crumbs .sep{color:var(--text-tertiary);opacity:.5}.theory-topbar__crumbs .current{color:var(--text);font-weight:var(--fw-medium)}.theory-topbar__actions{display:flex;gap:var(--sp-2);align-items:center}.unit-header{background:var(--bg-elevated);border-bottom:1px solid var(--border)}.unit-header__inner{padding:var(--sp-6) var(--sp-6) var(--sp-5);display:grid;grid-template-columns:1fr auto;gap:var(--sp-6);align-items:end}.unit-header__num{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-tertiary);letter-spacing:var(--tracking-wide);text-transform:uppercase;margin-bottom:var(--sp-2)}.unit-header__title{font-size:var(--fs-3xl);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);line-height:var(--lh-tight);margin:0 0 var(--sp-3)}.unit-header__meta{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center}.unit-header__tabs{display:inline-flex;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--r-pill);padding:3px;gap:2px}.unit-header__tab{border:0;background:transparent;font-family:inherit;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-secondary);padding:6px 14px;border-radius:var(--r-pill);cursor:pointer;transition:all var(--dur) var(--ease);text-decoration:none;display:inline-flex;align-items:center;gap:6px}.unit-header__tab:hover{color:var(--text)}.unit-header__tab.is-active{background:var(--bg-elevated);color:var(--text);box-shadow:var(--shadow-xs)}.theory-layout{display:grid;grid-template-columns:var(--toc-width) minmax(0,1fr);gap:var(--sp-8);align-items:start}@media(max-width:1024px){.theory-layout{grid-template-columns:1fr;gap:var(--sp-6);padding-top:var(--sp-6)}.theory-toc{display:none}}.theory-toc{position:sticky;top:calc(var(--header-height) + var(--sp-6));align-self:start;font-size:var(--fs-sm);max-height:calc(100vh - var(--header-height) - var(--sp-12));overflow-y:auto;padding-right:var(--sp-2)}.theory-toc__title{font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-tertiary);margin:0 0 var(--sp-3);padding-left:var(--sp-3)}.theory-toc ul{list-style:none;padding:0;margin:0}.theory-toc a{display:block;padding:6px var(--sp-3);font-size:var(--fs-sm);color:var(--text-secondary);border-left:2px solid var(--border);margin-bottom:1px;line-height:1.4;transition:all var(--dur) var(--ease)}.theory-toc a:hover{color:var(--text);border-color:var(--border-strong);background:var(--bg-subtle)}.theory-toc a.is-active{color:var(--brand);border-color:var(--brand);font-weight:var(--fw-medium);background:var(--brand-soft)}.theory-toc__sub a{font-size:var(--fs-xs);padding:4px var(--sp-3) 4px var(--sp-6);color:var(--text-tertiary)}.theory-article{max-width:var(--reading-width)}.theory-article>*+*{margin-top:var(--sp-4)}.theory-article h1{font-size:var(--fs-3xl);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);line-height:var(--lh-tight);margin:0 0 var(--sp-3)}.theory-article h2{font-size:var(--fs-2xl);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);line-height:var(--lh-snug);margin:var(--sp-12) 0 var(--sp-3);scroll-margin-top:calc(var(--header-height) + var(--sp-4))}.theory-article h3{font-size:var(--fs-xl);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);line-height:var(--lh-snug);margin:var(--sp-8) 0 var(--sp-2);scroll-margin-top:calc(var(--header-height) + var(--sp-4))}.theory-article p{font-size:var(--fs-reading);line-height:var(--lh-reading);color:var(--text);margin:0 0 var(--sp-4)}.theory-article p.lede{font-size:var(--fs-lg);color:var(--text-secondary);line-height:var(--lh-relaxed);margin-bottom:var(--sp-6)}.theory-article ul,.theory-article ol{font-size:var(--fs-reading);line-height:var(--lh-reading);padding-left:var(--sp-5);margin:0 0 var(--sp-4)}.theory-article li{margin-bottom:6px}.theory-article li::marker{color:var(--text-tertiary)}.theory-article strong{font-weight:var(--fw-semibold);color:var(--text)}.theory-article code:not(pre code){font-family:var(--font-mono);font-size:.92em;padding:1px 6px;background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--r-xs);color:var(--text)}.theory-article a:not(.btn){color:var(--brand);text-decoration:underline;text-underline-offset:3px}.theory-article a:not(.btn):hover{color:var(--brand-hover)}.theory-article a.btn{text-decoration:none}.theory-article a.btn--primary{color:#fff}.theory-article a.btn--secondary{color:var(--text)}.theory-article a.btn--ghost{color:var(--text-secondary)}.theory-article table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);margin:var(--sp-4) 0 var(--sp-6);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;font-variant-numeric:tabular-nums}.theory-article th,.theory-article td{padding:10px var(--sp-3);border-bottom:1px solid var(--border-subtle);text-align:left}.theory-article th{background:var(--bg-subtle);font-weight:var(--fw-semibold);color:var(--text);text-transform:none;font-size:var(--fs-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase}.theory-article tbody tr{transition:background var(--dur) var(--ease)}.theory-article tbody tr:hover{background:var(--bg-subtle)}.theory-article tbody tr:last-child td{border-bottom:0}.theory-article .tt-cell--1{color:var(--success-soft-text);font-family:var(--font-mono);font-weight:var(--fw-semibold)}.theory-article .tt-cell--0{color:var(--text-tertiary);font-family:var(--font-mono)}@media(max-width:640px){.theory-article table{display:block;overflow-x:auto}}.theory-article pre{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-4);font-family:var(--font-mono);font-size:var(--fs-sm);line-height:1.55;overflow-x:auto;margin:var(--sp-4) 0 var(--sp-6)}.theory-article pre code{font-family:inherit;background:transparent;border:0;padding:0;color:var(--text)}.tok-kw{color:var(--brand);font-weight:var(--fw-medium)}.tok-fn{color:var(--info)}.tok-num{color:var(--warn-soft-text)}.tok-str{color:var(--success-soft-text)}.tok-cmt{color:var(--text-tertiary);font-style:italic}.tok-op{color:var(--text-secondary)}.callout{display:grid;grid-template-columns:32px 1fr;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-md);margin:var(--sp-4) 0 var(--sp-6);font-size:var(--fs-md);line-height:var(--lh-relaxed);border:1px solid}.callout__icon{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;font-size:14px;flex-shrink:0}.callout__title{font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);margin:0 0 4px;font-size:var(--fs-md)}.callout p:last-child{margin-bottom:0}.callout p{font-size:var(--fs-md);line-height:var(--lh-relaxed)}.callout--rule{background:var(--brand-soft);border-color:var(--brand-soft-text);color:var(--text)}.callout--rule .callout__icon{background:var(--brand);color:#fff}.callout--rule .callout__title{color:var(--brand-soft-text)}.callout--warn{background:var(--warn-soft);border-color:var(--warn);color:var(--text)}.callout--warn .callout__icon{background:var(--warn);color:#fff}.callout--warn .callout__title{color:var(--warn-soft-text)}.callout--tip{background:var(--success-soft);border-color:var(--success);color:var(--text)}.callout--tip .callout__icon{background:var(--success);color:#fff}.callout--tip .callout__title{color:var(--success-soft-text)}.callout__icon svg{width:16px;height:16px}.fig{margin:var(--sp-4) 0 var(--sp-6)}.fig__placeholder{width:100%;aspect-ratio:16 / 9;border-radius:var(--r-lg);background:repeating-linear-gradient(45deg,var(--bg-subtle),var(--bg-subtle) 8px,var(--bg-muted) 8px,var(--bg-muted) 16px);border:1px solid var(--border);display:grid;place-items:center;color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-wide);text-align:center;padding:var(--sp-4)}.fig__caption{font-size:var(--fs-xs);color:var(--text-tertiary);text-align:center;margin-top:var(--sp-2)}.theory-footer-cta{margin-top:var(--sp-12);padding:var(--sp-6);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-xl);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap}.theory-footer-cta__title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);margin:0 0 4px}.theory-footer-cta__desc{color:var(--text-secondary);font-size:var(--fs-sm);margin: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:#fff;border-color:var(--brand)}.btn--primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.btn--secondary{background:var(--bg-elevated);color:var(--text);border-color:var(--border-strong)}.btn--secondary:hover{background:var(--bg-subtle)}.btn--lg{padding:12px 20px;font-size:var(--fs-md)}.btn--ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.btn--ghost:hover{background:var(--bg-subtle);color:var(--text)}.btn svg{width:1em;height:1em}.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__dot{width:6px;height:6px;border-radius:999px;background:currentColor}*,*: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:900px){table.admin-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}}@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}}.sch{color:var(--text)}.sch .section-label{font-size:11px;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.sch .mono{font-family:var(--font-mono)}.sch .phead{display:flex;align-items:center;gap:12px;margin-bottom:24px;flex-wrap:wrap}.sch .phead h1{font-size:24px;font-weight:var(--fw-bold);letter-spacing:-.4px;margin:0}.sch .phead .spacer{flex:1}.sch .bar{display:block;height:6px;border-radius:999px;background:var(--bg-muted);overflow:hidden}.sch .bar>i{display:block;height:100%;border-radius:999px;background:var(--brand)}.sch .bar.success>i{background:var(--success)}.sch .bar.warn>i{background:var(--warn)}.sch .avatar{width:40px;height:40px;border-radius:999px;flex-shrink:0;background:linear-gradient(135deg,var(--brand),var(--brand-active));color:#fff;font-weight:var(--fw-semibold);display:inline-flex;align-items:center;justify-content:center}.sch .chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--r-pill);font-size:12px;font-weight:var(--fw-medium);line-height:1.4;background:var(--bg-subtle);color:var(--text-secondary);white-space:nowrap}.sch .chip.brand{background:var(--brand-soft);color:var(--brand-soft-text)}.sch .chip.success{background:var(--success-soft);color:var(--success-soft-text)}.sch .chip.warn{background:var(--warn-soft);color:var(--warn-soft-text)}.sch .chip.info{background:var(--info-soft);color:var(--info-soft-text)}.sch .chip.danger{background:var(--danger-soft);color:var(--danger-soft-text)}.sch .chip .dot{width:6px;height:6px;border-radius:999px;background:currentColor}.sch .chip.grade-9{background:var(--info-soft);color:var(--info-soft-text)}.sch .chip.grade-10{background:var(--brand-soft);color:var(--brand-soft-text)}.sch .chip.grade-11{background:var(--success-soft);color:var(--success-soft-text)}.sch .metric-value{font-size:26px;font-weight:var(--fw-bold);letter-spacing:-.5px;line-height:1.05}.sch .metric-value.sm{font-size:24px}.sch .metric-value.brand{color:var(--brand)}.sch .metric-value.success{color:var(--success)}.sch .metric-value.warn{color:var(--warn)}.sch .metric-total{font-family:var(--font-mono);color:var(--text-tertiary);font-size:15px}.sch .ibadge{width:30px;height:30px;border-radius:8px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-muted);color:var(--text-secondary)}.sch .ibadge.brand{background:var(--brand-soft);color:var(--brand-soft-text)}.sch .ibadge.success{background:var(--success-soft);color:var(--success-soft-text)}.sch .ibadge.warn{background:var(--warn-soft);color:var(--warn-soft-text)}.sch .ibadge.info{background:var(--info-soft);color:var(--info-soft-text)}.sch .ibadge.lg{width:44px;height:44px;border-radius:12px}.sch .subj-tile{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;color:#fff;flex-shrink:0}.sch .subj-tile.inf{background:var(--brand)}.sch .subj-tile.math{background:var(--success)}.sch .metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.sch .cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.sch .cards-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:900px){.sch .metrics-grid{grid-template-columns:repeat(2,1fr)}.sch .cards-3{grid-template-columns:1fr}}@media(max-width:600px){.sch .cards-2{grid-template-columns:1fr}}.sch .note{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:var(--r-md);background:var(--bg-subtle);font-size:13px;color:var(--text-secondary);line-height:1.5}.sch .note svg{flex-shrink:0}.sch .note.info{background:var(--info-soft);color:var(--info-soft-text)}.sch .note.warn{background:var(--warn-soft);color:var(--warn-soft-text)}.sch .note.success{background:var(--success-soft);color:var(--success-soft-text)}.sch .note.danger{background:var(--danger-soft);color:var(--danger-soft-text)}.sch .stepper{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border);border-radius:var(--r-md);padding:4px}.sch .stepper button{width:40px;height:40px;border:0;border-radius:8px;background:var(--bg-subtle);font-size:22px;font-weight:600;cursor:pointer;color:var(--text)}.sch .stepper button:hover{background:var(--bg-muted)}.sch .stepper .val{width:56px;text-align:center;font-size:22px;font-weight:600;font-family:var(--font-mono)}.sch .field{display:flex;flex-direction:column;gap:6px}.sch .field>span{font-size:13px;font-weight:var(--fw-semibold);color:var(--text)}.sch .field input,.sch .field select{width:100%;font:inherit;color:var(--text);background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--r-md);padding:11px 13px;min-height:44px}.sch .field input:focus,.sch .field select:focus{outline:none;border-color:var(--brand);box-shadow:var(--shadow-focus)}.sch .field .hint{font-size:12px;color:var(--text-tertiary);font-weight:var(--fw-regular)}.sch .roster{padding:0;overflow:hidden}.sch .roster__head,.sch .roster__row{display:grid;grid-template-columns:1.6fr 1.4fr 1.3fr 1fr auto;gap:16px;padding:13px 20px;align-items:center}.sch .roster__head{background:var(--bg-subtle);border-bottom:1px solid var(--border)}.sch .roster__row+.sch .roster__row,.sch .roster__row{border-bottom:1px solid var(--border)}.sch .roster__row:last-child{border-bottom:0}.sch .roster__name{display:flex;align-items:center;gap:12px;background:none;border:0;text-align:left;cursor:pointer;color:var(--text);font:inherit}.sch .roster__name b{font-weight:var(--fw-semibold);font-size:14.5px}@media(max-width:760px){.sch .roster__head{display:none}.sch .roster__row{grid-template-columns:1fr auto;gap:8px 12px}}.sch .week{display:flex;align-items:flex-end;gap:8px;height:60px}.sch .week>div{flex:1;display:flex;flex-direction:column;gap:5px;align-items:center}.sch .week .col{width:100%;border-radius:5px;background:var(--brand)}.sch .week .col.empty{background:var(--bg-muted)}.sch .week small{font-size:11px;color:var(--text-tertiary)}.sch{--m-exam: #059669;--m-hint: #eab308;--m-support: #f97316;--m-learn: #dc2626}[data-theme=dark] .sch{--m-exam: #4ade80;--m-hint: #facc15;--m-support: #fb923c;--m-learn: #f87171}.sch .tbl{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.sch .tbl th{font-size:11px;font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);text-align:left;padding:10px 14px;border-bottom:1px solid var(--border);white-space:nowrap}.sch .tbl td{padding:11px 14px;border-bottom:1px solid var(--border-subtle);vertical-align:middle}.sch .tbl tbody tr:last-child td{border-bottom:0}.sch .tbl tbody tr{transition:background .12s}.sch .tbl tbody tr:hover{background:var(--bg-subtle)}.sch .tbl .num,.sch .num{font-variant-numeric:tabular-nums}.sch .ibtn{width:34px;height:34px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-tertiary);cursor:pointer;border:0;background:none;flex-shrink:0;transition:background .12s,color .12s}.sch .ibtn:hover{background:var(--bg-muted);color:var(--text)}.sch .ibtn:disabled{opacity:.5;cursor:default}.sch .mcell{border:1px solid var(--border);border-radius:var(--r-md);padding:10px 12px;background:var(--bg-elevated);transition:border-color .15s,box-shadow .15s}.sch .mcell:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.sch-toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%);z-index:95;display:flex;align-items:center;gap:9px;background:var(--text);color:var(--bg-elevated);font-size:var(--fs-sm);font-weight:var(--fw-medium);padding:11px 16px;border-radius:12px;box-shadow:var(--shadow-lg);white-space:nowrap;animation:sch-toast-in .22s var(--ease-out) both}@keyframes sch-toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.sch .alink{color:var(--brand);font-weight:var(--fw-semibold);cursor:pointer;font-size:var(--fs-sm);background:none;border:0;padding:0;font-family:inherit}.sch .alink:hover{color:var(--brand-hover)}.sch .mseg{display:flex;height:6px;border-radius:999px;overflow:hidden;background:var(--bg-muted)}.sch .mseg>i{display:block;height:100%}.sch .mseg .m-exam{background:var(--m-exam)}.sch .mseg .m-hint{background:var(--m-hint)}.sch .mseg .m-support{background:var(--m-support)}.sch .mseg .m-learn{background:var(--m-learn)}.sch .mcard{display:flex;flex-direction:column;gap:2px;padding:14px 16px;min-width:0}.sch .mcard__label{display:flex;align-items:center;gap:7px;font-size:var(--fs-xs);color:var(--text-tertiary);font-weight:var(--fw-medium)}.sch .mcard__value{font-size:26px;font-weight:var(--fw-bold);letter-spacing:-.5px;font-variant-numeric:tabular-nums}.sch .mcard__hint{font-size:var(--fs-xs);color:var(--text-tertiary)}.sch .chead{display:flex;align-items:center;gap:8px;margin-bottom:10px}.sch .chead__title{font-weight:var(--fw-bold);font-size:var(--fs-md)}.sch .estate{display:flex;flex-direction:column;align-items:center;gap:6px;padding:40px 20px;text-align:center}.sch .estate__icon{width:48px;height:48px;border-radius:14px;background:var(--bg-muted);color:var(--text-tertiary);display:inline-flex;align-items:center;justify-content:center;margin-bottom:6px}.sch .estate__title{font-weight:var(--fw-semibold);font-size:var(--fs-md)}.sch .estate__text{color:var(--text-secondary);font-size:var(--fs-sm);max-width:340px;line-height:1.5}.sch .estate__action{margin-top:12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:center}:root,[data-theme=light]{--exp:#7c3aed;--exp-soft:#f1eaff;--exp-soft-text:#5b21b6;--dbg:#c2410c;--dbg-soft:#ffedd5;--dbg-soft-text:#9a3412;--ref:#0d9488;--ref-soft:#d1f3ef;--ref-soft-text:#0f766e;--code-bg:#f6f8fc;--code-line:#eef1f7;--console-bg:#0f1320;--console-text:#e6e9f3;--console-dim:#8b94a6;--cm-comment:#8b94a6;--cm-string:#15803d;--cm-num:#b45309;--cm-kw:#7c3aed;--cm-builtin:#0369a1;--cm-const:#0d9488;--cm-op:#5b6478;--cm-fn:#4f46e5;--cm-text:#27314a;--t-int:#0369a1;--t-int-bg:#e0f2fe;--t-float:#7c3aed;--t-float-bg:#f1eaff;--t-str:#15803d;--t-str-bg:#dcfce7;--t-bool:#b45309;--t-bool-bg:#fef3c7}[data-theme=dark]{--exp:#a78bfa;--exp-soft:#241a3a;--exp-soft-text:#ddd0ff;--dbg:#fb923c;--dbg-soft:#37210e;--dbg-soft-text:#fed7aa;--ref:#2dd4bf;--ref-soft:#07312c;--ref-soft-text:#99f6e4;--code-bg:#10141f;--code-line:#1b2130;--console-bg:#05070d;--console-text:#e6e9f3;--console-dim:#6b7385;--cm-comment:#6b7385;--cm-string:#5ad18b;--cm-num:#fbbf24;--cm-kw:#b79bff;--cm-builtin:#56c7f5;--cm-const:#2dd4bf;--cm-op:#9aa3b5;--cm-fn:#9a93ff;--cm-text:#d7dbe6;--t-int:#7cc8f0;--t-int-bg:#0b2235;--t-float:#c4b3ff;--t-float-bg:#241a3a;--t-str:#86e0a6;--t-str-bg:#0a2c18;--t-bool:#fcd34d;--t-bool-bg:#3a2807}.cl-root,.cl-root *{box-sizing:border-box}.cl-root{font-family:Inter,-apple-system,system-ui,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:var(--fs-base);line-height:1.5;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}:where(.cl-root button){font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}.cl-root a{color:inherit;text-decoration:none}.cl-mono{font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace}.cl-scroll::-webkit-scrollbar{width:10px;height:10px}.cl-scroll::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:6px;border:3px solid transparent;background-clip:content-box}.cl-scroll::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary);border:3px solid transparent;background-clip:content-box}.cl-scroll::-webkit-scrollbar-track{background:transparent}.cl-tablefig{margin:22px 0}.cl-caption{font-size:12px;color:var(--text-tertiary);font-weight:500;text-align:left;margin:0 0 7px 2px;letter-spacing:.01em}.cl-table-wrap{border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:var(--shadow-xs);width:fit-content;max-width:100%;background:var(--bg-elevated)}.cl-tbl-scroll{overflow-x:auto;max-width:100%}.katex-display{overflow-x:auto;overflow-y:hidden;max-width:100%;padding:3px 2px}@media(max-width:767px){.cl-course-main svg{max-width:100%}.cl-course-main p>.katex:only-child{display:block;max-width:100%;overflow-x:auto;overflow-y:hidden;padding-bottom:2px}}.cl-table{border-collapse:collapse;font-size:14px;width:100%}.cl-table th{background:var(--bg-subtle);font-weight:600;color:var(--text-secondary);font-size:12.5px;letter-spacing:.01em;padding:9px 16px;white-space:nowrap;border-bottom:1px solid var(--border)}.cl-table td{padding:9px 16px;vertical-align:middle;color:var(--text)}.cl-table tbody tr+tr td{border-top:1px solid var(--border)}.cl-table[data-tbl=zebra] tbody tr:nth-child(2n) td{background:var(--bg-subtle)}.cl-table[data-tbl=zebra] tbody tr+tr td{border-top:none}.cl-table[data-tbl=grid] th,.cl-table[data-tbl=grid] td{border:1px solid var(--border)}.cl-table[data-tbl=lines] tbody tr+tr td{border-top:1px solid var(--border)}.cl-chip-cell{display:inline-block;font-size:12.5px;padding:2px 8px;border-radius:6px;background:var(--bg-muted);color:var(--text)}.cl-table[data-tbl=zebra] tbody tr:nth-child(2n) .cl-chip-cell{background:var(--bg-elevated)}.cl-codecell{margin:0;font-size:12.5px;line-height:1.55;text-align:left;color:var(--cm-text);white-space:pre;-moz-tab-size:2;tab-size:2}.cl-codecell.before{color:var(--text-secondary)}.cl-type{display:inline-block;font-size:12px;font-weight:600;padding:2px 9px;border-radius:999px;font-family:JetBrains Mono,ui-monospace,monospace}.cl-type.int{color:var(--t-int);background:var(--t-int-bg)}.cl-type.float{color:var(--t-float);background:var(--t-float-bg)}.cl-type.str{color:var(--t-str);background:var(--t-str-bg)}.cl-type.bool{color:var(--t-bool);background:var(--t-bool-bg)}.cl-badge{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;padding:5px 11px 5px 9px;border-radius:999px;line-height:1;white-space:nowrap}.cl-badge.experiment{background:var(--exp-soft);color:var(--exp-soft-text)}.cl-badge.debugging{background:var(--dbg-soft);color:var(--dbg-soft-text)}.cl-badge.refactoring{background:var(--ref-soft);color:var(--ref-soft-text)}.cl-badge.program{background:var(--brand);color:#fff}.cl-callout{display:flex;gap:12px;border-radius:12px;padding:16px 18px;margin:22px 0}.cl-callout .cl-co-ic{flex-shrink:0;margin-top:1px}.cl-callout .cl-co-t{font-weight:600;font-size:14.5px;margin-bottom:3px}.cl-callout .cl-co-b{font-size:14px;line-height:1.6}.cl-callout.info{background:var(--info-soft);color:var(--info-soft-text)}.cl-callout.warn{background:var(--warn-soft);color:var(--warn-soft-text)}.cl-callout.success{background:var(--success-soft);color:var(--success-soft-text)}.cl-callout.brand{background:var(--brand-soft);color:var(--brand-soft-text)}.cl-seg{display:inline-flex;padding:3px;gap:2px;background:var(--bg-muted);border-radius:10px}.cl-seg button{padding:6px 13px;border-radius:7px;font-size:13px;font-weight:600;color:var(--text-secondary);display:inline-flex;align-items:center;gap:6px}.cl-seg button:hover{color:var(--text)}.cl-seg button[data-on="1"]{background:var(--bg-elevated);color:var(--text);box-shadow:var(--shadow-xs)}.cl-seg.brand button[data-on="1"]{color:var(--brand)}.cl-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:14px}.cl-editor{position:relative;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--code-bg);font-family:JetBrains Mono,ui-monospace,monospace}.cl-editor.focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring)}.cl-ed-scroll{position:relative;overflow:auto;max-height:360px}.cl-ed-grid{position:relative;min-height:100%}.cl-ed-gutter{position:absolute;left:0;top:0;width:42px;padding:14px 0;text-align:right;color:var(--text-tertiary);font-size:13.5px;line-height:22px;-webkit-user-select:none;user-select:none;border-right:1px solid var(--border)}.cl-ed-gutter span{display:block;padding-right:10px}.cl-ed-gutter span[data-active="1"]{color:var(--brand);font-weight:600}.cl-ed-layer{position:relative;margin-left:42px}.cl-ed-band{position:absolute;left:0;right:0;height:22px;background:var(--brand-soft);pointer-events:none;transition:top .16s var(--ease-out);opacity:0;z-index:0}.cl-ed-band.on{opacity:.6}.cl-ed-band.err{background:var(--danger-soft);opacity:.7}.cl-ed-pre,.cl-ed-ta{margin:0;padding:14px 16px 14px 12px;font:inherit;font-size:13.5px;line-height:22px;white-space:pre;-moz-tab-size:4;tab-size:4;letter-spacing:0;border:0;outline:0}.cl-ed-pre{position:relative;z-index:1;color:var(--cm-text);pointer-events:none;min-height:22px}.cl-ed-ta{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;width:100%;height:100%;resize:none;background:transparent;color:transparent;caret-color:var(--brand);-webkit-text-fill-color:transparent;overflow:hidden}.cl-ed-ta::selection{background:var(--brand-ring)}.cm-comment{color:var(--cm-comment);font-style:italic}.cm-string{color:var(--cm-string)}.cm-num{color:var(--cm-num)}.cm-kw{color:var(--cm-kw);font-weight:600}.cm-builtin{color:var(--cm-builtin)}.cm-const{color:var(--cm-const);font-weight:600}.cm-op{color:var(--cm-op)}.cm-fn{color:var(--cm-fn)}.cm-punct{color:var(--cm-op)}.cl-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cl-run{background:var(--brand);color:#fff}.cl-run:hover{background:var(--brand-hover)}.cl-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 16px;border-radius:10px;font-weight:600;font-size:14px;transition:transform var(--dur-fast) var(--ease)}.cl-btn:active{transform:scale(.97)}.cl-btn.secondary{background:var(--bg-muted);color:var(--text)}.cl-btn.secondary:hover{background:var(--border-strong)}.cl-btn.ghost{background:transparent;color:var(--text-secondary)}.cl-btn.ghost:hover{color:var(--text);background:var(--bg-subtle)}.cl-console{background:var(--console-bg);border-radius:12px;overflow:hidden;font-family:JetBrains Mono,ui-monospace,monospace;border:1px solid var(--border)}.cl-console-hd{display:flex;align-items:center;gap:8px;padding:9px 14px;color:var(--console-dim);font-size:12px;font-weight:600;letter-spacing:.04em;border-bottom:1px solid rgba(255,255,255,.06);text-transform:uppercase}.cl-console-body{padding:12px 14px;min-height:56px;max-height:200px;overflow:auto}.cl-console-line{color:var(--console-text);font-size:13px;line-height:1.65;white-space:pre-wrap;word-break:break-word}.cl-console-line.err{color:#fca5a5}.cl-console-empty{color:var(--console-dim);font-size:13px;font-style:italic}.cl-console-dots{display:inline-flex;gap:5px;margin-left:auto}.cl-console-dots i{width:9px;height:9px;border-radius:50%;background:#ffffff24}.cl-trace-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.cl-varbox{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;background:var(--bg-subtle);border:1px solid var(--border)}.cl-varbox+.cl-varbox{margin-top:8px}.cl-varbox.changed{background:var(--brand-soft);border-color:var(--brand)}.cl-varbox .vn{font-family:JetBrains Mono,monospace;font-weight:600;font-size:14px;color:var(--text)}.cl-varbox .vv{font-family:JetBrains Mono,monospace;font-size:14px;color:var(--text);text-align:right}.cl-varbox.changed .vv{color:var(--brand-soft-text)}.cl-eq{color:var(--text-tertiary);font-family:JetBrains Mono,monospace}.cl-stepper{display:flex;align-items:center;gap:8px}.cl-stepbtn{width:34px;height:34px;border-radius:9px;background:var(--bg-muted);display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary)}.cl-stepbtn:hover:not(:disabled){background:var(--border-strong);color:var(--text)}.cl-stepbtn:disabled{opacity:.4;cursor:default}.cl-stepdots{display:flex;gap:4px;align-items:center}.cl-stepdots i{width:7px;height:7px;border-radius:50%;background:var(--border-strong);transition:opacity .2s var(--ease)}.cl-stepdots i[data-on="1"]{background:var(--brand)}.cl-stepdots i[data-done="1"]{background:var(--brand);opacity:.4}.cl-expr{margin-top:14px;padding:12px 14px;border-radius:10px;background:var(--bg-subtle);border:1px dashed var(--border-strong);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cl-expr .lbl{font-family:JetBrains Mono,monospace;font-size:14px;color:var(--text-secondary)}.cl-expr .arrow{color:var(--text-tertiary)}.cl-expr .val{font-family:JetBrains Mono,monospace;font-size:15px;font-weight:700;color:var(--text)}.cl-hint{background:var(--warn-soft);color:var(--warn-soft-text);border-radius:12px;padding:13px 15px;display:flex;gap:11px;align-items:flex-start}.cl-hint+.cl-hint{margin-top:9px}.cl-hint .lv{font-size:11px;font-weight:700;letter-spacing:.04em;opacity:.75}.cl-result{border-radius:12px;padding:15px 17px;display:flex;gap:12px;align-items:flex-start}.cl-result.ok{background:var(--success-soft);color:var(--success-soft-text)}.cl-result.no{background:var(--danger-soft);color:var(--danger-soft-text)}.cl-prac-side{display:flex;flex-direction:column;gap:18px;min-width:0}.cl-practice[data-layout=right]{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(320px,1fr);grid-template-areas:"input output" "feedback output";gap:22px;align-items:start}.cl-area-input{grid-area:input}.cl-area-output{grid-area:output}.cl-area-feedback{grid-area:feedback}.cl-practice[data-layout=wide]{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,1.04fr);gap:22px;align-items:start}.cl-practice[data-layout=bottom]{display:flex;flex-direction:column;gap:22px}.cl-practice[data-layout=bottom] .cl-prac-side{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media(max-width:900px){.cl-practice[data-layout=wide]{grid-template-columns:1fr}.cl-practice[data-layout=right]{grid-template-columns:1fr;grid-template-areas:"input" "output" "feedback"}.cl-practice[data-layout=bottom] .cl-prac-side{grid-template-columns:1fr}}.cl-root[data-density=compact]{--pad-card: 16px}.cl-root[data-density=cozy]{--pad-card: 22px}
