@charset "UTF-8";.custom-cursor-layer[data-v-ba68e84c]{contain:layout style paint}.custom-cursor-dot[data-v-ba68e84c]{position:absolute;top:0;left:0;width:6px;height:6px;margin-top:-3px;margin-left:-3px;border-radius:50%;background-color:var(--ink);pointer-events:none;transition:transform .05s linear,width .2s cubic-bezier(.16,1,.3,1),height .2s cubic-bezier(.16,1,.3,1),opacity .2s ease;will-change:transform}.custom-cursor-dot.is-hovering[data-v-ba68e84c]{opacity:.2;transform:translate3d(var(--target-x),var(--target-y),0) scale(1.5)}.custom-cursor-follower[data-v-ba68e84c]{position:absolute;top:0;left:0;width:36px;height:36px;margin-top:-18px;margin-left:-18px;border-radius:50%;border:1px solid var(--ink);display:flex;align-items:center;justify-content:center;pointer-events:none;transition:width .3s cubic-bezier(.16,1,.3,1),height .3s cubic-bezier(.16,1,.3,1),margin .3s cubic-bezier(.16,1,.3,1),background-color .3s cubic-bezier(.16,1,.3,1),border-color .3s cubic-bezier(.16,1,.3,1),transform .08s linear;will-change:transform;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.custom-cursor-follower--pointer[data-v-ba68e84c]{width:50px;height:50px;margin-top:-25px;margin-left:-25px;background-color:rgba(var(--ink-rgb),.08);border-color:rgba(var(--ink-rgb),.3)}.custom-cursor-follower.is-expanded[data-v-ba68e84c]{width:78px;height:78px;margin-top:-39px;margin-left:-39px;background-color:var(--ink);border-color:var(--ink);box-shadow:0 12px 36px #00000059}@keyframes fadeIn-ba68e84c{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.animate-fade-in[data-v-ba68e84c]{animation:fadeIn-ba68e84c .22s cubic-bezier(.16,1,.3,1) forwards}@media (hover: none) and (pointer: coarse){.custom-cursor-layer[data-v-ba68e84c]{display:none!important}}.particle-background-container[data-v-719e5c2c]{mask-image:radial-gradient(ellipse at center,#000 50%,#0006 92%);-webkit-mask-image:radial-gradient(ellipse at center,rgba(0,0,0,1) 50%,rgba(0,0,0,.4) 92%)}.custom-scrollbar[data-v-03a34abf]::-webkit-scrollbar{width:5px}.custom-scrollbar[data-v-03a34abf]::-webkit-scrollbar-track{background:var(--bone)}.custom-scrollbar[data-v-03a34abf]::-webkit-scrollbar-thumb{background:var(--stroke);border-radius:9999px}.custom-scrollbar[data-v-03a34abf]::-webkit-scrollbar-thumb:hover{background:var(--ink-tertiary)}.scroll-fab[data-v-92988840]{position:fixed;bottom:1.75rem;right:1.75rem;z-index:200;width:2.75rem;height:2.75rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--color-ink, #1a1a1a);color:var(--color-surface, #f8f7f5);border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 16px #0000002e,0 1px 3px #0000001f,inset 0 1px #ffffff0f;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease,opacity .2s ease;-webkit-tap-highlight-color:transparent}.scroll-fab[data-v-92988840]:hover{transform:translateY(-2px) scale(1.06);box-shadow:0 8px 24px #0000003d,0 2px 6px #00000029,inset 0 1px #ffffff14}.scroll-fab[data-v-92988840]:active{transform:scale(.93)}.scroll-fab-enter-active[data-v-92988840]{transition:opacity .26s ease,transform .3s cubic-bezier(.34,1.56,.64,1)}.scroll-fab-leave-active[data-v-92988840]{transition:opacity .2s ease,transform .2s ease}.scroll-fab-enter-from[data-v-92988840],.scroll-fab-leave-to[data-v-92988840]{opacity:0;transform:translateY(12px) scale(.88)}.navbar{position:sticky;top:0;z-index:200}.hero{position:relative;width:100%}.hero__container{width:100%;position:relative;z-index:1}.hero__title{line-height:1.1;letter-spacing:-.03em;font-family:var(--font-serif);font-weight:300}.hero__title .highlight{font-style:italic;color:var(--ink-secondary)}.hero__image-wrapper{position:relative}.hero__image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;filter:grayscale(15%);transition:filter .5s ease}.hero__image:hover{filter:grayscale(0%)}.card{background:var(--surface);border:1px solid var(--stroke);border-radius:12px;overflow:hidden;box-shadow:0 1px 4px #0000000a;transition:box-shadow .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1)}.card:hover{box-shadow:0 2px 8px #0000000d;border-color:#0000001f}.card__image{width:100%;height:200px;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease ease}.card:hover .card__image{transform:scale(1.02)}.card__body{padding:1.5rem}.card__title{font-size:1.125rem;font-weight:600;color:var(--ink);margin-bottom:.5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card__description{font-size:.875rem;color:var(--ink-secondary);line-height:1.7;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card__description--expanded{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}.card__toggle{background:transparent;border:0;padding:0;margin-bottom:1rem;cursor:pointer}.card__tags{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:1rem}.card__tags--after-description{margin-top:-.25rem;margin-bottom:0}.card__tag{background:var(--bone);color:var(--ink-secondary);border:1px solid var(--stroke);padding:2px .5rem;border-radius:4px;font-size:.75rem;font-family:var(--font-mono)}.card__tag--secondary{background:var(--pastel-blue);color:var(--pastel-blue-text);border-color:transparent}.card__footer{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-top:1px solid var(--stroke)}.card__link{display:inline-flex;align-items:center;gap:.25rem;font-size:.875rem;font-weight:500;color:var(--ink);text-decoration:none;transition:color .3s ease ease}.card__link:hover{color:var(--ink-secondary)}.card--featured{border-color:var(--pastel-amber-text);background:var(--surface)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1.5rem;border-radius:6px;font-size:.875rem;font-weight:500;font-family:var(--font-sans);text-decoration:none;border:1px solid transparent;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:active:not(:disabled){transform:scale(.98)}.btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--ink);color:var(--surface);font-weight:500}.btn--primary:hover:not(:disabled){background:#2b2b2b}.btn--secondary{background:var(--bone);color:var(--ink);border-color:var(--stroke)}.btn--secondary:hover:not(:disabled){border-color:#0003;background:var(--surface)}.btn--outline{background:transparent;color:var(--ink);border-color:var(--stroke)}.btn--outline:hover:not(:disabled){border-color:var(--ink)}.btn--danger{background:var(--pastel-red);color:var(--pastel-red-text);border-color:#9f2f2d33}.btn--danger:hover:not(:disabled){background:#fbd8da}.btn--sm{padding:4px 10px;font-size:11px;border-radius:4px}.btn--lg{padding:12px 24px;font-size:15px;border-radius:8px}.btn--icon{width:36px;height:36px;padding:0;border-radius:6px}.footer{background:var(--bone);border-top:1px solid var(--stroke)}.project-card{position:relative}.experience-content h1,.experience-content h2,.experience-content h3,.experience-content h4{color:#f8fafc;margin-top:.75rem;margin-bottom:.5rem;line-height:1.35}.experience-content p{margin-bottom:.75rem}.experience-content ul,.experience-content ol{margin-left:1rem;margin-bottom:.75rem}.experience-content ul{list-style:disc}.experience-content ol{list-style:decimal}.experience-content blockquote{margin:.75rem 0;border-left:3px solid rgba(59,130,246,.7);padding-left:.75rem;color:#93c5fd}.experience-content pre{background:#0f172a;border:1px solid rgba(255,255,255,.1);border-radius:.75rem;padding:.75rem;overflow-x:auto}.experience-content .media{margin:.75rem 0}.experience-content .rich-embed__ratio{position:relative;width:100%;padding-top:56.25%;border-radius:.75rem;overflow:hidden;background:#0f172ad9}.experience-content .rich-embed__ratio iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}*,: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:Plus Jakarta Sans,SF Pro Display,Helvetica Neue,system-ui,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:DM Mono,SF Mono,JetBrains Mono,ui-monospace,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}.\!container{width:100%!important}.container{width:100%}@media (min-width: 640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width: 768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width: 1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width: 1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width: 1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-1\.5{top:.375rem;right:.375rem;bottom:.375rem;left:.375rem}.-bottom-2\.5{bottom:-.625rem}.-left-\[21px\]{left:-21px}.-right-2{right:-.5rem}.-top-10{top:-2.5rem}.bottom-0\.5{bottom:.125rem}.bottom-3{bottom:.75rem}.bottom-5{bottom:1.25rem}.left-0{left:0}.left-1\/2{left:50%}.left-3{left:.75rem}.left-4{left:1rem}.right-0{right:0}.right-2{right:.5rem}.right-2\.5{right:.625rem}.right-3{right:.75rem}.right-5{right:1.25rem}.top-0{top:0}.top-1\/2{top:50%}.top-2\.5{top:.625rem}.top-3{top:.75rem}.z-0{z-index:0}.z-10{z-index:10}.z-\[199\]{z-index:199}.z-\[200\]{z-index:200}.z-\[250\]{z-index:250}.z-\[300\]{z-index:300}.z-\[500\]{z-index:500}.z-\[9990\]{z-index:9990}.z-\[9995\]{z-index:9995}.z-\[99999\]{z-index:99999}.z-\[9999\]{z-index:9999}.col-span-12{grid-column:span 12 / span 12}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-auto{margin-top:auto;margin-bottom:auto}.\!mb-0{margin-bottom:0!important}.-mb-1{margin-bottom:-.25rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.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}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-\[16\/9\]{aspect-ratio:16/9}.aspect-\[21\/9\]{aspect-ratio:21/9}.aspect-\[4\/3\]{aspect-ratio:4/3}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-36{height:9rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-60{height:15rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[2\.5px\]{height:2.5px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-60{max-height:15rem}.max-h-\[560px\]{max-height:560px}.max-h-\[60vh\]{max-height:60vh}.max-h-\[78vh\]{max-height:78vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[92vh\]{max-height:92vh}.min-h-\[100dvh\]{min-height:100dvh}.min-h-\[140px\]{min-height:140px}.min-h-\[220px\]{min-height:220px}.min-h-\[260px\]{min-height:260px}.min-h-\[440px\]{min-height:440px}.min-h-\[480px\]{min-height:480px}.min-h-\[65px\]{min-height:65px}.min-h-\[80vh\]{min-height:80vh}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-36{width:9rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[260px\]{min-width:260px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-\[120px\]{max-width:120px}.max-w-\[1380px\]{max-width:1380px}.max-w-\[140px\]{max-width:140px}.max-w-\[1440px\]{max-width:1440px}.max-w-\[150px\]{max-width:150px}.max-w-\[200px\]{max-width:200px}.max-w-\[90px\]{max-width:90px}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.origin-left{transform-origin:left}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-\[5px\]{--tw-translate-y: -5px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-2{--tw-translate-y: .5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-4{--tw-translate-y: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[5px\]{--tw-translate-y: 5px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-45{--tw-rotate: -45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-125{--tw-scale-x: 1.25;--tw-scale-y: 1.25;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-x-0{--tw-scale-x: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-pulse-soft{animation:pulseSoft 3s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-zoom-in{cursor:zoom-in}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-y{resize:vertical}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,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}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.gap-8{gap:2rem}.gap-px{gap:1px}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(6rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-3\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.875rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-white\/5>:not([hidden])~:not([hidden]){border-color:#ffffff0d}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.text-balance{text-wrap:balance}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[10px\]{border-radius:10px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l-2{border-left-width:2px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[\#4ade80\]\/50{border-color:#4ade8080}.border-amber-500\/30{border-color:#f59e0b4d}.border-amber-500\/50{border-color:#f59e0b80}.border-blue-400{--tw-border-opacity: 1;border-color:rgb(96 165 250 / var(--tw-border-opacity, 1))}.border-cyan-400\/20{border-color:#22d3ee33}.border-cyan-400\/50{border-color:#22d3ee80}.border-emerald-400\/30{border-color:#34d3994d}.border-emerald-500\/50{border-color:#10b98180}.border-indigo-400\/20{border-color:#818cf833}.border-indigo-400\/40{border-color:#818cf866}.border-ink{border-color:var(--ink)}.border-purple-500\/30{border-color:#a855f74d}.border-purple-500\/40{border-color:#a855f766}.border-rose-400\/30{border-color:#fb71854d}.border-rose-500\/30{border-color:#f43f5e4d}.border-rose-500\/50{border-color:#f43f5e80}.border-slate-900{--tw-border-opacity: 1;border-color:rgb(15 23 42 / var(--tw-border-opacity, 1))}.border-stroke{border-color:var(--stroke)}.border-transparent{border-color:transparent}.border-white\/10{border-color:#ffffff1a}.border-white\/15{border-color:#ffffff26}.border-white\/20{border-color:#fff3}.border-white\/5{border-color:#ffffff0d}.border-b-indigo-400{--tw-border-opacity: 1;border-bottom-color:rgb(129 140 248 / var(--tw-border-opacity, 1))}.border-t-cyan-400{--tw-border-opacity: 1;border-top-color:rgb(34 211 238 / var(--tw-border-opacity, 1))}.bg-\[\#4ade80\]\/15{background-color:#4ade8026}.bg-amber-500\/10{background-color:#f59e0b1a}.bg-blue-400{--tw-bg-opacity: 1;background-color:rgb(96 165 250 / var(--tw-bg-opacity, 1))}.bg-blue-500\/10{background-color:#3b82f61a}.bg-bone{background-color:var(--bone)}.bg-canvas{background-color:var(--canvas)}.bg-current{background-color:currentColor}.bg-cyan-400{--tw-bg-opacity: 1;background-color:rgb(34 211 238 / var(--tw-bg-opacity, 1))}.bg-emerald-400\/10{background-color:#34d3991a}.bg-green-400{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / var(--tw-bg-opacity, 1))}.bg-green-500\/10{background-color:#22c55e1a}.bg-ink{background-color:var(--ink)}.bg-ink-tertiary{background-color:var(--ink-tertiary)}.bg-pastel-amber{background-color:var(--pastel-amber)}.bg-pastel-amber-text{background-color:var(--pastel-amber-text)}.bg-pastel-blue{background-color:var(--pastel-blue)}.bg-pastel-blue-text{background-color:var(--pastel-blue-text)}.bg-pastel-green{background-color:var(--pastel-green)}.bg-pastel-green-text{background-color:var(--pastel-green-text)}.bg-pastel-red{background-color:var(--pastel-red)}.bg-pastel-red-text{background-color:var(--pastel-red-text)}.bg-purple-500\/10{background-color:#a855f71a}.bg-purple-500\/20{background-color:#a855f733}.bg-purple-500\/30{background-color:#a855f74d}.bg-purple-950\/10{background-color:#3b07641a}.bg-rose-400\/10{background-color:#fb71851a}.bg-rose-500\/10{background-color:#f43f5e1a}.bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.bg-slate-900\/40{background-color:#0f172a66}.bg-slate-900\/50{background-color:#0f172a80}.bg-slate-900\/80{background-color:#0f172acc}.bg-slate-900\/90{background-color:#0f172ae6}.bg-slate-950\/60{background-color:#02061799}.bg-slate-950\/85{background-color:#020617d9}.bg-slate-950\/90{background-color:#020617e6}.bg-stroke{background-color:var(--stroke)}.bg-surface{background-color:var(--surface)}.bg-transparent{background-color:transparent}.bg-white\/10{background-color:#ffffff1a}.bg-white\/5{background-color:#ffffff0d}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-indigo-500{--tw-gradient-to: #6366f1 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.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:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-10{padding-bottom:2.5rem}.pb-2{padding-bottom:.5rem}.pb-2\.5{padding-bottom:.625rem}.pb-20{padding-bottom:5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3\.5{padding-left:.875rem}.pl-4{padding-left:1rem}.pr-10{padding-right:2.5rem}.pr-24{padding-right:6rem}.pt-1{padding-top:.25rem}.pt-12{padding-top:3rem}.pt-14{padding-top:3.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:DM Mono,SF Mono,JetBrains Mono,ui-monospace,monospace}.font-sans{font-family:Plus Jakarta Sans,SF Pro Display,Helvetica Neue,system-ui,sans-serif}.font-serif{font-family:Newsreader,Instrument Serif,Georgia,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-8xl{font-size:6rem;line-height:1}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.\!font-medium{font-weight:500!important}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-\[1\.04\]{line-height:1.04}.leading-\[1\.05\]{line-height:1.05}.leading-\[1\.15\]{line-height:1.15}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[-0\.035em\]{letter-spacing:-.035em}.tracking-\[-0\.03em\]{letter-spacing:-.03em}.tracking-\[-0\.04em\]{letter-spacing:-.04em}.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.\!text-ink{color:var(--ink)!important}.text-\[\#4ade80\]{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-amber-300{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-blue-300{--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-canvas{color:var(--canvas)}.text-cyan-400{--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity, 1))}.text-emerald-200{--tw-text-opacity: 1;color:rgb(167 243 208 / var(--tw-text-opacity, 1))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / 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-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-indigo-300{--tw-text-opacity: 1;color:rgb(165 180 252 / var(--tw-text-opacity, 1))}.text-indigo-400{--tw-text-opacity: 1;color:rgb(129 140 248 / var(--tw-text-opacity, 1))}.text-ink{color:var(--ink)}.text-ink-secondary{color:var(--ink-secondary)}.text-ink-tertiary{color:var(--ink-tertiary)}.text-pastel-amber-text{color:var(--pastel-amber-text)}.text-pastel-blue-text{color:var(--pastel-blue-text)}.text-pastel-green-text{color:var(--pastel-green-text)}.text-pastel-red-text{color:var(--pastel-red-text)}.text-purple-200{--tw-text-opacity: 1;color:rgb(233 213 255 / var(--tw-text-opacity, 1))}.text-purple-300{--tw-text-opacity: 1;color:rgb(216 180 254 / var(--tw-text-opacity, 1))}.text-purple-400{--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-rose-200{--tw-text-opacity: 1;color:rgb(254 205 211 / var(--tw-text-opacity, 1))}.text-rose-300{--tw-text-opacity: 1;color:rgb(253 164 175 / var(--tw-text-opacity, 1))}.text-rose-400{--tw-text-opacity: 1;color:rgb(251 113 133 / var(--tw-text-opacity, 1))}.text-slate-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-950{--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity, 1))}.text-stroke{color:var(--stroke)}.text-surface{color:var(--surface)}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/70{color:#ffffffb3}.text-white\/90{color:#ffffffe6}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.placeholder-ink-tertiary::-moz-placeholder{color:var(--ink-tertiary)}.placeholder-ink-tertiary::placeholder{color:var(--ink-tertiary)}.placeholder-slate-500::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(100 116 139 / var(--tw-placeholder-opacity, 1))}.placeholder-slate-500::placeholder{--tw-placeholder-opacity: 1;color:rgb(100 116 139 / var(--tw-placeholder-opacity, 1))}.accent-blue-500{accent-color:#3b82f6}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.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)}.shadow-\[0_0_20px_rgba\(0\,229\,255\,0\.2\)\]{--tw-shadow: 0 0 20px rgba(0,229,255,.2);--tw-shadow-colored: 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_20px_rgba\(16\,185\,129\,0\.2\)\]{--tw-shadow: 0 0 20px rgba(16,185,129,.2);--tw-shadow-colored: 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_20px_rgba\(244\,63\,94\,0\.2\)\]{--tw-shadow: 0 0 20px rgba(244,63,94,.2);--tw-shadow-colored: 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_20px_rgba\(245\,158\,11\,0\.2\)\]{--tw-shadow: 0 0 20px rgba(245,158,11,.2);--tw-shadow-colored: 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_8px_\#00e5ff\]{--tw-shadow: 0 0 8px #00e5ff;--tw-shadow-colored: 0 0 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_1px_2px_rgba\(0\,0\,0\,0\.04\)\]{--tw-shadow: 0 1px 2px rgba(0,0,0,.04);--tw-shadow-colored: 0 1px 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[inset_0_1px_1px_rgba\(255\,255\,255\,0\.1\)\]{--tw-shadow: inset 0 1px 1px rgba(255,255,255,.1);--tw-shadow-colored: inset 0 1px 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 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)}.shadow-island{--tw-shadow: 0 12px 36px 0 rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.08);--tw-shadow-colored: 0 12px 36px 0 var(--tw-shadow-color), 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-island-hover{--tw-shadow: 0 20px 48px 0 rgba(0,0,0,.8), 0 0 0 1px rgba(255,255,255,.14);--tw-shadow-colored: 0 20px 48px 0 var(--tw-shadow-color), 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--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)}.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)}.grayscale-\[10\%\]{--tw-grayscale: grayscale(10%);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)}.grayscale-\[12\%\]{--tw-grayscale: grayscale(12%);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)}.grayscale-\[15\%\]{--tw-grayscale: grayscale(15%);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)}.sepia{--tw-sepia: sepia(100%);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)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-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-blur-md{--tw-backdrop-blur: blur(12px);-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-blur-sm{--tw-backdrop-blur: blur(4px);-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-blur-xl{--tw-backdrop-blur: blur(24px);-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,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}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.duration-75{transition-duration:75ms}.duration-\[500ms\]{transition-duration:.5s}.ease-\[cubic-bezier\(0\.16\,1\,0\.3\,1\)\]{transition-timing-function:cubic-bezier(.16,1,.3,1)}.ease-\[cubic-bezier\(0\.32\,0\.72\,0\,1\)\]{transition-timing-function:cubic-bezier(.32,.72,0,1)}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.will-change-transform{will-change:transform}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}:root,html[data-theme=editorial-dark]{--canvas: #090A0C;--bone: #12141A;--surface: #181A22;--ink: #F5F5F7;--ink-rgb: 245, 245, 247;--ink-secondary: #8E919A;--ink-tertiary: #565963;--stroke: rgba(255, 255, 255, .08);--stroke-soft: rgba(255, 255, 255, .04);--card-shadow: 0 4px 20px 0 rgba(0, 0, 0, .4);--island-shadow: 0 12px 36px 0 rgba(0, 0, 0, .6), 0 0 0 1px rgba(255, 255, 255, .08);--pastel-red: #281014;--pastel-red-text: #F87171;--pastel-blue: #0E1F36;--pastel-blue-text: #60A5FA;--pastel-green: #0E2616;--pastel-green-text: #4ADE80;--pastel-amber: #281D08;--pastel-amber-text: #FBBF24;--font-sans: "Plus Jakarta Sans", "SF Pro Display", "Helvetica Neue", system-ui, sans-serif;--font-serif: "Newsreader", "Instrument Serif", Georgia, serif;--font-mono: "DM Mono", "SF Mono", "JetBrains Mono", ui-monospace, monospace}html[data-theme=editorial-light]{--canvas: #FAFAF8;--bone: #F0EFEA;--surface: #FFFFFF;--ink: #111317;--ink-rgb: 17, 19, 23;--ink-secondary: #525866;--ink-tertiary: #868C98;--stroke: rgba(0, 0, 0, .08);--stroke-soft: rgba(0, 0, 0, .04);--card-shadow: 0 4px 20px 0 rgba(0, 0, 0, .06);--island-shadow: 0 12px 36px 0 rgba(0, 0, 0, .08), 0 0 0 1px rgba(0, 0, 0, .08);--pastel-red: #FEF2F2;--pastel-red-text: #B91C1C;--pastel-blue: #EBF3FF;--pastel-blue-text: #1D4ED8;--pastel-green: #ECFDF5;--pastel-green-text: #047857;--pastel-amber: #FFFBEB;--pastel-amber-text: #B45309}html[data-theme=monochrome-cyber]{--canvas: #000000;--bone: #0D0D0E;--surface: #141416;--ink: #FFFFFF;--ink-rgb: 255, 255, 255;--ink-secondary: #A1A1AA;--ink-tertiary: #52525B;--stroke: rgba(255, 255, 255, .12);--stroke-soft: rgba(255, 255, 255, .06);--card-shadow: 0 4px 20px 0 rgba(0, 0, 0, .7);--island-shadow: 0 12px 36px 0 rgba(0, 0, 0, .8), 0 0 0 1px rgba(255, 255, 255, .12);--pastel-red: #1F0A0D;--pastel-red-text: #EF4444;--pastel-blue: #0C1824;--pastel-blue-text: #38BDF8;--pastel-green: #061C12;--pastel-green-text: #10B981;--pastel-amber: #1F1706;--pastel-amber-text: #F59E0B}html[data-theme=warm-sepia]{--canvas: #F4EFE6;--bone: #E9E2D5;--surface: #FDFBF7;--ink: #2D251E;--ink-rgb: 45, 37, 30;--ink-secondary: #685C50;--ink-tertiary: #96897B;--stroke: rgba(45, 37, 30, .1);--stroke-soft: rgba(45, 37, 30, .05);--card-shadow: 0 4px 20px 0 rgba(45, 37, 30, .06);--island-shadow: 0 12px 36px 0 rgba(45, 37, 30, .08), 0 0 0 1px rgba(45, 37, 30, .1);--pastel-red: #F4E0E0;--pastel-red-text: #8A2E2E;--pastel-blue: #E2EAF2;--pastel-blue-text: #2B5278;--pastel-green: #E2EBE2;--pastel-green-text: #2D6136;--pastel-amber: #F4EBD8;--pastel-amber-text: #8C5918}body{font-family:var(--font-sans);background:var(--canvas);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;min-height:100dvh}body:before{content:"";position:fixed;width:65vmax;height:65vmax;top:-20vmax;left:-15vmax;pointer-events:none;background:radial-gradient(circle,rgba(96,165,250,.035) 0%,rgba(74,222,128,.015) 45%,transparent 70%);animation:drift 28s ease-in-out infinite alternate;z-index:0;will-change:transform}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");z-index:1;opacity:1}#app{min-height:100dvh;color:var(--ink);position:relative;z-index:2}@keyframes drift{0%{transform:translate(0) scale(1)}to{transform:translate(60px,40px) scale(1.08)}}.editorial-card{background:var(--bone);border:1px solid var(--stroke);border-radius:12px;padding:1.5px;box-shadow:0 4px 20px #0006;transition:box-shadow .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.editorial-card:hover{box-shadow:0 8px 32px #0009;border-color:#ffffff29}.editorial-card__inner{background:color-mix(in srgb,var(--surface) 93%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:10px;box-shadow:inset 0 1px 1px #ffffff0f;height:100%;width:100%;overflow:hidden}.glass-panel{background:var(--surface);border:1px solid var(--stroke);border-radius:12px;box-shadow:0 4px 20px #0006;position:relative;overflow:hidden;transition:box-shadow .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1)}.glass-panel:hover{box-shadow:0 8px 32px #0009;border-color:#ffffff29}.bento-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.25rem}.bento-card{background:var(--surface);border:1px solid var(--stroke);border-radius:12px;padding:1.5rem;position:relative;overflow:hidden;box-shadow:0 1px 4px #0000000a;transition:box-shadow .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1)}.bento-card:hover{box-shadow:0 2px 8px #0000000d;border-color:#0000001a}.eyebrow-tag{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .75rem;border-radius:9999px;border:1px solid var(--stroke);background:var(--bone);color:var(--ink-secondary);font-family:var(--font-mono);font-size:.625rem;font-weight:500;text-transform:uppercase;letter-spacing:.12em}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--pastel-green-text);animation:pulseSoft 3s ease-in-out infinite}@keyframes pulseSoft{0%,to{opacity:1}50%{opacity:.5}}.font-mono-code{font-family:var(--font-mono);font-variant-numeric:tabular-nums}::view-transition-old(root),::view-transition-new(root){animation-duration:.35s;animation-timing-function:cubic-bezier(.16,1,.3,1)}::view-transition-old(root){animation-name:theme-fade-out}::view-transition-new(root){animation-name:theme-fade-in}@keyframes theme-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.995)}}@keyframes theme-fade-in{0%{opacity:0;transform:scale(1.005)}to{opacity:1;transform:scale(1)}}html.theme-transitioning,html.theme-transitioning *,html.theme-transitioning *:before,html.theme-transitioning *:after{transition:background-color .35s cubic-bezier(.16,1,.3,1),border-color .35s cubic-bezier(.16,1,.3,1),color .25s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1),fill .25s cubic-bezier(.16,1,.3,1)!important;transition-delay:0s!important}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:9999}@media (prefers-reduced-motion: reduce){::view-transition-old(root),::view-transition-new(root){animation:none!important}}.page-enter-active,.page-leave-active{transition:opacity .28s cubic-bezier(.16,1,.3,1),transform .28s cubic-bezier(.16,1,.3,1)}.page-enter-from{opacity:0;transform:translateY(10px) scale(.995)}.page-leave-to{opacity:0;transform:translateY(-8px) scale(.995)}.spotlight-card{position:relative;isolation:isolate}.spotlight-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:radial-gradient(450px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(var(--ink-rgb),.22),transparent 65%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:0;transition:opacity .3s cubic-bezier(.16,1,.3,1);z-index:4}.spotlight-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(550px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(var(--ink-rgb),.035),transparent 55%);pointer-events:none;opacity:0;transition:opacity .3s cubic-bezier(.16,1,.3,1);z-index:1}.spotlight-card:hover:before,.spotlight-card:hover:after{opacity:1}.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);line-height:1.15;font-weight:700;letter-spacing:-.02em;text-wrap:balance;color:var(--ink)}h1{letter-spacing:-.03em}.editorial-heading{font-family:var(--font-serif);letter-spacing:-.02em;line-height:1.1;font-style:italic}p{text-wrap:pretty;color:var(--ink-secondary)}a{color:inherit;transition:color .3s ease ease}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bone)}::-webkit-scrollbar-thumb{background:var(--stroke);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:var(--ink-tertiary)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}@media (min-width: 1024px){.container{padding:0 2rem}}.section{padding:4rem 1rem}@media (min-width: 1024px){.section{padding:4rem 3rem}}.prose-editorial,.blog-content,.ck-content{color:var(--ink-secondary);line-height:1.85;font-size:1.0625rem;font-family:var(--font-sans);font-weight:300;letter-spacing:-.01em}.prose-editorial p,.blog-content p,.ck-content p{margin-bottom:1.6rem;text-wrap:pretty}.prose-editorial h1,.prose-editorial h2,.prose-editorial h3,.prose-editorial h4,.prose-editorial h5,.prose-editorial h6,.blog-content h1,.blog-content h2,.blog-content h3,.blog-content h4,.blog-content h5,.blog-content h6,.ck-content h1,.ck-content h2,.ck-content h3,.ck-content h4,.ck-content h5,.ck-content h6{color:var(--ink);font-family:var(--font-serif);font-weight:400;line-height:1.2;letter-spacing:-.025em;text-wrap:balance}.prose-editorial h1,.blog-content h1,.ck-content h1{font-size:clamp(2rem,4vw,2.75rem);margin-top:3rem;margin-bottom:1.25rem}.prose-editorial h2,.blog-content h2,.ck-content h2{font-size:clamp(1.6rem,3vw,2.15rem);margin-top:3rem;margin-bottom:1rem;padding-top:1.5rem;border-top:1px solid var(--stroke)}.prose-editorial h3,.blog-content h3,.ck-content h3{font-size:clamp(1.3rem,2.2vw,1.6rem);margin-top:2.25rem;margin-bottom:.75rem}.prose-editorial h4,.blog-content h4,.ck-content h4{font-size:1.15rem;font-family:var(--font-sans);font-weight:600;margin-top:1.75rem;margin-bottom:.5rem}.prose-editorial blockquote,.blog-content blockquote,.ck-content blockquote{position:relative;margin:2.5rem 0;padding:1.75rem 2rem;background:var(--bone);border-left:2px solid var(--ink);border-radius:0 10px 10px 0;color:var(--ink);font-family:var(--font-serif);font-size:1.25rem;line-height:1.6;font-style:italic}.prose-editorial blockquote p,.blog-content blockquote p,.ck-content blockquote p{margin-bottom:0;color:var(--ink)}.prose-editorial blockquote:before,.blog-content blockquote:before,.ck-content blockquote:before{content:"“";position:absolute;top:-.5rem;left:.75rem;font-size:3rem;font-family:var(--font-serif);color:var(--ink-tertiary);opacity:.4;line-height:1;pointer-events:none}.prose-editorial pre,.blog-content pre,.ck-content pre{background:#0b0d11!important;border:1px solid var(--stroke);border-radius:10px;padding:1.25rem 1.5rem;overflow-x:auto;margin:2rem 0;box-shadow:inset 0 1px 1px #ffffff0d}.prose-editorial pre code,.blog-content pre code,.ck-content pre code{background:transparent!important;border:0!important;padding:0!important;font-family:var(--font-mono);font-size:.875rem;color:#e2e8f0;line-height:1.7}.prose-editorial code,.blog-content code,.ck-content code{font-family:var(--font-mono);background:var(--bone);color:var(--ink);border:1px solid var(--stroke);padding:.15rem .4rem;border-radius:4px;font-size:.875em}.prose-editorial ul,.prose-editorial ol,.blog-content ul,.blog-content ol,.ck-content ul,.ck-content ol{margin:1.5rem 0 1.75rem 1.5rem;padding:0}.prose-editorial ul li,.prose-editorial ol li,.blog-content ul li,.blog-content ol li,.ck-content ul li,.ck-content ol li{margin-bottom:.6rem;padding-left:.35rem}.prose-editorial ul,.blog-content ul,.ck-content ul{list-style:disc}.prose-editorial ul::marker,.blog-content ul::marker,.ck-content ul::marker{color:var(--ink-tertiary)}.prose-editorial ol,.blog-content ol,.ck-content ol{list-style:decimal}.prose-editorial ol::marker,.blog-content ol::marker,.ck-content ol::marker{font-family:var(--font-mono);font-size:.85em;color:var(--ink-tertiary)}.prose-editorial figure.image,.prose-editorial figure.media,.prose-editorial figure,.blog-content figure.image,.blog-content figure.media,.blog-content figure,.ck-content figure.image,.ck-content figure.media,.ck-content figure{margin:2.5rem 0}.prose-editorial figure.image img,.prose-editorial figure.media img,.prose-editorial figure img,.blog-content figure.image img,.blog-content figure.media img,.blog-content figure img,.ck-content figure.image img,.ck-content figure.media img,.ck-content figure img{width:100%;height:auto;border-radius:10px;border:1px solid var(--stroke);background:var(--bone)}.prose-editorial figure.image figcaption,.prose-editorial figure.media figcaption,.prose-editorial figure figcaption,.blog-content figure.image figcaption,.blog-content figure.media figcaption,.blog-content figure figcaption,.ck-content figure.image figcaption,.ck-content figure.media figcaption,.ck-content figure figcaption{text-align:center;font-family:var(--font-mono);font-size:.75rem;color:var(--ink-tertiary);margin-top:.75rem;letter-spacing:.02em}.prose-editorial .rich-embed__ratio,.blog-content .rich-embed__ratio,.ck-content .rich-embed__ratio{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:10px;border:1px solid var(--stroke)}.prose-editorial .rich-embed__ratio iframe,.blog-content .rich-embed__ratio iframe,.ck-content .rich-embed__ratio iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.prose-editorial table,.blog-content table,.ck-content table{width:100%;margin:2.5rem 0;border-collapse:collapse;font-size:.875rem;background:var(--bone);border-radius:8px;overflow:hidden;border:1px solid var(--stroke)}.prose-editorial table th,.prose-editorial table td,.blog-content table th,.blog-content table td,.ck-content table th,.ck-content table td{padding:.85rem 1.15rem;text-align:left;border-bottom:1px solid var(--stroke)}.prose-editorial table th,.blog-content table th,.ck-content table th{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-tertiary);background:var(--surface);font-weight:500}.prose-editorial table td,.blog-content table td,.ck-content table td{color:var(--ink-secondary);font-family:var(--font-sans)}.prose-editorial table tr:last-child td,.blog-content table tr:last-child td,.ck-content table tr:last-child td{border-bottom:0}.prose-editorial a,.blog-content a,.ck-content a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--stroke);text-underline-offset:4px;transition:text-decoration-color .2s ease,color .2s ease}.prose-editorial a:hover,.blog-content a:hover,.ck-content a:hover{text-decoration-color:var(--ink);color:var(--ink)}.prose-editorial hr,.blog-content hr,.ck-content hr{border:0;height:1px;background:var(--stroke);margin:3rem 0}.article-hero-title,.project-hero-title{font-family:var(--font-serif);font-size:clamp(2.2rem,5vw,3.5rem);font-weight:300;line-height:1.06;letter-spacing:-.035em;color:var(--ink);margin-bottom:1.5rem}.article-lead,.project-lead{font-family:var(--font-serif);font-size:1.25rem;line-height:1.6;font-style:italic;color:var(--ink);margin-bottom:2rem;max-width:65ch}.article-h2,.project-h2{font-family:var(--font-serif);font-size:clamp(1.6rem,3vw,2.25rem);font-weight:400;line-height:1.2;letter-spacing:-.025em;color:var(--ink);margin-top:3.5rem;margin-bottom:1.25rem;padding-top:1.75rem;border-top:1px solid var(--stroke)}.article-h3,.project-h3{font-family:var(--font-serif);font-size:clamp(1.25rem,2vw,1.6rem);font-weight:400;line-height:1.3;color:var(--ink);margin-top:2.25rem;margin-bottom:.85rem}.article-p,.project-p{font-family:var(--font-sans);font-size:1.0625rem;line-height:1.85;color:var(--ink-secondary);margin-bottom:1.6rem;max-width:68ch}.article-pullquote{position:relative;margin:3.25rem 0;padding:2.25rem 2.75rem;background:var(--bone);border-left:3px solid var(--ink);border-radius:0 14px 14px 0;color:var(--ink);font-family:var(--font-serif);font-size:1.375rem;line-height:1.6;font-style:italic;transition:transform .3s cubic-bezier(.16,1,.3,1),border-left-color .3s ease}.article-pullquote:hover{transform:translate(4px)}.article-callout,.project-architecture-callout{margin:2.75rem 0;padding:2rem 2.25rem;background:linear-gradient(180deg,var(--bone),var(--surface));border:1px solid var(--stroke);border-radius:14px;box-shadow:0 4px 24px -10px #00000014;position:relative;transition:border-color .3s ease,box-shadow .3s ease,transform .3s cubic-bezier(.16,1,.3,1)}.article-callout:hover,.project-architecture-callout:hover{border-color:rgba(var(--ink-rgb, 180, 180, 180),.25);box-shadow:0 8px 32px -12px #0000001f;transform:translateY(-2px)}.project-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin:2.75rem 0}.project-metric-card{padding:1.75rem;background:var(--bone);border:1px solid var(--stroke);border-radius:14px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease,border-color .3s ease}.project-metric-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--ink),transparent);opacity:0;transition:opacity .3s ease}.project-metric-card:hover{transform:translateY(-4px);border-color:rgba(var(--ink-rgb, 200, 200, 200),.25);box-shadow:0 12px 30px -10px #00000026}.project-metric-card:hover:before{opacity:1}.project-metric-card:hover .metric-value{transform:scale(1.03)}.project-metric-card .metric-value{font-family:var(--font-mono);font-size:2.25rem;font-weight:700;color:var(--ink);line-height:1.1;letter-spacing:-.03em;transform-origin:left bottom;transition:transform .3s cubic-bezier(.16,1,.3,1)}.project-metric-card .metric-label{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-tertiary);margin-top:.75rem}.project-spec-table,.article-table{width:100%;margin:2.75rem 0;border-collapse:separate;border-spacing:0;border-radius:12px;overflow:hidden;border:1px solid var(--stroke)}.project-spec-table th,.article-table th{background:var(--bone);padding:.95rem 1.35rem;font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-secondary);border-bottom:1px solid var(--stroke);text-align:left}.project-spec-table td,.article-table td{padding:1.1rem 1.35rem;font-family:var(--font-sans);font-size:.9375rem;color:var(--ink);border-bottom:1px solid var(--stroke);background:var(--surface);transition:background-color .2s ease}.project-spec-table tr:hover td,.article-table tr:hover td{background:var(--bone)}.project-spec-table tr:last-child td,.article-table tr:last-child td{border-bottom:none}.article-codeblock,.project-codeblock{background:#0b0d11!important;border:1px solid var(--stroke);border-radius:14px;padding:1.75rem;margin:2.5rem 0;box-shadow:inset 0 1px 2px #ffffff0f,0 8px 30px -10px #0003;transition:border-color .3s ease,box-shadow .3s ease}.article-codeblock:hover,.project-codeblock:hover{border-color:#ffffff26;box-shadow:inset 0 1px 2px #ffffff14,0 12px 36px -10px #0000004d}.article-figure,.project-figure{margin:3.25rem 0;position:relative;overflow:hidden;border-radius:14px}.article-figure img,.project-figure img{width:100%;height:auto;border-radius:14px;border:1px solid var(--stroke);background:var(--bone);transition:transform .4s cubic-bezier(.16,1,.3,1)}.article-figure:hover img,.project-figure:hover img{transform:scale(1.02)}.article-figure figcaption,.project-figure figcaption{text-align:center;font-family:var(--font-mono);font-size:.75rem;color:var(--ink-tertiary);margin-top:.85rem;letter-spacing:.05em;transition:color .2s ease}.article-figure:hover figcaption,.project-figure:hover figcaption{color:var(--ink-secondary)}.article-list{list-style:none;padding-left:0;margin:1.75rem 0}.article-list li{position:relative;padding-left:1.75rem;margin-bottom:.75rem;color:var(--ink-secondary);font-family:var(--font-sans);line-height:1.75}.article-list li:before{content:"";position:absolute;left:0;top:.65em;width:6px;height:6px;border-radius:50%;background:var(--pastel-blue-text);box-shadow:0 0 8px var(--pastel-blue)}.article-grid-12,.project-grid-12{display:grid;grid-template-columns:repeat(12,1fr);gap:1.5rem;margin:2.5rem 0}@media (max-width: 768px){.article-grid-12,.project-grid-12{grid-template-columns:1fr;gap:1rem}}.article-col-7,.project-col-7{grid-column:span 7}@media (max-width: 768px){.article-col-7,.project-col-7{grid-column:span 12}}.article-col-5,.project-col-5{grid-column:span 5}@media (max-width: 768px){.article-col-5,.project-col-5{grid-column:span 12}}.article-col-6,.project-col-6{grid-column:span 6}@media (max-width: 768px){.article-col-6,.project-col-6{grid-column:span 12}}.article-col-4,.project-col-4{grid-column:span 4}@media (max-width: 768px){.article-col-4,.project-col-4{grid-column:span 12}}.article-col-8,.project-col-8{grid-column:span 8}@media (max-width: 768px){.article-col-8,.project-col-8{grid-column:span 12}}.article-col-12,.project-col-12{grid-column:span 12}.article-badge,.project-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:9999px;font-family:var(--font-mono);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;background:var(--pastel-blue);color:var(--pastel-blue-text);border:1px solid rgba(var(--ink-rgb),.1);transition:all .2s ease}.article-badge.article-badge--green,.article-badge.project-badge--green,.project-badge.article-badge--green,.project-badge.project-badge--green{background:var(--pastel-green);color:var(--pastel-green-text);border-color:#4ade8033}.article-badge.article-badge--amber,.article-badge.project-badge--amber,.project-badge.article-badge--amber,.project-badge.project-badge--amber{background:var(--pastel-amber);color:var(--pastel-amber-text);border-color:#fbbf2433}.article-badge.article-badge--red,.article-badge.project-badge--red,.project-badge.article-badge--red,.project-badge.project-badge--red{background:var(--pastel-red);color:var(--pastel-red-text);border-color:#f8717133}.section-title{font-size:1.875rem;font-weight:800;color:var(--ink);margin-bottom:1rem}@media (min-width: 768px){.section-title{font-size:2.25rem}}.section-title .highlight{color:var(--ink);font-style:italic}.section-subtitle{font-size:1.125rem;color:var(--ink-secondary);max-width:600px;line-height:1.8}.skill-badge{display:inline-flex;align-items:center;gap:.25rem;background:color-mix(in srgb,var(--theme-primary) 12%,transparent);border:1px solid color-mix(in srgb,var(--theme-primary) 24%,transparent);color:var(--theme-text-muted);padding:.25rem 1rem;border-radius:9999px;font-size:.875rem;font-weight:500;transition:all .3s ease ease}.skill-badge:hover{background:color-mix(in srgb,var(--theme-primary) 20%,transparent);color:#fff;border-color:color-mix(in srgb,var(--theme-primary) 40%,transparent)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--theme-text-muted);margin-bottom:.5rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.5rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:.75rem;color:#fff;font-size:.875rem;transition:border-color .3s ease ease;font-family:inherit}.form-group input::-moz-placeholder,.form-group textarea::-moz-placeholder,.form-group select::-moz-placeholder{color:#64748b}.form-group input::placeholder,.form-group textarea::placeholder,.form-group select::placeholder{color:#64748b}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--theme-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-primary) 25%,transparent)}.form-group textarea{resize:vertical;min-height:120px}.form-group select option{background:#0f172a;color:#e2e8f0}.admin-select{background:#ffffff0f!important;color:#f8fafc!important;border:1px solid rgba(255,255,255,.14)!important}.admin-select option{background:#0f172a;color:#f8fafc}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--theme-bg-from) 80%,transparent);display:flex;align-items:center;justify-content:center;z-index:300;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.page-enter-active,.page-leave-active{transition:opacity .3s ease,transform .3s ease}.page-enter-from{opacity:0;transform:translateY(10px)}.page-leave-to{opacity:0;transform:translateY(-10px)}.admin-shell{position:relative;--admin-primary: #0ea5a4;--admin-secondary: #f97316;--admin-surface: #0b1220;--admin-text-soft: #a9b8d3;font-family:Manrope,Segoe UI,sans-serif}.admin-shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 8% 12%,rgba(249,115,22,.16),transparent 30%),radial-gradient(circle at 92% 18%,rgba(14,165,164,.2),transparent 34%),radial-gradient(circle at 50% 100%,rgba(56,189,248,.12),transparent 40%);pointer-events:none}.admin-shell .section-title .highlight{background:linear-gradient(120deg,var(--theme-heading-to),var(--theme-heading-from));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.admin-shell>.container{position:relative;z-index:1}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2rem;padding:1.5rem;border-radius:1.5rem;border:1px solid rgba(148,163,184,.2);background:linear-gradient(125deg,color-mix(in srgb,var(--theme-secondary) 18%,transparent),#0b12208c 55%,color-mix(in srgb,var(--theme-accent) 16%,transparent));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.admin-kicker{margin:0;color:color-mix(in srgb,var(--theme-accent) 88%,white);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:700}.admin-panel{border-radius:1.5rem;border:1px solid rgba(148,163,184,.18);background:linear-gradient(180deg,#0f172ad6,#0f172a9e);box-shadow:0 24px 40px -30px #000000bf}.admin-shell button:focus-visible,.admin-shell a:focus-visible,.admin-shell input:focus-visible,.admin-shell textarea:focus-visible,.admin-shell select:focus-visible{outline:2px solid color-mix(in srgb,var(--theme-secondary) 72%,white);outline-offset:2px}.admin-table{width:100%}.admin-table thead tr{border-bottom:1px solid rgba(255,255,255,.12)}.admin-table th{text-align:left;padding:.85rem 1rem;font-size:.875rem;font-weight:600;color:var(--admin-text-soft);text-transform:uppercase;letter-spacing:.06em}.admin-table td{padding:1rem;border-bottom:1px solid rgba(255,255,255,.06)}.admin-table tbody tr{transition:background-color .15s ease,transform .15s ease,box-shadow .15s ease;will-change:transform}.admin-table tbody tr:hover{background:color-mix(in srgb,var(--theme-secondary) 10%,transparent);transform:translateY(-1px);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--theme-secondary) 28%,transparent)}.admin-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;display:flex;align-items:flex-start;justify-content:center;padding:clamp(1rem,3vw,2.5rem);background:#020617c7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.admin-modal{width:min(100%,780px);margin:auto;max-height:calc(100vh - 3.5rem);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;border-radius:1.5rem;border:1px solid rgba(148,163,184,.26);background:radial-gradient(circle at 10% 0%,rgba(249,115,22,.16),transparent 28%),linear-gradient(180deg,#111827,#0b1220);padding:clamp(1.25rem,2.5vw,2rem);box-shadow:0 34px 70px -38px #000000e6}.admin-modal--confirm{width:min(100%,460px);max-height:90vh}.admin-modal__title{margin:0 0 .4rem;font-size:1.5rem;color:#fff}.admin-modal__desc{margin:0;color:#e2e8f0}.admin-modal__actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.5rem}.admin-fade-scale-enter-active,.admin-fade-scale-leave-active{transition:opacity .22s ease,transform .22s ease}.admin-fade-scale-enter-from,.admin-fade-scale-leave-to{opacity:0;transform:scale(.96) translateY(8px)}.kinetic-word-mask{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.15em;margin-bottom:-.15em}.kinetic-word{display:inline-block;will-change:transform,opacity}.perspective-1000{perspective:1000px}.preserve-3d{transform-style:preserve-3d}@keyframes floatAmbient{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-8px,0)}}@keyframes floatSlow{0%,to{transform:translateZ(0) rotate(0)}50%{transform:translate3d(0,-12px,0) rotate(1.5deg)}}.animate-float{animation:floatAmbient 5s ease-in-out infinite;will-change:transform}.animate-float-slow{animation:floatSlow 7s ease-in-out infinite;will-change:transform}@keyframes shimmerWave{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-shimmer{background:linear-gradient(90deg,var(--bone) 0%,var(--surface) 50%,var(--bone) 100%);background-size:200% 100%;animation:shimmerWave 1.8s ease-in-out infinite;border-radius:.5rem;will-change:background-position}@media (prefers-reduced-motion: reduce){.skeleton-shimmer{animation:none!important;background:var(--bone)!important}}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-translate-y-1:hover{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-translate-y-px:hover{--tw-translate-y: -1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-\[1\.01\]:hover{--tw-scale-x: 1.01;--tw-scale-y: 1.01;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-\[1\.03\]:hover{--tw-scale-x: 1.03;--tw-scale-y: 1.03;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-blue-400\/70:hover{border-color:#60a5fab3}.hover\:border-blue-500\/30:hover{border-color:#3b82f64d}.hover\:border-stroke:hover{border-color:var(--stroke)}.hover\:border-white\/30:hover{border-color:#ffffff4d}.hover\:bg-amber-500\/20:hover{background-color:#f59e0b33}.hover\:bg-bone:hover{background-color:var(--bone)}.hover\:bg-indigo-600\/30:hover{background-color:#4f46e54d}.hover\:bg-purple-500\/20:hover{background-color:#a855f733}.hover\:bg-rose-500\/20:hover{background-color:#f43f5e33}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-white\/20:hover{background-color:#fff3}.hover\:bg-white\/5:hover{background-color:#ffffff0d}.hover\:text-ink:hover{color:var(--ink)}.hover\:text-ink-secondary:hover{color:var(--ink-secondary)}.hover\:text-pastel-red-text:hover{color:var(--pastel-red-text)}.hover\:text-slate-200:hover{--tw-text-opacity: 1;color:rgb(226 232 240 / 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\:grayscale-0:hover{--tw-grayscale: grayscale(0);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)}.focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.focus\:fixed:focus{position:fixed}.focus\:left-4:focus{left:1rem}.focus\:top-4:focus{top:1rem}.focus\:z-\[500\]:focus{z-index:500}.focus\:rounded-md:focus{border-radius:.375rem}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.focus\:bg-ink:focus{background-color:var(--ink)}.focus\:px-4:focus{padding-left:1rem;padding-right:1rem}.focus\:py-2\.5:focus{padding-top:.625rem;padding-bottom:.625rem}.focus\:font-mono:focus{font-family:DM Mono,SF Mono,JetBrains Mono,ui-monospace,monospace}.focus\:font-medium:focus{font-weight:500}.focus\:text-surface:focus{color:var(--surface)}.focus\:shadow-island:focus{--tw-shadow: 0 12px 36px 0 rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.08);--tw-shadow-colored: 0 12px 36px 0 var(--tw-shadow-color), 0 0 0 1px 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\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-0: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(0px + 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)}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.92\]:active{--tw-scale-x: .92;--tw-scale-y: .92;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.98\]:active{--tw-scale-x: .98;--tw-scale-y: .98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.99\]:active{--tw-scale-x: .99;--tw-scale-y: .99;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:-translate-x-0\.5{--tw-translate-x: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:-translate-x-1{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:-translate-y-0\.5{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:-translate-y-px{--tw-translate-y: -1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-0\.5{--tw-translate-x: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-105{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-125{--tw-scale-x: 1.25;--tw-scale-y: 1.25;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-\[1\.03\]{--tw-scale-x: 1.03;--tw-scale-y: 1.03;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:border-ink{border-color:var(--ink)}.group:hover .group-hover\:bg-ink{background-color:var(--ink)}.group:hover .group-hover\:bg-ink-tertiary{background-color:var(--ink-tertiary)}.group:hover .group-hover\:text-ink{color:var(--ink)}.group:hover .group-hover\:text-surface{color:var(--surface)}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:grayscale-0{--tw-grayscale: grayscale(0);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)}.group.router-link-active .group-\[\.router-link-active\]\:scale-x-100{--tw-scale-x: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group.router-link-active .group-\[\.router-link-active\]\:opacity-100{opacity:1}@media (min-width: 640px){.sm\:right-2{right:.5rem}.sm\:top-2{top:.5rem}.sm\:ml-0{margin-left:0}.sm\:block{display:block}.sm\:inline-block{display:inline-block}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:inline-flex{display:inline-flex}.sm\:table-cell{display:table-cell}.sm\:hidden{display:none}.sm\:h-56{height:14rem}.sm\:h-60{height:15rem}.sm\:h-72{height:18rem}.sm\:h-80{height:20rem}.sm\:h-9{height:2.25rem}.sm\:w-80{width:20rem}.sm\:w-9{width:2.25rem}.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\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:items-end{align-items:flex-end}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-3{gap:.75rem}.sm\:gap-6{gap:1.5rem}.sm\:gap-8{gap:2rem}.sm\:space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem * var(--tw-space-y-reverse))}.sm\:space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(8rem * var(--tw-space-y-reverse))}.sm\:self-auto{align-self:auto}.sm\:p-10{padding:2.5rem}.sm\:p-12{padding:3rem}.sm\:p-14{padding:3.5rem}.sm\:p-16{padding:4rem}.sm\:p-3{padding:.75rem}.sm\:p-5{padding:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:p-7{padding:1.75rem}.sm\:p-8{padding:2rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\:px-3{padding-left:.75rem;padding-right:.75rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-7{padding-left:1.75rem;padding-right:1.75rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:py-12{padding-top:3rem;padding-bottom:3rem}.sm\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.sm\:pt-20{padding-top:5rem}.sm\:pt-24{padding-top:6rem}.sm\:pt-6{padding-top:1.5rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-6xl{font-size:3.75rem;line-height:1}.sm\:text-9xl{font-size:8rem;line-height:1}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width: 768px){.md\:col-span-2{grid-column:span 2 / span 2}.md\:col-span-3{grid-column:span 3 / span 3}.md\:col-span-4{grid-column:span 4 / span 4}.md\:col-span-5{grid-column:span 5 / span 5}.md\:col-span-7{grid-column:span 7 / span 7}.md\:col-span-8{grid-column:span 8 / span 8}.md\:inline{display:inline}.md\:flex{display:flex}.md\:table-cell{display:table-cell}.md\:hidden{display:none}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.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\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:col-span-12{grid-column:span 12 / span 12}.lg\:col-span-4{grid-column:span 4 / span 4}.lg\:col-span-5{grid-column:span 5 / span 5}.lg\:col-span-7{grid-column:span 7 / span 7}.lg\:col-span-8{grid-column:span 8 / span 8}.lg\:max-w-5xl{max-width:64rem}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.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-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:gap-12{gap:3rem}.lg\:gap-2{gap:.5rem}.lg\:p-14{padding:3.5rem}.lg\:px-12{padding-left:3rem;padding-right:3rem}.lg\:text-6xl{font-size:3.75rem;line-height:1}.lg\:text-7xl{font-size:4.5rem;line-height:1}}@media (min-width: 1280px){.xl\:sticky{position:sticky}.xl\:top-24{top:6rem}.xl\:col-span-4{grid-column:span 4 / span 4}.xl\:col-span-5{grid-column:span 5 / span 5}.xl\:col-span-6{grid-column:span 6 / span 6}.xl\:col-span-7{grid-column:span 7 / span 7}.xl\:col-span-8{grid-column:span 8 / span 8}.xl\:table-cell{display:table-cell}.xl\:grid{display:grid}.xl\:max-w-6xl{max-width:72rem}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-\[280px_1fr\]{grid-template-columns:280px 1fr}.xl\:grid-cols-\[300px_1fr\]{grid-template-columns:300px 1fr}.xl\:items-start{align-items:flex-start}.xl\:gap-8{gap:2rem}.xl\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.xl\:self-start{align-self:flex-start}}
