@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-border-style:solid}}}.flex{display:flex}.border{border-style:var(--tw-border-style);border-width:1px}@layer base{:root{--bg:#1c1917;--paper:#faf6f2;--heading:#f5f0e8;--text:#a8a29e;--muted:#78716c;--line:#faf6f20f;--shadow:#00000047}*{box-sizing:border-box;letter-spacing:0}::selection{color:var(--bg);background:var(--paper)}html{min-height:100%;color:var(--text);background:var(--bg);scrollbar-color:#faf6f23d transparent;scrollbar-width:thin}body{min-height:100vh;color:var(--text);background:var(--bg);font-family:var(--font-lexend),ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:14px;line-height:1.5;position:relative;overflow-x:hidden}body:before{z-index:0;pointer-events:none;content:"";filter:blur(130px);opacity:.9;background:radial-gradient(circle at 50% 0,#ff8c00cc 0%,#ff8c0057 32%,#ff8c0000 72%);width:min(780px,90vw);height:520px;position:fixed;top:-260px;left:50%;transform:translate(-50%)}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block}}.site-shell{z-index:1;width:100%;max-width:550px;min-height:100vh;margin:0 auto;padding:80px 20px 96px;position:relative}.site-header{justify-content:space-between;align-items:flex-start;gap:24px;transition:opacity .18s,filter .18s;display:flex}.site-header h1{color:var(--heading);margin:0;font-size:17px;font-weight:560;line-height:1.2}.language-toggle{color:var(--muted);background:#faf6f209;border:1px solid #faf6f214;border-radius:999px;align-items:center;gap:2px;padding:2px;display:inline-flex}.language-toggle-item{min-width:30px;height:22px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;outline:none;justify-content:center;align-items:center;padding:0 8px;font-size:11px;font-weight:520;line-height:1;transition:color .16s,background-color .16s;display:inline-flex}.language-toggle-item:hover,.language-toggle-item:focus-visible{color:var(--text)}.language-toggle-item[data-state=on]{color:var(--heading);background:#faf6f21a}.intro{max-width:500px;color:var(--text);margin:34px 0 0;font-size:15px;line-height:1.45;transition:opacity .18s,filter .18s}.portfolio-section{margin-top:38px}.section-title{color:var(--heading);font-family:var(--font-afton),Georgia,"Times New Roman",serif;margin:0 0 12px;font-size:22px;font-style:italic;font-weight:700;line-height:1;transition:opacity .18s,filter .18s}.portfolio-list{flex-direction:column;display:flex}.portfolio-row{min-height:58px;color:var(--text);border-bottom:1px solid var(--line);outline:none;grid-template-columns:60px minmax(0,1fr) auto;align-items:center;gap:20px;padding:12px 0;transition:color .18s,opacity .18s,filter .18s;display:grid}.portfolio-row-button{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border-top:0;border-left:0;border-right:0}.portfolio-row[data-nested=true]{grid-template-columns:60px minmax(0,1fr) auto;padding-left:34px}.portfolio-row:focus-visible{color:var(--heading)}.portfolio-row:focus-visible .portfolio-row-title{text-underline-offset:4px;text-decoration:underline}.portfolio-row-media{width:60px;height:44px}.portfolio-row-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;line-height:1.3;overflow:hidden}.portfolio-row-meta{justify-content:flex-end;align-items:center;gap:7px;min-width:max-content;display:inline-flex}.portfolio-row-date{color:var(--muted);white-space:nowrap;font-size:13px;line-height:1.3;transition:color .18s}.portfolio-row-chevron{color:var(--muted);transition:color .18s,transform .18s}.portfolio-row[data-expanded=true] .portfolio-row-chevron{transform:rotate(90deg)}.polaroid-stack{width:60px;height:44px;position:relative}.polaroid-card{width:57px;height:32px;box-shadow:0 6px 14px var(--shadow);background:#2c2622;border:2.8px solid #faf6f2f5;transition:transform .18s,filter .18s,box-shadow .18s;display:block;position:absolute;top:6px;left:0;overflow:hidden}.polaroid-card img,.project-hero-card img{object-fit:cover}.polaroid-card[data-card-index="0"]{z-index:3;transform:rotate(-1.5deg)}.polaroid-card[data-card-index="1"]{z-index:2;transform:translate(2px,-1px)rotate(2deg)}.polaroid-card[data-card-index="2"]{z-index:1;transform:translate(-2px,1px)rotate(-3deg)}.detail-shell{z-index:1;width:100%;max-width:550px;min-height:100vh;margin:0 auto;padding:80px 20px 110px;position:relative}.detail-article{animation:.32s .12s both article-in}.project-hero{aspect-ratio:16/10;width:100%;margin:0 0 48px;position:relative}.project-hero-card{background:#2c2622;border:12px solid #faf6f2f5;margin:0;display:block;position:absolute;inset:0;overflow:hidden;box-shadow:0 18px 44px #00000052}.detail-header{margin-top:0}.detail-header h1{color:var(--heading);font-family:var(--font-afton),Georgia,"Times New Roman",serif;margin:0;font-size:31px;font-style:italic;font-weight:700;line-height:1.08}.detail-header p{color:var(--muted);font-family:var(--font-afton),Georgia,"Times New Roman",serif;margin:14px 0 0;font-size:15px;font-style:italic;line-height:1.3}.detail-body{color:var(--text);margin-top:28px;font-size:15px;line-height:1.68}.detail-body p,.detail-body h2,.detail-body h3,.detail-body ul,.detail-body ol,.detail-body blockquote,.detail-body figure,.detail-body pre{margin:0}.detail-body p+p,.detail-body p+h2,.detail-body h2+p,.detail-body ul+p,.detail-body ol+p,.detail-body figure+p{margin-top:20px}.detail-body h2{color:var(--heading);margin-top:34px;font-size:18px;font-weight:560;line-height:1.3}.detail-body a{color:var(--heading);text-underline-offset:3px;-webkit-text-decoration:underline #faf6f257;text-decoration:underline #faf6f257;transition:text-decoration-color .16s}.detail-body a:hover{text-decoration-color:#faf6f2cc}.back-button{z-index:10;width:38px;height:38px;color:var(--heading);cursor:pointer;background:#1c1917d1;border:1px solid #faf6f21f;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:color .16s,border-color .16s,transform .16s;display:inline-flex;position:fixed;top:96px;left:calc(50% - 345px);box-shadow:0 14px 28px #0000003d}.detail-language{z-index:10;position:fixed;top:96px;left:calc(50% + 230px)}.education-shell .detail-body{margin-bottom:38px}.article-gallery{gap:18px;margin-top:38px;display:grid}.article-gallery-card{aspect-ratio:16/10;background:#2c2622;border:9px solid #faf6f2f0;width:100%;margin:0;position:relative;overflow:hidden;box-shadow:0 16px 36px #00000047}.article-gallery-card img{object-fit:cover}.back-button:hover,.back-button:focus-visible{color:var(--paper);border-color:#faf6f247;outline:none;transform:translate(-2px)}::view-transition-old(root){animation-duration:.22s}::view-transition-new(root){animation-duration:.22s}::view-transition-group(*){animation-duration:.42s;animation-timing-function:cubic-bezier(.22,1,.36,1)}@keyframes article-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (hover:hover) and (pointer:fine){.portfolio-surface[data-has-active=true] .soft-dim-target{opacity:.36;filter:blur(1.6px)}.portfolio-surface:has(.portfolio-row:hover) .soft-dim-target{opacity:.36;filter:blur(1.6px)}.portfolio-row[data-inactive=true]{opacity:.24;filter:blur(1.7px)}.portfolio-surface:has(.portfolio-row:hover) .portfolio-row:not(:hover){opacity:.24;filter:blur(1.7px)}.portfolio-row:hover,.portfolio-row[data-active=true]{color:var(--heading)}.portfolio-row:hover .portfolio-row-date,.portfolio-row[data-active=true] .portfolio-row-date,.portfolio-row:hover .portfolio-row-chevron,.portfolio-row[data-active=true] .portfolio-row-chevron{color:var(--text)}.portfolio-row:hover .polaroid-card,.portfolio-row[data-active=true] .polaroid-card{box-shadow:0 8px 18px #00000057}.portfolio-row:hover .polaroid-card[data-card-index="0"],.portfolio-row[data-active=true] .polaroid-card[data-card-index="0"]{transform:translate(3px)rotate(-2.5deg)scale(1.04)}.portfolio-row:hover .polaroid-card[data-card-index="1"],.portfolio-row[data-active=true] .polaroid-card[data-card-index="1"]{transform:translate(10px,-5px)rotate(5deg)scale(1.04)}.portfolio-row:hover .polaroid-card[data-card-index="2"],.portfolio-row[data-active=true] .polaroid-card[data-card-index="2"]{transform:translate(-8px,5px)rotate(-6deg)scale(1.04)}}@media (max-width:760px){.site-shell,.detail-shell{padding:48px 20px 76px}.site-header{gap:16px}.intro{margin-top:30px}.portfolio-row{grid-template-columns:60px minmax(0,1fr);gap:18px}.portfolio-row[data-nested=true]{padding-left:22px}.portfolio-row-meta{grid-column:2;justify-content:flex-start;margin-top:-13px}.portfolio-row-date{font-size:12px}.project-hero-card{border-width:9px}.detail-header h1{font-size:29px}.back-button{margin-bottom:24px;position:static}.detail-language{position:absolute;top:48px;left:auto;right:20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.portfolio-surface[data-has-active=true] .soft-dim-target,.portfolio-row[data-inactive=true]{filter:none}.portfolio-surface:has(.portfolio-row:hover) .soft-dim-target{filter:none}.portfolio-surface:has(.portfolio-row:hover) .portfolio-row:not(:hover){filter:none}.polaroid-card,.portfolio-row[data-active=true] .polaroid-card,.project-hero-card,.back-button:hover,.back-button:focus-visible{transform:none!important}::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}::view-transition-group(*){animation:none!important}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
@font-face{font-family:lexend;src:url(../media/Lexend_VariableFont_wght-s.p.ccc13819.ttf)format("truetype");font-display:swap}@font-face{font-family:lexend Fallback;src:local(Arial);ascent-override:90.26%;descent-override:22.57%;line-gap-override:0.0%;size-adjust:110.79%}.lexend_4b2d390d-module__A_23ya__className{font-family:lexend,lexend Fallback}.lexend_4b2d390d-module__A_23ya__variable{--font-lexend:"lexend","lexend Fallback"}
@font-face{font-family:afton;src:url(../media/Afton_Regular-s.p.af9c101c.ttf)format("truetype");font-display:swap}@font-face{font-family:afton Fallback;src:local(Arial);ascent-override:96.11%;descent-override:30.94%;line-gap-override:2.46%;size-adjust:97.6%}.afton_70d51c9f-module__LMDyhq__className{font-family:afton,afton Fallback}.afton_70d51c9f-module__LMDyhq__variable{--font-afton:"afton","afton Fallback"}
