:root{--bg:#f2ecdf;--text:#50322e;--muted:#8c7a68;--line:#795b3a40;--lime:#aa612f;--pink:#759c91;--serif:Georgia,'Times New Roman','Songti SC','SimSun',serif}body{background:#f2ecdf;color:#50322e}.ceramic-header{height:68px;padding:0 3%;z-index:30;align-items:center}.edition-mark{font:italic 25px Georgia;color:#593c32}.edition-mark>span{font:8px 'Courier New';margin-left:14px;vertical-align:middle;letter-spacing:1px}.ceramic-header nav{gap:28px;margin:0 0 0 auto}.ceramic-header nav a{font:12px var(--serif);color:#624236}.ceramic-header nav a:hover{color:#a15d2b}.ceramic-home{height:100svh;min-height:580px;background:#f4edde;--cx:0;--cy:0}.ceramic-background{position:absolute;inset:-1%;background:url('assets/ceramic-background.png') center/cover no-repeat;translate:calc(var(--cx)*-4px) calc(var(--cy)*-3px);transition:translate 1s ease-out;pointer-events:none}.ceramic-title{position:absolute;left:4%;top:9%;width:34%;z-index:2;color:#53332e;translate:calc(var(--cx)*6px) calc(var(--cy)*4px);transition:translate .8s ease-out;pointer-events:none}.title-line{display:block;font:400 clamp(70px,11.5vw,190px)/.76 Georgia,'Times New Roman',serif;letter-spacing:-.085em;transform-origin:left center}.title-line+.title-line{margin-top:16px}.ceramic-title p{font:clamp(16px,2.3vw,35px)/1.3 var(--serif);letter-spacing:.1em;margin:25px 0 0}.ceramic-title>small{position:absolute;left:100%;top:0;width:160px;font:7px/1.8 'Courier New',monospace;letter-spacing:1.3px;color:#927e68}.floating-letter{position:absolute;z-index:2;left:38%;top:23%;font:italic clamp(20px,3.1vw,48px)/1 Georgia,serif;color:#784b3fa6;letter-spacing:-1px;transform:rotate(-11deg);pointer-events:none;text-shadow:0 1px 8px #fff8;mix-blend-mode:multiply}.archive-folder{position:absolute;left:4%;bottom:12%;width:29%;height:35%;padding:0;background:transparent;text-align:left;color:#f4e4c8;isolation:isolate}.folder-picture{position:absolute;left:5%;right:5%;top:0;height:55%;z-index:1;border:5px solid #f0e5ce;background:#e6ddc7;box-shadow:0 6px 15px #46332a22;transform:rotate(-1deg);transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .6s}.folder-picture img{object-fit:cover;object-position:center;filter:saturate(.65) contrast(.9)}.folder-picture:before{content:'';position:absolute;inset:-7px 8px 5px -6px;z-index:-1;border:1px solid #b9aa8a;background:#ebe4d3;transform:rotate(3deg)}.folder-pocket{position:absolute;inset:42% 0 0;z-index:2;background:linear-gradient(105deg,#b8723a,#a15d2c);padding:20px 23px;box-shadow:0 10px 25px #70472220;border:1px solid #aa622e}.folder-pocket:before{content:'';position:absolute;top:-1px;left:47%;width:35px;height:17px;border-radius:0 0 50% 50%;background:#b083554d;border:1px solid #8d512e55;border-top:0}.folder-pocket:after{content:'';position:absolute;inset:7px;border:1px dashed #f1dcac55;pointer-events:none}.folder-pocket strong{font:clamp(17px,1.8vw,28px) var(--serif);display:block;font-weight:400}.folder-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:15px}.folder-bottom>b{font:clamp(28px,4.3vw,65px)/.85 Georgia;font-weight:400}.folder-bottom>b small{display:block;font:14px Georgia;letter-spacing:5px;margin-top:7px}.folder-bottom>i{font:6px/1.8 'Courier New';letter-spacing:1px;font-style:normal;border-left:1px solid #f3dbb050;padding-left:15px}.folder-tab{position:absolute;left:-4px;top:12px;width:16px;height:29px;background:#8bafa0;z-index:4}.archive-folder:hover .folder-picture,.archive-folder:focus-visible .folder-picture{transform:translateY(-25px) rotate(-3deg);filter:drop-shadow(0 12px 7px #5c402820)}.ceramic-about{position:absolute;right:3.5%;top:12%;z-index:3;background:#f3ecdfb3;border:1px solid #89634b77;padding:12px 18px;font:16px var(--serif);color:#654534}.ceramic-about small{display:block;font:5px 'Courier New';margin-top:6px;letter-spacing:1px;color:#a39079}.ceramic-resume{position:absolute;bottom:5%;right:4%;z-index:3;background:none;color:#573a2e;font:22px var(--serif);border-bottom:1px solid #9f8568;padding:0 0 5px 70px}.edition-controls{position:absolute;bottom:4%;left:3%;right:25%;display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:4;color:#5a3a30}.edition-audio{display:flex;align-items:center;gap:10px}.edition-audio button,.edition-scenes button{background:none;color:#58392f;padding:8px;font-size:19px}.edition-audio label{display:flex;align-items:center;gap:8px;font-size:8px;color:#9b8770}.edition-audio input{width:65px;height:2px;accent-color:#6c4235}.edition-audio>span{font-size:7px;color:#98836c}.edition-scenes{display:flex;gap:15px;align-items:center}.edition-scenes>span:first-child{font:8px 'Courier New';letter-spacing:1px}.edition-progress{width:clamp(50px,12vw,200px);height:1px;background:#bba88a}.edition-progress i{height:3px;width:22%;background:#6a4435;display:block;position:relative;top:-1px}.edition-footnote{position:absolute;left:40%;bottom:12%;font:6px 'Courier New';letter-spacing:2px;color:#aa957c}.tracing-marks{position:absolute;inset:0;pointer-events:none;z-index:2;color:#8e7861}.tracing-marks>span{position:absolute;font:25px 'Courier New'}.tracing-marks>span:first-child{left:45%;top:11%}.tracing-marks>span:nth-child(2){right:5%;bottom:23%}.tracing-marks i{position:absolute;right:9%;top:16%;height:1px;width:12%;background:#a58c6d66}.ceramic-home[data-scene="1"] .ceramic-background{background-position:52% 50%;transform:scale(1.045)}.ceramic-home[data-scene="2"] .ceramic-background{background-position:49% 48%;transform:scale(1.025);filter:contrast(1.025)}.ceramic-background{transition:translate 1s ease-out,transform 2s ease,filter 1.5s}.ceramic-home.scene-dim .ceramic-background{filter:brightness(.83) saturate(.7)}.ceramic-home.motion-paused *{animation-play-state:paused!important}.ceramic-home.motion-paused .ceramic-title,.ceramic-home.motion-paused .ceramic-background{translate:none}.ceramic-home.motion-paused .ceramic-background{transition:none}.archive-panel{inset:18px 2%;background:#f4eee1;border-color:#9f846559;color:#50372d;box-shadow:0 0 0 100vmax #3b2f29bf}.archive-panel .panel-back{background:#795033;color:#f5e8ce;top:-65px}.archive-panel .kicker{color:#a26635}.archive-panel.about{background:#f2ebdc;color:#573b31}.archive-panel.about .about-content>div>p,.archive-panel.about .name-placeholder small{color:#9c846e}.archive-panel #contact{background:#b0733d;color:#fbefd9}.archive-panel.process{background:#eee7d7;color:#5d4936}.archive-panel.process .process-steps details p{color:#927e68}.resume-section h2{font:60px var(--serif);margin:20px 0 45px}.resume-section h2 em{font:italic 44px Georgia;color:#ac7448;margin-left:20px}.resume-sheet{border:1px solid #9f89684d;background:#faf5e9;padding:45px;box-shadow:10px 12px 0 #9f896812;max-width:800px}.resume-sheet h3{font:30px var(--serif);font-weight:400}.resume-sheet p{font-size:12px;line-height:2;color:#98816a}.resume-works{display:inline-block;margin-top:40px;padding-bottom:10px;border-bottom:1px solid #aa7449}.archive-panel.works{background:#f3eddf;padding:72px 4% 32px;overflow:hidden}.archive-panel.works:before,.archive-panel.works:after,.works>.section-head,.works>.filter-bar{display:none}.works .panel-back{position:absolute;top:17px;right:25px;margin:0;padding:10px 15px;background:none;color:#78543d;border-bottom:1px solid #9b7956}.reader-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid #8b6c4844}.reader-heading h2{font:34px var(--serif);margin:0;font-weight:400}.reader-heading span{font:8px 'Courier New';color:#a28b70;letter-spacing:2px}.reader-body{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr);gap:5%;height:calc(100% - 68px);padding-top:30px;align-items:start}.reader-preview{min-width:0}.reader-frame{position:relative;background:#e8e0ce;padding:9px;border:1px solid #9d805c66;box-shadow:7px 9px 0 #9f7c4d12}.reader-frame img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#261f18}.reader-frame>button{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:66px;width:66px;border:1px solid #fff9;border-radius:50%;background:#3a2c2077;color:#fff;font-size:27px;backdrop-filter:blur(4px)}.reader-meta{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0}.reader-meta h3{font:clamp(22px,2.8vw,42px) var(--serif);font-weight:400;margin:10px 0}.reader-meta>.reader-play{background:#a56331;color:#fdf2de;padding:14px 22px;font-size:11px;white-space:nowrap}.reader-meta .mono{color:#a18565;font-size:8px}.reader-note{border-top:1px solid #a48c6a44;padding-top:15px;color:#aa967e;font-size:10px}.reader-body .project-list{display:flex;flex-direction:column;gap:0;padding:0!important;height:100%;min-height:0}.reader-body .project-list .project,.reader-body .project-list .project:nth-child(n){width:100%;transform:none;display:grid;grid-template-columns:115px minmax(0,1fr);align-items:center;gap:15px;padding:13px 10px;border-bottom:1px solid #967c5a44;flex:1;min-height:0;transition:background .3s}.reader-body .project-list .project:before,.reader-body .project-list .project:after,.reader-body .project-caption:after{display:none}.reader-body .project-list .project .project-visual{padding:0;background:#e7dfcb;border:0;box-shadow:none;aspect-ratio:16/9;overflow:hidden}.reader-body .project-visual:before,.reader-body .image-note,.reader-body .project-number,.reader-body .project-open{display:none!important}.reader-body .project-list .project .project-visual img{height:100%;aspect-ratio:16/9;object-fit:contain;filter:saturate(.8);background:#e7dfcb}.reader-body .project-list .project .project-caption{padding:0;border:0;margin:0;display:block}.reader-body .project-caption h3{font:16px/1.5 var(--serif);margin:5px 0;color:#674534}.reader-body .project-caption>.mono{font-size:7px;letter-spacing:1px;color:#a2896e}.reader-body .project-caption p{font-size:8px;color:#a38a6a}.reader-body .project.selected{background:#dec9aa55;border-left:2px solid #a26a37}.reader-body .project:hover{background:#e5d8c477}.reader-body .project.selected .project-visual img{filter:none}.reader-body .reveal{opacity:1;translate:none}dialog{background:#f3ecde;color:#593e32}dialog .close{background:#b07846;color:#fff4de}article>.kicker,#next{color:#a16b3c}.project-facts b{color:#654936}dialog::backdrop{background:#3f3028df}
@media(prefers-reduced-motion:no-preference){.title-line:first-child{animation:type-float-one 13s ease-in-out infinite alternate}.title-line:nth-child(2){animation:type-float-two 15s ease-in-out infinite alternate}.floating-letter{animation:script-float 18s ease-in-out infinite alternate}.edition-progress i{animation:reader-progress 12s linear infinite}.archive-panel.panel-open .reader-preview{animation:paper-reveal .65s .1s backwards}.archive-panel.panel-open .reader-body .project{animation:paper-reveal .6s backwards}.reader-body .project:nth-child(2){animation-delay:.08s}.reader-body .project:nth-child(3){animation-delay:.16s}.reader-body .project:nth-child(4){animation-delay:.24s}.reader-body .project:nth-child(5){animation-delay:.32s}@keyframes type-float-one{to{transform:translate(6px,-4px) rotate(-.6deg)}}@keyframes type-float-two{to{transform:translate(-5px,5px) rotate(.5deg)}}@keyframes script-float{to{transform:translate(18px,-9px) rotate(-8deg);opacity:.6}}@keyframes reader-progress{from{width:0}to{width:100%}}@keyframes paper-reveal{from{opacity:0;clip-path:inset(0 100% 0 0);transform:translateY(10px)}to{opacity:1;clip-path:inset(0);transform:none}}}
@media(max-width:900px){.ceramic-title{top:13%;width:39%}.title-line{font-size:14vw}.ceramic-title>small{display:none}.archive-folder{width:34%;height:32%}.folder-pocket{padding:16px}.floating-letter{left:38%;top:32%;font-size:28px}.reader-body{gap:3%;grid-template-columns:minmax(0,1.35fr) minmax(220px,1fr)}.reader-body .project-list .project:nth-child(n){grid-template-columns:80px 1fr;gap:10px}.reader-meta{align-items:start;flex-direction:column;gap:3px}.reader-meta h3{font-size:27px}.reader-body .project-caption h3{font-size:14px}}
@media(max-width:600px){.ceramic-header{height:55px}.edition-mark{font-size:18px}.edition-mark>span{display:none}.ceramic-header nav{gap:15px}.ceramic-header nav a{font-size:10px}.ceramic-home{min-height:610px}.ceramic-background{background-position:58% center;opacity:.75}.ceramic-title{top:12%;left:6%;width:64%}.title-line{font-size:24vw}.ceramic-title p{font-size:19px;margin-top:23px;letter-spacing:1px}.floating-letter{left:23%;top:45%;font-size:26px}.archive-folder{left:6%;bottom:15%;width:55%;height:28%;max-height:235px}.folder-pocket{padding:15px}.folder-pocket strong{font-size:21px}.folder-bottom{margin-top:14px}.folder-bottom>b{font-size:36px}.folder-bottom>b small{font-size:9px;letter-spacing:3px}.folder-bottom>i{font-size:5px}.ceramic-about{top:14%;right:4%;font-size:12px;padding:8px}.ceramic-about small{display:none}.ceramic-resume{bottom:5%;right:5%;font-size:17px;padding-left:25px}.edition-controls{right:30%;left:5%;bottom:4%;gap:4px}.edition-audio label{font-size:0}.edition-audio input{width:35px}.edition-audio>span{display:none}.edition-audio button{font-size:18px;padding:4px}.edition-scenes{gap:6px}.edition-scenes>span:first-child{font-size:6px}.edition-scenes button{font-size:17px;padding:5px}.edition-progress{width:35px}.edition-footnote{display:none}.tracing-marks>span:first-child{left:78%;top:46%}.tracing-marks i{display:none}.archive-panel.works{inset:8px 2%;padding:60px 4% 20px}.reader-heading{padding-bottom:13px}.reader-heading h2{font-size:26px}.reader-heading span{font-size:6px;letter-spacing:0}.reader-body{display:flex;flex-direction:column;gap:14px;height:calc(100% - 48px);padding-top:16px}.reader-preview{width:100%;flex:none}.reader-frame{padding:5px}.reader-frame>button{width:45px;height:45px;font-size:21px}.reader-meta{padding:10px 0;flex-direction:row;align-items:center;gap:8px}.reader-meta h3{font-size:20px;margin:3px 0}.reader-meta .reader-play{font-size:9px;padding:10px 12px}.reader-meta .mono{font-size:6px}.reader-note{display:none}.reader-body .project-list{width:100%;flex:1;gap:0;overflow:auto;min-height:0}.reader-body .project-list .project:nth-child(n){grid-template-columns:68px 1fr;gap:12px;padding:7px 8px;min-height:57px}.reader-body .project-caption h3{font-size:12px;margin:0}.reader-body .project-caption>.mono{font-size:5px}.reader-body .project-caption p{display:none}.resume-section h2{font-size:38px}.resume-section h2 em{font-size:27px}.resume-sheet{padding:24px}.resume-sheet h3{font-size:23px}.archive-panel .panel-back{font-size:9px}}
@media(prefers-reduced-motion:reduce){.ceramic-home *{animation:none!important;transition:none!important}.ceramic-title,.ceramic-background{translate:none!important}}
.ceramic-cuts{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;display:grid;grid-template-columns:repeat(4,1fr);gap:2%;padding:14% 20% 14% 36%;background:#f2ecdfdd;transition:opacity .4s}.ceramic-cuts i{background:url('assets/ceramic-background.png') center/cover;clip-path:inset(50% 0);opacity:.9}.ceramic-cuts i:nth-child(2){background-position:60%;filter:sepia(.2)}.ceramic-cuts i:nth-child(3){background-position:75%}.ceramic-cuts i:nth-child(4){background-position:90%}.ceramic-home[data-scene="1"] .ceramic-cuts{opacity:1}.ceramic-home[data-scene="2"] .title-line:nth-child(2){color:transparent;-webkit-text-stroke:1px #704338}.reader-heading h2 small{font-size:18px;color:#b39673}
@media(prefers-reduced-motion:no-preference){.ceramic-home[data-scene="1"] .ceramic-cuts i{animation:foil-window 2.6s cubic-bezier(.2,.8,.2,1) both}.ceramic-home[data-scene="1"] .ceramic-cuts i:nth-child(2){animation-delay:.06s}.ceramic-home[data-scene="1"] .ceramic-cuts i:nth-child(3){animation-delay:.12s}.ceramic-home[data-scene="1"] .ceramic-cuts i:nth-child(4){animation-delay:.18s}@keyframes foil-window{0%{clip-path:inset(50% 0);transform:translateY(10px)}25%,75%{clip-path:inset(0);transform:translateY(0)}100%{clip-path:inset(50% 0);transform:translateY(-10px)}}}
@media(max-width:600px){.ceramic-cuts{padding:20% 5% 30% 36%}}
.archive-folder{z-index:3}.ceramic-cuts{z-index:1}.ceramic-about,.ceramic-resume{z-index:4}.ceramic-title{z-index:2}
/* Optional tactile specimen interaction; actual covers appear only inside the reader. */
.specimen-dock{position:absolute;left:3.5%;bottom:14%;width:48%;height:33%;z-index:3;isolation:isolate}.archive-folder.specimen-entry{position:absolute;inset:0;width:100%;height:100%;color:#5d3c2c;box-shadow:none;overflow:visible}.fragment-stage{position:absolute;left:0;top:0;width:67%;height:100%;display:block;filter:drop-shadow(0 10px 7px #51331820)}.fragment{position:absolute;inset:0;display:block;transform-origin:50% 50%;transition:transform .75s cubic-bezier(.16,1,.3,1);will-change:transform}.fragment img{width:100%;height:100%;object-fit:fill;filter:none}.fragment-left{clip-path:polygon(0 0,24% 0,24% 68%,0 68%);transform:translate(-13px,0) rotate(-5deg)}.fragment-upper{clip-path:polygon(24% 0,100% 0,100% 62%,84% 76%,84% 25%,24% 25%);transform:translate(9px,-18px) rotate(3deg);transition-delay:45ms}.fragment-lower{clip-path:polygon(0 68%,24% 68%,24% 75%,84% 75%,100% 62%,100% 100%,0 100%);transform:translate(12px,14px) rotate(-3deg);transition-delay:85ms}.specimen-entry:hover .fragment,.specimen-entry:focus-visible .fragment,.specimen-entry.is-assembled .fragment{transform:translate(0,0) rotate(0deg)}.fragment-shadow{position:absolute;left:8%;right:4%;bottom:0;height:13%;border-radius:50%;background:#50372233;filter:blur(13px);transition:transform .7s,opacity .7s;transform:scaleX(.88);opacity:.5}.specimen-entry:hover .fragment-shadow{transform:scaleX(1);opacity:.8}.specimen-notch{position:absolute;left:5%;top:25%;width:15px;height:25px;background:#8eafa18f;border:1px solid #87a59677;transform:rotate(-2deg);transition:translate .6s}.specimen-entry:hover .specimen-notch{translate:5px 0}.fragment-center{position:absolute;left:25%;right:15%;top:26%;bottom:24%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#997b5b;opacity:.45;transition:opacity .5s;pointer-events:none}.fragment-center i{font:25px 'Courier New';font-style:normal;font-weight:400}.fragment-center small{font:5px 'Courier New';letter-spacing:2px;margin-top:6px}.specimen-entry:hover .fragment-center{opacity:.8}.specimen-caption{position:absolute;left:73%;right:0;top:36%;display:flex;flex-direction:column;gap:13px;white-space:nowrap}.specimen-caption strong{font:clamp(16px,1.6vw,25px) var(--serif);font-weight:400}.specimen-rule{height:1px;background:#98785277;width:100%}.specimen-action{display:flex;align-items:center;justify-content:space-between;font:14px var(--serif);gap:12px}.specimen-action b{font:22px Georgia;font-weight:400}.specimen-caption>small{font:5px 'Courier New';letter-spacing:1px;color:#aa957a}.specimen-direct{position:absolute;left:73%;bottom:7%;padding:5px 0;background:none;color:#8f7257;border-bottom:1px solid #9f83624d;font:10px var(--serif);white-space:nowrap;z-index:3}.specimen-direct:hover{color:#ab632f;border-color:#ab632f}.ceramic-home:has(.specimen-entry:hover) .floating-letter{color:#754f3b;filter:drop-shadow(0 1px 3px #fff4)}.ceramic-home:has(.specimen-entry.is-assembled) .floating-letter{opacity:.5}.specimen-entry:focus-visible{outline:1px solid #a4724b;outline-offset:14px}
@media(min-width:1600px){.specimen-caption{gap:20px}.specimen-action{font-size:19px}.specimen-direct{font-size:13px}.specimen-caption>small{font-size:6px}}
@media(max-width:900px){.specimen-dock{width:53%;height:29%;left:4%;bottom:15%}.fragment-stage{width:66%}.specimen-caption{left:73%;top:33%;gap:10px}.specimen-caption strong{font-size:17px}.specimen-action{font-size:12px}.specimen-direct{font-size:9px;left:73%;bottom:4%}.specimen-caption>small{display:none}.specimen-notch{width:10px;height:20px}}
@media(max-width:600px){.specimen-dock{left:5%;bottom:17%;width:88%;height:24%}.fragment-stage{width:62%}.specimen-caption{left:68%;top:30%;gap:12px}.specimen-caption strong{font-size:17px}.specimen-action{font-size:13px}.specimen-direct{left:68%;bottom:7%;font-size:11px}.fragment-left{transform:translate(-7px,0) rotate(-5deg)}.fragment-upper{transform:translate(5px,-10px) rotate(3deg)}.fragment-lower{transform:translate(6px,8px) rotate(-3deg)}.specimen-notch{width:10px;height:17px}.fragment-center small{font-size:4px;letter-spacing:.5px}.floating-letter{top:43%}}
@media(prefers-reduced-motion:reduce){.fragment{transition:none;will-change:auto}.fragment-left,.fragment-upper,.fragment-lower{transform:none}}
