@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600&family=Manrope:wght@400;500;600&display=swap";@layer components;@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-border-style:solid;--tw-outline-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@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-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-500:oklch(63.7% .237 25.331);--spacing:.25rem;--text-xs:.75rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--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}}@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.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}}.mt-4{margin-top:calc(var(--spacing)*4)}.block{display:block}.contents{display:contents}.grid{display:grid}.table{display:table}.h-5{height:calc(var(--spacing)*5)}.h-full{height:100%}.h-max{height:max-content}.w-full{width:100%}.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}.border{border-style:var(--tw-border-style);border-width:1px}.text-red-500{color:var(--color-red-500)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--font-mono:IBM Plex Mono,monospace;--font-serif:"Fraunces","Times New Roman",serif;--font-sans:"Manrope",Arial,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif;--color-bg-0:#faf7f2;--color-bg-1:#fffaf5;--color-bg-2:#f5cac3;--color-theme-1:#f6bd60;--color-theme-2:#d2706f;--color-theme-3:#84a59d;--color-text-0:#42332d;--color-text-1:#41403fc7;--color-line:#42332d24;--header-height:3.5rem;--section-gap:clamp(2rem,4vw,3.5rem);--text-xs:14px;--text-base:16px;--text-lg:18px;--text-xl:clamp(1.35rem,2vw,1.75rem);--text-2xl:clamp(2rem,4vw,3rem);font-family:var(--font-sans);color:var(--color-text-0)}html{scrollbar-gutter:stable}body{background-color:var(--color-bg-0);min-height:100vh;font-family:var(--font-sans);color:var(--color-text-0);margin:0}p{font-family:var(--font-sans);font-weight:400;font-size:var(--text-base);line-height:1.6}a{font-family:var(--font-mono);font-size:var(--text-xs);color:inherit;text-decoration:none}a:hover{color:var(--color-theme-2);text-decoration:none}h1{font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:600;line-height:1.05}h2{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:600;line-height:1.12}h3{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:600;line-height:1.2}li{font-family:var(--font-sans);font-size:var(--text-base);text-transform:uppercase;line-height:1.55}main{width:min(100%,60rem);margin-inline:auto}.layout{gap:var(--section-gap);flex-direction:column;min-width:0;display:flex}.project-page{min-height:calc(100vh - var(--header-height));padding-block:2rem 4rem}.project-header{flex-direction:column;gap:1rem;display:flex}.project-title{max-width:14ch;margin:0}.project-description{max-width:42rem;margin:0}.project-sections{gap:var(--section-gap);flex-direction:column;display:flex}.project-section{border-top:1px solid var(--color-line);flex-direction:column;gap:1rem;padding-top:1.5rem;scroll-margin-top:4.5rem;display:flex}.section-header{flex-direction:column;gap:.35rem;display:flex}.section-heading,.section-description{margin:0}.section-body{flex-direction:column;gap:1.25rem;display:flex}.page-contents{top:calc(var(--header-height) + 2rem);z-index:5;align-items:stretch;transition:transform .18s;display:flex;position:fixed;right:0;transform:translate(calc(100% - 2.8rem))}.page-contents:hover,.page-contents:focus-within{transform:translate(0)}.page-contents-tab{border:1px solid var(--color-line);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;writing-mode:vertical-rl;background:#f5cac3f5;border-right:0;border-radius:.35rem 0 0 .35rem;justify-content:center;align-items:center;padding:.75rem .6rem;line-height:1.2;display:flex}.page-contents ul{border:1px solid var(--color-line);background:#fff8f2fa;border-right:0;border-radius:.35rem 0 0 .35rem;flex-direction:column;gap:.5rem;min-width:12rem;margin:0;padding:.9rem 1rem;list-style:none;display:flex;box-shadow:0 .8rem 2rem #42332d1f}.page-contents li{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:none;line-height:1.4}:global(.card-title){font-family:var(--font-serif);font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.08}:global(.category){font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.4}@media(max-width:900px){.project-page{padding-block:1.5rem 3rem}.page-contents{top:auto;bottom:1rem;transform:translate(calc(100% - 2.5rem))}.page-contents ul{max-height:min(55vh,18rem);overflow:auto}}@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-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}header.svelte-12qhfyh{font-family:var(--font-mono);border-bottom:1px solid var(--color-line);background-color:#f7ede2e0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:4;height:var(--header-height)}.header-inner.svelte-12qhfyh{display:flex;justify-content:space-between;align-items:center;width:min(100%,60rem);margin-inline:auto;padding-block:1rem;box-sizing:border-box;height:100%}.nav-links.svelte-12qhfyh{display:flex;gap:1rem}.nav-link.svelte-12qhfyh{padding:.35rem .8rem;font-size:var(--text-xs);border-radius:999px;transition:background-color .18s ease,transform .18s ease}.nav-link.svelte-12qhfyh:hover{background:#f5cac38c;transform:translateY(-1px)}a.svelte-12qhfyh{font-size:var(--text-xs)}.footer.svelte-12qhfyh{font-family:var(--font-mono);background-color:#f7ede2e0;border-top:1px solid var(--color-line)}.footer-inner.svelte-12qhfyh{display:flex;justify-content:space-between;align-items:center;width:min(100%,58rem);margin-inline:auto;padding-block:1rem;box-sizing:border-box}.footer-message.svelte-12qhfyh{margin:0}.footer-links.svelte-12qhfyh{display:flex;align-items:center;gap:.4rem}@media(max-width:800px){.header-inner.svelte-12qhfyh,.footer-inner.svelte-12qhfyh{padding-inline:.75rem}}
