@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;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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;--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: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;--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;-webkit-text-decoration:inherit;-webkit-text-decoration: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 components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.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)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);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,)}}:root{--mint:#73fcd6;--pink:#d84fa9;--canvas-light:#fafafa;--ink-light:#171717;--muted-light:#686868;--line-light:#d6d6d6;--soft-light:#eee;--canvas-dark:#111;--ink-dark:#f5f5f5;--muted-dark:#aaa;--line-dark:#383838;--soft-dark:#202020;--gold-light:#aa8b4e;--gold-dark:#b89c65;--gold:var(--gold-light);--serif:"Bodoni MT","Times New Roman","Noto Serif SC","Songti SC","SimSun",serif;--sans:Arial,"Microsoft YaHei","PingFang SC",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{font-family:var(--sans);background:var(--canvas-light);color:#222;margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,pre:focus-visible{outline:2px solid var(--pink);outline-offset:6px}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0}::selection{background:var(--mint);color:#161616}.portfolio{--paper:var(--canvas-light);--ink:var(--ink-light);--muted:var(--muted-light);--line:var(--line-light);--soft:var(--soft-light);background:var(--paper);color:var(--ink);min-height:100vh;overflow:clip}.eyebrow{letter-spacing:1.8px;font-size:10px;font-weight:500;line-height:1.8}.gold-star{color:var(--gold);font-size:28px}.accent-dot{background:var(--mint);border:1px solid var(--mint);border-radius:50%;width:7px;height:7px;margin-right:10px;display:inline-block}.skip-link{z-index:100;background:var(--mint);color:#111;padding:12px;position:fixed;top:-80px;left:20px}.skip-link:focus{top:12px}.site-header{border-bottom:1px solid var(--line);align-items:center;gap:30px;max-width:1480px;margin:auto;padding:32px 5%;display:flex}.wordmark{letter-spacing:-2.5px;white-space:nowrap;font-size:33px;font-weight:800;line-height:1}.wordmark span{vertical-align:top;letter-spacing:0;color:var(--gold);margin:4px 0 0 5px;font-size:12px;display:inline-block}.header-caption{letter-spacing:2px;color:var(--muted);font-size:10px}.site-header nav{gap:30px;margin-left:auto;font-size:12px;display:flex}.site-header nav a{padding:5px 0;position:relative}.site-header nav a:after{content:"";background:var(--pink);width:0;height:2px;transition:width .2s;position:absolute;bottom:-3px;left:0}.site-header nav a:hover:after{width:100%}.language-button{align-items:center;gap:6px;margin-left:30px;font-size:11px;display:flex}.hero{grid-template-columns:1fr 1fr;align-items:center;gap:4%;max-width:1480px;min-height:740px;margin:auto;padding:78px 5% 70px;display:grid}.hero-text{z-index:1;min-width:0}.hero h1{font-family:var(--serif);letter-spacing:-3px;margin:28px 0;font-size:clamp(48px,5.2vw,86px);font-weight:400;line-height:1.35}.hero h1 em{font-style:normal;font-weight:400}.hero-description{max-width:315px;color:var(--muted);font-size:13px;line-height:2.1}.text-link{border-bottom:1px solid var(--ink);align-items:center;gap:24px;padding:7px 0;font-size:12px;line-height:2;transition:gap .2s;display:inline-flex}.text-link:hover{gap:36px}.hero .text-link{margin-top:28px}.hero-footnote{letter-spacing:1.1px;align-items:center;gap:15px;margin-top:65px;font-size:8px;display:flex}.hero-footnote .gold-star{font-size:18px}.hero-art{min-width:0;height:570px;position:relative}.artwork{background:var(--soft);text-align:left;width:100%;display:block;position:relative;overflow:hidden}.artwork img{object-fit:cover;width:100%;height:100%;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.artwork:hover img{transform:scale(1.035)}.art-open{background:var(--paper);color:var(--ink);opacity:0;border-radius:50%;place-items:center;width:34px;height:34px;transition:all .2s;display:grid;position:absolute;bottom:14px;right:14px;transform:translateY(6px)}.artwork:hover .art-open,.artwork:focus-visible .art-open{opacity:1;transform:translateY(0)}.art-coordinate{letter-spacing:1.8px;color:var(--muted);font-size:8px;position:absolute;top:0;left:0}.hero-main{width:68%;position:absolute;top:35px;left:0}.hero-main .artwork{aspect-ratio:3/4}.hero-secondary{border:8px solid var(--paper);background:var(--paper);width:34%;position:absolute;bottom:23px;right:0}.hero-secondary .artwork{aspect-ratio:3/4}.art-caption{letter-spacing:1.1px;margin-top:12px;font-size:8px;line-height:1.7;display:block}.hero-handnote{font-family:var(--serif);color:var(--muted);font-size:18px;font-style:italic;line-height:1.5;position:absolute;top:85px;right:2%;transform:rotate(7deg)}.mint-square{background:var(--mint);width:14px;height:14px;position:absolute;top:29px;left:64%;transform:rotate(8deg)}.chapter-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);letter-spacing:1px;justify-content:space-between;align-items:center;gap:24px;max-width:1332px;margin:auto;padding:20px 0;font-size:10px;display:flex}.chapter-band>span:nth-child(2){color:var(--muted);letter-spacing:.3px}.chapter-band .gold-star{font-size:20px}.section-shell{max-width:1480px;margin:auto;padding:95px 5%}.section-heading{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:38px;display:flex}.section-heading h2{font-family:var(--serif);letter-spacing:-1px;margin-top:12px;font-size:40px;font-weight:400;line-height:1.5}.section-heading h2 em{color:var(--pink);margin-left:3px;font-style:normal}.section-heading>p{white-space:pre-line;color:var(--muted);font-size:12px;line-height:1.9}.gallery-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-bottom:35px;display:flex}.gallery-toolbar>div{gap:27px;display:flex}.gallery-toolbar button{color:var(--muted);border-bottom:2px solid #0000;padding:14px 0 16px;font-size:12px}.gallery-toolbar button[aria-pressed=true]{border-color:var(--ink);color:var(--ink)}.gallery-toolbar sup{color:var(--gold);margin-left:6px;font-size:8px}.gallery-sample-note{letter-spacing:1px;color:var(--muted);font-size:8px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:45px 32px;display:grid}.gallery-image{background:var(--soft);padding:22px;position:relative}.gallery-image .artwork{aspect-ratio:3/4}.work-number{color:var(--muted);font-size:8px;position:absolute;bottom:7px;left:8px}.work-caption{justify-content:space-between;align-items:center;gap:8px;margin-top:18px;display:flex}.work-caption .eyebrow{color:var(--muted);letter-spacing:1.3px;font-size:8px}.work-caption h3{font-family:var(--serif);margin-top:6px;font-size:18px;font-weight:400}.round-arrow{border:1px solid var(--line);border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;transition:all .2s;display:grid}.round-arrow:hover{background:var(--mint);color:#111;transform:rotate(45deg)}.collection-note{color:var(--muted);align-items:center;gap:18px;margin-top:55px;font-size:11px;display:flex}.collection-note .gold-star{font-size:20px}.projects-section{border-top:1px solid var(--line)}.project-row{border-top:1px solid var(--line);grid-template-columns:40px 1fr 1.15fr 130px 24px;align-items:center;gap:24px;padding:27px 0;transition:padding .2s,background .2s;display:grid}.project-row:last-child{border-bottom:1px solid var(--line)}.project-row:hover{background:var(--soft);padding-left:15px;padding-right:15px}.project-number{font-family:var(--serif);color:var(--gold);font-size:15px}.project-title h3{letter-spacing:-.8px;font-size:26px;font-weight:400}.project-title>span{color:var(--muted);margin-top:8px;font-size:10px;display:block}.project-row>p{color:var(--muted);font-size:12px;line-height:1.9}.project-type{letter-spacing:1px;color:var(--muted);font-size:8px}.project-row:hover .project-arrow{color:var(--pink)}.playground{border:1px solid var(--line);align-items:center;gap:28px;margin-top:30px;padding:27px 32px;display:flex}.playground>svg{margin-left:auto}.playground h3{font-family:var(--serif);margin:8px 0;font-size:23px;font-weight:400}.playground p:last-child{color:var(--muted);font-size:12px;line-height:1.8}.play-symbol{color:var(--gold);border-right:1px solid var(--line);padding:0 15px;font-size:52px;font-weight:200;position:relative}.play-symbol span{letter-spacing:3px;font-size:7px;display:block}.skills-section{padding-top:10px}.skill-caption{letter-spacing:1.5px;color:var(--muted);font-size:9px}.skill-feature{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:48px;padding:40px 0;display:flex}.skill-graphic{flex-shrink:0;width:180px;height:170px;position:relative}.skill-graphic i{border:1px solid var(--gold);width:94px;height:105px;position:absolute;top:38px;left:20px;transform:rotate(-17deg)}.skill-graphic i:nth-child(2){border-color:var(--ink);top:22px;left:45px;transform:rotate(0)}.skill-graphic i:nth-child(3){border-color:var(--pink);top:8px;left:70px;transform:rotate(17deg)}.skill-graphic span{font-size:40px;font-weight:200;position:absolute;top:48px;left:76px}.skill-feature h3{font-family:var(--serif);margin:12px 0;font-size:28px;font-weight:400}.skill-feature>div>p:not(.eyebrow){color:var(--muted);max-width:580px;font-size:12px;line-height:2}.skill-feature .text-link{margin-top:15px}.skill-github{align-self:flex-start;margin-left:auto}.about-section{border-top:1px solid var(--line);grid-template-columns:1.1fr 1fr;gap:10%;padding-top:90px;display:grid}.about-intro h2{font-size:52px;font-family:var(--serif);margin-top:26px;font-weight:400;line-height:1.5}.about-intro em{font-style:normal;font-weight:400}.about-copy>img{border:2px solid var(--paper);width:88px;height:88px;box-shadow:-3px -3px 0 var(--mint),3px 3px 0 var(--pink);border-radius:22%;margin-bottom:22px}@supports (color:color-mix(in lab, red, red)){.about-copy>img{box-shadow:-3px -3px 0 color-mix(in srgb,var(--mint)30%,transparent),3px 3px 0 color-mix(in srgb,var(--pink)25%,transparent)}}.about-copy>img{filter:none}.about-copy>p{margin-top:14px;font-size:13px;line-height:2.2}.about-copy>p+p{color:var(--muted)}.social-links{flex-wrap:wrap;gap:24px;margin-top:28px;font-size:11px;display:flex}.social-links a,.social-links button{border-bottom:1px solid var(--line);align-items:center;gap:7px;padding-bottom:5px;display:flex}.social-links a:hover,.social-links button:hover{border-color:var(--pink)}.site-footer{max-width:1480px;margin:auto;padding:35px 5% 110px}.footer-wordmark{font-family:var(--serif);letter-spacing:-6px;border-bottom:1px solid var(--line);padding-bottom:36px;font-size:clamp(65px,12.1vw,185px);line-height:1.2}.footer-wordmark span{font-family:var(--sans);color:var(--gold);float:right;font-size:.7em}.footer-bottom{letter-spacing:1px;color:var(--muted);justify-content:space-between;gap:20px;padding:24px 0;font-size:8px;display:flex}.theme-atelier .gallery-item:nth-child(3n+2){margin-top:65px}.theme-atelier .gallery-item:nth-child(3n+3){margin-top:20px}.theme-atelier .hero h1 em{position:relative}.theme-atelier .hero h1 em:after{content:"";background:var(--pink);width:29px;height:3px;position:absolute;bottom:15px;right:-40px}.theme-nocturne{--paper:var(--canvas-dark);--ink:var(--ink-dark);--muted:var(--muted-dark);--line:var(--line-dark);--soft:var(--soft-dark);--gold:var(--gold-dark)}.theme-nocturne .site-header{border-bottom:0}.theme-nocturne .wordmark span{color:var(--mint)}.theme-nocturne .hero{grid-template-columns:1.08fr 1fr;min-height:790px;padding-top:55px}.theme-nocturne .hero h1{letter-spacing:-3px;margin-bottom:25px;font-size:clamp(50px,5.6vw,88px);line-height:1.1}.theme-nocturne .hero h1 em{color:var(--gold);font-style:italic}.theme-nocturne .hero h1 small{font:12px var(--sans);letter-spacing:2px;color:var(--muted);margin-top:30px;line-height:2;display:block}.theme-nocturne .hero-description{max-width:290px;font-size:12px}.theme-nocturne .hero-art{height:590px}.theme-nocturne .hero-main{border:1px solid var(--gold);width:65%;top:40px;left:12%;transform:rotate(-4deg)}@supports (color:color-mix(in lab, red, red)){.theme-nocturne .hero-main{border:1px solid color-mix(in srgb,var(--gold)65%,transparent)}}.theme-nocturne .hero-main{padding:8px}.theme-nocturne .hero-secondary{border:5px solid #222;width:34%;bottom:5px;right:0;transform:rotate(6deg)}.theme-nocturne .orbit{border:1px solid var(--gold);position:absolute}@supports (color:color-mix(in lab, red, red)){.theme-nocturne .orbit{border:1px solid color-mix(in srgb,var(--gold)45%,transparent)}}.theme-nocturne .orbit{border-radius:50%;width:95%;height:85%;top:28px;left:0;transform:rotate(35deg)}.theme-nocturne .vertical-note{writing-mode:vertical-rl;letter-spacing:2px;color:var(--muted);font-size:8px;position:absolute;top:45px;right:-15px}.nocturne-number{font-family:var(--serif);color:var(--gold);font-size:30px;position:absolute;bottom:35px;left:20px}.theme-nocturne .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:65px}.theme-nocturne .gallery-image{padding:0}.theme-nocturne .gallery-image .artwork{aspect-ratio:4/4.4}.theme-nocturne .gallery-image .artwork img{object-fit:contain;background:#0d0d0d}.theme-nocturne .work-number{color:var(--ink-dark);background:var(--canvas-dark);padding:5px;bottom:12px;left:12px}.theme-nocturne .gallery-item:nth-child(2n){margin-top:100px}.theme-nocturne .section-heading h2{font-size:48px}.theme-nocturne .project-title h3{font-family:var(--serif);font-size:32px}.theme-nocturne .about-section{background:#1b1b1b}.theme-nocturne .footer-wordmark{color:var(--gold);font-style:italic}.theme-nocturne .playground{background:#1b1b1b}.theme-folio{--paper:var(--canvas-light);--ink:var(--ink-light);--line:var(--line-light);--soft:var(--soft-light)}.theme-folio .site-header{border-bottom:2px solid var(--ink);margin:0 5%;padding:27px 0}.theme-folio .header-caption{letter-spacing:1px}.theme-folio .hero{grid-template-columns:1.25fr 1fr;gap:7%;min-height:720px;padding-top:40px;padding-bottom:40px}.theme-folio .hero h1{font-family:var(--sans);letter-spacing:-7px;margin:26px 0;font-size:clamp(70px,8vw,125px);font-weight:800;line-height:.92}.theme-folio .hero h1 em{font-family:var(--serif);font-style:italic;font-weight:400}.period{color:var(--pink)}.theme-folio .hero-text>.eyebrow{letter-spacing:1px}.theme-folio .hero-description{max-width:370px;font-size:12px}.theme-folio .hero-footnote{margin-top:24px}.theme-folio .hero-art{border-left:1px solid var(--line);height:585px;padding-left:25px}.theme-folio .art-coordinate{left:25px}.theme-folio .hero-main{width:calc(100% - 25px);top:27px;left:25px}.theme-folio .hero-main .artwork{aspect-ratio:auto;height:435px}.theme-folio .hero-main img{object-position:50% 35%}.folio-label{border-top:1px solid var(--ink);padding-top:13px;position:absolute;bottom:0;left:25px;right:0}.folio-label>span{letter-spacing:2px;font-size:8px}.folio-label h2{font-family:var(--serif);margin:8px 0;font-size:25px;font-weight:400}.folio-label p{color:var(--muted);font-size:10px}.folio-stamp{background:var(--mint);color:var(--ink-light);border-radius:50%;justify-content:center;align-items:center;width:90px;height:90px;font-size:20px;font-weight:700;line-height:1;display:flex;position:absolute;top:10px;right:-18px;transform:rotate(12deg)}.theme-folio .chapter-band{border-top:2px solid var(--ink);border-bottom:1px solid var(--ink)}.theme-folio .section-heading h2{font-family:var(--sans);letter-spacing:-2px;font-weight:600}.theme-folio .gallery-grid{gap:35px 0}.theme-folio .gallery-item{border-right:1px solid var(--line);padding:0 24px}.theme-folio .gallery-item:nth-child(3n+1){padding-left:0}.theme-folio .gallery-item:nth-child(3n){border-right:0;padding-right:0}.theme-folio .gallery-image{padding:0}.theme-folio .work-number{background:var(--paper);padding:6px 10px;top:0;bottom:auto;left:0}.theme-folio .gallery-toolbar{border-color:var(--ink)}.theme-folio .project-list{grid-template-columns:1fr 1fr;gap:0 32px;display:grid}.theme-folio .project-row{grid-template-columns:25px 1fr 24px;padding:26px 0}.theme-folio .project-row>p{grid-area:2/2}.theme-folio .project-type{grid-column:2}.theme-folio .project-arrow{grid-area:1/3}.theme-folio .project-row:nth-last-child(2){border-bottom:1px solid var(--line)}.theme-folio .project-title h3{font-weight:600}.theme-folio .about-intro h2{font-family:var(--sans);letter-spacing:-2px;font-weight:600}.theme-folio .footer-wordmark{font-family:var(--sans);letter-spacing:-8px;font-size:clamp(60px,11vw,168px);font-weight:800}.theme-cabinet{--paper:var(--canvas-light);--ink:var(--ink-light);--line:var(--line-light);--soft:var(--soft-light);--gold:var(--gold-light);background-image:radial-gradient(var(--gold).55px,transparent .65px)}@supports (color:color-mix(in lab, red, red)){.theme-cabinet{background-image:radial-gradient(color-mix(in srgb,var(--gold)16%,transparent).55px,transparent .65px)}}.theme-cabinet{background-size:9px 9px}.theme-cabinet .site-header{border-bottom:0}.theme-cabinet .wordmark{font-family:var(--serif);font-size:38px;font-weight:400}.theme-cabinet .hero{flex-direction:column;gap:10px;padding-top:48px;padding-bottom:60px;display:flex}.theme-cabinet .hero-text{text-align:center;max-width:750px}.theme-cabinet .hero h1{letter-spacing:1px;margin:23px 0;font-size:60px;line-height:1.35}.theme-cabinet .hero h1 br{display:none}.theme-cabinet .hero-description{max-width:440px;margin:auto;font-size:12px}.theme-cabinet .hero .text-link{margin-top:15px}.theme-cabinet .hero-footnote{display:none}.theme-cabinet .hero-art{width:830px;max-width:100%;height:410px;margin-top:30px}.theme-cabinet .art-coordinate{top:10px;left:0}.theme-cabinet .hero-main{z-index:2;background:#fff;width:29%;padding:12px 12px 9px;top:10px;left:35%;transform:rotate(-4deg);box-shadow:1px 8px 15px #30271812}.theme-cabinet .hero-secondary{background:#fff;border:0;width:24%;padding:12px;inset:65px auto auto 6%;transform:rotate(-12deg);box-shadow:1px 8px 15px #30271812}.theme-cabinet .hero-third{background:#fff;width:24%;padding:12px;position:absolute;top:78px;right:6%;transform:rotate(10deg);box-shadow:1px 8px 15px #30271812}.theme-cabinet .hero-third .artwork{aspect-ratio:3/4}.theme-cabinet .hero-handnote{font-size:16px;top:4px;right:-4%;transform:rotate(9deg)}.theme-cabinet .art-caption{font-family:var(--serif);letter-spacing:.3px;text-align:center;font-size:13px;font-style:italic}.cabinet-seal{border:1px solid var(--pink);color:var(--pink);font-family:var(--serif);padding:5px;font-size:17px;line-height:1.15;position:absolute;bottom:7px;right:0;transform:rotate(-7deg)}.theme-cabinet .chapter-band{border-top-style:dashed;border-bottom-style:dashed}.theme-cabinet .section-heading h2{font-size:38px}.theme-cabinet .gallery-grid{gap:55px 40px}.theme-cabinet .gallery-image{background:#fff;padding:14px 14px 30px;box-shadow:0 4px 12px #40392c0a}.theme-cabinet .gallery-item:nth-child(3n+1) .gallery-image{transform:rotate(-2deg)}.theme-cabinet .gallery-item:nth-child(3n+3) .gallery-image{transform:rotate(2deg)}.theme-cabinet .gallery-item:nth-child(3n+2){margin-top:45px}.theme-cabinet .work-caption h3{font-size:19px}.theme-cabinet .gallery-image .work-number{font-family:var(--serif);left:15px}.theme-cabinet .project-row{border-top-style:dashed}.theme-cabinet .project-title h3{font-family:var(--serif);font-size:30px}.theme-cabinet .skill-feature{border-style:dashed;border-width:1px 0}.theme-cabinet .playground{background:#ffffff50;border-style:dashed}.theme-cabinet .about-copy{border:1px solid var(--line-light);background:#ffffff60;padding:35px;transform:rotate(1deg)}.theme-cabinet .footer-wordmark{letter-spacing:-5px;font-style:italic}.design-dock{z-index:40;color:var(--ink-dark);white-space:nowrap;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#222222f5;border:1px solid #555;border-radius:12px;align-items:center;gap:6px;padding:8px 12px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 6px 35px #0003}.design-dock>a{border:1px solid #0000;border-radius:6px;align-items:center;gap:7px;padding:11px 14px;font-size:11px;display:flex}.design-dock>a>span{font-family:var(--serif);color:var(--muted-dark);font-size:11px}.design-dock>a>b{font-weight:400}.design-dock>a[aria-current=page]{background:var(--canvas-light);color:var(--ink-light)}.design-dock>a[aria-current=page]>span{color:var(--gold-light)}.design-dock>a:hover:not([aria-current=page]){border-color:#787878}.dock-caption{letter-spacing:1px;color:#b2b2b2;border-right:1px solid #575757;padding:0 12px 0 3px;font-size:9px}.dock-end{color:#b2b2b2;padding:0 8px;font-size:9px}.design-dock .dock-index{padding:10px}.work-dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);width:94vw;max-width:1200px;max-height:90dvh;margin:auto;padding:0;overflow:visible}.work-dialog::backdrop,.qr-dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000b}.work-dialog-inner{grid-template-columns:1.1fr 1fr;max-height:90dvh;display:grid;position:relative}.dialog-image{background:#111;justify-content:center;align-items:center;min-width:0;display:flex;position:relative}.dialog-image>img{object-fit:contain;width:100%;height:85dvh;padding:28px 25px 65px}.dialog-pagination{color:#eee;background:#222;border:1px solid #555;border-radius:30px;align-items:center;gap:25px;padding:5px 12px;font-size:10px;display:flex;position:absolute;bottom:15px;left:50%;transform:translate(-50%)}.dialog-pagination button{padding:7px}.work-detail{max-height:85dvh;padding:50px 36px 30px;overflow-y:auto}.work-detail>h2{font:32px var(--serif);margin:15px 0 20px}.work-detail>p{color:var(--muted);font-size:12px;line-height:1.9}.work-detail dl{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:70px 1fr;gap:12px 10px;margin:25px 0;padding:20px 0;font-size:11px;line-height:1.8;display:grid}.work-detail dt{color:var(--muted)}.work-detail dd{margin:0}.prompt-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.prompt-heading h3{font-size:13px;font-weight:500}.prompt-heading button{border:1px solid var(--line);align-items:center;gap:6px;padding:7px 10px;font-size:11px;display:flex}.prompt-text{white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.9 var(--sans);background:var(--soft);-webkit-user-select:text;user-select:text;margin:15px 0 22px;padding:18px}.copy-status:empty{display:none}.provenance{color:var(--muted);margin-top:24px;font-size:10px}.provenance summary{cursor:pointer;padding:10px 0}.provenance code{overflow-wrap:anywhere;line-height:1.7;display:block}.dialog-close{z-index:2;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:50%;place-items:center;width:32px;height:32px;display:grid;position:absolute;top:12px;right:12px}.qr-dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);text-align:center;max-width:94vw;margin:auto;padding:45px 24px 24px}.qr-dialog>p{margin-top:12px;font-size:12px;line-height:2}.qr-dialog strong{font-size:14px;font-weight:500}.qr-dialog>img{max-width:75vw}.design-index{max-width:1550px;margin:auto;padding:35px 6% 0}.design-index header{justify-content:space-between;align-items:center;display:flex}.index-intro{padding:75px 0 60px}.index-intro h1{font:64px/1.4 var(--serif);margin:20px 0}.index-intro h1 em{font-style:normal;font-weight:400}.index-intro>p:last-of-type{color:#777;font-size:13px;line-height:2}.palette{align-items:center;gap:9px;margin-top:25px;display:flex}.palette i{background:#222;border-radius:50%;width:13px;height:13px}.palette i:nth-child(2){background:#fff;border:1px solid #ccc}.palette i:nth-child(3){background:var(--gold)}.palette i:nth-child(4){background:var(--mint)}.palette i:nth-child(5){background:var(--pink)}.palette>span{color:#777;margin-left:12px;font-size:10px}.design-options{grid-template-columns:1fr 1fr;gap:65px 40px;display:grid}.design-cover{border:1px solid var(--line-light);aspect-ratio:1.44;background:var(--soft-light);position:relative;overflow:hidden}.design-cover>img{object-fit:cover;object-position:top;width:100%;height:100%;transition:transform .5s}.design-option:hover .design-cover>img{transform:scale(1.025)}.open-design{color:#fff;background:#222;align-items:center;gap:20px;padding:12px 17px;font-size:11px;display:flex;position:absolute;bottom:18px;right:18px}.design-label{gap:18px;margin-top:22px;display:flex}.design-label>span{font-family:var(--serif);color:var(--gold);font-size:24px}.design-label>svg{flex-shrink:0;margin-left:auto}.design-label h2{font-size:21px;font-weight:400}.design-label em{font:italic 17px var(--serif);margin-left:12px}.design-label p{color:#777;margin:12px 0;font-size:12px;line-height:2}.design-label small{color:#777;font-size:10px}.design-index footer{border-top:1px solid #ccc;justify-content:space-between;gap:20px;margin-top:80px;padding:25px 0;font-size:10px;display:flex}@media (min-width:1500px){.hero{min-height:790px}.hero-art{height:630px}.theme-folio .hero-main .artwork{height:455px}.theme-folio .hero-art{height:615px}}@media (max-width:1400px){.chapter-band{margin-left:5%;margin-right:5%}.hero-art{height:510px}.hero{min-height:680px}.hero h1{letter-spacing:-2px}.theme-nocturne .hero-art{height:530px}.theme-nocturne .hero{min-height:720px}.theme-folio .hero-main .artwork{height:380px}.theme-folio .hero-art{height:530px}.theme-folio .hero{min-height:650px}}@media (max-width:1050px){.header-caption{display:none}.hero{gap:4%;padding-top:55px}.hero-art{height:450px}.hero h1{font-size:52px}.hero-handnote{font-size:15px;top:60px}.hero-secondary{width:38%;bottom:0}.hero-footnote{letter-spacing:.5px;gap:9px;margin-top:40px}.hero-footnote>span:last-child{display:none}.section-shell{padding-top:70px;padding-bottom:70px}.project-row{grid-template-columns:25px 1fr 1fr 20px;gap:15px}.project-type{display:none}.gallery-grid{gap:35px 22px}.gallery-image{padding:14px}.theme-nocturne .hero h1{font-size:54px}.theme-nocturne .hero-art{height:480px}.theme-nocturne .gallery-grid{gap:45px}.theme-folio .hero h1{letter-spacing:-5px;font-size:82px}.theme-folio .hero-art{height:510px}.theme-folio .hero-main .artwork{height:350px}.theme-folio .folio-label h2{font-size:22px}.theme-cabinet .hero h1{font-size:50px}.theme-cabinet .hero-handnote{right:0}.about-intro h2{font-size:43px}.design-dock{gap:1px}.design-dock>a{padding:10px}.dock-caption,.dock-end{display:none}.design-label h2 em{margin:8px 0;display:block}.design-label h2{font-size:19px}}@media (max-width:700px){html{scroll-padding-top:20px}.site-header{flex-wrap:wrap;gap:18px;padding:23px 6%}.wordmark{font-size:31px}.site-header nav{border-top:1px solid var(--line);order:3;justify-content:space-between;gap:18px;width:100%;margin-top:3px;padding-top:15px;font-size:11px}.language-button{margin-left:auto}.hero{flex-direction:column;gap:25px;min-height:0;padding:43px 6% 38px;display:flex}.hero-text{width:100%}.hero h1{letter-spacing:-1px;margin:22px 0;font-size:49px;line-height:1.35}.hero-text>.eyebrow{letter-spacing:1px;font-size:9px}.hero-description{max-width:320px;font-size:12px}.hero .text-link{margin-top:18px}.hero-footnote{display:none}.hero-art{width:100%;height:440px;margin-top:10px}.hero-main{width:66%;top:30px}.hero-secondary{width:38%;bottom:0}.hero-handnote{font-size:16px;top:55px}.chapter-band{gap:10px;margin:0 6%;padding:15px 0}.chapter-band>span:first-child{letter-spacing:.5px;font-size:9px}.chapter-band>span:nth-child(2){max-width:160px;font-size:9px;line-height:1.7}.chapter-band>.gold-star{font-size:15px}.section-shell{padding:55px 6%}.section-heading{margin-bottom:24px;display:block}.section-heading h2{letter-spacing:0;margin-top:10px;font-size:33px}.section-heading>p{margin-top:15px;font-size:11px}.section-heading>p br{display:none}.gallery-toolbar{margin-bottom:25px;display:block}.gallery-toolbar>div{gap:24px}.gallery-toolbar button{padding:12px 0;font-size:11px}.gallery-sample-note{padding:10px 0 12px;font-size:8px;display:block}.gallery-grid{grid-template-columns:1fr 1fr;gap:30px 15px}.gallery-image{padding:9px}.work-caption{align-items:flex-start;margin-top:12px}.work-caption h3{font-size:15px;line-height:1.5}.work-caption .eyebrow{letter-spacing:.4px;font-size:7px}.round-arrow{flex-shrink:0;width:25px;height:25px;margin-top:3px}.round-arrow svg{width:14px}.work-number{font-size:6px;bottom:1px;left:3px}.theme-atelier .gallery-item:nth-child(n),.theme-cabinet .gallery-item:nth-child(n){margin-top:0}.theme-atelier .gallery-item:nth-child(2n),.theme-cabinet .gallery-item:nth-child(2n){margin-top:35px}.collection-note{align-items:flex-start;gap:12px;margin-top:30px;font-size:10px;line-height:1.9}.project-row{grid-template-columns:20px 1fr 20px;gap:12px;padding:22px 0}.project-row>p{grid-area:2/2;font-size:11px}.project-title h3{font-size:25px}.project-arrow{grid-area:1/3}.project-number{font-size:13px}.playground{gap:16px;padding:20px 15px}.playground h3{font-size:20px}.playground p:last-child{font-size:11px}.play-symbol{padding:0 10px 0 0;font-size:34px}.playground>svg{flex-shrink:0;width:18px}.playground .eyebrow{font-size:8px}.skills-section{padding-top:0}.skill-caption{margin-top:15px;display:block}.skill-feature{flex-direction:column;align-items:flex-start;gap:18px;padding:20px 0 30px;position:relative}.skill-graphic{transform-origin:0;height:140px;margin-bottom:-20px;transform:scale(.72)}.skill-feature h3{font-size:24px;line-height:1.6}.skill-feature>div>p:not(.eyebrow){font-size:11px}.skill-github{width:20px;position:absolute;top:30px;right:0}.about-section{display:block}.about-intro h2{font-size:40px}.about-copy{margin-top:35px}.about-copy>p{font-size:12px}.about-copy>img{width:68px;height:68px}.site-footer{padding:15px 6% 115px}.footer-wordmark{letter-spacing:-3px;padding-bottom:22px;font-size:62px}.footer-bottom{flex-wrap:wrap;row-gap:15px;font-size:7px}.footer-bottom>span:nth-child(2){order:3;width:100%}.design-dock{border-radius:10px;justify-content:space-between;width:calc(100% - 20px);padding:6px;bottom:10px}.design-dock>a{border-radius:5px;flex-direction:column;gap:5px;padding:10px 8px;font-size:9px;display:flex}.design-dock>a>span{font-size:10px}.design-dock .dock-index{padding:13px 8px}.design-dock>a b{font-size:9px}.design-dock>a:lang(en) b{white-space:normal;text-align:center;max-width:60px;font-size:8px}.art-open{opacity:1;width:26px;height:26px;bottom:7px;right:7px;transform:none}.art-open svg{width:14px}.work-dialog{width:94vw;max-height:92dvh;overflow-y:auto}.work-dialog-inner{max-height:none;display:block}.dialog-image>img{height:53dvh;padding:20px 18px 60px}.work-detail{max-height:none;padding:30px 22px;overflow:visible}.work-detail h2{font-size:28px}.work-detail>p{font-size:12px}.dialog-close{position:fixed;top:6dvh;right:6vw}.qr-dialog .dialog-close{position:absolute;top:10px;right:10px}.prompt-text{font-size:11px}.theme-nocturne .hero{min-height:0;padding-top:40px;display:flex}.theme-nocturne .hero h1{font-size:54px}.theme-nocturne .hero h1 small{margin-top:20px;font-size:10px}.theme-nocturne .hero-art{height:475px;margin-top:15px}.theme-nocturne .hero-main{width:62%;top:35px;left:12%}.theme-nocturne .hero-secondary{width:35%;bottom:12px}.theme-nocturne .vertical-note{right:0}.theme-nocturne .section-heading h2{font-size:36px}.theme-nocturne .gallery-grid{grid-template-columns:1fr;gap:35px}.theme-nocturne .gallery-item:nth-child(2n){margin-top:0}.theme-nocturne .gallery-image .artwork{aspect-ratio:4/4.5}.theme-nocturne .work-caption h3{font-size:21px}.theme-folio .site-header{margin:0 6%;padding:22px 0}.theme-folio .hero{gap:40px;min-height:0;padding-top:35px;display:flex}.theme-folio .hero h1{letter-spacing:-5px;font-size:84px}.theme-folio .hero-art{border-left:0;height:560px;padding-left:0}.theme-folio .art-coordinate{left:0}.theme-folio .hero-main{width:100%;top:25px;left:0}.theme-folio .hero-main .artwork{height:410px}.theme-folio .folio-label{left:0}.theme-folio .folio-stamp{width:78px;height:78px;font-size:18px;right:-6px}.theme-folio .hero-footnote{display:none}.theme-folio .gallery-grid{gap:30px 0}.theme-folio .gallery-item:nth-child(n){border:0;padding:0 0 0 12px}.theme-folio .gallery-item:nth-child(odd){border-right:1px solid var(--line);padding:0 12px 0 0}.theme-folio .project-list{display:block}.theme-folio .project-row{grid-template-columns:20px 1fr 20px;gap:12px}.theme-folio .project-type{display:none}.theme-folio .project-row:nth-last-child(2){border-bottom:0}.theme-folio .footer-wordmark{letter-spacing:-4px;font-size:58px}.theme-cabinet .hero{gap:0;padding-top:30px;padding-bottom:25px}.theme-cabinet .hero h1{letter-spacing:0;font-size:42px}.theme-cabinet .hero h1 br{display:block}.theme-cabinet .hero-art{height:330px;margin-top:28px}.theme-cabinet .hero-main{width:43%;padding:8px;top:45px;left:28%}.theme-cabinet .hero-secondary{width:33%;padding:7px;top:80px;left:0}.theme-cabinet .hero-third{width:32%;padding:7px;top:95px;right:0}.theme-cabinet .hero-handnote{font-size:13px;top:12px;right:0}.theme-cabinet .art-coordinate{letter-spacing:.5px;font-size:6px;top:0}.theme-cabinet .art-caption{margin-top:8px;font-size:9px}.theme-cabinet .cabinet-seal{font-size:14px;bottom:0}.theme-cabinet .gallery-grid{gap:30px 18px}.theme-cabinet .gallery-image{padding:8px 8px 20px}.theme-cabinet .gallery-image .work-number{bottom:6px;left:8px}.theme-cabinet .work-caption h3{font-size:15px}.theme-cabinet .about-copy{padding:22px}.design-index{padding:25px 6% 0}.design-index header>.eyebrow{letter-spacing:1px;font-size:7px}.index-intro{padding:45px 0}.index-intro h1{font-size:41px}.design-options{grid-template-columns:1fr;gap:40px}.design-label{gap:13px}.design-label h2 em{margin-left:8px;font-size:15px;display:inline}.design-label p{font-size:11px}.design-index footer{margin-top:40px;line-height:2;display:block}.design-index footer span{display:block}.palette>span{font-size:9px}}@media (max-width:380px){.hero h1{font-size:43px}.hero-art{height:380px}.theme-folio .hero h1{font-size:20vw}.theme-nocturne .hero h1{font-size:47px}.theme-nocturne .hero-art{height:405px}.theme-cabinet .hero h1{font-size:38px}.theme-cabinet .hero-art{height:300px}.footer-wordmark{font-size:54px}.design-dock>a{padding:9px 5px}.design-dock>a b{font-size:8px}.theme-folio .footer-wordmark{font-size:51px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}body:has(.theme-nocturne){background:var(--canvas-dark);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.portfolio{overflow-anchor:none}.appearance-switch{z-index:40;border:1px solid var(--line);background:var(--paper);border-radius:30px;gap:4px;padding:5px;display:flex;position:fixed;bottom:24px;right:5%;box-shadow:0 4px 24px #0002}.appearance-switch button{min-height:38px;color:var(--muted);border-radius:22px;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:11px;display:flex}.appearance-switch button[aria-pressed=true]{color:var(--paper);background:var(--ink)}.appearance-switch button:hover:not([aria-pressed=true]){color:var(--ink);background:var(--soft)}.appearance-switch button[aria-pressed=true] svg{color:var(--gold)}.appearance-inline{width:max-content;box-shadow:none;z-index:auto;margin-bottom:24px;position:static}@media (max-width:700px){.appearance-switch{bottom:16px;right:16px}.appearance-switch button{min-height:40px;padding:8px 13px}}.hero-third{border:8px solid var(--paper);background:var(--paper);width:28%;position:absolute;bottom:0;left:8%}.hero-third .artwork{aspect-ratio:3/4}.theme-atelier .hero-main{width:59%}.theme-atelier .hero-secondary{width:29%;bottom:26%;right:0}.theme-atelier .hero-third{width:26%;bottom:0;left:auto;right:2%}.theme-atelier .hero-handnote{font-size:15px;top:24px}.theme-atelier .mint-square{left:55%}.theme-nocturne .hero-main{top:25px}.theme-nocturne .hero-secondary{width:28%;bottom:20px;right:0}.theme-nocturne .hero-third{border:5px solid #222;width:27%;bottom:25px;left:0;transform:rotate(-7deg)}.theme-nocturne .nocturne-number{bottom:-25px;left:40%}.theme-nocturne .art-caption{letter-spacing:.2px;font-size:8px}.theme-nocturne .hero-main .art-caption{text-align:center}.theme-folio .hero-art{--folio-art-height:435px}.theme-folio .hero-main{width:calc(70% - 35px)}.theme-folio .hero-main .artwork{height:var(--folio-art-height)}.theme-folio .hero-secondary,.theme-folio .hero-third{background:0 0;border:0;width:30%;padding:0;bottom:auto;left:auto;right:0}.theme-folio .hero-secondary{top:27px}.theme-folio .hero-third{top:calc(27px + (var(--folio-art-height) + 14px)/2)}.theme-folio .hero-secondary .artwork,.theme-folio .hero-third .artwork{height:calc((var(--folio-art-height) - 14px)/2 - 24px);aspect-ratio:auto}.theme-folio .hero-art .art-caption{letter-spacing:0;margin-top:6px;font-size:8px}.theme-folio .hero-secondary img,.theme-folio .hero-third img{object-fit:contain}.theme-folio .folio-stamp{width:68px;height:68px;font-size:15px;top:6px;right:27%}.theme-cabinet .hero-third{border:0;bottom:auto;left:auto}@media (min-width:1500px){.theme-folio .hero-art{--folio-art-height:455px}}@media (max-width:1400px){.theme-folio .hero-art{--folio-art-height:380px}}@media (max-width:1050px){.theme-folio .hero-art{--folio-art-height:350px}}@media (max-width:700px){.theme-atelier .hero-main{width:60%}.theme-atelier .hero-secondary{border-width:4px;width:32%;bottom:29%}.theme-atelier .hero-third{border-width:4px;width:31%;bottom:0;right:1%}.theme-atelier .hero-handnote{font-size:12px;top:28px;right:0}.theme-nocturne .hero-secondary{width:30%;bottom:20px}.theme-nocturne .hero-third{width:29%;bottom:22px}.theme-folio .hero-art{--folio-art-height:410px}.theme-folio .hero-main{width:65%}.theme-folio .hero-secondary,.theme-folio .hero-third{width:31%}.theme-folio .hero-secondary{top:25px}.theme-folio .hero-third{top:calc(25px + (var(--folio-art-height) + 14px)/2)}.theme-folio .hero-art .art-caption{font-size:7px}.theme-folio .folio-stamp{width:56px;height:56px;font-size:12px;right:30%}.theme-cabinet .art-caption{font-size:8px}}.portfolio .compact-gallery{grid-template-columns:repeat(6,minmax(0,1fr));align-items:start;gap:28px 16px;display:grid}.portfolio .compact-gallery .gallery-item:nth-child(n){border:0;margin:0;padding:0;transform:none}.portfolio .compact-gallery .gallery-image{background:0 0;padding:0;transform:none}.portfolio .compact-gallery .gallery-image .artwork{aspect-ratio:3/4;height:auto}.portfolio .compact-gallery .gallery-image .artwork img{object-fit:cover;width:100%;height:100%}.portfolio .compact-gallery .work-caption{align-items:start;gap:4px;padding:12px 0 0}.portfolio .compact-gallery .work-caption h3{font:500 13px/1.65 var(--font-sans,Arial,sans-serif);letter-spacing:0;overflow-wrap:anywhere}.portfolio .compact-gallery .round-arrow{display:none}.portfolio .compact-gallery .gallery-purpose{opacity:.65;margin:8px 0 0;font-size:11px;line-height:1.8}.gallery-pages{flex-wrap:wrap;justify-content:center;align-items:center;gap:24px;margin:36px 0 10px;font-size:12px;display:flex}.gallery-pages button{cursor:pointer;border:1px solid;padding:9px 14px}.gallery-pages button:disabled{opacity:.3;cursor:default}.full-prompt{min-width:0;margin-top:24px}.full-prompt summary{cursor:pointer;border-top:1px solid;padding:16px 0;font-size:14px}.prompt-source-note{color:var(--muted);overflow-wrap:anywhere;padding:12px 0;font-size:12px;line-height:1.8}.curation-preview-banner{z-index:20;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--mint);flex-wrap:wrap;justify-content:center;gap:20px;padding:12px 24px;font-size:12px;display:flex;position:relative}.curation-preview-banner a{text-decoration:underline}@media (max-width:1199px){.portfolio .compact-gallery{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (max-width:999px){.portfolio .compact-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:799px){.portfolio .compact-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:600px){.portfolio .compact-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.gallery-pages{gap:12px;font-size:11px}}.portfolio .compact-gallery.paired-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:64px 38px}.artwork-pair{isolation:isolate;aspect-ratio:1/1.32;margin:10px 0 12px;position:relative}.paired-art{background:var(--paper);cursor:zoom-in;outline-offset:7px;padding:0;transition:transform .35s,box-shadow .35s;display:block;position:absolute;box-shadow:0 12px 28px #0003,0 1px 3px #0003}.paired-art img{width:100%;height:auto;display:block}.paired-portrait{z-index:1;width:77%;top:3%;left:17%;transform:rotate(-3deg)}.paired-landscape{z-index:2;width:68%;bottom:4%;left:1%;transform:rotate(6deg)}.gallery-item:nth-child(4n+2) .paired-portrait{top:5%;left:11%;transform:rotate(4deg)}.gallery-item:nth-child(4n+2) .paired-landscape{bottom:7%;left:27%;transform:rotate(-7deg)}.gallery-item:nth-child(4n+3) .paired-portrait{top:2%;left:18%;transform:rotate(-1.5deg)}.gallery-item:nth-child(4n+3) .paired-landscape{bottom:9%;left:0;transform:rotate(-5deg)}.gallery-item:nth-child(4n) .paired-portrait{top:3%;left:9%;transform:rotate(5deg)}.gallery-item:nth-child(4n) .paired-landscape{bottom:3%;left:25%;transform:rotate(3deg)}.paired-art:hover,.paired-art:focus-visible{transform:translateY(-6px)rotate(0);box-shadow:0 20px 36px #0004}.pair-format{color:#fff;font:10px/1.2 var(--sans);opacity:0;background:#111d;align-items:center;gap:8px;padding:5px 8px;transition:opacity .2s;display:flex;position:absolute;bottom:8px;right:8px}.paired-art:hover .pair-format,.paired-art:focus-visible .pair-format{opacity:1}.portfolio .paired-gallery .work-caption h3{font-size:16px}.portfolio .paired-gallery .gallery-purpose{font-size:12px}.work-format-switch{gap:8px;margin:14px 0;display:flex}.work-format-switch button{border:1px solid var(--line);padding:7px 16px;font-size:12px}.work-format-switch button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--gold)}@media (max-width:1000px){.portfolio .compact-gallery.paired-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 24px}}@media (max-width:600px){.portfolio .compact-gallery.paired-gallery{grid-template-columns:minmax(0,1fr);gap:46px;max-width:400px;margin-inline:auto}.artwork-pair{margin-top:4px}}@media (prefers-reduced-motion:reduce){.paired-art,.pair-format{transition:none}}.collection-decks{grid-template-columns:repeat(2,minmax(0,1fr));gap:70px;max-width:980px;margin:0 auto;display:grid}.collection-deck{outline-offset:10px;min-width:0;display:block}.collection-deck:nth-child(2n){padding-top:68px}.deck-stage{isolation:isolate;max-width:340px;height:400px;margin:0 auto 32px;position:relative}.deck-card{border:7px solid var(--paper);background:var(--paper);box-shadow:0 8px 20px #0002,0 0 0 1px var(--gold);position:absolute;inset:10% 14% 0}@supports (color:color-mix(in lab, red, red)){.deck-card{box-shadow:0 8px 20px #0002,0 0 0 1px color-mix(in srgb,var(--gold)25%,transparent)}}.deck-card{transform-origin:50% 88%;flex-direction:column;transition:transform .55s cubic-bezier(.2,.75,.2,1),box-shadow .55s;display:flex;overflow:hidden}.deck-card img{object-fit:cover;flex:1;width:100%;height:calc(100% - 23px);min-height:0}.deck-card-foot{letter-spacing:.1em;flex:0 0 23px;justify-content:space-between;gap:10px;padding:7px 2px 1px;font:8px/1 monospace;display:flex}.deck-card-foot>span:last-child{color:var(--gold)}.deck-card-0{z-index:3;transform:translate(0)rotate(-3deg)}.deck-card-1{z-index:2;transform:translate(-10px,-7px)rotate(-8deg)}.deck-card-2{z-index:1;transform:translate(11px,-11px)rotate(5deg)}.collection-deck:nth-child(2n) .deck-card-0{transform:translate(0)rotate(4deg)}.collection-deck:nth-child(2n) .deck-card-1{transform:translate(-8px,-6px)rotate(-5deg)}.collection-deck:nth-child(2n) .deck-card-2{transform:translate(11px,-12px)rotate(10deg)}.collection-deck:focus-visible .deck-card-0{transform:translateY(-10px)rotate(-2deg)}.collection-deck:focus-visible .deck-card-1{transform:translate(-10%,-12px)rotate(-13deg)}.collection-deck:focus-visible .deck-card-2{transform:translate(10%,-16px)rotate(12deg)}@media (hover:hover){.collection-deck:hover .deck-card-0{transform:translateY(-10px)rotate(-2deg);box-shadow:0 16px 25px #0003}.collection-deck:hover .deck-card-1{transform:translate(-10%,-12px)rotate(-13deg)}.collection-deck:hover .deck-card-2{transform:translate(10%,-16px)rotate(12deg)}}.deck-caption{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:14px;padding-top:20px;display:flex}.deck-caption .eyebrow{letter-spacing:1.1px;color:var(--muted);font-size:8px}.deck-caption h2{font-family:var(--serif);align-items:center;gap:8px;margin:9px 0 12px;font-size:clamp(24px,2.5vw,37px);font-weight:400;line-height:1.2;display:flex}.deck-caption h2 svg{color:var(--gold);flex-shrink:0;transition:transform .3s}.collection-deck:hover h2 svg{color:var(--pink);transform:translate(3px,-3px)}.deck-description{max-width:240px;color:var(--muted);font-size:11px;line-height:1.9}.deck-count{color:var(--gold);padding-top:4px;font:13px/1.7 monospace}.deck-count small{font:8px/1.5 var(--sans);white-space:nowrap;color:var(--muted);display:block}.deck-note{font:italic 12px/1.7 var(--serif);color:var(--muted);text-align:center;margin-top:34px}.theme-nocturne .deck-card{box-shadow:0 15px 35px #0008,0 0 0 1px var(--gold)}@supports (color:color-mix(in lab, red, red)){.theme-nocturne .deck-card{box-shadow:0 15px 35px #0008,0 0 0 1px color-mix(in srgb,var(--gold)25%,transparent)}}.theme-nocturne .deck-card{border-color:var(--soft-dark);background:var(--soft-dark)}.theme-nocturne .deck-card-foot{color:#ddd}.portfolio.collection-page .archive-section{width:calc(100% - 96px);max-width:1500px;margin:0 auto;padding:40px 18px 80px}.archive-back{color:var(--muted);margin-bottom:48px;font-size:12px;display:inline-block}.archive-section .section-heading h1{font-family:var(--serif);letter-spacing:-.03em;font-size:clamp(38px,6vw,84px);font-weight:400;line-height:1.2}.archive-section .section-heading h1 em{color:var(--pink)}.archive-toolbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);letter-spacing:1px;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:28px;padding:20px 0;font-size:10px;display:flex}.archive-prompt{border-top:1px solid var(--line);min-width:0;margin-top:12px;padding-top:10px;font-size:10px}.archive-prompt summary{cursor:pointer;line-height:1.6}.archive-prompt button{border:1px solid var(--line);margin:12px 0 8px;padding:7px 10px;display:block}.archive-prompt [role=status]{color:var(--gold);display:block}.archive-prompt pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--soft);max-height:440px;margin-top:12px;padding:12px;font:11px/1.8 monospace;overflow:auto}@media (max-width:1100px){.collection-decks{gap:22px}.deck-caption{gap:6px}.deck-count{display:none}.deck-card{border-width:5px;inset:12% 16% 0}.deck-stage{height:340px}.deck-caption h2{font-size:27px}}@media (max-width:800px){.deck-stage{height:clamp(210px,45vw,330px)}.collection-deck:nth-child(2n){padding-top:45px}.portfolio.collection-page .archive-section{width:calc(100% - 36px);padding-left:0;padding-right:0}.archive-section .section-heading{display:block}.archive-section .section-heading p{margin-top:20px}}@media (max-width:440px){.collection-decks{grid-template-columns:1fr;gap:35px}.collection-deck,.collection-deck:nth-child(2n){padding:0 22px}.deck-stage{aspect-ratio:4/5;max-width:260px;height:auto;margin:0 auto 30px}.deck-card{border-width:7px;inset:10% 14% 0}.deck-count{display:block}.deck-caption h2{font-size:34px}.deck-description{font-size:12px}.archive-toolbar{font-size:9px}}@media (prefers-reduced-motion:reduce){.deck-card,.deck-caption h2 svg{transition:none}}.editor-preview{min-height:0}.editor-preview>.site-header,.editor-preview>.site-footer,.editor-preview>.skip-link,.editor-preview>.appearance-switch,.editor-preview>.curation-preview-banner,.editor-preview-landing main>:not(.hero),.editor-preview-gallery main>:not(#gallery),.editor-preview-projects main>:not(#projects),.editor-preview-skills main>:not(#skills),.editor-preview-about main>:not(#about),.editor-preview-gallery.collection-page .archive-back,.editor-preview-gallery.collection-page .section-heading,.editor-preview-gallery.collection-page .archive-toolbar,.editor-preview-gallery.collection-page .collection-note{display:none}.editor-preview-gallery.collection-page .compact-gallery{grid-template-columns:minmax(0,520px);justify-content:center}.portfolio:lang(zh-CN){--sans:Arial,"Site Han Sans","Microsoft YaHei","PingFang SC",sans-serif;--serif:"Bodoni MT","Times New Roman","Site Han Serif","Songti SC",serif}.theme-folio .hero h1.cjk-heading{letter-spacing:-.045em;text-wrap:balance;overflow-wrap:anywhere;font-synthesis:none;font-family:Site Han Sans,Microsoft YaHei,sans-serif;font-size:clamp(56px,7.1vw,108px);font-weight:850;line-height:1.14}.theme-folio .hero h1.cjk-heading em{letter-spacing:.08em;font-family:Site Han Serif,Songti SC,serif;font-style:normal;font-weight:400}.theme-nocturne .hero h1.cjk-heading{letter-spacing:.065em;text-wrap:balance;overflow-wrap:anywhere;font-synthesis:none;font-family:Site Han Sans,Microsoft YaHei,sans-serif;font-size:clamp(44px,4.9vw,76px);font-weight:250;line-height:1.5}.theme-nocturne .hero h1.cjk-heading em{letter-spacing:.065em;font-family:inherit;font-style:normal;font-weight:450}.theme-nocturne .hero h1.cjk-heading small{font-family:var(--sans);letter-spacing:.1em;font-weight:400}@media (max-width:700px){.theme-folio .hero h1.cjk-heading{font-size:clamp(48px,12vw,76px);line-height:1.16}.theme-nocturne .hero h1.cjk-heading{letter-spacing:.04em;font-size:clamp(34px,8.8vw,58px);line-height:1.5}.theme-nocturne .hero h1.cjk-heading em{letter-spacing:.04em}}.hero:not([data-feature-kind=gallery]) h1{letter-spacing:-.025em;overflow-wrap:anywhere;font-size:clamp(40px,4.8vw,72px);line-height:1.2}.hero:not([data-feature-kind=gallery]) h1.cjk-heading{letter-spacing:0;font-size:clamp(38px,4.3vw,64px);line-height:1.35}.hero-feature-card{border:1px solid var(--line);background:var(--soft);min-height:540px;color:var(--ink);isolation:isolate;flex-direction:column;align-self:center;padding:30px;transition:border-color .25s,transform .25s;display:flex;position:relative}.hero-feature-card:hover,.hero-feature-card:focus-visible{border-color:var(--gold);transform:translateY(-4px)}.feature-card-top,.feature-card-bottom{font:10px/1.7 var(--sans);letter-spacing:.12em;justify-content:space-between;align-items:center;gap:15px;display:flex}.feature-card-top{color:var(--muted)}.feature-card-top svg{color:var(--pink)}.feature-card-mark{place-items:center;height:230px;margin:20px 0;display:grid;position:relative}.feature-card-mark i{border:1px solid var(--gold);width:150px;height:150px;position:absolute;transform:rotate(-12deg)}.feature-card-mark i:nth-child(2){border-color:var(--line);transform:rotate(12deg)}.feature-card-mark i:nth-child(3){border-color:var(--line);transform:rotate(36deg)}.feature-card-mark span{font:110px/1 var(--serif);color:var(--ink)}.feature-skill .feature-card-mark i{border-radius:50%;width:165px;height:165px;transform:translate(-35px)}.feature-skill .feature-card-mark i:nth-child(2){transform:translate(35px)}.feature-skill .feature-card-mark i:nth-child(3){transform:translateY(-35px)}.feature-skill .feature-card-mark span{color:var(--gold);font-size:90px}.feature-card-copy{margin-top:auto}.feature-card-copy>p:first-child{font:10px/1.7 var(--sans);letter-spacing:.12em;color:var(--muted)}.feature-card-copy h2{text-wrap:balance;font:500 clamp(28px,3vw,48px)/1.35 var(--sans);overflow-wrap:anywhere;margin:12px 0}.feature-card-copy>p:last-child{font:13px/1.9 var(--sans);color:var(--muted);white-space:pre-line}.feature-card-bottom{border-top:1px solid var(--line);color:var(--muted);margin-top:26px;padding-top:18px;font-size:8px}.theme-nocturne .hero-feature-card{background:var(--soft-dark);border-color:var(--gold);box-shadow:14px 14px 0 var(--canvas-dark),15px 15px 0 var(--line);transform:rotate(2deg)}.theme-nocturne .hero-feature-card:hover{transform:rotate(0)}@media (max-width:800px){.hero-feature-card{min-height:440px;padding:24px}.feature-card-mark{height:170px}.feature-card-mark i{width:115px;height:115px}.feature-skill .feature-card-mark i{width:125px;height:125px}.feature-card-mark span{font-size:80px}.hero:not([data-feature-kind=gallery]) h1,.hero:not([data-feature-kind=gallery]) h1.cjk-heading{font-size:clamp(34px,7vw,56px)}}@media (prefers-reduced-motion:reduce){.hero-feature-card{transition:none}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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}@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}
