:root{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue","Segoe UI",Arial,"PingFang SC","Microsoft YaHei",sans-serif;color:#1d1d1f;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:#e9e9e7;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{opacity:.3;cursor:default}button:focus-visible,a:focus-visible{outline:2px solid #456f96;outline-offset:5px}small{display:block;font-size:12px;line-height:1.5;font-weight:400;letter-spacing:.04em;opacity:.56}#space{position:fixed;inset:0}canvas{display:block;touch-action:none}header{position:fixed;top:32px;left:4%;right:4%;display:flex;align-items:center;justify-content:space-between;pointer-events:none;z-index:2}.identity{text-decoration:none;color:inherit;font-size:24px;font-weight:600;letter-spacing:-1px;pointer-events:auto}.identity span{display:block;margin-top:5px;font-size:12px;letter-spacing:0;font-weight:400;color:#737377}.edition{font-size:12px;letter-spacing:2px;color:#727275}.edition i{font-style:normal;display:inline-block;margin-left:15px;border:1px solid #aaa8;padding:6px 9px;border-radius:30px;font-size:10px}.quiet{border:1px solid #fff9;background:#ffffff75;border-radius:30px;padding:10px 20px;font-size:14px;pointer-events:auto;backdrop-filter:blur(16px)}.quiet small{display:inline;margin:0 7px}#intro{position:fixed;left:5.3%;top:24%;transition:opacity .65s,transform 1s,filter .8s;max-width:440px;z-index:1}.eyebrow{font-size:12px;letter-spacing:2.8px;color:#6b6b70;font-weight:500}h1{font-size:clamp(52px,5.6vw,88px);font-weight:650;line-height:.99;letter-spacing:-.068em;margin:25px 0}h1 span{background:linear-gradient(140deg,#797b80 0%,#252629 60%,#999b9e 100%);background-clip:text;-webkit-background-clip:text;color:transparent}.intro-sub{font-size:17px;color:#69696e;letter-spacing:-.4px;line-height:1.5;margin:23px 0}.intro-sub small{margin-top:7px;font-size:12px;letter-spacing:1px}#enter{display:flex;align-items:center;gap:30px;background:#1d1d1f;color:#fff;padding:13px 15px 13px 24px;border:0;border-radius:40px;text-align:left;font-size:16px;box-shadow:0 8px 20px #0000000c;transition:transform .25s,background .25s}#enter:hover{transform:translateY(-3px);background:#353537}.arrow{display:grid;place-items:center;width:38px;height:38px;border:1px solid #ffffff42;border-radius:50%;font-size:21px}.scroll-cue{display:flex;gap:9px;align-items:center;font-size:12px;color:#78787c;margin-top:19px}.scroll-cue small{font-size:12px}.entered #intro{opacity:0;transform:translateY(-30px) scale(.97);filter:blur(6px);pointer-events:none}footer{position:fixed;left:4%;right:4%;bottom:25px;display:flex;justify-content:space-between;font-size:12px;color:#727276;pointer-events:none}footer small{margin-top:5px;font-size:12px}.controls-hint{opacity:0;text-align:right}.entered .controls-hint{opacity:1}.hidden{display:none!important}#nav{position:fixed;bottom:35px;left:50%;transform:translateX(-50%);display:flex;gap:2px;padding:7px;border:1px solid #ffffffa0;border-radius:40px;background:#ffffffb8;box-shadow:0 12px 40px #0000000a;backdrop-filter:blur(25px);z-index:3;transition:opacity .35s,transform .35s}#nav button{border:0;background:none;border-radius:30px;padding:11px 19px;font-size:14px;color:#54545a;transition:background .2s,color .2s}#nav button small{font-size:12px;margin-top:3px}#nav button:hover,#nav button.active{background:#252527;color:#fff}.travelling #nav,.viewing #nav{opacity:0;pointer-events:none;transform:translate(-50%,15px)}.travelling footer,.viewing footer{opacity:0}#tooltip{position:fixed;display:none;pointer-events:none;padding:13px 19px;background:#fffdf9ed;border:1px solid #fff;border-radius:17px;font-size:14px;box-shadow:0 10px 30px #0001;backdrop-filter:blur(15px);z-index:4}#tooltip small{margin-top:4px}#loading{position:fixed;bottom:28px;left:45%;font-size:12px;color:#707075}#journey{position:fixed;bottom:50px;left:50%;transform:translate(-50%,10px);display:flex;gap:25px;align-items:center;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;font-size:14px;z-index:5;padding:12px 18px;border-radius:35px;background:#fffc;backdrop-filter:blur(15px)}.travelling #journey{opacity:1;pointer-events:auto;transform:translate(-50%,0)}#cancel-flight{border:0;background:none;color:#777;font-size:12px}#cancel-flight small{display:inline}dialog{width:min(1320px,94vw);height:91dvh;max-height:none;max-width:none;margin:auto;padding:0;border:1px solid #fff8;border-radius:25px;background:#f7f7f9;box-shadow:0 40px 150px #0003;color:#1d1d1f;overflow:hidden}dialog[open]{animation:reveal .6s cubic-bezier(.16,1,.3,1) both}dialog.closing{animation:dismiss .24s ease-in forwards}dialog::backdrop{background:#e7e7e736;backdrop-filter:blur(13px)}dialog.cinema{background:#111113;color:#f5f5f7;border-color:#ffffff1a}dialog.cinema::backdrop{background:#050508a1;backdrop-filter:blur(16px)}@keyframes reveal{from{opacity:0;transform:translateY(38px) scale(.965)}to{opacity:1;transform:none}}@keyframes dismiss{to{opacity:0;transform:translateY(15px) scale(.985)}}.dialog-head{padding:30px 38px 22px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.detail-heading>span{font-size:11px;letter-spacing:2.5px;color:#88888e}.detail-heading h2{font-size:clamp(27px,3.5vw,48px);letter-spacing:-1.8px;font-weight:600;line-height:1.1;margin:10px 0 5px}.detail-heading>small{font-size:12px}.dialog-head #close{display:flex;align-items:center;gap:15px;border:0;background:none;color:inherit;font-size:13px;text-align:right;padding:0}.dialog-head #close b{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#80808018;font-size:15px;font-weight:400}.cinema #close b{background:#ffffff15}#content{height:calc(100% - 141px);overflow:auto;padding:0 38px 30px;overscroll-behavior:contain;scrollbar-width:thin}.film-stage{background:#050505;border-radius:13px;overflow:hidden;position:relative}.film-stage video{width:100%;height:calc(91dvh - 245px);min-height:180px;object-fit:contain;display:block}.film-caption{display:flex;justify-content:space-between;gap:25px;margin-top:18px;font-size:14px;color:#aaaab0}.film-caption small{margin-top:5px}.film-caption .index{color:#65656a;font-size:12px;letter-spacing:2px}.note{font-size:14px;color:#85858a;line-height:1.7}.action{display:inline-flex;align-items:center;gap:15px;padding:13px 22px;border-radius:30px;border:1px solid #dadadd;background:transparent;color:inherit;font-size:14px;text-decoration:none}.action small{display:inline;font-size:12px}.primary{background:#242426;color:white;border:0}.pdf-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:12px}.page-controls{display:flex;align-items:center;gap:17px;font-size:13px;font-variant-numeric:tabular-nums}.page-controls button{background:#e9e9ed;border:0;width:36px;height:36px;border-radius:50%;font-size:16px}.pdf-page{display:block;max-width:100%;max-height:calc(91dvh - 235px);width:auto;height:auto;object-fit:contain;margin:0 auto;box-shadow:0 12px 30px #0000000c}.pdf-page.expanded{max-height:none;width:100%;cursor:zoom-out}.pdf-page{cursor:zoom-in}.page-meta{font-size:12px;color:#8b8b90}.about-layout{display:grid;grid-template-columns:.8fr 1.5fr;gap:40px}.about-copy{padding:22px 0}.about-copy h3{font-size:44px;letter-spacing:-2px;margin:15px 0}.about-copy p{font-size:18px;line-height:1.7;color:#77777d}.about-copy small{margin-top:12px}.resume-page{width:100%;height:auto;box-shadow:0 10px 35px #0001}.project-card{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center;background:#ededf0;border:1px solid #fff;border-radius:19px;padding:45px;min-height:380px}.project-visual{display:flex;align-items:center;justify-content:center;min-height:285px;background:linear-gradient(145deg,#e7e8e8,#d5d9da);border-radius:12px}.project-monogram{font-size:100px;font-weight:600;letter-spacing:-8px;color:#536264}.project-info .index{font-size:12px;color:#888;letter-spacing:2px}.project-info h3{font-size:42px;letter-spacing:-1.7px;margin:20px 0 5px}.project-info p{font-size:16px;line-height:1.8;color:#777}.project-detail{max-width:700px;margin:25px auto}.project-detail h3{font-size:42px;letter-spacing:-1.5px;margin:15px 0}.project-detail p{color:#7c7c82;font-size:16px;line-height:1.8}.project-detail code{display:block;word-break:break-all;font-size:14px;padding:22px;background:#eaeaee;border-radius:12px;margin:25px 0}.back-list{border:0;background:none;color:#737379;font-size:14px;padding:0 0 25px}.records{display:grid;grid-template-columns:1fr 1fr;gap:24px}.record{border:1px solid #dedee3;background:#eeeeF0;color:#252528;border-radius:18px;padding:32px;text-align:left;min-height:220px;position:relative;overflow:hidden;transition:background .3s}.record.playing{background:#252529;color:#fff}.record .track-number{font-size:60px;letter-spacing:-4px;font-weight:300;opacity:.2}.record strong{display:block;font-size:28px;letter-spacing:-1px;margin:30px 0 7px}.record .track-state{position:absolute;right:28px;top:28px;font-size:13px}.record small{font-size:12px}.music-note{margin-top:22px}#toast{position:fixed;bottom:120px;left:50%;transform:translateX(-50%);background:#252528;color:white;padding:15px 23px;border-radius:30px;font-size:13px;display:none;z-index:20}#toast small{margin-top:5px}body.viewing header{opacity:.3;pointer-events:none}@media(min-width:1500px){#intro{top:24%}#nav{bottom:32px}}@media(max-width:1000px){footer .controls-hint{display:none}#nav button{padding:10px 13px}h1{font-size:64px}#intro{max-width:330px;top:23%}footer{bottom:125px}footer #hint{display:none}}@media(max-width:700px){header{top:23px;left:23px;right:23px}.identity{font-size:22px}.identity span{font-size:11px}.edition{display:none}#intro{top:auto;bottom:70px;left:25px;max-width:90%}h1{font-size:43px;line-height:1;letter-spacing:-2.3px;margin:17px 0}h1 span br{display:block}#intro .eyebrow{font-size:10px}.intro-sub{font-size:14px;margin:17px 0}#enter{font-size:14px;padding:10px 12px 10px 20px}.scroll-cue{margin-top:13px;font-size:12px}#nav{bottom:22px;max-width:calc(100% - 20px);width:max-content;overflow:auto;justify-content:flex-start;border-radius:24px;padding:5px}#nav button{font-size:12px;padding:10px 9px;flex-shrink:0}#nav button small{font-size:10px}#journey{bottom:35px;white-space:nowrap;gap:15px;font-size:12px}dialog{width:100%;height:96dvh;max-height:96dvh;margin:auto 0 0;border-radius:24px 24px 0 0}.dialog-head{padding:24px 22px 20px}.dialog-head #close>span{display:none}.detail-heading h2{font-size:31px}.detail-heading>span{font-size:10px}#content{padding:0 18px 24px;height:calc(100% - 130px)}.film-stage video{height:50dvh}.film-caption{display:block}.film-caption .index{margin-top:20px;display:block}.pdf-page{max-height:calc(96dvh - 230px)}.pdf-toolbar{gap:8px}.page-meta{font-size:11px}.about-layout{grid-template-columns:1fr;gap:20px}.about-copy{padding:0}.about-copy h3{font-size:34px}.about-copy p{font-size:15px}.project-card{grid-template-columns:1fr;padding:22px;gap:24px}.project-visual{min-height:150px}.project-monogram{font-size:75px}.project-info h3,.project-detail h3{font-size:34px}.records{gap:12px}.record{padding:22px;min-height:200px}.record strong{font-size:24px}.record .track-state{top:25px;right:17px;font-size:11px}#toast{bottom:100px;width:max-content;max-width:90%;text-align:center}footer{bottom:15px}#loading{left:auto;right:25px;bottom:20px;font-size:11px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

#intro>.eyebrow{animation:introIn .9s .1s both}#intro h1{animation:introIn 1.1s .2s both}#intro .intro-sub{animation:introIn 1s .35s both}#intro #enter{animation:introIn 1s .5s both}@keyframes introIn{from{opacity:0;transform:translateY(18px);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}
