:root{--record-ink:#282c24;--stamp:#6e332b;--old-paper:#c2bfa6;--border-ink:rgba(45,49,34,.35)}
.room{transition:none}.room.entering{visibility:visible;pointer-events:none;will-change:opacity,transform}.room.active{will-change:opacity}.room-intro h2{font-size:clamp(28px,2.6vw,48px);letter-spacing:.02em}.room-intro h2 span{font:10px/1.6 'Courier New',monospace;letter-spacing:.18em;margin-top:16px}.room-caption{top:92px}.navigation{top:15px}.inventory{font-size:11px}.scene-vignette{background:linear-gradient(0deg,rgba(3,8,4,.75),transparent 14%,transparent 86%,rgba(3,8,4,.8));z-index:2}
.tv-installation{top:50%;left:32%;width:min(64vw,calc((100svh - 210px)*1.33));transform:translateY(-46%)}.installation-note{padding-top:10px}.crt-caption{top:83.3%;bottom:auto;left:11%;right:14%;height:8.5%;min-height:0;gap:5px;padding:0 3px;background:rgba(11,15,10,.65);border-top:1px solid rgba(214,209,170,.18);align-items:center;line-height:1.1;font-size:clamp(8px,.6vw,12px);overflow:hidden}.crt-caption span{flex:1;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crt-caption small{flex:none;font-size:7px}.crt:hover{transform:rotate(0) translateY(-2px)}
.desk-surface{position:absolute;left:50%;top:50%;width:max(100vw,calc(100svh * 1.777));height:max(100svh,56.274vw);transform:translate(-50%,-50%);container-type:inline-size;pointer-events:none}.physical-drawer{position:absolute;left:26.4%;top:var(--drawer-top);width:47%;height:19.9%;padding:0;pointer-events:auto;text-align:left;isolation:isolate;border-radius:4px}.physical-drawer:hover{background:rgba(225,218,163,.045);box-shadow:0 5px 15px rgba(0,0,0,.15),inset 0 0 35px rgba(239,218,161,.04)}.physical-drawer:active{scale:1}.physical-drawer:focus-visible{outline:1px dashed #d9c9a3;outline-offset:-5px}.physical-label{position:absolute;left:12.5%;top:22%;width:36.5%;height:58%;color:#303124;display:flex;flex-direction:column;justify-content:center;gap:.4cqw;padding-left:1cqw;mix-blend-mode:multiply}.physical-label strong{font:600 clamp(17px,1.45cqw,31px)/1.2 'SimSun','Songti SC',serif;letter-spacing:.12em;white-space:nowrap}.physical-label small{font:clamp(8px,.56cqw,13px)/1.1 'Courier New',monospace;letter-spacing:.05em}.physical-label em{font:clamp(8px,.48cqw,11px)/1.2 'Microsoft YaHei',sans-serif;opacity:.72;font-style:normal}.handle-hint{position:absolute;right:18%;top:40%;font-size:1.1cqw;opacity:0;transition:opacity .2s;color:#e5dcb7}.physical-drawer:hover .handle-hint{opacity:.8}.desk-hint{position:absolute;top:87%;left:30%;right:30%;text-align:center;font:clamp(10px,.67cqw,15px)/1.6 'Courier New','Microsoft YaHei',monospace;color:#b2b99e;letter-spacing:.06em}
.dossier-page{position:absolute;top:19%;height:63%;width:24%;color:var(--record-ink);pointer-events:auto;font-family:'SimSun','Songti SC',serif;font-size:clamp(11px,.78cqw,18px);line-height:1.7;display:flex;flex-direction:column;text-shadow:0 0 .25px rgba(33,37,26,.4)}.dossier-left{left:23%}.dossier-right{left:55%}.dossier-rule{display:flex;justify-content:space-between;align-items:center;border-top:3px solid var(--record-ink);border-bottom:1px solid var(--record-ink);padding:.55cqw 0;font:clamp(9px,.59cqw,14px)/1.4 'Courier New','SimSun',monospace;letter-spacing:.06em}.dossier-rule b{font-size:clamp(12px,.85cqw,20px)}.clearance{font:clamp(9px,.59cqw,14px)/1.4 'Courier New','SimSun',monospace;margin:.7cqw 0 1.1cqw;letter-spacing:.12em}.dossier-stamp{position:absolute;right:.2cqw;top:5.5cqw;border:2px solid var(--stamp);color:var(--stamp);font:bold clamp(11px,.9cqw,20px)/1.3 'Courier New',monospace;padding:.35cqw .5cqw;transform:rotate(-8deg);opacity:.62;text-align:center;mix-blend-mode:multiply}.dossier-stamp small{font:clamp(9px,.55cqw,12px) 'SimSun',serif;letter-spacing:.3em}#profile-record{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:.5cqw}#profile-record .profile-top{gap:1.2cqw;margin:.6cqw 0 1.1cqw;align-items:flex-start}#profile-record .profile-top img{width:5.3cqw;height:6.9cqw;border:.3cqw solid #d7d0b7;filter:grayscale(.7) contrast(.9);box-shadow:.12cqw .2cqw .25cqw rgba(0,0,0,.25)}#profile-record .profile-top h3{font:bold clamp(20px,1.65cqw,37px)/1.5 'SimSun','Songti SC',serif;padding-top:.3cqw}#profile-record .profile-top p{font-size:clamp(10px,.65cqw,15px);line-height:1.7}#profile-record>.file-record{margin-top:1cqw}#profile-record>p{font-size:clamp(11px,.78cqw,18px);line-height:1.95}.dossier-bottom{margin-top:auto;padding-top:.65cqw;border-top:1px solid var(--border-ink);display:flex;justify-content:space-between;font:clamp(8px,.54cqw,12px) 'Courier New',monospace}.file-tabs{flex-wrap:nowrap;justify-content:space-between;gap:.4cqw;margin:.75cqw 0 .7cqw;border-bottom:1px solid var(--border-ink)}.file-tabs button{font:clamp(10px,.7cqw,16px) 'SimSun',serif;padding:.25cqw .45cqw;min-height:32px;white-space:nowrap;color:#4b503e}.file-tabs button[aria-pressed=true]{font-weight:700;border-bottom:2px solid var(--record-ink);color:var(--record-ink)}.file-tabs button:hover{color:var(--record-ink)}#personnel-content{padding:0 .2cqw .6cqw 0;line-height:1.7;scrollbar-width:thin;color:var(--record-ink)}.dossier-page .file-record{padding:.7cqw 0;border-bottom:1px solid var(--border-ink)}.dossier-page .file-record small{font:clamp(9px,.58cqw,14px) 'Courier New',monospace}.dossier-page .file-record h3{font:bold clamp(12px,.83cqw,20px)/1.5 'SimSun','Songti SC',serif;margin:.4cqw 0}.dossier-page .file-record p{font:clamp(10px,.7cqw,17px)/1.9 'SimSun',serif}.skill-list{gap:.45cqw;margin:.5cqw 0}.skill-list span{font-size:clamp(9px,.61cqw,15px);padding:.2cqw .5cqw;border-color:var(--border-ink)}.contact-file{font-size:clamp(11px,.79cqw,18px)}.contact-file a{font:clamp(10px,.8cqw,19px)/1.8 'Courier New',monospace;overflow-wrap:anywhere;padding:.8cqw 0}.contact-file p{font-size:inherit!important}.social-file{gap:1cqw;margin-top:1cqw}.social-file a{font-size:clamp(10px,.7cqw,16px)}.paper-turn{margin-top:auto;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border-ink);font:clamp(8px,.55cqw,13px) 'Courier New',monospace}.paper-turn button{font:clamp(9px,.6cqw,14px) 'SimSun',serif;padding:.4cqw 0;min-height:34px;color:var(--record-ink)}.paper-turn button:hover{color:var(--stamp)}.dossier-right{perspective:1200px;transform-origin:left center;transition:transform .18s,opacity .18s,filter .18s}.dossier-right.turning-out{transform:perspective(1600px) rotateY(-12deg) translateX(-8px);opacity:0;filter:blur(1px)}.dossier-right.turning-in{animation:loose-sheet .26s ease-out}@keyframes loose-sheet{from{transform:perspective(1600px) rotateY(10deg) translateX(7px);opacity:0}to{transform:none;opacity:1}}
dialog{inset:0;width:100%;height:100%;border:0;background:#10150f;box-shadow:none}dialog::backdrop{background:rgba(3,7,3,.94)}dialog[open]{animation:viewer-reveal .28s ease-out}@keyframes viewer-reveal{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}.viewer-header{position:absolute;left:30px;right:30px;top:14px;height:50px;padding:0 8px;z-index:3;background:transparent;border-bottom:1px solid rgba(208,218,183,.18)}.viewer-header button{font-size:12px}#viewer-body{height:100%;padding:0}.project-detail{display:block;position:relative;width:100%;height:100%;overflow:hidden}.viewing-stage{position:absolute;width:min(100vw,calc((100svh - 130px)*1.777));height:min(56.274vw,calc(100svh - 130px));left:50%;top:50%;transform:translate(-50%,-50%);background:url('assets/viewing-desk.png') center/100% 100% no-repeat;container-type:inline-size;filter:saturate(.62)}.project-summary{position:absolute;left:9.2%;top:28%;width:19.9%;height:46%;padding:0 .4cqw;overflow:auto;color:#2b2f24;transform:rotate(1deg);scrollbar-width:thin}.project-summary h2{font:bold clamp(16px,1.5cqw,34px)/1.35 'SimSun','Songti SC',serif;margin:.7cqw 0 1.3cqw;overflow-wrap:anywhere}.project-summary p{font:clamp(10px,.78cqw,17px)/1.9 'SimSun','Songti SC',serif;color:#393d2d;margin-bottom:.8cqw}.project-summary .detail-code{font:clamp(8px,.58cqw,13px)/1.5 'Courier New',monospace;color:#363b2a;letter-spacing:.03em}.log-stamp{font:bold .82cqw 'Courier New',monospace;border:2px solid #735141;color:#735141;opacity:.65;display:inline-block;padding:.3cqw .55cqw;transform:rotate(-7deg);margin-top:.7cqw}.project-summary .media-note{font-size:clamp(9px,.65cqw,14px)!important}.display-image{position:absolute;left:38.8%;top:17.5%;width:46.4%;height:46.8%;display:flex;align-items:center;justify-content:center;background:#020402;border-radius:.7cqw;overflow:hidden;box-shadow:inset 0 0 20px #000}.display-image img,.display-image video{display:block;width:100%;height:100%;max-width:none;object-fit:contain;filter:none;background:#000}.monitor-id{position:absolute;left:41%;top:68.1%;font:.48cqw 'Courier New',monospace;color:#9a9b79;letter-spacing:.08em;opacity:.8}.display-controls{position:absolute;left:5%;right:5%;bottom:18px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(215,224,190,.2);padding:8px 0 0;min-height:52px;gap:18px}.media-tabs{display:flex;gap:14px;flex-wrap:wrap}.media-tabs button,.display-controls button{font:11px 'Courier New','Microsoft YaHei',monospace;min-height:36px;min-width:36px;letter-spacing:.04em}.media-tabs button[aria-pressed=true]{color:#e2e4cd;border-bottom:1px solid #a5ad83}.still-paging{display:flex;gap:20px;align-items:center;white-space:nowrap}.still-paging[hidden]{display:none}.video-error{position:absolute;bottom:45px;color:#dfdeca;background:#171f14;padding:10px;font-size:13px}
dialog[data-mode=index]{background:linear-gradient(rgba(7,15,8,.8),rgba(7,15,8,.8)),url('assets/desktop-dossier.png') center/cover}.index-top{padding:82px 3.5% 0;margin:0 0 18px}.index-top h2{font:26px 'SimSun',serif;letter-spacing:.13em}.index-tabs button{border:0;border-bottom:1px solid var(--line);padding:8px 12px;font-size:11px}.index-tabs button[aria-pressed=true]{background:#b8b99f;color:#242d20}.index-grid{margin:0 3.5%;gap:22px;flex:1;min-height:0;padding:0 1%}.index-item{background:#babb9f;padding:8px 8px 5px;gap:5px;transform:rotate(var(--photo-tilt));box-shadow:3px 8px 14px rgba(0,0,0,.4);transition:transform .22s;background-image:linear-gradient(120deg,rgba(212,204,163,.4),transparent 50%);color:#333c2b;isolation:isolate}.index-item img{border:0;height:calc(100% - 23px);object-fit:contain;background:#10150f;filter:saturate(.8)}.index-item span{color:#343b29;max-width:100%;width:100%;font:10px/1.5 'Courier New','SimSun',monospace;padding:0 4px}.index-item:hover{transform:rotate(0) translateY(-3px)}.index-pager{padding:8px 4% 14px;min-height:55px}.index-item:focus-visible{outline:2px solid #e2dec6}
@media(max-width:1100px){.navigation{left:24px;right:24px}nav{gap:17px}.room-caption{left:26px;right:26px;top:77px}.tv-installation{width:min(66vw,calc((100svh - 180px)*1.33));left:30%}.room-intro{left:4%;width:22%}.inventory{font-size:9px}.dossier-page{top:18.8%;height:64%}.dossier-left{left:22%}.dossier-right{left:54%}.dossier-page{width:25%}.dossier-stamp{display:none}.viewing-stage{width:min(100vw,calc((100svh - 115px)*1.777));height:min(56.274vw,calc(100svh - 115px))}.index-grid{gap:14px}.index-item{padding:6px}.index-top{padding-top:75px}.viewer-header{left:20px;right:20px}.display-controls{bottom:10px}}
@media(max-width:760px){.room-caption{top:68px}.tv-installation{width:94vw;left:3%;top:53%}.room-intro{top:16%!important;left:22px;width:80%}.room-intro h2{font-size:27px}.room-intro h2 span{display:none}.inventory{position:absolute;right:0;top:0}.crt-caption{font-size:7px;top:83%;height:9%;left:11%;right:12%}.desk-surface{width:max(100vw,calc(100svh * 1.45));height:max(68.96vw,100svh)}.dossier-desk{width:177.7vw;height:100vw;top:48%}.dossier-page{font-size:11px}.dossier-page .file-record p{font-size:10px}.dossier-rule{font-size:8px}.dossier-rule b{font-size:10px}#profile-record .profile-top h3{font-size:18px}#profile-record .profile-top p{font-size:9px}#profile-record>p{font-size:10px}.dossier-left{left:25%}.dossier-right{left:53%}.dossier-page{width:22%;height:65%}.file-tabs button{font-size:9px;padding:2px;min-height:26px}.paper-turn button{font-size:8px}.wayfinding>button{max-width:100px}.utility{font-size:7px}.project-summary{font-size:9px}.viewing-stage{width:130vw;height:73.16vw}.project-summary h2{font-size:15px}.project-summary p{font-size:9px}.project-summary .detail-code{font-size:7px}.display-controls{left:20px;right:20px;bottom:20px;display:block}.media-tabs{gap:7px}.media-tabs button{font-size:9px}.still-paging{justify-content:flex-end}.index-top{padding:80px 20px 0}.index-top h2{font-size:23px}.index-tabs{margin-top:12px;gap:4px}.index-tabs button{font-size:9px;padding:6px}.index-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:12px;margin:0 14px}.index-item span{font-size:8px}.desk-hint{top:84%;font-size:9px}}
@media(prefers-reduced-motion:reduce){.dossier-right{transition:none}dialog[open]{animation:none}.room.entering{transform:none!important}}
[hidden]{display:none!important}.physical-label{visibility:hidden}.physical-drawer:hover{background:rgba(234,224,170,.025);box-shadow:none}.handle-hint{display:none}.physical-drawer:focus-visible{outline:1px dashed #b8bba1}.lighting-shade{position:absolute;inset:0;background:#030702;opacity:0;pointer-events:none;z-index:8;will-change:opacity}.tv-wall{filter:none}.crt{backface-visibility:hidden;transform:translateZ(0) rotate(var(--tilt));contain:layout style}.crt-frame,.crt-screen img{will-change:auto}.room{will-change:transform,opacity;backface-visibility:hidden}.room:not(.active):not(.entering){visibility:visible;opacity:0;pointer-events:none;transform:translateZ(0)}.room[data-scene='1'] .tv-installation{isolation:isolate;transform:translate3d(0,-46%,0)}
.dossier-page{font-size:clamp(10px,.65cqw,16px);height:64%}.dossier-page .file-record{padding:.32cqw 0}.dossier-page .file-record small{font-size:clamp(8px,.52cqw,13px)}.dossier-page .file-record h3{font-size:clamp(11px,.69cqw,17px);margin:.15cqw 0;line-height:1.45}.dossier-page .file-record p{font-size:clamp(10px,.58cqw,15px);line-height:1.65}.dossier-page #personnel-content{padding-top:.5cqw}#profile-record{flex:1;padding-right:.4cqw}#profile-record .profile-top{margin:.35cqw 0 .8cqw;gap:1cqw}#profile-record .profile-top img{width:4.3cqw;height:5.4cqw}#profile-record .profile-top h3{font-size:clamp(19px,1.35cqw,33px)}#profile-record .profile-top p{font-size:clamp(9px,.58cqw,14px)}#profile-record>p{font-size:clamp(10px,.65cqw,16px);line-height:1.8}#profile-record>.file-record{margin-top:.35cqw}.clearance{margin:.45cqw 0 .8cqw}.compact-contact{margin-top:.6cqw}.compact-contact>h3,.record-heading{font:bold clamp(10px,.65cqw,16px)/1.5 'SimSun',serif;letter-spacing:.05em;margin:.45cqw 0 .2cqw}.compact-contact>h3{border-top:1px solid var(--border-ink);padding-top:.5cqw}.compact-contact .contact-file>p:first-child{font-size:clamp(10px,.65cqw,16px)!important;margin:.45cqw 0}.compact-contact .contact-file a{font-size:clamp(10px,.65cqw,16px);line-height:1.7;padding:.38cqw 0}.compact-contact .contact-file>p:last-child{margin-top:.4cqw!important;font-size:clamp(9px,.57cqw,14px)!important}.compact-contact .social-file{gap:.4cqw .8cqw;margin-top:.55cqw}.compact-contact .social-file a{font-size:clamp(9px,.58cqw,14px)}.complete-experience,.complete-education{margin-bottom:.55cqw}.complete-skills .file-record{padding:.16cqw 0;border:0}.complete-skills .file-record small{font-size:clamp(8px,.48cqw,12px)}.complete-skills .file-record p{font-size:clamp(9px,.54cqw,13px);line-height:1.55}.complete-skills .skill-list{gap:0;margin:.15cqw 0;line-height:1.55}.complete-skills .skill-list span{padding:0;border:0;font-size:clamp(9px,.54cqw,13px)}.complete-skills .skill-list span:not(:last-child)::after{content:' / ';white-space:pre}.complete-skills .record-heading{margin-top:.4cqw}.dossier-right #personnel-content>.dossier-bottom{margin-top:.7cqw}.contact-highlight{animation:contact-ink .9s ease-out}@keyframes contact-ink{from{background:rgba(119,99,45,.12)}to{background:transparent}}.viewing-stage{filter:none;background-color:#4c5340;background-blend-mode:luminosity}
.viewing-stage .display-image{left:0;top:0;width:46.2%;height:46.7%;transform-origin:0 0;border-radius:.7cqw}.viewing-stage .project-summary{left:0;top:0;width:20%;height:46%;transform-origin:0 0;padding:0;transform:none}.project-summary h2{margin-top:.7cqw}.project-summary{backface-visibility:hidden}
.personal-notes{margin-top:.8cqw}.personal-notes .file-record{padding:.15cqw 0;border:0}.personal-notes .file-record small{font-size:clamp(8px,.48cqw,12px)}.personal-notes .file-record p{font-size:clamp(9px,.54cqw,13px);line-height:1.55}.dossier-page #personnel-content{scrollbar-color:#7b836a transparent}.dossier-page .file-record{padding:.25cqw 0}.complete-experience,.complete-education{margin-bottom:.4cqw}
.complete-experience .file-record,.complete-education .file-record{padding:.08cqw 0}
