@charset "UTF-8";
:root{color-scheme:light;--paper:#f7f7f2;--ink:#202820;--muted:#697066;--rule:#d9dcd3;--green:#406645;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #53855e;outline-offset:6px}button{background:none;border:0}::selection{background:#d8e5b7}img{display:block;max-width:100%}.index-shell{max-width:1480px;margin:auto;padding:0 5.4%}.site-header{min-height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule);gap:20px}.wordmark{font-size:31px;font-weight:800;letter-spacing:-1.6px;white-space:nowrap}.wordmark span{font-family:Georgia,serif;font-style:italic;font-weight:400}.wordmark i{display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;margin:0 0 3px 6px}.site-header nav{display:flex;gap:30px;align-items:center;font-size:14px}.site-header nav>a{min-height:44px;display:flex;align-items:center;gap:9px}.site-header nav>a:hover{color:var(--green)}.nav-current:before{content:"";width:5px;height:5px;background:var(--green);border-radius:50%}.drawer-link{margin-left:12px}.drawer-link svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.3}.language-toggle{font-size:13px;width:42px;min-height:42px;border:1px solid var(--rule);border-radius:50%;padding:0}.language-toggle:hover{background:#e8ece0}.intro{padding:66px 0 62px;display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.eyebrow{font:12px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;margin:0 0 22px}.eyebrow span{padding:0 12px;color:#8c9485}h1{font-size:clamp(40px,4.65vw,69px);line-height:1.23;letter-spacing:-.055em;margin:0;font-weight:600}.headline-last{color:var(--green)}.intro-copy{font-size:16px;line-height:1.8;color:var(--muted);margin:24px 0 0}.lab-note{flex:0 0 230px;padding:0 0 7px 28px;border-left:1px solid var(--rule);font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em}.note-dot{width:6px;height:6px;border-radius:50%;background:var(--green);display:inline-block;margin-right:9px}.lab-note p{font:14px/1.85 Arial,"PingFang SC",sans-serif;letter-spacing:0;white-space:pre-line;color:var(--muted);margin:19px 0 12px}.note-signature{font:italic 20px Georgia,serif}.section-heading{border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center;padding:22px 0}.section-heading h2{font-size:16px;font-weight:500;margin:0;display:flex;align-items:center;gap:12px}.project-total{font:12px ui-monospace,monospace;border:1px solid var(--rule);padding:4px 7px;border-radius:4px;color:var(--muted)}.section-aside{font:12px ui-monospace,monospace;letter-spacing:.1em;color:var(--muted)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.project{min-width:0}.project-link{display:block;border-radius:9px}.project-cover{position:relative;aspect-ratio:1.48;overflow:hidden;border-radius:8px;isolation:isolate}.tarot-cover{background:radial-gradient(ellipse at 50% 72%,#34434b,transparent 65%),#10181d;color:#c5cdd0}.play-cover{background:#e6ebc2;color:#394331}.cover-topline,.cover-bottomline{position:absolute;left:25px;right:25px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;font:11px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em}.cover-topline{top:21px}.cover-bottomline{bottom:18px;font-size:12px;letter-spacing:.02em}.cover-bottomline>span:last-child{font-size:22px}.tarot-art,.poster-art{position:absolute;inset:0}.tarot-card{position:absolute;left:50%;top:51%;width:25%;height:65%;object-fit:cover;border-radius:5px;border:5px solid #d8d2bb;box-shadow:0 14px 32px #0009;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.tarot-left{transform:translate(-111%,-43%) rotate(-18deg)}.tarot-right{transform:translate(11%,-43%) rotate(18deg)}.tarot-center{transform:translate(-50%,-50%) rotate(-3deg);z-index:2}.mini-poster{position:absolute;width:36%;height:72%;top:53%;left:50%;object-fit:cover;border:5px solid #faf9ef;box-shadow:0 10px 16px #3f512329;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.poster-left{transform:translate(-123%,-47%) rotate(-14deg)}.poster-right{transform:translate(23%,-46%) rotate(14deg)}.poster-center{transform:translate(-50%,-51%) rotate(-3deg);z-index:2}.project-info{padding:21px 2px 0}.project-title-row{display:flex;justify-content:space-between;align-items:center;gap:15px}.project-info h3{font-size:25px;line-height:1.35;font-weight:500;letter-spacing:-.025em;margin:0}.project-arrow{height:34px;width:34px;border:1px solid var(--rule);border-radius:50%;display:grid;place-items:center;font-size:21px;transition:background .2s,color .2s,transform .2s}.project-info p{color:var(--muted);font-size:15px;line-height:1.75;margin:12px 0 22px}.project-meta{display:flex;justify-content:space-between;gap:14px;align-items:center;font:12px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.025em}.project-type{color:var(--muted)}.project-status{display:flex;align-items:center;gap:6px;white-space:nowrap;color:var(--green)}.project-status i{width:5px;height:5px;background:var(--green);border-radius:50%}.next-project{display:flex;align-items:center;gap:18px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-top:40px;padding:22px 2px;color:var(--muted)}.next-number{font:14px ui-monospace,monospace}.next-line{height:1px;width:42px;background:#a7af9f}.next-project p{font-size:14px;line-height:1.7;margin:0}.next-symbol{margin-left:auto;font-size:24px;font-weight:300}.site-footer{padding:32px 0 36px;display:flex;align-items:center;gap:24px;font-size:12px;color:var(--muted)}.footer-note{margin-left:auto}.site-footer a{min-height:44px;display:flex;align-items:center}.site-footer a:hover{text-decoration:underline}.skip-link{position:absolute;top:10px;left:20px;transform:translateY(-200%);z-index:20;background:var(--paper);padding:10px}.skip-link:focus{transform:none}.private-dialog{color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:12px;width:min(460px,calc(100% - 32px));padding:0;box-shadow:0 24px 100px #0003;max-height:calc(100dvh - 40px);overflow:auto}.private-dialog[open]{position:fixed;inset:0;margin:auto;height:fit-content}.private-dialog::backdrop{background:#0e181c80;backdrop-filter:blur(5px)}.dialog-inner{padding:40px 32px 26px;position:relative}.dialog-close{position:absolute;top:7px;right:8px;font-size:28px;width:44px;height:44px}.private-dialog h2{font-size:30px;line-height:1.3;margin:15px 0}.private-dialog p{font-size:16px;line-height:1.7;color:var(--muted)}.private-dialog label{display:block;font-size:14px;margin:25px 0 10px}.pass-line{display:flex;border-bottom:1px solid var(--ink);gap:12px}.pass-line input{min-width:0;flex:1;border:0;background:transparent;padding:10px 0;font-size:18px;color:inherit}.pass-line button{padding:8px 4px;white-space:nowrap;font-size:14px}.private-dialog .login-error{min-height:24px;font-size:14px;color:#ad3b31}.private-dialog .eyebrow{font-size:12px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.project-link:hover .tarot-left{transform:translate(-127%,-43%) rotate(-24deg)}.project-link:hover .tarot-right{transform:translate(27%,-43%) rotate(24deg)}.project-link:hover .tarot-center{transform:translate(-50%,-54%) rotate(0deg)}.project-link:hover .poster-left{transform:translate(-129%,-47%) rotate(-18deg)}.project-link:hover .poster-right{transform:translate(29%,-46%) rotate(18deg)}.project-link:hover .poster-center{transform:translate(-50%,-55%) rotate(1deg)}.project-link:hover .project-arrow{background:var(--ink);color:var(--paper);transform:rotate(5deg)}}
@media(min-width:1600px){.index-shell{padding:0 80px}}@media(max-width:1000px){.index-shell{padding:0 5%}.site-header{min-height:90px}.site-header nav{gap:20px}.intro{padding:52px 0 46px}.lab-note{flex-basis:205px;padding-left:22px}.project-grid{gap:22px}.cover-category{display:none}.cover-topline,.cover-bottomline{left:18px;right:18px}.project-info h3{font-size:22px}.project-info p{font-size:14px}.project-meta{font-size:12px;letter-spacing:0}.project-cover{aspect-ratio:1.25}}
@media(max-width:700px){.index-shell{padding:0 22px}.site-header{min-height:84px;gap:12px;flex-wrap:wrap;padding:18px 0}.wordmark{font-size:26px}.site-header nav{gap:16px;font-size:13px}.site-header .nav-current{display:none}.drawer-link{margin-left:0}.drawer-link svg{display:none}.language-toggle{min-height:34px;width:34px;font-size:12px}.intro{display:block;padding:44px 0 35px}.eyebrow{font-size:11px;margin-bottom:22px;letter-spacing:.08em}h1{font-size:clamp(35px,7.2vw,50px);letter-spacing:-.06em;line-height:1.3}.intro-copy{font-size:15px;line-height:1.85;max-width:27em;margin-top:20px}.lab-note{border-left:0;padding:0;margin-top:28px;font-size:11px}.lab-note p,.note-signature{display:none}.section-heading{padding:20px 0}.section-heading h2{font-size:14px}.section-aside{font-size:11px;letter-spacing:0}.project-grid{grid-template-columns:1fr;gap:32px}.project-cover{aspect-ratio:1.35}.cover-topline{top:18px;font-size:10px}.cover-bottomline{font-size:11px;bottom:14px}.cover-category{display:inline;font-size:9px;letter-spacing:.03em}.project-info{padding-top:18px}.project-info h3{font-size:23px}.project-info p{font-size:15px;margin:10px 0 18px}.project-meta{font-size:12px}.next-project{margin-top:30px;padding:20px 0;gap:12px}.next-line{width:24px}.next-project p{font-size:13px}.site-footer{padding:21px 0;gap:10px;flex-wrap:wrap}.footer-note{margin-left:auto}.site-footer a{width:100%;min-height:30px}.dialog-inner{padding:34px 24px 20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.index-count{display:flex;align-items:baseline;gap:12px;color:var(--muted);font:12px/1.5 ui-monospace,monospace;white-space:nowrap}.index-count>span:first-child{font-size:42px;font-weight:300;letter-spacing:-.08em;color:var(--ink)}.site-footer>a:last-child{margin-left:auto}.project-info p{font-size:16px}@media(max-width:700px){.index-count{margin-top:25px;gap:8px}.index-count>span:first-child{font-size:22px}.site-footer>a:last-child{width:auto}.project-info p{font-size:16px}}

.intro{padding:66px 0 62px;align-items:center}h1{font-size:clamp(52px,7.3vw,104px);font-weight:500;letter-spacing:-.07em;line-height:1.16}.title-dot{display:inline-block;width:.11em;height:.11em;margin-left:.13em;border-radius:50%;background:#83a466;vertical-align:baseline}.index-count{align-self:flex-end;padding-bottom:5px}@media(max-width:700px){.intro{padding:42px 0 32px}h1{font-size:clamp(40px,9.3vw,62px);letter-spacing:-.07em}.intro .eyebrow{margin-bottom:22px}.index-count{margin-top:24px}}

/* A personal archive: expressive type, offset covers, vivid ink. */
:root{--paper:#f5f5ef;--ink:#252723;--muted:#70736a;--rule:#d8dad0;--green:#ce5133}
.index-shell{max-width:1450px;padding:0 6.3%}
.site-header{border-bottom:0;min-height:106px}
.wordmark{font-size:34px;letter-spacing:-1.8px}
.wordmark i{background:#ce5133}
.site-header nav{gap:25px}
.language-toggle{border-color:#2527233d;border-radius:4px}
.intro{padding:50px 0 66px;position:relative}
.intro-main{width:100%}
.intro .eyebrow{font-size:12px;letter-spacing:.14em;margin-bottom:26px}
.intro h1{font-size:clamp(66px,9.5vw,142px);font-weight:650;line-height:1.2;letter-spacing:-.085em;white-space:nowrap}
.headline-last{display:inline-block;transform:rotate(-3deg) translateY(-.015em);margin-left:.06em;color:#ce5133}
.title-dot{width:.1em;height:.1em;margin-left:.15em;background:#252723;transform:translateY(-.04em)}
.section-heading{border-top:1px solid #252723;padding:19px 0 25px}
.section-heading h2{font-size:15px;letter-spacing:.025em}
.project-total{border:0;background:#e1e4d6;border-radius:50%;height:24px;min-width:24px;display:grid;place-items:center;padding:0;color:#252723}
.project-grid{grid-template-columns:1.05fr 1fr;gap:48px;align-items:start;padding:6px 6px 0}
.project-play{margin-top:45px}
.project-cover{border-radius:3px;aspect-ratio:1.33;transition:transform .4s cubic-bezier(.2,.7,.2,1);box-shadow:0 2px 1px #24271c12,0 10px 23px #24271c0c}
.tarot-cover{transform:rotate(-1.7deg);background:radial-gradient(ellipse at 50% 80%,#3e4851,transparent 65%),#131d24}
.play-cover{transform:rotate(1.7deg);background:#dbe984}
.cover-topline>span:first-child{font:italic 34px/.95 Georgia,serif;letter-spacing:-.05em}
.cover-topline{top:20px}
.cover-category{font-size:10px;letter-spacing:.08em}
.cover-bottomline{font-size:11px}
.project-info{padding:26px 0 0}
.project-info h3{font-size:28px;font-weight:600;letter-spacing:-.045em}
.project-info p{margin:10px 0 18px;font-size:16px}
.project-arrow{width:42px;height:42px;font-size:34px;border:0;border-radius:0}
.project-status{color:#4e6250}
.project-status i{background:#4e6250}
.project-meta{font-size:12px;letter-spacing:.035em}
.next-project{margin-top:39px;border-top:1px dashed #aeb2a5;border-bottom:0;padding:26px 5px 24px;gap:18px}
.next-number{font:italic 25px Georgia,serif;color:#808777}
.next-line{width:55px;background:#b8bdad}
.next-symbol{border:1px solid #c7ccb9;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-size:21px}
.site-footer{border-top:1px solid var(--rule);padding:23px 0 28px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.project-link:hover .project-cover{transform:rotate(0deg) translateY(-4px)}.project-link:hover .project-arrow{background:transparent;color:#ce5133;transform:translate(3px,-3px)}}
@media(max-width:1000px){.index-shell{padding:0 5%}.project-grid{gap:34px}.intro h1{font-size:9.5vw}.project-info h3{font-size:24px}.cover-category{display:none}}
@media(max-width:700px){.index-shell{padding:0 24px}.site-header{min-height:85px;padding:20px 0;gap:10px}.wordmark{font-size:29px}.site-header nav{gap:13px;font-size:13px}.intro{padding:31px 0 44px}.intro .eyebrow{font-size:10px;margin-bottom:25px}.intro h1{font-size:10.8vw;letter-spacing:-.08em}.headline-last{margin-left:.03em}.title-dot{margin-left:.13em}.section-heading{padding:17px 0 25px}.section-heading h2{font-size:14px}.project-grid{grid-template-columns:1fr;gap:34px;padding:0 4px}.project-play{margin-top:0}.project-cover{aspect-ratio:1.22}.tarot-cover{transform:rotate(-1.6deg)}.play-cover{transform:rotate(1.6deg)}.cover-topline>span:first-child{font-size:30px}.cover-category{display:inline;font-size:9px}.project-info{padding-top:23px}.project-info h3{font-size:25px}.project-info p{font-size:16px}.project-meta{letter-spacing:0}.next-project{margin-top:30px}.site-footer{font-size:12px;padding:19px 0}}
@media(prefers-reduced-motion:reduce){.project-cover{transition:none}}
