@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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-brand-green: #00d26a;--color-brand-yellow: #ffe03d;--color-brand-blue: #0066ff;--color-brand-pink: #ff006e;--color-brand-purple: #8338ec;--color-brand-cyan: #00e5ff;--color-brand-lavender: oklch(80% .12 280);--color-brand-lime: #cfff5e;--color-neon-lavender: oklch(88% .28 280);--color-neon-cyan: oklch(92% .25 186);--color-neon-pink: oklch(80% .32 350);--color-neon-yellow: oklch(97% .22 95);--color-neon-lime: #dfff80;--color-neon-purple: #a89dff;--color-primary: var(--color-brand-lime);--color-primary-hover: #b8e654;--color-primary-active: #a3cc4a;--color-primary-fg: #121212;--color-success: var(--color-brand-green);--color-success-subtle: color-mix(in oklch, var(--color-success) 12%, var(--color-bg));--color-success-border: color-mix(in oklch, var(--color-success) 35%, var(--color-bg));--color-success-fg: #00d26a;--color-success-fg-muted: #00b85e;--color-warning: var(--color-brand-yellow);--color-warning-subtle: color-mix(in oklch, var(--color-warning) 12%, var(--color-bg));--color-warning-border: color-mix(in oklch, var(--color-warning) 35%, var(--color-bg));--color-warning-fg: #ffe03d;--color-warning-fg-muted: #e5c935;--color-error: var(--color-brand-pink);--color-error-subtle: color-mix(in oklch, var(--color-error) 12%, var(--color-bg));--color-error-border: color-mix(in oklch, var(--color-error) 35%, var(--color-bg));--color-error-fg: #ff006e;--color-error-fg-muted: #e50063;--color-info: var(--color-brand-blue);--color-info-subtle: color-mix(in oklch, var(--color-info) 12%, var(--color-bg));--color-info-border: color-mix(in oklch, var(--color-info) 35%, var(--color-bg));--color-info-fg: #0066ff;--color-info-fg-muted: #0052cc;--color-surface-overlay: rgba(0, 0, 0, .5);--color-text-contrast-dark: oklch(25% 0 0);--color-text-contrast-muted: oklch(35% 0 0);--color-feedback-success: var(--color-success);--color-feedback-warning: var(--color-warning);--color-feedback-error: var(--color-error);--color-feedback-info: var(--color-info);--color-gray-1: #fcfcfc;--color-gray-2: #f9f9f9;--color-gray-3: #f0f0f0;--color-gray-4: #e8e8e8;--color-gray-5: #e0e0e0;--color-gray-6: #d9d9d9;--color-gray-7: #cecece;--color-gray-8: #bbbbbb;--color-gray-9: #8d8d8d;--color-gray-10: #838383;--color-gray-11: #646464;--color-gray-12: #202020;--color-bg: var(--color-gray-1);--color-bg-subtle: var(--color-gray-2);--color-bg-muted: var(--color-gray-3);--color-fg: var(--color-gray-12);--color-fg-muted: var(--color-gray-11);--color-fg-subtle: var(--color-gray-10);--color-border: var(--color-gray-4);--color-border-strong: var(--color-gray-6);--color-error-fg: oklch(45% .18 350);--color-error-bg: oklch(95% .05 350);--font-display: "Space Grotesk Variable", system-ui, sans-serif;--font-body: "Inter Variable", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--leading-none: 1;--leading-tighter: 1.1;--leading-tight: 1.2;--leading-normal: 1.5;--leading-relaxed: 1.6;--leading-loose: 1.75;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-9: 2.25rem;--space-10: 2.5rem;--space-11: 2.75rem;--space-12: 3rem;--space-14: 3.5rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-0-5: .125rem;--space-1-5: .375rem;--radius-none: 0;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-3xl: 2rem;--radius-full: 9999px;--radius-button: var(--radius-full);--radius-input: var(--radius-lg);--radius-card: var(--radius-xl);--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--blur-md: 16px;--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .3s;--duration-slower: .5s;--ease-default: cubic-bezier(.4, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--z-base: 0;--z-dropdown: 10;--z-sticky: 20;--z-fixed: 30;--z-overlay: 40;--z-modal-backdrop: 45;--z-modal: 50;--z-popover: 60;--z-toast: 70;--z-tooltip: 80;--tap-target-min: 44px;--icon-sm: 16px;--primary: var(--color-primary);--primary-hover: var(--color-primary-hover);--primary-active: var(--color-primary-active);--primary-inverse: var(--color-primary-fg);--secondary: var(--color-bg-muted);--secondary-hover: var(--color-border-strong);--secondary-inverse: var(--color-fg);--contrast: var(--color-fg);--contrast-inverse: var(--color-bg);--background-color: var(--color-bg);--surface-color: var(--color-bg-subtle);--surface-muted-color: var(--color-bg-muted);--text-color: var(--color-fg);--text-muted-color: var(--color-fg-muted);--text-subtle-color: var(--color-fg-subtle);--muted-color: var(--color-fg-muted);--muted-border-color: var(--color-border);--muted-background-color: var(--color-bg-muted);--border-color: var(--color-border);--border-strong-color: var(--color-border-strong);--link-color: var(--color-primary);--link-hover-color: var(--color-primary-hover);--focus-ring-color: var(--color-primary);--font-heading: var(--font-display);--font-size-xs: var(--text-xs);--font-size-sm: var(--text-sm);--font-size-base: var(--text-base);--font-size-lg: var(--text-lg);--font-weight-normal: var(--font-normal);--font-weight-medium: var(--font-medium);--font-weight-semibold: var(--font-semibold);--font-weight-bold: var(--font-bold);--color-text-primary: var(--color-fg);--color-text-secondary: var(--color-fg-muted);--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px)}[data-theme=light]{--color-gray-1: #fcfcfc;--color-gray-2: #f9f9f9;--color-gray-3: #f0f0f0;--color-gray-4: #e8e8e8;--color-gray-5: #e0e0e0;--color-gray-6: #d9d9d9;--color-gray-7: #cecece;--color-gray-8: #bbbbbb;--color-gray-9: #8d8d8d;--color-gray-10: #838383;--color-gray-11: #646464;--color-gray-12: #202020}[data-theme=dark]{--color-gray-1: #0a0a0a;--color-gray-2: #111111;--color-gray-3: #1a1a1a;--color-gray-4: #222222;--color-gray-5: #2a2a2a;--color-gray-6: #333333;--color-gray-7: #444444;--color-gray-8: #555555;--color-gray-9: #666666;--color-gray-10: #888888;--color-gray-11: #b4b4b4;--color-gray-12: #ffffff}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}body{min-height:100vh;min-height:100dvh;line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6,button,input,label{line-height:var(--leading-tighter)}h1,h2,h3,h4,h5,h6{text-wrap:balance}a:not([class]){text-decoration-skip-ink:auto;color:currentColor}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.theme-transitions *:not(input):not(textarea):not(select),.theme-transitions *:not(input):not(textarea):not(select):before,.theme-transitions *:not(input):not(textarea):not(select):after{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease,transform .2s ease-out}html{font-family:var(--font-body);font-size:16px;color:var(--color-fg);background-color:var(--color-bg)}body{font-family:var(--font-body);font-weight:var(--font-normal);color:var(--color-fg);background-color:var(--color-bg)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}::selection{background-color:var(--color-primary);color:var(--color-primary-fg)}:root{color-scheme:light dark}body{background-color:var(--background-color);color:var(--text-color)}main{display:block}h1,h2,h3,h4{color:var(--text-color);margin:0}h1{font-family:var(--font-display);font-size:var(--text-5xl);font-weight:var(--font-extrabold);line-height:var(--leading-tighter);letter-spacing:-.02em}h2{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--font-bold);line-height:var(--leading-tighter);letter-spacing:-.01em}h3{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-semibold);line-height:var(--leading-tight)}h4{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-medium);line-height:var(--leading-tight)}p{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--text-color)}small{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--color-fg-muted)}label{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-medium);line-height:var(--leading-tight)}a{color:var(--link-color);text-decoration:none;transition:color var(--duration-fast) var(--ease-default)}a:hover{color:var(--link-hover-color)}a:focus-visible{outline:2px solid var(--color-gray-12);outline-offset:2px;border-radius:var(--radius-sm)}:where(button,input,select,textarea){font:inherit;color:var(--text-color)}button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap-target-min);padding:var(--space-2) var(--space-4);border-radius:var(--radius-button);border:2px solid var(--color-gray-12);background-color:var(--color-fg);color:var(--color-bg);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}button:hover{background-color:var(--color-gray-11)}button:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}button:disabled{opacity:.6;cursor:not-allowed}:where(input,select,textarea){width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-input);border:2px solid var(--color-fg-muted);background-color:var(--background-color);transition:all var(--duration-fast) var(--ease-default)}:where(input,select,textarea)::placeholder{color:var(--muted-color)}:where(input,select,textarea):hover{border-color:var(--color-gray-12)}:where(input,select,textarea):focus{outline:2px solid var(--color-gray-12);outline-offset:1px;border-color:var(--color-gray-12)}nav{display:block}article{background-color:var(--surface-color);border:2px solid var(--color-gray-12);border-radius:var(--radius-card);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:all var(--duration-slow) var(--ease-default)}section{padding-block:var(--section-padding, 0)}.page-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background-color:var(--background-color)}.container{width:100%;max-width:1200px;margin:0 auto;padding-left:var(--space-4);padding-right:var(--space-4)}@media(min-width:768px){.container{padding-left:var(--space-6);padding-right:var(--space-6)}}.section{padding:var(--space-16) 0}.section-tight{padding:var(--space-12) 0}.stack{display:flex;flex-direction:column;gap:var(--stack-gap, var(--space-4))}.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--cluster-gap, var(--space-3));justify-content:var(--cluster-justify, flex-start)}.grid{display:grid;gap:var(--grid-gap, var(--space-6));grid-template-columns:repeat(auto-fit,minmax(var(--grid-min, 220px),1fr))}.page-center{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background-color:var(--background-color);padding:var(--space-8) var(--space-4);text-align:center}.page-center-content{max-width:32rem;display:flex;flex-direction:column;gap:var(--space-4)}.subtitle{font-family:var(--font-body);font-size:var(--text-lg);font-weight:var(--font-normal);line-height:var(--leading-relaxed);color:var(--color-fg-muted)}.body-large{font-family:var(--font-body);font-size:var(--text-lg);font-weight:var(--font-normal);line-height:var(--leading-relaxed)}.overline{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--font-semibold);line-height:var(--leading-tight);letter-spacing:.1em;text-transform:uppercase;color:var(--color-fg-muted)}.mono{font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-normal)}.display{font-family:var(--font-display);font-weight:var(--font-bold)}.block-green{background-color:var(--color-brand-green)}.block-yellow{background-color:var(--color-brand-yellow)}.block-blue{background-color:var(--color-brand-blue)}.block-pink{background-color:var(--color-brand-pink)}.block-purple{background-color:var(--color-brand-purple)}.block-cyan{background-color:var(--color-brand-cyan)}.block-green,.block-yellow,.block-cyan,.block-blue,.block-pink,.block-purple{color:var(--color-gray-1)}.sticker{position:absolute;padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);font-size:var(--text-xs);font-weight:var(--font-bold);transform:rotate(-3deg);box-shadow:var(--shadow-md);z-index:var(--z-dropdown)}.sticker-green{background-color:var(--color-brand-green);color:var(--color-gray-1)}.sticker-yellow{background-color:var(--color-brand-yellow);color:var(--color-gray-1)}.sticker-blue{background-color:var(--color-brand-blue);color:var(--color-gray-1)}.sticker-pink{background-color:var(--color-brand-pink);color:var(--color-gray-1)}.sticker-purple{background-color:var(--color-brand-purple);color:var(--color-gray-1)}.sticker-cyan{background-color:var(--color-brand-cyan);color:var(--color-gray-1)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slide-down{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slide-left{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slide-right{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slide-out-right{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes slide-out-left{0%{transform:translate(0);opacity:1}to{transform:translate(-100%);opacity:0}}@keyframes scale-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scale-out{0%{transform:scale(1);opacity:1}to{transform:scale(.95);opacity:0}}@keyframes bounce{0%,to{transform:translateY(-5%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes ping{75%,to{transform:scale(2);opacity:0}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}@keyframes wiggle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes checkmark-draw{0%{stroke-dashoffset:24}to{stroke-dashoffset:0}}@keyframes progress-fill{0%{stroke-dashoffset:var(--progress-circumference, 100)}to{stroke-dashoffset:var(--progress-offset, 0)}}@keyframes confetti-fall{0%{transform:translateY(-10px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes flame-flicker{0%,to{transform:scaleY(1) scaleX(1)}50%{transform:scaleY(1.1) scaleX(.9)}}@keyframes blob-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(2deg)}}.animate{animation-duration:var(--duration-normal);animation-timing-function:var(--ease-default);animation-fill-mode:both}.animate-fade-in{animation-name:fade-in}.animate-fade-out{animation-name:fade-out}.animate-slide-up{animation-name:slide-up}.animate-slide-down{animation-name:slide-down}.animate-slide-left{animation-name:slide-left}.animate-slide-right{animation-name:slide-right}.animate-slide-out-right{animation-name:slide-out-right}.animate-slide-out-left{animation-name:slide-out-left}.animate-scale-in{animation-name:scale-in}.animate-scale-out{animation-name:scale-out}.animate-bounce{animation:bounce 1s infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.animate-shake{animation:shake .5s ease-in-out}.animate-wiggle{animation:wiggle .5s ease-in-out}.animate-checkmark{animation:checkmark-draw .2s ease-out forwards}.animate-progress{animation:progress-fill .6s var(--ease-bounce) forwards}.animate-confetti{animation:confetti-fall 3s ease-in-out forwards}.animate-flame{animation:flame-flicker .3s ease-in-out infinite;transform-origin:bottom center}.animate-blob{animation:blob-float 3s ease-in-out infinite}.floating{animation:float 6s ease-in-out infinite}.floating-delayed{animation:float 6s ease-in-out infinite;animation-delay:-3s}.hover-lift{transition:transform var(--duration-slow) ease,box-shadow var(--duration-slow) ease}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.hover-scale{transition:transform var(--duration-normal) ease}.hover-scale:hover{transform:scale(1.02)}.hover-glow{transition:box-shadow var(--duration-slow) ease}.hover-glow:hover{box-shadow:0 0 20px currentColor}.hover-green:hover{border-color:var(--color-brand-green);background-color:color-mix(in oklch,var(--color-brand-green) 5%,transparent)}.hover-blue:hover{border-color:var(--color-brand-blue);background-color:color-mix(in oklch,var(--color-brand-blue) 5%,transparent)}.hover-yellow:hover{border-color:var(--color-brand-yellow);background-color:color-mix(in oklch,var(--color-brand-yellow) 5%,transparent)}.hover-pink:hover{border-color:var(--color-brand-pink);background-color:color-mix(in oklch,var(--color-brand-pink) 5%,transparent)}.hover-purple:hover{border-color:var(--color-brand-purple);background-color:color-mix(in oklch,var(--color-brand-purple) 5%,transparent)}.hover-cyan:hover{border-color:var(--color-brand-cyan);background-color:color-mix(in oklch,var(--color-brand-cyan) 5%,transparent)}.animate-fast{animation-duration:var(--duration-fast)}.animate-slow{animation-duration:var(--duration-slow)}.animate-slower{animation-duration:var(--duration-slower)}.animate-delay-100{animation-delay:.1s}.animate-delay-200{animation-delay:.2s}.animate-delay-300{animation-delay:.3s}.animate-delay-500{animation-delay:.5s}.animate-delay-1000{animation-delay:1s}.animate-once{animation-iteration-count:1}.animate-infinite{animation-iteration-count:infinite}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--duration-normal);animation-timing-function:var(--ease-out)}html.view-transition-in-progress *,html.view-transition-in-progress *:before,html.view-transition-in-progress *:after{transition:none!important}.input{display:block;width:100%;padding:var(--space-3) var(--space-4);border:2px solid var(--color-fg-muted);border-radius:var(--radius-input);background-color:var(--color-bg);color:var(--color-fg);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);transition:all var(--duration-slow) var(--ease-out);outline:none}.theme-transitions .input{transition:all var(--duration-slow) var(--ease-out)}.input::placeholder{color:var(--color-fg-subtle)}.input:-webkit-autofill,.input:-webkit-autofill:hover,.input:-webkit-autofill:focus,.input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px var(--color-bg) inset!important;-webkit-text-fill-color:var(--color-fg)!important;caret-color:var(--color-fg);transition:background-color 5000s ease-in-out 0s}.input:hover{border-color:var(--color-gray-12)}.input:focus{border-color:var(--color-gray-12);box-shadow:0 0 0 3px color-mix(in oklch,var(--color-gray-12) 20%,transparent)}.input:disabled{opacity:.5;cursor:not-allowed;background-color:var(--color-bg-muted)}.input-error{border-color:var(--color-error)}.input-error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-error) 20%,transparent)}.input-success{border-color:var(--color-success)}.input-success:focus{border-color:var(--color-success);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-success) 20%,transparent)}.input-small{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field+.field{margin-top:var(--space-4)}.field-label{display:block;font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-fg);text-align:left;margin-bottom:var(--space-1)}.field-label-required:after{content:" *";color:var(--color-error)}.field-helper{font-size:var(--text-sm);color:var(--color-fg-muted)}.field-error{font-size:var(--text-sm);color:var(--color-error)}.field-success{font-size:var(--text-sm);color:var(--color-success)}.input-group{display:flex;align-items:stretch}.input-group .input{flex:1;border-radius:0}.input-group .input:first-child{border-top-left-radius:var(--radius-input);border-bottom-left-radius:var(--radius-input)}.input-group .input:last-child{border-top-right-radius:var(--radius-input);border-bottom-right-radius:var(--radius-input)}.input-group__addon{display:flex;align-items:center;justify-content:center;padding:var(--space-3) var(--space-4);background-color:var(--color-bg-muted);border:1px solid var(--color-border);color:var(--color-fg-muted);font-size:var(--text-base)}.input-group__addon:first-child{border-right:none;border-top-left-radius:var(--radius-input);border-bottom-left-radius:var(--radius-input)}.input-group__addon:last-child{border-left:none;border-top-right-radius:var(--radius-input);border-bottom-right-radius:var(--radius-input)}.password-input{position:relative}.password-input .input{padding-right:3rem}.password-input-toggle{position:absolute;right:var(--space-1);top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-fg-muted);cursor:pointer;border-radius:var(--radius-md);transition:all var(--duration-slow) var(--ease-default)}.password-input-toggle:hover{background-color:transparent}.password-input-toggle:focus-visible{outline:2px solid var(--color-gray-12);outline-offset:2px;color:var(--color-fg)}.textarea{min-height:8rem;resize:vertical}.card{background-color:var(--color-bg);border:2px solid var(--color-gray-12);border-radius:var(--radius-card);overflow:hidden;transition:all var(--duration-slow) var(--ease-default);box-shadow:var(--shadow-sm)}.card-cyan{background-color:var(--color-brand-cyan);border-color:var(--color-gray-12);--card-text: var(--color-text-contrast-dark);--card-text-muted: var(--color-text-contrast-muted)}.card-pink{background-color:var(--color-brand-pink);border-color:var(--color-gray-12);--card-text: var(--color-text-contrast-dark);--card-text-muted: var(--color-text-contrast-muted)}.card-yellow{background-color:var(--color-brand-yellow);border-color:var(--color-gray-12);--card-text: var(--color-text-contrast-dark);--card-text-muted: var(--color-text-contrast-muted)}.card-lavender{background-color:var(--color-brand-lavender);border-color:var(--color-gray-12);--card-text: var(--color-text-contrast-dark);--card-text-muted: var(--color-text-contrast-muted)}.card-green{background-color:var(--color-brand-green);border-color:var(--color-gray-12);--card-text: var(--color-text-contrast-dark);--card-text-muted: var(--color-text-contrast-muted)}.card-cyan .card-title,.card-pink .card-title,.card-yellow .card-title,.card-lavender .card-title,.card-green .card-title{color:var(--card-text)}.card-cyan .card-description,.card-pink .card-description,.card-yellow .card-description,.card-lavender .card-description,.card-green .card-description{color:var(--card-text-muted)}.card-cyan .card-body,.card-pink .card-body,.card-yellow .card-body,.card-lavender .card-body,.card-green .card-body{color:var(--card-text)}.card-header{padding:var(--space-5) var(--space-6);padding-bottom:var(--space-2)}.card-body{padding:var(--space-4) var(--space-6)}.card-footer{padding:var(--space-4) var(--space-6);padding-top:var(--space-2);display:flex;gap:var(--space-3)}.card-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-fg);margin:0}.card-description{font-size:var(--text-sm);color:var(--color-fg-muted);margin-top:var(--space-1)}.card-small{--card-padding: var(--space-4)}.card-small .card-header,.card-small .card-body,.card-small .card-footer{padding:var(--card-padding)}.card-interactive{cursor:pointer}.card-interactive:hover{border-color:var(--color-gray-12);box-shadow:var(--shadow-md)}.card-interactive:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.card-selected{border-color:var(--color-primary);background-color:var(--color-bg-subtle);box-shadow:0 0 0 1px var(--color-primary)}.card-selected .card-title{color:var(--color-fg)}.card-interactive.card-selected:hover{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary),var(--shadow-md)}.card-interactive:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary),var(--shadow-md)}.checkbox{position:relative;display:inline-flex;align-items:flex-start;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox[data-disabled]{opacity:.5;cursor:not-allowed}.checkbox-control{position:relative;display:flex;align-items:center;justify-content:center;width:var(--space-5);height:var(--space-5);border:2px solid var(--color-gray-12);border-radius:var(--radius-sm);background-color:var(--color-bg);transition:all var(--duration-slow) var(--ease-default);flex-shrink:0;margin-top:var(--space-0-5)}.checkbox-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.checkbox-control:hover{border-color:var(--color-fg-muted)}.checkbox:has(.checkbox-input:focus-visible) .checkbox-control{outline:2px solid var(--color-primary);outline-offset:2px}.checkbox[data-checked] .checkbox-control{background-color:var(--color-fg);border-color:var(--color-fg)}.checkbox[data-invalid] .checkbox-control{border-color:var(--color-error)}.checkbox-indicator{display:flex;align-items:center;justify-content:center;color:var(--color-bg);opacity:0;transform:scale(.5);transition:all var(--duration-fast) var(--ease-default)}.checkbox[data-checked] .checkbox-indicator{opacity:1;transform:scale(1)}.checkbox-indicator svg{width:14px;height:14px}.checkbox-label{font-size:var(--text-sm);color:var(--color-fg);line-height:var(--leading-normal)}.checkbox-group{display:flex;flex-direction:column;gap:var(--space-3)}.dialog-backdrop{position:fixed;inset:0;background-color:var(--color-surface-overlay);z-index:var(--z-modal-backdrop);animation:fade-in var(--duration-normal) var(--ease-default)}.dialog-backdrop[data-closed]{animation:fade-out var(--duration-normal) var(--ease-default)}.dialog-positioner{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-4)}.dialog-content{background-color:var(--color-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);width:100%;max-width:28rem;max-height:calc(100vh - var(--space-8));overflow:hidden;display:flex;flex-direction:column;animation:scale-in var(--duration-normal) var(--ease-default)}.dialog-content[data-closed]{animation:scale-out var(--duration-normal) var(--ease-default)}.dialog-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border)}.dialog-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-fg);margin:0}.dialog-description{font-size:var(--text-sm);color:var(--color-fg-muted);margin-top:var(--space-1)}.dialog-body{padding:var(--space-4) var(--space-6);overflow-y:auto;flex:1}.dialog-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:var(--space-3)}.dialog-close-trigger{position:absolute;top:var(--space-3);right:var(--space-3)}.celebration{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:var(--z-modal)}.celebration-particle{position:absolute;pointer-events:none}.celebration-confetti{border-radius:2px}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:var(--space-9);height:var(--space-9);padding:0;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-fg-muted);cursor:pointer;transition:all var(--duration-slow) var(--ease-default)}.theme-toggle:hover{background-color:var(--color-bg-muted);color:var(--color-fg)}.theme-toggle:active{transform:scale(.95)}.theme-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.theme-toggle:disabled{opacity:.5;cursor:not-allowed}.theme-toggle svg{flex-shrink:0;transition:transform .5s ease}@keyframes theme-toggle-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.theme-toggle-icon-spinning{display:inline-flex;animation:theme-toggle-spin .5s ease-in-out}.badge{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);font-family:var(--font-body);font-weight:var(--font-medium);line-height:1;white-space:nowrap;border-radius:var(--radius-md);transition:background-color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default);-webkit-user-select:none;user-select:none}.badge-small{padding:var(--space-1) var(--space-2);font-size:var(--text-xs);gap:var(--space-0-5)}.badge:not(.badge-small){padding:var(--space-1-5) var(--space-3);font-size:var(--text-sm)}.badge-pill{border-radius:var(--radius-full)}.badge-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.badge-small .badge-icon{width:var(--space-3);height:var(--space-3)}.badge .badge-icon{width:var(--text-sm);height:var(--text-sm)}.badge-icon svg{width:100%;height:100%}.badge-solid,.badge-solid.badge-default{background-color:var(--color-gray-5);color:var(--color-gray-12)}.badge-solid.badge-black{background-color:var(--color-gray-12);color:var(--color-gray-1)}.badge-solid.badge-white{background-color:var(--color-gray-1);color:var(--color-gray-12);border:1px solid var(--color-gray-4)}.badge-solid.badge-cyan{background-color:var(--color-brand-cyan);color:var(--color-text-contrast-dark)}.badge-solid.badge-pink{background-color:var(--color-brand-pink);color:var(--color-text-contrast-dark)}.badge-solid.badge-yellow{background-color:var(--color-brand-yellow);color:var(--color-text-contrast-dark)}.badge-solid.badge-lavender{background-color:var(--color-brand-lavender);color:var(--color-text-contrast-dark)}.badge-solid.badge-green{background-color:var(--color-brand-green);color:var(--color-gray-1)}.badge-solid.badge-blue{background-color:var(--color-brand-blue);color:var(--color-gray-1)}.badge-solid.badge-purple{background-color:var(--color-brand-purple);color:var(--color-gray-1)}.badge-solid.badge-success{background-color:var(--color-success);color:var(--color-text-contrast-dark)}.badge-solid.badge-warning{background-color:var(--color-warning);color:var(--color-text-contrast-dark)}.badge-solid.badge-error{background-color:var(--color-error);color:var(--color-text-contrast-dark)}.badge-solid.badge-info{background-color:var(--color-info);color:var(--color-text-contrast-dark)}.badge-subtle,.badge-subtle.badge-default{background-color:var(--color-gray-4);color:var(--color-gray-11)}.badge-subtle.badge-black{background-color:#0b0b0b1a;color:var(--color-text-contrast-dark)}.badge-subtle.badge-white{background-color:#fffc;color:var(--color-text-contrast-dark)}.badge-subtle.badge-cyan{background-color:#89f2e633;color:#00635c;color:oklch(45% .1 186)}.badge-subtle.badge-pink{background-color:#f45fb026;color:#a82571}.badge-subtle.badge-yellow{background-color:#ffefb266;background-color:oklch(95% .12 95 / 40%);color:#655400;color:oklch(45% .12 95)}.badge-subtle.badge-lavender{background-color:#b0b7ff33;background-color:oklch(80% .12 280 / 20%);color:#5759a6}.badge-subtle.badge-green{background-color:color-mix(in oklch,var(--color-brand-green) 15%,transparent);color:var(--color-brand-green)}.badge-subtle.badge-blue{background-color:color-mix(in oklch,var(--color-brand-blue) 15%,transparent);color:var(--color-brand-blue)}.badge-subtle.badge-purple{background-color:color-mix(in oklch,var(--color-brand-purple) 15%,transparent);color:var(--color-brand-purple)}.badge-subtle.badge-success{background-color:#98e2b133;color:#00572f;color:oklch(40% .1 155)}.badge-subtle.badge-warning{background-color:#ffefb266;background-color:oklch(95% .12 95 / 40%);color:#655400;color:oklch(45% .12 95)}.badge-subtle.badge-error{background-color:#f45fb026;color:#a82571}.badge-subtle.badge-info{background-color:#b0b7ff33;background-color:oklch(80% .12 280 / 20%);color:#5759a6}.badge-outline,.badge-outline.badge-default{background-color:transparent;border:1px solid var(--color-gray-6);color:var(--color-gray-11)}.badge-outline.badge-black{background-color:transparent;border:1px solid var(--color-text-contrast-dark);color:var(--color-text-contrast-dark)}.badge-outline.badge-white{background-color:transparent;border:1px solid var(--color-gray-5);color:var(--color-gray-11)}.badge-outline.badge-cyan{background-color:transparent;border:1px solid var(--color-brand-cyan);color:#00736b;color:oklch(50% .1 186)}.badge-outline.badge-pink{background-color:transparent;border:1px solid var(--color-brand-pink);color:#b93780}.badge-outline.badge-yellow{background-color:transparent;border:1px solid oklch(75% .12 95);color:#766200;color:oklch(50% .12 95)}.badge-outline.badge-lavender{background-color:transparent;border:1px solid var(--color-brand-lavender);color:#6568b6}.badge-outline.badge-green{background-color:transparent;border:1px solid var(--color-brand-green);color:var(--color-brand-green)}.badge-outline.badge-blue{background-color:transparent;border:1px solid var(--color-brand-blue);color:var(--color-brand-blue)}.badge-outline.badge-purple{background-color:transparent;border:1px solid var(--color-brand-purple);color:var(--color-brand-purple)}.badge-outline.badge-success{background-color:transparent;border:1px solid var(--color-success);color:#17653c}.badge-outline.badge-warning{background-color:transparent;border:1px solid oklch(75% .12 95);color:#766200;color:oklch(50% .12 95)}.badge-outline.badge-error{background-color:transparent;border:1px solid var(--color-error);color:#b93780}.badge-outline.badge-info{background-color:transparent;border:1px solid var(--color-info);color:#6568b6}[data-theme=dark] .badge-solid.badge-black{background-color:#dedede;color:#0b0b0b}[data-theme=dark] .badge-solid.badge-white{background-color:#161616;color:#eee;border-color:var(--color-gray-7)}[data-theme=dark] .badge-subtle.badge-black{background-color:#dedede26;color:#dedede}[data-theme=dark] .badge-subtle.badge-white{background-color:#1616167f;color:#dedede}[data-theme=dark] .badge-outline.badge-black{border-color:#bebebe;color:#cecece}[data-theme=dark] .badge-outline.badge-white{border-color:var(--color-gray-6);color:var(--color-gray-11)}[data-theme=dark] .badge-subtle.badge-cyan{background-color:#89f2e626;color:#58c3b7}[data-theme=dark] .badge-subtle.badge-pink{background-color:#f45fb01f;color:#f383bb}[data-theme=dark] .badge-subtle.badge-yellow{background-color:#ffefb226;background-color:oklch(95% .12 95 / 15%);color:#e2ce80}[data-theme=dark] .badge-subtle.badge-lavender{background-color:#b0b7ff26;background-color:oklch(80% .12 280 / 15%);color:#b1b7fd}[data-theme=dark] .badge-subtle.badge-success{background-color:#98e2b126;color:#85bd98}[data-theme=dark] .badge-subtle.badge-warning{background-color:#ffefb226;background-color:oklch(95% .12 95 / 15%);color:#e2ce80}[data-theme=dark] .badge-subtle.badge-error{background-color:#f45fb01f;color:#f383bb}[data-theme=dark] .badge-subtle.badge-info{background-color:#b0b7ff26;background-color:oklch(80% .12 280 / 15%);color:#b1b7fd}[data-theme=dark] .badge-outline.badge-cyan{color:#58c3b7}[data-theme=dark] .badge-outline.badge-pink{color:#f383bb}[data-theme=dark] .badge-outline.badge-yellow{border-color:#e2ce80;color:#e2ce80}[data-theme=dark] .badge-outline.badge-lavender{color:#b1b7fd}[data-theme=dark] .badge-outline.badge-success{color:#85bd98}[data-theme=dark] .badge-outline.badge-warning{border-color:#e2ce80;color:#e2ce80}[data-theme=dark] .badge-outline.badge-error{color:#f383bb}[data-theme=dark] .badge-outline.badge-info{color:#b1b7fd}[data-theme=dark] .badge-subtle,[data-theme=dark] .badge-subtle.badge-default{background-color:var(--color-gray-4);color:var(--color-gray-11)}[data-theme=dark] .badge-outline,[data-theme=dark] .badge-outline.badge-default{border-color:var(--color-gray-7);color:var(--color-gray-11)}@keyframes league-spark-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes league-spark-pulse{0%,to{opacity:var(--tier-pulse-min, .5)}50%{opacity:var(--tier-pulse-max, .8)}}.league-badge{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);font-family:var(--font-body);font-weight:var(--font-semibold);line-height:1;white-space:nowrap;border-radius:var(--radius-md);overflow:hidden;-webkit-user-select:none;user-select:none;transition:color var(--duration-fast) var(--ease-default);--spark-size: 200%;--spark-offset: -50%}.league-badge-text,.league-badge-icon{position:relative;z-index:1}.league-badge-small{padding:var(--space-1) var(--space-2);font-size:var(--text-xs);gap:var(--space-0-5)}.league-badge:not(.league-badge-small){padding:var(--space-1-5) var(--space-3);font-size:var(--text-sm)}.league-badge-pill{border-radius:var(--radius-full)}.league-badge-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.league-badge-small .league-badge-icon{width:var(--space-3);height:var(--space-3)}.league-badge:not(.league-badge-small) .league-badge-icon{width:var(--text-sm);height:var(--text-sm)}.league-badge-icon svg{width:100%;height:100%}.league-badge:before{content:"";position:absolute;width:var(--spark-size);height:var(--spark-size);top:var(--spark-offset);left:var(--spark-offset);z-index:0;border-radius:50%;will-change:transform,opacity;transform-origin:center center;background:var(--tier-spark-gradient);filter:blur(var(--tier-blur, 5px));opacity:var(--tier-opacity, .5);animation:var(--tier-animation)}.league-badge-bronze{--tier-bg: linear-gradient( 135deg, oklch(78% .06 50) 0%, oklch(68% .08 55) 50%, oklch(75% .07 52) 100% );--tier-color: oklch(28% .06 55);--tier-spark-gradient: conic-gradient( from 0deg, oklch(82% .14 35) 0deg, oklch(88% .16 45) 45deg, oklch(92% .14 55) 90deg, oklch(88% .16 65) 135deg, oklch(82% .14 70) 180deg, oklch(88% .16 60) 225deg, oklch(92% .14 50) 270deg, oklch(88% .16 40) 315deg, oklch(82% .14 35) 360deg );--tier-blur: 6px;--tier-opacity: .55;--tier-animation: league-spark-rotate 6.3s linear infinite;background:var(--tier-bg);color:var(--tier-color)}.league-badge-silver{--tier-bg: linear-gradient( 135deg, oklch(96% .02 270) 0%, oklch(82% .04 255) 50%, oklch(92% .03 265) 100% );--tier-color: oklch(28% .04 260);--tier-spark-gradient: conic-gradient( from 0deg, oklch(92% .04 250) 0deg, oklch(96% .05 258) 45deg, oklch(99% .04 265) 90deg, oklch(96% .05 272) 135deg, oklch(92% .04 280) 180deg, oklch(96% .05 275) 225deg, oklch(99% .04 268) 270deg, oklch(96% .05 255) 315deg, oklch(92% .04 250) 360deg );--tier-blur: 4px;--tier-opacity: .65;--tier-animation: league-spark-rotate 7.1s linear infinite;background:var(--tier-bg);color:var(--tier-color)}.league-badge-gold{--tier-bg: linear-gradient( 135deg, oklch(92% .12 90) 0%, oklch(78% .16 80) 50%, oklch(88% .14 85) 100% );--tier-color: oklch(32% .1 85);--tier-spark-gradient: conic-gradient( from 0deg, oklch(85% .2 70) 0deg, oklch(90% .22 78) 45deg, oklch(95% .2 85) 90deg, oklch(90% .22 92) 135deg, oklch(85% .2 100) 180deg, oklch(90% .22 95) 225deg, oklch(95% .2 88) 270deg, oklch(90% .22 75) 315deg, oklch(85% .2 70) 360deg );--tier-blur: 5px;--tier-opacity: .7;--tier-animation: league-spark-rotate 5.7s linear infinite;background:var(--tier-bg);color:var(--tier-color)}.league-badge-hero{--tier-bg: linear-gradient( 135deg, oklch(45% .02 250) 0%, oklch(32% .03 260) 50%, oklch(40% .025 255) 100% );--tier-color: oklch(95% .01 250);--tier-spark-gradient: conic-gradient( from 0deg, oklch(50% .03 240) 0deg, oklch(58% .04 250) 45deg, oklch(65% .035 260) 90deg, oklch(58% .04 270) 135deg, oklch(50% .03 280) 180deg, oklch(58% .04 275) 225deg, oklch(65% .035 265) 270deg, oklch(58% .04 245) 315deg, oklch(50% .03 240) 360deg );--tier-blur: 4px;--tier-pulse-min: .6;--tier-pulse-max: .9;--tier-animation: league-spark-rotate 4.9s linear infinite, league-spark-pulse 2.9s ease-in-out infinite;background:var(--tier-bg);color:var(--tier-color)}.league-badge-epic{--tier-bg: linear-gradient( 135deg, oklch(70% .18 250) 0%, oklch(50% .25 260) 50%, oklch(62% .2 255) 100% );--tier-color: oklch(98% .02 255);--tier-spark-gradient: conic-gradient( from 0deg, oklch(55% .3 230) 0deg, oklch(65% .35 242) 45deg, oklch(72% .32 255) 90deg, oklch(65% .35 267) 135deg, oklch(55% .3 280) 180deg, oklch(65% .35 272) 225deg, oklch(72% .32 260) 270deg, oklch(65% .35 238) 315deg, oklch(55% .3 230) 360deg );--tier-blur: 5px;--tier-pulse-min: .7;--tier-pulse-max: 1;--tier-animation: league-spark-rotate 6.7s linear infinite, league-spark-pulse 3.3s ease-in-out infinite;background:var(--tier-bg);color:var(--tier-color)}.league-badge-mythic{--tier-bg: linear-gradient( 135deg, oklch(60% .2 310) 0%, oklch(42% .28 295) 50%, oklch(52% .24 305) 100% );--tier-color: oklch(97% .03 300);--tier-spark-gradient: conic-gradient( from 0deg, oklch(50% .35 280) 0deg, oklch(60% .4 292) 45deg, oklch(68% .36 305) 90deg, oklch(60% .4 318) 135deg, oklch(50% .35 330) 180deg, oklch(60% .4 322) 225deg, oklch(68% .36 310) 270deg, oklch(60% .4 288) 315deg, oklch(50% .35 280) 360deg );--tier-blur: 5px;--tier-pulse-min: .75;--tier-pulse-max: 1;--tier-animation: league-spark-rotate 5.3s linear infinite, league-spark-pulse 2.7s ease-in-out infinite;background:var(--tier-bg);color:var(--tier-color)}.league-badge-legend{--tier-bg: linear-gradient( 135deg, oklch(55% .25 250) 0%, oklch(45% .3 260) 50%, oklch(50% .27 255) 100% );--tier-color: oklch(98% .03 280);--tier-spark-gradient: conic-gradient( from 0deg, oklch(85% .35 0) 0deg, oklch(90% .32 40) 45deg, oklch(92% .3 80) 90deg, oklch(88% .32 120) 135deg, oklch(85% .3 160) 180deg, oklch(80% .32 200) 225deg, oklch(78% .35 250) 270deg, oklch(82% .32 300) 315deg, oklch(85% .35 360) 360deg );--tier-blur: 6px;--tier-pulse-min: .7;--tier-pulse-max: 1;--tier-animation: league-spark-rotate 4.1s linear infinite, league-spark-pulse 2.1s ease-in-out infinite;background:var(--tier-bg);color:var(--tier-color)}[data-theme=dark] .league-badge-bronze{--tier-bg: linear-gradient( 135deg, oklch(70% .08 50) 0%, oklch(58% .1 55) 50%, oklch(65% .09 52) 100% );--tier-color: oklch(22% .06 55);--tier-opacity: .6}[data-theme=dark] .league-badge-silver{--tier-bg: linear-gradient( 135deg, oklch(88% .025 270) 0%, oklch(72% .045 255) 50%, oklch(82% .035 265) 100% );--tier-color: oklch(22% .04 260);--tier-opacity: .7}[data-theme=dark] .league-badge-gold{--tier-bg: linear-gradient( 135deg, oklch(82% .14 90) 0%, oklch(68% .18 80) 50%, oklch(78% .16 85) 100% );--tier-color: oklch(25% .1 85);--tier-opacity: .8}[data-theme=dark] .league-badge-hero{--tier-bg: linear-gradient( 135deg, oklch(50% .025 250) 0%, oklch(38% .035 260) 50%, oklch(45% .03 255) 100% );--tier-pulse-min: .7;--tier-pulse-max: 1}[data-theme=dark] .league-badge-epic{--tier-bg: linear-gradient( 135deg, oklch(60% .2 250) 0%, oklch(40% .28 260) 50%, oklch(52% .22 255) 100% );--tier-pulse-min: .65;--tier-pulse-max: .95}[data-theme=dark] .league-badge-mythic{--tier-bg: linear-gradient( 135deg, oklch(50% .22 310) 0%, oklch(32% .3 295) 50%, oklch(42% .26 305) 100% );--tier-pulse-min: .75;--tier-pulse-max: 1}[data-theme=dark] .league-badge-legend{--tier-bg: linear-gradient( 135deg, oklch(.76 .26 326.4) 0%, oklch(.62 .23 277.5) 50%, oklch(.47 .29 279.86) 100% );--tier-pulse-min: .8;--tier-pulse-max: 1}@media(prefers-reduced-motion:reduce){.league-badge:before{animation:none;transform:rotate(45deg)}.league-badge-bronze{--tier-opacity: .3}.league-badge-silver{--tier-opacity: .35}.league-badge-gold,.league-badge-hero{--tier-opacity: .4}.league-badge-epic,.league-badge-mythic{--tier-opacity: .45}.league-badge-legend{--tier-opacity: .5}}.mobile-container{min-height:100dvh;display:flex;flex-direction:column}.mobile-container-safe-top{padding-top:var(--safe-top)}.mobile-container-safe-bottom{padding-bottom:var(--safe-bottom)}.mobile-container-safe-left{padding-left:var(--safe-left)}.mobile-container-safe-right{padding-right:var(--safe-right)}.mobile-container-safe-all{padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);padding-left:var(--safe-left);padding-right:var(--safe-right)}.floating-nav{position:fixed;left:50%;transform:translate(-50%);bottom:max(var(--space-4),calc(var(--safe-bottom) + var(--space-2)));z-index:var(--z-fixed);display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2);background-color:color-mix(in srgb,var(--color-bg) 90%,transparent);backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md));border:1px solid var(--color-border);border-radius:var(--radius-full);box-shadow:var(--shadow-xl)}@media(min-width:1024px){.floating-nav{display:none}}@media(min-width:640px){.floating-nav{gap:var(--space-6)}}.floating-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:var(--radius-full);color:var(--color-fg-muted);text-decoration:none;transition:all var(--duration-normal) var(--ease-default);cursor:pointer}.floating-nav-item:hover{color:var(--color-fg);background-color:var(--color-bg-muted)}.floating-nav-item:active{transform:scale(.95)}.floating-nav-item-active,.floating-nav-item-active:hover{background-color:var(--color-fg);color:var(--color-bg)}.floating-nav-item svg{width:1.25rem;height:1.25rem}.floating-nav-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.mobile-header{display:flex;align-items:center;justify-content:space-between;height:3.5rem;padding-left:var(--space-4);padding-right:var(--space-4);background-color:color-mix(in srgb,var(--color-bg) 80%,transparent);backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md));border-bottom:1px solid var(--color-border);padding-top:var(--safe-top)}.mobile-header-sticky{position:sticky;top:0;z-index:var(--z-sticky)}.mobile-header-left{display:flex;align-items:center;min-width:2.5rem}.mobile-header-title{position:absolute;left:50%;transform:translate(-50%);font-weight:var(--font-semibold);font-size:var(--text-base);color:var(--color-fg);text-align:center;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-header-right{display:flex;align-items:center;min-width:2.5rem;justify-content:flex-end}.mobile-header-back{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;min-width:44px;min-height:44px;border-radius:var(--radius-lg);background:transparent;border:none;color:var(--color-fg);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-default)}.mobile-header-back:hover{background-color:var(--color-bg-muted)}.mobile-header-back:active{transform:scale(.95)}.mobile-header-back svg{width:1.5rem;height:1.5rem}.bottom-sheet-backdrop{position:fixed;inset:0;background-color:var(--color-surface-overlay);z-index:var(--z-overlay);animation:bottom-sheet-fade-in var(--duration-fast) var(--ease-default)}.bottom-sheet-backdrop[data-closed]{animation:bottom-sheet-fade-out var(--duration-fast) var(--ease-default)}.bottom-sheet-positioner{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-modal);display:flex;justify-content:center}.bottom-sheet-content{background-color:var(--color-bg);border-top-left-radius:var(--radius-3xl);border-top-right-radius:var(--radius-3xl);max-height:85vh;width:100%;max-width:32rem;overflow:hidden;display:flex;flex-direction:column;will-change:transform;padding-bottom:var(--safe-bottom);animation:bottom-sheet-slide-up var(--duration-normal) var(--ease-default)}.bottom-sheet-content[data-closed]{animation:bottom-sheet-slide-down var(--duration-normal) var(--ease-default)}.bottom-sheet-handle{display:flex;justify-content:center;padding-top:var(--space-3);padding-bottom:var(--space-2);cursor:grab;touch-action:none}.bottom-sheet-handle:active{cursor:grabbing}.bottom-sheet-handle-bar{width:var(--space-10);height:var(--space-1);background-color:var(--color-gray-6);border-radius:var(--radius-full)}.bottom-sheet-header{display:flex;align-items:center;justify-content:space-between;padding-left:var(--space-4);padding-right:var(--space-4);padding-bottom:var(--space-3)}.bottom-sheet-title{font-weight:var(--font-semibold);font-size:var(--text-lg);color:var(--color-fg);margin:0}.bottom-sheet-close{display:flex;align-items:center;justify-content:center;width:var(--space-8);height:var(--space-8);border-radius:var(--radius-full);background:transparent;border:none;color:var(--color-fg-muted);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-default)}.bottom-sheet-close:hover{background-color:var(--color-bg-muted)}.bottom-sheet-close:active{transform:scale(.95)}.bottom-sheet-close svg{width:1.25rem;height:1.25rem}.bottom-sheet-body{flex:1;overflow-y:auto;padding-left:var(--space-4);padding-right:var(--space-4);padding-bottom:var(--space-4)}@keyframes bottom-sheet-fade-in{0%{opacity:0}to{opacity:1}}@keyframes bottom-sheet-fade-out{0%{opacity:1}to{opacity:0}}@keyframes bottom-sheet-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes bottom-sheet-slide-down{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}.switch{display:inline-flex;align-items:center}.switch-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.switch-control{--_track-w: 44px;--_track-h: 24px;--_thumb-size: 16px;--_border-w: 2px;--_inset: 2px;--_travel: calc(var(--_track-w) - var(--_thumb-size) - var(--_inset) * 2 - var(--_border-w) * 2);position:relative;width:var(--_track-w);height:var(--_track-h);border-radius:var(--radius-full);border:var(--_border-w) solid var(--color-border-strong);background-color:var(--color-bg-muted);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.switch-control[data-checked]{background-color:var(--color-primary);border-color:var(--color-primary)}.switch-thumb{position:absolute;top:var(--_inset);left:var(--_inset);width:var(--_thumb-size);height:var(--_thumb-size);border-radius:var(--radius-full);background-color:var(--color-fg);box-shadow:var(--shadow-sm);will-change:transform;transition:all .2s ease-out}.switch-control[data-checked] .switch-thumb{transform:translate(var(--_travel));background-color:var(--color-primary-fg)}.switch-control[data-focus-visible]{outline:2px solid var(--color-fg);outline-offset:2px}.switch-control:hover:not([data-disabled]){border-color:var(--color-fg-muted)}.switch-control[data-checked]:hover:not([data-disabled]){background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.switch-control[data-pressed]:not([data-disabled]) .switch-thumb{width:calc(var(--_thumb-size) + 4px)}.switch-control[data-checked][data-pressed]:not([data-disabled]) .switch-thumb{transform:translate(calc(var(--_travel) - 4px))}.switch-control[data-disabled]{opacity:.4;cursor:not-allowed}.switch-lg .switch-control{--_track-w: 56px;--_track-h: 32px;--_thumb-size: 24px;--_inset: 3px}@media(prefers-reduced-motion:reduce){.switch-control,.switch-thumb{transition-duration:.01ms!important}}.selectable-card{display:flex;align-items:center;gap:var(--space-4);width:100%;padding:var(--space-4) var(--space-5);background:var(--color-bg);border:2px solid var(--color-gray-12);border-radius:var(--radius-card);cursor:pointer;text-align:left;transition:all var(--duration-slow) var(--ease-default)}.selectable-card:hover:not(:disabled){background:var(--color-bg-subtle)}.selectable-card:focus-visible{outline:2px solid var(--color-brand-lavender);outline-offset:2px}.selectable-card:active:not(:disabled){transform:scale(.98)}.selectable-card-selected{background:var(--color-brand-lavender);border-color:var(--color-gray-12)}.selectable-card-selected:hover:not(:disabled){background:var(--color-brand-lavender)}.selectable-card-disabled{opacity:.5;cursor:not-allowed}.selectable-card-disabled:hover{background:var(--color-bg)}.selectable-card-selected.selectable-card-disabled:hover{background:var(--color-brand-lavender)}.selectable-card-icon{flex-shrink:0;color:var(--color-fg-muted);transition:color var(--duration-slow) var(--ease-default)}.selectable-card-icon-selected{color:var(--color-text-contrast-dark)}.selectable-card-content{flex:1;display:flex;flex-direction:column;gap:var(--space-1)}.selectable-card-label{font-weight:var(--font-semibold);color:var(--color-fg);transition:color var(--duration-slow) var(--ease-default)}.selectable-card-selected .selectable-card-label{color:var(--color-text-contrast-dark)}.selectable-card-description{font-size:var(--text-sm);color:var(--color-fg-muted);transition:color var(--duration-slow) var(--ease-default)}.selectable-card-selected .selectable-card-description{color:var(--color-text-contrast-muted)}.selectable-card-check{flex-shrink:0;opacity:0;color:var(--color-text-contrast-dark);transition:opacity var(--duration-slow) var(--ease-default)}.selectable-card-check-visible{opacity:1}@media(prefers-reduced-motion:reduce){.selectable-card{transition:none}.selectable-card:active:not(:disabled){transform:none}}.toggle-chip{display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);min-height:var(--tap-target-min);background:var(--color-bg);border:2px solid var(--color-gray-12);border-radius:var(--radius-full);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-fg);text-align:left;-webkit-user-select:none;user-select:none;transition:all var(--duration-slow) var(--ease-default)}.toggle-chip:hover:not(:disabled){background:var(--color-bg-subtle)}.toggle-chip:focus-visible{outline:2px solid var(--color-brand-lime);outline-offset:2px}.toggle-chip:active:not(:disabled){transform:scale(.98)}.toggle-chip-selected{background:var(--color-brand-lime);border-color:var(--color-gray-12)}.toggle-chip-selected:hover:not(:disabled){background:var(--color-brand-lime)}.toggle-chip-selected .toggle-chip-label,.toggle-chip-selected .toggle-chip-icon,.toggle-chip-selected .toggle-chip-check{color:var(--color-text-contrast-dark)}.toggle-chip-disabled{opacity:.5;cursor:not-allowed}.toggle-chip-disabled:hover{background:var(--color-bg)}.toggle-chip-selected.toggle-chip-disabled:hover{background:var(--color-brand-lime)}.toggle-chip-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--color-fg-muted);transition:color var(--duration-slow) var(--ease-default)}.toggle-chip-label{flex:1;color:var(--color-fg);transition:color var(--duration-slow) var(--ease-default)}.toggle-chip-check{flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--color-fg-muted);transition:color var(--duration-slow) var(--ease-default)}.toggle-chip-check-checked{color:var(--color-text-contrast-dark)}@media(prefers-reduced-motion:reduce){.toggle-chip{transition:none}.toggle-chip:active:not(:disabled){transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.toaster{position:fixed;z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);max-width:420px;width:100%}.toaster-bottom-end{bottom:0;right:0}.toaster-bottom-start{bottom:0;left:0}.toaster-top-end{top:0;right:0}.toaster-top-start{top:0;left:0}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);animation:slide-left var(--duration-normal) var(--ease-default)}.toast[data-closed]{animation:slide-out-right var(--duration-normal) var(--ease-default)}.toast-icon{flex-shrink:0;width:20px;height:20px}.toast-icon-success{color:var(--color-success)}.toast-icon-error{color:var(--color-error)}.toast-icon-warning{color:var(--color-warning)}.toast-icon-info{color:var(--color-fg-muted)}.toast-content{display:flex;flex-direction:column;gap:var(--space-1);flex:1;min-width:0}.toast-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-fg)}.toast-description{font-size:var(--text-sm);color:var(--color-fg-muted)}.toast-actions{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.toast-close{flex-shrink:0;margin-left:auto}.toast-spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-fg);border-radius:50%;animation:spin .8s linear infinite}@media(max-width:640px){.toaster{left:0;right:0;max-width:100%}.toaster-bottom-end,.toaster-bottom-start{bottom:0;left:0;right:0}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap-target-min);padding:var(--space-3) var(--space-6);border-radius:var(--radius-button);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-bold);line-height:var(--leading-none);cursor:pointer;transition:all var(--duration-slow) var(--ease-default);border:2px solid var(--color-gray-12);outline:none;text-decoration:none;position:relative;overflow:hidden;-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-sm)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn,.btn-primary{background-color:var(--color-fg);color:var(--color-bg)}.btn:not(.btn-secondary):not(.btn-outline):not(.btn-ghost):not(.btn-accent):not(.btn-link):hover,.btn-primary:hover{background-color:var(--color-fg);color:var(--color-primary);box-shadow:var(--shadow-md)}.btn:active,.btn-primary:active{transform:scale(.98);box-shadow:none}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-secondary{background-color:var(--color-bg);color:var(--color-fg);border-color:var(--color-gray-12)}.btn-secondary:hover{background-color:var(--color-bg-muted);border-color:var(--color-gray-12)}.btn-outline{background-color:transparent;border:2px solid var(--color-gray-12);color:var(--color-gray-12)}.btn-outline:hover{background-color:var(--color-fg);color:var(--color-bg)}.btn-ghost{background-color:transparent;color:var(--color-fg)}.btn-ghost:hover{background-color:var(--color-bg-muted)}.btn-accent{background-color:var(--color-primary);color:var(--color-primary-fg);border-color:var(--color-gray-12)}.btn-accent:hover{background-color:var(--color-fg);color:var(--color-primary)}.btn-small{padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.btn-full{width:100%}@media(min-width:768px){.btn-full{width:auto;min-width:200px;max-width:280px;padding-left:var(--space-10);padding-right:var(--space-10)}}@media(min-width:1024px){.btn-full{min-width:220px;max-width:300px}}.btn-icon{width:2.5rem;height:2.5rem;padding:0;border-radius:var(--radius-full)}.btn-icon.btn-small{width:2rem;height:2rem}.btn svg,.btn [data-icon]{width:1.25em;height:1.25em;flex-shrink:0}.btn.btn-loading{pointer-events:none;opacity:.8}.btn-loading:before{content:"";display:inline-block;width:1em;height:1em;margin-right:var(--space-2);border:2px solid currentColor;border-top-color:transparent;border-radius:var(--radius-full);animation:btn-spin .6s linear infinite;flex-shrink:0}@keyframes btn-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-link{background:none;border-radius:0;color:var(--color-fg);text-decoration:underline;text-underline-offset:2px;padding:0;border:none;box-shadow:none}.btn-link:hover{background:none;text-decoration-thickness:2px;box-shadow:none}[data-theme=dark] .btn:not(.btn-secondary):not(.btn-outline):not(.btn-ghost):not(.btn-accent):not(.btn-link):hover,[data-theme=dark] .btn-primary:hover{color:var(--color-primary-fg)}[data-theme=dark] .btn-accent{border-color:var(--color-primary)}[data-theme=dark] .btn-accent:hover{background-color:var(--color-primary-fg);color:var(--color-primary);border-color:var(--color-primary)}[data-theme=dark] .btn-secondary{background-color:transparent;color:var(--color-gray-12);border-color:color-mix(in oklch,var(--color-gray-1) 30%,transparent)}[data-theme=dark] .btn-secondary:hover{background-color:color-mix(in oklch,var(--color-gray-1) 10%,transparent);border-color:var(--color-gray-12)}.error-boundary{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;padding:var(--space-8);text-align:center;gap:var(--space-4)}.error-boundary-icon{color:var(--color-error);opacity:.8}.error-boundary-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-fg);margin:0}.error-boundary-message{font-size:var(--text-base);color:var(--color-fg-muted);max-width:28rem;margin:0}.error-boundary-details{width:100%;max-width:28rem;text-align:left;margin-top:var(--space-2)}.error-boundary-details summary{font-size:var(--text-sm);color:var(--color-fg-subtle);cursor:pointer;padding:var(--space-2)}.error-boundary-details summary:hover{color:var(--color-fg-muted)}.error-boundary-stack{font-family:var(--font-mono);font-size:var(--text-xs);background-color:var(--color-bg-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);margin-top:var(--space-2);overflow-x:auto;white-space:pre-wrap;word-break:break-word;color:var(--color-fg-muted)}.page-loader{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;background-color:var(--color-bg)}.spinner{display:flex;align-items:center;justify-content:center;padding:var(--space-8)}.spinner-circle{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spinner-rotate .8s linear infinite}@keyframes spinner-rotate{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner-circle{animation:none;border-top-color:var(--color-primary);opacity:.7}}html{transition:background-color .3s var(--ease-out)}html.auth-branded-mobile{background-color:var(--color-brand-purple)!important;min-height:100dvh;min-height:-webkit-fill-available}html.auth-branded-mobile body{background:transparent!important}@media(min-width:1024px){html.auth-branded-mobile{background:none!important}html.auth-branded-mobile body{background:var(--color-bg)!important}}.auth-layout{position:fixed;display:flex;width:100%;height:100%;overflow:hidden;background-color:var(--color-bg)}html.auth-branded-mobile .auth-layout{background:transparent}.auth-branding{display:none;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-8);width:40%;min-width:400px;max-width:512px;height:100vh;padding:var(--space-16) var(--space-12);background:linear-gradient(180deg,var(--color-brand-purple) 0%,color-mix(in oklch,var(--color-brand-purple) 80%,black) 100%);color:var(--color-gray-1);text-align:center;position:sticky;top:0}.auth-branding-logo{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--color-gray-1);letter-spacing:-.02em}.auth-branding-tagline{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-gray-1);line-height:var(--leading-tight);max-width:320px}.auth-branding-tagline em{display:block;font-style:normal;color:var(--color-brand-lime)}.auth-branding-subtitle{font-family:var(--font-body);font-size:var(--text-base);color:color-mix(in oklch,var(--color-gray-1) 85%,transparent);max-width:280px;line-height:var(--leading-relaxed)}.auth-form-panel{flex:1;display:flex;flex-direction:column;min-height:0;background-color:var(--color-bg)}.auth-form-panel--branded{background:transparent;color:var(--color-gray-1)}.auth-form-panel--branded .auth-form-back{color:var(--color-gray-1)}.auth-form-panel--branded .auth-form-back:hover{background-color:color-mix(in oklch,var(--color-gray-1) 10%,transparent)}.auth-form-panel--branded h1{color:var(--color-gray-1)}.auth-form-panel--branded h1 em{color:var(--color-brand-lime)}.auth-form-panel--branded p{color:color-mix(in oklch,var(--color-gray-1) 85%,transparent)}.auth-form-panel--branded .auth-page-footer a:not(.btn){color:color-mix(in oklch,var(--color-gray-1) 70%,transparent)}.auth-form-panel--branded .auth-page-footer a:not(.btn):hover{color:var(--color-gray-1)}@media(min-width:1024px){.auth-form-panel--branded{background:var(--color-bg);color:var(--color-fg)}.auth-form-panel--branded .auth-form-back{color:var(--color-fg)}.auth-form-panel--branded .auth-form-back:hover{background-color:var(--color-bg-muted)}.auth-form-panel--branded h1{color:var(--color-fg)}.auth-form-panel--branded h1 em{color:var(--color-brand-purple)}.auth-form-panel--branded p{color:var(--color-fg-muted)}.auth-form-panel--branded .auth-page-footer a:not(.btn){color:var(--color-fg-muted)}.auth-form-panel--branded .auth-page-footer a:not(.btn):hover{color:var(--color-brand-purple)}}.auth-form-back{position:absolute;top:calc(var(--safe-top) + var(--space-4));left:var(--space-4);display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;border:none;border-radius:var(--radius-lg);background:transparent;color:var(--color-fg);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-default),transform var(--duration-fast) var(--ease-default);padding:0;margin:0;z-index:10}.auth-form-back svg{width:24px;height:24px;flex-shrink:0}.auth-form-back:hover{background-color:var(--color-bg-muted)}.auth-form-back:active{transform:scale(.95)}.auth-form-back:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.auth-form-content{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;padding:var(--space-6);padding-top:calc(var(--safe-top, 0px) + 44px + var(--space-4) + var(--space-6));padding-bottom:0;text-align:center;overflow-y:auto;-webkit-overflow-scrolling:touch;--auth-content-offset: calc(var(--safe-top, 0px) + 44px + var(--space-4) + var(--space-6))}.auth-form-wrapper{display:flex;flex-direction:column;flex:1;width:100%;max-width:420px;min-height:0}.auth-form-wrapper>*{flex:1;display:flex;flex-direction:column}.auth-form-footer{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:var(--space-4);width:100%;max-width:420px;margin:0 auto;padding:var(--space-6);padding-bottom:calc(var(--safe-bottom) + var(--space-6));border:none;box-shadow:none;background:transparent}.auth-form-footer a:not(.btn){color:var(--color-fg-muted);text-decoration:underline;text-underline-offset:2px;min-height:44px;display:inline-flex;align-items:center}.auth-form-footer a:not(.btn):hover{color:var(--color-brand-purple)}.auth-mobile-logo{display:flex;justify-content:center;width:100%;margin-bottom:var(--space-8)}@media(min-width:1024px){.auth-branding{display:flex}.auth-mobile-logo{display:none}.auth-form-panel{position:relative;justify-content:center}.auth-form-content{justify-content:center;padding:var(--space-16) var(--space-20)}.auth-form-wrapper{flex:0 1 auto;min-height:auto}.auth-form-wrapper>*{flex:0 1 auto}.auth-form-footer{position:static;transform:none;padding:var(--space-8)}}@media(prefers-reduced-motion:no-preference){.auth-form-content{animation:auth-form-fade-in .4s var(--ease-out)}}@keyframes auth-form-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.auth-page-footer{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);width:100%;max-width:420px;flex-shrink:0;margin-top:auto;padding-top:var(--space-6);padding-bottom:calc(var(--safe-bottom) + var(--space-6));font-size:var(--text-sm)}.auth-page-footer a:not(.btn){color:var(--color-fg);font-weight:var(--font-bold);text-decoration:none;display:inline-flex;align-items:center;gap:var(--space-1)}.auth-page-footer a:not(.btn) svg{flex-shrink:0;display:block}.auth-page-footer a:not(.btn):hover{color:var(--color-brand-purple)}@media(min-width:1024px){.auth-page-footer{padding-bottom:var(--space-8)}}
