@charset "UTF-8";@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url("./media/nunito-cyrillic-ext-wght-normal-MF3U6A5A.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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url("./media/nunito-cyrillic-wght-normal-KKO5CHEH.woff2") format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url("./media/nunito-vietnamese-wght-normal-BXDRYU5N.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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url("./media/nunito-latin-ext-wght-normal-VPKFC542.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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url("./media/nunito-latin-wght-normal-LTD77BFG.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/geist-mono-cyrillic-ext-wght-normal-MXH7NCK4.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/geist-mono-cyrillic-wght-normal-HAN5SV5X.woff2") format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/geist-mono-symbols2-wght-normal-SFS2AEOE.woff2") format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/geist-mono-vietnamese-wght-normal-NQZTLMRO.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/geist-mono-latin-ext-wght-normal-T6IWZGSP.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/geist-mono-latin-wght-normal-ZFTFIXTF.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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/hanken-grotesk-cyrillic-ext-wght-normal-L7GHNSDI.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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/hanken-grotesk-vietnamese-wght-normal-PMWGHMOH.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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/hanken-grotesk-latin-ext-wght-normal-XRETCU74.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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/hanken-grotesk-latin-wght-normal-ZZ3K7K5Y.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{--background-dark: #f0f1f3;--background: #f6f7f8;--background-light: #fcfcfd;--surface-raised: #ffffff;--canvas-gradient: linear-gradient(180deg, #f6f7f8 0%, #f6f7f8 100%);--surface-sunken: rgba(23, 24, 27, .05);--surface-hover: rgba(23, 24, 27, .075);--surface-control: #ffffff;--surface-thumb: #ffffff;--shadow-thumb: 0 0 0 1px rgba(16, 19, 26, .08), 0 1px 2px rgba(16, 19, 26, .12);--surface-overlay: #ffffff;--surface-inverse: #17181b;--text-inverse: #ecedef;--text: #17181b;--text-muted: #565a63;--text-faint: #676b74;--text-placeholder: #797d86;--border: #dfe1e5;--border-muted: #e9eaed;--border-strong: #c4c7ce;--border-highlight: var(--border);--primary: #17181b;--primary-hover: #2c2e33;--primary-contrast: #ffffff;--primary-gradient: #17181b;--primary-gradient-hover: #2c2e33;--shadow-button-primary: 0 1px 2px rgba(16, 19, 26, .12), inset 0 1px 0 rgba(255, 255, 255, .14);--primary-light: rgba(23, 24, 27, .06);--primary-text: #17181b;--surface-selected: rgba(23, 24, 27, .05);--primary-border: color-mix( in srgb, var(--primary-color, var(--primary)) 76%, #17181d );--accent: #17181b;--accent-hover: #2c2e33;--accent-contrast: #ffffff;--success: #4a9670;--success-light: rgba(74, 150, 112, .12);--success-text: #2e6b4c;--success-contrast: #ffffff;--warning: #e5ac2c;--warning-light: rgba(229, 172, 44, .14);--warning-text: #7a5508;--warning-contrast: #17181b;--error: #b3342b;--error-hover: #9c2c24;--error-light: rgba(179, 52, 43, .09);--error-text: #8f271f;--error-contrast: #ffffff;--info: #2f6fdb;--info-light: rgba(47, 111, 219, .1);--info-text: #24539f;--info-contrast: #ffffff;--avatar-1-bg: rgba(61, 85, 184, .12);--avatar-1-fg: #3d55b8;--avatar-2-bg: rgba(15, 118, 110, .12);--avatar-2-fg: #0f766e;--avatar-3-bg: rgba(180, 83, 9, .12);--avatar-3-fg: #b45309;--avatar-4-bg: rgba(190, 24, 93, .12);--avatar-4-fg: #be185d;--avatar-5-bg: rgba(86, 90, 99, .12);--avatar-5-fg: #565a63;--avatar-6-bg: rgba(14, 116, 144, .12);--avatar-6-fg: #0e7490;--link: #17181b;--link-hover: #565a63;--focus-ring: 0 0 0 2px var(--background), 0 0 0 4px var(--primary);--focus-ring-offset: var(--focus-ring);--shadow-sm: 0 1px 2px rgba(16, 19, 26, .05);--shadow-md: var( --shadow-sm );--shadow-card: 0 1px 2px rgba(16, 19, 26, .06), 0 1px 3px rgba(16, 19, 26, .05);--shadow-lg: 0 4px 8px -2px rgba(16, 19, 26, .08), 0 16px 32px -8px rgba(16, 19, 26, .14);--shadow-xl: 0 0 0 1px rgba(16, 19, 26, .06), 0 4px 8px -2px rgba(16, 19, 26, .08), 0 16px 32px -8px rgba(16, 19, 26, .18);--radius-sm: 8px;--radius-md: 9px;--radius-lg: 14px;--radius-xl: 16px;--radius-full: 9999px;--border-width: 1px;--border-width-thick: var( --border-width );--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-18: 6rem;--font-sans: "Nunito Variable", -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "Nunito Variable", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "Geist Mono Variable", ui-monospace, monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.5rem;--text-5xl: 3rem;--text-title: 1.625rem;--leading-tight: 1.1;--leading-snug: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-black: 750;--transition-fast: .15s ease;--transition-normal: var(--transition-fast);--transition-slow: var(--transition-fast);--skeleton-base: rgba(23, 24, 27, .07);--skeleton-shine: rgba(23, 24, 27, .035);--z-dropdown: 100;--z-sticky: 200;--z-modal-backdrop: 300;--z-modal: 400;--z-toast: 500;--z-tooltip: 600;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px}[data-theme=dark]{--background-dark: #0f1013;--background: #121316;--background-light: #15161a;--surface-raised: #1a1b1f;--canvas-gradient: linear-gradient(180deg, #121316 0%, #121316 100%);--surface-sunken: rgba(255, 255, 255, .05);--surface-hover: rgba(255, 255, 255, .08);--surface-control: rgba(255, 255, 255, .05);--surface-thumb: #2e3035;--shadow-thumb: 0 0 0 1px rgba(255, 255, 255, .06), 0 1px 2px rgba(0, 0, 0, .4);--surface-overlay: #202125;--surface-inverse: #2c2e33;--text-inverse: #ecedef;--text: #ecedef;--text-muted: #a3a7af;--text-faint: #8a8e97;--text-placeholder: #7a7e87;--border: #2c2e33;--border-muted: #232529;--border-strong: #43464d;--border-highlight: rgba(255, 255, 255, .07);--primary: #ecedef;--primary-hover: #d4d6da;--primary-contrast: #111214;--primary-gradient: #ecedef;--primary-gradient-hover: #d4d6da;--shadow-button-primary: 0 1px 2px rgba(0, 0, 0, .3);--primary-light: rgba(255, 255, 255, .07);--primary-text: #ecedef;--surface-selected: rgba(255, 255, 255, .05);--primary-border: transparent;--accent: #ecedef;--accent-hover: #d4d6da;--accent-contrast: #111214;--success: #5fae87;--success-light: rgba(95, 174, 135, .14);--success-text: #8fcbaa;--success-contrast: #111214;--warning: #e9c062;--warning-light: rgba(233, 192, 98, .13);--warning-text: #f0d084;--warning-contrast: #111214;--error: #ec5a50;--error-hover: #f06b62;--error-light: rgba(236, 90, 80, .14);--error-text: #f26a60;--error-contrast: #111214;--info: #6c9ef0;--info-light: rgba(108, 158, 240, .14);--info-text: #a3c2f3;--info-contrast: #111214;--avatar-1-bg: rgba(165, 180, 252, .18);--avatar-1-fg: #a5b4fc;--avatar-2-bg: rgba(94, 234, 212, .18);--avatar-2-fg: #5eead4;--avatar-3-bg: rgba(252, 211, 77, .18);--avatar-3-fg: #fcd34d;--avatar-4-bg: rgba(249, 168, 212, .18);--avatar-4-fg: #f9a8d4;--avatar-5-bg: rgba(201, 204, 209, .16);--avatar-5-fg: #c9ccd1;--avatar-6-bg: rgba(103, 232, 249, .18);--avatar-6-fg: #67e8f9;--link: #ecedef;--link-hover: #a3a7af;--focus-ring: 0 0 0 2px var(--background), 0 0 0 4px var(--primary);--focus-ring-offset: var(--focus-ring);--shadow-sm: none;--shadow-md: var(--shadow-sm);--shadow-card: 0 1px 2px rgba(0, 0, 0, .3);--shadow-lg: 0 4px 8px -2px rgba(0, 0, 0, .4), 0 16px 32px -8px rgba(0, 0, 0, .6);--shadow-xl: 0 0 0 1px rgba(255, 255, 255, .07), 0 4px 8px -2px rgba(0, 0, 0, .4), 0 16px 32px -8px rgba(0, 0, 0, .6);--skeleton-base: rgba(255, 255, 255, .05);--skeleton-shine: rgba(255, 255, 255, .09)}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}body{min-height:100vh;line-height:1.5}h1,h2,h3,h4,button,input,label{line-height:1.1}h1,h2,h3,h4{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}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}ul[role=list],ol[role=list]{list-style:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}table{border-collapse:collapse;border-spacing:0}fieldset{border:none}legend{display:block;width:100%}button{background:none;border:none;cursor:pointer;color:inherit}button:disabled{cursor:not-allowed}:focus:not(:focus-visible){outline:none}[contenteditable]:focus,[contenteditable]:focus-visible{outline:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}input[type=date],input[type=time],input[type=datetime-local]{-webkit-appearance:none}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.01em}h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--font-display);font-weight:var(--font-bold);line-height:var(--leading-tight);color:var(--text);letter-spacing:-.02em;text-transform:none}h1{font-size:var(--text-5xl);font-weight:var(--font-black);letter-spacing:-.03em}h2{font-size:var(--text-4xl);font-weight:var(--font-bold)}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-xl)}h6{font-size:var(--text-lg);font-weight:var(--font-semibold)}p{margin:0}a{color:var(--link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px;transition:all var(--transition-fast)}a:hover{color:var(--link-hover);text-decoration-thickness:3px}a:focus-visible{outline:3px solid var(--link);outline-offset:2px}ul,ol{margin:0;padding:0;list-style:none}code{font-family:var(--font-mono);font-size:.875em;background-color:var(--background-dark);padding:.2em .4em;border:var(--border-width) solid var(--border)}.inline-code{background:var(--surface-sunken);border:none;border-radius:var(--radius-md);color:var(--text);font-family:var(--font-mono, monospace);font-size:12px;padding:2px 6px;white-space:nowrap}.modal-prose{color:var(--text-muted);font-size:13px;line-height:21px;margin:0}.modal-prose strong{color:var(--text);font-weight:var(--font-semibold)}pre{margin:0;font-family:var(--font-mono);font-size:var(--text-sm);background-color:var(--background-dark);padding:var(--space-4);border:var(--border-width) solid var(--border);overflow-x:auto}pre code{background:none;padding:0;border:none}small{font-size:var(--text-sm);color:var(--text-muted)}strong{font-weight:var(--font-bold)}blockquote{margin:0;padding:var(--space-4) var(--space-6);border-left:4px solid var(--border);background-color:var(--background-light);color:var(--text-muted);font-style:normal;font-weight:var(--font-medium)}hr{margin:var(--space-8) 0;border:none;border-top:var(--border-width-thick) solid var(--border)}::selection{background-color:var(--primary);color:var(--primary-contrast)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.text-4xl{font-size:var(--text-4xl)}.text-5xl{font-size:var(--text-5xl)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.font-black{font-weight:var(--font-black)}.font-mono{font-family:var(--font-mono)}.font-display{font-family:var(--font-display)}.text-primary{color:var(--text)}.text-secondary,.text-muted{color:var(--text-muted)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.uppercase{text-transform:uppercase;letter-spacing:.05em}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.context-box{background:var(--surface-sunken);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);padding:var(--space-4)}.hidden{display:none}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.grow{flex-grow:1}.grow-0{flex-grow:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.w-full{width:100%}.w-auto{width:auto}.w-fit{width:fit-content}.max-w-full{max-width:100%}.min-w-0{min-width:0}.h-full{height:100%}.h-auto{height:auto}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.m-0{margin:0}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-top:auto;margin-bottom:auto}.m-1{margin:var(--space-1)}.mt-1{margin-top:var(--space-1)}.mr-1{margin-right:var(--space-1)}.mb-1{margin-bottom:var(--space-1)}.ml-1{margin-left:var(--space-1)}.mx-1{margin-left:var(--space-1);margin-right:var(--space-1)}.my-1{margin-top:var(--space-1);margin-bottom:var(--space-1)}.m-2{margin:var(--space-2)}.mt-2{margin-top:var(--space-2)}.mr-2{margin-right:var(--space-2)}.mb-2{margin-bottom:var(--space-2)}.ml-2{margin-left:var(--space-2)}.mx-2{margin-left:var(--space-2);margin-right:var(--space-2)}.my-2{margin-top:var(--space-2);margin-bottom:var(--space-2)}.m-3{margin:var(--space-3)}.mt-3{margin-top:var(--space-3)}.mr-3{margin-right:var(--space-3)}.mb-3{margin-bottom:var(--space-3)}.ml-3{margin-left:var(--space-3)}.mx-3{margin-left:var(--space-3);margin-right:var(--space-3)}.my-3{margin-top:var(--space-3);margin-bottom:var(--space-3)}.m-4{margin:var(--space-4)}.mt-4{margin-top:var(--space-4)}.mr-4{margin-right:var(--space-4)}.mb-4{margin-bottom:var(--space-4)}.ml-4{margin-left:var(--space-4)}.mx-4{margin-left:var(--space-4);margin-right:var(--space-4)}.my-4{margin-top:var(--space-4);margin-bottom:var(--space-4)}.m-6{margin:var(--space-6)}.mt-6{margin-top:var(--space-6)}.mr-6{margin-right:var(--space-6)}.mb-6{margin-bottom:var(--space-6)}.ml-6{margin-left:var(--space-6)}.mx-6{margin-left:var(--space-6);margin-right:var(--space-6)}.my-6{margin-top:var(--space-6);margin-bottom:var(--space-6)}.m-8{margin:var(--space-8)}.mt-8{margin-top:var(--space-8)}.mr-8{margin-right:var(--space-8)}.mb-8{margin-bottom:var(--space-8)}.ml-8{margin-left:var(--space-8)}.mx-8{margin-left:var(--space-8);margin-right:var(--space-8)}.my-8{margin-top:var(--space-8);margin-bottom:var(--space-8)}.p-0{padding:0}.p-1{padding:var(--space-1)}.pt-1{padding-top:var(--space-1)}.pr-1{padding-right:var(--space-1)}.pb-1{padding-bottom:var(--space-1)}.pl-1{padding-left:var(--space-1)}.px-1{padding-left:var(--space-1);padding-right:var(--space-1)}.py-1{padding-top:var(--space-1);padding-bottom:var(--space-1)}.p-2{padding:var(--space-2)}.pt-2{padding-top:var(--space-2)}.pr-2{padding-right:var(--space-2)}.pb-2{padding-bottom:var(--space-2)}.pl-2{padding-left:var(--space-2)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.p-3{padding:var(--space-3)}.pt-3{padding-top:var(--space-3)}.pr-3{padding-right:var(--space-3)}.pb-3{padding-bottom:var(--space-3)}.pl-3{padding-left:var(--space-3)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.p-4{padding:var(--space-4)}.pt-4{padding-top:var(--space-4)}.pr-4{padding-right:var(--space-4)}.pb-4{padding-bottom:var(--space-4)}.pl-4{padding-left:var(--space-4)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.p-6{padding:var(--space-6)}.pt-6{padding-top:var(--space-6)}.pr-6{padding-right:var(--space-6)}.pb-6{padding-bottom:var(--space-6)}.pl-6{padding-left:var(--space-6)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.p-8{padding:var(--space-8)}.pt-8{padding-top:var(--space-8)}.pr-8{padding-right:var(--space-8)}.pb-8{padding-bottom:var(--space-8)}.pl-8{padding-left:var(--space-8)}.px-8{padding-left:var(--space-8);padding-right:var(--space-8)}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.static{position:static}.inset-0{inset:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.bg-primary{background-color:var(--background)}.bg-secondary{background-color:var(--background-light)}.bg-tertiary{background-color:var(--background-dark)}.bg-transparent{background-color:transparent}.border{border:1px solid var(--border)}.border-0{border:none}.border-t{border-top:1px solid var(--border)}.border-r{border-right:1px solid var(--border)}.border-b{border-bottom:1px solid var(--border)}.border-l{border-left:1px solid var(--border)}.shadow-none{box-shadow:none}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.select-all{-webkit-user-select:all;user-select:all}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.visible{visibility:visible}.invisible{visibility:hidden}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-1{-webkit-box-orient:vertical;display:-webkit-box;-webkit-line-clamp:1;overflow:hidden}.line-clamp-2{-webkit-box-orient:vertical;display:-webkit-box;-webkit-line-clamp:2;overflow:hidden}.line-clamp-3{-webkit-box-orient:vertical;display:-webkit-box;-webkit-line-clamp:3;overflow:hidden}.transition{transition:all var(--transition-normal)}.transition-none{transition:none}.transition-colors{transition:color var(--transition-normal),background-color var(--transition-normal),border-color var(--transition-normal)}.transition-opacity{transition:opacity var(--transition-normal)}.transition-transform{transition:transform var(--transition-normal)}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{animation:skeleton-shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-shine) 50%,var(--skeleton-base) 75%);background-size:200% 100%;border-radius:5px}.skeleton--line{background-clip:content-box;padding-block:var(--skeleton-line-inset, 2px)}.skeleton--text{height:1em}.skeleton--text-sm{height:.875em}.skeleton--text-lg{height:1.25em}.skeleton--circle{border-radius:50%}.skeleton--rounded{border-radius:var(--radius-full)}@media(prefers-reduced-motion:reduce){.skeleton{animation:none;background:var(--skeleton-base)}}@media(min-width:768px){.md\:hidden{display:none}.md\:block{display:block}.md\:flex{display:flex}}@media(min-width:1024px){.lg\:hidden{display:none}.lg\:block{display:block}.lg\:flex{display:flex}}.page-header{align-items:flex-start;display:flex;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-5)}@media(max-width:640px){.page-header{flex-direction:column}}.page-header>div:not([class]),.page-header div:has(>.page-title){flex:1;min-width:0}.page-title{color:var(--text);font-size:var(--text-title);font-weight:var(--font-black);letter-spacing:-.025em;line-height:28px;margin:0 0 var(--space-1)}.page-subtitle{color:var(--text-muted);font-size:var(--text-sm);line-height:20px;margin:0}.reveal{display:flex;flex-direction:column;gap:var(--space-4)}.reveal-warning{color:var(--text-muted);font-size:var(--text-sm);line-height:20px;margin:0}.token-box{align-items:center;background:var(--surface-sunken);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.token{background:none;border:none;color:var(--text);flex:1;font-family:var(--font-mono, monospace);font-size:12px;line-height:18px;padding:0;word-break:break-all}.auth-error{display:flex;gap:var(--space-2);align-items:flex-start;padding:var(--space-3) var(--space-4);border:var(--border-width) solid color-mix(in srgb,var(--error) 30%,transparent);border-radius:var(--radius-md);background-color:var(--error-light);color:var(--error-text);font-size:var(--text-sm);line-height:1.45}.fd-page{--fd-bg: #ffffff;--fd-bg2: #fbfbfc;--fd-card: #ffffff;--fd-faint: #f0f1f3;--fd-line: #e8e9ec;--fd-line2: #d3d5da;--fd-ink: #17181b;--fd-ink2: #565a63;--fd-ink3: #5e626b;--fd-btn: #17181b;--fd-btn-ink: #ffffff;--fd-shadow: rgba(0, 0, 0, .16);--fd-ok: #4a9670;--fd-font: "Hanken Grotesk Variable", "Hanken Grotesk", system-ui, sans-serif;--background: var(--fd-bg2);--background-light: var(--fd-card);--surface-raised: var(--fd-card);--surface-sunken: var(--fd-bg);--surface-hover: var(--fd-faint);--text: var(--fd-ink);--text-muted: var(--fd-ink2);--text-faint: var(--fd-ink3);--border: var(--fd-line);--border-muted: var(--fd-line);--border-strong: var(--fd-line2);--primary: var(--fd-ink);--primary-color: var(--fd-btn);--primary-color-contrast: var(--fd-btn-ink);--primary-text: var(--fd-ink);--primary-light: var(--fd-faint);--shadow-button-primary: none;--font-sans: var(--fd-font);--font-display: var(--fd-font);position:relative;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background:var(--fd-bg2);color:var(--fd-ink);font-family:var(--fd-font);font-size:15px}[data-theme=dark] .fd-page{--fd-bg: #111214;--fd-bg2: #141518;--fd-card: #17181b;--fd-faint: #1c1d21;--fd-line: #25272b;--fd-line2: #383b41;--fd-ink: #ecedef;--fd-ink2: #a3a7af;--fd-ink3: #9a9ea7;--fd-btn: #ecedef;--fd-btn-ink: #111214;--fd-shadow: rgba(0, 0, 0, .6);--fd-ok: #7fcf9c}.fd-topbar{position:relative;z-index:10;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:22px 28px 0}@media(max-width:560px){.fd-topbar{padding:16px 20px 0}}.fd-brand{display:inline-flex;align-items:center;justify-self:start;color:var(--fd-ink);text-decoration:none}.fd-brand:focus-visible{outline:none;border-radius:var(--radius-sm);box-shadow:var(--focus-ring)}.fd-topbar__center{justify-self:center}.fd-topbar__right{justify-self:end}.fd-main{position:relative;z-index:1;display:flex;flex:1;flex-direction:column;align-items:stretch;justify-content:center;width:100%;max-width:1024px;margin:0 auto;padding:32px 24px 56px;box-sizing:border-box;text-align:center}@media(max-width:560px){.fd-main{justify-content:flex-start;padding:36px 20px 40px}}.fd-heading{margin:0 0 10px;font-family:var(--fd-font);font-size:34px;font-weight:600;line-height:1.1;letter-spacing:-.035em;color:var(--fd-ink);text-wrap:balance}.fd-heading--lg{font-size:clamp(2.125rem,5vw,2.75rem)}.fd-heading--card{font-size:24px;letter-spacing:-.03em}@media(max-width:560px){.fd-heading{font-size:28px}}.fd-sub{margin:0;font-size:15.5px;line-height:1.5;color:var(--fd-ink2);text-wrap:pretty}.fd-eyebrow{font-family:var(--font-mono);font-size:11.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--fd-ink3)}.fd-mono-note{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--fd-ink3)}.fd-badge{display:inline-flex;align-items:center;gap:7px;padding:4px 11px;border:1px solid var(--fd-line);border-radius:999px;background:var(--fd-card)}.fd-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--fd-ok)}.fd-badge span{font-size:12.5px;font-weight:500;color:var(--fd-ink2)}.fd-card{position:relative;box-sizing:border-box;width:100%;padding:26px;border:1px solid var(--fd-line);border-radius:16px;background:var(--fd-card);box-shadow:0 24px 48px -28px var(--fd-shadow);text-align:left;animation:fd-pop .4s cubic-bezier(.22,1,.36,1) both}@media(max-width:560px){.fd-card{padding:0;border:none;background:transparent;box-shadow:none}}.fd-page .button.button--primary{font-weight:500}.fd-page .button.button--primary:hover:not(:disabled){opacity:.88}.fd-page .button.button--lg{height:44px;border-radius:10px;font-size:15px}.fd-page .input-wrapper--lg input.input-field{height:42px;font-size:14.5px}.fd-page .input-label{color:var(--fd-ink);font-size:13.5px;font-weight:500}.fd-btn-google{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;height:44px;box-sizing:border-box;border:1px solid var(--fd-line2);border-radius:10px;background:var(--fd-card);color:var(--fd-ink);font-family:var(--fd-font);font-size:15px;font-weight:500;cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.fd-btn-google:hover:not(:disabled){background:var(--fd-faint)}.fd-btn-google:disabled{opacity:.6;cursor:default}.fd-btn-google:focus-visible{outline:none;box-shadow:var(--focus-ring)}.fd-btn-google svg{flex-shrink:0}.fd-btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;box-sizing:border-box;border:1px solid var(--fd-line2);border-radius:10px;background:var(--fd-card);color:var(--fd-ink);font-family:var(--fd-font);font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;transition:background-color var(--transition-fast)}.fd-btn-ghost:hover{background:var(--fd-faint)}.fd-btn-ghost:focus-visible{outline:none;box-shadow:var(--focus-ring)}.fd-divider{display:flex;align-items:center;gap:12px;margin:18px 0}.fd-divider:before,.fd-divider:after{content:"";flex:1;height:1px;background:var(--fd-line)}.fd-divider span{font-size:12px;color:var(--fd-ink3)}.fd-rows{box-sizing:border-box;padding:2px 16px;border:1px solid var(--fd-line);border-radius:12px;background:var(--fd-bg);text-align:left}.fd-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;font-size:13.5px;color:var(--fd-ink2)}.fd-row+.fd-row{border-top:1px solid var(--fd-line)}.fd-row__value{font-size:13.5px;font-weight:500;color:var(--fd-ink)}.fd-row__value--mono{font-family:var(--font-mono);font-size:12.5px}.fd-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,236px));gap:14px;justify-content:center}@media(max-width:1100px){.fd-tiles{grid-template-columns:repeat(2,minmax(0,236px))}}@media(max-width:560px){.fd-tiles{grid-template-columns:1fr}}.fd-tile{position:relative;display:flex;flex-direction:column;gap:10px;box-sizing:border-box;min-height:150px;padding:20px;border:1px solid var(--fd-line);border-radius:14px;background:var(--fd-card);color:var(--fd-ink);text-align:left;font-family:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s}.fd-tile:hover:not(:disabled){border-color:var(--fd-line2)}.fd-tile:focus-visible{outline:none;box-shadow:var(--focus-ring)}.fd-tile--selected,.fd-tile--selected:hover:not(:disabled){border-color:var(--fd-ink);box-shadow:0 0 0 1px var(--fd-ink)}.fd-tile__check{position:absolute;top:12px;right:12px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--fd-ink);color:var(--fd-bg)}.fd-tile__icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--fd-line);border-radius:10px;background:var(--fd-faint);color:var(--fd-ink)}.fd-tile__title{font-size:15.5px;font-weight:600;letter-spacing:-.015em;color:var(--fd-ink)}.fd-tile__desc{font-size:13.5px;line-height:1.5;color:var(--fd-ink2)}.fd-chips{display:flex;flex-wrap:wrap;gap:7px}.fd-chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 13px;box-sizing:border-box;border:1px solid var(--fd-line2);border-radius:999px;background:transparent;color:var(--fd-ink);font-family:var(--fd-font);font-size:13.5px;font-weight:400;cursor:pointer;transition:border-color .15s,background-color .15s,color .15s}.fd-chip:hover:not(:disabled){background:var(--fd-faint)}.fd-chip:focus-visible{outline:none;box-shadow:var(--focus-ring)}.fd-chip:disabled{opacity:.6;cursor:default}.fd-chip--active,.fd-chip--active:hover:not(:disabled){border-color:var(--fd-ink);background:var(--fd-ink);color:var(--fd-bg)}.fd-progress{display:flex;align-items:center;gap:6px;margin:0;padding:0;list-style:none}.fd-progress__pill{width:32px;height:5px;border-radius:999px;background:var(--fd-line)}.fd-progress__pill--done{background:var(--fd-ink3)}.fd-progress__pill--active{background:var(--fd-ink)}.fd-link{color:var(--fd-ink);font-weight:500;text-decoration:underline;text-decoration-color:var(--fd-line2);text-decoration-thickness:1px;text-underline-offset:4px;transition:text-decoration-color var(--transition-fast)}.fd-link:hover{color:var(--fd-ink);text-decoration-color:currentColor}.fd-link:focus-visible{outline:none;border-radius:4px;box-shadow:var(--focus-ring)}.fd-muted-action{display:inline-flex;align-items:center;gap:6px;border:none;background:none;padding:0;font-family:var(--fd-font);font-size:14px;font-weight:500;color:var(--fd-ink2);cursor:pointer;transition:color var(--transition-fast)}.fd-muted-action:hover{color:var(--fd-ink)}.fd-muted-action:focus-visible{outline:none;border-radius:var(--radius-sm);box-shadow:var(--focus-ring)}.fd-checklist{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;max-width:440px;font-size:14.5px;color:var(--fd-ink2)}.fd-checklist span{display:flex;align-items:center;gap:9px}@media(max-width:560px){.fd-checklist{grid-template-columns:1fr}}.fd-checklist__tick{display:flex;color:var(--fd-ink)}@keyframes fd-pop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.fd-card{animation:none}}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background-attachment:fixed;background-color:var(--background);background-image:var(--canvas-gradient);min-height:100vh}@media(min-width:769px){html.contained-scroll,html.contained-scroll body{overscroll-behavior:none}}.skip-link{background:var(--primary);color:var(--primary-contrast);left:0;padding:var(--space-2) var(--space-4);position:absolute;top:-40px;transition:top var(--transition-fast);z-index:1000}.skip-link:focus{top:0}app-root{display:block;min-height:100vh}html:has(.editor-fullscreen),.admin-main:has(.editor-fullscreen){overflow:hidden}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fade-in var(--transition-normal) ease-out}@media(prefers-reduced-motion:reduce){.animate-fade-in{animation:fade-in var(--transition-fast) ease-out}}.animate-fade-in-up{animation:slide-in var(--transition-normal) ease-out;animation-fill-mode:both}@media(prefers-reduced-motion:reduce){.animate-fade-in-up{animation:none}}.animate-delay-1{animation-delay:50ms}.animate-delay-2{animation-delay:.1s}.animate-delay-3{animation-delay:.15s}.animate-delay-4{animation-delay:.2s}.animate-delay-5{animation-delay:.25s}.animate-delay-6{animation-delay:.3s}.animate-delay-7{animation-delay:.35s}.animate-delay-8{animation-delay:.4s}.animate-delay-9{animation-delay:.45s}.animate-delay-10{animation-delay:.5s}.select-panel .select-listbox{background-color:var(--surface-overlay);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);box-sizing:border-box;list-style:none;margin:0;max-height:280px;overflow-y:auto;padding:5px;width:100%}.select-panel .select-menu--searchable{background-color:var(--surface-overlay);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);box-sizing:border-box;overflow:hidden;width:100%}.select-panel .select-menu--searchable .select-listbox{background-color:transparent;border:none;border-radius:0;box-shadow:none}.select-panel .select-menu--searchable .select-search{border-bottom:var(--border-width) solid var(--border-muted);padding:var(--space-1)}.select-panel .select-menu--searchable .select-search-input{background-color:var(--surface-sunken);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-md);box-sizing:border-box;color:var(--text);font-family:inherit;font-size:13px;height:32px;padding:0 var(--space-3);width:100%}.select-panel .select-menu--searchable .select-search-input::placeholder{color:var(--text-placeholder)}.select-panel .select-menu--searchable .select-search-input:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 25%,transparent);outline:none}.select-panel .select-menu--searchable .select-no-results{color:var(--text-muted);font-size:var(--text-sm);list-style:none;padding:var(--space-2) var(--space-3)}.select-panel .combobox-menu .select-listbox{max-height:280px;overflow-y:auto;padding:5px}.select-panel .combobox-group{color:var(--text-faint);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.02em;list-style:none;padding:var(--space-2) 10px var(--space-1);text-transform:uppercase}.select-panel .combobox-group+.select-option{margin-top:0}.select-panel .select-option--active{background-color:var(--surface-hover)}.select-panel .combobox-prompt{align-items:center;display:flex;gap:var(--space-2)}.select-panel .combobox-prompt lucide-icon{color:var(--text-faint)}.select-panel .combobox-badge{color:var(--text-faint);flex-shrink:0;font-size:var(--text-xs)}.select-panel .select-option{align-items:center;border-radius:6px;color:var(--text);cursor:pointer;display:flex;font-size:13px;gap:var(--space-2);justify-content:space-between;line-height:18px;padding:7px 10px;transition:background-color var(--transition-fast)}.select-panel .select-option:hover:not(.select-option--disabled){background-color:var(--surface-hover)}.select-panel .select-option:focus{background-color:var(--surface-hover);outline:none}.select-panel .select-option--selected{color:var(--primary-text)}.select-panel .select-option--selected .select-option-label{font-weight:var(--font-semibold)}.select-panel .select-option--disabled{color:var(--text-muted);cursor:not-allowed}.select-panel .select-option-content{align-items:center;display:flex;flex:1;gap:var(--space-2);min-width:0}.select-panel lucide-icon.select-option-icon{color:var(--text-muted);display:inline-flex;flex-shrink:0;justify-content:center;width:18px}.select-panel .select-avatar .avatar{font-size:.5625rem;height:18px;width:18px}.select-panel .select-option-swatches{align-items:center;display:inline-flex;flex-shrink:0}.select-panel .select-swatch{border:1px solid var(--border);border-radius:var(--radius-full);box-sizing:border-box;height:14px;width:14px}.select-panel .select-swatch+.select-panel .select-swatch{margin-left:-5px}.select-panel .select-option-text{display:flex;flex-direction:column;gap:2px;min-width:0}.select-panel .select-option-label{font-weight:var(--font-normal);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-panel .select-option-hint{color:var(--text-muted);font-size:var(--text-xs)}.select-panel .select-option-check-container{align-items:center;display:flex;flex-shrink:0;height:20px;justify-content:center;width:20px}.select-panel .select-option-check{color:var(--primary-text)}.select-panel .select-option-check svg{height:14px;width:14px}.select-panel .select-badge{color:var(--warning-text);font-weight:var(--font-bold);margin-left:var(--space-1)}.select-backdrop{background:transparent}.button-menu-panel .button-menu{background-color:var(--background-light);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);box-sizing:border-box;list-style:none;margin:0;min-width:180px;overflow:hidden;padding:var(--space-1);width:100%}.button-menu-panel .button-menu-item{align-items:center;border-radius:var(--radius-sm);color:var(--text);cursor:pointer;display:flex;font-size:var(--text-sm);font-weight:var(--font-normal);gap:var(--space-2);padding:var(--space-2) var(--space-3);transition:background-color var(--transition-fast)}.button-menu-panel .button-menu-item:hover:not(.button-menu-item--disabled){background-color:var(--surface-raised)}.button-menu-panel .button-menu-item:focus{background-color:var(--surface-raised);outline:none}.button-menu-panel .button-menu-item--disabled{color:var(--text-muted);cursor:not-allowed}.button-menu-panel .button-menu-item-icon{color:var(--text-muted);flex-shrink:0}.button-menu-panel .button-menu-item-label{flex:1}.button-menu-backdrop{background:transparent}.drawer-backdrop{animation:fade-in .2s ease-out;background:#0000004d}.article-content{background:var(--background-light);color:var(--text);font-size:var(--text-base);line-height:var(--leading-relaxed)}.article-content.article-content.article-content>*+*{margin-top:var(--space-4)}.article-content.article-content.article-content>*+:is(h1,h2,h3,h4,h5,h6){margin-top:var(--space-6)}.article-content.article-content.article-content>:first-child{margin-top:0}.article-content h1,.article-content h2,.article-content h3,.article-content h4,.article-content h5,.article-content h6{color:var(--text);font-weight:var(--font-semibold);line-height:var(--leading-tight);margin:0}.article-content h1{font-size:var(--text-3xl);font-weight:var(--font-bold)}.article-content h2{font-size:var(--text-2xl)}.article-content h3{font-size:var(--text-xl)}.article-content h4{font-size:var(--text-lg)}.article-content p{margin:0}.article-content ul,.article-content ol{margin:0;padding-left:var(--space-6)}.article-content ol{list-style-type:decimal}.article-content ul{list-style-type:disc}.article-content li{padding:3px 0}.article-content blockquote{background-color:var(--background-light);border-left:4px solid var(--primary);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--text-muted);font-style:italic;margin:0;padding:var(--space-4) var(--space-6)}.article-content code,.article-content .inline-code{background-color:var(--error-light);border:none;border-radius:var(--radius-sm);color:var(--error);font-family:var(--font-mono);font-size:.875em;padding:2px 6px}.article-content pre{background-color:var(--background-dark);border-radius:var(--radius-md);margin:0;overflow-x:auto;padding:var(--space-4)}.article-content pre code{background:none;color:inherit;padding:0}.article-content a{color:var(--link);text-decoration:underline}.article-content a:hover{color:var(--link-hover);text-decoration:none}.article-content .resizable-image-block{display:block;margin:0 auto;text-align:center}.article-content .resizable-image-block img{border-radius:var(--radius-md);display:block;margin:0 auto;max-width:100%;width:100%;height:auto}.article-content .resizable-image-block figcaption{margin-top:var(--space-2);color:var(--text-muted);font-size:var(--text-sm);line-height:1.5}.article-content .embed-block{margin:0}.article-content .embed-block figcaption{color:var(--text-muted);font-size:var(--text-sm);margin-top:var(--space-2);text-align:center}.article-content .embed-block__wrapper{background-color:var(--background-dark);border-radius:var(--radius-md);overflow:hidden;position:relative;width:100%}.article-content .embed-block__wrapper iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.article-content .embed-block--loom .embed-block__wrapper{border:2px solid var(--border)}.article-content .embed-block--youtube .embed-block__wrapper,.article-content .embed-block--vimeo .embed-block__wrapper{aspect-ratio:16/9}.article-content hr{border:none;border-top:1px solid var(--border);margin:0}.article-content hr.delimiter{border-top:2px solid var(--border);margin:0 auto;width:60px}.article-content mark{background-color:color-mix(in srgb,var(--warning) 28%,transparent);color:var(--text);border-radius:var(--radius-sm);padding:.05em .3em}.article-content .callout{align-items:flex-start;background:color-mix(in srgb,var(--callout-color, var(--primary)) 10%,var(--background));border-left:3px solid var(--callout-color, var(--primary));border-radius:var(--radius-md);display:flex;gap:var(--space-3);margin:0;padding:var(--space-4)}.article-content .callout__icon{align-items:center;display:flex;flex-shrink:0;height:24px;justify-content:center;width:24px}.article-content .callout__icon svg{display:block}.article-content .callout__text{flex:1;line-height:1.6}.article-content{--code-surface: var(--background-dark);--code-text: #1f2328;--code-muted: #6e7781;--tok-comment: #6e7781;--tok-punct: #1f2328;--tok-number: #0550ae;--tok-string: #0a3069;--tok-operator: #1f2328;--tok-keyword: #cf222e;--tok-function: #6639ba;--tok-variable: #116329}.article-content .table-wrapper{border:var(--border-width) solid var(--border);border-radius:var(--radius-md);overflow:hidden}.article-content .table{border-collapse:collapse;font-size:.875rem;width:100%}.article-content .table th,.article-content .table td{border-bottom:var(--border-width) solid var(--border-muted);padding:var(--space-2) var(--space-3);text-align:left}.article-content .table th{background:var(--background-dark);border-bottom-color:var(--border);font-weight:var(--font-semibold)}.article-content .table th:not(:last-child),.article-content .table td:not(:last-child){border-right:var(--border-width) solid var(--border-muted)}.article-content .table tbody tr:last-child td{border-bottom:none}.article-content .table tr:hover td{background:color-mix(in srgb,var(--text) 3%,transparent)}.article-content .code-block{background-color:var(--code-surface);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);overflow:hidden}.article-content .code-block code{background:none;border:none;padding:0}.article-content .code-block__header{align-items:center;border-bottom:var(--border-width) solid var(--border-muted);display:flex;justify-content:space-between;padding:var(--space-2) var(--space-3)}.article-content .code-block__language{background:transparent;border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);color:var(--code-muted);font-family:var(--font-mono);font-size:var(--text-xs);padding:2px var(--space-2)}.article-content .code-block__copy{align-items:center;background-color:transparent;border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);color:var(--code-muted);cursor:pointer;display:flex;font-family:inherit;font-size:var(--text-xs);gap:var(--space-1);padding:2px var(--space-2);transition:background-color var(--transition-fast),color var(--transition-fast)}.article-content .code-block__copy:hover{background-color:color-mix(in srgb,var(--code-text) 8%,transparent);color:var(--code-text)}.article-content .code-block__copy--success{border-color:var(--success);color:var(--success-text)}.article-content .code-block__pre{background:none;border:none;color:var(--code-text);font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.6;margin:0;overflow-x:auto;padding:var(--space-4);tab-size:2;white-space:pre}.article-content .code-block__pre code{background:none;border:none;display:block;font-family:inherit;font-size:inherit;line-height:inherit;padding:0}.article-content .token.comment,.article-content .token.prolog,.article-content .token.doctype,.article-content .token.cdata{color:var(--tok-comment)}.article-content .token.punctuation{color:var(--tok-punct)}.article-content .token.property,.article-content .token.tag,.article-content .token.boolean,.article-content .token.number,.article-content .token.constant,.article-content .token.symbol,.article-content .token.deleted{color:var(--tok-number)}.article-content .token.selector,.article-content .token.attr-name,.article-content .token.string,.article-content .token.char,.article-content .token.builtin,.article-content .token.inserted{color:var(--tok-string)}.article-content .token.operator,.article-content .token.entity,.article-content .token.url,.article-content .language-css .token.string,.article-content .style .token.string{color:var(--tok-operator)}.article-content .token.atrule,.article-content .token.attr-value,.article-content .token.keyword{color:var(--tok-keyword)}.article-content .token.function,.article-content .token.class-name{color:var(--tok-function)}.article-content .token.regex,.article-content .token.important,.article-content .token.variable{color:var(--tok-variable)}.article-content .token.important,.article-content .token.bold{font-weight:var(--font-semibold)}.article-content .token.italic{font-style:italic}.article-content .token.entity{cursor:help}.article-content .hljs-comment,.article-content .hljs-quote{color:var(--tok-comment);font-style:italic}.article-content .hljs-keyword,.article-content .hljs-selector-tag,.article-content .hljs-literal,.article-content .hljs-section,.article-content .hljs-type,.article-content .hljs-meta-keyword{color:var(--tok-keyword)}.article-content .hljs-string,.article-content .hljs-attr,.article-content .hljs-meta .hljs-string,.article-content .hljs-regexp,.article-content .hljs-addition{color:var(--tok-string)}.article-content .hljs-number,.article-content .hljs-symbol,.article-content .hljs-bullet,.article-content .hljs-literal.hljs-number{color:var(--tok-number)}.article-content .hljs-title,.article-content .hljs-name,.article-content .hljs-built_in,.article-content .hljs-title.class_,.article-content .hljs-title.function_{color:var(--tok-function)}.article-content .hljs-attribute,.article-content .hljs-variable,.article-content .hljs-template-variable,.article-content .hljs-deletion{color:var(--tok-variable)}.article-content .hljs-tag,.article-content .hljs-meta{color:var(--tok-comment)}.article-content .hljs-punctuation,.article-content .hljs-operator{color:var(--tok-punct)}.article-content .hljs-emphasis{font-style:italic}.article-content .hljs-strong{font-weight:var(--font-semibold)}.article-content .checklist{list-style:none;padding-left:0}.article-content .checklist-item{align-items:flex-start;display:flex;gap:var(--space-2);padding:3px 0}.article-content .checklist-checkbox{align-items:center;border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);color:transparent;display:inline-flex;flex-shrink:0;font-size:11px;height:18px;justify-content:center;margin-top:.15em;width:18px}.article-content .checklist-item.checked .checklist-checkbox{background:var(--primary);border-color:var(--primary);color:var(--primary-contrast)}.article-content .checklist-item.checked .checklist-text{color:var(--text-muted)}[data-theme=dark] .article-content{--code-text: #d4d4d4;--code-muted: #9ca0a8;--tok-comment: #6a9955;--tok-punct: #d4d4d4;--tok-number: #b5cea8;--tok-string: #ce9178;--tok-operator: #d4d4d4;--tok-keyword: #569cd6;--tok-function: #dcdcaa;--tok-variable: #d16969}.modal .article-content .code-block__copy{display:none}.feature-card{align-items:center;background:var(--surface-raised);border:var(--border-width, 1px) solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;gap:var(--space-6);margin:0;padding:var(--space-6)}@media(max-width:760px){.feature-card{align-items:stretch;flex-direction:column;gap:var(--space-5)}}.feature-card__main{align-items:flex-start;display:flex;flex:1;gap:var(--space-4);min-width:0}.feature-card__icon{align-items:center;background:color-mix(in srgb,var(--primary-color, var(--primary)) 14%,transparent);border-radius:var(--radius-md);color:color-mix(in srgb,var(--primary-color, var(--primary)) 88%,var(--text));display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.feature-card__icon svg{display:block}.feature-card__copy{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.feature-card__eyebrow,.feature-card__title,.feature-card__desc{outline:none}.feature-card__eyebrow:empty:before,.feature-card__title:empty:before,.feature-card__desc:empty:before{color:var(--text-placeholder);content:attr(data-placeholder);pointer-events:none}.feature-card__eyebrow{color:color-mix(in srgb,var(--primary-color, var(--primary)) 88%,var(--text));font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.06em;min-height:1em;text-transform:uppercase}.feature-card__title{color:var(--text);font-size:var(--text-lg);font-weight:var(--font-semibold);letter-spacing:-.01em;line-height:var(--leading-snug, 1.3);min-height:1.3em}.feature-card__desc{color:var(--text-muted);line-height:1.6;min-height:1.5em}.feature-card__media{flex:1;max-width:380px;min-width:0}@media(max-width:760px){.feature-card__media{max-width:none}}.feature-card__window{background:var(--surface-raised);border:var(--border-width, 1px) solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.feature-card__window-bar{align-items:center;background:var(--background-dark);border-bottom:var(--border-width, 1px) solid var(--border-muted);display:flex;gap:6px;padding:var(--space-2) var(--space-3)}.feature-card__dot{background:var(--border);border-radius:50%;height:8px;width:8px}.feature-card__image{display:block;height:auto;width:100%}.feature-card-settings{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-2)}.feature-card-settings__section{display:flex;flex-direction:column;gap:var(--space-2)}.feature-card-settings__label{color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--font-medium)}.feature-card-settings__icons{display:flex;flex-wrap:wrap;gap:var(--space-1)}.feature-card-settings__icon{align-items:center;background-color:var(--surface-raised);border:1px solid var(--border-muted);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;height:32px;justify-content:center;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);width:32px}.feature-card-settings__icon:hover{border-color:var(--border);color:var(--text)}.feature-card-settings__icon--active{border-color:var(--text);color:var(--text)}.feature-card-settings__icon svg{display:block}.feature-card-settings__input{background-color:var(--surface-raised);border:1px solid var(--border-muted);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:var(--text-sm);padding:var(--space-2);width:100%}.feature-card-settings__input:focus{border-color:var(--primary-color, var(--primary));outline:none}.firebase-emulator-warning{background-color:transparent!important;border:none!important;bottom:0!important;font-size:var(--text-xs)!important;left:auto!important;opacity:.5;right:0!important;width:auto!important}.md-prose{color:inherit}.md-prose>:first-child{margin-top:0}.md-prose>:last-child{margin-bottom:0}.md-prose p{margin:.75em 0}.md-prose a{color:var(--link);text-decoration:underline;text-underline-offset:2px}.md-prose code{font-family:var(--font-mono);font-size:.85em;background:var(--background-dark);border:var(--border-width) solid var(--border-muted);border-radius:var(--radius-sm);padding:.05em .3em}.md-prose ul,.md-prose ol{margin:.75em 0;padding-left:1.25em}.md-prose li{margin:.2em 0}.md-prose strong{font-weight:var(--font-semibold)}.md-prose pre{background:var(--background-dark);border:var(--border-width) solid var(--border-muted);border-radius:var(--radius-md);padding:var(--space-3);overflow-x:auto}.md-prose pre code{background:none;border:none;padding:0}[appRenderedContent] img{cursor:zoom-in}[appRenderedContent] a img{cursor:pointer}body.rendered-lightbox-open{overflow:hidden}.rendered-lightbox{align-items:center;background:#000000d9;cursor:zoom-out;display:flex;inset:0;justify-content:center;opacity:0;padding:clamp(1rem,5vw,4rem);position:fixed;transition:opacity .3s ease;z-index:1000}.rendered-lightbox.is-open{opacity:1}.rendered-lightbox__img{border-radius:var(--radius-md);box-shadow:0 24px 64px #00000080;cursor:zoom-out;max-height:100%;max-width:100%;object-fit:contain;transform-origin:center center;will-change:transform;transition:transform .32s cubic-bezier(.22,1,.36,1)}@media(prefers-reduced-motion:reduce){.rendered-lightbox,.rendered-lightbox__img{transition:none}}body.cdk-drag-active,body.cdk-drag-active *{cursor:grabbing!important}
