:root{--color-brand:#0f226e;--color-brand-strong:#294d9b;--color-logo:#2f2eff;--color-canvas:#f7f9fb;--color-ink:#0d161c;--color-text:#36424b;--color-muted:#72808a;--color-surface:#fff;--color-surface-2:#fcfdfe;--color-surface-muted:#f5f8fb;--color-border:#dce3e8;--color-border-strong:#c8d2db;--color-brand-soft:#edf3fa;--color-brand-tint:#f5f8fc;--color-success:#1a7c62;--color-success-soft:#eaf7f1;--color-success-border:#c6e8da;--color-neutral-soft:#f2f5f7;--color-warning:#82631e;--color-warning-soft:#fbf6e8;--color-primary-surface:linear-gradient(135deg, #0d161c 0%, #13202b 100%);--color-primary-surface-hover:linear-gradient(135deg, #0f226e 0%, #294d9b 100%);--color-primary-ink:#fff;--shadow-primary-hover:0 10px 24px #0f226e38;--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--radius-pill:999px;--shadow-sm:0 6px 18px #0d161c0d;--shadow-md:0 18px 48px #0d161c14;--motion-easing:cubic-bezier(.2, .8, .2, 1);--motion-hover:.18s;--motion-expand:.24s;--motion-screen:.42s;--layout-content-max:1220px;--layout-page-gutter:32px;--layout-sidebar-expanded:248px;--layout-sidebar-collapsed:76px;--layout-sidebar-min:220px;--layout-sidebar-max:320px;--layout-sidebar-resizer:10px;--layout-topbar-height:60px;--sidebar-width:248px;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", sans-serif;--focus-ring:0 0 0 3px #294d9b2e}:root[data-theme=dark]{--color-canvas:#090f14;--color-ink:#f3f7fa;--color-text:#e1e8ee;--color-muted:#aebbc5;--color-surface:#101821;--color-surface-2:#16212b;--color-surface-muted:#0d141b;--color-border:#2b3a46;--color-border-strong:#40515f;--color-brand-soft:#12243b;--color-brand-tint:#101d2b;--color-logo:#6b6aff;--color-success:#66c9a8;--color-success-soft:#133126;--color-success-border:#245646;--color-neutral-soft:#121b23;--color-warning:#e2be72;--color-warning-soft:#292316;--color-primary-surface:linear-gradient(135deg, #355fb9 0%, #4677da 100%);--color-primary-surface-hover:linear-gradient(135deg, #4778da 0%, #5b8af0 100%);--color-primary-ink:#fff;--shadow-primary-hover:0 14px 30px #2143946b;--shadow-sm:0 10px 30px #00000042;--shadow-md:0 28px 72px #0000006b}
*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;transition:background var(--motion-hover) var(--motion-easing), color var(--motion-hover) var(--motion-easing);margin:0;font-size:15px;line-height:1.55}button,input,select,textarea,a{font:inherit}button{cursor:pointer}h1,h2,h3,h4,h5,h6{color:var(--color-ink);letter-spacing:-.02em;margin:0}p{margin:0}a{color:var(--color-brand-strong)}:focus-visible{outline-offset:2px;outline:3px solid #294d9b2e}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.screen{min-height:calc(100vh - 116px)}.screen-centered{align-items:center;display:grid}.training-shell{gap:14px;display:grid}@keyframes screenEnter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.screen-enter{animation:screenEnter .42s var(--motion-easing) both}@media (prefers-reduced-motion:reduce){.screen-enter{animation:none}}.confetti-layer{z-index:110;pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti-piece{width:var(--confetti-width,9px);height:var(--confetti-height,15px);background:var(--confetti-color);opacity:0;animation:confettiFall var(--confetti-duration) var(--confetti-delay) cubic-bezier(.15, .78, .25, 1) forwards;will-change:transform, opacity;border-radius:2px;position:absolute;top:-24px;left:50%;transform:translate(0,0)rotate(0)}.confetti-piece.round{border-radius:50%}@keyframes confettiFall{0%{opacity:0;transform:translate3d(var(--confetti-start-x), -24px, 0) rotate(0deg)}10%{opacity:1}to{opacity:0;transform:translate3d(var(--confetti-end-x), 105vh, 0) rotate(var(--confetti-rotate))}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
