@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--red:oklch(63.259% .24086 31.631);--blue:oklch(56.774% .12194 238.83);--yellow:oklch(83.099% .17046 81.363)}*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:"Open Sans Local", "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Consolas, monospace;--color-black:#000;--spacing:.25rem;--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}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}: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}:root{--fx-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E");scrollbar-color:currentColor #0000}@supports (color:color-mix(in lab,red,red)){:root{scrollbar-color:color-mix(in oklch,currentColor 35%,#0000) #0000}}@property --radialprogress{syntax:"<percentage>";inherits:true;initial-value:0%}:root:not(span){overflow:var(--page-overflow)}:root{background:var(--page-scroll-bg,var(--root-bg));--page-scroll-bg-on:linear-gradient(var(--root-bg,#0000), var(--root-bg,#0000)) var(--root-bg,#0000)}@supports (color:color-mix(in lab,red,red)){:root{--page-scroll-bg-on:linear-gradient(var(--root-bg,#0000), var(--root-bg,#0000)) color-mix(in srgb, var(--root-bg,#0000), oklch(0% 0 0) calc(var(--page-has-backdrop,0) * 40%))}}:root{--page-scroll-transition-on:background-color .3s ease-out;transition:var(--page-scroll-transition);scrollbar-gutter:var(--page-scroll-gutter,unset);scrollbar-gutter:if(style(--page-has-scroll: 1): var(--page-scroll-gutter,unset) ; else: unset)}@keyframes set-page-has-scroll{0%,to{--page-has-scroll:1}}:root,[data-theme]{background:var(--page-scroll-bg,var(--root-bg));color:var(--color-base-content)}:where(:root,[data-theme]){--root-bg:var(--color-base-100)}}@layer components;@layer utilities{@layer daisyui.l1.l2.l3{.diff{webkit-user-select:none;-webkit-user-select:none;user-select:none;direction:ltr;grid-template-rows:1fr 1.8rem 1fr;grid-template-columns:auto 1fr;width:100%;display:grid;position:relative;overflow:hidden;container-type:inline-size}.diff:focus-visible,.diff:has(.diff-item-1:focus-visible){outline-style:var(--tw-outline-style);outline-offset:1px;outline-width:2px;outline-color:var(--color-base-content)}.diff:focus-visible .diff-resizer{min-width:95cqi;max-width:95cqi}.diff:has(.diff-item-1:focus-visible){outline-style:var(--tw-outline-style);outline-offset:1px;outline-width:2px}.diff:has(.diff-item-1:focus-visible) .diff-resizer{min-width:5cqi;max-width:5cqi}@supports (-webkit-overflow-scrolling:touch) and (overflow:-webkit-paged-x){.diff:focus .diff-resizer{min-width:5cqi;max-width:5cqi}.diff:has(.diff-item-1:focus) .diff-resizer{min-width:95cqi;max-width:95cqi}}.loading{pointer-events:none;aspect-ratio:1;vertical-align:middle;width:calc(var(--size-selector,.25rem) * 6);background-color:currentColor;display:inline-block;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:100%;mask-size:100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.list{flex-direction:column;font-size:.875rem;display:flex}.list .list-row{--list-grid-cols:minmax(0, auto) 1fr;border-radius:var(--radius-box);word-break:break-word;grid-auto-flow:column;grid-template-columns:var(--list-grid-cols);gap:1rem;padding:1rem;display:grid;position:relative}:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{content:"";border-bottom:var(--border) solid;inset-inline:var(--radius-box);border-color:var(--color-base-content);position:absolute;bottom:0}@supports (color:color-mix(in lab,red,red)){:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{border-color:color-mix(in oklab,var(--color-base-content) 5%,transparent)}}.input{cursor:text;border:var(--border) solid #0000;appearance:none;background-color:var(--color-base-100);vertical-align:middle;white-space:nowrap;width:clamp(3rem,20rem,100%);height:var(--size);font-size:max(var(--font-size,.875rem),.875rem);touch-action:manipulation;border-color:var(--input-color);box-shadow:0 1px var(--input-color) inset,0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;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-shrink:1;align-items:center;gap:.5rem;padding-inline:.75rem;display:inline-flex;position:relative}@supports (color:color-mix(in lab,red,red)){.input{box-shadow:0 1px color-mix(in oklab,var(--input-color) calc(var(--depth) * 10%),#0000) inset,0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset}}.input{--size:calc(var(--size-field,.25rem) * 10);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.input{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.input:where(input){display:inline-flex}.input :where(input){appearance:none;background-color:#0000;border:none;width:100%;height:100%;display:inline-flex}.input :where(input):focus,.input :where(input):focus-within{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.input :where(input):focus,.input :where(input):focus-within{outline-offset:2px;outline:2px solid #0000}}.input :where(input[type=url]),.input :where(input[type=email]){direction:ltr}.input :where(input[type=date]){display:inline-flex}.input:focus,.input:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab,red,red)){.input:focus,.input:focus-within{box-shadow:0 1px color-mix(in oklab,var(--input-color) calc(var(--depth) * 10%),#0000)}}.input:focus,.input:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}@media(pointer:coarse){@supports (-webkit-touch-callout:none){.input:focus,.input:focus-within{--font-size:1rem}}}.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{color:color-mix(in oklab,var(--color-base-content) 40%,transparent)}}:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input)::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input)::placeholder{color:color-mix(in oklab,var(--color-base-content) 20%,transparent)}}.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{box-shadow:none}.input:has(>input[disabled])>input[disabled]{cursor:not-allowed}.input::-webkit-date-and-time-value{text-align:inherit}.input[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input::-webkit-calendar-picker-indicator{position:absolute;inset-inline-end:.75em}.input:has(>input[type=date]) :where(input[type=date]){webkit-appearance:none;appearance:none;display:inline-flex}.input:has(>input[type=date]) input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;width:1em;height:1em;position:absolute;inset-inline-end:.75em}.table{border-collapse:separate;--tw-border-spacing-x: 0rem ;--tw-border-spacing-y: 0rem ;width:100%;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y);border-radius:var(--radius-box);text-align:left;font-size:.875rem;position:relative}.table:where(:dir(rtl),[dir=rtl],[dir=rtl] *){text-align:right}@media(hover:hover){:is(.table tr.row-hover,.table tr.row-hover:nth-child(2n)):hover{background-color:var(--color-base-200)}}.table :where(th,td){vertical-align:middle;padding-block:.75rem;padding-inline:1rem}.table :where(thead,tfoot){white-space:nowrap;color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.table :where(thead,tfoot){color:color-mix(in oklab,var(--color-base-content) 60%,transparent)}}.table :where(thead,tfoot){font-size:.875rem;font-weight:600}.table :where(tfoot tr:first-child :is(td,th)){border-top:var(--border) solid var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.table :where(tfoot tr:first-child :is(td,th)){border-top:var(--border) solid color-mix(in oklch,var(--color-base-content) 5%,#0000)}}.table :where(.table-pin-rows thead tr){z-index:1;background-color:var(--color-base-100);position:sticky;top:0}.table :where(.table-pin-rows tfoot tr){z-index:1;background-color:var(--color-base-100);position:sticky;bottom:0}.table :where(.table-pin-cols tr th){background-color:var(--color-base-100);position:sticky;left:0;right:0}.table :where(thead tr :is(td,th),tbody tr:not(:last-child) :is(td,th)){border-bottom:var(--border) solid var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.table :where(thead tr :is(td,th),tbody tr:not(:last-child) :is(td,th)){border-bottom:var(--border) solid color-mix(in oklch,var(--color-base-content) 5%,#0000)}}.steps{counter-reset:step;grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid;overflow:auto hidden}.steps .step{text-align:center;--step-bg:var(--color-base-300);--step-fg:var(--color-base-content);grid-template-rows:40px 1fr;grid-template-columns:auto;place-items:center;min-width:4rem;display:grid}.steps .step:before{width:100%;height:.5rem;color:var(--step-bg);background-color:var(--step-bg);content:"";border:1px solid;grid-row-start:1;grid-column-start:1;margin-inline-start:-100%;top:0}.steps .step>.step-icon,.steps .step:not(:has(.step-icon)):after{--tw-content:counter(step);content:var(--tw-content);counter-increment:step;z-index:1;color:var(--step-fg);background-color:var(--step-bg);border:1px solid var(--step-bg);border-radius:3.40282e38px;grid-row-start:1;grid-column-start:1;place-self:center;place-items:center;width:2rem;height:2rem;display:grid;position:relative}.steps .step:first-child:before{--tw-content:none;content:var(--tw-content)}.steps .step[data-content]:after{--tw-content:attr(data-content);content:var(--tw-content)}.range{appearance:none;webkit-appearance:none;--range-thumb:var(--color-base-100);--range-thumb-size:calc(var(--size-selector,.25rem) * 6);--range-progress:currentColor;--range-fill:1;--range-p:.25rem;--range-bg:currentColor}@supports (color:color-mix(in lab,red,red)){.range{--range-bg:color-mix(in oklab, currentColor 10%, #0000)}}.range{cursor:pointer;vertical-align:middle;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--range-p),var(--radius-selector-max)));width:clamp(3rem,20rem,100%);height:var(--range-thumb-size);background-color:#0000;border:none;overflow:hidden}[dir=rtl] .range{--range-dir:-1}.range:focus{outline:none}.range:focus-visible{outline-offset:2px;outline:2px solid}.range::-webkit-slider-runnable-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size) * .5)}@media(forced-colors:active){.range::-webkit-slider-runnable-track{border:1px solid}.range::-moz-range-track{border:1px solid}}.range::-webkit-slider-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p),var(--radius-selector-max)));background-color:var(--range-thumb);height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p) solid;appearance:none;webkit-appearance:none;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset,0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset,0 1px currentColor,0 0 0 2rem var(--range-thumb) inset,calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));position:relative;top:50%;transform:translateY(-50%)}@supports (color:color-mix(in lab,red,red)){.range::-webkit-slider-thumb{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset,0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset,0 1px color-mix(in oklab,currentColor calc(var(--depth) * 10%),#0000),0 0 0 2rem var(--range-thumb) inset,calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill))}}.range::-moz-range-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size) * .5)}.range::-moz-range-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p),var(--radius-selector-max)));height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p) solid;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset,0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset,0 1px currentColor,0 0 0 2rem var(--range-thumb) inset,calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));background-color:currentColor;position:relative;top:50%}@supports (color:color-mix(in lab,red,red)){.range::-moz-range-thumb{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset,0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset,0 1px color-mix(in oklab,currentColor calc(var(--depth) * 10%),#0000),0 0 0 2rem var(--range-thumb) inset,calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill))}}.range:disabled{cursor:not-allowed;opacity:.3}.swap{cursor:pointer;vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;user-select:none;place-content:center;display:inline-grid;position:relative}.swap input{appearance:none;border:none}.swap>*{grid-row-start:1;grid-column-start:1}@media(prefers-reduced-motion:no-preference){.swap>*{transition-property:transform,rotate,opacity;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}}.swap .swap-on,.swap .swap-indeterminate,.swap input:indeterminate~.swap-on,.swap input:is(:checked,:indeterminate)~.swap-off{opacity:0}.swap input:checked~.swap-on,.swap input:indeterminate~.swap-indeterminate{opacity:1;backface-visibility:visible}.card{border-radius:var(--radius-box);outline-offset:2px;outline:0 solid #0000;flex-direction:column;transition:outline .2s ease-in-out;display:flex;position:relative}.card:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.card:focus{outline-offset:2px;outline:2px solid #0000}}.card:focus-visible{outline-color:currentColor}.card :where(figure:first-child){border-start-start-radius:inherit;border-start-end-radius:inherit;border-end-end-radius:unset;border-end-start-radius:unset;overflow:hidden}.card :where(figure:last-child){border-start-start-radius:unset;border-start-end-radius:unset;border-end-end-radius:inherit;border-end-start-radius:inherit;overflow:hidden}.card figure{justify-content:center;align-items:center;display:flex}.card:has(>input:is(input[type=checkbox],input[type=radio])){cursor:pointer;-webkit-user-select:none;user-select:none}.card:has(>:checked){outline:2px solid}.\!progress{appearance:none!important;border-radius:var(--radius-box)!important;background-color:currentColor!important;width:100%!important;height:.5rem!important;position:relative!important;overflow:hidden!important}@supports (color:color-mix(in lab,red,red)){.\!progress{background-color:color-mix(in oklab,currentcolor 20%,transparent)!important}}.\!progress{color:var(--color-base-content)!important}.\!progress:indeterminate{background-image:repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%)!important;background-position-x:15%!important;background-size:200%!important}@media(prefers-reduced-motion:no-preference){.\!progress:indeterminate{animation:5s ease-in-out infinite progress!important}}@supports ((-moz-appearance:none)){.\!progress:indeterminate::-moz-progress-bar{background-color:#0000!important}@media(prefers-reduced-motion:no-preference){.\!progress:indeterminate::-moz-progress-bar{background-image:repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%)!important;background-position-x:15%!important;background-size:200%!important;animation:5s ease-in-out infinite progress!important}}.\!progress::-moz-progress-bar{border-radius:var(--radius-box)!important;background-color:currentColor!important}}@supports ((-webkit-appearance:none)){.\!progress::-webkit-progress-bar{border-radius:var(--radius-box)!important;background-color:#0000!important}.\!progress::-webkit-progress-value{border-radius:var(--radius-box)!important;background-color:currentColor!important}}.progress{appearance:none;border-radius:var(--radius-box);background-color:currentColor;width:100%;height:.5rem;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.progress{background-color:color-mix(in oklab,currentcolor 20%,transparent)}}.progress{color:var(--color-base-content)}.progress:indeterminate{background-image:repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%);background-position-x:15%;background-size:200%}@media(prefers-reduced-motion:no-preference){.progress:indeterminate{animation:5s ease-in-out infinite progress}}@supports ((-moz-appearance:none)){.progress:indeterminate::-moz-progress-bar{background-color:#0000}@media(prefers-reduced-motion:no-preference){.progress:indeterminate::-moz-progress-bar{background-image:repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%);background-position-x:15%;background-size:200%;animation:5s ease-in-out infinite progress}}.progress::-moz-progress-bar{border-radius:var(--radius-box);background-color:currentColor}}@supports ((-webkit-appearance:none)){.progress::-webkit-progress-bar{border-radius:var(--radius-box);background-color:#0000}.progress::-webkit-progress-value{border-radius:var(--radius-box);background-color:currentColor}}.hero{background-position:50%;background-size:cover;place-items:center;width:100%;display:grid}.hero>*{grid-row-start:1;grid-column-start:1}.divider{white-space:nowrap;height:1rem;margin:var(--divider-m,1rem 0);--divider-color:var(--color-base-content);flex-direction:row;align-self:stretch;align-items:center;display:flex}@supports (color:color-mix(in lab,red,red)){.divider{--divider-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.divider:before,.divider:after{content:"";background-color:var(--divider-color);flex-grow:1;width:100%;height:.125rem}@media print{.divider:before,.divider:after{border:.5px solid}}.divider:not(:empty){gap:1rem}.filter{flex-wrap:wrap;display:flex}.filter input[type=radio]{width:auto}.filter input{opacity:1;transition:margin .1s,opacity .3s,padding .3s,border-width .1s;overflow:hidden;scale:1}.filter input:not(:last-child){margin-inline-end:.25rem}.filter input.filter-reset{aspect-ratio:1}.filter input.filter-reset:after{--tw-content:"×";content:var(--tw-content)}.filter:not(:has(input:checked:not(.filter-reset))) .filter-reset,.filter:not(:has(input:checked:not(.filter-reset))) input[type=reset],.filter:has(input:checked:not(.filter-reset)) input:not(:checked,.filter-reset,input[type=reset]){opacity:0;border-width:0;width:0;margin-inline:0;padding-inline:0;scale:0}.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)}}.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: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)}}.mask{vertical-align:middle;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.link{cursor:pointer;text-decoration-line:underline}.link:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.link:focus{outline-offset:2px;outline:2px solid #0000}}.link:focus-visible{outline-offset:2px;outline:2px solid}}.visible{visibility:visible}@layer daisyui.l1.l2{.list .list-row:has(.list-col-grow:first-child){--list-grid-cols:1fr}.list .list-row:has(.list-col-grow:nth-child(2)){--list-grid-cols:minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(3)){--list-grid-cols:minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(4)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(5)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(6)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row>*{grid-row-start:1}.steps .step-neutral+.step-neutral:before,.steps .step-neutral:after,.steps .step-neutral>.step-icon{--step-bg:var(--color-neutral);--step-fg:var(--color-neutral-content)}.steps .step-primary+.step-primary:before,.steps .step-primary:after,.steps .step-primary>.step-icon{--step-bg:var(--color-primary);--step-fg:var(--color-primary-content)}.steps .step-secondary+.step-secondary:before,.steps .step-secondary:after,.steps .step-secondary>.step-icon{--step-bg:var(--color-secondary);--step-fg:var(--color-secondary-content)}.steps .step-accent+.step-accent:before,.steps .step-accent:after,.steps .step-accent>.step-icon{--step-bg:var(--color-accent);--step-fg:var(--color-accent-content)}.steps .step-info+.step-info:before,.steps .step-info:after,.steps .step-info>.step-icon{--step-bg:var(--color-info);--step-fg:var(--color-info-content)}.steps .step-success+.step-success:before,.steps .step-success:after,.steps .step-success>.step-icon{--step-bg:var(--color-success);--step-fg:var(--color-success-content)}.steps .step-warning+.step-warning:before,.steps .step-warning:after,.steps .step-warning>.step-icon{--step-bg:var(--color-warning);--step-fg:var(--color-warning-content)}.steps .step-error+.step-error:before,.steps .step-error:after,.steps .step-error>.step-icon{--step-bg:var(--color-error);--step-fg:var(--color-error-content)}}.fixed{position:fixed}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.join{--join-ss:0;--join-se:0;--join-es:0;--join-ee:0;align-items:stretch;display:inline-flex}.join :where(.join-item){border-start-start-radius:var(--join-ss,0);border-start-end-radius:var(--join-se,0);border-end-end-radius:var(--join-ee,0);border-end-start-radius:var(--join-es,0)}.join :where(.join-item) *{--join-ss:var(--radius-field);--join-se:var(--radius-field);--join-es:var(--radius-field);--join-ee:var(--radius-field)}.join>.join-item:where(:first-child),.join :first-child:not(:last-child) :where(.join-item){--join-ss:var(--radius-field);--join-se:0;--join-es:var(--radius-field);--join-ee:0}.join>.join-item:where(:last-child),.join :last-child:not(:first-child) :where(.join-item){--join-ss:0;--join-se:var(--radius-field);--join-es:0;--join-ee:var(--radius-field)}.join>.join-item:where(:only-child),.join :only-child :where(.join-item){--join-ss:var(--radius-field);--join-se:var(--radius-field);--join-es:var(--radius-field);--join-ee:var(--radius-field)}.join>:where(:focus,:has(:focus)){z-index:1}@media(hover:hover){.join>:where(.btn:hover,:has(.btn:hover)){isolation:isolate}}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}:root .prose{--tw-prose-body:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){:root .prose{--tw-prose-body:color-mix(in oklab, var(--color-base-content) 80%, #0000)}}:root .prose{--tw-prose-headings:var(--color-base-content);--tw-prose-lead:var(--color-base-content);--tw-prose-links:var(--color-base-content);--tw-prose-bold:var(--color-base-content);--tw-prose-counters:var(--color-base-content);--tw-prose-bullets:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){:root .prose{--tw-prose-bullets:color-mix(in oklab, var(--color-base-content) 50%, #0000)}}:root .prose{--tw-prose-hr:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){:root .prose{--tw-prose-hr:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}:root .prose{--tw-prose-quotes:var(--color-base-content);--tw-prose-quote-borders:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){:root .prose{--tw-prose-quote-borders:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}:root .prose{--tw-prose-captions:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){:root .prose{--tw-prose-captions:color-mix(in oklab, var(--color-base-content) 50%, #0000)}}:root .prose{--tw-prose-code:var(--color-base-content);--tw-prose-pre-code:var(--color-neutral-content);--tw-prose-pre-bg:var(--color-neutral);--tw-prose-th-borders:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){:root .prose{--tw-prose-th-borders:color-mix(in oklab, var(--color-base-content) 50%, #0000)}}:root .prose{--tw-prose-td-borders:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){:root .prose{--tw-prose-td-borders:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}:root .prose{--tw-prose-kbd:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){:root .prose{--tw-prose-kbd:color-mix(in oklab, var(--color-base-content) 80%, #0000)}}:root .prose :where(code):not(pre>code){background-color:var(--color-base-200);border-radius:var(--radius-selector);border:var(--border) solid var(--color-base-300);font-weight:inherit;padding-block:.2em;padding-inline:.5em}:root .prose :where(code):not(pre>code):before,:root .prose :where(code):not(pre>code):after{display:none}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.prose :where(a.btn:not(.btn-link)):not(:where([class~=not-prose],[class~=not-prose] *)){text-decoration-line:none}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}@font-face{font-family:Open Sans Local;src:url(/_astro/opensans-regular.7s9KL9Bb.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Open Sans Local;src:url(/_astro/opensans-semibold.gN-3ccKH.ttf)format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Open Sans Local;src:url(/_astro/opensans-bold.DqUvPboT.ttf)format("truetype");font-weight:700 900;font-style:normal;font-display:swap}@property --red{syntax:"<color>";inherits:true;initial-value:oklch(63.259% .24086 31.631)}@property --blue{syntax:"<color>";inherits:true;initial-value:oklch(56.774% .12194 238.83)}@property --yellow{syntax:"<color>";inherits:true;initial-value:oklch(83.099% .17046 81.363)}:root{--paper:oklch(97.598% .02449 91.61);--paper-bright:oklch(98.623% .01422 84.583);--ink:oklch(20.463% 0 0);--muted:oklch(49.138% .02603 274.321);--red:oklch(63.259% .24086 31.631);--blue:oklch(56.774% .12194 238.83);--yellow:oklch(83.099% .17046 81.363);--rule:oklch(20.463% 0 0);--soft-rule:oklch(20.463% 0 0/.22);--page-title-gap:1rem;color-scheme:light;transition:--red .5s,--blue .5s,--yellow .5s}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth;scrollbar-color:oklch(20.463% 0 0/.42) transparent;scrollbar-gutter:stable;scrollbar-width:thin;overflow:clip auto}html::-webkit-scrollbar{width:.7rem}html::-webkit-scrollbar-track{background:0 0}html::-webkit-scrollbar-thumb{background:#1717176b padding-box padding-box;border:.2rem solid #0000;border-radius:999px}html::-webkit-scrollbar-thumb:hover{background:#1717179e padding-box padding-box}body{min-width:20rem;min-height:100vh;color:var(--ink);background:var(--paper);font-family:var(--font-sans);margin:0;line-height:1.55;overflow-x:clip}::selection{color:var(--ink);background:#f2bd24bf}a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:.11em;transition:color .15s,background-color .15s}a:hover{color:var(--blue)}:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-shell{width:min(100% - 3rem,72rem);min-height:100svh;margin-inline:auto;padding:1.5rem 0 5rem;position:relative}.site-main,.site-nav{z-index:1;position:relative}.site-main{animation:.42s cubic-bezier(.2,.7,.2,1) both page-in}@keyframes page-in{0%{opacity:0;transform:translateY(.75rem)}}.eyebrow{letter-spacing:.035em;align-items:center;gap:.65rem;margin:0 0 .8rem;font-size:.78rem;font-weight:700;display:flex}.eyebrow:before{background:var(--red);content:"";width:1.7rem;height:.55rem}.page-intro{justify-items:start;gap:var(--page-title-gap);grid-template-columns:minmax(0,1fr);margin:clamp(4.5rem,10vw,7.5rem) 0 2.75rem;padding-bottom:.5rem;display:grid}.page-intro h1{letter-spacing:-.055em;max-width:15ch;margin:0;font-size:clamp(2.6rem,7vw,5.8rem);font-weight:800;line-height:.92}.page-intro__index{aspect-ratio:1;width:4.5rem;color:var(--paper-bright);background:var(--blue);place-items:center;font-size:1rem;font-weight:800;display:grid}.resume-section{grid-template-columns:11rem minmax(0,1fr);gap:2.5rem;padding:2.7rem 0;display:grid;position:relative}.resume-section:before{content:"";background:#15151533;width:2px;position:absolute;top:0;bottom:0;left:12.25rem;transform:translate(-50%)}.section-title{color:var(--ink);letter-spacing:.025em;text-align:right;align-self:start;margin:0;padding-right:.25rem;font-size:clamp(1rem,1.7vw,1.3rem);font-weight:800;line-height:1.2;position:sticky;top:1.5rem}.section-title:before{aspect-ratio:1;border:2px solid var(--paper);background:var(--red);width:.8rem;box-shadow:0 0 0 1px var(--red);content:"";border-radius:50%;position:absolute;top:.36rem;left:11.85rem}.resume-section:nth-of-type(3n+2) .section-title:before{background:var(--blue);box-shadow:0 0 0 1px var(--blue)}.resume-section:nth-of-type(3n+3) .section-title:before{background:var(--yellow);box-shadow:0 0 0 1px var(--yellow)}.resume-list{gap:2rem;display:grid}.resume-entry{position:relative}.resume-entry__heading{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1.25rem;margin-bottom:.75rem;display:grid}.resume-entry__title{letter-spacing:-.025em;margin:0;font-size:clamp(1.15rem,2.2vw,1.45rem);font-weight:800;line-height:1.08}.resume-entry__meta,.resume-entry__aside{color:var(--muted);font-size:.82rem}.resume-entry__aside{text-align:right}.resume-entry__company{align-items:center;gap:.45rem;margin-top:.35rem;display:flex}.resume-entry ul,.achievement-list{margin:0;padding-left:1.1rem;font-size:.92rem;list-style:none}.resume-entry li,.achievement-list li{margin-bottom:.38rem;padding-left:.2rem;position:relative}.resume-entry li:before,.achievement-list li:before{content:"■";color:var(--red);font-size:.58em;line-height:2.5;position:absolute;top:0;right:calc(100% + .55rem)}.resume-list .resume-entry:nth-child(4n+2) li:before{content:"●";color:var(--blue)}.resume-list .resume-entry:nth-child(4n+3) li:before{content:"◆";color:var(--yellow)}.resume-list .resume-entry:nth-child(4n+4) li:before{content:"▲";color:var(--ink)}.achievement-list li:before{content:"◆";color:var(--blue)}.tag-line{color:var(--muted);letter-spacing:.02em;font-size:.78rem}.skills-list{gap:0;margin:0;display:grid}.skills-list>div{grid-template-columns:10rem minmax(0,1fr);gap:1rem;padding:.8rem 1rem;display:grid}.skills-list>div:nth-child(odd){background:#fffdf7b8}.skills-list dt{letter-spacing:.01em;font-size:.75rem;font-weight:800}.skills-list dd{margin:0;font-size:.9rem}.editorial-list{margin:0 0 5rem;padding:0;list-style:none;display:grid}.editorial-item{background-color:#fdf7e5c7;grid-template-columns:4rem minmax(0,1fr) auto;gap:1.5rem;margin:0;padding:1.8rem 1.25rem;transition:background-color .16s,transform .16s;display:grid;position:relative}.editorial-item:nth-child(odd){background-color:#fffdf7e0}.editorial-item:hover{background-color:#fdf7e5eb;background-image:linear-gradient(#1717170e,#1717170e);transform:translate(.22rem)}.editorial-item:has(.editorial-item__title:focus-visible){outline:3px solid var(--blue);outline-offset:2px}.editorial-item__number{color:var(--blue);letter-spacing:.08em;font-size:.8rem;font-weight:800}.editorial-item__heading{margin:0}.editorial-item__title{letter-spacing:-.03em;font-size:clamp(1.25rem,2.8vw,1.8rem);font-weight:800;line-height:1.12;text-decoration:none;display:inline}.editorial-item__title:after{z-index:1;content:"";position:absolute;inset:0}.editorial-item__title:focus-visible{outline:none}.editorial-item__title:hover{text-decoration:underline}.editorial-item__description{max-width:52rem;color:var(--muted);margin:.55rem 0 0;font-size:.9rem}.editorial-item__aside{min-width:8rem;color:var(--muted);text-align:right;font-size:.78rem}.project-body{max-width:50rem;margin-top:.75rem;font-size:.9rem}.project-body p{margin:0}.article-layout{grid-template-columns:minmax(0,48rem) 11rem;justify-content:space-between;align-items:start;gap:4rem;display:grid}.article-header{margin:4rem 0 3.5rem;padding:0 0 1rem;position:relative}.article-header:before{background:var(--red);content:"";width:5rem;height:1rem;margin-bottom:1.5rem;display:block}.article-header h1{letter-spacing:-.055em;max-width:18ch;margin:0 0 1.1rem;font-size:clamp(2.5rem,6vw,5rem);font-weight:800;line-height:.98}.article-date{color:var(--muted);letter-spacing:.02em;font-size:.76rem;font-weight:700}.prose{font-size:1rem;line-height:1.78}.prose>:first-child{margin-top:0}.prose p,.prose ul,.prose ol,.prose blockquote,.prose table{margin:0 0 1.35rem}.prose h2{letter-spacing:-.035em;margin:3rem 0 1rem;font-size:clamp(1.65rem,3.5vw,2.35rem);font-weight:800;line-height:1.08}.prose h2:before{background:var(--red);content:"";width:.75rem;height:.75rem;margin-right:.7rem;display:inline-block}.prose h2:nth-of-type(4n+2):before{background:var(--blue);border-radius:50%}.prose h2:nth-of-type(4n+3):before{background:var(--yellow);clip-path:polygon(50% 0,100% 100%,0 100%)}.prose h2:nth-of-type(4n+4):before{background:var(--ink);border-radius:100% 0 0}.prose h3{margin:2.2rem 0 .65rem;font-size:1.25rem;font-weight:800;line-height:1.25}.prose h4{margin:1.8rem 0 .55rem;font-size:1.05rem;font-weight:800}.prose ul,.prose ol{padding-left:1.4rem}.prose li{margin-bottom:.35rem}.prose li::marker{color:var(--red);font-weight:800}.prose blockquote{border-left:.65rem solid var(--blue);background:#fffdf7bf;margin-left:0;padding:1rem 1.25rem;font-size:1.05rem}.prose blockquote>:last-child{margin-bottom:0}.prose :not(pre)>code{border:1px solid var(--soft-rule);background:var(--paper-bright);font-family:var(--font-mono);padding:.12em .34em;font-size:.87em}.prose pre{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);counter-reset:line;border:0;margin:1.75rem 0;padding:1rem 0;font-size:.8rem;line-height:1.65;overflow-x:auto;background:#fffdf7d1!important}.prose pre code{background:0 0;min-width:max-content;display:grid}.prose pre .line{padding:0 .8rem}.prose pre .line:before{color:#15151552;text-align:right;content:counter(line);counter-increment:line;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;width:1.5rem;margin-right:.85rem;display:inline-block}.prose pre .line.highlighted{background:#f2bd2438}.prose table{border-collapse:collapse;max-width:100%;font-size:.88rem;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--rule);text-align:left;padding:.65rem .8rem}.prose th{background:var(--yellow);font-weight:800}.prose img{border:1px solid var(--rule);max-width:100%}.toc{align-self:start;margin-top:4rem;padding-top:.8rem;font-size:.72rem;position:sticky;top:2rem}.toc:before{background:var(--yellow);content:"";width:1.2rem;height:1.2rem;margin-bottom:.8rem;display:block}.toc__label{letter-spacing:.02em;margin:0 0 .8rem;font-weight:800}.toc ul{margin:0;padding:0;list-style:none}.toc li{margin:0 0 .7rem}.toc a{color:var(--muted);line-height:1.3;text-decoration:none;display:block}.toc a:hover{color:var(--blue)}.toc a.is-visible{color:var(--ink);font-weight:700}.toc__bar{background:var(--soft-rule);width:100%;height:.22rem;margin-bottom:.8rem}.toc__progress{background:var(--blue);width:0;height:100%;transition:width .12s linear}@media(max-width:64rem){.article-layout{grid-template-columns:minmax(0,1fr)}.toc{display:none}}@media(max-width:44rem){:root{--page-title-gap:1.5rem}.site-shell{width:min(100% - 2rem,72rem);padding-top:1rem}.page-intro{grid-template-columns:minmax(0,1fr)}.page-intro__index{width:3.5rem}.resume-section{grid-template-columns:minmax(0,1fr);gap:1.75rem;padding:1.5rem 0}.resume-section:before{display:block;left:auto;right:-.5rem;transform:translate(50%)}.section-title{text-align:right;width:100%;padding-right:1.5rem}.section-title:before{top:50%;left:auto;right:-.9rem;transform:translateY(-50%)}.section-title{position:relative;top:auto}.resume-entry__heading{grid-template-columns:minmax(0,1fr);gap:.35rem}.resume-entry__aside{text-align:left}.skills-list>div{grid-template-columns:minmax(0,1fr);gap:.3rem}.editorial-item{grid-template-columns:2.4rem minmax(0,1fr);gap:1rem}.editorial-list{margin-left:-1rem;margin-right:-1rem}.editorial-item:hover{transform:none}.editorial-item__aside{text-align:left;grid-column:2}.article-header{margin-top:2.8rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes rating{0%,40%{filter:brightness(1.05)contrast(1.05);scale:1.1}}@keyframes dropdown{0%{opacity:0}}@keyframes radio{0%{padding:5px}50%{padding:3px}}@keyframes toast{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}@keyframes rotator{89.9999%,to{--first-item-position:0 0%}90%,99.9999%{--first-item-position:0 calc(var(--items) * 100%)}to{translate:0 -100%}}@keyframes skeleton{0%{background-position:150%}to{background-position:-50%}}@keyframes menu{0%{opacity:0}}@keyframes progress{50%{background-position-x:-115%}}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.site-nav[data-astro-cid-dmqpwcec]{display:flex;align-items:center;gap:.75rem;padding:.65rem 0}.site-nav__mark[data-astro-cid-dmqpwcec]{display:grid;width:3.25rem;aspect-ratio:1;padding:.65rem;flex:0 0 auto;place-items:center;background:var(--ink)}.site-nav__palette[data-astro-cid-dmqpwcec]{position:absolute;top:50%;right:calc(100% + .85rem);display:none;align-items:center;gap:.32rem;padding:.65rem .45rem;border:0;background:transparent;transform:translateY(-50%);cursor:pointer}.palette-dot[data-astro-cid-dmqpwcec]{display:block;width:.62rem;aspect-ratio:1;border-radius:50%;background:var(--ink)}.palette-dot--red[data-astro-cid-dmqpwcec]{background:var(--red)}.palette-dot--blue[data-astro-cid-dmqpwcec]{background:var(--blue)}.palette-dot--yellow[data-astro-cid-dmqpwcec]{background:var(--yellow)}.site-nav__palette[data-astro-cid-dmqpwcec]:hover .palette-dot[data-astro-cid-dmqpwcec]{transform:translateY(-.16rem)}.site-nav__palette[data-astro-cid-dmqpwcec]:hover .palette-dot[data-astro-cid-dmqpwcec]:nth-child(2){transform:translateY(.16rem)}.site-nav__palette[data-astro-cid-dmqpwcec].is-shuffling .palette-dot[data-astro-cid-dmqpwcec]{animation:palette-pop .36s cubic-bezier(.2,.8,.2,1) both}.site-nav__palette[data-astro-cid-dmqpwcec].is-shuffling .palette-dot[data-astro-cid-dmqpwcec]:nth-child(2){animation-delay:45ms}.site-nav__palette[data-astro-cid-dmqpwcec].is-shuffling .palette-dot[data-astro-cid-dmqpwcec]:nth-child(3){animation-delay:90ms}@keyframes palette-pop{50%{transform:translateY(-.35rem) scale(1.25)}}.site-nav__mark[data-astro-cid-dmqpwcec] svg[data-astro-cid-dmqpwcec]{display:block;width:100%;height:auto}.mark-red[data-astro-cid-dmqpwcec]{fill:var(--red);transition:fill .5s ease}.mark-blue[data-astro-cid-dmqpwcec]{fill:var(--blue);transition:fill .5s ease}.mark-yellow[data-astro-cid-dmqpwcec]{fill:var(--yellow);transition:fill .5s ease}.site-nav__links[data-astro-cid-dmqpwcec]{display:flex;align-items:center;gap:0}.site-nav__link[data-astro-cid-dmqpwcec],.site-nav__resume[data-astro-cid-dmqpwcec]{position:relative;display:flex;align-items:center;gap:.4rem;padding:.55rem .75rem;font-size:.78rem;font-weight:700;line-height:1.1;text-decoration:none}.site-nav__link[data-astro-cid-dmqpwcec].is-active{font-weight:800;color:var(--ink)}.site-nav__link[data-astro-cid-dmqpwcec].is-active:after{position:absolute;bottom:-.1rem;left:50%;width:.42rem;aspect-ratio:1;border-radius:50%;background:var(--red);transform:translate(-50%);content:""}.site-nav__link[data-astro-cid-dmqpwcec]:nth-child(2).is-active:after{background:var(--blue)}.site-nav__link[data-astro-cid-dmqpwcec]:nth-child(3).is-active:after{background:var(--yellow)}.site-nav__link[data-astro-cid-dmqpwcec]:not(.is-active):hover{color:var(--ink);background:#e4ded1}.site-nav__resume[data-astro-cid-dmqpwcec]{margin-left:auto;padding:.65rem .8rem;color:var(--ink);background:var(--yellow)}.site-nav__resume[data-astro-cid-dmqpwcec]:hover{color:var(--paper);background:var(--red)}.site-nav__resume[data-astro-cid-dmqpwcec] svg{width:.9rem;height:.9rem;stroke-width:3}@media(max-width:44rem){.site-nav[data-astro-cid-dmqpwcec]{gap:.85rem}.site-nav__mark[data-astro-cid-dmqpwcec]{width:2.75rem;padding:.55rem}.site-nav__links[data-astro-cid-dmqpwcec]{gap:0}.site-nav__link[data-astro-cid-dmqpwcec],.site-nav__resume[data-astro-cid-dmqpwcec]{font-size:.68rem}.site-nav__resume[data-astro-cid-dmqpwcec]{padding:.55rem .6rem}}@media(min-width:80rem){.site-nav__palette[data-astro-cid-dmqpwcec]{display:flex}}.bauhaus-pattern[data-astro-cid-qxn7scds]{display:block;width:100%;height:auto;overflow:hidden}.fill-paper[data-astro-cid-qxn7scds]{fill:var(--paper);color:var(--paper)}.fill-ink[data-astro-cid-qxn7scds]{fill:var(--ink);color:var(--ink)}.fill-red[data-astro-cid-qxn7scds]{fill:var(--red);color:var(--red)}.fill-blue[data-astro-cid-qxn7scds]{fill:var(--blue);color:var(--blue)}.fill-yellow[data-astro-cid-qxn7scds]{fill:var(--yellow);color:var(--yellow)}.pattern-region[data-astro-cid-qxn7scds]{cursor:crosshair;pointer-events:visiblePainted;transform-box:fill-box;transform-origin:center;transition:opacity .15s ease,transform .15s cubic-bezier(.2,.8,.2,1)}.bauhaus-pattern[data-ambient=true] .pattern-region{--tile-opacity: 0;opacity:0;cursor:default;pointer-events:none;transition:none}.bauhaus-pattern[data-ambient=true] .pattern-region.is-visible{--tile-opacity: .05;opacity:var(--tile-opacity)}.bauhaus-pattern[data-ambient=true] .pattern-region.is-special{--tile-opacity: 1;opacity:var(--tile-opacity)}.bauhaus-pattern[data-ambient=true] .pattern-region.is-entering{animation:tile-pop-in .28s cubic-bezier(.16,1,.3,1) both}.bauhaus-pattern[data-ambient=true] .pattern-region.is-leaving{animation:tile-pop-out .28s cubic-bezier(.4,0,1,1) both}.pattern-hit-area[data-astro-cid-qxn7scds]{fill:transparent}.rotor[data-astro-cid-qxn7scds]{transform-box:fill-box;transform-origin:center}.rotor--active[data-astro-cid-qxn7scds]{animation:quarter-turn 18s cubic-bezier(.65,0,.35,1) 8s infinite}.rotor--slow[data-astro-cid-qxn7scds]{animation-duration:23s;animation-delay:13s}@keyframes quarter-turn{0%,68%{transform:rotate(0)}76%,94%{transform:rotate(90deg)}to{transform:rotate(0)}}@keyframes tile-pop-in{0%{opacity:0;transform:translate(var(--tile-shift-x, 0px),var(--tile-shift-y, 0px))}to{opacity:var(--tile-opacity);transform:translate(0)}}@keyframes tile-pop-out{0%{opacity:var(--tile-opacity);transform:translate(0)}to{opacity:0;transform:translate(var(--tile-shift-x, 0px),var(--tile-shift-y, 0px))}}@media(prefers-reduced-motion:reduce){.rotor--active[data-astro-cid-qxn7scds]{animation:none}.pattern-region[data-astro-cid-qxn7scds]{transition:none}.bauhaus-pattern[data-ambient=true] .pattern-region.is-entering,.bauhaus-pattern[data-ambient=true] .pattern-region.is-leaving{animation:none}}@media(hover:none),(pointer:coarse){.pattern-region[data-astro-cid-qxn7scds]{cursor:default;pointer-events:none}}.bauhaus-field[data-astro-cid-hmirmgcz]{position:absolute;z-index:0;top:0;bottom:0;left:50%;width:100vw;overflow:clip;pointer-events:none;transform:translate(-50%)}.latent-grid[data-astro-cid-hmirmgcz]{position:absolute;top:0;left:50%;width:max(100%,75rem);transform:translate(-50%)}.cluster[data-astro-cid-hmirmgcz]{position:absolute}.cluster--hero[data-astro-cid-hmirmgcz]{top:10rem;right:max(1.5rem,calc((100vw - 72rem)/2));width:30rem;aspect-ratio:4 / 3}.cluster--experience[data-astro-cid-hmirmgcz],.cluster--education[data-astro-cid-hmirmgcz],.cluster--achievements[data-astro-cid-hmirmgcz]{left:max(0rem,calc((100vw - 72rem)/2 - 6rem))}.cluster--work[data-astro-cid-hmirmgcz],.cluster--skills[data-astro-cid-hmirmgcz]{right:max(0rem,calc((100vw - 72rem)/2 - 6rem))}.cluster--experience[data-astro-cid-hmirmgcz]{top:24%;width:4.5rem;aspect-ratio:3 / 4}.cluster--work[data-astro-cid-hmirmgcz]{top:43%;width:4.5rem;aspect-ratio:1}.cluster--education[data-astro-cid-hmirmgcz]{top:62%;width:4.5rem;aspect-ratio:1}.cluster--skills[data-astro-cid-hmirmgcz]{top:77%;width:4.5rem;aspect-ratio:3 / 4}.cluster--achievements[data-astro-cid-hmirmgcz]{bottom:0;width:4.5rem;aspect-ratio:1}@media(max-width:54rem){.cluster--hero[data-astro-cid-hmirmgcz]{top:10rem;right:0;width:9rem}.cluster[data-astro-cid-hmirmgcz]:not(.cluster--hero){width:4rem}.cluster--experience[data-astro-cid-hmirmgcz],.cluster--education[data-astro-cid-hmirmgcz],.cluster--achievements[data-astro-cid-hmirmgcz]{left:0}.cluster--work[data-astro-cid-hmirmgcz],.cluster--skills[data-astro-cid-hmirmgcz]{right:0}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}
