/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@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-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;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;--font-serif:"Fraunces", "Noto Serif TC", "Source Han Serif TC", "Songti TC", "STSong", serif;--font-mono:"Space Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--color-zinc-900:oklch(21% .006 285.885);--spacing:.25rem;--container-2xl:42rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-8xl:6rem;--text-8xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--blur-md:12px;--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);--spacing-sidebar:17rem;--color-bg:oklch(97% .022 80);--color-fg:oklch(25% .03 50);--color-muted:oklch(50% .04 55);--color-subtle:oklch(93% .04 75);--color-border:oklch(85% .04 70);--color-accent:oklch(58% .19 30);--color-accent-hover:oklch(50% .2 28);--color-secondary:oklch(40% .1 145)}}@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,ui-sans-serif, system-ui, 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;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{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}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.relative{position:relative}.static{position:static}.sticky{position:sticky}.-top-8{top:calc(var(--spacing) * -8)}.-top-10{top:calc(var(--spacing) * -10)}.top-0{top:calc(var(--spacing) * 0)}.top-8{top:calc(var(--spacing) * 8)}.top-10{top:calc(var(--spacing) * 10)}.top-12{top:calc(var(--spacing) * 12)}.top-20{top:calc(var(--spacing) * 20)}.top-32{top:calc(var(--spacing) * 32)}.top-44{top:calc(var(--spacing) * 44)}.top-72{top:calc(var(--spacing) * 72)}.-right-8{right:calc(var(--spacing) * -8)}.-right-16{right:calc(var(--spacing) * -16)}.-right-20{right:calc(var(--spacing) * -20)}.-right-24{right:calc(var(--spacing) * -24)}.right-8{right:calc(var(--spacing) * 8)}.right-10{right:calc(var(--spacing) * 10)}.right-12{right:calc(var(--spacing) * 12)}.right-28{right:calc(var(--spacing) * 28)}.right-40{right:calc(var(--spacing) * 40)}.right-44{right:calc(var(--spacing) * 44)}.right-60{right:calc(var(--spacing) * 60)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-10{bottom:calc(var(--spacing) * 10)}.bottom-12{bottom:calc(var(--spacing) * 12)}.bottom-20{bottom:calc(var(--spacing) * 20)}.bottom-24{bottom:calc(var(--spacing) * 24)}.bottom-32{bottom:calc(var(--spacing) * 32)}.bottom-40{bottom:calc(var(--spacing) * 40)}.-left-4{left:calc(var(--spacing) * -4)}.-left-8{left:calc(var(--spacing) * -8)}.-left-10{left:calc(var(--spacing) * -10)}.-left-20{left:calc(var(--spacing) * -20)}.left-2{left:calc(var(--spacing) * 2)}.left-8{left:calc(var(--spacing) * 8)}.left-44{left:calc(var(--spacing) * 44)}.z-10{z-index:10}.z-30{z-index:30}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-auto{margin-top:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-9{height:calc(var(--spacing) * 9)}.h-14{height:calc(var(--spacing) * 14)}.h-auto{height:auto}.min-h-\[100svh\]{min-height:100svh}.min-h-screen{min-height:100vh}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-12{width:calc(var(--spacing) * 12)}.w-20{width:calc(var(--spacing) * 20)}.w-28{width:calc(var(--spacing) * 28)}.w-36{width:calc(var(--spacing) * 36)}.w-56{width:calc(var(--spacing) * 56)}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-5xl{max-width:var(--container-5xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-shrink{flex-shrink:1}.grow{flex-grow:1}.-rotate-12{rotate:-12deg}.rotate-12{rotate:12deg}.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}.scroll-mt-16{scroll-margin-top:calc(var(--spacing) * 16)}.grid-rows-\[auto_1fr_auto\]{grid-template-rows:auto 1fr auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}: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-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-10{column-gap:calc(var(--spacing) * 10)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-8{row-gap:calc(var(--spacing) * 8)}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.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-\[var\(--color-border\)\]{border-color:var(--color-border)}.border-\[var\(--color-secondary\)\]{border-color:var(--color-secondary)}.bg-\[var\(--color-accent\)\]{background-color:var(--color-accent)}.bg-\[var\(--color-bg\)\]{background-color:var(--color-bg)}.bg-\[var\(--color-bg\)\]\/80{background-color:#fdf4e5cc}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--color-bg\)\]\/80{background-color:color-mix(in oklab,var(--color-bg) 80%,transparent)}}.bg-\[var\(--color-subtle\)\]{background-color:var(--color-subtle)}.bg-\[var\(--color-subtle\)\]\/50{background-color:#f8e5cb80}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--color-subtle\)\]\/50{background-color:color-mix(in oklab,var(--color-subtle) 50%,transparent)}}.bg-\[var\(--color-subtle\)\]\/60{background-color:#f8e5cb99}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--color-subtle\)\]\/60{background-color:color-mix(in oklab,var(--color-subtle) 60%,transparent)}}.bg-zinc-900{background-color:var(--color-zinc-900)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-5{padding:calc(var(--spacing) * 5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-12{padding-top:calc(var(--spacing) * 12)}.pt-20{padding-top:calc(var(--spacing) * 20)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.leading-\[1\.02\]{--tw-leading:1.02;line-height:1.02}.leading-\[1\.05\]{--tw-leading:1.05;line-height:1.05}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.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-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-\[var\(--color-accent\)\]{color:var(--color-accent)}.text-\[var\(--color-bg\)\]{color:var(--color-bg)}.text-\[var\(--color-fg\)\]{color:var(--color-fg)}.text-\[var\(--color-fg\)\]\/70{color:#2d1d14b3}@supports (color:color-mix(in lab,red,red)){.text-\[var\(--color-fg\)\]\/70{color:color-mix(in oklab,var(--color-fg) 70%,transparent)}}.text-\[var\(--color-fg\)\]\/75{color:#2d1d14bf}@supports (color:color-mix(in lab,red,red)){.text-\[var\(--color-fg\)\]\/75{color:color-mix(in oklab,var(--color-fg) 75%,transparent)}}.text-\[var\(--color-fg\)\]\/80{color:#2d1d14cc}@supports (color:color-mix(in lab,red,red)){.text-\[var\(--color-fg\)\]\/80{color:color-mix(in oklab,var(--color-fg) 80%,transparent)}}.text-\[var\(--color-fg\)\]\/85{color:#2d1d14d9}@supports (color:color-mix(in lab,red,red)){.text-\[var\(--color-fg\)\]\/85{color:color-mix(in oklab,var(--color-fg) 85%,transparent)}}.text-\[var\(--color-muted\)\]{color:var(--color-muted)}.text-\[var\(--color-secondary\)\]{color:var(--color-secondary)}.uppercase{text-transform:uppercase}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-\[0\.06\]{opacity:.06}.opacity-\[0\.08\]{opacity:.08}.shadow-\[0_8px_24px_-12px_var\(--color-accent\)\]{--tw-shadow:0 8px 24px -12px var(--tw-shadow-color,var(--color-accent));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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-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))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media(hover:hover){.group-hover\:translate-y-0\.5:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:border-\[var\(--color-accent\)\]:hover{border-color:var(--color-accent)}.hover\:border-\[var\(--color-secondary\)\]:hover{border-color:var(--color-secondary)}.hover\:bg-\[var\(--color-accent\)\]:hover{background-color:var(--color-accent)}.hover\:bg-\[var\(--color-accent-hover\)\]:hover{background-color:var(--color-accent-hover)}.hover\:bg-\[var\(--color-secondary\)\]:hover{background-color:var(--color-secondary)}.hover\:bg-\[var\(--color-subtle\)\]:hover{background-color:var(--color-subtle)}.hover\:text-\[var\(--color-accent\)\]:hover{color:var(--color-accent)}.hover\:text-\[var\(--color-bg\)\]:hover{color:var(--color-bg)}.hover\:text-\[var\(--color-secondary\)\]:hover{color:var(--color-secondary)}.hover\:shadow-\[0_12px_28px_-18px_var\(--color-accent\)\]:hover{--tw-shadow:0 12px 28px -18px var(--tw-shadow-color,var(--color-accent));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@media(min-width:40rem){.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\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-6{gap:calc(var(--spacing) * 6)}}@media(min-width:48rem){.md\:block{display:block}.md\:w-96{width:calc(var(--spacing) * 96)}.md\:grid-cols-\[180px_1fr\]{grid-template-columns:180px 1fr}.md\:gap-3{gap:calc(var(--spacing) * 3)}.md\:gap-4{gap:calc(var(--spacing) * 4)}.md\:gap-12{gap:calc(var(--spacing) * 12)}:where(.md\:space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.md\:p-3{padding:calc(var(--spacing) * 3)}.md\:py-28{padding-block:calc(var(--spacing) * 28)}.md\:pt-2{padding-top:calc(var(--spacing) * 2)}.md\:pt-14{padding-top:calc(var(--spacing) * 14)}.md\:pt-32{padding-top:calc(var(--spacing) * 32)}.md\:pb-8{padding-bottom:calc(var(--spacing) * 8)}.md\:pb-24{padding-bottom:calc(var(--spacing) * 24)}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.md\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.md\:text-\[13px\]{font-size:13px}}@media(min-width:64rem){.lg\:block{display:block}.lg\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.lg\:text-8xl{font-size:var(--text-8xl);line-height:var(--tw-leading,var(--text-8xl--line-height))}}@media(min-width:80rem){.xl\:pl-sidebar{padding-left:var(--spacing-sidebar)}}.dark\:block:where(.dark,.dark *){display:block}.dark\:hidden:where(.dark,.dark *){display:none}}:root{--bonsai-leaf:oklch(42% .12 145);--bonsai-sage:oklch(70% .08 135);--bonsai-mustard:oklch(72% .14 95);--bonsai-terra:oklch(60% .14 35);--bonsai-rose:oklch(72% .1 15);--bonsai-lavender:oklch(62% .1 295);--bonsai-teal:oklch(55% .11 200);--bonsai-clay:oklch(45% .06 50)}.dark{--color-bg:oklch(18% .02 50);--color-fg:oklch(95% .025 75);--color-muted:oklch(72% .04 60);--color-subtle:oklch(25% .03 50);--color-border:oklch(36% .04 50);--color-accent:oklch(70% .17 35);--color-accent-hover:oklch(78% .15 38);--color-secondary:oklch(72% .08 145);--color-secondary-hover:oklch(80% .07 145);--bonsai-leaf:oklch(55% .12 145);--bonsai-sage:oklch(78% .08 135);--bonsai-mustard:oklch(80% .14 95);--bonsai-terra:oklch(70% .14 35);--bonsai-rose:oklch(80% .1 15);--bonsai-lavender:oklch(72% .1 295);--bonsai-teal:oklch(68% .11 200);--bonsai-clay:oklch(60% .06 50)}html{scroll-behavior:smooth;background-color:var(--color-bg);color:var(--color-fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-feature-settings:"cv02","cv03","cv04","cv11"}::selection{background-color:var(--color-accent);color:var(--color-bg)}a{color:inherit;text-decoration:none}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.hero-stagger>*{animation:.8s cubic-bezier(.21,.61,.35,1) both fade-up}.hero-stagger>:first-child{animation-delay:0s}.hero-stagger>:nth-child(2){animation-delay:90ms}.hero-stagger>:nth-child(3){animation-delay:.18s}.hero-stagger>:nth-child(4){animation-delay:.27s}:root{--hero-drop-duration:.72s;--hero-drop-back-delay:.24s;--hero-drop-soil-delay:.44s;--hero-drop-stage-delay:.64s;--hero-drop-bag-delay:.9s;--hero-drop-bag-end:calc(var(--hero-drop-bag-delay) + var(--hero-drop-duration))}@keyframes hero-drop-in{0%{opacity:0;translate:0 -240px}55%{opacity:1;translate:0 14px}78%{translate:0 -6px}to{opacity:1;translate:0}}.bonsai-stage,.bonsai-back-context,.bonsai-pot-rim,.bonsai-soil-flat,.soil-bag-host{animation:hero-drop-in var(--hero-drop-duration) cubic-bezier(.34,1.25,.64,1) backwards}.bonsai-back-context,.bonsai-pot-rim{animation-delay:var(--hero-drop-back-delay)}.bonsai-soil-flat{animation-delay:var(--hero-drop-soil-delay)}.bonsai-stage{animation-delay:var(--hero-drop-stage-delay)}.soil-bag-host{animation-delay:var(--hero-drop-bag-delay)}:root[data-skills-poured] :is(.bonsai-stage,.bonsai-back-context,.bonsai-pot-rim,.bonsai-soil-flat,.soil-bag-host){animation:none}.reveal{opacity:0;will-change:opacity,transform;transition:opacity .7s ease-out,transform .7s cubic-bezier(.21,.61,.35,1);transform:translateY(20px)}.reveal[data-revealed]{opacity:1;will-change:auto;transform:none}.reveal-delay{transition-delay:80ms}.font-display{font-family:var(--font-serif);font-optical-sizing:auto;font-variation-settings:"SOFT" 50,"WONK" 0;letter-spacing:-.02em}.deco{pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;position:absolute}@media(prefers-reduced-motion:no-preference){@keyframes float-y{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes float-xy{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(6px,-6px)rotate(4deg)}50%{transform:translateY(-12px)rotate(0)}75%{transform:translate(-6px,-6px)rotate(-4deg)}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-soft{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.18)}}@keyframes wiggle{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}.deco-float{animation:6s ease-in-out infinite float-y}.deco-float-slow{animation:9s ease-in-out infinite float-y}.deco-drift{animation:11s ease-in-out infinite float-xy}.deco-spin{animation:22s linear infinite spin-slow}.deco-spin-fast{animation:12s linear infinite spin-slow}.deco-pulse{animation:3.5s ease-in-out infinite pulse-soft}.deco-wiggle{animation:5s ease-in-out infinite wiggle}}.title-underline{display:inline-block;position:relative}.title-underline:after{content:"";background-color:var(--color-accent);pointer-events:none;height:.45em;position:absolute;bottom:-.35em;left:0;right:0;-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 12' preserveAspectRatio='none'><path d='M2 8 Q 20 2 38 8 T 74 8 T 118 8' stroke='black' stroke-width='2.5' fill='none' stroke-linecap='round'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 12' preserveAspectRatio='none'><path d='M2 8 Q 20 2 38 8 T 74 8 T 118 8' stroke='black' stroke-width='2.5' fill='none' stroke-linecap='round'/></svg>");-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@media(prefers-reduced-motion:no-preference){::view-transition-old(root){animation-duration:.35s}::view-transition-new(root){animation-duration:.35s}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.reveal{opacity:1!important;transform:none!important}}@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}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@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}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.bonsai-perspective[data-astro-cid-2i6w7suy]{--bonsai-base-width: 720px;--bonsai-scale: .85;position:relative;width:100%;max-width:calc(var(--bonsai-base-width) * var(--bonsai-scale));margin:0 auto;container-type:inline-size;aspect-ratio:720 / 520;perspective:calc(1400px * var(--bonsai-scale));perspective-origin:50% 50%}.bonsai-back-context[data-astro-cid-2i6w7suy],.bonsai-stage[data-astro-cid-2i6w7suy]{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(-20deg);transform-origin:50% 75%}.bonsai-stage[data-astro-cid-2i6w7suy]{--rotation: 0deg;cursor:grab;touch-action:pan-y}.bonsai-stage[data-astro-cid-2i6w7suy][data-bonsai-dragging]{cursor:grabbing}.bonsai-pot[data-astro-cid-2i6w7suy]{position:absolute;left:50%;bottom:-5%;width:60%;transform:translate3d(-50%,0,0);color:var(--bonsai-clay)}.bonsai-soil-flat[data-astro-cid-2i6w7suy],.bonsai-pot-rim[data-astro-cid-2i6w7suy]{position:absolute;left:50%;bottom:31%;width:54.7%;aspect-ratio:350 / 140;transform:translate(-50%,50%);pointer-events:none}.bonsai-soil-fill[data-astro-cid-2i6w7suy]{fill:var(--bonsai-sage)}.bonsai-pot-rim-fill[data-astro-cid-2i6w7suy]{fill:var(--bonsai-clay)}.bonsai-tree[data-astro-cid-2i6w7suy]{position:absolute;left:50%;bottom:31%;width:15%;transform:translate3d(-50%,0,0);color:var(--c)}.bonsai-tree[data-astro-cid-2i6w7suy]:focus-visible{outline-offset:6px;border-radius:6px}.bonsai-orbiter[data-astro-cid-2i6w7suy]{position:absolute;left:50%;bottom:31%;transform-origin:50% 100%;color:var(--c);--orbit-fit: min(1, calc(100cqw / (var(--bonsai-base-width) * var(--bonsai-scale))));transform:translate3d(-50%,0,0) rotateY(calc(var(--theta) + var(--rotation, 0deg))) translateZ(calc(var(--r, 100px) * var(--bonsai-scale) * var(--orbit-fit))) rotateY(calc(-1 * (var(--theta) + var(--rotation, 0deg)))) rotate(var(--tilt, 0deg));opacity:0;scale:0;pointer-events:none;transition:opacity .6s ease-out,scale .7s cubic-bezier(.34,1.5,.5,1);will-change:transform,scale,opacity}.bonsai-orbiter[data-astro-cid-2i6w7suy][data-orbit-state=revealed],:root[data-skills-poured] .bonsai-orbiter[data-astro-cid-2i6w7suy]{opacity:1;scale:var(--scale, 1);pointer-events:auto}:root[data-skills-poured] .bonsai-orbiter[data-astro-cid-2i6w7suy],.bonsai-perspective[data-astro-cid-2i6w7suy][data-restored] .bonsai-orbiter[data-astro-cid-2i6w7suy]{transition:none}@media(prefers-reduced-motion:reduce){.bonsai-orbiter[data-astro-cid-2i6w7suy]{transition:none;opacity:1;scale:var(--scale, 1)}}.bonsai-plant[data-astro-cid-2i6w7suy]{width:6%}.bonsai-kinoko[data-astro-cid-2i6w7suy]{width:8%}.bonsai-flower[data-astro-cid-2i6w7suy]{width:5%}html.dark .bonsai-tree[data-astro-cid-2i6w7suy],html.dark .bonsai-orbiter[data-astro-cid-2i6w7suy]{color:var(--c-dark, var(--c))}.bonsai-perspective[data-astro-cid-2i6w7suy]{--bloom-duration: 2.4s;position:relative}.bonsai-perspective[data-astro-cid-2i6w7suy][data-bloom]:after{content:"";position:absolute;inset:-10%;background:radial-gradient(circle at 50% 65%,color-mix(in oklch,var(--bonsai-mustard) 50%,transparent) 0%,color-mix(in oklch,var(--bonsai-mustard) 20%,transparent) 30%,transparent 65%);pointer-events:none;z-index:0;animation:bonsai-bloom-glow var(--bloom-duration) ease-out forwards}@keyframes bonsai-bloom-glow{0%{opacity:0}18%{opacity:1}to{opacity:0}}.bonsai-perspective[data-astro-cid-2i6w7suy][data-bloom] .bonsai-tree[data-astro-cid-2i6w7suy]{animation:bonsai-bloom-tree var(--bloom-duration) ease-out}@keyframes bonsai-bloom-tree{0%,to{filter:none}25%,60%{filter:brightness(1.15) drop-shadow(0 0 10px currentColor)}}.bonsai-perspective[data-astro-cid-2i6w7suy][data-bloom] .bonsai-orbiter[data-astro-cid-2i6w7suy]{animation:bonsai-bloom-orbiter var(--bloom-duration) ease-out}@keyframes bonsai-bloom-orbiter{0%,to{filter:none}40%,70%{filter:brightness(1.2) saturate(1.2)}}@media(prefers-reduced-motion:reduce){.bonsai-perspective[data-astro-cid-2i6w7suy][data-bloom]:after,.bonsai-perspective[data-astro-cid-2i6w7suy][data-bloom] .bonsai-tree[data-astro-cid-2i6w7suy],.bonsai-perspective[data-astro-cid-2i6w7suy][data-bloom] .bonsai-orbiter[data-astro-cid-2i6w7suy]{animation:none}}.bonsai-tree[data-astro-cid-2i6w7suy] svg[data-astro-cid-2i6w7suy],.bonsai-orbiter[data-astro-cid-2i6w7suy] svg[data-astro-cid-2i6w7suy]{display:block;width:100%;height:auto}.bonsai-clickable[data-astro-cid-2i6w7suy]{cursor:pointer;outline:none}.bonsai-clickable[data-astro-cid-2i6w7suy]:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:4px}.bonsai-label[data-astro-cid-2i6w7suy]{position:absolute;bottom:calc(100% + 6px);left:50%;white-space:nowrap;display:inline-flex;gap:.4em;align-items:baseline;padding:.25rem .65rem;border-radius:999px;font-size:11px;line-height:1.2;color:var(--color-fg);background:var(--color-bg);border:1px solid var(--color-border);box-shadow:0 6px 16px -10px #00000059;opacity:0;pointer-events:none;transform:translate(-50%);transition:opacity .18s ease;z-index:2}.bonsai-label-sep[data-astro-cid-2i6w7suy],.bonsai-label-company[data-astro-cid-2i6w7suy]{color:var(--color-muted)}.bonsai-orbiter-label[data-astro-cid-2i6w7suy]{transform:translate(-50%) rotate(calc(-1 * var(--tilt, 0deg))) scale(calc(1 / var(--scale, 1)));transform-origin:50% 100%}.bonsai-tree-label[data-astro-cid-2i6w7suy]{bottom:calc(100% + 8px)}@media(hover:hover){.bonsai-clickable[data-astro-cid-2i6w7suy]:hover .bonsai-label[data-astro-cid-2i6w7suy]{opacity:1}}.bonsai-clickable[data-astro-cid-2i6w7suy]:focus-visible .bonsai-label[data-astro-cid-2i6w7suy]{opacity:1}.bonsai-modal[data-astro-cid-dmieahpc]{position:fixed;inset:0;margin:auto;padding:0;border:none;background:transparent;color:var(--color-fg);width:100%;max-width:min(900px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);height:fit-content;border-radius:18px;overflow:visible}.bonsai-modal[data-astro-cid-dmieahpc]::backdrop{background:#00000080;backdrop-filter:blur(2px)}.bonsai-modal-card[data-astro-cid-dmieahpc]{position:relative;background:var(--color-bg);border:1px solid var(--color-border);border-radius:18px;max-height:calc(100vh - 2rem);overflow-y:auto;padding:2rem 1.75rem 2.5rem;box-shadow:0 30px 60px -25px #0006}.bonsai-modal-close[data-astro-cid-dmieahpc]{position:absolute;top:.75rem;right:.75rem;width:2.25rem;height:2.25rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-fg);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.bonsai-modal-close[data-astro-cid-dmieahpc]:hover,.bonsai-modal-close[data-astro-cid-dmieahpc]:focus-visible{background:var(--color-accent);color:var(--color-bg);border-color:var(--color-accent);outline:none}.bonsai-modal-header[data-astro-cid-dmieahpc]{padding-right:2.5rem}.bonsai-modal-eyebrow[data-astro-cid-dmieahpc]{font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--color-accent)}.bonsai-modal-title[data-astro-cid-dmieahpc]{margin-top:.4rem;font-size:clamp(1.5rem,3.6vw,1.875rem);font-weight:600;line-height:1.2}.bonsai-modal-title-sep[data-astro-cid-dmieahpc],.bonsai-modal-company[data-astro-cid-dmieahpc]{color:var(--color-muted);font-weight:400}.bonsai-modal-company[data-astro-cid-dmieahpc]{transition:color .15s ease}a[data-astro-cid-dmieahpc].bonsai-modal-company:hover{color:var(--color-accent)}.bonsai-modal-company-inner[data-astro-cid-dmieahpc]{position:relative;display:inline-block}.bonsai-modal-company-squiggle[data-astro-cid-dmieahpc]{position:absolute;left:0;right:0;bottom:-.32em;width:100%;height:.42em;color:var(--color-accent);opacity:.7;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.bonsai-modal-company[data-astro-cid-dmieahpc]:hover .bonsai-modal-company-squiggle[data-astro-cid-dmieahpc],.bonsai-modal-company[data-astro-cid-dmieahpc]:focus-visible .bonsai-modal-company-squiggle[data-astro-cid-dmieahpc]{opacity:1;transform:translateY(1px)}.bonsai-modal-period[data-astro-cid-dmieahpc]{margin-top:.5rem;font-family:var(--font-mono);font-size:12px;color:var(--color-muted);font-variant-numeric:tabular-nums}.bonsai-modal-summary[data-astro-cid-dmieahpc]{margin-top:1.25rem;color:color-mix(in oklch,var(--color-fg) 85%,transparent);line-height:1.65}.bonsai-modal-highlights[data-astro-cid-dmieahpc]{margin-top:1.1rem;display:grid;gap:.55rem;font-size:.95rem;color:color-mix(in oklch,var(--color-fg) 85%,transparent)}.bonsai-modal-highlights[data-astro-cid-dmieahpc] li[data-astro-cid-dmieahpc]{display:flex;gap:.5rem;line-height:1.6}.bonsai-modal-bullet[data-astro-cid-dmieahpc]{width:.3rem;height:.3rem;margin-top:.7rem;border-radius:999px;background:var(--color-accent);flex-shrink:0}.bonsai-modal-stack[data-astro-cid-dmieahpc],.bonsai-modal-project-stack[data-astro-cid-dmieahpc]{margin-top:1.2rem;display:flex;flex-wrap:wrap;gap:.4rem}.bonsai-modal-stack[data-astro-cid-dmieahpc] li[data-astro-cid-dmieahpc],.bonsai-modal-project-stack[data-astro-cid-dmieahpc] li[data-astro-cid-dmieahpc]{font-family:var(--font-mono);font-size:11px;padding:.15rem .55rem;border-radius:999px;border:1px solid var(--color-border);color:var(--color-muted)}.bonsai-modal-related[data-astro-cid-dmieahpc]{margin-top:2rem;padding-top:1.5rem;border-top:1px dashed var(--color-border)}.bonsai-modal-related-title[data-astro-cid-dmieahpc]{font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--color-accent)}.bonsai-modal-related-list[data-astro-cid-dmieahpc]{margin-top:1.1rem;display:grid;gap:2rem}.bonsai-modal-project-name[data-astro-cid-dmieahpc]{font-size:1.05rem;font-weight:600}.bonsai-modal-project-link[data-astro-cid-dmieahpc]{transition:color .15s ease}.bonsai-modal-project-link[data-astro-cid-dmieahpc]:hover{color:var(--color-accent)}.bonsai-modal-project-arrow[data-astro-cid-dmieahpc]{font-family:var(--font-mono);font-size:.85em;color:var(--color-muted)}.bonsai-modal-project-client[data-astro-cid-dmieahpc]{color:var(--color-muted);font-weight:400}.bonsai-modal-project-summary[data-astro-cid-dmieahpc]{margin-top:.4rem;color:color-mix(in oklch,var(--color-fg) 85%,transparent);line-height:1.6}.bonsai-modal-project-grid[data-astro-cid-dmieahpc]{margin-top:.85rem;display:grid;grid-template-columns:1fr;gap:.85rem}@media(prefers-reduced-motion:no-preference){@keyframes bonsai-modal-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.bonsai-modal[data-astro-cid-dmieahpc][open]{animation:bonsai-modal-in .2s ease-out}}.soil-bag-host[data-astro-cid-a7r3zf25]{position:relative;display:flex;flex-direction:column;align-items:center;gap:.4rem;width:100%;max-width:180px}.soil-bag-reset[data-astro-cid-a7r3zf25]{font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted);background:transparent;border:1px dashed var(--color-border);border-radius:9999px;padding:3px 10px;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .25s ease,color .2s ease,border-color .2s ease,background-color .2s ease}.soil-bag-reset[data-astro-cid-a7r3zf25]:hover{color:var(--color-accent);border-color:var(--color-accent);background-color:color-mix(in oklch,var(--color-accent) 8%,transparent)}.soil-bag-reset[data-astro-cid-a7r3zf25]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.soil-bag[data-astro-cid-a7r3zf25]:not([data-state=sealed])~.soil-bag-reset[data-astro-cid-a7r3zf25]{opacity:1;pointer-events:auto}.soil-bag[data-astro-cid-a7r3zf25]{position:relative;display:inline-block;width:100%;max-width:180px;color:var(--bonsai-clay);cursor:ew-resize;outline:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:pan-y;--cut-progress: 0;--bag-dx: 0px;--bag-dy: 0px;--bag-rot: 0deg;transform:translate(var(--bag-dx),var(--bag-dy)) rotate(var(--bag-rot));transition:transform .4s cubic-bezier(.34,1.3,.6,1);z-index:5}.soil-bag[data-astro-cid-a7r3zf25][data-dragging="1"]{transition:none}.soil-bag[data-astro-cid-a7r3zf25][data-state=opened]{cursor:grab;touch-action:none}.soil-bag[data-astro-cid-a7r3zf25][data-state=holding],.soil-bag[data-astro-cid-a7r3zf25][data-state=tilting]{cursor:grabbing;touch-action:none;z-index:50}.soil-bag[data-astro-cid-a7r3zf25][data-state=empty]{cursor:grab;touch-action:none;opacity:.85}.soil-bag-svg[data-astro-cid-a7r3zf25] text[data-astro-cid-a7r3zf25]{user-select:none;-webkit-user-select:none}.soil-bag[data-astro-cid-a7r3zf25]:focus-visible{outline:2px solid var(--color-accent);outline-offset:6px;border-radius:8px}.soil-bag-svg[data-astro-cid-a7r3zf25]{display:block;width:100%;height:auto;overflow:visible}.soil-bag[data-astro-cid-a7r3zf25]:before{content:"";position:absolute;inset:-16%;border-radius:50%;background:radial-gradient(circle,color-mix(in oklch,var(--color-accent) 38%,transparent) 0%,transparent 65%);filter:blur(18px);opacity:0;z-index:-1;pointer-events:none}.soil-bag[data-astro-cid-a7r3zf25][data-state=sealed]:before{animation:bag-halo-in .7s ease-out var(--hero-drop-bag-end) forwards,bag-halo-breathe 3.2s ease-in-out calc(var(--hero-drop-bag-end) + .7s) infinite}@keyframes bag-halo-in{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}@keyframes bag-halo-breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.78;transform:scale(1.08)}}.soil-bag-top[data-astro-cid-a7r3zf25]{transform-origin:110px 60px;transition:transform .7s cubic-bezier(.34,1.2,.64,1),opacity .6s ease-out .2s}.soil-bag[data-astro-cid-a7r3zf25][data-state=sealed] .soil-bag-top[data-astro-cid-a7r3zf25]{transform:rotate(calc(var(--cut-progress) * -28deg)) translateY(calc(var(--cut-progress) * 6px))}.soil-bag[data-astro-cid-a7r3zf25]:not([data-state=sealed]) .soil-bag-top[data-astro-cid-a7r3zf25]{transform:rotate(-110deg) translate(-30px,40px);opacity:0}.soil-bag-cut-line[data-astro-cid-a7r3zf25]{opacity:calc(.55 - var(--cut-progress) * .55);transition:opacity .3s ease}.soil-bag[data-astro-cid-a7r3zf25]:not([data-state=sealed]) .soil-bag-cut-line[data-astro-cid-a7r3zf25]{opacity:0}.soil-bag-hint[data-astro-cid-a7r3zf25]{transition:opacity .25s ease;opacity:.9}.soil-bag[data-astro-cid-a7r3zf25]:not([data-state=sealed]) .soil-bag-hint[data-astro-cid-a7r3zf25]{opacity:0}@media(prefers-reduced-motion:no-preference){.soil-bag[data-astro-cid-a7r3zf25][data-state=sealed] .soil-bag-hint[data-astro-cid-a7r3zf25]{animation:bag-hint-pulse 2.6s ease-in-out infinite}}@keyframes bag-hint-pulse{0%,to{opacity:.55}50%{opacity:1}}.soil-bag-scissor[data-astro-cid-a7r3zf25]{transform:translate(calc(32px + var(--cut-progress) * 156px),62px);transition:transform 60ms linear}.soil-bag[data-astro-cid-a7r3zf25][data-state=sealed] .soil-bag-scissor[data-astro-cid-a7r3zf25]{opacity:calc(.4 + var(--cut-progress) * .6)}.soil-bag[data-astro-cid-a7r3zf25]:not([data-state=sealed]) .soil-bag-scissor[data-astro-cid-a7r3zf25]{opacity:0}@media(prefers-reduced-motion:no-preference){.soil-bag[data-astro-cid-a7r3zf25][data-state=sealed] .soil-bag-scissor[data-astro-cid-a7r3zf25]{animation:bag-scissor-nudge 2.6s ease-in-out infinite}}@keyframes bag-scissor-nudge{0%,to{translate:0 0}50%{translate:4px 0}}.soil-bag-label[data-astro-cid-a7r3zf25],.soil-bag-sublabel[data-astro-cid-a7r3zf25]{transition:opacity .4s ease}.soil-bag-granule[data-astro-cid-a7r3zf25]{fill:var(--bonsai-mustard);opacity:0}.soil-bag[data-astro-cid-a7r3zf25][data-state=cutting] .soil-bag-granule[data-astro-cid-a7r3zf25]{animation:bag-granule-fall .9s cubic-bezier(.4,0,.7,.4) forwards;animation-delay:var(--g-delay, 0ms)}@keyframes bag-granule-fall{0%{opacity:0;transform:translateY(-10px)}20%{opacity:1}to{opacity:0;transform:translate(var(--g-x, 0px),200px)}}.soil-bag-lift-hint[data-astro-cid-a7r3zf25]{opacity:0;transition:opacity .4s ease}.soil-bag[data-astro-cid-a7r3zf25][data-state=opened] .soil-bag-lift-hint[data-astro-cid-a7r3zf25]{opacity:.85}@media(prefers-reduced-motion:no-preference){.soil-bag[data-astro-cid-a7r3zf25][data-state=opened] .soil-bag-lift-hint[data-astro-cid-a7r3zf25]{animation:bag-lift-pulse 2.4s ease-in-out infinite}}@keyframes bag-lift-pulse{0%,to{opacity:.45}50%{opacity:1}}.soil-bag[data-astro-cid-a7r3zf25][data-state=holding] .soil-bag-lift-hint[data-astro-cid-a7r3zf25],.soil-bag[data-astro-cid-a7r3zf25][data-state=tilting] .soil-bag-lift-hint[data-astro-cid-a7r3zf25],.soil-bag[data-astro-cid-a7r3zf25][data-state=empty] .soil-bag-lift-hint[data-astro-cid-a7r3zf25]{opacity:0}@media(prefers-reduced-motion:reduce){.soil-bag-top[data-astro-cid-a7r3zf25],.soil-bag-cut-line[data-astro-cid-a7r3zf25],.soil-bag-hint[data-astro-cid-a7r3zf25],.soil-bag-scissor[data-astro-cid-a7r3zf25],.soil-bag-label[data-astro-cid-a7r3zf25],.soil-bag-sublabel[data-astro-cid-a7r3zf25],.soil-bag-lift-hint[data-astro-cid-a7r3zf25]{transition:none!important}.soil-bag-granule[data-astro-cid-a7r3zf25]{animation:none!important}}.bag-skills[data-astro-cid-qh5ud4z7]{--bag-desktop-width: 150px;display:grid;grid-template-columns:1fr;gap:.75rem;align-items:start}.bag-slot[data-astro-cid-qh5ud4z7]{width:100%;max-width:180px;margin:0 auto}@media(max-width:767px){.bag-slot[data-astro-cid-qh5ud4z7]{display:none}.skills-chip[data-astro-cid-qh5ud4z7][data-state=hidden]{opacity:1}}@media(min-width:768px){.bag-skills[data-astro-cid-qh5ud4z7]{grid-template-columns:1fr var(--bag-desktop-width);gap:1.5rem}.bag-slot[data-astro-cid-qh5ud4z7]{order:2;width:var(--bag-desktop-width);max-width:none;margin:0}.bag-skills[data-astro-cid-qh5ud4z7]>.skills-grid[data-astro-cid-qh5ud4z7]{order:1}}.skills-grid[data-astro-cid-qh5ud4z7]{display:grid;grid-template-columns:1fr;gap:.25rem 1.5rem}@media(min-width:768px){.skills-grid[data-astro-cid-qh5ud4z7]{grid-template-columns:1fr 1fr}}.skills-row[data-astro-cid-qh5ud4z7]{display:grid;grid-template-columns:110px 1fr;gap:.5rem;align-items:baseline;min-height:22px}.skills-row-title[data-astro-cid-qh5ud4z7]{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);text-align:right;line-height:1.4;margin:0;transition:color .22s ease}.skills-row[data-astro-cid-qh5ud4z7][data-active] .skills-row-title[data-astro-cid-qh5ud4z7]{color:var(--color-accent)}.skills-row-items[data-astro-cid-qh5ud4z7]{display:flex;flex-wrap:wrap;gap:4px;list-style:none;margin:0;padding:0}.skills-chip[data-astro-cid-qh5ud4z7]{display:inline-block;padding:2px 8px;font-size:11px;line-height:1.35;background:var(--color-subtle);color:var(--color-fg);border:1px solid var(--color-border);border-radius:9999px;white-space:nowrap;opacity:0;will-change:transform,opacity;transition:opacity .22s ease-out,transform 0ms}.skills-chip[data-astro-cid-qh5ud4z7][data-state=emitted]{opacity:1;transition:opacity .18s ease-out,transform 0ms}.skills-chip[data-astro-cid-qh5ud4z7][data-state=settling]{opacity:1;transition:opacity .18s ease-out,transform .52s cubic-bezier(.34,1.4,.5,1)}.skills-chip[data-astro-cid-qh5ud4z7][data-state=settled]{opacity:1;transition:opacity .18s ease-out;will-change:auto}@media(prefers-reduced-motion:reduce){.skills-chip[data-astro-cid-qh5ud4z7],.skills-chip[data-astro-cid-qh5ud4z7][data-state=emitted],.skills-chip[data-astro-cid-qh5ud4z7][data-state=settling],.skills-chip[data-astro-cid-qh5ud4z7][data-state=settled]{transition:none}}
