@charset "UTF-8";
:root{color-scheme:dark;--bg:#060709;--paper:#edf0e9;--muted:#93968f;--accent:#d7eea5;--line:rgba(232,239,224,.14);font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--paper)}
*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(ellipse at 50% 48%,#13161a55,transparent 58%);min-height:100svh}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}button{border:0;background:none}a{color:inherit;text-decoration:none}button:disabled{cursor:default}#stars{position:fixed;inset:0;pointer-events:none;z-index:-1;width:100%;height:100%}.site-header{height:100px;display:flex;align-items:center;margin:0 3.4vw;border-bottom:1px solid var(--line);gap:26px}.wordmark{font-weight:800;font-size:43px;letter-spacing:-3px;display:flex;align-items:center;line-height:1}.wordmark-star{font-weight:400;font-size:36px;letter-spacing:0;color:var(--accent);margin-left:2px;display:inline-block;transform:rotate(10deg)}.identity{display:grid;gap:6px;font-size:10px;letter-spacing:1.4px}.identity span+span{font-size:10px;color:var(--muted);letter-spacing:.5px}.view-switch{display:flex;gap:2px;border:1px solid var(--line);border-radius:30px;padding:4px;margin-left:auto}.view-switch button{border-radius:25px;font-size:12px;padding:9px 17px;color:#8c918a;transition:background .3s,color .3s}.view-switch span{margin-left:15px}.view-switch .selected{background:#e1e7d6;color:#141711}.about-link{font-size:12px;margin-left:20px;padding:10px 0}.about-link span{margin-left:12px;color:var(--accent)}.intro-line{position:relative;display:flex;align-items:center;gap:18px;margin:24px 3.4vw 0;font:9px/1.4 Arial,sans-serif;letter-spacing:1.8px;color:var(--muted)}.intro-line p{margin:0}.intro-line p+p{font:11px/1.4 "PingFang SC",sans-serif;letter-spacing:1.6px;border-left:1px solid var(--line);padding-left:18px}.intro-line>span{margin-left:auto;letter-spacing:.4px;color:#676e65;font-size:10px}.universe{position:relative;width:100%;height:max(710px,calc(100svh - 221px));overflow:hidden;isolation:isolate;perspective:1300px;perspective-origin:50% 50%}.project-field{position:absolute;inset:0;pointer-events:none;transform-style:preserve-3d}.project-card{position:absolute;left:50%;top:50%;width:clamp(158px,14.7vw,242px);padding:0;text-align:left;pointer-events:auto;will-change:transform;transform-style:preserve-3d;transition:filter .3s;touch-action:manipulation}.card-face{display:block;position:relative;transition:transform .28s,filter .28s;filter:brightness(.83)}.project-card:hover .card-face,.project-card:focus-visible .card-face{transform:translateY(-6px) scale(1.035);filter:brightness(1.06)}.cover{display:flex;position:relative;align-items:center;justify-content:center;width:100%;aspect-ratio:1.69;overflow:hidden;border-radius:12px;background:#1c2225;border:1px solid #ffffff17;box-shadow:0 15px 35px #0005}.cover>img{width:100%;height:100%;object-fit:cover;display:block}.cover[data-cover="oli"]{background:#ecece8}.cover[data-cover="oli"]>img{object-fit:contain}.cover[data-cover="mood-hugger"]{background:#171c19}.cover[data-cover="mood-hugger"]>img{object-fit:contain}.cover[data-cover="sweetheart-2000"]{background:#fff}.cover[data-cover="sweetheart-2000"]>img{object-fit:cover}.cover-number{position:absolute;top:9px;left:10px;font:9px/1 monospace;color:rgba(255,255,255,.6);z-index:2;mix-blend-mode:difference}.cover-arrow{position:absolute;right:10px;bottom:8px;color:rgba(255,255,255,.85);font-size:17px;opacity:0;transform:translate(-3px,3px);transition:.25s}.project-card:hover .cover-arrow{opacity:1;transform:none}.card-caption{display:flex;justify-content:space-between;align-items:flex-start;margin-top:10px;gap:7px;padding:0 2px}.card-title{font-size:12px;line-height:1.3;font-weight:500;letter-spacing:.15px}.card-kind{display:block;font-size:9px;font-weight:400;color:#90978e;margin-top:4px;letter-spacing:.35px}.card-spark{font-size:11px;color:#737b70;padding-top:2px}.cover-art{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;font-family:Georgia,"Times New Roman",serif}.cover-art small{position:absolute;left:12px;bottom:11px;font:7px Arial,sans-serif;letter-spacing:1.1px;color:inherit;opacity:.65}.type-cover{position:relative;font-size:29px;line-height:.95;text-align:center;letter-spacing:-1.3px}.cover[data-cover="pptt"]{background:#dfa8bc}.pptt-art img{position:absolute;object-fit:contain;image-rendering:pixelated}.pptt-art .pp-characters{height:75%;width:64%;right:-2%;bottom:-2%}.pptt-art .pp-logo{width:60%;height:67%;left:1%;top:9%;transform:rotate(-7deg)}.cover[data-cover="beautiful-moon"]{background:#bbc7e9;color:#1c2550}.moon-disc{position:absolute;width:88px;height:88px;border-radius:50%;background:#f2edd2;right:-10px;top:-10px;box-shadow:0 0 25px #f8f1c72a}.moon-art .type-cover{z-index:1;transform:rotate(-5deg);font-size:33px;font-style:italic}.cover[data-cover="mama-says"]{background:#bb472a;color:#ffdeb0}.mama-art .type-cover{font:800 28px/.82 Arial,sans-serif;letter-spacing:-2px;transform:rotate(-5deg)}.mama-art::before{content:"“";position:absolute;left:12px;top:-23px;font-size:120px;opacity:.2}.cover[data-cover="udist"]{background:#2e4879;color:#e9e6db}.udist-art .type-cover{font:300 44px Arial;letter-spacing:7px;border-bottom:1px solid #e9e6db85;padding-bottom:8px}.udist-art:before{content:"";position:absolute;width:80px;height:80px;border:1px solid #b4c7e875;border-radius:50%;top:-30px;left:-22px}.cover[data-cover="chaolianxi-human-ai"]{background:#ababc9;color:#272338}.ai-art .type-cover{font:italic 25px/1 Georgia;letter-spacing:-1px}.ai-art::before,.ai-art::after{content:"";position:absolute;width:80px;height:80px;border:1px solid #42395545;border-radius:50%;left:8%;top:16%;transform:rotate(-20deg)}.ai-art::after{left:auto;right:8%;transform:rotate(20deg)}.cover[data-cover="chaolianxi-dual-device"]{background:#bfcc85;color:#273417}.duet-art .type-cover{font:italic 39px Georgia;letter-spacing:-3px}.duet-art:before,.duet-art:after{content:"";position:absolute;width:65px;height:90px;border:1px solid #3c4b293b;border-radius:50%;left:22%;transform:rotate(-20deg)}.duet-art:after{left:47%;transform:rotate(20deg)}.cover[data-cover="death-by-death"]{background:#25272e;color:#cccfc4}.death-art .type-cover{font:20px/1.05 Georgia;text-transform:uppercase;letter-spacing:2px;border:1px solid #afb0a93b;padding:14px 16px}.cover[data-cover="snow-park"]{background:#d3e0e7;color:#396978}.snow-art .type-cover{font:300 31px Arial;letter-spacing:4px}.snow-art:before{content:"✳";position:absolute;right:15px;top:4px;font-size:65px;opacity:.22}.cover[data-cover="happiness-cult"]{background:#dbc762;color:#423619}.cult-art .type-cover{font:italic 26px/.95 Georgia;letter-spacing:-.8px}.cult-art:before{content:"☼";position:absolute;font:140px Georgia;opacity:.17}.cover[data-cover="early-ai-explorations"]{background:#353b3a;color:#9ea99c}.early-art .type-cover{font:21px/1 monospace;letter-spacing:-1px}.early-art:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 5px,#d3e4c607 6px)}.project-card[data-id="early-ai-explorations"] .card-face{opacity:.76}.space-center{position:absolute;left:50%;top:50%;width:min(39vw,500px);height:min(39vw,500px);transform:translate(-50%,-50%);pointer-events:none;opacity:0;z-index:1;will-change:opacity,transform}.orbit-line{position:absolute;inset:-7%;border:1px solid #d3dfbc21;border-radius:50%;box-shadow:inset 0 0 40px #cddd9f04,0 0 50px #cddd9f06}.water-line{position:absolute;inset:0;border:1px solid #d9eac824;border-radius:50%;transform:rotateX(62deg) scale(1.3);box-shadow:0 0 26px #bfcfff06}.water-line.two{inset:-17%;border-color:#d9eac810}.portrait{position:absolute;left:50%;top:50%;width:300px;height:470px;transform:translate(-50%,-50%);padding:0;z-index:2;pointer-events:auto;outline-offset:0!important;will-change:transform}.portrait img{width:100%;height:100%;object-fit:contain;display:block;opacity:.1;position:relative;z-index:1;will-change:opacity,transform;filter:drop-shadow(0 15px 28px #000a)}.portrait img.photo-fallback{object-fit:cover;object-position:50% 32%;border-radius:48%;mask-image:radial-gradient(ellipse at center,#000 48%,transparent 72%)}.portrait-glow{position:absolute;inset:12% -12%;background:radial-gradient(ellipse,#bbc4a015,transparent 67%);opacity:0;border-radius:50%}.portrait-name{position:absolute;left:50%;bottom:-27px;text-align:center;transform:translateX(-50%);width:240px;opacity:0;z-index:2;pointer-events:none}.portrait-name>span{font:italic 40px Georgia,serif;display:block;letter-spacing:-1.8px;margin-bottom:6px}.portrait-name strong{font-size:11px;font-weight:400;letter-spacing:3px;color:#acb4a6}.center-invitation{position:absolute;left:50%;top:62%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;z-index:3;transition:opacity .3s;color:#b9c0b1;display:grid;gap:9px;white-space:nowrap}.center-invitation .crosshair{font:27px/1 Arial;font-weight:200;color:#dae7cc}.center-invitation>span+span{font-size:11px;letter-spacing:2px}.center-invitation small{font-size:7px;letter-spacing:2px;color:#606a60}.is-emerged .center-invitation{opacity:0}.site-footer{position:relative;display:flex;gap:20px;align-items:center;justify-content:space-between;margin:0 3.4vw;padding:23px 0;border-top:1px solid var(--line);font:8px/1.5 Arial,sans-serif;letter-spacing:1px;color:#818a7d}.site-footer>span{display:flex;align-items:center;gap:8px}.site-footer i{display:block;width:4px;height:4px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px #d7eea550}.site-footer p{margin:0;font-size:10px;letter-spacing:.2px}.site-footer p span{margin-left:10px;color:#586250}.site-footer button{font-size:10px;color:#a0aa99;letter-spacing:0}.site-footer button span{margin-left:13px}.project-index{min-height:74svh;padding:45px 5vw 75px}.index-heading{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 35px}.index-heading h1{font-size:32px;font-weight:400;letter-spacing:-1px;margin:0}.index-heading h1 span{font:12px monospace;vertical-align:top;color:var(--accent);margin-left:12px}.index-heading p{font-size:11px;color:#899383}.index-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px 24px}.index-grid .project-card{position:relative;width:100%;left:auto;top:auto;will-change:auto}.index-grid .card-title{font-size:14px}.index-grid .card-kind{font-size:10px}.index-grid .cover-art .type-cover{transform:scale(1.15)}[hidden]{display:none!important}dialog{color:var(--paper);background:#101412;border:1px solid #69726055;border-radius:22px;padding:0;width:min(860px,calc(100vw - 36px));max-height:88svh;overflow:auto;box-shadow:0 40px 160px #000c}dialog::backdrop{background:#030508bc;backdrop-filter:blur(14px)}.close-dialog{position:sticky;top:16px;float:right;margin:16px 16px -60px 0;width:36px;height:36px;border:1px solid #ffffff35;border-radius:50%;background:#101412d9;z-index:3;font:26px/1 Arial}.detail-cover{aspect-ratio:2.25;border-radius:21px 21px 0 0;box-shadow:none;border:0}.detail-cover .cover-art .type-cover{font-size:72px}.detail-cover .cover-art small{left:25px;bottom:20px;font-size:9px}.detail-cover[data-cover="sweetheart-2000"]>img,.detail-cover[data-cover="oli"]>img,.detail-cover[data-cover="mood-hugger"]>img{object-fit:contain}.detail-copy{padding:32px 40px 40px}.detail-meta{font:9px monospace;letter-spacing:1px;color:#b6c498;margin:0 0 14px}.detail-copy h2{font-weight:400;font-size:36px;letter-spacing:-1px;line-height:1.2;margin:0 0 22px}.detail-description{font-size:14px;line-height:1.9;color:#c2cabb;max-width:650px;margin:0}.detail-info{display:grid;grid-template-columns:1fr 2fr;gap:25px;border-top:1px solid var(--line);margin-top:30px;padding-top:24px;font-size:12px;line-height:1.75}.detail-info h3{font-size:9px;letter-spacing:1.6px;font-weight:400;color:#77836e;margin:0 0 8px}.detail-info p{margin:0}.project-link{display:inline-block;border-bottom:1px solid #b6c49877;padding:0 0 5px;margin-top:26px;color:#d7eea5;font-size:13px}.cover-note{font-size:10px;color:#727c69;margin-top:20px}.noscript{padding:30px}.paused .project-card .card-face{transition:none}
@media(min-width:1800px){.universe{height:850px}.portrait{width:340px;height:530px}}
@media(max-width:1000px){.site-header{height:86px;gap:20px}.identity{display:none}.intro-line{margin-top:20px}.universe{height:760px}.project-card{width:155px}.portrait{width:255px;height:390px}.card-title{font-size:11px}.site-footer p{max-width:245px}.site-footer p span{display:block;margin-left:0}.index-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.site-header{margin:0 22px;gap:12px;height:83px}.wordmark{font-size:36px}.wordmark-star{font-size:29px}.view-switch{padding:3px}.view-switch button{padding:8px 12px;font-size:11px}.view-switch span{display:none}.about-link{margin-left:0;font-size:10px}.about-link span{margin-left:4px}.intro-line{margin:20px 22px 0;font-size:8px;letter-spacing:1px;gap:0}.intro-line p+p{display:none}.intro-line>span{font-size:8px}.universe{height:1100px;perspective:1000px}.project-card{width:140px}.cover{border-radius:10px}.card-caption{margin-top:8px}.card-title{font-size:11px}.card-kind{font-size:8px}.card-spark{display:none}.portrait{width:220px;height:335px;top:47%}.portrait-name{bottom:-32px}.portrait-name>span{font-size:34px}.space-center{top:47%;width:70vw;height:70vw}.center-invitation{top:52%}.center-invitation>span+span{font-size:10px}.site-footer{margin:0 22px;padding:20px 0;flex-wrap:wrap;gap:14px}.site-footer>span{font-size:7px;letter-spacing:.5px}.site-footer p{order:3;font-size:10px;max-width:none;width:100%}.site-footer p span{display:inline;margin-left:6px}.site-footer button{font-size:9px}.index-grid{grid-template-columns:repeat(2,1fr);gap:30px 16px}.project-index{padding:36px 22px 55px}.index-heading h1{font-size:24px}.index-heading p{font-size:10px}.index-grid .card-title{font-size:12px}.index-grid .cover-art .type-cover{transform:scale(.95)}.detail-copy{padding:26px 24px 30px}.detail-copy h2{font-size:28px}.detail-info{grid-template-columns:1fr;gap:20px}.detail-cover{aspect-ratio:1.65}.detail-cover .cover-art .type-cover{font-size:45px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Space for readable captions, including the longest project names. */
.project-field .project-card:focus-visible{z-index:40!important}
.project-card,.card-title{min-width:0}
.card-title{overflow-wrap:anywhere}
.index-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.center-invitation{top:55%}
.portrait{height:340px}
.portrait-name{bottom:0}
@media(min-width:1001px) and (max-width:1200px){.universe{height:850px}}
@media(min-width:651px) and (max-width:1000px){
  .universe{height:980px}
  .project-card{width:clamp(128px,16vw,160px)}
  .portrait{height:390px}
  .index-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:650px){
  .universe{height:1680px}
  .project-card{width:clamp(112px,34vw,160px)}
  .portrait{top:50%;width:220px;height:335px}
  .portrait-name{bottom:-20px}
  .space-center{top:50%}
  .center-invitation{top:58.5%}
  .index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .view-switch,.about-link{flex-shrink:0;white-space:nowrap}
  .view-switch button{white-space:nowrap}
  .cover:not(.detail-cover) .udist-art .type-cover{font-size:clamp(25px,7.3vw,36px);letter-spacing:3px}
}
@media(max-width:500px){.universe{height:1600px}}
@media(max-width:400px){.universe{height:1550px}.site-header{margin:0 16px;gap:8px}}

/* Three collections share the same shell and interaction. */
.page-links{display:flex;align-items:center;gap:23px;margin-left:30px;font-size:12px}
.page-links a{display:flex;align-items:center;min-height:44px;color:#8b9485;gap:7px}
.page-links a[aria-current="page"]{color:var(--paper)}
.page-links a[aria-current="page"]::before{content:"";width:4px;height:4px;background:var(--accent);border-radius:50%}
.gallery-page .card-face,.gallery-page .project-card:hover .card-face,.gallery-page .project-card:focus-visible .card-face{filter:none}
.gallery-page .cover.full-image{background:#101311;padding:7px;max-height:240px}
.gallery-page .cover.full-image>img{object-fit:contain}
.gallery-page .cover-number{top:10px;left:10px;font-size:8px;pointer-events:none;opacity:.65}
.cover-pages{position:absolute;right:8px;bottom:8px;background:#050806c9;color:#d4dccd;border-radius:12px;padding:4px 7px;font-size:8px}
.pending-art{flex-direction:column;gap:12px;background:#111612!important;color:#818f7a;padding:16px;aspect-ratio:1.45;box-shadow:none}
.pending-art-category{font:8px Arial;letter-spacing:1.8px;text-transform:uppercase}
.pending-art-title{font:15px/1.5 Georgia,"PingFang SC",serif;text-align:center;color:#b1bba8}
.pending-art small{font-size:9px;color:#62705b}
.gallery-page .detail-cover.pending-art{min-height:220px;aspect-ratio:auto}
.gallery-page .index-grid .cover.full-image{max-height:370px}
.detail-media{margin:0;padding:22px 22px 0;background:#0b0e0c}
.detail-media>img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:6px}
.media-caption{font-size:10px;line-height:1.7;color:#9ba792;padding:14px 0 6px}
.media-controls{display:flex;justify-content:space-between;gap:12px;padding:8px 0}
.media-controls button{font-size:11px;min-height:44px;border:1px solid var(--line);border-radius:25px;padding:8px 16px}
.media-thumbnails{display:flex;gap:8px;overflow-x:auto;padding:8px 2px 12px}
.media-thumbnails button{flex:0 0 80px;min-height:44px;padding:4px;border:1px solid #ffffff20;border-radius:6px}
.media-thumbnails button[aria-current="true"]{border-color:var(--accent)}
.media-thumbnails img{width:100%;height:45px;object-fit:contain;display:block}
.collection-note{font-size:11px;line-height:1.8;color:var(--muted);margin:40px 0 0;border-top:1px solid var(--line);padding-top:22px}
@media(max-width:1000px){.page-links{margin-left:0;gap:20px}}
@media(max-width:650px){
  .site-header{flex-wrap:wrap;height:126px;padding:12px 0 7px;row-gap:0}
  .wordmark{order:0}.view-switch{order:1}.about-link{order:2}
  .page-links{order:3;flex-basis:100%;gap:32px;margin-left:0;justify-content:flex-start;font-size:11px}
  .page-links a{min-height:44px}
  .gallery-page .cover.full-image{padding:5px;max-height:200px}
  .gallery-page .index-grid .cover.full-image{max-height:245px}
  .pending-art{padding:12px;gap:8px}.pending-art-title{font-size:12px}
  .detail-media{padding:17px 17px 0}.media-caption{font-size:9px}
}
a.project-card{text-decoration:none;color:inherit;display:block}
.project-film{margin:28px 0 0}
.film-frame{display:flex;align-items:center;justify-content:center;min-height:112px;width:100%;background:#080b09;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.project-film[data-loaded="true"] .film-frame{position:relative;display:block;aspect-ratio:var(--film-ratio);width:min(100%,calc(66svh * var(--film-aspect)));max-width:720px;min-height:0;margin:0 auto}
.film-video{display:block;width:100%;height:100%;object-fit:contain;background:#000}
.film-play{min-height:48px;min-width:128px;padding:12px 24px;border:1px solid #b6c49866;border-radius:28px;color:var(--accent);font-size:13px;background:#151b16}
.film-play:hover{background:#1d281e}
.project-film[data-loaded="true"] .film-play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}
.film-caption{font-size:11px;line-height:1.8;color:#a7b29e;margin-top:12px}
.film-status{font-size:12px;line-height:1.8;color:#c9d8bb;margin:8px 0 0}
.film-status:empty{display:none}
