:root{--xd-green-400: #4ade80;--xd-green-500: #16A34A;--xd-green-600: #15803D;--xd-orange-400: #fb923c;--xd-orange-500: #EA580C;--xd-orange-600: #C2410C;--xd-dark-600: #1A1A2E;--xd-dark-700: #1A1A24;--xd-dark-800: #13131A;--xd-dark-900: #0F0F1A;--xd-dark-950: #0D0D12;--xd-gradient-action: linear-gradient(135deg, #16A34A 0%, #EA580C 100%);--xd-gradient-dark-chrome: linear-gradient(180deg, #0F0F1A 0%, #13132A 60%, #0D0D18 100%);--xd-gradient-top-accent: linear-gradient(to right, #16A34A, #EA580C);--xd-action: #16A34A;--xd-action-end: #EA580C;--xd-action-hover: #15803D;--xd-xp: #F59E0B;--xd-streak: #EF4444;--xd-badge: #8B5CF6;--xd-error: #EF4444;--xd-warning: #F59E0B;--xd-info: #3B82F6;--xd-success: #16A34A;--xd-space-1: 4px;--xd-space-2: 8px;--xd-space-3: 12px;--xd-space-4: 16px;--xd-space-5: 24px;--xd-space-6: 32px;--xd-space-7: 48px;--xd-space-8: 64px;--xd-space-9: 96px;--xd-font-sans: "Inter", system-ui, -apple-system, sans-serif;--xd-font-mono: "JetBrains Mono", "Fira Code", monospace;--xd-radius-sm: 8px;--xd-radius-md: 12px;--xd-radius-lg: 16px;--xd-radius-xl: 20px;--xd-radius-full: 9999px;--xd-shadow-action-sm: 0 4px 16px rgba(22, 163, 74, .25);--xd-shadow-action-md: 0 6px 24px rgba(22, 163, 74, .35);--xd-shadow-action-glow: 0 0 32px rgba(22, 163, 74, .4);--xd-duration-fast: .1s;--xd-duration-normal: .15s;--xd-duration-slow: .3s;--xd-duration-slower: .5s;--xd-ease-default: ease;--xd-ease-in-out: cubic-bezier(.4, 0, .2, 1);--xd-ease-spring: cubic-bezier(.34, 1.56, .64, 1);--xd-text-xs: .6875rem;--xd-text-sm: .875rem;--xd-text-base: 1rem;--xd-text-lg: 1.125rem;--xd-text-xl: 1.25rem;--xd-text-2xl: 1.5rem;--xd-text-3xl: 1.875rem;--xd-text-4xl: 2.25rem;--xd-text-5xl: 3rem;--xd-leading-tight: 1.2;--xd-leading-snug: 1.375;--xd-leading-normal: 1.5;--xd-leading-relaxed: 1.625;--xd-leading-loose: 1.85;--xd-font-normal: 400;--xd-font-medium: 500;--xd-font-semibold: 600;--xd-font-bold: 700;--xd-font-extrabold: 800;--xd-tracking-tight: -.03em;--xd-tracking-snug: -.02em;--xd-tracking-normal: 0em;--xd-z-dropdown: 10;--xd-z-sticky: 20;--xd-z-fixed: 30;--xd-z-overlay: 40;--xd-z-modal: 50;--xd-z-popover: 60;--xd-z-toast: 70;--xd-z-tooltip: 100;--xd-shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--xd-shadow-sm: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--xd-shadow-md: 0 4px 6px rgba(0, 0, 0, .07), 0 2px 4px rgba(0, 0, 0, .06);--xd-shadow-lg: 0 10px 15px rgba(0, 0, 0, .1), 0 4px 6px rgba(0, 0, 0, .05);--xd-shadow-xl: 0 20px 25px rgba(0, 0, 0, .1), 0 10px 10px rgba(0, 0, 0, .04);--xd-focus-ring: 0 0 0 3px color-mix(in srgb, var(--xd-action) 15%, transparent);--xd-overlay-bg: rgba(0, 0, 0, .5);--xd-disabled-opacity: .5;--xd-shadow-card-hover: 0 8px 30px rgba(0, 0, 0, .08);--xd-bg: #F8F8FA;--xd-surface: #FFFFFF;--xd-surface-2: #F2F2F5;--xd-border: rgba(0, 0, 0, .08);--xd-text: #111118;--xd-text-muted: #707080}.xd-dark,[data-theme=dark],[data-xd-theme=dark]{--xd-bg: #0D0D12;--xd-surface: #13131A;--xd-surface-2: #1A1A24;--xd-border: rgba(255, 255, 255, .07);--xd-text: #E8E8F0;--xd-text-muted: #9898A8;--xd-shadow-card-hover: 0 8px 30px rgba(0, 0, 0, .3)}.xd-logo-glow{position:relative;display:inline-block}.xd-logo-glow:before{content:"";position:absolute;inset:-2px;border-radius:30px;background:var(--xd-gradient-action);filter:blur(8px);opacity:.5;z-index:0}.xd-logo-glow>*{position:relative;z-index:1}.xd-btn-sm{padding:.25rem .75rem;font-size:.75rem;border-radius:var(--xd-radius-sm)}.xd-btn-md{padding:.5rem 1rem;font-size:.875rem;border-radius:var(--xd-radius-md)}.xd-btn-lg{padding:.75rem 1.5rem;font-size:1rem;border-radius:var(--xd-radius-lg)}.xd-btn-ghost{background:transparent;color:var(--xd-action);border:1.5px solid var(--xd-action);border-radius:var(--xd-radius-md);transition:background .15s ease,box-shadow .15s ease}.xd-btn-ghost:hover{background:color-mix(in srgb,var(--xd-action) 8%,transparent);box-shadow:var(--xd-shadow-action-sm)}.xd-btn-subtle{background:color-mix(in srgb,var(--xd-action) 10%,transparent);color:var(--xd-action);border:none;border-radius:var(--xd-radius-md);transition:background .15s ease}.xd-btn-subtle:hover{background:color-mix(in srgb,var(--xd-action) 18%,transparent)}.xd-btn-danger{background:var(--xd-error);color:#fff;border:none;border-radius:var(--xd-radius-md);box-shadow:0 4px 16px color-mix(in srgb,var(--xd-error) 30%,transparent);transition:opacity .15s ease,transform .15s ease}.xd-btn-danger:hover{opacity:.9;transform:translateY(-1px)}.xd-btn-danger:active{transform:scale(.97)}.xd-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border-radius:var(--xd-radius-md)}.xd-btn-icon.xd-btn-sm{width:1.75rem;height:1.75rem;border-radius:var(--xd-radius-sm)}.xd-btn-icon.xd-btn-lg{width:2.75rem;height:2.75rem;border-radius:var(--xd-radius-lg)}.xd-btn-loading{opacity:.7;pointer-events:none;cursor:not-allowed}.xd-label{display:block;font-size:.875rem;font-weight:500;color:var(--xd-text);margin-bottom:.375rem}.xd-input{display:block;width:100%;padding:.5rem .75rem;font-size:.875rem;font-family:var(--xd-font-sans);color:var(--xd-text);background:var(--xd-surface);border:1.5px solid var(--xd-border);border-radius:var(--xd-radius-md);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.xd-input:focus{border-color:var(--xd-action);box-shadow:0 0 0 3px color-mix(in srgb,var(--xd-action) 15%,transparent)}.xd-input:disabled{opacity:.5;cursor:not-allowed}.xd-input-error{border-color:var(--xd-error)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--xd-error) 15%,transparent)!important}.xd-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23707080' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem}.xd-helper{display:block;font-size:.75rem;color:var(--xd-text-muted);margin-top:.375rem}.xd-helper-error{color:var(--xd-error)}.xd-toggle{position:relative;display:inline-flex;align-items:center;cursor:pointer;gap:.5rem}.xd-toggle input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.xd-toggle-track{width:2.5rem;height:1.375rem;background:var(--xd-border);border-radius:var(--xd-radius-full);transition:background .2s ease;flex-shrink:0}.xd-toggle input:checked~.xd-toggle-track{background:var(--xd-action)}.xd-toggle-thumb{position:absolute;left:3px;top:3px;width:1rem;height:1rem;background:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 3px #0003}.xd-toggle input:checked~.xd-toggle-track .xd-toggle-thumb{transform:translate(1.125rem)}.xd-alert{display:flex;gap:.75rem;padding:.875rem 1rem;border-radius:var(--xd-radius-md);border:1.5px solid;font-size:.875rem}.xd-alert-success{background:color-mix(in srgb,var(--xd-success) 8%,transparent);border-color:color-mix(in srgb,var(--xd-success) 30%,transparent);color:var(--xd-success)}.xd-alert-warning{background:color-mix(in srgb,var(--xd-warning) 8%,transparent);border-color:color-mix(in srgb,var(--xd-warning) 30%,transparent);color:color-mix(in srgb,var(--xd-warning) 80%,#000)}.xd-alert-error{background:color-mix(in srgb,var(--xd-error) 8%,transparent);border-color:color-mix(in srgb,var(--xd-error) 30%,transparent);color:var(--xd-error)}.xd-alert-info{background:color-mix(in srgb,var(--xd-info) 8%,transparent);border-color:color-mix(in srgb,var(--xd-info) 30%,transparent);color:var(--xd-info)}.xd-badge{display:inline-flex;align-items:center;padding:.125rem .625rem;border-radius:var(--xd-radius-full);font-size:.7rem;font-weight:600;letter-spacing:.02em}.xd-badge-success{background:color-mix(in srgb,var(--xd-success) 12%,transparent);color:var(--xd-success)}.xd-badge-warning{background:color-mix(in srgb,var(--xd-warning) 12%,transparent);color:color-mix(in srgb,var(--xd-warning) 80%,#000)}.xd-badge-error{background:color-mix(in srgb,var(--xd-error) 12%,transparent);color:var(--xd-error)}.xd-badge-info{background:color-mix(in srgb,var(--xd-info) 12%,transparent);color:var(--xd-info)}.xd-progress{width:100%;height:6px;background:color-mix(in srgb,var(--xd-action) 15%,transparent);border-radius:var(--xd-radius-full);overflow:hidden}.xd-progress-bar{height:100%;background:var(--xd-gradient-action);border-radius:var(--xd-radius-full);transition:width .3s ease}.xd-tab-list{display:flex;gap:.25rem;border-bottom:1.5px solid var(--xd-border);padding-bottom:0}.xd-tab{padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:var(--xd-text-muted);border:none;background:none;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1.5px;transition:color .15s ease,border-color .15s ease}.xd-tab:hover{color:var(--xd-text)}.xd-tab-active{color:var(--xd-action)!important;border-bottom-color:var(--xd-action)!important}[data-tooltip]{position:relative}[data-tooltip]:before{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--xd-text);color:var(--xd-bg);padding:.3rem .625rem;border-radius:var(--xd-radius-sm);font-size:.7rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s ease;z-index:100}[data-tooltip]:hover:before{opacity:1}@keyframes xd-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.xd-skeleton{border-radius:var(--xd-radius-sm);background:linear-gradient(90deg,var(--xd-surface) 25%,var(--xd-surface-2) 50%,var(--xd-surface) 75%);background-size:800px 100%;animation:xd-shimmer 1.4s ease-in-out infinite}.xd-card{background:var(--xd-surface);border:1px solid var(--xd-border);border-radius:var(--xd-radius-lg);overflow:hidden}.xd-card-hover{transition:transform var(--xd-duration-normal) var(--xd-ease-in-out),box-shadow var(--xd-duration-normal) var(--xd-ease-in-out);cursor:pointer}.xd-card-hover:hover{transform:translateY(-2px);box-shadow:var(--xd-shadow-card-hover)}.xd-overlay{position:fixed;inset:0;background:var(--xd-overlay-bg);z-index:var(--xd-z-overlay);display:flex;align-items:center;justify-content:center}.xd-backdrop{position:fixed;inset:0;background:var(--xd-overlay-bg);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:var(--xd-z-overlay)}.xd-divider{height:1px;background:var(--xd-border);border:none;margin:0}.xd-kbd{display:inline-flex;align-items:center;justify-content:center;padding:.15rem .45rem;font-family:var(--xd-font-mono);font-size:.7rem;font-weight:500;color:var(--xd-text-muted);background:var(--xd-surface-2);border:1px solid var(--xd-border);border-bottom-width:2px;border-radius:var(--xd-radius-sm);box-shadow:var(--xd-shadow-xs);line-height:1.4;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.xd-gradient-text{background:var(--xd-gradient-action);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.xd-prose{color:var(--xd-text);font-family:var(--xd-font-sans);font-size:var(--xd-text-base);line-height:var(--xd-leading-relaxed);max-width:68ch}.xd-prose h1,.xd-prose h2,.xd-prose h3,.xd-prose h4{font-weight:var(--xd-font-bold);letter-spacing:var(--xd-tracking-snug);line-height:var(--xd-leading-tight);color:var(--xd-text);margin-top:1.75em;margin-bottom:.5em}.xd-prose h1{font-size:var(--xd-text-3xl)}.xd-prose h2{font-size:var(--xd-text-2xl)}.xd-prose h3{font-size:var(--xd-text-xl)}.xd-prose h4{font-size:var(--xd-text-lg)}.xd-prose p{margin-bottom:1em}.xd-prose a{color:var(--xd-action);text-decoration:underline;text-underline-offset:2px}.xd-prose a:hover{opacity:.8}.xd-prose strong{font-weight:var(--xd-font-semibold)}.xd-prose em{font-style:italic}.xd-prose ul,.xd-prose ol{padding-left:1.5em;margin-bottom:1em}.xd-prose li{margin-bottom:.35em}.xd-prose ul li{list-style-type:disc}.xd-prose ol li{list-style-type:decimal}.xd-prose blockquote{border-left:3px solid var(--xd-action);padding-left:1em;margin-left:0;color:var(--xd-text-muted);font-style:italic;margin-bottom:1em}.xd-prose code{font-family:var(--xd-font-mono);font-size:.875em;background:var(--xd-surface-2);padding:.15em .4em;border-radius:5px;color:var(--xd-text)}.xd-prose pre{background:var(--xd-surface-2);border:1px solid var(--xd-border);border-radius:var(--xd-radius-md);padding:1rem;overflow-x:auto;margin-bottom:1em}.xd-prose pre code{background:none;padding:0;font-size:.875rem}.xd-prose table{width:100%;border-collapse:collapse;margin-bottom:1em;font-size:var(--xd-text-sm)}.xd-prose th,.xd-prose td{padding:.5em .75em;border:1px solid var(--xd-border);text-align:left}.xd-prose th{background:var(--xd-surface-2);font-weight:var(--xd-font-semibold)}.xd-prose hr{border:none;border-top:1px solid var(--xd-border);margin:2em 0}@keyframes xd-fadeSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.xd-fadeSlideUp{animation:xd-fadeSlideUp var(--xd-duration-slow) var(--xd-ease-in-out) both}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,Fira Code,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-6{bottom:48px}.left-0{left:0}.right-6{right:48px}.top-0{top:0}.top-\[3px\]{top:3px}.top-\[64px\]{top:64px}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.m-0{margin:0}.mx-2{margin-left:8px;margin-right:8px}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:16px}.mb-4{margin-bottom:24px}.mb-5{margin-bottom:32px}.mb-6{margin-bottom:48px}.mb-8{margin-bottom:96px}.mr-2{margin-right:8px}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:4px}.mt-10{margin-top:2.5rem}.mt-2{margin-top:8px}.mt-4{margin-top:24px}.mt-6{margin-top:48px}.mt-8{margin-top:96px}.mt-auto{margin-top:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-16{height:4rem}.h-3{height:16px}.h-4{height:24px}.h-5{height:32px}.h-7{height:64px}.h-8{height:96px}.h-9{height:2.25rem}.h-\[3px\]{height:3px}.h-\[44px\]{height:44px}.h-\[64px\]{height:64px}.h-full{height:100%}.h-px{height:1px}.min-h-\[60vh\]{min-height:60vh}.min-h-screen{min-height:100vh}.w-0{width:0px}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:24px}.w-48{width:12rem}.w-\[44px\]{width:44px}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.max-w-2xl{max-width:42rem}.max-w-\[600px\]{max-width:600px}.max-w-content{max-width:1080px}.max-w-reading{max-width:680px}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:16px}.gap-4{gap:24px}.gap-5{gap:32px}.gap-6{gap:48px}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(8px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(8px * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(16px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(16px * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(24px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(24px * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(96px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(96px * var(--tw-space-y-reverse))}.overflow-x-auto{overflow-x:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-\[var\(--border\)\]{border-color:var(--border)}.border-accent{border-color:var(--accent)}.border-border{border-color:var(--border)}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))}.border-green-300{--tw-border-opacity: 1;border-color:rgb(134 239 172 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.bg-\[var\(--surface\)\]{background-color:var(--surface)}.bg-accent{background-color:var(--accent)}.bg-bg{background-color:var(--bg)}.bg-border{background-color:var(--border)}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-surface{background-color:var(--surface)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.p-0{padding:0}.p-3{padding:16px}.p-4{padding:24px}.p-5{padding:32px}.p-6{padding:48px}.px-1{padding-left:4px;padding-right:4px}.px-2{padding-left:8px;padding-right:8px}.px-3{padding-left:16px;padding-right:16px}.px-4{padding-left:24px;padding-right:24px}.px-5{padding-left:32px;padding-right:32px}.px-6{padding-left:48px;padding-right:48px}.py-1{padding-top:4px;padding-bottom:4px}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:8px;padding-bottom:8px}.py-3{padding-top:16px;padding-bottom:16px}.py-4{padding-top:24px;padding-bottom:24px}.py-5{padding-top:32px;padding-bottom:32px}.py-6{padding-top:48px;padding-bottom:48px}.py-8{padding-top:96px;padding-bottom:96px}.py-\[2px\]{padding-top:2px;padding-bottom:2px}.py-\[3px\]{padding-top:3px;padding-bottom:3px}.pt-2{padding-top:8px}.pt-5{padding-top:32px}.pt-6{padding-top:48px}.text-center{text-align:center}.font-mono{font-family:JetBrains Mono,Fira Code,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.75rem\]{font-size:.75rem}.text-\[0\.875rem\]{font-size:.875rem}.text-\[0\.9375rem\]{font-size:.9375rem}.text-\[1\.125rem\]{font-size:1.125rem}.text-\[1\.5rem\]{font-size:1.5rem}.text-\[4rem\]{font-size:4rem}.text-body{font-size:1.125rem;line-height:1.7;font-weight:400}.text-body-mobile{font-size:1rem;line-height:1.7;font-weight:400}.text-h1-mobile{font-size:2rem;line-height:1.2;font-weight:700}.text-h2-mobile{font-size:1.5rem;line-height:1.3;font-weight:600}.text-h3-mobile{font-size:1.125rem;line-height:1.4;font-weight:600}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-small{font-size:.875rem;line-height:1.5;font-weight:400}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tracking-wider{letter-spacing:.05em}.text-accent{color:var(--accent)}.text-gray-100{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-inherit{color:inherit}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-success{color:var(--success)}.text-text-primary{color:var(--text-primary)}.text-text-secondary{color:var(--text-secondary)}.text-warning{color:var(--warning)}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}:root{--xd-top-bar-height: 3px;--bg: #F8F8FA;--surface: #FFFFFF;--surface-2: #F2F2F5;--text-primary: #111118;--text-secondary: #707080;--accent: #16A34A;--accent-hover: #15803D;--border: rgba(0, 0, 0, .08);--code-text: #1F2937;--success: #059669;--warning: #D97706;--prose-text: #1F2937;--navbar-bg: var(--bg)}[data-theme=dark]{--bg: #0D0D12;--surface: #13131A;--surface-2: #1A1A24;--text-primary: #E8E8F0;--text-secondary: #9898A8;--accent: #16A34A;--accent-hover: #15803D;--border: rgba(255, 255, 255, .07);--code-text: #E5E7EB;--success: #34D399;--warning: #FBBF24;--prose-text: #CECEDA;--navbar-bg: var(--xd-gradient-dark-chrome)}html{font-family:var(--xd-font-sans);background-color:var(--bg);color:var(--text-primary);border-top:var(--xd-top-bar-height) solid transparent;-o-border-image:var(--xd-gradient-top-accent) 1;border-image:var(--xd-gradient-top-accent) 1}body{margin:0;min-height:100vh}a{color:var(--accent);text-decoration:none;transition:color .15s ease}a:hover{color:var(--accent-hover)}code,pre{font-family:var(--xd-font-mono)}*:focus-visible{outline:2px solid var(--xd-action);outline-offset:2px}.astro-code,.astro-code span{color:var(--shiki-light)!important;background-color:var(--shiki-light-bg)!important}[data-theme=dark] .astro-code,[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;-webkit-text-decoration:var(--shiki-dark-text-decoration)!important;text-decoration:var(--shiki-dark-text-decoration)!important}.xd-btn-action{background:var(--xd-gradient-action);color:#fff;box-shadow:var(--xd-shadow-action-sm);border-radius:var(--xd-radius-md);transition:opacity .15s ease,transform .15s ease,box-shadow .15s ease}.xd-btn-action:hover{opacity:.92;box-shadow:var(--xd-shadow-action-md);transform:translateY(-1px)}.xd-btn-action:active{transform:scale(.97)}.xd-btn-action:disabled{opacity:.5;transform:none;box-shadow:none}.xd-btn-secondary{background:transparent;color:var(--accent);border:1.5px solid var(--accent);border-radius:var(--xd-radius-md);transition:all .15s ease}.xd-btn-secondary:hover{background:var(--accent);color:#fff;transform:translateY(-1px)}.xd-btn-secondary:active{transform:scale(.97)}.gradient-text{background:var(--xd-gradient-action);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logo-glow-wrap{position:relative;display:inline-block}.logo-glow-wrap:before{content:"";position:absolute;inset:-2px;border-radius:10px;background:var(--xd-gradient-action);filter:blur(8px);opacity:.5;z-index:0}.project-card{border-radius:var(--xd-radius-lg);box-shadow:0 1px 3px #0000000d}.project-card:hover{transform:translateY(-2px);box-shadow:var(--xd-shadow-action-sm);border-color:#16a34a33}[data-theme=dark] .project-card:hover{box-shadow:0 4px 20px #16a34a26}.prose h1{font-size:2.5rem;font-weight:700;line-height:1.2;margin-bottom:16px}.prose h2{font-size:1.75rem;font-weight:600;line-height:1.3;margin-top:48px;margin-bottom:16px}.prose h3{font-size:1.25rem;font-weight:600;line-height:1.4;margin-top:32px;margin-bottom:12px}.prose p{font-size:1.125rem;line-height:1.75;margin-bottom:24px;color:var(--prose-text)}.prose ul,.prose ol{margin-bottom:16px;padding-left:24px}.prose li{font-size:1.125rem;line-height:1.75;margin-bottom:8px;color:var(--prose-text)}.prose pre{border-radius:8px;padding:16px 20px;margin:24px 0;overflow-x:auto;max-width:780px}.prose code:not(pre code){background:var(--surface);padding:2px 6px;border-radius:4px;font-size:.9em}.prose img{border-radius:8px;margin:24px 0}.prose blockquote{border-left:3px solid var(--accent);background-color:var(--surface);padding:16px 16px 16px 20px;border-radius:0 8px 8px 0;color:var(--text-secondary);margin:32px 0}.prose a{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}.prose a:hover{text-decoration-color:var(--accent-hover)}.prose strong{color:var(--text-primary);font-weight:600}.prose hr{border:none;border-top:1px solid var(--border);margin:48px 0}.prose table{width:100%;border-collapse:collapse;margin:32px 0;font-size:.9375rem}.prose th{text-align:left;font-weight:600;padding:10px 14px;border-bottom:2px solid var(--border);color:var(--text-primary)}.prose td{padding:10px 14px;border-bottom:1px solid var(--border);color:var(--prose-text)}.reading-container{max-width:680px;margin-left:auto;margin-right:auto}[data-prose-width=sm] .reading-container{max-width:560px}[data-prose-width=lg] .reading-container{max-width:780px}[data-prose-size=sm] .prose p,[data-prose-size=sm] .prose li{font-size:1rem;line-height:1.7}[data-prose-size=sm] .prose h1{font-size:2rem}[data-prose-size=sm] .prose h2{font-size:1.5rem}[data-prose-size=sm] .prose h3{font-size:1.125rem}[data-prose-size=lg] .prose p,[data-prose-size=lg] .prose li{font-size:1.25rem;line-height:1.85}[data-prose-size=lg] .prose h1{font-size:2.75rem}[data-prose-size=lg] .prose h2{font-size:2rem}[data-prose-size=lg] .prose h3{font-size:1.4rem}[data-prose-font=serif] .prose p,[data-prose-font=serif] .prose li,[data-prose-font=serif] .prose blockquote{font-family:Georgia,Times New Roman,serif;line-height:1.85;letter-spacing:.01em}.reader-btn{cursor:pointer;background:transparent;color:var(--text-primary);transition:background-color .15s ease,color .15s ease,border-color .15s ease}.reader-btn:hover:not(.active){border-color:var(--accent)!important;color:var(--accent)}.reader-btn.active{background-color:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}@media(max-width:768px){.prose h1{font-size:2rem}.prose h2{font-size:1.5rem}.prose h3{font-size:1.125rem}.prose p,.prose li{font-size:1rem}[data-prose-size=lg] .prose p,[data-prose-size=lg] .prose li{font-size:1.125rem;line-height:1.8}}.hover\:border-accent:hover{border-color:var(--accent)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-accent-hover:hover{background-color:var(--accent-hover)}.hover\:bg-green-100:hover{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\:text-accent:hover{color:var(--accent)}.hover\:text-accent-hover:hover{color:var(--accent-hover)}.hover\:text-green-800:hover{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-sm:hover{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:border-\[\#16A34A\]:focus{--tw-border-opacity: 1;border-color:rgb(22 163 74 / var(--tw-border-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-\[\#16A34A\]:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(22 163 74 / var(--tw-ring-opacity, 1))}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:text-accent{color:var(--accent)}.dark\:block:is([data-theme=dark] *){display:block}.dark\:hidden:is([data-theme=dark] *){display:none}@media(min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}}@media(min-width:768px){.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:gap-10{gap:2.5rem}.md\:px-5{padding-left:32px;padding-right:32px}.md\:py-12{padding-top:3rem;padding-bottom:3rem}.md\:py-8,.md\:py-\[96px\]{padding-top:96px;padding-bottom:96px}.md\:text-body{font-size:1.125rem;line-height:1.7;font-weight:400}.md\:text-h1{font-size:2.5rem;line-height:1.2;font-weight:700}.md\:text-h2{font-size:1.75rem;line-height:1.3;font-weight:600}.md\:text-h3{font-size:1.25rem;line-height:1.4;font-weight:600}}
