@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:"SF Pro Display", "SF Pro Text", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;--font-mono:"SF Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-6xl:72rem;--font-weight-medium:500;--font-weight-semibold:600;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--radius-card:18px;--radius-tile:22px;--container-width:1200px;--reading-width:44rem}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--bg:#fff;--bg-elevated:#fafafc;--bg-parchment:#f5f5f7;--fg:#1d1d1f;--fg-muted:#6e6e73;--fg-subtle:#86868b;--line:#e0e0e5;--line-soft:#f0f0f2;--accent:#06c;--accent-soft:#e8f2fd;--code-bg:#f6f7fa;--code-border:#e6e8eb;--quote-bg:#f2f6fe;--tag-ai-bg:#eef5fd;--tag-ai-border:#bfd8f5;--tag-ai-fg:#1a5fa8;--tag-skills-bg:#edf8f1;--tag-skills-border:#cbe8d4;--tag-skills-fg:#1c6e42;--tag-oss-bg:#f4eefb;--tag-oss-border:#e0d3f2;--tag-oss-fg:#6b3fa0;--tag-free-bg:#fdf3e7;--tag-free-border:#f5dcc0;--tag-free-fg:#9a6320}.dark{--bg:#000;--bg-elevated:#161617;--bg-parchment:#0d0d0e;--fg:#f5f5f7;--fg-muted:#a1a1a6;--fg-subtle:#86868b;--line:#2d2d2f;--line-soft:#1f1f21;--accent:#2997ff;--accent-soft:#0a2740;--code-bg:#161617;--code-border:#2d2d2f;--quote-bg:#0c1a2a;--tag-ai-bg:#0f2337;--tag-ai-border:#1d4468;--tag-ai-fg:#7ab8f5;--tag-skills-bg:#0e2718;--tag-skills-border:#1c4a32;--tag-skills-fg:#6ec490;--tag-oss-bg:#211a31;--tag-oss-border:#3a2b54;--tag-oss-fg:#b78fdf;--tag-free-bg:#2d2010;--tag-free-border:#4d3a1c;--tag-free-fg:#d9a95e}*{border-color:var(--line)}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;scroll-padding-top:6rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background-color:var(--bg);color:var(--fg);font-family:var(--font-sans);letter-spacing:-.01em;text-rendering:optimizelegibility;font-size:17px;line-height:1.65}::selection{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){::selection{background-color:color-mix(in oklab, var(--accent) 22%, transparent)}}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}}@layer components{.container-page{width:100%;max-width:var(--container-width);margin-inline:auto;padding-inline:1.25rem}@media (min-width:768px){.container-page{padding-inline:2rem}}.container-reading{width:100%;max-width:var(--reading-width);margin-inline:auto;padding-inline:1.25rem}.card-surface{background-color:var(--bg);border:1px solid var(--line);border-radius:var(--radius-card);transition:border-color .2s,transform .2s,background-color .2s}.card-surface:hover{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.card-surface:hover{border-color:color-mix(in oklab, var(--accent) 40%, var(--line))}}.card-surface:hover{transform:translateY(-2px)}.chip{background-color:var(--bg);color:var(--fg-muted);white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:.25rem;padding:7px 14px;font-size:14px;line-height:1.3;transition:all .18s;display:inline-flex}.chip:hover{background-color:var(--bg-parchment);color:var(--accent)}.chip-active{background-color:var(--accent);border-color:var(--accent);color:#fff}.chip-active:hover{background-color:var(--accent);color:#fff}.btn-primary{background-color:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.8125rem 1.75rem;font-size:17px;font-weight:400;transition:background-color .18s;display:inline-flex}.btn-primary:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.btn-primary:hover{background-color:color-mix(in oklab, var(--accent) 88%, black)}}.btn-secondary{border:1px solid var(--line);color:var(--fg);border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.8125rem 1.75rem;font-size:17px;transition:border-color .18s,color .18s;display:inline-flex}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.nav-glass{background-color:var(--bg)}@supports (color:color-mix(in lab, red, red)){.nav-glass{background-color:color-mix(in oklab, var(--bg) 72%, transparent)}}.nav-glass{-webkit-backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--line-soft)}.prose-reader{--tw-prose-body:var(--fg);--tw-prose-headings:var(--fg);--tw-prose-links:var(--accent);--tw-prose-bold:var(--fg);--tw-prose-quotes:var(--fg-muted);--tw-prose-quote-borders:var(--accent);--tw-prose-hr:var(--line);--tw-prose-bullets:var(--fg-subtle);--tw-prose-counters:var(--fg-subtle);--tw-prose-captions:var(--fg-subtle);--tw-prose-code:var(--fg);letter-spacing:-.003em;max-width:none;font-size:17px;line-height:1.8}.prose-reader>*+*{margin-top:1.35em}.prose-reader h2{letter-spacing:-.02em;margin-top:2.6em;scroll-margin-top:6rem;font-size:30px;font-weight:600;line-height:1.3}.prose-reader h3{letter-spacing:-.012em;margin-top:2em;scroll-margin-top:6rem;font-size:22px;font-weight:600;line-height:1.4}.prose-reader h4{margin-top:1.8em;font-size:18px;font-weight:600}.prose-reader a.heading-anchor{color:inherit;font-weight:inherit;text-decoration:none}.prose-reader a.heading-anchor:hover{color:var(--accent)}.prose-reader a:not(.heading-anchor){color:var(--accent);border-bottom:1px solid var(--accent);text-decoration:none}@supports (color:color-mix(in lab, red, red)){.prose-reader a:not(.heading-anchor){border-bottom:1px solid color-mix(in oklab, var(--accent) 35%, transparent)}}.prose-reader a:not(.heading-anchor){transition:border-color .18s}.prose-reader a:not(.heading-anchor):hover{border-bottom-color:var(--accent)}.prose-reader ul,.prose-reader ol{padding-left:1.5em}.prose-reader li{margin-block:.5em}.prose-reader li::marker{color:var(--fg-subtle)}.prose-reader blockquote{border-left-width:3px;border-left-color:var(--accent);color:var(--fg-muted);background-color:var(--quote-bg);border-radius:2px;padding:14px 20px;font-style:normal}.prose-reader blockquote p:first-of-type:before,.prose-reader blockquote p:last-of-type:after{content:""}.prose-reader img{border:1px solid var(--line-soft);border-radius:14px;width:100%}.prose-reader figcaption,.prose-reader em.img-caption{text-align:center;color:var(--fg-subtle);font-size:14px}.prose-reader hr{border-color:var(--line);margin-block:3em}.prose-reader :not(pre)>code{font-family:var(--font-mono);background-color:var(--accent);font-size:.875em;font-weight:400}@supports (color:color-mix(in lab, red, red)){.prose-reader :not(pre)>code{background-color:color-mix(in oklab, var(--accent) 8%, transparent)}}.prose-reader :not(pre)>code{color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.prose-reader :not(pre)>code{color:color-mix(in oklab, var(--accent) 82%, var(--fg))}}.prose-reader :not(pre)>code{border:1px solid var(--accent);border-radius:6px;padding:.15em .4em}@supports (color:color-mix(in lab, red, red)){.prose-reader :not(pre)>code{border:1px solid color-mix(in oklab, var(--accent) 12%, transparent)}}.prose-reader :not(pre)>code:before,.prose-reader :not(pre)>code:after{content:""}.prose-reader table{border-collapse:collapse;width:100%;font-size:15px;display:block;overflow-x:auto}.prose-reader thead{border-bottom:1px solid var(--line)}.prose-reader th{text-align:left;color:var(--fg);padding:.6em .9em;font-weight:600}.prose-reader td{border-bottom:1px solid var(--line-soft);vertical-align:top;padding:.6em .9em}.prose-reader tbody tr:hover{background-color:var(--bg-parchment)}[data-rehype-pretty-code-figure]{margin-block:1.75em;position:relative}[data-rehype-pretty-code-figure] pre{background-color:var(--code-bg);border:1px solid var(--code-border);font-size:14px;line-height:1.7;font-family:var(--font-mono);-webkit-font-smoothing:auto;border-radius:14px;padding-block:1rem;overflow-x:auto}[data-rehype-pretty-code-figure] code{font-family:inherit;font-size:inherit;counter-reset:line;background:0 0;display:grid}[data-rehype-pretty-code-figure] code>[data-line]{border-left:2px solid #0000;padding-inline:1.125rem}[data-rehype-pretty-code-figure] code>[data-line]:first-child{padding-top:.25rem}[data-rehype-pretty-code-figure] code>[data-line]:last-child{padding-bottom:.25rem}code[data-line-numbers]>[data-line]:before{counter-increment:line;content:counter(line);text-align:right;width:1.5rem;color:var(--fg-subtle);font-variant-numeric:tabular-nums;margin-right:1.25rem;display:inline-block}code[data-line-numbers-max-digits="3"]>[data-line]:before{width:2rem}[data-rehype-pretty-code-figure] [data-highlighted-line]{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){[data-rehype-pretty-code-figure] [data-highlighted-line]{background-color:color-mix(in oklab, var(--accent) 10%, transparent)}}[data-rehype-pretty-code-figure] [data-highlighted-line]{border-left-color:var(--accent)}[data-rehype-pretty-code-figure] [data-highlighted-chars]{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){[data-rehype-pretty-code-figure] [data-highlighted-chars]{background-color:color-mix(in oklab, var(--accent) 18%, transparent)}}[data-rehype-pretty-code-figure] [data-highlighted-chars]{border-radius:4px;padding:.1em .2em}[data-rehype-pretty-code-title]{font-family:var(--font-mono);color:var(--fg-subtle);background-color:var(--code-bg);border:1px solid var(--code-border);border-bottom:none;border-radius:14px 14px 0 0;padding:.5rem 1.125rem;font-size:13px}[data-rehype-pretty-code-title]+pre{border-radius:0 0 14px 14px;margin-top:0}code[data-theme*=\ ] span{color:var(--shiki-light)}.dark code[data-theme*=\ ] span{color:var(--shiki-dark)}code[data-theme*=\ ]{color:var(--shiki-light)}.dark code[data-theme*=\ ]{color:var(--shiki-dark)}}@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.top-1\/2{top:50%}.top-24{top:calc(var(--spacing) * 24)}.right-4{right:calc(var(--spacing) * 4)}.-bottom-6{bottom:calc(var(--spacing) * -6)}.-left-4{left:calc(var(--spacing) * -4)}.left-\[22px\]{left:22px}.z-0{z-index:0}.z-10{z-index:10}.z-50{z-index:50}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-9{margin-top:calc(var(--spacing) * 9)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-14{margin-top:calc(var(--spacing) * 14)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mt-20{margin-top:calc(var(--spacing) * 20)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-7{margin-bottom:calc(var(--spacing) * 7)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.-ml-px{margin-left:-1px}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.aspect-square{aspect-ratio:1}.h-5{height:calc(var(--spacing) * 5)}.h-7{height:calc(var(--spacing) * 7)}.h-9{height:calc(var(--spacing) * 9)}.h-11{height:calc(var(--spacing) * 11)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-\[18px\]{height:18px}.h-full{height:100%}.min-h-\[60vh\]{min-height:60vh}.min-h-screen{min-height:100vh}.w-7{width:calc(var(--spacing) * 7)}.w-9{width:calc(var(--spacing) * 9)}.w-11{width:calc(var(--spacing) * 11)}.w-16{width:calc(var(--spacing) * 16)}.w-\[18px\]{width:18px}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-12{gap:calc(var(--spacing) * 12)}.gap-14{gap:calc(var(--spacing) * 14)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.overflow-hidden{overflow:hidden}.rounded-\[10px\]{border-radius:10px}.rounded-\[12px\]{border-radius:12px}.rounded-\[16px\]{border-radius:16px}.rounded-\[18px\]{border-radius:18px}.rounded-\[var\(--radius-card\)\]{border-radius:var(--radius-card)}.rounded-\[var\(--radius-tile\)\]{border-radius:var(--radius-tile)}.rounded-full{border-radius:3.40282e38px}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[var\(--accent\)\]{border-color:var(--accent)}.border-\[var\(--line\)\]{border-color:var(--line)}.border-\[var\(--line-soft\)\]{border-color:var(--line-soft)}.border-\[var\(--tag-ai-border\)\]{border-color:var(--tag-ai-border)}.border-\[var\(--tag-free-border\)\]{border-color:var(--tag-free-border)}.border-\[var\(--tag-oss-border\)\]{border-color:var(--tag-oss-border)}.border-\[var\(--tag-skills-border\)\]{border-color:var(--tag-skills-border)}.border-transparent{border-color:#0000}.bg-\[var\(--bg\)\]{background-color:var(--bg)}.bg-\[var\(--bg-elevated\)\]{background-color:var(--bg-elevated)}.bg-\[var\(--bg-parchment\)\]{background-color:var(--bg-parchment)}.bg-\[var\(--line\)\]{background-color:var(--line)}.bg-\[var\(--tag-ai-bg\)\]{background-color:var(--tag-ai-bg)}.bg-\[var\(--tag-free-bg\)\]{background-color:var(--tag-free-bg)}.bg-\[var\(--tag-oss-bg\)\]{background-color:var(--tag-oss-bg)}.bg-\[var\(--tag-skills-bg\)\]{background-color:var(--tag-skills-bg)}.bg-\[var\(--tile-2\)\]{background-color:var(--tile-2)}.fill-\[\#f5a623\]{fill:#f5a623}.object-cover{object-fit:cover}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-7{padding:calc(var(--spacing) * 7)}.p-8{padding:calc(var(--spacing) * 8)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.py-24{padding-block:calc(var(--spacing) * 24)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-12{padding-top:calc(var(--spacing) * 12)}.pt-14{padding-top:calc(var(--spacing) * 14)}.pt-20{padding-top:calc(var(--spacing) * 20)}.pr-\[22px\]{padding-right:22px}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-14{padding-bottom:calc(var(--spacing) * 14)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-\[50px\]{padding-left:50px}.text-center{text-align:center}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[19px\]{font-size:19px}.text-\[22px\]{font-size:22px}.text-\[24px\]{font-size:24px}.text-\[26px\]{font-size:26px}.text-\[30px\]{font-size:30px}.text-\[32px\]{font-size:32px}.text-\[36px\]{font-size:36px}.text-\[40px\]{font-size:40px}.text-\[64px\]{font-size:64px}.leading-\[1\.1\]{--tw-leading:1.1;line-height:1.1}.leading-\[1\.2\]{--tw-leading:1.2;line-height:1.2}.leading-\[1\.8\]{--tw-leading:1.8;line-height:1.8}.leading-\[22px\]{--tw-leading:22px;line-height:22px}.leading-\[28px\]{--tw-leading:28px;line-height:28px}.leading-\[34px\]{--tw-leading:34px;line-height:34px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[-0\.03em\]{--tw-tracking:-.03em;letter-spacing:-.03em}.tracking-\[-0\.015em\]{--tw-tracking:-.015em;letter-spacing:-.015em}.tracking-\[-0\.025em\]{--tw-tracking:-.025em;letter-spacing:-.025em}.tracking-\[0\.6px\]{--tw-tracking:.6px;letter-spacing:.6px}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-\[\#a1a1a6\]{color:#a1a1a6}.text-\[\#f5a623\]{color:#f5a623}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--fg\)\]{color:var(--fg)}.text-\[var\(--fg-muted\)\]{color:var(--fg-muted)}.text-\[var\(--fg-subtle\)\]{color:var(--fg-subtle)}.text-\[var\(--line\)\]{color:var(--line)}.text-\[var\(--tag-ai-fg\)\]{color:var(--tag-ai-fg)}.text-\[var\(--tag-free-fg\)\]{color:var(--tag-free-fg)}.text-\[var\(--tag-oss-fg\)\]{color:var(--tag-oss-fg)}.text-\[var\(--tag-skills-fg\)\]{color:var(--tag-skills-fg)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow-\[0_1px_0_var\(--line-soft\)\]{--tw-shadow:0 1px 0 var(--tw-shadow-color,var(--line-soft));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_8px_30px_rgba\(0\,0\,0\,0\.08\)\]{--tw-shadow:0 8px 30px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:text-\[var\(--accent\)\]:is(:where(.group):hover *){color:var(--accent)}}.placeholder\:text-\[var\(--fg-subtle\)\]::placeholder{color:var(--fg-subtle)}@media (hover:hover){.hover\:border-\[var\(--accent\)\]:hover{border-color:var(--accent)}.hover\:border-\[var\(--line\)\]:hover{border-color:var(--line)}.hover\:bg-\[var\(--bg-parchment\)\]:hover{background-color:var(--bg-parchment)}.hover\:text-\[var\(--accent\)\]:hover{color:var(--accent)}.hover\:text-\[var\(--fg\)\]:hover{color:var(--fg)}.hover\:text-\[var\(--fg-muted\)\]:hover{color:var(--fg-muted)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-75:hover{opacity:.75}}.focus\:border-\[var\(--accent\)\]:focus{border-color:var(--accent)}.focus\:bg-\[var\(--bg\)\]:focus{background-color:var(--bg)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}@media (min-width:40rem){.sm\:block{display:block}.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:text-right{text-align:right}}@media (min-width:48rem){.md\:ml-0{margin-left:0}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-\[1\.4fr_1fr_1fr\]{grid-template-columns:1.4fr 1fr 1fr}.md\:grid-cols-\[1\.15fr_1fr\]{grid-template-columns:1.15fr 1fr}.md\:gap-3{gap:calc(var(--spacing) * 3)}.md\:gap-6{gap:calc(var(--spacing) * 6)}.md\:gap-16{gap:calc(var(--spacing) * 16)}.md\:gap-\[60px\]{gap:60px}.md\:px-\[120px\]{padding-inline:120px}.md\:py-20{padding-block:calc(var(--spacing) * 20)}.md\:text-\[34px\]{font-size:34px}.md\:text-\[40px\]{font-size:40px}.md\:text-\[44px\]{font-size:44px}.md\:text-\[48px\]{font-size:48px}.md\:text-\[56px\]{font-size:56px}.md\:leading-\[56px\]{--tw-leading:56px;line-height:56px}.md\:leading-\[62px\]{--tw-leading:62px;line-height:62px}.md\:tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.md\:tracking-\[-0\.018em\]{--tw-tracking:-.018em;letter-spacing:-.018em}}@media (min-width:64rem){.lg\:sticky{position:sticky}.lg\:top-24{top:calc(var(--spacing) * 24)}.lg\:block{display:block}.lg\:max-w-\[884px\]{max-width:884px}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[1fr_320px\]{grid-template-columns:1fr 320px}.lg\:grid-cols-\[minmax\(0\,1fr\)_220px\]{grid-template-columns:minmax(0,1fr) 220px}.lg\:self-start{align-self:flex-start}}}.line-clamp-2-fallback{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
