/*! tailwindcss v4.1.8 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-emerald-600:oklch(59.6% .145 163.225);--color-black:#000;--spacing:.25rem;--container-5xl:64rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--font-weight-semibold:600;--leading-relaxed:1.625;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--color-base-100:oklch(25.33% .016 252.42);--color-base-200:oklch(23.26% .014 253.1);--color-base-300:oklch(21.15% .012 254.09);--color-base-content:oklch(97.807% .029 256.847);--color-primary:oklch(58% .233 277.117);--color-primary-content:oklch(96% .018 272.314);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark]{color-scheme:dark;--color-base-100:oklch(25.33% .016 252.42);--color-base-200:oklch(23.26% .014 253.1);--color-base-300:oklch(21.15% .012 254.09);--color-base-content:oklch(97.807% .029 256.847);--color-primary:oklch(58% .233 277.117);--color-primary-content:oklch(96% .018 272.314);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}@property --radialprogress{syntax: "<percentage>"; inherits: true; initial-value: 0%;}:root{scrollbar-color:currentColor #0000}@supports (color:color-mix(in lab,red,red)){:root{scrollbar-color:color-mix(in oklch,currentColor 35%,#0000)#0000}}:root{--fx-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E")}:root:has(.modal-open,.modal[open],.modal:target,.modal-toggle:checked,.drawer:not([class*=drawer-open])>.drawer-toggle:checked){overflow:hidden}:where(:root:has(.modal-open,.modal[open],.modal:target,.modal-toggle:checked,.drawer:not(.drawer-open)>.drawer-toggle:checked)){scrollbar-gutter:stable;background-image:linear-gradient(var(--color-base-100),var(--color-base-100));--root-bg:var(--color-base-100)}@supports (color:color-mix(in lab,red,red)){:where(:root:has(.modal-open,.modal[open],.modal:target,.modal-toggle:checked,.drawer:not(.drawer-open)>.drawer-toggle:checked)){--root-bg:color-mix(in srgb,var(--color-base-100),oklch(0% 0 0) 40%)}}:where(.modal[open],.modal-open,.modal-toggle:checked+.modal):not(.modal-start,.modal-end){scrollbar-gutter:stable}:root,[data-theme]{background-color:var(--root-bg,var(--color-base-100));color:var(--color-base-content)}:root:has(input.theme-controller[value=nord]:checked),[data-theme=nord]{color-scheme:light;--color-base-100:oklch(95.127% .007 260.731);--color-base-200:oklch(93.299% .01 261.788);--color-base-300:oklch(89.925% .016 262.749);--color-base-content:oklch(32.437% .022 264.182);--color-primary:oklch(59.435% .077 254.027);--color-primary-content:oklch(11.887% .015 254.027);--color-secondary:oklch(69.651% .059 248.687);--color-secondary-content:oklch(13.93% .011 248.687);--color-accent:oklch(77.464% .062 217.469);--color-accent-content:oklch(15.492% .012 217.469);--color-neutral:oklch(45.229% .035 264.131);--color-neutral-content:oklch(89.925% .016 262.749);--color-info:oklch(69.207% .062 332.664);--color-info-content:oklch(13.841% .012 332.664);--color-success:oklch(76.827% .074 131.063);--color-success-content:oklch(15.365% .014 131.063);--color-warning:oklch(85.486% .089 84.093);--color-warning-content:oklch(17.097% .017 84.093);--color-error:oklch(60.61% .12 15.341);--color-error-content:oklch(12.122% .024 15.341);--radius-selector:1rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}}@layer components;@layer utilities{:where(.btn){width:unset}.btn{cursor:pointer;text-align:center;vertical-align:middle;outline-offset:2px;webkit-user-select:none;-webkit-user-select:none;user-select:none;padding-inline:var(--btn-p);color:var(--btn-fg);--tw-prose-links:var(--btn-fg);height:var(--size);font-size:var(--fontsize,.875rem);outline-color:var(--btn-color,var(--color-base-content));background-color:var(--btn-bg);background-size:auto,calc(var(--noise)*100%);background-image:none,var(--btn-noise);border-width:var(--border);border-style:solid;border-color:var(--btn-border);text-shadow:0 .5px oklch(100% 0 0/calc(var(--depth)*.15));touch-action:manipulation;box-shadow:0 .5px 0 .5px oklch(100% 0 0/calc(var(--depth)*6%)) inset,var(--btn-shadow);--size:calc(var(--size-field,.25rem)*10);--btn-bg:var(--btn-color,var(--color-base-200));--btn-fg:var(--color-base-content);--btn-p:1rem;--btn-border:var(--btn-bg);border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-wrap:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:.375rem;font-weight:600;transition-property:color,background-color,border-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:inline-flex}@supports (color:color-mix(in lab,red,red)){.btn{--btn-border:color-mix(in oklab,var(--btn-bg),#000 calc(var(--depth)*5%))}}.btn{--btn-shadow:0 3px 2px -2px var(--btn-bg),0 4px 3px -2px var(--btn-bg)}@supports (color:color-mix(in lab,red,red)){.btn{--btn-shadow:0 3px 2px -2px color-mix(in oklab,var(--btn-bg)calc(var(--depth)*30%),#0000),0 4px 3px -2px color-mix(in oklab,var(--btn-bg)calc(var(--depth)*30%),#0000)}}.btn{--btn-noise:var(--fx-noise)}.prose .btn{text-decoration-line:none}@media (hover:hover){.btn:hover{--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab,red,red)){.btn:hover{--btn-bg:color-mix(in oklab,var(--btn-color,var(--color-base-200)),#000 7%)}}}.btn:focus-visible{isolation:isolate;outline-width:2px;outline-style:solid}.btn:active:not(.btn-active){--btn-bg:var(--btn-color,var(--color-base-200));translate:0 .5px}@supports (color:color-mix(in lab,red,red)){.btn:active:not(.btn-active){--btn-bg:color-mix(in oklab,var(--btn-color,var(--color-base-200)),#000 5%)}}.btn:active:not(.btn-active){--btn-border:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab,red,red)){.btn:active:not(.btn-active){--btn-border:color-mix(in oklab,var(--btn-color,var(--color-base-200)),#000 7%)}}.btn:active:not(.btn-active){--btn-shadow:0 0 0 0 oklch(0% 0 0/0),0 0 0 0 oklch(0% 0 0/0)}.btn:is(:disabled,[disabled],.btn-disabled):not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.btn:is(:disabled,[disabled],.btn-disabled):not(.btn-link,.btn-ghost){background-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.btn:is(:disabled,[disabled],.btn-disabled):not(.btn-link,.btn-ghost){box-shadow:none}.btn:is(:disabled,[disabled],.btn-disabled){pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.btn:is(:disabled,[disabled],.btn-disabled){--btn-fg:color-mix(in oklch,var(--color-base-content)20%,#0000)}}@media (hover:hover){.btn:is(:disabled,[disabled],.btn-disabled):hover{pointer-events:none;background-color:var(--color-neutral)}@supports (color:color-mix(in lab,red,red)){.btn:is(:disabled,[disabled],.btn-disabled):hover{background-color:color-mix(in oklab,var(--color-neutral)20%,transparent)}}.btn:is(:disabled,[disabled],.btn-disabled):hover{--btn-border:#0000;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.btn:is(:disabled,[disabled],.btn-disabled):hover{--btn-fg:color-mix(in oklch,var(--color-base-content)20%,#0000)}}}.btn:is(input[type=checkbox],input[type=radio]){appearance:none}.btn:is(input[type=checkbox],input[type=radio]):after{content:attr(aria-label)}.btn:where(input:checked:not(.filter .btn)){--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content);isolation:isolate}.timeline{display:flex;position:relative}.timeline>li{grid-template-rows:var(--timeline-row-start,minmax(0,1fr))auto var(--timeline-row-end,minmax(0,1fr));grid-template-columns:var(--timeline-col-start,minmax(0,1fr))auto var(--timeline-col-end,minmax(0,1fr));flex-shrink:0;align-items:center;display:grid;position:relative}.timeline>li>hr{border:none;width:100%}.timeline>li>hr:first-child{grid-row-start:2;grid-column-start:1}.timeline>li>hr:last-child{grid-area:2/3/auto/none}@media print{.timeline>li>hr{border:.1px solid var(--color-base-300)}}.timeline :where(hr){background-color:var(--color-base-300);height:.25rem}.timeline:has(.timeline-middle hr):first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline:has(.timeline-middle hr):last-child,.timeline:not(:has(.timeline-middle)) :first-child hr:last-child{border-start-start-radius:var(--radius-selector);border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:var(--radius-selector)}.timeline:not(:has(.timeline-middle)) :last-child hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.fixed{position:fixed}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.bottom-0{bottom:calc(var(--spacing)*0)}.z-50{z-index:50}.hero{background-position:50%;background-size:cover;place-items:center;width:100%;display:grid}.hero>*{grid-row-start:1;grid-column-start:1}.stat-value{white-space:nowrap;grid-column-start:1;font-size:2rem;font-weight:800}.mx-auto{margin-inline:auto}.label{white-space:nowrap;color:currentColor;align-items:center;gap:.375rem;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.label{color:color-mix(in oklab,currentColor 60%,transparent)}}.label:has(input){cursor:pointer}.label:is(.input>*,.select>*){white-space:nowrap;height:calc(100% - .5rem);font-size:inherit;align-items:center;padding-inline:.75rem;display:flex}.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border)solid currentColor;margin-inline:-.75rem .75rem}@supports (color:color-mix(in lab,red,red)){.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border)solid color-mix(in oklab,currentColor 10%,#0000)}}.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border)solid currentColor;margin-inline:.75rem -.75rem}@supports (color:color-mix(in lab,red,red)){.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border)solid color-mix(in oklab,currentColor 10%,#0000)}}.mt-2{margin-top:calc(var(--spacing)*2)}.status{aspect-ratio:1;border-radius:var(--radius-selector);background-color:var(--color-base-content);width:.5rem;height:.5rem;display:inline-block}@supports (color:color-mix(in lab,red,red)){.status{background-color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.status{vertical-align:middle;color:#0000004d;background-position:50%;background-repeat:no-repeat}@supports (color:color-mix(in lab,red,red)){.status{color:#0000004d}@supports (color:color-mix(in lab,red,red)){.status{color:color-mix(in oklab,var(--color-black)30%,transparent)}}}.status{background-image:radial-gradient(circle at 35% 30%,oklch(1 0 0/calc(var(--depth)*.5)),#0000);box-shadow:0 2px 3px -1px}@supports (color:color-mix(in lab,red,red)){.status{box-shadow:0 2px 3px -1px color-mix(in oklab,currentColor calc(var(--depth)*100%),#0000)}}.block{display:block}.flex{display:flex}.grid{display:grid}.max-w-5xl{max-width:var(--container-5xl)}.flex-shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}.rounded-box{border-radius:var(--radius-box)}.border{border-style:var(--tw-border-style);border-width:1px}.border-base-300{border-color:var(--color-base-300)}.bg-base-100{background-color:var(--color-base-100)}.p-4{padding:calc(var(--spacing)*4)}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-base-content,.text-base-content\/80{color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.text-base-content\/80{color:color-mix(in oklab,var(--color-base-content)80%,transparent)}}.text-emerald-600{color:var(--color-emerald-600)}.italic{font-style:italic}.underline{text-decoration-line:underline}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.btn-outline:not(.btn-active,:hover,:active:focus,:focus-visible,:disabled,[disabled],.btn-disabled,:checked){--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}@media (hover:none){.btn-outline:hover:not(.btn-active,:active,:focus-visible,:disabled,[disabled],.btn-disabled,:checked){--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}}.btn-sm{--fontsize:.75rem;--btn-p:.75rem;--size:calc(var(--size-field,.25rem)*8)}.btn-primary{--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content)}@media (min-width:48rem){.md\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.md\:items-center{align-items:center}.md\:justify-end{justify-content:flex-end}.md\:p-6{padding:calc(var(--spacing)*6)}.md\:btn-md{--fontsize:.875rem;--btn-p:1rem;--size:calc(var(--size-field,.25rem)*10)}}}:root{--ink:oklch(28% .09 245);--ink-2:oklch(42% .11 240);--sea:oklch(62% .12 230);--sky:oklch(82% .06 225);--mist:oklch(94% .02 230);--paper:oklch(98.5% .008 85);--paper-2:oklch(96.5% .012 85);--line:oklch(28% .09 245/.14);--line-strong:oklch(28% .09 245/.32);--muted:oklch(45% .04 245);--grain-rgb:40,60,110;--grain-opacity:.3;--serif:"Fraunces",Georgia,serif;--sans:"Inter",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace;--letter-wide:.02em;--letter-display:-.01em;--letter-mono:.14em}body[data-theme=dark]{--ink:oklch(92% .02 230);--ink-2:oklch(82% .06 225);--sea:oklch(72% .14 225);--sky:oklch(78% .11 225);--mist:oklch(25% .04 245);--paper:oklch(16% .03 250);--paper-2:oklch(20% .035 248);--line:oklch(92% .02 230/.12);--line-strong:oklch(92% .02 230/.28);--muted:oklch(68% .04 235);--grain-rgb:180,210,255;--grain-opacity:.06}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);letter-spacing:var(--letter-wide);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:100;opacity:var(--grain-opacity);background-image:radial-gradient(rgba(var(--grain-rgb),.12)1px,transparent 1px);mix-blend-mode:multiply;background-size:3px 3px;position:fixed;inset:0}body[data-theme=dark]:before{mix-blend-mode:screen}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}nav.top{z-index:50;background:var(--paper);justify-content:space-between;align-items:center;padding:22px 40px;display:flex;position:fixed;top:0;left:0;right:0}@supports (color:color-mix(in lab,red,red)){nav.top{background:color-mix(in oklab,var(--paper)85%,transparent)}}nav.top{-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);counter-reset:nav}nav.top .mark{font-family:var(--serif);letter-spacing:var(--letter-display);align-items:baseline;gap:8px;font-size:22px;font-style:italic;display:flex}nav.top .mark .dot{background:var(--ink);border-radius:50%;width:8px;height:8px;animation:3s ease-in-out infinite pulse;display:inline-block;transform:translateY(-2px)}@keyframes pulse{50%{opacity:.5}}nav.top ul{font-size:13px;font-family:var(--mono);letter-spacing:calc(var(--letter-wide) + .05em);gap:34px;list-style:none;display:flex}nav.top ul a{color:var(--ink);opacity:.7;transition:opacity .2s;position:relative}nav.top ul a:hover{opacity:1}nav.top ul li{counter-increment:nav}nav.top ul li a:before{content:counter(nav,decimal-leading-zero)" · ";opacity:.4}.nav-right{align-items:center;gap:24px;display:flex}nav.top .status{font-family:var(--mono);color:var(--muted);letter-spacing:calc(var(--letter-wide) + .04em);white-space:nowrap;align-items:center;gap:8px;font-size:12px;display:flex}nav.top .status .live{background:#3fc168;border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:2s ease-in-out infinite liveblink;box-shadow:0 0 0 3px #3fc16833}.theme-toggle{border:1px solid var(--line-strong);width:36px;height:36px;color:var(--ink);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .2s,transform .2s;display:inline-flex}.theme-toggle:hover{background:var(--mist);transform:rotate(-15deg)}.theme-toggle svg{width:16px;height:16px}.theme-toggle .moon,body[data-theme=dark] .theme-toggle .sun{display:none}body[data-theme=dark] .theme-toggle .moon{display:block}nav.top .status{font-family:var(--mono);color:var(--muted);letter-spacing:calc(var(--letter-wide) + .04em);align-items:center;gap:8px;font-size:12px;display:flex}nav.top .status .live{background:#3fc168;border-radius:50%;width:7px;height:7px;animation:2s ease-in-out infinite liveblink;box-shadow:0 0 0 3px #3fc16833}@keyframes liveblink{0%,to{opacity:1}50%{opacity:.4}}section.hero>*{grid-row-start:auto;grid-column-start:auto}section.hero{grid-template-columns:1.2fr 1fr;align-items:center;gap:80px;max-width:1400px;min-height:100vh;margin:0 auto;padding:140px 48px 80px;display:grid;position:relative;overflow:hidden}.photo-frame{aspect-ratio:3/4;justify-self:center;width:100%;max-width:460px;position:relative}.photo-frame .ticks{pointer-events:none;position:absolute;inset:-28px}.photo-frame .ticks:before,.photo-frame .ticks:after{content:"";border:1px solid var(--ink);opacity:.35;width:18px;height:18px;position:absolute}.photo-frame .ticks:before{border-bottom:none;border-right:none;top:0;left:0}.photo-frame .ticks:after{border-top:none;border-left:none;bottom:0;right:0}.photo-frame .ticks .t2,.photo-frame .ticks .t3{border:1px solid var(--ink);opacity:.35;width:18px;height:18px;position:absolute}.photo-frame .ticks .t2{border-bottom:none;border-left:none;top:0;right:0}.photo-frame .ticks .t3{border-top:none;border-right:none;bottom:0;left:0}.photo{background:var(--paper-2);box-shadow:0 1px 0 0 var(--line-strong),0 40px 80px -40px oklch(25% .1 245/.45);position:absolute;inset:0;overflow:hidden}.photo img{object-fit:cover;object-position:40% 20%;filter:saturate(.92)contrast(1.02);will-change:transform;width:100%;height:100%;transition:transform 1.2s}.photo-frame:hover .photo img{transform:scale(1.04)}.photo:after{content:"";mix-blend-mode:multiply;pointer-events:none;background:linear-gradient(oklch(35% .09 245/.14),oklch(35% .09 245/0) 45%,oklch(35% .09 245/.35)),radial-gradient(at 30% 20%,#9acde240,#0000 55%);position:absolute;inset:0}body[data-theme=dark] .photo:after{background:linear-gradient(oklch(15% .09 245/.2),#0000 45%,oklch(15% .09 245/.5)),radial-gradient(at 30% 20%,oklch(60% .12 225/.2),#0000 55%)}.photo:before{content:"";pointer-events:none;z-index:2;border:1px solid oklch(98% .02 225/.55);position:absolute;inset:6px}.photo-crest{z-index:3;pointer-events:none;width:84px;height:84px;position:absolute;top:20px;right:20px}.photo-crest .ring-text{transform-origin:50%;animation:22s linear infinite rotate}@keyframes rotate{to{transform:rotate(360deg)}}.photo-meta{font-family:var(--mono);letter-spacing:calc(var(--letter-wide) + .18em);text-transform:uppercase;color:var(--muted);justify-content:space-between;font-size:10px;display:flex;position:absolute;bottom:-44px;left:0;right:0}.tag{background:var(--paper);border:1px solid var(--line-strong);font-family:var(--mono);letter-spacing:calc(var(--letter-wide) + .1em);text-transform:uppercase;color:var(--ink);z-index:5;white-space:nowrap;align-items:center;gap:10px;padding:10px 16px 10px 14px;font-size:11px;animation:6s ease-in-out infinite floaty;display:inline-flex;position:absolute;box-shadow:0 12px 30px -14px oklch(25% .1 245/.4)}.tag svg{width:14px;height:14px;color:var(--sea)}.tag .n{font-family:var(--serif);color:var(--muted);letter-spacing:0;text-transform:none;margin-right:4px;font-size:13px;font-style:italic}.tag.t-code{animation-delay:-.4s;top:6%;left:-18%}.tag.t-travel{animation-delay:-1.6s;top:34%;right:-22%}.tag.t-photo{animation-delay:-2.8s;bottom:22%;left:-24%}.tag.t-animal{animation-delay:-4.2s;bottom:2%;right:-14%}@keyframes floaty{0%,to{transform:translateY(0)rotate(-.6deg)}50%{transform:translateY(-8px)rotate(.4deg)}}.eyebrow{font-family:var(--mono);letter-spacing:calc(var(--letter-wide) + .2em);text-transform:uppercase;color:var(--sea);align-items:center;gap:14px;margin-bottom:36px;font-size:12px;display:flex}.eyebrow:before{content:"";background:currentColor;width:36px;height:1px;display:inline-block}h1.display{font-family:var(--serif);letter-spacing:var(--letter-display);color:var(--ink);margin-bottom:28px;font-size:clamp(56px,8vw,108px);font-weight:400;line-height:.96}h1.display em{color:var(--ink-2);font-style:italic}h1.display .name{display:inline-block;position:relative}h1.display .underline{z-index:-1;transform-origin:0;background:#8ad0eb99;height:9px;animation:1.2s ease-out .8s both underlinegrow;position:absolute;bottom:8px;left:0;right:0}@keyframes underlinegrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.typewriter-box{font-family:var(--mono);color:var(--ink-2);min-height:8em;letter-spacing:calc(var(--letter-wide) + .02em);margin:32px 0 20px;font-size:16px}.typewriter-line{display:block;position:relative}.typewriter-line:before{content:"› ";color:var(--sea);opacity:.7}.tw-caret{background:var(--ink);vertical-align:text-bottom;width:8px;height:1em;margin-left:2px;animation:1s step-end infinite caret;display:inline-block}@keyframes caret{50%{opacity:0}}.hero-actions{flex-wrap:wrap;align-items:center;gap:20px;margin-top:44px;display:flex}.btn-pf{font-family:var(--mono);letter-spacing:calc(var(--letter-wide) + .08em);text-transform:uppercase;border-radius:999px;align-items:center;gap:10px;padding:14px 26px;font-size:13px;transition:all .2s;display:inline-flex}.btn-pf.primary{background:var(--ink);color:var(--paper);border:none}.btn-pf.primary:hover{background:var(--ink-2);transform:translateY(-1px)}.btn-pf.ghost{border:1px solid var(--line-strong);color:var(--ink);background:0 0}.btn-pf.ghost:hover{background:var(--mist)}.btn-pf .arrow{transition:transform .2s}.btn-pf:hover .arrow{transform:translate(3px)}.scroll-hint{font-family:var(--mono);letter-spacing:calc(var(--letter-wide) + .4em);text-transform:uppercase;color:var(--muted);flex-direction:column;align-items:center;gap:22px;padding-left:.4em;font-size:11px;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.scroll-hint .bar{background:linear-gradient(to bottom,var(--ink)40%,transparent);width:1px;height:40px;animation:2.5s ease-in-out infinite scrollbar}@keyframes scrollbar{0%{transform-origin:top;transform:scaleY(0)}50%{transform-origin:top;transform:scaleY(1)}51%{transform-origin:bottom;transform:scaleY(1)}to{transform-origin:bottom;transform:scaleY(0)}}.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper-2);padding:18px 0;overflow:hidden}.marquee-track{white-space:nowrap;font-family:var(--serif);color:var(--ink-2);letter-spacing:var(--letter-display);gap:60px;font-size:28px;font-style:italic;animation:44s linear infinite slide;display:flex}.marquee-track span{align-items:center;gap:60px;display:inline-flex}.marquee-track .mdot{background:var(--sea);border-radius:50%;width:6px;height:6px;display:inline-block}@keyframes slide{to{transform:translate(-50%)}}section.block{max-width:1200px;margin:0 auto;padding:120px 48px;position:relative}.section-label{font-family:var(--mono);letter-spacing:calc(var(--letter-wide) + .28em);text-transform:uppercase;color:var(--sea);align-items:center;gap:12px;margin-bottom:18px;font-size:11px;display:flex}.section-label:before{content:"§";font-family:var(--serif);color:var(--ink);font-size:20px;font-style:italic}.section-title{font-family:var(--serif);letter-spacing:var(--letter-display);max-width:20ch;margin-bottom:60px;font-size:clamp(40px,5vw,64px);font-weight:400;line-height:1.02}.section-title em{color:var(--ink-2);font-style:italic}.about-grid{grid-template-columns:1.25fr 1fr;align-items:start;gap:80px;display:grid}.about-body{font-family:var(--serif);color:var(--ink);letter-spacing:var(--letter-display);font-size:28px;line-height:1.4}.about-body p+p{margin-top:1em}.about-body em{color:var(--ink-2);font-style:italic}.about-body .pullquote{border-left:2px solid var(--sea);margin:32px 0;padding-left:24px}.about-body .pullquote .en{color:var(--ink);font-style:italic}.about-body .pullquote .small{font-family:var(--sans);color:var(--muted);letter-spacing:var(--letter-wide);margin-top:10px;font-size:15px;font-style:normal}.traits-list{background:var(--line);border:1px solid var(--line);gap:1px;display:grid}.trait{background:var(--paper);grid-template-columns:60px 1fr auto;align-items:center;gap:20px;padding:28px 24px;transition:background .25s;display:grid}.trait:hover{background:var(--mist)}.trait .num{font-family:var(--mono);color:var(--muted);letter-spacing:calc(var(--letter-wide) + .12em);font-size:11px}.trait .label{font-family:var(--serif);letter-spacing:var(--letter-display);font-size:22px;font-style:italic}.trait .tag-pill{font-family:var(--mono);letter-spacing:calc(var(--letter-wide) + .13em);text-transform:uppercase;background:var(--ink);color:var(--paper);border-radius:3px;padding:4px 10px;font-size:10px}.skill-grid{grid-template-columns:repeat(3,1fr);gap:40px;margin-top:20px;display:grid}.skill-col h4{font-family:var(--mono);letter-spacing:calc(var(--letter-wide) + .22em);text-transform:uppercase;color:var(--sea);border-bottom:1px solid var(--line-strong);margin-bottom:20px;padding-bottom:12px;font-size:11px}.skill-col ul{gap:14px;padding:0;list-style:none;display:grid}.skill-col li{font-family:var(--serif);color:var(--ink);letter-spacing:var(--letter-display);justify-content:space-between;align-items:center;gap:12px;font-size:22px;font-style:italic;display:flex}.skill-col li .si{background:var(--mist);border-radius:6px;flex:0 0 26px;justify-content:center;align-items:center;width:26px;height:26px;margin-right:10px;padding:4px;font-style:normal;display:inline-flex}.skill-col li .si svg{width:100%;height:100%;display:block}.skill-col li .si[data-lang=py]{color:#3776ab;background:#f5f7fa}.skill-col li .si[data-lang=ts]{color:#3178c6;background:#f5f7fa}.skill-col li .si[data-lang=js]{color:#b8860b;background:#fff7d6}.skill-col li .si[data-lang=sw]{color:#f05138;background:#fff2ec}.skill-col li .si[data-lang=cpp]{color:#00599c;background:#eff4fb}.skill-col li .si[data-lang=react]{color:#61dafb;background:#eaf6fb}.skill-col li .si[data-lang=pt]{color:#ee4c2c;background:#fef0ec}.skill-col li .si[data-lang=dj]{color:#0c4b33;background:#e6f2ec}.skill-col li .si[data-lang=ar]{color:#000;background:#f1f2f7}.skill-col li .si[data-lang=llm]{color:#7c3aed;background:#f6eefb}.skill-col li .si[data-lang=aws]{color:#f90;background:#fff3e4}.skill-col li .si[data-lang=lnx]{color:#1a1a1a;background:#fffbea}.skill-col li .si[data-lang=git]{color:#f05033;background:#fdece4}.skill-col li .si[data-lang=db]{color:#4479a1;background:#e9f1f7}.skill-col li .si[data-lang=fb]{color:#ffa000;background:#fff4e0}.skill-col li .si[data-lang=node]{color:#393;background:#eff7ee}.skill-col li .si[data-lang=docker]{color:#2496ed;background:#e8f4fd}.skill-col li .si[data-lang=php]{color:#777bb4;background:#eef0f7}.skill-col li .si[data-lang=laravel]{color:#ff2d20;background:#fef0ec}.skill-col li .lvl{font-family:var(--mono);color:var(--muted);letter-spacing:calc(var(--letter-wide) + .1em);margin-left:auto;font-size:10px;font-style:normal}.skill-name{align-items:center;display:flex}.projects-list{border-top:1px solid var(--line-strong);gap:0;display:grid}.project{border-bottom:1px solid var(--line);cursor:pointer;color:inherit;grid-template-columns:60px 1fr 200px 160px 40px;align-items:center;gap:24px;padding:32px 8px;text-decoration:none;transition:padding .3s,background .3s;display:grid;position:relative}.project:hover{background:linear-gradient(90deg,transparent,var(--mist)30%,var(--mist)70%,transparent);padding-left:24px}.project .p-num{font-family:var(--mono);color:var(--muted);letter-spacing:calc(var(--letter-wide) + .08em);font-size:12px}.project .p-title{font-family:var(--serif);letter-spacing:var(--letter-display);font-size:32px;font-weight:400;line-height:1.12}.project .p-sub{font-family:var(--sans);color:var(--muted);max-width:55ch;margin-top:6px;font-size:13px}.project .p-tags{flex-wrap:wrap;gap:6px;display:flex}.project .p-tags span{font-family:var(--mono);letter-spacing:calc(var(--letter-wide) + .08em);text-transform:uppercase;border:1px solid var(--line-strong);color:var(--ink-2);border-radius:3px;padding:4px 8px;font-size:10px}.project .p-date{font-family:var(--mono);color:var(--muted);text-align:right;letter-spacing:calc(var(--letter-wide) + .04em);font-size:12px}.project .p-arrow{border:1px solid var(--line-strong);width:28px;height:28px;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;transition:transform .3s,background .3s,color .3s;display:flex}.project:hover .p-arrow{background:var(--ink);color:var(--paper);transform:rotate(-45deg)}.project .p-preview{opacity:0;pointer-events:none;background:var(--paper-2);z-index:5;border-radius:6px;width:220px;height:140px;transition:opacity .3s,transform .3s;position:absolute;top:50%;right:280px;overflow:hidden;transform:translateY(-50%)scale(.85);box-shadow:0 20px 50px -20px oklch(25% .1 245/.6)}.project .p-preview img{object-fit:cover;width:100%;height:100%}.project:hover .p-preview{opacity:1;transform:translateY(-50%)scale(1)}.cv-wrap{padding:20px 0;position:relative}.cv-wrap:before{content:"";background:linear-gradient(to bottom,transparent,var(--line-strong)8%,var(--line-strong)92%,transparent);width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.cv-item{cursor:pointer;grid-template-columns:1fr 80px 1fr;align-items:start;gap:0;padding:18px 0;display:grid;position:relative}.cv-item.work .content{text-align:right;grid-column:1;align-items:flex-end}.cv-item.work .date{text-align:left;grid-column:3;padding-left:8px}.cv-item.edu .content{text-align:left;grid-column:3}.cv-item.edu .date{text-align:right;grid-column:1;padding-right:8px}.cv-item .marker{grid-area:1/2}.cv-item .date{font-family:var(--mono);color:var(--muted);letter-spacing:calc(var(--letter-wide) + .04em);grid-row:1;padding-top:16px;font-size:12px}.cv-item .marker{justify-content:center;padding-top:14px;display:flex;position:relative}.cv-item .marker .bullet{background:var(--paper);border:2px solid var(--ink);z-index:2;border-radius:50%;width:14px;height:14px;transition:transform .3s,box-shadow .3s;position:relative}.cv-item.edu .marker .bullet{background:var(--ink)}.cv-item:hover .marker .bullet{box-shadow:0 0 0 6px var(--sea);transform:scale(1.3)}@supports (color:color-mix(in lab,red,red)){.cv-item:hover .marker .bullet{box-shadow:0 0 0 6px color-mix(in oklab,var(--sea)25%,transparent)}}.cv-item.expanded .marker .bullet{box-shadow:0 0 0 6px var(--sea);transform:scale(1.3)}@supports (color:color-mix(in lab,red,red)){.cv-item.expanded .marker .bullet{box-shadow:0 0 0 6px color-mix(in oklab,var(--sea)25%,transparent)}}.cv-item .content{border-radius:8px;flex-direction:column;padding:14px 20px;transition:background .3s;display:flex}.cv-item:hover .content{background:var(--paper-2)}.cv-item.expanded .content{background:var(--paper-2);box-shadow:0 10px 40px -20px oklch(25% .1 245/.3)}.cv-item .content .role{font-family:var(--serif);letter-spacing:var(--letter-display);margin-bottom:4px;font-size:24px;font-weight:400;line-height:1.18}.cv-item .content .place{font-family:var(--mono);color:var(--ink-2);letter-spacing:calc(var(--letter-wide) + .02em);font-size:12px}.cv-item .content .extra{font-family:var(--mono);color:var(--muted);letter-spacing:calc(var(--letter-wide) + .04em);margin-top:4px;font-size:11px}.cv-item .content .kind{font-family:var(--mono);letter-spacing:calc(var(--letter-wide) + .18em);text-transform:uppercase;border-radius:3px;width:fit-content;margin-bottom:8px;padding:3px 8px;font-size:9px;display:inline-block}.cv-item.work .content .kind{background:var(--mist);color:var(--ink)}.cv-item.edu .content .kind{background:var(--ink);color:var(--paper)}.cv-item .content .details{opacity:0;max-height:0;font-family:var(--sans);color:var(--muted);font-size:14px;line-height:1.6;transition:max-height .4s,margin-top .3s,opacity .3s;overflow:hidden}.cv-item.expanded .content .details{opacity:1;max-height:200px;margin-top:12px}.cv-tags{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.cv-tags span{font-family:var(--mono);letter-spacing:calc(var(--letter-wide) + .08em);text-transform:uppercase;border:1px solid var(--line-strong);color:var(--muted);border-radius:3px;padding:3px 8px;font-size:10px}.cv-item .content .expand-hint{font-family:var(--mono);color:var(--sea);letter-spacing:calc(var(--letter-wide) + .12em);text-transform:uppercase;opacity:0;margin-top:8px;font-size:10px;transition:opacity .2s}.cv-item:hover .content .expand-hint{opacity:.8}.cv-item.expanded .content .expand-hint{opacity:0}.contact-wrap{background:var(--paper);color:var(--ink);border-top:1px solid var(--line);margin-top:40px;padding:100px 60px 80px;position:relative;overflow:hidden}.contact-wrap:before{content:"";background:radial-gradient(ellipse 60% 50% at 20% 20%,var(--sea),transparent 60%),radial-gradient(ellipse 50% 50% at 85% 80%,var(--sky),transparent 60%);position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.contact-wrap:before{background:radial-gradient(ellipse 60% 50% at 20% 20%,color-mix(in oklab,var(--sea)10%,transparent),transparent 60%),radial-gradient(ellipse 50% 50% at 85% 80%,color-mix(in oklab,var(--sky)14%,transparent),transparent 60%)}}.contact-wrap:before{pointer-events:none}.contact-inner{grid-template-columns:1.5fr 1fr;align-items:end;gap:60px;max-width:1120px;margin:0 auto;display:grid;position:relative}.contact-title{font-family:var(--serif);letter-spacing:var(--letter-display);font-size:clamp(56px,8vw,120px);font-weight:400;line-height:.96}.contact-title em{color:var(--sea);font-style:italic}.contact-meta{gap:20px;display:grid}.contact-meta .row{border-top:1px solid var(--line-strong);padding-top:12px}.contact-meta .row .k{font-family:var(--mono);letter-spacing:calc(var(--letter-wide) + .24em);text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:10px}.contact-meta .row .v{font-family:var(--serif);letter-spacing:var(--letter-display);color:var(--ink);font-size:22px;font-style:italic}.contact-meta .row .v a:hover{color:var(--sea)}footer.foot{background:var(--paper);flex-direction:column;align-items:center;gap:28px;padding:56px 48px 32px;display:flex}footer.foot .sig-line{font-family:var(--serif);color:var(--ink-2);letter-spacing:var(--letter-display);align-items:center;gap:10px;font-size:22px;font-style:italic;display:inline-flex}footer.foot .sig-line .dot-sm{background:var(--sea);border-radius:50%;width:8px;height:8px;display:inline-block}footer.foot .row1{flex-wrap:wrap;justify-content:center;align-items:center;gap:40px;display:flex}footer.foot .socials{gap:12px;display:flex}footer.foot .socials a{border:1px solid var(--line-strong);width:42px;height:42px;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;transition:background .2s,color .2s,transform .2s;display:flex}footer.foot .socials a:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px)}footer.foot .socials svg{width:18px;height:18px}footer.foot .row2{font-family:var(--mono);color:var(--muted);letter-spacing:calc(var(--letter-wide) + .1em);border-top:1px solid var(--line);justify-content:space-between;width:100%;padding-top:24px;font-size:11px;display:flex}@media (max-width:960px){nav.top ul,nav.top .status{display:none}nav.top{padding:16px 24px}section.hero{grid-template-columns:1fr;gap:60px;padding:120px 24px 80px}.photo-frame{max-width:320px}.tag{padding:8px 12px;font-size:10px}.tag.t-code{left:-10%}.tag.t-travel{right:-10%}.tag.t-photo{left:-10%}.tag.t-animal{right:-5%}section.block{padding:80px 24px}.about-grid{grid-template-columns:1fr;gap:40px}.about-body{font-size:22px}.skill-grid{gap:32px;grid-template-columns:1fr 1fr!important}.skill-grid>:nth-child(n+3){margin-top:0}@media (max-width:600px){.skill-grid{grid-template-columns:1fr!important}}.project{grid-template-columns:40px 1fr 40px;gap:16px}.project .p-tags,.project .p-date,.project .p-preview{display:none}.cv-wrap:before{left:20px}.cv-item{grid-template-columns:40px 1fr;gap:8px;padding-left:0}.cv-item.work .content,.cv-item.edu .content{grid-column:2;padding:10px 12px;text-align:left!important;align-items:flex-start!important}.cv-item.work .date,.cv-item.edu .date{text-align:left;grid-column:2;padding:0 0 2px 12px;font-size:11px}.cv-item.work .date{grid-row:1}.cv-item.work .content{grid-row:2}.cv-item .marker{grid-area:1/1/span 2;padding-top:8px}.contact-wrap{padding:60px 28px}.contact-inner{grid-template-columns:1fr}.marquee-track{gap:40px;font-size:20px}}@keyframes radio{0%{padding:5px}50%{padding:3px}}@keyframes skeleton{0%{background-position:150%}to{background-position:-50%}}@keyframes progress{50%{background-position-x:-115%}}@keyframes toast{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}@keyframes dropdown{0%{opacity:0}}@keyframes rating{0%,40%{filter:brightness(1.05)contrast(1.05);scale:1.1}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
