*,:before,:after,::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:#3b82f680;--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:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--font-sans);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono);font-feature-settings:normal;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}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family: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:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-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{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}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{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{color-scheme:light;--background:0 0% 100%;--foreground:0 0% 0%;--card:0 0% 100%;--card-foreground:0 0% 0%;--popover:0 0% 100%;--popover-foreground:0 0% 0%;--primary:0 0% 0%;--primary-foreground:0 0% 100%;--secondary:0 0% 96%;--secondary-foreground:0 0% 0%;--muted:0 0% 40%;--muted-foreground:0 0% 40%;--accent:0 0% 0%;--accent-foreground:0 0% 100%;--destructive:0 84% 60%;--destructive-foreground:0 0% 100%;--border:0 0% 0%;--input:0 0% 0%;--ring:0 0% 0%;--radius:.875rem;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:.875rem;--radius-xl:1rem;--grid:0 0% 0% / .12;--selection-bg:0 0% 0%;--selection-fg:0 0% 100%}.dark{color-scheme:dark;--background:0 0% 4%;--foreground:0 0% 100%;--card:0 0% 4%;--card-foreground:0 0% 100%;--popover:0 0% 4%;--popover-foreground:0 0% 100%;--primary:0 0% 100%;--primary-foreground:0 0% 0%;--secondary:0 0% 12%;--secondary-foreground:0 0% 100%;--muted:0 0% 53%;--muted-foreground:0 0% 53%;--accent:0 0% 100%;--accent-foreground:0 0% 0%;--destructive:0 62% 30%;--destructive-foreground:0 0% 100%;--border:0 0% 100%;--input:0 0% 100%;--ring:0 0% 100%;--grid:0 0% 100% / .1;--selection-bg:0 0% 100%;--selection-fg:0 0% 0%}*{border-color:hsl(var(--border));-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;transition:background-color .3s,color .3s,border-color .3s}html{font-size:16px;overflow-y:scroll}body{background-color:hsl(var(--background));min-height:100vh;font-family:var(--font-mono);color:hsl(var(--foreground));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.625;position:relative;overflow-x:clip}body:before{content:"";pointer-events:none;background-image:radial-gradient(circle, hsl(var(--grid)) 1px, transparent 1px);z-index:-2;background-size:24px 24px;position:fixed;inset:0}::selection{background:hsl(var(--selection-bg));color:hsl(var(--selection-fg))}h1{letter-spacing:-.025em;font-weight:700}h2,h3{letter-spacing:-.025em;font-weight:600}a{color:inherit;text-decoration:none}section{border-bottom:1px solid hsl(var(--grid));padding:32px 0}@media (width>=640px){section{padding:48px 0}}section:last-of-type{border-bottom:none}:focus-visible{outline:2px solid hsl(var(--foreground));outline-offset:2px}.container{width:100%}@media (width>=640px){.container{max-width:640px}}@media (width>=768px){.container{max-width:768px}}@media (width>=1024px){.container{max-width:1024px}}@media (width>=1280px){.container{max-width:1280px}}@media (width>=1536px){.container{max-width:1536px}}.reading{font-family:var(--font-sans)}.reading :where(code,kbd,samp,pre){font-family:var(--font-code)}.site-shell,.site-nav,.global-header-actions{z-index:1;position:relative}.spotlight-overlay{z-index:0;pointer-events:none;contain:strict;backface-visibility:hidden;--spotlight-x:50vw;--spotlight-y:30vh;--spotlight-tail-x:0px;--spotlight-tail-y:0px;--spotlight-soft-radius:180px;--spotlight-core-radius:96px;--spotlight-soft-opacity:0;--spotlight-core-opacity:0;position:fixed;inset:0;overflow:hidden;transform:translateZ(0)}.spotlight-overlay__grid{pointer-events:none;opacity:0;will-change:opacity, mask-image, -webkit-mask-image;contain:paint;background-image:radial-gradient(circle, hsl(var(--foreground) / .78) 1.15px, transparent 1.15px);background-position:0 0;background-size:24px 24px;position:absolute;inset:0}.spotlight-overlay__grid--soft{opacity:var(--spotlight-soft-opacity);filter:blur(.4px);mask-image:radial-gradient(ellipse calc(var(--spotlight-soft-radius) + 32px) calc(var(--spotlight-soft-radius) * .62) at calc(var(--spotlight-x) - var(--spotlight-tail-x) * .7) calc(var(--spotlight-y) - var(--spotlight-tail-y) * .7), #000000b8 0%, #00000061 38%, #00000014 68%, transparent 100%);-webkit-mask-image:radial-gradient(ellipse calc(var(--spotlight-soft-radius) + 32px) calc(var(--spotlight-soft-radius) * .62) at calc(var(--spotlight-x) - var(--spotlight-tail-x) * .7) calc(var(--spotlight-y) - var(--spotlight-tail-y) * .7), #000000b8 0%, #00000061 38%, #00000014 68%, transparent 100%)}.spotlight-overlay__grid--core{opacity:var(--spotlight-core-opacity);mask-image:radial-gradient(ellipse var(--spotlight-core-radius) calc(var(--spotlight-core-radius) * .72) at var(--spotlight-x) var(--spotlight-y), #000 0%, #000000e0 20%, #00000047 52%, transparent 100%);-webkit-mask-image:radial-gradient(ellipse var(--spotlight-core-radius) calc(var(--spotlight-core-radius) * .72) at var(--spotlight-x) var(--spotlight-y), #000 0%, #000000e0 20%, #00000047 52%, transparent 100%)}.page-container{max-width:720px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}@media (width>=640px){.page-container{padding-left:1.5rem;padding-right:1.5rem}}.mood-post-content .mood-comment-quote{border:1px solid hsl(var(--foreground) / .08);background:linear-gradient(180deg, hsl(var(--foreground) / .028) 0%, hsl(var(--foreground) / .048) 100%);width:fit-content;max-width:min(32rem,100%);color:hsl(var(--foreground) / .78);box-shadow:inset 0 1px 0 hsl(var(--background) / .72);border-radius:14px;gap:6px;padding:12px 14px;transition:none}.mood-comment-content .mood-comment-quote{background:hsl(var(--foreground) / .045);width:100%;color:hsl(var(--foreground) / .74);box-shadow:none;border-radius:10px;gap:3px;padding:8px 12px}.mood-post-content a.mood-item-quote[href],.mood-post-content a.mood-item-quote[href]:hover,.mood-post-content a.mood-item-quote[href]:focus-visible{border:1px solid hsl(var(--foreground) / .08);background:linear-gradient(180deg, hsl(var(--foreground) / .028) 0%, hsl(var(--foreground) / .048) 100%);color:hsl(var(--foreground) / .78);box-shadow:inset 0 1px 0 hsl(var(--background) / .72);transition:none}.mood-comment-content a.mood-comment-quote:hover{background:hsl(var(--foreground) / .06);color:hsl(var(--foreground) / .78);box-shadow:none}.mood-post-content .mood-comment-quote .mood-item-quote-meta{color:hsl(var(--foreground) / .76);gap:0;margin-bottom:2px;font-size:12px}.mood-comment-content .mood-comment-quote .mood-item-quote-meta{color:hsl(var(--foreground) / .8);gap:0;font-size:12px}.mood-post-content .mood-comment-quote .mood-item-quote-author{letter-spacing:0;color:hsl(var(--foreground) / .82);font-size:13px;font-weight:600}.mood-comment-content .mood-comment-quote .mood-item-quote-author{letter-spacing:0;color:hsl(var(--foreground) / .84);font-size:13px;font-weight:600}.mood-post-content .mood-comment-quote .mood-item-quote-text{max-width:100%;color:hsl(var(--foreground) / .64);white-space:pre-line;text-overflow:clip;-webkit-line-clamp:unset;font-size:13px;line-height:1.5;display:block;overflow:visible}.mood-comment-content .mood-comment-quote .mood-item-quote-text{max-width:100%;color:hsl(var(--foreground) / .62);white-space:nowrap;text-overflow:ellipsis;-webkit-line-clamp:unset;font-size:12px;line-height:1.3;display:block;overflow:hidden}.mood-popover-comment-content .mood-comment-quote{background:hsl(var(--foreground) / .04);width:100%;color:hsl(var(--foreground) / .72);box-shadow:none;border-radius:8px;gap:2px;padding:6px 9px}.mood-popover-comment-content a.mood-comment-quote:hover{background:hsl(var(--foreground) / .055);color:hsl(var(--foreground) / .76);box-shadow:none}.mood-popover-comment-content .mood-comment-quote .mood-item-quote-meta{color:hsl(var(--foreground) / .78);gap:0;font-size:10px}.mood-popover-comment-content .mood-comment-quote .mood-item-quote-author{letter-spacing:0;color:hsl(var(--foreground) / .82);font-size:11px;font-weight:600}.mood-popover-comment-content .mood-comment-quote .mood-item-quote-text{max-width:100%;color:hsl(var(--foreground) / .6);white-space:nowrap;text-overflow:ellipsis;-webkit-line-clamp:unset;font-size:10px;line-height:1.3;display:block;overflow:hidden}.mood-reaction{font-family:var(--font-mono);background:hsl(var(--foreground) / .04);color:hsl(var(--muted-foreground));border:1px solid hsl(var(--foreground) / .08);border-radius:999px;align-items:center;gap:4px;padding:3px 9px 3px 7px;font-size:12px;display:inline-flex}.mood-reaction--paid{color:#ad8a1f;background:#ffbf0014}.mood-reaction-emoji{justify-content:center;align-items:center;width:1.15em;height:1.15em;font-size:14px;line-height:1;display:inline-flex;overflow:hidden}.mood-reaction-emoji img{width:1em;height:1em;display:block}.mood-reaction-emoji .tg-emoji{vertical-align:-.15em;justify-content:center;align-items:center;width:100%;height:100%;display:inline-flex;overflow:hidden}.mood-reaction-emoji .tg-emoji img{width:100%;height:100%;display:block}.mood-reaction-emoji .tg-emoji[data-emoji-animated=true] img{display:none}.mood-reaction-emoji .tg-emoji-anim,.mood-reaction-emoji .tg-emoji-anim svg{width:100%;height:100%;display:block}.mood-reaction-count{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1, "zero" 1;letter-spacing:.02em;opacity:.85;font-size:11px;font-weight:600}.section-label{text-transform:uppercase;letter-spacing:.2em;color:hsl(var(--muted-foreground));margin-bottom:20px;font-size:11px;font-weight:300;display:inline-block}.\!item,.item{padding-top:1rem;padding-bottom:1rem;transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.15s;display:block}.\!item{border-bottom:1px dashed hsl(var(--muted))!important}.item{border-bottom:1px dashed hsl(var(--muted))}.\!item:last-child{border-bottom:none!important}.item:last-child{border-bottom:none}.\!item:hover{padding-left:8px!important}.item:hover{padding-left:8px}.\!link{align-items:center!important;gap:4px!important;transition:all .15s!important;display:inline-flex!important}.link{align-items:center;gap:4px;transition:all .15s;display:inline-flex}.\!link:after{content:"→"!important;transition:transform .15s!important}.link:after{content:"→";transition:transform .15s}.\!link:hover{color:hsl(var(--foreground))!important}.link:hover{color:hsl(var(--foreground))}.\!link:hover:after{transform:translate(4px)!important}.link:hover:after{transform:translate(4px)}.contact-link{color:hsl(var(--muted-foreground));align-items:center;gap:.5rem;font-size:13px;transition:color .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.contact-link:hover{color:hsl(var(--foreground));transform:translateY(-1px)}.contact-link:hover span{text-underline-offset:3px;text-decoration:underline}.tech-stack{color:hsl(var(--muted-foreground) / .5);letter-spacing:.02em;font-size:12px}.\!card{border-radius:var(--radius-lg)!important}.card,.panel,.frame,.shell,.surface{border-radius:var(--radius-lg)}.\!panel,.\!frame{border-radius:var(--radius-lg)!important}.site-nav{z-index:100;isolation:isolate;--site-nav-brand-gap:.375rem;--site-nav-mobile-top:calc(env(safe-area-inset-top,0px) + var(--visual-viewport-top,0px));--site-nav-mobile-height:3.25rem;--site-nav-mobile-padding:0 4rem 0 1rem;--site-nav-mobile-gap:clamp(.95rem, 3.8vw, 1.25rem);--site-nav-mobile-brand-min-width:calc(var(--site-nav-mobile-logo-height) + var(--site-nav-brand-gap) + var(--site-nav-mobile-wordmark-width));--site-nav-mobile-logo-width:40px;--site-nav-mobile-logo-height:1.35rem;--site-nav-mobile-wordmark-width:5.2rem;--site-nav-mobile-wordmark-size:1.08rem;--site-nav-mobile-action-size:2.75rem;align-items:center;gap:2px;height:32px;display:flex;position:fixed;top:16px;left:16px}.nav-links{display:contents}@media (width>=900px){.site-nav{gap:3px;height:34px;top:24px;left:24px}}@media (width<=899px){.site-nav:not(.site-nav--mobile-visible){display:none}}.site-brand{width:28px;height:28px;color:hsl(var(--foreground));border-radius:6px;justify-content:center;align-items:center;margin-right:4px;transition:background .15s,transform .2s;display:inline-flex}.site-brand:hover{background:hsl(var(--foreground) / .06)}.site-brand:active{transform:scale(.94)}.site-brand svg{display:block}.nav-separator--brand{margin-right:2px}.site-nav.is-vertical .site-brand,.site-nav.is-vertical .nav-separator--brand{display:none}.nav-link{letter-spacing:.01em;color:hsl(var(--muted-foreground) / .6);white-space:nowrap;border-radius:6px;padding:4px 6px;font-size:11px;font-weight:450;text-decoration:none;transition:color .2s,background .15s}.nav-link:hover{color:hsl(var(--foreground));background:hsl(var(--foreground) / .06)}.nav-link.is-active{color:hsl(var(--foreground))}.nav-separator{color:hsl(var(--muted-foreground) / .2);user-select:none;font-size:9px;transition:opacity .2s}.site-nav.is-vertical{flex-direction:column;align-items:flex-start;gap:1px;height:auto;padding:10px 0}.site-nav.is-vertical .nav-separator{opacity:0;pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}.nav-char{display:inline-block}.nav-active-indicator{background:hsl(var(--foreground));opacity:0;transform-origin:top;pointer-events:none;width:2px;height:20px;box-shadow:0 0 8px hsl(var(--foreground) / .15), 0 0 20px hsl(var(--foreground) / .06);border-radius:1px;position:absolute;top:0;left:0}.site-nav:not(.is-vertical) .nav-active-indicator{visibility:hidden;opacity:0!important}.site-nav.is-vertical .nav-active-indicator{visibility:visible}.nav-char.is-cursor:after{content:"";background:hsl(var(--foreground));vertical-align:text-bottom;width:2px;height:.9em;box-shadow:0 0 6px hsl(var(--foreground) / .25);margin-left:1px;animation:.6s step-end infinite blink;display:inline-block}.nav-index{font-variant-numeric:tabular-nums;color:hsl(var(--muted-foreground) / .3);margin-right:6px;font-size:9px;transition:color .2s;display:inline-block}.site-nav:not(.is-vertical) .nav-index{display:none}.nav-link.is-active .nav-index{color:hsl(var(--muted-foreground) / .5)}.site-nav.is-vertical .nav-link:hover{background:hsl(var(--foreground) / .06);text-shadow:none}@media (prefers-reduced-motion:reduce){.nav-char,.nav-active-indicator{transition:none!important;animation:none!important}}@media (width>=900px){.nav-link{border-radius:7px;padding:5px 8px;font-size:12px}}.site-nav--home{--peek-shift-x:0px;--peek-shift-y:0px;flex-direction:column;align-items:flex-start;gap:6px;height:auto;padding:0}@media (width>=900px){.site-nav--home{opacity:0;pointer-events:none;transition:opacity .22s,transform .22s steps(3,end);top:38vh;left:max(32px,50vw - 520px);transform:translateY(10px)}.site-nav--home.is-content-nav-visible{opacity:1;pointer-events:auto;transform:translateY(0)}}.site-nav--home .site-brand{background:0 0;border-radius:0;justify-content:flex-start;align-items:center;gap:0;width:28px;height:28px;margin:0 0 7px;transition:opacity .16s,transform .16s;display:inline-flex}.site-nav--home .site-brand:hover{opacity:.72;background:0 0}.site-nav--home .site-brand-logo{transform:translate(var(--peek-shift-x), var(--peek-shift-y));will-change:transform;display:inline-flex}.site-nav--home .site-brand-logo svg{display:block}.site-nav--home .site-brand-text,.site-nav--home .nav-separator--brand{display:none}.site-nav--home .nav-link{color:hsl(var(--muted-foreground) / .72);text-shadow:none;border-radius:0;padding:3px 0 3px 12px;position:relative}.site-nav--home .nav-link:after{content:"";background:hsl(var(--foreground));transform-origin:0;opacity:0;height:1px;transition:transform .28s cubic-bezier(.2,.7,.2,1),opacity .18s;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.site-nav--home .nav-link:hover{color:hsl(var(--foreground));background:0 0}.site-nav--home .nav-link:hover:after{opacity:.32;transform:scaleX(.5)}.site-nav--home .nav-link.is-active:after{opacity:1;transform:scaleX(1)}.site-nav--home.is-vertical{gap:3px;padding:0}.site-nav--home.is-vertical .site-brand{width:40px;height:28px;color:hsl(var(--foreground));transform:translate(var(--peek-shift-x), var(--peek-shift-y));z-index:2;margin:0 0 8px;transition:opacity .16s;display:inline-flex}.site-nav--home.is-vertical .site-brand:hover{opacity:1}.site-nav--home.is-vertical .site-brand-logo{animation:2.4s steps(2,end) infinite peek-sidebar-watch}.site-nav--home.is-vertical.is-peek-scanning .site-brand-logo{animation:.32s steps(3,end) infinite peek-sidebar-scan}.site-nav--home.is-vertical.is-peek-locking .site-brand-logo{animation:.46s steps(4,end) peek-sidebar-lock}.site-nav--home.is-vertical[data-scroll-dir=up] .site-brand-logo{--peek-scroll-tilt:-2px}.site-nav--home.is-vertical[data-scroll-dir=down] .site-brand-logo{--peek-scroll-tilt:2px}.site-nav--home.is-vertical .nav-link{min-width:96px;color:hsl(var(--muted-foreground) / .54);padding:4px 0 4px 18px;transition:color .2s,transform .26s cubic-bezier(.2,.7,.2,1),opacity .18s}.site-nav--home.is-vertical .nav-link:before{content:"›";color:hsl(var(--foreground));opacity:0;pointer-events:none;font-family:inherit;font-size:.78rem;font-weight:700;line-height:1;transition:transform .26s cubic-bezier(.2,.7,.2,1),opacity .18s;position:absolute;top:50%;left:2px;transform:translate(-4px,-52%)}.site-nav--home.is-vertical .nav-link:after{display:none}.site-nav--home.is-vertical .nav-link:hover{color:hsl(var(--foreground) / .82);background:0 0;transform:translate(2px)}.site-nav--home.is-vertical .nav-link:hover:before{opacity:.38;transform:translateY(-52%)}.site-nav--home.is-vertical .nav-link.is-active{color:hsl(var(--foreground));background:0 0;transform:translate(2px)}.site-nav--home.is-vertical .nav-link.is-active:before{opacity:1;transform:translateY(-52%)}.site-nav--home.is-vertical .nav-link.is-active .nav-index{color:hsl(var(--muted-foreground) / .6)}.site-nav--home.is-vertical .nav-active-indicator{display:none}.site-nav--home .nav-separator,.site-nav--home.is-vertical .nav-separator{opacity:0;pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}@media (width<=899px){.site-nav--home:not(.site-nav--mobile-visible){display:flex}.site-nav--home{top:var(--site-nav-mobile-top);z-index:60;height:var(--site-nav-mobile-height);padding:var(--site-nav-mobile-padding);align-items:center;gap:var(--site-nav-mobile-gap);border-bottom:1px solid hsl(var(--foreground) / .08);background:hsl(var(--background) / .58);-webkit-backdrop-filter:blur(14px)saturate(140%);backface-visibility:hidden;flex-direction:row;left:0;right:0;transform:translateZ(0)}.site-nav--home:before{content:"";left:0;right:0;top:calc(env(safe-area-inset-top,0px) * -1);height:env(safe-area-inset-top,0px);background:hsl(var(--background) / .58);-webkit-backdrop-filter:blur(14px)saturate(140%);pointer-events:none;backface-visibility:hidden;position:absolute;transform:translateZ(0)}.site-nav--home .site-brand,.site-nav--home.is-vertical .site-brand{width:auto;min-width:var(--site-nav-mobile-brand-min-width);min-height:var(--site-nav-mobile-action-size);gap:var(--site-nav-brand-gap);margin:0;padding-right:0;transition:min-width .32s;overflow:hidden}.site-nav--home .site-brand-logo{z-index:2;width:var(--site-nav-mobile-logo-width);height:var(--site-nav-mobile-logo-height);flex:none;line-height:0;position:relative;transform:translate(0)}.site-nav--home .site-brand-logo>span,.site-nav--home .site-brand-logo svg{width:auto!important;height:var(--site-nav-mobile-logo-height)!important}.site-nav--home .site-brand-text{width:var(--site-nav-mobile-wordmark-width);flex:0 0 var(--site-nav-mobile-wordmark-width);max-width:var(--site-nav-mobile-wordmark-width);font-size:var(--site-nav-mobile-wordmark-size);letter-spacing:-.01em;color:hsl(var(--foreground));opacity:1;clip-path:inset(0);white-space:nowrap;font-weight:600;line-height:1;transition:width .32s,flex-basis .32s,max-width .32s,opacity .24s,transform .32s,clip-path .32s;display:inline-block;transform:translate(0)}.site-nav--home.is-brand-eaten .site-brand{min-width:var(--site-nav-mobile-logo-width)}.site-nav--home.is-brand-eaten .site-brand-text{opacity:0;clip-path:inset(0 100% 0 0);flex-basis:0;width:0;max-width:0;transform:translate(-1.15rem)}.site-nav--home.is-brand-eaten .site-brand-logo{animation:.34s steps(3,end) peek-chomp}.site-nav--home.is-peek-tapping .site-brand-logo{animation:.42s steps(4,end) peek-menu-pop}.site-nav--home .nav-link{min-height:var(--site-nav-mobile-action-size);opacity:0;pointer-events:none;max-width:0;color:hsl(var(--muted-foreground) / .74);align-items:center;padding:0;font-size:.76rem;font-weight:600;line-height:1;transition:max-width .28s,opacity .2s,transform .28s,color .16s;display:inline-flex;overflow:hidden;transform:translate(-.4rem)}.site-nav--home.is-brand-eaten .nav-link{max-width:calc(var(--nav-link-char-count,0) * 1ch + .35rem);opacity:1;pointer-events:auto;transform:translate(0)}.site-nav--home.is-brand-eaten .nav-links{align-items:center;gap:var(--site-nav-mobile-gap);pointer-events:none;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.site-nav--home.is-brand-eaten .nav-links .nav-link{pointer-events:auto}.site-nav--home .nav-link:after,.site-nav--home .nav-separator{display:none}.site-nav--home .nav-link:hover,.site-nav--home .nav-link.is-active{color:hsl(var(--foreground))}}@keyframes peek-chomp{0%{transform:translate(0)}35%{transform:translate(.35rem)}70%{transform:translate(.1rem)}to{transform:translate(0)}}@keyframes peek-menu-pop{0%{transform:translateY(0)}30%{transform:translateY(-.18rem)}58%{transform:translateY(.08rem)}to{transform:translateY(0)}}@keyframes peek-sidebar-watch{0%,64%,to{transform:translate(var(--peek-shift-x), var(--peek-shift-y))}65%,82%{transform:translate(calc(var(--peek-shift-x) + 1px), var(--peek-shift-y))}}@keyframes peek-sidebar-scan{0%{transform:translate(var(--peek-shift-x), calc(var(--peek-shift-y) + var(--peek-scroll-tilt,0px)))}50%{transform:translate(calc(var(--peek-shift-x) + 2px), calc(var(--peek-shift-y) + var(--peek-scroll-tilt,0px)))}to{transform:translate(var(--peek-shift-x), calc(var(--peek-shift-y) + var(--peek-scroll-tilt,0px)))}}@keyframes peek-sidebar-lock{0%{transform:translate(var(--peek-shift-x), var(--peek-shift-y))}28%{transform:translate(calc(var(--peek-shift-x) + 2px), var(--peek-shift-y))}62%{transform:translate(calc(var(--peek-shift-x) - 1px), var(--peek-shift-y))}to{transform:translate(var(--peek-shift-x), var(--peek-shift-y))}}@keyframes peek-sidebar-breathe{0%,to{translate:0}50%{translate:0 -2px}}.global-header-actions{z-index:100;isolation:isolate;align-items:center;gap:6px;display:flex;position:fixed;top:16px;right:16px}@media (width>=900px){.global-header-actions{gap:8px;top:24px;right:24px}}@media (width<=899px){.global-header-actions{top:calc(env(safe-area-inset-top,0px) + var(--visual-viewport-top,0px) + .3rem);z-index:61;right:1rem}.global-header-actions.is-collapsed{pointer-events:none}}.header-action-btn{letter-spacing:.01em;min-width:32px;height:32px;color:hsl(var(--muted-foreground));background:hsl(var(--background) / .8);border:1px solid hsl(var(--foreground) / .08);cursor:pointer;-webkit-backdrop-filter:blur(8px);border-radius:8px;justify-content:center;align-items:center;gap:0;padding:0;font-size:11px;font-weight:450;transition:color .2s,background .2s,border-color .2s,gap .2s;display:inline-flex;overflow:hidden}.header-action-btn.is-hovered{color:hsl(var(--foreground));background:hsl(var(--foreground) / .05);border-color:hsl(var(--foreground) / .15);gap:6px}.header-action-btn:active{transform:scale(.96)}.header-action-btn-label{white-space:nowrap;opacity:0;max-width:0;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:600;display:inline-block;overflow:hidden}.header-action-btn svg{flex-shrink:0;width:14px;height:14px}@media (width>=900px){.header-action-btn{border-radius:9px;min-width:34px;height:34px}.header-action-btn svg{width:15px;height:15px}}@media (width<=899px){.global-header-actions--home .header-action-btn[data-theme-toggle]{min-width:2.75rem;height:2.75rem;box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border-color:#0000;border-radius:999px;padding:0}.global-header-actions--home .header-action-btn[data-theme-toggle]:hover{background:#1111110f;border-color:#0000}.dark .global-header-actions--home .header-action-btn[data-theme-toggle]:hover{background:#ffffff14}.global-header-actions--home .header-action-btn[data-theme-toggle] .theme-icon-container{margin-inline:auto}}.theme-dropdown{position:relative}.theme-dropdown-menu{background:hsl(var(--background));border:1px solid hsl(var(--foreground) / .1);min-width:120px;box-shadow:0 8px 24px hsl(var(--foreground) / .08), 0 2px 8px hsl(var(--foreground) / .04);opacity:0;visibility:hidden;transform-origin:100% 0;border-radius:10px;padding:4px;transition:opacity .15s,transform .15s,visibility .15s;position:absolute;top:calc(100% + 6px);right:0;transform:translateY(-4px)scale(.96)}.theme-dropdown.is-open .theme-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)scale(1)}.theme-dropdown-item{width:100%;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;transition:all .12s;display:flex}.theme-dropdown-item:hover{color:hsl(var(--foreground));background:hsl(var(--foreground) / .06)}.theme-dropdown-item.is-active{color:hsl(var(--foreground))}.theme-dropdown-item:after{content:"";opacity:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;width:14px;height:14px;margin-left:auto;transition:opacity .12s}.theme-dropdown-item.is-active:after{opacity:.7}.theme-dropdown-item svg{opacity:.7;flex-shrink:0;width:14px;height:14px}.theme-dropdown-item.is-active svg{opacity:1}.theme-icon-container{flex-shrink:0;width:14px;height:14px;position:relative}@media (width>=900px){.theme-icon-container{width:15px;height:15px}}.theme-icon{opacity:0;justify-content:center;align-items:center;transition:opacity .25s,transform .25s;display:flex;position:absolute;inset:0;transform:scale(.6)rotate(-90deg)}.theme-icon svg{width:100%;height:100%}html[data-theme-setting=light] .theme-icon[data-theme-icon=light],html[data-theme-setting=dark] .theme-icon[data-theme-icon=dark],html[data-theme-setting=system] .theme-icon[data-theme-icon=system]{opacity:1;transform:scale(1)rotate(0)}.status{text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:.5rem;font-size:12px;display:inline-flex}.status-dot{background:hsl(var(--foreground));width:6px;height:6px;animation:2s ease-in-out infinite pulse}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-inset-x-3{left:-.75rem;right:-.75rem}.-inset-y-2{top:-.5rem;bottom:-.5rem}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.left-0{left:0}.left-1\/2{left:50%}.left-3{left:.75rem}.left-6{left:1.5rem}.right-2{right:.5rem}.right-4{right:1rem}.right-6{right:1.5rem}.top-0{top:0}.top-1\/2{top:50%}.top-4{top:1rem}.isolate{isolation:isolate}.z-10{z-index:10}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[1\]{z-index:1}.m-0{margin:0}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.\!block{display:block!important}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.\!grid{display:grid!important}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-\[16\/10\]{aspect-ratio:16/10}.aspect-\[16\/9\]{aspect-ratio:16/9}.size-3\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-44{height:11rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[17px\]{height:17px}.h-\[6px\]{height:6px}.h-\[7px\]{height:7px}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.max-h-96{max-height:24rem}.min-h-0{min-height:0}.min-h-\[80px\]{min-height:80px}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-9{width:2.25rem}.w-\[140px\]{width:140px}.w-\[160px\]{width:160px}.w-\[17px\]{width:17px}.w-\[6px\]{width:6px}.w-\[7px\]{width:7px}.w-fit{width:fit-content}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[220px\]{min-width:220px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-\[200px\]{max-width:200px}.max-w-lg{max-width:32rem}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(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)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-\[1\.4\]{--tw-scale-x:1.4;--tw-scale-y:1.4;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(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)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}.animate-ping{animation:1s cubic-bezier(0,0,.2,1) infinite ping}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{user-select:none}.resize{resize:both}.snap-center{scroll-snap-align:center}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[160px_1fr_auto\]{grid-template-columns:160px 1fr auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-\[14px\]{gap:14px}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-3{row-gap:.75rem}.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-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-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-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))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overscroll-contain{overscroll-behavior:contain}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-\[11px\]{border-radius:11px}.rounded-\[15px\]{border-radius:15px}.rounded-\[18px\]{border-radius:18px}.rounded-\[22px\]{border-radius:22px}.rounded-\[26px\]{border-radius:26px}.rounded-\[4px\]{border-radius:4px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[hsl\(var\(--foreground\)\/0\.14\)\]{border-color:hsl(var(--foreground)/.14)}.border-border{border-color:hsl(var(--border))}.border-destructive\/50{border-color:hsl(var(--destructive) / .5)}.border-stone-900\/10{border-color:#1c19171a}.border-stone-900\/25{border-color:#1c191740}.border-stone-900\/\[0\.055\]{border-color:#1c19170e}.border-transparent{border-color:#0000}.bg-\[\#28c840\]{--tw-bg-opacity:1;background-color:rgb(40 200 64/var(--tw-bg-opacity,1))}.bg-\[\#f4f2ec\]{--tw-bg-opacity:1;background-color:rgb(244 242 236/var(--tw-bg-opacity,1))}.bg-\[\#f6f4f0\]\/85{background-color:#f6f4f0d9}.bg-\[\#fbfaf7\]{--tw-bg-opacity:1;background-color:rgb(251 250 247/var(--tw-bg-opacity,1))}.bg-\[\#febc2e\]{--tw-bg-opacity:1;background-color:rgb(254 188 46/var(--tw-bg-opacity,1))}.bg-\[\#ff5f57\]{--tw-bg-opacity:1;background-color:rgb(255 95 87/var(--tw-bg-opacity,1))}.bg-\[hsl\(var\(--card\)\)\]{background-color:hsl(var(--card))}.bg-\[hsl\(var\(--foreground\)\/0\.22\)\]{background-color:hsl(var(--foreground)/.22)}.bg-\[hsl\(var\(--foreground\)\/0\.4\)\]{background-color:hsl(var(--foreground)/.4)}.bg-\[hsl\(var\(--foreground\)\/0\.55\)\]{background-color:hsl(var(--foreground)/.55)}.bg-\[hsl\(var\(--foreground\)\/0\.85\)\]{background-color:hsl(var(--foreground)/.85)}.bg-amber-500\/15{background-color:#f59e0b26}.bg-background{background-color:hsl(var(--background))}.bg-black\/70{background-color:#000000b3}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.bg-emerald-500\/15{background-color:#10b98126}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-muted\/60{background-color:hsl(var(--muted) / .6)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-sky-500\/15{background-color:#0ea5e926}.bg-stone-500\/55{background-color:#78716c8c}.bg-stone-700\/85{background-color:#44403cd9}.bg-stone-900\/\[0\.035\]{background-color:#1c191709}.bg-stone-900\/\[0\.05\]{background-color:#1c19170d}.bg-stone-900\/\[0\.06\]{background-color:#1c19170f}.bg-white\/70{background-color:#ffffffb3}.bg-gradient-to-b{background-image:linear-gradient(to bottom, var(--tw-gradient-stops))}.from-\[\#f4f2ec\]{--tw-gradient-from:#f4f2ec var(--tw-gradient-from-position);--tw-gradient-to:#f4f2ec00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.via-transparent{--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.fill-amber-400{fill:#fbbf24}.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-12{padding:3rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.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-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.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-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-0\.5{padding-bottom:.125rem}.pb-3{padding-bottom:.75rem}.pb-8{padding-bottom:2rem}.pl-2{padding-left:.5rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-\[3px\]{padding-top:3px}.pt-px{padding-top:1px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.font-code{font-family:var(--font-code)}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[22px\]{font-size:22px}.text-\[26px\]{font-size:26px}.text-\[28px\]{font-size:28px}.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-xs{font-size:.75rem;line-height:1rem}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.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\.7\]{line-height:1.7}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-\[-0\.01em\]{letter-spacing:-.01em}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-\[hsl\(var\(--foreground\)\)\]{color:hsl(var(--foreground))}.text-\[hsl\(var\(--foreground\)\/0\.82\)\]{color:hsl(var(--foreground)/.82)}.text-\[hsl\(var\(--muted-foreground\)\)\]{color:hsl(var(--muted-foreground))}.text-\[hsl\(var\(--muted-foreground\)\/0\.6\)\]{color:hsl(var(--muted-foreground)/.6)}.text-\[hsl\(var\(--muted-foreground\)\/0\.7\)\]{color:hsl(var(--muted-foreground)/.7)}.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-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-300{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.text-foreground{color:hsl(var(--foreground))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-sky-300{--tw-text-opacity:1;color:rgb(125 211 252/var(--tw-text-opacity,1))}.text-stone-400{--tw-text-opacity:1;color:rgb(168 162 158/var(--tw-text-opacity,1))}.text-stone-500{--tw-text-opacity:1;color:rgb(120 113 108/var(--tw-text-opacity,1))}.text-stone-600{--tw-text-opacity:1;color:rgb(87 83 78/var(--tw-text-opacity,1))}.text-stone-700{--tw-text-opacity:1;color:rgb(68 64 60/var(--tw-text-opacity,1))}.text-stone-900{--tw-text-opacity:1;color:rgb(28 25 23/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--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-\[0_0_0_3px_hsl\(var\(--background\)\)\,0_1px_2px_hsl\(var\(--foreground\)\/0\.06\)\]{--tw-shadow:0 0 0 3px hsl(var(--background)),0 1px 2px hsl(var(--foreground)/.06);--tw-shadow-colored:0 0 0 3px var(--tw-shadow-color), 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-\[0_1px_1px_rgba\(28\,25\,23\,0\.04\)\,0_5px_10px_-4px_rgba\(28\,25\,23\,0\.06\)\,0_20px_44px_-18px_rgba\(28\,25\,23\,0\.20\)\]{--tw-shadow:0 1px 1px #1c19170a,0 5px 10px -4px #1c19170f,0 20px 44px -18px #1c191733;--tw-shadow-colored:0 1px 1px var(--tw-shadow-color), 0 5px 10px -4px var(--tw-shadow-color), 0 20px 44px -18px 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 #0000001a, 0 4px 6px -4px #0000001a;--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-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -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-sm{--tw-shadow:0 1px 2px 0 #0000000d;--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)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.ring{--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(3px + 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)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-inset{--tw-ring-inset:inset}.ring-stone-900\/\[0\.06\]{--tw-ring-color:#1c19170f}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.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)}.blur-3xl{--tw-blur:blur(64px);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)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);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)!important}.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(12px);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);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);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{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-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[height\]{transition-property:height;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.fade-in{--tw-enter-opacity:0}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.running{animation-play-state:running}.paused{animation-play-state:paused}.js .hero-animate{opacity:0;transform:translateY(20px)}.js #moods-section{opacity:0;transform:translateY(40px)}.js #moods-section .scroll-reveal{opacity:0;transform:translateY(16px)}.js #moods-section .scroll-reveal-item{opacity:0;transform:translateY(8px)}.js #moods-section .scroll-reveal-link{opacity:0}.js .writing-section{opacity:0;transform:translateY(40px)}.js .writing-section .scroll-reveal{opacity:0;transform:translateY(16px)}.js .writing-section .scroll-reveal-item{opacity:0;transform:translate(-20px)}.js .writing-section .scroll-reveal-link{opacity:0}.\[a-z0-9_\:\.\+-\]{a-z0-9_:.+-}@font-face{font-family:Geist Mono;src:url(/fonts/geist-mono-variable.woff2)format("woff2-variations"),url(/fonts/geist-mono-variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:optional}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-variable.woff2)format("woff2-variations"),url(/fonts/jetbrains-mono-variable.woff2)format("woff2");font-weight:100 800;font-style:normal;font-display:swap}@font-face{font-family:Geist;src:url(/fonts/geist-sans-variable.woff2)format("woff2-variations"),url(/fonts/geist-sans-variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-variable.woff2)format("woff2-variations"),url(/fonts/inter-variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--font-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--font-code:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-display:"Geist", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes icon-rotate{0%{transform:rotate(0)scale(1)}50%{transform:rotate(180deg)scale(.8)}to{transform:rotate(360deg)scale(1)}}html{transition:background-color .2s,color .2s}html.no-transition,html.no-transition *{transition:none!important}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:hsl(var(--background))}::-webkit-scrollbar-thumb{background:hsl(var(--muted));border:2px solid hsl(var(--background))}.theme-portal{color-scheme:dark;--background:240 6% 7%;--foreground:220 14% 96%;--card:240 5% 11%;--card-foreground:220 14% 96%;--popover:240 5% 9%;--popover-foreground:220 14% 96%;--primary:220 14% 96%;--primary-foreground:240 6% 7%;--secondary:240 4% 14%;--secondary-foreground:220 14% 96%;--muted:240 4% 14%;--muted-foreground:240 5% 64%;--accent:240 4% 18%;--accent-foreground:220 14% 96%;--destructive:0 70% 50%;--destructive-foreground:220 14% 96%;--border:240 4% 18%;--input:240 4% 18%;--ring:240 5% 64%;--radius:.625rem;--portal-accent:217 91% 60%;--portal-success:142 71% 45%;--portal-warning:38 92% 55%;--portal-danger:0 72% 55%;background:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-display)}.theme-portal *,.theme-portal :before,.theme-portal :after{border-color:hsl(var(--border))}.theme-portal ::selection{background:hsl(var(--primary) / .2);color:hsl(var(--foreground))}.theme-portal-mono{font-family:var(--font-code);font-feature-settings:"tnum" 1}@media print{body:before{display:none}}[data-hero-accent]{--hero-accent:var(--ha-l)}.dark [data-hero-accent]{--hero-accent:var(--ha-d)}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:bottom-0:before{content:var(--tw-content);bottom:0}.before\:left-\[17px\]:before{content:var(--tw-content);left:17px}.before\:top-0:before{content:var(--tw-content);top:0}.before\:w-px:before{content:var(--tw-content);width:1px}.before\:bg-\[hsl\(var\(--foreground\)\/0\.12\)\]:before{content:var(--tw-content);background-color:hsl(var(--foreground)/.12)}.first\:border-t-0:first-child{border-top-width:0}.first\:pt-0:first-child{padding-top:0}.first\:before\:top-\[34px\]:first-child:before{content:var(--tw-content);top:34px}.last\:before\:bottom-auto:last-child:before{content:var(--tw-content);bottom:auto}.last\:before\:h-\[34px\]:last-child:before{content:var(--tw-content);height:34px}.hover\:border-stone-900:hover{--tw-border-opacity:1;border-color:rgb(28 25 23/var(--tw-border-opacity,1))}.hover\:bg-\[hsl\(var\(--foreground\)\/0\.45\)\]:hover{background-color:hsl(var(--foreground)/.45)}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-white\/90:hover{background-color:#ffffffe6}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-stone-700:hover{--tw-text-opacity:1;color:rgb(68 64 60/var(--tw-text-opacity,1))}.hover\:text-stone-900:hover{--tw-text-opacity:1;color:rgb(28 25 23/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-60:hover{opacity:.6}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:text-destructive:focus{color:hsl(var(--destructive))}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-2: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(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:text-stone-700:focus-visible{--tw-text-opacity:1;color:rgb(68 64 60/var(--tw-text-opacity,1))}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--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(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:h-1\.5{height:.375rem}.group:hover .group-hover\:bg-stone-600\/75{background-color:#57534ebf}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[state\=closed\]\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:animate-in[data-state=open]{animation:.5s ease-out forwards fade-in}.dark\:border-white\/10:is(.dark *){border-color:#ffffff1a}.dark\:border-white\/15:is(.dark *){border-color:#ffffff26}.dark\:border-white\/25:is(.dark *){border-color:#ffffff40}.dark\:border-white\/\[0\.05\]:is(.dark *){border-color:#ffffff0d}.dark\:bg-\[\#0b0b0c\]\/80:is(.dark *){background-color:#0b0b0ccc}.dark\:bg-\[\#0c0d10\]:is(.dark *){--tw-bg-opacity:1;background-color:rgb(12 13 16/var(--tw-bg-opacity,1))}.dark\:bg-\[\#141518\]:is(.dark *){--tw-bg-opacity:1;background-color:rgb(20 21 24/var(--tw-bg-opacity,1))}.dark\:bg-stone-900\/35:is(.dark *){background-color:#1c191759}.dark\:bg-white\/10:is(.dark *){background-color:#ffffff1a}.dark\:bg-white\/45:is(.dark *){background-color:#ffffff73}.dark\:bg-white\/85:is(.dark *){background-color:#ffffffd9}.dark\:bg-white\/\[0\.06\]:is(.dark *){background-color:#ffffff0f}.dark\:bg-white\/\[0\.07\]:is(.dark *){background-color:#ffffff12}.dark\:bg-white\/\[0\.08\]:is(.dark *){background-color:#ffffff14}.dark\:from-\[\#0c0d10\]:is(.dark *){--tw-gradient-from:#0c0d10 var(--tw-gradient-from-position);--tw-gradient-to:#0c0d1000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:fill-amber-300:is(.dark *){fill:#fcd34d}.dark\:text-amber-300:is(.dark *){--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.dark\:text-stone-100:is(.dark *){--tw-text-opacity:1;color:rgb(245 245 244/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:text-white\/35:is(.dark *){color:#ffffff59}.dark\:text-white\/40:is(.dark *){color:#fff6}.dark\:text-white\/45:is(.dark *){color:#ffffff73}.dark\:text-white\/55:is(.dark *){color:#ffffff8c}.dark\:text-white\/65:is(.dark *){color:#ffffffa6}.dark\:text-white\/75:is(.dark *){color:#ffffffbf}.dark\:text-white\/80:is(.dark *){color:#fffc}.dark\:text-white\/85:is(.dark *){color:#ffffffd9}.dark\:shadow-\[0_1px_2px_rgba\(0\,0\,0\,0\.5\)\,0_14px_30px_-12px_rgba\(0\,0\,0\,0\.6\)\,0_44px_90px_-34px_rgba\(0\,0\,0\,0\.55\)\]:is(.dark *){--tw-shadow:0 1px 2px #00000080,0 14px 30px -12px #0009,0 44px 90px -34px #0000008c;--tw-shadow-colored:0 1px 2px var(--tw-shadow-color), 0 14px 30px -12px var(--tw-shadow-color), 0 44px 90px -34px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.dark\:ring-white\/\[0\.07\]:is(.dark *){--tw-ring-color:#ffffff12}.dark\:hover\:border-white:hover:is(.dark *){--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.dark\:hover\:bg-stone-900\/55:hover:is(.dark *){background-color:#1c19178c}.dark\:hover\:bg-white\/\[0\.14\]:hover:is(.dark *){background-color:#ffffff24}.dark\:hover\:text-white:hover:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:hover\:text-white\/85:hover:is(.dark *),.dark\:focus-visible\:text-white\/85:focus-visible:is(.dark *){color:#ffffffd9}.group:hover .dark\:group-hover\:bg-white\/70:is(.dark *){background-color:#ffffffb3}@media (width<=480px){.max-\[480px\]\:w-full{width:100%}.max-\[480px\]\:pl-\[50px\]{padding-left:50px}.max-\[480px\]\:pt-1{padding-top:.25rem}}@media (width>=481px){.min-\[481px\]\:flex-nowrap{flex-wrap:nowrap}}@media (width>=640px){.sm\:right-6{right:1.5rem}.sm\:top-6{top:1.5rem}.sm\:mt-0{margin-top:0}.sm\:mt-7{margin-top:1.75rem}.sm\:mt-8{margin-top:2rem}.sm\:inline{display:inline}.sm\:grid{display:grid}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:pb-12{padding-bottom:3rem}.sm\:pb-4{padding-bottom:1rem}.sm\:text-\[15px\]{font-size:15px}.sm\:text-\[36px\]{font-size:36px}}@media (width>=1024px){.lg\:grid-cols-\[minmax\(0\,1fr\)_380px\]{grid-template-columns:minmax(0,1fr) 380px}}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}.mood-item-quote,.mood-quote-card{background:hsl(var(--foreground) / .03);color:hsl(var(--muted-foreground));border:none;border-radius:10px;flex-direction:column;align-self:flex-start;gap:4px;width:fit-content;max-width:88%;padding:8px 10px;text-decoration:none;display:inline-flex}.mood-item-quote[href],.mood-quote-card[href]{cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}.mood-item-quote[href]:hover,.mood-item-quote[href]:focus-visible,.mood-quote-card[href]:hover,.mood-quote-card[href]:focus-visible{background:hsl(var(--foreground) / .06);color:hsl(var(--foreground) / .7);box-shadow:0 0 0 1px hsl(var(--foreground) / .08)}.mood-item-quote[href]:hover .mood-item-quote-text,.mood-item-quote[href]:focus-visible .mood-item-quote-text,.mood-quote-card[href]:hover .mood-quote-card-text,.mood-quote-card[href]:focus-visible .mood-quote-card-text{color:hsl(var(--foreground) / .75)}.mood-item-quote-meta,.mood-quote-card-meta{text-transform:none;letter-spacing:.02em;color:hsl(var(--muted-foreground));align-items:center;gap:8px;font-size:11px;display:flex}.mood-item-quote-body,.mood-quote-card-body{flex-direction:column;gap:4px;min-width:0;display:flex}.mood-item-quote-author,.mood-quote-card-author{letter-spacing:.02em;text-transform:none;color:hsl(var(--foreground) / .6);font-size:11px}.mood-item-quote-media,.mood-quote-card-media{background:hsl(var(--foreground) / .04);border-radius:8px;width:100%;display:block;overflow:hidden}.mood-item-quote--media-only,.mood-quote-card--media-only{gap:6px;width:auto;max-width:clamp(5.25rem,14vw,6.5rem);padding:6px;display:inline-flex}.mood-item-quote--with-media,.mood-quote-card--with-media{grid-template-columns:2rem minmax(0,1fr);align-items:center;gap:.75rem;width:auto;max-width:min(18rem,100%);padding:8px;display:inline-grid}.mood-item-quote-image,.mood-quote-card-image{aspect-ratio:1;-o-object-fit:cover;object-fit:cover;background:hsl(var(--foreground) / .03);width:100%;height:100%;display:block}.mood-item-quote--media-only .mood-item-quote-meta,.mood-quote-card--media-only .mood-quote-card-meta{display:none}.mood-item-quote--with-media .mood-item-quote-media,.mood-quote-card--with-media .mood-quote-card-media{align-self:center;width:2rem;margin-top:0}.mood-item-quote--with-media .mood-item-quote-body,.mood-quote-card--with-media .mood-quote-card-body{text-align:left;justify-content:center;align-self:center;width:100%;min-width:0}.mood-item-quote--with-media .mood-item-quote-meta,.mood-quote-card--with-media .mood-quote-card-meta{justify-content:flex-start}.mood-item-quote--with-media .mood-item-quote-text,.mood-quote-card--with-media .mood-quote-card-text{-webkit-line-clamp:4}.mood-item-quote-text,.mood-quote-card-text{color:hsl(var(--foreground) / .6);white-space:pre-line;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.55;display:-webkit-box;overflow:hidden}.mood-item-text{font-family:var(--font-sans,inherit);font-size:var(--mood-item-text-size,14px);line-height:var(--mood-item-text-line-height,1.6);color:hsl(var(--foreground));white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere}.mood-item-text--clamped{-webkit-line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.mood-item-text a{color:hsl(var(--foreground));border-bottom:1px solid hsl(var(--foreground) / .35);text-decoration:none;transition:border-color .15s,color .15s,opacity .15s}.mood-item-text a:hover,.mood-item-text a:focus-visible{border-bottom-color:hsl(var(--foreground) / .6)}.mood-item-text blockquote{border-left:3px solid hsl(var(--foreground) / .25);background:hsl(var(--foreground) / .03);border-radius:0 6px 6px 0;margin:4px 0;padding:4px 0 4px 12px}.mood-item-text code{font-family:var(--font-code);background:hsl(var(--foreground) / .06);border-radius:4px;padding:1px 5px;font-size:.88em}.mood-item-text pre{background:hsl(var(--foreground) / .06);white-space:pre;border-radius:6px;margin:4px 0;padding:8px 12px;overflow-x:auto}.mood-item-text pre code{background:0 0;border-radius:0;padding:0}.mood-post-content .mood-item-quote{width:fit-content;max-width:100%;margin:0 0 .75em;display:flex}.mood-post-content a.mood-item-quote[href],.mood-post-content a.mood-item-quote[href]:hover,.mood-post-content a.mood-item-quote[href]:focus-visible{background:hsl(var(--foreground) / .03);box-shadow:none;border:none}.mood-post-content a.mood-item-quote[href]:hover,.mood-post-content a.mood-item-quote[href]:focus-visible{background:hsl(var(--foreground) / .06)}.mood-post-content .mood-item-quote--with-media{display:grid}.mood-post-content .mood-item-quote-text{margin:0;font-size:12px;line-height:1.55}.mood-comment-content .mood-item-quote,.mood-popover-comment-content .mood-item-quote{max-width:100%;margin:0 0 .75em;display:flex}.mood-popover-comment-content .mood-item-quote{margin-bottom:.5em}.mood-post-content .mood-item-quote:last-child,.mood-comment-content .mood-item-quote:last-child,.mood-popover-comment-content .mood-item-quote:last-child{margin-bottom:0}.mood-post-content a.mood-item-quote,.mood-post-content a.mood-item-quote:hover,.mood-comment-content a.mood-item-quote,.mood-comment-content a.mood-item-quote:hover,.mood-popover-comment-content a.mood-item-quote,.mood-popover-comment-content a.mood-item-quote:hover{border-bottom:none}.tg-mention,.tg-hashtag,.tg-cashtag,.tg-bot-command{color:hsl(var(--foreground));font-weight:500}.tg-datetime{text-underline-offset:2px;text-decoration:underline dotted}.tg-spoiler{background-color:hsl(var(--foreground) / .12);filter:blur(.32em);cursor:pointer;box-decoration-break:clone;border-radius:4px;transition:filter .2s,background-color .2s}.tg-spoiler.is-revealed{filter:none;cursor:text;background-color:#0000}.tg-blockquote-expandable.is-collapsible{cursor:pointer;max-height:5.4em;position:relative;overflow:hidden}.tg-blockquote-expandable.is-collapsible:after{content:"";inset-inline:0;background:linear-gradient(to bottom, transparent, hsl(var(--background)));pointer-events:none;height:2.2em;position:absolute;bottom:0}.tg-blockquote-expandable.is-expanded{max-height:none}.tg-blockquote-expandable.is-expanded:after{display:none}@media (width>=640px){.mood-item-text{font-size:var(--mood-item-text-wide-size,15px);line-height:var(--mood-item-text-wide-line-height,1.65)}}@media (width<=480px){.mood-item-quote{border-radius:8px;max-width:100%;padding:8px 10px}.mood-item-quote-meta{letter-spacing:.02em;font-size:11px}.mood-item-quote-text{-webkit-line-clamp:3;font-size:13px;line-height:1.5}.mood-item-text{font-size:var(--mood-item-text-mobile-size,15px);line-height:var(--mood-item-text-mobile-line-height,1.6)}}
