@font-face{font-family:LabSerif;src:local(Noto Serif CJK SC),local(Source Han Serif SC),local(STSong),local(SimSun);font-display:swap}:root{--paper:#f5f3ed;--ink:#252921;--muted:#73766c;--line:#d8d9ce;--accent:#bf4d32;--serif:LabSerif,"Songti SC","SimSun",Georgia,serif;--sans:"Trebuchet MS","Microsoft YaHei","PingFang SC",sans-serif;--mono:"Courier New",monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{background:var(--paper);color:var(--ink);font-family:var(--sans);background-image:radial-gradient(#5d624209 .7px,#0000 .7px);background-size:5px 5px;margin:0;font-size:14px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;display:block}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{color:#252921;background:#e9b09b}.shell{width:min(1280px,100% - 100px);margin-inline:auto}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--ink);color:#fff;padding:12px 20px;position:fixed;top:-80px;left:20px}.skip-link:focus{top:12px}[hidden]{display:none!important}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:108px;display:flex}.brand{letter-spacing:2px;align-items:center;gap:13px;font-size:21px;font-weight:700;line-height:1.4;display:flex}.brand-mark{color:var(--accent);font:50px/1 Georgia}.brand small{font-family:var(--mono);letter-spacing:2px;margin-top:4px;font-size:9px;font-weight:400;display:block}.site-header nav{align-items:center;gap:35px;font-size:13px;display:flex}.site-header nav a{transition:color .2s}.site-header nav a:hover{color:var(--accent)}nav span{font:10px var(--mono);color:var(--accent);vertical-align:super;margin-left:3px}.nav-github{border:1px solid var(--line);border-radius:30px;padding:8px 19px}.hero{padding:64px 0 65px;animation:.7s both arrive}.eyebrow{font:10px/1.5 var(--mono);letter-spacing:1.6px;align-items:center;gap:9px;display:flex}.status-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;display:inline-block}.hero-row{justify-content:space-between;align-items:flex-end;gap:35px;margin-top:26px;display:flex}.hero h1{font-family:var(--serif);letter-spacing:2px;margin:0;font-size:clamp(36px,4vw,57px);font-weight:500;line-height:1.5;position:relative}.hero h1 em{color:var(--accent);font-style:normal}.hero-spark{color:var(--accent);vertical-align:middle;margin-left:25px;font-family:Georgia,serif;font-size:67px;display:inline-block;transform:rotate(12deg)}.hero-note{max-width:350px;padding:0 5px 8px 0}.note-index{font:9px var(--mono);letter-spacing:1.3px;color:var(--muted)}.hero-note p{color:#616558;margin:13px 0 18px;font-size:12px;line-height:2.2}.text-link{border-bottom:1px solid var(--ink);align-items:center;gap:30px;padding-bottom:3px;font-size:12px;display:inline-flex}.text-link:hover{color:var(--accent);border-color:var(--accent)}.hero-note .text-link{gap:58px}.works-section{padding-top:9px}.section-top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:16px;display:flex}.section-top h2{letter-spacing:1px;margin:0;font-size:18px;font-weight:500}.section-top h2 span{font:9px var(--mono);letter-spacing:1.3px;color:var(--muted);margin-left:14px}.archive-count{color:var(--muted);letter-spacing:1px;font-size:10px}.filter-bar{justify-content:space-between;align-items:center;gap:16px;padding:22px 0 26px;display:flex}.filters{gap:8px;display:flex}.filter{color:#686c60;background:0 0;border:1px solid #0000;border-radius:25px;padding:7px 15px;font-size:12px;transition:background .2s,color .2s}.filter span{font:9px var(--mono);opacity:.7;margin-left:6px}.filter:hover{background:#e9e8df}.filter.active{background:var(--ink);color:var(--paper)}.filter-hint{color:#898b80;font-size:11px}.work-grid{grid-template-columns:1fr 1fr;gap:42px 28px;display:grid}.work-card{min-width:0;animation:.6s both arrive}.work-card:nth-child(2){animation-delay:80ms}.work-card:nth-child(3){animation-delay:.16s}.work-card.featured{grid-column:1/-1}.work-image{aspect-ratio:1.65;background:var(--cover-color);border-radius:3px;display:block;position:relative;overflow:hidden}.work-image:after{content:"";pointer-events:none;background:linear-gradient(#00000010 0%,#0000 40%,#00000020 100%);position:absolute;inset:0}.work-image img{object-fit:cover;width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.work-image:hover img{transform:scale(1.035)}.featured .work-image{aspect-ratio:2.27}.featured .work-image img{object-position:50% 45%}.featured .work-image:after{background:linear-gradient(90deg,#15233095,#0000 65%),linear-gradient(#0000 40%,#101e3290)}.image-badge{z-index:1;letter-spacing:1px;color:#fff;backdrop-filter:blur(8px);background:#1d241c30;border:1px solid #ffffff60;border-radius:20px;padding:4px 12px;font-size:10px;position:absolute;top:20px;left:20px}.image-open{z-index:1;color:#fff;background:#1d241c20;border:1px solid #ffffff75;border-radius:50%;place-items:center;width:34px;height:34px;font-size:19px;display:grid;position:absolute;top:20px;right:20px}.feature-caption{z-index:1;color:#fff;position:absolute;bottom:35px;left:35px}.feature-caption>span{font:9px var(--mono);letter-spacing:2px;opacity:.8}.feature-caption strong{font:400 32px/1.5 var(--serif);letter-spacing:3px;margin-top:10px;display:block}.feature-caption p{letter-spacing:2px;opacity:.8;margin:8px 0 0;font-size:11px}.work-meta{grid-template-columns:28px 1fr 30px;gap:10px;padding:22px 0 0;display:grid}.work-number{font:11px/2 var(--mono);color:var(--accent);padding-top:2px}.work-meta h3{letter-spacing:1px;margin:0;font-size:19px;font-weight:500;line-height:1.6}.work-meta a:hover h3{color:var(--accent)}.work-meta p{color:var(--muted);max-width:620px;margin:7px 0 13px;font-size:11px;line-height:1.9}.work-tags{flex-wrap:wrap;gap:7px;display:flex}.work-tags span{border:1px solid var(--line);color:#717569;border-radius:4px;padding:3px 8px;font-size:9px;line-height:1.5}.work-tags .prompt-tag{color:#a06b49;background:#eadfce35;border-color:#d9c6b5}.card-arrow{text-align:right;font-size:25px;line-height:1.3}.card-arrow:hover{color:var(--accent)}.manifesto{background:#eaece2;border:1px solid #dedfd3;border-radius:3px;align-items:center;gap:26px;margin:75px 0 65px;padding:35px 32px;display:flex}.manifesto-icon{color:var(--accent);font:50px Georgia}.manifesto .eyebrow{color:var(--muted);font-size:9px}.manifesto h2{font-family:var(--serif);letter-spacing:2px;margin:9px 0 6px;font-size:25px;font-weight:400}.manifesto p{color:var(--muted);margin:0;font-size:11px}.round-link{border:1px solid #bfc3b4;border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;margin-left:auto;font-size:23px;display:grid}.round-link:hover{color:var(--accent);border-color:var(--accent)}.site-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding-block:33px 39px;display:flex}.footer-name{letter-spacing:2px;font-size:16px}.footer-name span{color:var(--accent);margin-left:7px}.site-footer p{color:var(--muted);margin:7px 0 0;font-size:10px}.footer-right{text-align:right}.footer-right p{font:9px var(--mono);letter-spacing:1.5px;margin:0 0 8px}.footer-right span{color:#898b80;font-size:9px}.detail-page{padding-top:35px}.back-link{color:var(--muted);font-size:12px}.back-link:hover{color:var(--accent)}.detail-heading{justify-content:space-between;align-items:center;gap:20px;padding:45px 0 35px;display:flex}.detail-heading h1{font:400 clamp(27px,4vw,46px)/1.6 var(--serif);letter-spacing:2px;margin:14px 0 9px}.detail-heading p{color:var(--muted);margin:0;font-size:13px}.detail-number{color:#d7d8cc;font:italic 90px Georgia}.detail-visual{aspect-ratio:2;background:#e1e5d9;border-radius:4px;position:relative;overflow:hidden}.detail-visual img{object-fit:cover;width:100%;height:100%}.detail-visual .button{position:absolute;bottom:25px;right:25px;box-shadow:0 4px 25px #0003}.button{border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:20px;padding:11px 19px;font-size:12px;display:inline-flex}.button-light{background:var(--paper);color:var(--ink)}.button-dark{background:var(--ink);color:var(--paper)}.button-outline{border-color:var(--line);background:0 0}.button:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.detail-columns{grid-template-columns:240px 1fr;gap:75px;margin:50px 0 70px;display:grid}.project-facts{align-self:start;position:sticky;top:30px}.project-facts dl{margin:23px 0 28px}.project-facts dt{color:var(--muted);margin-top:18px;font-size:10px}.project-facts dd{margin:4px 0 0;font-size:12px}.project-facts .button{width:100%;margin-bottom:10px}.project-facts .text-link{margin-top:10px}.project-content{min-width:0;max-width:820px}.project-content section{margin-bottom:45px;scroll-margin-top:20px}.project-content h2{letter-spacing:1px;margin:0 0 18px;font-size:20px;font-weight:500}.project-content h2 span{font:11px var(--mono);color:var(--accent);margin-right:15px}.project-content p{color:#626759;font-size:13px;line-height:2}.notice{color:#676d5b;background:#e9eade;border-left:2px solid #b8bda6;padding:16px 19px;font-size:12px;line-height:1.9}.content-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.content-heading h2{margin:0}.copy-button{white-space:nowrap;background:0 0;border:1px solid #d1d3c6;border-radius:5px;padding:6px 11px;font-size:11px}.copy-button:hover{background:#e8e9df}.prompt-disclaimer{font-size:12px!important}.prompt-disclaimer strong{color:var(--accent);font-weight:500}.prompt-block,.command-block{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/2 var(--sans);color:#4b5342;background:#eaece3;border:1px solid #dfe1d5;border-radius:5px;margin:18px 0 12px;padding:22px}.command-block{font-family:var(--mono);font-size:13px}.copy-status{min-height:20px;margin:0;color:var(--accent)!important;font-size:11px!important}.process-list{color:#626759;padding-left:22px;font-size:13px;line-height:2}.process-list li{margin:12px 0;padding-left:6px}.process-list li::marker{color:var(--accent);font-family:var(--mono);font-size:11px}.next-work{border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:8px;padding:30px 0 50px;display:grid}.next-work>span:first-child{font:9px var(--mono);letter-spacing:1px;color:var(--muted);grid-column:1/-1}.next-work strong{font:400 27px var(--serif)}.next-work>span:last-child{font-size:27px}.next-work:hover{color:var(--accent)}.about-page{max-width:850px;padding-block:40px 90px}.about-page>.eyebrow{color:var(--accent);margin-top:50px}.about-page>h1{font:400 clamp(40px,6vw,65px)/1.45 var(--serif);letter-spacing:3px;margin:22px 0}.about-lead{color:#747968;font-size:17px;line-height:2}.about-body{border-top:1px solid var(--line);margin:55px 0 0;padding-top:15px}.about-body section{margin:30px 0 45px;scroll-margin-top:30px}.about-body h2{font-size:21px;font-weight:500}.about-body p{color:#626759;font-size:14px;line-height:2.2}.about-body .button{margin-top:15px}@keyframes arrive{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (width>=1600px){.hero{padding-block:75px}.hero h1{font-size:64px}}@media (width<=1000px){.shell{width:calc(100% - 64px)}.hero-row{gap:20px}.hero h1{letter-spacing:0;font-size:39px}.hero-spark{margin-left:13px;font-size:45px}.hero-note{max-width:285px}.hero-note p{font-size:11px}.detail-columns{grid-template-columns:210px 1fr;gap:35px}.filter-hint{display:none}.work-meta h3{font-size:17px}}@media (width<=700px){.shell{width:calc(100% - 36px)}.site-header{height:87px}.brand{letter-spacing:1px;gap:8px;font-size:17px}.brand-mark{font-size:38px}.brand small{letter-spacing:1px;font-size:7px}.site-header nav{gap:16px;font-size:11px}.site-header nav span,.nav-github{display:none}.hero{padding:42px 0}.hero>.eyebrow{letter-spacing:.8px;font-size:8px}.hero-row{margin-top:22px;display:block}.hero h1{letter-spacing:.4px;font-size:clamp(28px,7.4vw,42px);line-height:1.55}.hero-spark{margin-left:10px;font-size:43px}.hero-note{grid-template-columns:1fr auto;align-items:end;gap:8px;max-width:none;margin-top:23px;padding:0;display:grid}.note-index{display:none}.hero-note p{margin:0;font-size:11px;line-height:2}.hero-note .text-link{gap:16px;margin-bottom:3px;font-size:11px}.hero-note p br:first-child{display:none}.section-top{gap:10px;padding-bottom:14px}.section-top h2{white-space:nowrap;font-size:16px}.section-top h2 span{letter-spacing:.3px;margin-left:8px;font-size:7px}.archive-count{letter-spacing:0;font-size:8px}.filter-bar{padding:17px 0 20px}.filters{gap:1px}.filter{padding:6px 12px;font-size:11px}.work-grid{grid-template-columns:1fr;gap:31px}.work-card.featured{grid-column:auto}.featured .work-image{aspect-ratio:1.35}.featured .work-image img{object-position:57% 50%}.work-image{aspect-ratio:1.55}.feature-caption{bottom:21px;left:20px}.feature-caption>span{letter-spacing:1px;font-size:7px}.feature-caption strong{letter-spacing:1.5px;margin-top:7px;font-size:23px}.feature-caption p{letter-spacing:1px;font-size:9px}.image-badge{padding:3px 9px;font-size:9px;top:13px;left:13px}.image-open{width:29px;height:29px;font-size:16px;top:13px;right:13px}.work-meta{grid-template-columns:25px 1fr 23px;gap:5px;padding-top:17px}.work-meta h3{font-size:18px}.work-meta p{margin:7px 0 11px;font-size:11px}.work-tags{gap:5px}.work-tags span{font-size:8px}.manifesto{align-items:flex-start;gap:13px;margin:45px 0 38px;padding:25px 19px}.manifesto-icon{font-size:31px}.manifesto h2{letter-spacing:.5px;font-size:19px}.manifesto p{font-size:10px;line-height:1.9}.manifesto .eyebrow{font-size:8px}.round-link{align-self:center;width:30px;height:30px;font-size:17px}.site-footer{gap:20px;padding-block:25px}.footer-name{font-size:14px}.site-footer p{font-size:9px}.footer-right p{letter-spacing:.3px;font-size:7px}.footer-right span{font-size:8px}.detail-page{padding-top:25px}.detail-heading{padding:30px 0 25px}.detail-heading .eyebrow{letter-spacing:.7px;font-size:8px}.detail-heading h1{letter-spacing:0;margin-top:15px;font-size:29px}.detail-heading p{font-size:12px}.detail-number{display:none}.detail-visual{aspect-ratio:1.3}.detail-visual .button{padding:9px 14px;font-size:11px;bottom:15px;right:15px}.detail-columns{flex-direction:column;gap:30px;margin-top:30px;margin-bottom:30px;display:flex}.project-facts{border-bottom:1px solid var(--line);width:100%;padding-bottom:24px;position:static}.project-facts dl{grid-template-columns:100px 1fr;align-items:baseline;gap:10px 8px;margin:15px 0 20px;display:grid}.project-facts dt,.project-facts dd{margin:0;font-size:11px}.project-facts .button{width:auto;margin-right:6px;padding:9px 13px;font-size:11px}.project-content h2{font-size:18px}.project-content p{font-size:12px}.notice{font-size:11px}.prompt-block{padding:17px;font-size:11px;line-height:2}.content-heading{gap:7px}.copy-button{padding:5px 8px;font-size:10px}.process-list{font-size:12px}.next-work strong{font-size:23px}.about-page{padding-block:28px 45px}.about-page>.eyebrow{margin-top:35px;font-size:9px}.about-page>h1{font-size:45px}.about-lead{font-size:15px}.about-body{margin-top:35px}.about-body h2{font-size:20px}.about-body p{font-size:13px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.work-number{white-space:nowrap}.manifesto h2{text-wrap:balance}.detail-visual.detail-video{aspect-ratio:16/9;background:#252921}.detail-video video{object-fit:contain;width:100%;height:100%;display:block}.filters{flex-wrap:wrap}.brand-logo{object-fit:contain;flex-shrink:0;width:52px;height:52px}.footer-name{align-items:center;gap:9px;display:inline-flex}.footer-logo{object-fit:contain;width:30px;height:30px}.hero-fish{object-fit:contain;vertical-align:middle;width:76px;height:76px;margin-left:24px;display:inline-block;transform:rotate(-12deg)}@media (width<=1000px){.hero-fish{width:58px;height:58px;margin-left:13px}}@media (width<=700px){.brand-logo{width:42px;height:42px}.footer-logo{width:25px;height:25px}.hero-fish{width:48px;height:48px;margin-left:10px}}
