.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:transparent;opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors:active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-popover{background:none;border:none;padding:0;outline:0;overflow:visible;position:fixed;pointer-events:none;white-space:normal;color:inherit;text-decoration:none;width:100%;height:100%;inset:0 auto auto 0}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed;z-index:auto}html{height:100%;margin:0;--mat-sys-background: light-dark(#fef8fc, #151316);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f5eff4, #323033);--mat-sys-inverse-primary: light-dark(#d5baff, #7d00fa);--mat-sys-inverse-surface: light-dark(#323033, #e6e1e6);--mat-sys-on-background: light-dark(#1d1b1e, #e6e1e6);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #42008a);--mat-sys-on-primary-container: light-dark(#5f00c0, #ecdcff);--mat-sys-on-primary-fixed: light-dark(#270057, #270057);--mat-sys-on-primary-fixed-variant: light-dark(#5f00c0, #5f00c0);--mat-sys-on-secondary: light-dark(#ffffff, #352d40);--mat-sys-on-secondary-container: light-dark(#4b4357, #eadef7);--mat-sys-on-secondary-fixed: light-dark(#1f182a, #1f182a);--mat-sys-on-secondary-fixed-variant: light-dark(#4b4357, #4b4357);--mat-sys-on-surface: light-dark(#1d1b1e, #e6e1e6);--mat-sys-on-surface-variant: light-dark(#49454e, #e8e0eb);--mat-sys-on-tertiary: light-dark(#ffffff, #502400);--mat-sys-on-tertiary-container: light-dark(#723600, #ffdcc7);--mat-sys-on-tertiary-fixed: light-dark(#311300, #311300);--mat-sys-on-tertiary-fixed-variant: light-dark(#723600, #723600);--mat-sys-outline: light-dark(#7b757f, #958e99);--mat-sys-outline-variant: light-dark(#cbc4cf, #49454e);--mat-sys-primary: light-dark(#7d00fa, #d5baff);--mat-sys-primary-container: light-dark(#ecdcff, #5f00c0);--mat-sys-primary-fixed: light-dark(#ecdcff, #ecdcff);--mat-sys-primary-fixed-dim: light-dark(#d5baff, #d5baff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#645b70, #cec2db);--mat-sys-secondary-container: light-dark(#eadef7, #4b4357);--mat-sys-secondary-fixed: light-dark(#eadef7, #eadef7);--mat-sys-secondary-fixed-dim: light-dark(#cec2db, #cec2db);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#fef8fc, #151316);--mat-sys-surface-bright: light-dark(#fef8fc, #3b383c);--mat-sys-surface-container: light-dark(#f2ecf1, #211f22);--mat-sys-surface-container-high: light-dark(#ede6eb, #2b292d);--mat-sys-surface-container-highest: light-dark(#e6e1e6, #363437);--mat-sys-surface-container-low: light-dark(#f8f2f6, #1d1b1e);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0f0d11);--mat-sys-surface-dim: light-dark(#ded8dd, #151316);--mat-sys-surface-tint: light-dark(#7d00fa, #d5baff);--mat-sys-surface-variant: light-dark(#e8e0eb, #49454e);--mat-sys-tertiary: light-dark(#964900, #ffb787);--mat-sys-tertiary-container: light-dark(#ffdcc7, #723600);--mat-sys-tertiary-fixed: light-dark(#ffdcc7, #ffdcc7);--mat-sys-tertiary-fixed-dim: light-dark(#ffb787, #ffb787);--mat-sys-neutral-variant20: #332f37;--mat-sys-neutral10: #1d1b1e;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Roboto;--mat-sys-body-large-font: Roboto;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Roboto;--mat-sys-body-medium-font: Roboto;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Roboto;--mat-sys-body-small-font: Roboto;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto;--mat-sys-display-large-font: Roboto;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font: Roboto;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font: Roboto;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font: Roboto;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font: Roboto;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font: Roboto;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Roboto;--mat-sys-label-large-font: Roboto;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font: Roboto;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font: Roboto;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Roboto;--mat-sys-title-small-font: Roboto;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}body{color-scheme:light;background-color:var(--mat-sys-surface);color:var(--mat-sys-on-surface);font:var(--mat-sys-body-medium);margin:0;height:100%}:root{--xo-font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;--xo-font-display: "Merriweather", Georgia, serif;--xo-font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--xo-font-logo: "Space Mono", monospace;--xo-font-size-xs: .75rem;--xo-font-size-sm: .875rem;--xo-font-size-base: 1rem;--xo-font-size-md: 1.125rem;--xo-font-size-lg: 1.25rem;--xo-font-size-xl: 1.5rem;--xo-font-size-2xl: 2rem;--xo-font-size-3xl: 2.5rem;--xo-font-weight-normal: 400;--xo-font-weight-medium: 500;--xo-font-weight-semibold: 600;--xo-font-weight-bold: 700;--xo-line-height-tight: 1.25;--xo-line-height-normal: 1.5;--xo-line-height-relaxed: 1.75;--xo-space-1: .25rem;--xo-space-1-5: .375rem;--xo-space-2: .5rem;--xo-space-2-5: .625rem;--xo-space-3: .75rem;--xo-space-4: 1rem;--xo-space-5: 1.25rem;--xo-space-6: 1.5rem;--xo-space-8: 2rem;--xo-space-10: 2.5rem;--xo-space-12: 3rem;--xo-space-16: 4rem;--xo-radius-sm: .25rem;--xo-radius-md: .5rem;--xo-radius-lg: .75rem;--xo-radius-xl: 1rem;--xo-radius-full: 9999px;--xo-transition-fast: .15s ease;--xo-transition-base: .25s ease;--xo-transition-slow: .35s ease;--xo-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--xo-shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--xo-shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--xo-shadow-xl: 0 20px 25px rgba(0, 0, 0, .1);--xo-z-dropdown: 100;--xo-z-sticky: 200;--xo-z-overlay: 300;--xo-z-modal: 400;--xo-z-toast: 500;--xo-color-overlay: rgba(0, 0, 0, .6);--xo-color-google-blue: #4285f4;--xo-color-google-blue-text: #ffffff;--xo-max-width: 1280px;--xo-navbar-height: 4rem;--xo-navbar-offset: var(--xo-space-4);--xo-consent-banner-height: 0px;--xo-drawer-width: 300px}:root,[data-theme=light]{--xo-color-bg: #ffffff;--xo-color-bg-secondary: #f8fafc;--xo-color-bg-tertiary: #f1f5f9;--xo-color-surface: #ffffff;--xo-color-surface-hover: #f8fafc;--xo-color-border: #e2e8f0;--xo-color-border-strong: #cbd5e1;--xo-color-text-primary: #0f172a;--xo-color-text-secondary: #475569;--xo-color-text-tertiary: #64748b;--xo-color-text-inverse: #ffffff;--xo-color-primary: #7c3aed;--xo-color-primary-hover: #7f3cea;--xo-color-primary-light: #ede9fe;--xo-color-accent: #9d77f5;--xo-color-primary-gradient: linear-gradient(135deg, #6d28d9 0%, #7c3aed 55%, #8b5cf6 100%);--xo-color-success: #22c55e;--xo-color-success-light: #f0fdf4;--xo-color-success-text: #15803d;--xo-color-warning: #f59e0b;--xo-color-warning-light: #fffbeb;--xo-color-error: #ef4444;--xo-color-error-light: #fef2f2;--xo-color-info: #3b82f6;--xo-color-info-light: #eff6ff;--xo-color-focus-ring: rgba(124, 58, 237, .4);--xo-color-level-a1: #5f55e7;--xo-color-level-a2: #3529e0;--xo-color-level-b1: #251bbb;--xo-color-level-b2: #1d148f;--xo-color-level-c1: #140e62;--xo-color-level-c2: #0c083a;--xo-color-level-unknown: var(--xo-color-text-tertiary);--xo-color-circle-discovery: #3585d8;--xo-color-circle-practicing: #eb6834;--xo-color-circle-mastered: #1baf7a;--xo-color-circle-discovery-gradient: linear-gradient(135deg, #1e5d9d 0%, #3585d8 55%, #86b4e3 100%);--xo-color-circle-practicing-gradient: linear-gradient(135deg, #bb4212 0%, #eb6834 55%, #f0a88b 100%);--xo-color-circle-mastered-gradient: linear-gradient(135deg, #106849 0%, #1baf7a 55%, #49dda8 100%);--xo-color-paper-bg: #ddcda3;--xo-color-paper-bg-hover: #d0bd8f;--xo-color-paper-text: #3a3226;color-scheme:light}[data-theme=dark]{--xo-color-bg: #0f172a;--xo-color-bg-secondary: #1e293b;--xo-color-bg-tertiary: #334155;--xo-color-surface: #1e293b;--xo-color-surface-hover: #334155;--xo-color-border: #334155;--xo-color-border-strong: #475569;--xo-color-text-primary: #f8fafc;--xo-color-text-secondary: #cbd5e1;--xo-color-text-tertiary: #94a3b8;--xo-color-text-inverse: #0f172a;--xo-color-primary: #a78bfa;--xo-color-primary-hover: #c4b5fd;--xo-color-primary-light: rgba(139, 92, 246, .15);--xo-color-accent: #c4b5fd;--xo-color-primary-gradient: linear-gradient(135deg, #a78bfa 0%, #c4b5fd 100%);--xo-color-success: #4ade80;--xo-color-success-light: rgba(34, 197, 94, .15);--xo-color-success-text: #86efac;--xo-color-warning: #fbbf24;--xo-color-warning-light: rgba(245, 158, 11, .15);--xo-color-error: #f87171;--xo-color-error-light: rgba(239, 68, 68, .15);--xo-color-info: #60a5fa;--xo-color-info-light: rgba(59, 130, 246, .15);--xo-color-focus-ring: rgba(167, 139, 250, .4);--xo-color-level-a1: #dcd9fc;--xo-color-level-a2: #b8b4f9;--xo-color-level-b1: #958ef6;--xo-color-level-b2: #7168f3;--xo-color-level-c1: #4e42f0;--xo-color-level-c2: #2a1ded;--xo-color-level-unknown: var(--xo-color-text-tertiary);--xo-color-circle-discovery: #4a90e8;--xo-color-circle-practicing: #d95926;--xo-color-circle-mastered: #199e70;--xo-color-circle-discovery-gradient: linear-gradient(135deg, #1966c7 0%, #4a90e8 55%, #9ec2f0 100%);--xo-color-circle-practicing-gradient: linear-gradient(135deg, #943d1a 0%, #d95926 55%, #e39778 100%);--xo-color-circle-mastered-gradient: linear-gradient(135deg, #0e583e 0%, #199e70 55%, #3ad9a2 100%);--xo-color-paper-bg: #2b2318;--xo-color-paper-bg-hover: #382d1e;--xo-color-paper-text: #f2e8d2;color-scheme:dark}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;font-size:100%}body{font-family:var(--xo-font-display),serif;font-size:var(--xo-font-size-base);line-height:var(--xo-line-height-normal);color:var(--xo-color-text-primary);background-color:var(--xo-color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit}a{color:var(--xo-color-primary);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;background:none;border:none;font-family:var(--xo-font-family)}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{line-height:var(--xo-line-height-tight);font-weight:var(--xo-font-weight-bold)}:focus-visible{outline:2px solid var(--xo-color-primary);outline-offset:2px}.skip-link{position:absolute;top:-100%;left:var(--xo-space-4);z-index:var(--xo-z-toast);padding:var(--xo-space-2) var(--xo-space-4);background:var(--xo-color-primary);color:var(--xo-color-text-inverse);border-radius:var(--xo-radius-md);font-weight:var(--xo-font-weight-semibold)}.skip-link:focus{top:var(--xo-space-4)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.mat-mdc-menu-panel.xo-drawer__user-menu-panel,.mat-mdc-menu-panel.xo-drawer__space-menu-panel{width:calc(var(--xo-drawer-width) - var(--xo-space-4) * 2)}.xo-shell .mat-drawer-backdrop{position:fixed}.cdk-overlay-pane.xo-dialog--sm,.cdk-overlay-pane.xo-dialog--md,.cdk-overlay-pane.xo-dialog--lg{--mat-dialog-container-min-width: 0px;width:300px;max-width:calc(100vw - var(--xo-space-8))}@media(min-width:600px){.cdk-overlay-pane.xo-dialog--sm{width:26rem}}@media(min-width:600px){.cdk-overlay-pane.xo-dialog--md{width:32rem}}@media(min-width:600px){.cdk-overlay-pane.xo-dialog--lg{width:40rem}}.mat-mdc-dialog-container .mdc-dialog__surface{position:relative}[mat-dialog-title]{padding-right:var(--xo-space-10)}.xo-content-page__body h1{margin-bottom:var(--xo-space-2);color:var(--xo-color-text-primary);font-family:var(--xo-font-display);font-size:clamp(1.75rem,1.5rem + 1vw,2.25rem);font-weight:900;letter-spacing:-.01em}.xo-content-page__body h2{margin-top:var(--xo-space-8);margin-bottom:var(--xo-space-2);color:var(--xo-color-text-primary);font-family:var(--xo-font-display);font-size:var(--xo-font-size-lg);font-weight:700}.xo-content-page__body h3{margin-top:var(--xo-space-4);margin-bottom:var(--xo-space-1);color:var(--xo-color-text-primary);font-size:var(--xo-font-size-base);font-weight:var(--xo-font-weight-bold)}.xo-content-page__body p{margin:0 0 var(--xo-space-3)}.xo-content-page__body ul{margin:0 0 var(--xo-space-3);padding-left:var(--xo-space-6)}.xo-content-page__body li{margin-bottom:var(--xo-space-1-5)}.xo-content-page__body a{color:var(--xo-color-primary)}.xo-content-page__body .xo-changelog__content>p:first-of-type{color:var(--xo-color-text-tertiary);font-size:var(--xo-font-size-sm)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.xo-has-consent-banner{--xo-consent-banner-height: 9rem}@media(min-width:768px){.xo-has-consent-banner{--xo-consent-banner-height: 4.5rem}}.container{width:100%;max-width:var(--xo-max-width);margin-inline:auto;padding-inline:var(--xo-space-4)}@media(min-width:768px){.container{padding-inline:var(--xo-space-8)}}.xo-btn{display:inline-flex;align-items:center;gap:var(--xo-space-1);padding:var(--xo-space-2) var(--xo-space-4);border:1px solid transparent;border-radius:var(--xo-radius-full);font-weight:var(--xo-font-weight-semibold);font-size:var(--xo-font-size-sm);white-space:nowrap;cursor:pointer;transition:background-color var(--xo-transition-fast),border-color var(--xo-transition-fast),color var(--xo-transition-fast)}.xo-btn mat-icon{font-size:var(--xo-font-size-md);width:var(--xo-font-size-md);height:var(--xo-font-size-md)}.xo-btn:disabled{opacity:.6;cursor:not-allowed}.xo-btn--primary{background:var(--xo-color-primary);color:var(--xo-color-text-inverse)}.xo-btn--primary:hover{background:var(--xo-color-primary-hover);text-decoration:none}.xo-btn--secondary{background:transparent;border-color:var(--xo-color-border);color:var(--xo-color-text-primary);font-weight:var(--xo-font-weight-medium)}.xo-btn--secondary:hover{background:var(--xo-color-surface-hover);text-decoration:none}.xo-btn--accent{background:var(--xo-color-primary-light);color:var(--xo-color-primary);font-weight:var(--xo-font-weight-medium)}.xo-btn--accent:hover{opacity:.85}.xo-btn--ghost{background:transparent;color:var(--xo-color-text-secondary);font-weight:var(--xo-font-weight-medium)}.xo-btn--ghost:hover{color:var(--xo-color-text-primary);text-decoration:none}.xo-btn--muted{background:var(--xo-color-bg-secondary);color:var(--xo-color-text-tertiary);cursor:default}.xo-btn--muted:hover{background:var(--xo-color-bg-secondary)}.xo-btn--danger{background:transparent;border-color:var(--xo-color-error);color:var(--xo-color-error);font-weight:var(--xo-font-weight-medium)}.xo-btn--danger:hover{background:var(--xo-color-error-light);text-decoration:none}.xo-btn--sm{padding:var(--xo-space-1) var(--xo-space-2-5);font-size:var(--xo-font-size-xs)}.xo-btn--icon{width:var(--xo-space-10);height:var(--xo-space-10);padding:0;justify-content:center;flex-shrink:0;background:transparent;color:var(--xo-color-text-secondary)}.xo-btn--icon:hover,.xo-btn--icon:focus-visible{background:var(--xo-color-bg-tertiary);text-decoration:none}.xo-btn--paper{background:var(--xo-color-paper-bg);color:var(--xo-color-paper-text)}.xo-btn--paper:hover{background:var(--xo-color-paper-bg-hover);text-decoration:none}.xo-btn--sheen{position:relative;isolation:isolate;overflow:hidden}.xo-btn--sheen:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background:linear-gradient(45deg,#fff,#ffe9c7 12.5%,color(xyz 0.822 0.798 0.727),#ffd9e8,color(xyz 0.852 0.848 0.785),#fff8e1 37.5%,#fff,#ffe9c7 62.5%,color(xyz 0.822 0.798 0.727),#ffd9e8,color(xyz 0.852 0.848 0.785),#fff8e1 87.5%,#fff);background-size:200% 100%;opacity:0;transition:opacity var(--xo-transition-slow) ease;animation:6s linear infinite xo-sheen-slide}.xo-btn--sheen:hover:before,.xo-btn--sheen:focus-visible:before,.xo-btn--sheen:active:before{opacity:1}@media(prefers-reduced-motion:reduce){.xo-btn--sheen:before{animation:none}}.xo-btn--hero{padding:1rem 2.25rem;font-size:clamp(var(--xo-font-size-base),1.6vw,var(--xo-font-size-md));font-weight:var(--xo-font-weight-bold);letter-spacing:-.01em;box-shadow:var(--xo-shadow-lg);transition:background-color var(--xo-transition-fast),transform var(--xo-transition-fast),box-shadow var(--xo-transition-fast)}.xo-btn--hero:hover{transform:translateY(-2px);box-shadow:var(--xo-shadow-xl)}.xo-btn--hero:active{transform:translateY(0)}@keyframes xo-sheen-slide{0%{background-position:0 0}to{background-position:100% 0}}.xo-text-link{font-weight:var(--xo-font-weight-semibold);text-decoration:none;background-image:var(--xo-color-primary-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:var(--xo-color-primary);transition:filter var(--xo-transition-fast),opacity var(--xo-transition-fast)}.xo-text-link:hover,.xo-text-link:focus-visible{filter:brightness(1.2)}@keyframes spin{to{transform:rotate(360deg)}}
