
/* /release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/demo.css */
@font-face{font-family:Notebook;src:url("/release-20260929-r23/release-20260928-r16-9d6a894d/assets/notebook/notebook-serif.woff2") format('woff2');font-display:swap}
@font-face{font-family:'Altair Editorial';src:url("/release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-theatre-prologue/type/AltairEditorial.woff2") format('woff2');font-weight:400;font-display:swap}
:root{--ink:#111420;--paper:#dfd4c3;--serif:Notebook,'Times New Roman',serif;--display:'Altair Editorial','Times New Roman',serif;--sans:'Segoe UI','Microsoft YaHei',sans-serif;color-scheme:dark;background:var(--ink);color:var(--paper);font-family:var(--sans);scrollbar-width:none}
*{box-sizing:border-box}body{margin:0;overflow:hidden}body[data-phase=home]{overflow-y:auto}body[data-phase=reader]{overflow-y:auto}body::-webkit-scrollbar{display:none}
a{color:inherit;text-decoration:none;text-underline-offset:.3em}button{color:inherit;font:inherit;border:0;background:none;padding:0;cursor:pointer;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:1px solid #ddd0bc;outline-offset:7px}button:disabled{opacity:0;pointer-events:none}h1:focus,h2:focus{outline:none}img{display:block;max-width:100%}svg{fill:none;stroke:currentColor;stroke-width:1;width:56px;height:20px;vertical-align:middle}::selection{color:#171620;background:#d1c1a8}[hidden]{display:none!important}.symbols,.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#paper-world{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.prologue{position:fixed;inset:0;z-index:10;perspective:1400px;touch-action:none;isolation:isolate}
.opening-copy{position:absolute;left:5.8%;top:23.5%;width:49%;z-index:4;pointer-events:none}
.opening-copy>p{font:clamp(18px,1.6vw,27px)/1.5 var(--serif);margin:0 0 24px}
.opening-copy h1{font:400 clamp(72px,9.7vw,164px)/.92 var(--display);letter-spacing:-.038em;margin:0 0 8vh;white-space:nowrap}
.opening-copy>span{font:clamp(12px,1.2vw,18px)/1.6 var(--serif);color:#b6aa9f}
.open-action{position:absolute;left:60.4%;top:83.5%;z-index:12;border-bottom:1px solid #c3b5a777;display:flex;align-items:center;gap:35px;padding:12px 0;font:clamp(17px,1.55vw,25px)/1.4 var(--serif)}
.open-action svg{width:75px;transition:transform .2s}.open-action:hover svg{transform:translateX(7px)}.open-action:hover{color:#fff0d7}
.open-action{isolation:isolate;color:#f0e6d6}.open-action:before{content:'';position:absolute;inset:-15px -30px -13px -22px;z-index:-1;background:radial-gradient(ellipse,#0a101ced 18%,#0a101ca8 49%,#0a101c00 74%);pointer-events:none}
.cover-whisper{position:absolute;bottom:4.5%;left:0;right:0;text-align:center;font:14px var(--serif);letter-spacing:.18em;opacity:0;pointer-events:none;color:#c9bfb0;transition:opacity .3s}body[data-phase=cover] .cover-whisper{opacity:.8}
.book-rig{position:absolute;left:0;top:0;width:1000px;height:650px;transform-origin:0 0;transform-style:preserve-3d;z-index:6;will-change:transform;pointer-events:none}
.book-float{width:100%;height:100%;transform-style:preserve-3d}.codex{position:relative;width:100%;height:100%;transform-style:preserve-3d;transform-origin:50% 50%;will-change:transform}
body[data-phase=closed] .book-float{animation:book-hover 6s ease-in-out infinite}@keyframes book-hover{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.back-board,.page-block,.left-board{position:absolute;left:50%;width:50%;height:100%;border-radius:3px 8px 8px 3px}
.back-board{top:0;background:#171924;border:3px solid #57525b;transform:translateZ(-28px);box-shadow:6px 26px 30px #0406109c}
.page-block{top:4px;width:49.1%;height:calc(100% - 7px);background:#b8ad9d;transform:translateZ(5px);border:1px solid #d3c7b4}
.page-bottom-edge{position:absolute;left:50.3%;top:calc(100% - 3px);width:48.7%;height:31px;background:repeating-linear-gradient(0deg,#c1b8a9 0px,#e2d8c6 .8px,#9b9489 1.4px,#e0d7c7 2.4px,#b9b1a3 3.1px);box-shadow:inset 0 6px 7px #5c525c66,inset 10px 0 12px #18192666;transform-origin:top;transform:translateZ(5px) rotateX(-90deg)}
.page-fore-edge{position:absolute;left:99.1%;top:4px;width:31px;height:calc(100% - 7px);background:repeating-linear-gradient(90deg,#d3c9b9 0px,#e5dccb .8px,#aca294 1.6px,#d8cebe 2.7px);transform-origin:left;transform:translateZ(5px) rotateY(90deg);box-shadow:inset 4px 0 7px #40374655}
.book-spine{position:absolute;left:calc(50% - 9px);top:0;width:19px;height:100%;border-radius:45% 0 0 45%;background:linear-gradient(90deg,#080d16,#373341 48%,#141722);transform:translateZ(-7px);box-shadow:-3px 3px 5px #06091288}
.page-bottom-edge,.page-fore-edge{overflow:hidden}.page-edge-grain{position:absolute;inset:0;width:100%;height:100%;stroke:none}.page-fore-edge .page-edge-grain{width:650px;height:31px;left:31px;transform-origin:0 0;transform:rotate(90deg)}
.left-board{left:0;background:#242431;border:4px solid #73697a;transform:translateZ(-5px);opacity:0;box-shadow:0 8px 0 #afa597,0 14px 0 #25232e,0 16px 2px #080b13}
.book-page{position:absolute;top:0;left:0;width:50%;height:100%;background:linear-gradient(90deg,#e1d9cc,#ede6d9 12%,#eee7db 80%,#c9bdaa);color:#342d33;overflow:hidden;backface-visibility:hidden;border-radius:6px 0 0 6px;transform:translateZ(11px);opacity:0;box-shadow:inset -22px 0 25px -20px #4c404fbb}
.page-right{left:50%;border-radius:0 6px 6px 0;background:linear-gradient(90deg,#c9bdaa,#eee7db 20%,#ede6d9 88%,#e1d9cc);transform:translateZ(7px);box-shadow:inset 22px 0 25px -20px #4c404fbb}
.page-inner{position:relative;height:100%;padding:16% 12% 13%;font-family:var(--serif);overflow:hidden}
.page-inner h2{font:400 74px/1.15 var(--display);letter-spacing:-.035em;margin:28px 0 14px}
.page-inner h3{font:400 35px/1.6 var(--serif);letter-spacing:-.035em;margin:34px 0 32px}
.page-inner p{font:21px/1.9 var(--serif);color:#5b4e52;margin:0 0 26px}
.page-section-label,.latest-date{display:block;font:13px/1.5 var(--sans);letter-spacing:.08em;color:#7c6e6c}.latest-date{margin-top:40px;font-size:12px;letter-spacing:.15em}
.page-folio{position:absolute;bottom:6%;left:12%;right:12%;display:flex;justify-content:center;font:12px var(--display);color:#8b7c76}
.identity-page{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-bottom:22%}.portrait-frame{width:178px;height:204px;padding:8px;border:1px solid #9a897980;box-shadow:0 0 0 4px #bbae9c22}.portrait-frame img{width:100%;height:100%;object-fit:cover;filter:saturate(.67) sepia(.12)}.identity-rule{width:36px;height:1px;background:#9d8c79;margin-top:12px}
.biography-page{padding-top:21%}.biography-page h3{margin:0 0 38px}.unwritten-page{display:grid;place-items:center}.quiet-branch{width:140px;height:230px;opacity:.38}.quiet-branch svg{width:100%;height:100%}.branch-reverse{transform:rotate(-12deg) scale(.8)}
.latest-page h3,.product-page h3{font:400 49px/1.25 var(--display);margin:34px 0 24px}.book-product-logo{margin:50px 0 0}.product-page p{margin-top:30px}
.gutter{position:absolute;left:calc(50% - 1px);width:2px;height:100%;background:#897366;transform:translateZ(14px);opacity:0}
.book-cover{position:absolute;left:50%;width:50%;height:100%;transform-origin:0 50%;transform-style:preserve-3d;transform:translateZ(13px)}
.cover-front,.cover-inside{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:3px 8px 8px 3px;pointer-events:auto}
.cover-front{width:100%;height:100%;background:#1c1b2a;border:3px solid #111621;box-shadow:inset 0 0 0 2px #5e586477,inset 0 0 14px #070b12;transform:translateZ(2px);overflow:hidden}
.cover-front:focus-visible{outline:1px solid #bda987;outline-offset:5px}.cover-front>svg{width:100%;height:100%;display:block}
.cover-inside{transform:rotateY(180deg);background:#cfc5b6;border:8px solid #1b1e2a;display:grid;place-items:center;overflow:hidden}.cover-inside>svg{height:100%;width:100%}
.cover-fore-edge{position:absolute;right:-1px;top:0;height:100%;width:8px;background:linear-gradient(90deg,#77717b,#1b1e2a);transform-origin:left;transform:translateZ(2px) rotateY(90deg)}
.cover-bottom-edge{position:absolute;left:0;bottom:-8px;width:100%;height:8px;background:linear-gradient(#675f6f,#171c27);transform-origin:top;transform:translateZ(2px) rotateX(-90deg)}
.turn-sheet{position:absolute;top:0;left:50%;width:50%;height:100%;transform-origin:left center;transform-style:preserve-3d;z-index:8;pointer-events:none}.turn-front,.turn-back{position:absolute;inset:0;background:#ede5d8;color:#342d33;backface-visibility:hidden;overflow:hidden;transform:translateZ(.6px);box-shadow:inset 23px 0 26px -20px #4c404fbb}.turn-back{transform:rotateY(180deg);box-shadow:inset -23px 0 26px -20px #4c404fbb}.turn-front:after,.turn-back:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#372c4100,#372c4166);opacity:var(--fold-shade,0);pointer-events:none}
.page-hit{position:absolute;top:0;height:100%;width:9%;transform:translateZ(24px);pointer-events:auto;z-index:12;display:flex;align-items:flex-end;padding:0 18px 18px;color:#79675d;opacity:0;transition:opacity .2s}.page-hit:hover,.page-hit:focus-visible{opacity:.8}.page-hit-prev{left:0}.page-hit-next{right:0}.page-hit-prev svg{transform:rotate(180deg)}.page-hit svg{width:25px}.paper-magic{position:absolute;inset:0;height:100%;width:100%;z-index:20;pointer-events:none}
.home-content{position:relative;height:350svh;z-index:3;pointer-events:none}.home-arrival,.bridge-arrival{position:fixed;inset:0;pointer-events:none}.home-arrival:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#111420ba,#11142060 35%,transparent 65%);z-index:-1}.home-intro{position:absolute;left:8%;top:28%;max-width:58%}.home-intro>p{font:clamp(17px,1.45vw,24px)/1.6 var(--serif);margin:0 0 30px;color:#d1c5b6}.home-intro h1{font:400 clamp(54px,7vw,115px)/1.03 var(--display);letter-spacing:-.035em;margin:0 0 30px;white-space:nowrap}.home-intro>span{font:17px var(--serif);color:#c6b9a8}.travel-cue{position:absolute;bottom:7%;left:8%;font:14px var(--serif);letter-spacing:.06em}.travel-cue svg{width:32px;transform:rotate(90deg);margin-left:24px}
.bridge-arrival{opacity:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:0 7% 6%;background:linear-gradient(0deg,#141624b0,transparent 45%)}.bridge-arrival h2{font:400 clamp(26px,3vw,48px)/1.5 var(--serif);margin:0 0 22px}.bridge-links{display:flex;gap:45px;pointer-events:auto}.bridge-links a{display:flex;align-items:center;gap:26px;padding:8px 0;border-bottom:1px solid #ccbfa680;font:25px var(--display)}.bridge-links svg{width:42px}.replay{position:absolute;right:6%;bottom:5%;font:12px var(--serif);color:#c1b4a3;pointer-events:auto}
.plain-reading{padding:10vh 8%;position:relative;z-index:50}.plain-reading h1{font-family:var(--display)}
.reader-space{background:#ede7de;min-height:100vh;color:#29242e;color-scheme:light}.reader-header{display:flex;align-items:center;justify-content:space-between;padding:30px 6%;border-bottom:1px solid #685a7030;font:12px var(--sans)}.return-home{display:flex;align-items:center;gap:12px;min-height:36px}.return-home svg{width:34px;transform:rotate(180deg)}.reader-article{max-width:1240px;margin:auto;padding:60px 6% 90px}.reader-article>header{border-bottom:1px solid #77627e50;padding-bottom:42px}.reader-article time{font:12px var(--sans);color:#6a5a70}.reader-article h1{font:400 clamp(48px,8vw,100px)/1.15 var(--serif);margin:24px 0 0;letter-spacing:-.035em}.reader-article h1 em{font-style:normal;color:#685471}.reader-layout{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:80px;padding-top:24px}.reading-copy{max-width:68ch}.reading-copy section{padding:24px 0 26px;scroll-margin-top:24px}.reading-copy h2{font:400 27px/1.5 var(--serif);margin:15px 0}.reading-copy p{font:19px/1.95 var(--serif);color:#514657}.reader-layout aside{font:13px/2 var(--sans);padding-top:43px}.reader-layout aside nav{display:flex;flex-direction:column;gap:12px}.reader-layout aside p{margin-top:50px;color:#77677e}.reading-copy footer{border-top:1px solid #806a8133;margin-top:40px;padding-top:28px;font-size:13px}.reading-copy footer svg{width:30px}.reader-space a:focus-visible,.reader-space button:focus-visible{outline-color:#684476}body[data-phase=reader]>.site-header,body[data-phase=reader] .experience-settings,body[data-phase=reader]>.scenery{display:none}

.reader-space{position:relative;z-index:50}.reader-article h1{font-family:var(--display)}.reading-copy p{font-family:var(--sans);font-size:18px;line-height:1.95}.reader-header .return-home{pointer-events:auto}.reader-space button:focus-visible,.reader-space a:focus-visible{outline-color:#685471}body[data-phase=reader] #paper-world{visibility:hidden}
@media(max-width:700px){.opening-copy{top:12%;left:7%;width:85%}.opening-copy h1{font-size:clamp(61px,15.5vw,100px);margin-bottom:24px;line-height:.98}.opening-copy>p{font-size:16px;margin-bottom:22px}.opening-copy>span{font-size:12px}.open-action{left:50%;top:auto;bottom:9%;transform:translateX(-50%);font-size:19px;white-space:nowrap;gap:25px}.open-action svg{width:45px}.cover-whisper{font-size:12px;bottom:4%}.home-intro{left:7%;top:22%;max-width:85%}.home-intro h1{font-size:clamp(49px,11vw,76px)}.home-intro>p{font-size:16px}.home-intro>span{font-size:13px}.travel-cue{left:7%;font-size:12px}.bridge-arrival{padding-bottom:20%}.bridge-links{gap:24px;flex-direction:column}.bridge-links a{font-size:24px}.reader-header{padding:25px 7%;font-size:11px}.reader-article{padding:36px 7% 65px}.reader-article h1{font-size:52px}.reader-layout{display:flex;flex-direction:column;gap:0}.reader-layout aside{order:-1;padding:12px 0}.reader-layout aside nav{flex-direction:row;flex-wrap:wrap;gap:15px}.reader-layout aside p{display:none}.reading-copy h2{font-size:24px}.reading-copy p{font-size:17px}.page-hit{width:13%}}
@media(max-width:700px){.page-inner{padding:12% 10% 10%}.identity-page{padding-bottom:20%}.portrait-frame{width:204px;height:228px}.page-inner p{font-size:32px;line-height:1.55;margin-bottom:22px}.biography-page{padding-top:14%}.biography-page h3{font-size:38px;line-height:1.45;margin-bottom:24px}.latest-page h3,.product-page h3{font-size:56px}.page-section-label{font-size:24px}.latest-date{font-size:22px}.page-folio{font-size:22px}}
@media(max-width:700px){.opening-copy:before{content:'';position:absolute;inset:-30% -12% -40%;z-index:-1;background:radial-gradient(ellipse at 30% 40%,#111420ed,#1114209e 45%,#11142000 73%);pointer-events:none}}
.home-intro>p,.home-intro>span,.travel-cue{font-family:var(--sans);color:#e1d7c8}.bridge-links a{font:20px/1.5 var(--sans)}.page-folio{font-family:var(--sans)}
@media(max-width:700px){.page-inner p{font-size:42px;line-height:1.4;margin-bottom:10px}.biography-page{padding-top:8%}.biography-page h3{font-size:46px;line-height:1.35;margin-bottom:12px}.product-page .book-product-logo{margin-top:20px}.product-page h3{margin:24px 0 18px}.product-page p{margin-top:18px}.bridge-links a{font-size:19px}}

/* The reference leaves the welcome wording inside the left paper field. */
.home-intro h1{font-size:clamp(50px,6.5vw,100px);line-height:1.08}.home-intro{top:23%;max-width:49%}.home-intro>p{margin-bottom:26px}.open-action:before{opacity:.25}
@media(max-width:700px){.home-intro{top:24%;max-width:90%}.home-intro h1{font-size:clamp(45px,11vw,76px)}}
/* Full experience: stage, book, welcome, bridge and reading. */
:root{--paper:#ece4d7}button,a{-webkit-tap-highlight-color:transparent}.site-header{position:fixed;z-index:35;left:0;right:0;top:0;display:flex;justify-content:space-between;align-items:center;padding:35px 3%;pointer-events:none;font:16px var(--serif);letter-spacing:.045em;color:#e8dfd3}.site-header button{pointer-events:auto}.site-header .wordmark{font:17px var(--serif);letter-spacing:.09em}.site-header nav{display:flex;gap:32px}.site-header nav button{position:relative;padding:5px 0}.site-header nav button:after{content:'';position:absolute;bottom:-1px;left:0;width:0;height:1px;background:currentColor;transition:width .25s}.site-header nav button:hover:after{width:100%}.skip-prologue{position:fixed;z-index:34;top:92px;right:3.5%;font:13px var(--serif);color:#d5cbd1}.skip-prologue span{margin-left:14px;font:25px var(--serif)}body[data-phase=home] .skip-prologue,body[data-phase=reader] .skip-prologue{display:none}.opening-copy{top:25%}.opening-copy h1{font-size:clamp(72px,9.8vw,166px)}.opening-index{position:fixed;left:6%;right:6%;bottom:3.6%;display:flex;gap:24px;border-top:1px solid #c7bcaa33;padding-top:17px;font:18px var(--serif);transition:opacity .35s}.opening-index a,.opening-index button{display:flex;gap:16px;align-items:center;padding-right:26px}.opening-index a{border-right:1px solid #aa9e9560}.opening-index span{font-size:24px;color:#aa9e95}.opening-index a:hover,.opening-index button:hover{color:#fff5e3}body:not([data-phase=closed]) .opening-index{opacity:0;pointer-events:none}.open-action{top:82%;font-size:23px}.open-action:before{display:none}.cover-whisper{bottom:5.5%;z-index:18;display:flex;flex-direction:column;align-items:center;gap:10px}.cover-whisper .cover-open{font:23px var(--serif);padding:10px 30px;border-bottom:1px solid #b2a29570}.cover-whisper small{font-size:12px;letter-spacing:.04em;opacity:.65}body[data-phase=cover] .cover-whisper{pointer-events:auto}.book-nav{position:fixed;left:27%;right:27%;bottom:5.2%;display:flex;justify-content:space-between;align-items:center;font:16px var(--serif);z-index:18}.book-nav button{min-width:116px;padding:12px;display:flex;gap:16px;align-items:center;justify-content:center}.book-nav button:disabled{opacity:.3}.book-position{letter-spacing:.16em;font-size:14px;color:#c8bbca}.page-hit{display:none!important}.home-intro{top:24%;left:8%}.home-intro h1{font:400 clamp(46px,5.4vw,90px)/1.35 var(--serif);letter-spacing:-.045em;margin-bottom:32px}.home-intro h1 em{font-style:normal;color:#c3b6d2}.home-intro>p{font:19px/1.9 var(--serif);margin:0 0 45px}.arrival-read{pointer-events:auto;display:inline-flex;gap:30px;align-items:center;border-bottom:1px solid #c2b6aa55;padding-bottom:16px;font:18px var(--serif)}.arrival-read svg{width:50px}.home-arrival .signature{position:absolute;right:13%;bottom:19%;font:144px/.9 var(--display);color:#dfcfe4;pointer-events:none}.travel-cue{pointer-events:auto;bottom:6%;font-size:14px;color:#cdc1c8}.home-arrival:before{background:linear-gradient(90deg,#111420a0,transparent 72%)}.bridge-arrival{padding-bottom:8%}.bridge-arrival h2{font-size:40px}.reader-space{padding-top:0}.reader-header{position:sticky;top:0;background:#ede7def5;backdrop-filter:blur(14px);z-index:5}.reader-layout aside{position:sticky;top:90px;align-self:start}.reader-article{max-width:1180px}.loading-screen{position:fixed;inset:0;background:#10111a;z-index:150;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;transition:opacity .6s;pointer-events:auto}.loading-screen.loaded{opacity:0;pointer-events:none}.loading-mark{font:100px/.9 var(--display);color:#c6b5d0}.loading-screen p{font:14px var(--serif);letter-spacing:.16em}.loading-screen #loading-message{font:12px var(--serif);color:#b9aebc;letter-spacing:.06em}.loading-track{width:220px;height:1px;background:#8e7f932f}.loading-track i{display:block;height:100%;width:2%;background:#c7b5c9;transition:width .25s}.loading-screen button{padding:10px 24px;border-bottom:1px solid #c7b5c9;color:#e5d9df}.shelf-dialog{position:fixed;inset:0;margin:auto;width:min(700px,88vw);max-height:82dvh;overflow:auto;background:#eae3d7;color:#332c38;padding:64px 60px 55px;border:1px solid #c9bcaa;box-shadow:0 26px 90px #05061180;font:18px/1.9 var(--serif)}.shelf-dialog::backdrop{background:#0a0b149e;backdrop-filter:blur(7px)}.shelf-dialog .close-shelf{position:absolute;top:14px;right:23px;font:32px var(--serif);padding:3px 8px}.shelf-eyebrow{font:11px var(--sans);letter-spacing:.17em;color:#76697b;margin:0 0 30px}.shelf-dialog h2{font:400 45px/1.3 var(--serif);letter-spacing:-.04em;margin:0 0 32px}.shelf-dialog p{margin-bottom:28px}.shelf-entry{display:flex;flex-direction:column;gap:8px;padding:24px 0;border-top:1px solid #75607944;border-bottom:1px solid #75607944}.shelf-entry strong{font:400 29px var(--display)}.shelf-entry time,.shelf-entry span,.shelf-note{font:12px/1.8 var(--sans);color:#746777}.shelf-note{margin:28px 0 0}.shelf-logo{width:55px;height:55px;object-fit:contain;margin:20px 0 24px}.shelf-dialog a:hover{color:#73566e}.shelf-dialog button:focus-visible,.shelf-dialog a:focus-visible{outline-color:#72596f}body:not(.demo-ready) .site-header,body:not(.demo-ready) .skip-prologue{pointer-events:none}body[data-phase=reader] .opening-index{display:none}
@media(max-width:700px){.site-header{padding:24px 6%;align-items:flex-start}.site-header .wordmark{font-size:12px;letter-spacing:.06em}.site-header nav{gap:16px;font-size:11px}.site-header nav button{padding:0}.skip-prologue{top:65px;right:6%;font-size:11px}.opening-copy{top:19%;left:7%}.opening-copy h1{font-size:15.5vw}.opening-copy>span{font-size:12px}.opening-index{left:7%;right:7%;bottom:3%;font-size:13px;gap:14px;padding-top:11px}.opening-index a,.opening-index button{gap:10px;padding-right:13px}.opening-index span{font-size:17px}.open-action{top:auto;bottom:12%;font-size:21px}.book-nav{left:5%;right:5%;bottom:10%;font-size:14px}.book-nav button{min-width:100px}.cover-whisper{bottom:9%}.cover-whisper .cover-open{font-size:20px}.home-intro{top:24%;left:7%;max-width:88%}.home-intro h1{font-size:10.4vw;margin-bottom:24px}.home-intro>p{font-size:15px;line-height:1.85;margin-bottom:32px}.arrival-read{font-size:15px;gap:22px}.home-arrival .signature{font-size:90px;bottom:20%;right:11%;opacity:.8}.travel-cue{left:7%;bottom:9%}.bridge-arrival{padding:0 7% 23%}.bridge-arrival h2{font-size:29px}.bridge-links a{font-size:22px}.replay{bottom:10%;right:7%}.shelf-dialog{padding:55px 28px 36px}.shelf-dialog h2{font-size:34px}.shelf-entry strong{font-size:25px}.reader-layout aside{position:static}.reader-article h1{font-size:54px}.reading-copy p{font-size:16px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}


/* /release-20260929-r23/patch-20260928-huawei-compat/theatre.css */
:root{--ink:#10121d;--paper:#eee4d5;--muted:#c8bfae;--folio:#e8e0d3;--folio-ink:#332f38;--serif:Notebook,'Songti SC','Times New Roman',serif;background:var(--ink)}
#theatre:before{content:'';position:fixed;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#080b17d9 0%,#0c1021bd 40%,#12162959 51%,transparent 65%),linear-gradient(270deg,#080b1780,transparent 24%),radial-gradient(ellipse at 70% 42%,transparent 30%,#080b1780 100%)}
.home-intro{isolation:isolate}.home-intro:before{content:'';position:absolute;inset:-45px -55px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse,#0c0f1bb3 0%,#0c0f1b66 46%,transparent 72%)}
.cover-front:disabled{opacity:1}
html{scrollbar-width:none;scroll-behavior:auto}body{overflow-x:hidden;overflow-y:auto}body[data-mode=book],body.folio-open{overflow:hidden}a,button{touch-action:manipulation}button:disabled{opacity:.35}a:focus-visible,button:focus-visible{outline:1px solid currentColor;outline-offset:6px}.skip-link{position:fixed;top:12px;left:16px;z-index:200;padding:12px 20px;background:var(--paper);color:var(--ink);transform:translateY(-200%)}.skip-link:focus{transform:none}
.site-header{padding:3% 5%;align-items:center;font:clamp(15px,1.35vw,20px)/1.5 var(--serif);color:var(--paper)}.site-header .wordmark{font:clamp(16px,1.4vw,22px)/1.4 var(--serif);letter-spacing:.11em;pointer-events:auto}.site-header .wordmark:after{content:'';display:block;width:28px;height:1px;background:#c6b6a466;margin-top:13px}.site-header nav{gap:clamp(25px,3.7vw,58px)}.site-header nav a{pointer-events:auto;padding:4px 0;position:relative}.site-header nav a:after{content:'';position:absolute;bottom:-4px;left:0;right:100%;height:1px;background:currentColor;transition:right .25s}.site-header nav a:hover:after,.site-header nav a:focus-visible:after{right:0}.menu-toggle{display:none}
#paper-world{filter:brightness(1.15) contrast(1.14) saturate(.80) sepia(.08)}.journey-track{height:650vh;height:650svh}.prologue{pointer-events:none;touch-action:auto;z-index:5}.prologue button,.prologue a{pointer-events:auto}.opening-copy{left:5.2%;top:26%;width:43%;z-index:4}.opening-copy>p{font:clamp(18px,1.72vw,28px)/1.7 var(--serif);letter-spacing:.12em;margin:0 0 24px}.opening-copy h1{font:400 clamp(70px,9.1vw,172px)/.92 var(--display);letter-spacing:-.046em;white-space:nowrap;margin:0}.open-action{left:64%;top:auto;bottom:13%;font:clamp(18px,1.65vw,26px)/1.5 var(--serif);gap:30px;border:0;padding:8px 0;transform:none}.open-action svg{width:58px}.book-rig{z-index:3}.book-cover .cover-front{border-color:#151720}.book-float{animation:none!important}.book-nav{bottom:5%;left:28%;right:28%;font:16px var(--serif)}.book-nav button{border-bottom:1px solid #c7bba644}.cover-whisper{bottom:7%;opacity:1;pointer-events:auto}.cover-whisper .cover-open{display:flex;align-items:center;gap:22px;border:0}.cover-whisper svg{width:48px}.close-book{position:fixed;bottom:5%;left:5%;font:14px var(--serif);padding:12px 0;border-bottom:1px solid #c7bba655}.book-text-link{position:relative;z-index:5;pointer-events:auto;font:18px/1.8 var(--serif);border-bottom:1px solid #83726a}.book-chapter-number{font:150px/1 var(--display);color:#b6a695}.page-inner{pointer-events:auto}.page-inner p{line-height:1.7}
.home-arrival,.bridge-arrival{z-index:6;opacity:0}.home-arrival:before{display:none}.home-intro{top:25%;left:6%;max-width:42%}.chapter-caption{font:12px/1.6 var(--serif)!important;letter-spacing:.19em!important;color:#cdbda9!important;margin:0 0 24px!important}.home-intro h2{font:400 clamp(34px,3.5vw,60px)/1.5 var(--serif);letter-spacing:.01em;margin:0 0 27px}.home-intro h2 em{font-style:normal;font-size:.69em}.home-intro>p{font:clamp(15px,1.3vw,20px)/1.9 var(--serif);color:#e0d4c3;letter-spacing:.04em;margin-bottom:32px}.arrival-read{font:16px/1.5 var(--serif);padding:10px 0;border:0;gap:26px}.arrival-read svg{width:45px}.travel-cue{bottom:12%;left:6%;font:14px var(--serif)}.bridge-arrival{background:none;display:flex;justify-content:flex-end;align-items:flex-start;padding:0 6% 13%;max-width:none}.bridge-arrival h2{font:400 clamp(34px,3.4vw,58px)/1.45 var(--serif);letter-spacing:.02em;margin:0 0 26px}.bridge-links{gap:35px}.bridge-links a{font:17px/1.6 var(--serif);gap:18px;border:0}.bridge-links svg{width:38px}.marginalia-link{pointer-events:auto;font:13px/1.8 var(--serif);letter-spacing:.06em;border-bottom:1px solid #cbbfa433;margin-top:25px;padding-bottom:5px;color:#d3c3ad}.replay{bottom:7%;font:12px var(--serif);padding:10px 0}
.scroll-invitation{position:fixed;bottom:4.2%;left:50%;transform:translateX(-50%);z-index:20;display:flex;flex-direction:column;align-items:center;gap:14px;font:12px/1.5 var(--serif);letter-spacing:.12em;white-space:nowrap;color:#d4c5b2}.scroll-invitation>span:first-child{width:1px;height:35px;background:#cbbfaa66}.stage-footer{position:fixed;bottom:3.8%;left:5%;right:5%;z-index:21;display:flex;gap:22px;align-items:center;font:11px/1.5 var(--serif);letter-spacing:.08em;color:#bcaf9e;pointer-events:none}.stage-footer button{pointer-events:auto;padding:8px 0}#motion-toggle{margin-left:auto;opacity:.72}.stage-footer .skip-prologue{position:static;display:block!important;font:inherit;color:inherit}body[data-mode=book] .stage-footer,body[data-mode=book] .scroll-invitation{display:none}.journey-progress{position:fixed;bottom:0;left:0;right:0;height:1px;background:transparent;z-index:40}.journey-progress i{display:block;height:1px;width:100%;background:#d7c3a9;transform:scaleX(0);transform-origin:left}body.folio-open .site-header,body.folio-open .stage-footer,body.folio-open .scroll-invitation{visibility:hidden}.loading-reading{font:12px var(--serif);border:0!important;opacity:.7;margin-top:12px}.loading-mark{color:#d8c8b3}.loading-screen{background:#10121d}
.folio-dialog{color:var(--folio-ink);color-scheme:light;background:var(--folio);position:fixed;inset:0;width:min(1180px,92vw);height:88dvh;max-height:none;margin:auto;border:0;padding:0;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 24px 100px #050610a0;scrollbar-width:thin;scrollbar-color:#978879 transparent;font:17px/1.8 var(--serif)}.folio-dialog::backdrop{background:#080a13b8;backdrop-filter:blur(6px)}.folio-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:22px;justify-content:space-between;margin:0 5.5%;padding:23px 0 19px;border-bottom:1px solid #63524944;background:var(--folio);font:11px/1.6 var(--serif);letter-spacing:.09em}.folio-header button{padding:8px 0}.folio-header>span{font-size:11px;letter-spacing:.16em}.folio-header .folio-close{color:#726256}.folio-main{padding:58px 7% 75px}.folio-eyebrow{font:11px/1.5 var(--serif);letter-spacing:.18em;color:#796e60;margin:0 0 18px}.folio-main h1{font:400 clamp(42px,5vw,76px)/1.18 var(--display);margin:0 0 22px;letter-spacing:-.035em}.folio-main h1.chinese-title{font:400 clamp(35px,4.2vw,58px)/1.45 var(--serif);letter-spacing:0}.folio-lede{color:#72655b;max-width:38em;font:17px/1.9 var(--serif);margin:0 0 44px}.folio-rule{height:1px;border:0;background:#82715e44;margin:40px 0}.about-layout{display:grid;grid-template-columns:230px 1fr;gap:9%;align-items:start}.about-portrait{border:1px solid #98877855;padding:8px;margin:6px 0 22px}.about-portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.65)}.portrait-caption{font:12px/1.7 var(--serif);color:#887966;letter-spacing:.08em}.about-prose{max-width:39em}.about-prose h2{font:400 25px/1.7 var(--serif);margin:26px 0 12px}.about-prose p{line-height:1.95}.folio-text-link{display:inline-flex;align-items:center;gap:20px;border-bottom:1px solid #8c786966;padding:7px 0;font:15px/1.8 var(--serif)}.folio-text-link svg{width:38px}.editorial-list{list-style:none;margin:0;padding:0}.editorial-row{display:grid;grid-template-columns:110px 1fr 45px;gap:22px;padding:30px 0;border-top:1px solid #8a786a55;align-items:center}.editorial-row:last-child{border-bottom:1px solid #8a786a55}.editorial-row time{font:12px/1.6 var(--serif);color:#877561}.editorial-row h2{font:400 clamp(25px,3vw,37px)/1.3 var(--display);margin:0 0 8px}.editorial-row p{font:14px/1.8 var(--serif);margin:0;color:#746354}.editorial-row svg{width:37px;transition:transform .25s}.editorial-row:hover svg{transform:translateX(5px)}.editorial-note{font:12px/1.8 var(--serif);color:#897665;margin:25px 0}.quiet-empty{border-top:1px solid #8a786a44;border-bottom:1px solid #8a786a44;padding:46px 0;margin:26px 0 45px;color:#786a5b;min-height:115px}.quiet-empty p{margin:0}.project-secondary{display:flex;align-items:flex-start;gap:28px;padding-top:8px}.project-secondary img{width:55px;height:55px;object-fit:contain;margin-top:8px}.project-secondary h2{font:400 34px var(--display);margin:5px 0 12px}.project-secondary p{font:15px/1.8 var(--serif);margin:0 0 18px;color:#796c5c}.project-secondary .folio-eyebrow{font-size:10px}.folio-footer{padding:24px 0;margin:0 5.5%;border-top:1px solid #8a786a44;display:flex;gap:24px;justify-content:space-between;align-items:center;font:11px/1.6 var(--serif);letter-spacing:.05em;color:#8c7964}.folio-footer nav{display:flex;gap:22px}.folio-footer a[aria-current=page]{color:#3d3130;border-bottom:1px solid}.article-layout{display:grid;grid-template-columns:1fr 150px;gap:65px}.article-body{max-width:36em;font:17px/2 var(--serif)}.article-body section{scroll-margin-top:100px;margin:0 0 34px}.article-body h2{font:400 25px/1.7 var(--serif);margin:20px 0 15px}.article-body p{margin:0 0 22px}.article-layout aside{position:sticky;top:125px;align-self:start;padding-top:20px;font:12px/1.8 var(--serif);color:#806f5e}.article-layout aside a{display:block;margin-bottom:14px}.article-end{border-top:1px solid #8a786a44;margin-top:40px;padding-top:26px;color:#87735e}.note-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.small-note{border-top:1px solid #8a786a44;padding:23px 0}.small-note img{width:100%;height:auto;margin-bottom:18px}.small-note p{font:16px/1.9 var(--serif)}.small-note time{font:11px var(--serif);color:#897969}
@media(max-width:760px){.site-header{padding:24px 6%;align-items:flex-start}.site-header .wordmark{font-size:14px;letter-spacing:.07em}.site-header .wordmark:after{width:20px;margin-top:10px}.menu-toggle{display:block;pointer-events:auto;font:13px var(--serif);padding:2px 0}.site-header nav{position:absolute;top:68px;left:6%;right:6%;background:#151722f5;padding:22px 24px;display:none;flex-direction:column;gap:0;border:1px solid #bba58a33;font:18px/1.5 var(--serif)}.site-header nav a{padding:11px 0}.site-header[data-menu=open] nav{display:flex}.opening-copy{left:7%;top:20%;width:86%}.opening-copy>p{font-size:15px;margin-bottom:17px;letter-spacing:.1em}.opening-copy h1{font-size:16vw;line-height:.93;letter-spacing:-.04em}.opening-copy:before{display:none}.open-action{left:50%;bottom:16%;top:auto;transform:translateX(-50%);font-size:20px;white-space:nowrap;gap:24px}.open-action svg{width:42px}.journey-track{height:590vh;height:590svh}.scroll-invitation{bottom:7.5%;font-size:10px;gap:9px}.scroll-invitation>span:first-child{height:25px}.stage-footer{bottom:2.5%;left:7%;right:7%;font-size:10px;gap:15px}.home-intro{left:7%;top:24%;max-width:86%}.home-intro h2{font-size:30px;line-height:1.6;margin-bottom:20px}.home-intro>p{font-size:14px;line-height:1.85;margin-bottom:22px}.chapter-caption{font-size:10px!important;margin-bottom:18px!important}.arrival-read{font-size:14px;gap:18px}.arrival-read svg{width:32px}.travel-cue{bottom:15%;left:7%;font-size:12px}.bridge-arrival{padding:0 7% 23%}.bridge-arrival h2{font-size:32px;margin-bottom:20px}.bridge-links{flex-direction:column;gap:4px}.bridge-links a{font-size:16px;padding:7px 0}.marginalia-link{font-size:12px;margin-top:19px}.replay{bottom:13%;right:7%;font-size:11px}.book-nav{left:5%;right:5%;bottom:11%;font-size:13px}.book-nav button{min-width:86px}.close-book{bottom:4%;left:50%;transform:translateX(-50%);font-size:12px;white-space:nowrap}.cover-whisper{bottom:13%}.book-text-link{font-size:36px}.page-inner p{font-size:34px;line-height:1.5}.page-section-label,.latest-date{font-size:24px}.biography-page h3{font-size:40px}.opening-copy{text-shadow:0 2px 18px #090b1655}.biography-page p{font-size:32px!important;line-height:1.5!important}.page-inner h3{margin-bottom:22px}.folio-dialog{inset:0;width:100%;height:100dvh;max-width:none}.folio-header{margin:0 6%;padding:17px 0 13px;font-size:10px;gap:14px}.folio-header>span{display:none}.folio-main{padding:38px 7% 50px}.folio-main h1{font-size:49px}.folio-main h1.chinese-title{font-size:34px}.folio-lede{font-size:15px;margin-bottom:30px}.about-layout{grid-template-columns:1fr;gap:10px}.about-portrait{width:150px;margin-bottom:10px}.about-layout>aside{display:flex;align-items:flex-end;gap:20px;margin-bottom:22px}.portrait-caption{font-size:10px}.about-prose h2{font-size:23px}.about-prose p{font-size:15px}.editorial-row{grid-template-columns:1fr 32px;gap:12px;padding:25px 0}.editorial-row time{grid-column:1/-1;font-size:11px}.editorial-row h2{font-size:31px}.editorial-row p{font-size:13px}.editorial-row svg{width:30px}.article-layout{display:flex;flex-direction:column;gap:16px}.article-layout aside{position:static;order:-1;display:flex;gap:17px;flex-wrap:wrap;padding:0;font-size:11px;border-bottom:1px solid #8a786a44}.article-body{font-size:16px}.article-body h2{font-size:22px}.folio-footer{flex-direction:column;align-items:flex-start;gap:15px;margin:0 7%;padding-bottom:32px}.folio-footer nav{gap:20px}.project-secondary{gap:20px}.project-secondary img{width:44px;height:44px}.note-grid{grid-template-columns:1fr}.quiet-empty{padding:35px 0;font-size:15px}}
@media(max-width:760px){.folio-header{padding:9px 0}.folio-header button{min-height:44px;font-size:13px}.folio-footer{font-size:12px}.folio-footer a{display:inline-block;padding:9px 0}.book-nav button{min-height:44px}.menu-toggle{min-height:32px}.close-book{min-height:40px}.stage-footer{font-size:11px;color:#e4d6c4;text-shadow:0 1px 6px #000}#motion-toggle{opacity:1;min-height:36px}.scroll-invitation{font-size:11px}}
@media(prefers-reduced-motion:reduce){.scroll-invitation>span:first-child{height:20px}}body[data-reduced=true] *{scroll-behavior:auto!important;animation:none!important;transition:none!important}


/* /release-20260929-r23/patch-20260928-huawei-compat/theatre-layout.css */
:root{--ink:#222933;--paper:#c7b899;--folio:#d2c5aa;--folio-ink:#2a2c2b;--muted:#786e5c;--display:'Altair Editorial',Georgia,serif;--serif:Notebook,'Songti SC',serif;--sans:'Helvetica Neue','PingFang SC',sans-serif;background:var(--ink);color:#decbaa}
html,body{margin:0;background:var(--ink)}body{transition:none;color:#decbaa}#theatre:before,.home-intro:before{display:none}.journey-track{height:820vh;height:820svh}.reading-tail{height:0;pointer-events:none}.page-surface{position:fixed;inset:0;z-index:0;background:var(--paper);transform:translateY(102%);pointer-events:none}.page-surface:after{content:'';position:absolute;inset:0;opacity:.11;mix-blend-mode:multiply;background:url("/release-20260929-r23/release-20260928-r16-9d6a894d/r4/package-h/textures/0b0783b997904128d27d8635c2aff6d11f228b19f1ac8f9756fc69253119548a.webp") repeat;background-size:540px;pointer-events:none}.stage-window{position:fixed;inset:0;z-index:1;pointer-events:none;will-change:clip-path;overflow:hidden}#paper-world{inset:0;width:100%;height:100%;transform-origin:50% 50%;filter:saturate(.8) contrast(1.08);will-change:transform}.stage-tone{position:absolute;inset:0;background:#111a29;opacity:0}.plate-caption{position:fixed;z-index:3;display:flex;justify-content:space-between;font:9px/1.5 var(--sans);letter-spacing:.11em;color:#625d50;pointer-events:none;opacity:0}.site-header{z-index:36;top:0;left:0;right:0;padding:28px 5%;color:#decbaa;transition:color .25s}.site-header .wordmark{display:flex;align-items:center;gap:15px;font:9px/1.4 var(--sans);letter-spacing:.10em;color:inherit!important}.wordmark span{font:30px/.9 var(--display);letter-spacing:-.06em}.site-header .wordmark:after{display:none}.menu-toggle{display:block;position:relative;z-index:2;padding:10px 0;min-width:48px;font:11px/1.6 var(--sans);letter-spacing:.12em;pointer-events:auto;color:inherit}.site-header nav{display:none;position:fixed;inset:0;padding:19vh 10vw 14vh;background:#252b33f7;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:#dfcbaa!important;font:38px/1.55 var(--serif);pointer-events:auto}.site-header nav a{display:block;padding:4px 18px}.site-header[data-menu=open] nav{display:flex}.site-header[data-menu=open] .wordmark,.site-header[data-menu=open] .menu-toggle{z-index:2;color:#dfcbaa!important}body[data-paper=true] .site-header{color:#2a2d2d}.prologue{z-index:5;isolation:auto}.opening-copy{position:absolute;inset:0;width:100%;height:100%;padding:0;z-index:4;text-align:center;pointer-events:none}.opening-copy h1{position:absolute;top:30%;left:5%;width:90%;margin:0;white-space:normal;font:400 10vw/.89 var(--display);letter-spacing:-.035em;color:#e1cfab}.opening-copy h1 span{display:block}.spatial-title .opening-copy h1{clip-path:inset(50%);width:1px;height:1px;overflow:hidden;position:absolute;white-space:nowrap}.opening-copy>.hero-eyebrow{position:absolute;top:20%;left:0;right:0;font:10px/1.6 var(--sans);letter-spacing:.16em;margin:0}.opening-copy>.hero-note{position:absolute;left:6%;bottom:25%;top:auto;font:15px/1.8 var(--serif);letter-spacing:.1em;margin:0;text-align:left}.open-action{left:6%;bottom:16%;top:auto;right:auto;padding:10px 0;gap:25px;font:14px/1.6 var(--serif);transform:none;color:#ddc9a7}.open-action svg{width:45px}.open-action:after{display:none}.book-rig{z-index:6}.book-cover .cover-front{border-color:#171d27}.scroll-invitation{left:50%;bottom:7%;transform:translateX(-50%);gap:9px;font:10px/1.5 var(--sans);letter-spacing:.09em;color:#d5c3a3}.scroll-invitation>span:first-child{height:24px;width:1px;background:#c6b494;overflow:hidden}.stage-footer{bottom:20px;left:5%;right:5%;font:9px/1.7 var(--sans);letter-spacing:.07em;color:#d2bea0;gap:25px;text-shadow:none}.stage-footer button{min-height:30px;font:inherit}#motion-toggle{opacity:1}.stage-footer .skip-prologue{font:inherit}.journey-progress{height:1px;opacity:.45}.journey-progress i{background:#c2aa7f}body[data-paper=true] .stage-footer{color:#625b4e}.scene-note{position:fixed;inset:0;z-index:4;pointer-events:none;opacity:0;color:#dac8a7}.scene-note-number{position:absolute;bottom:12%;left:6%;font:100px/1 var(--display);letter-spacing:-.08em}.scene-note-label{position:absolute;bottom:14%;right:6%;text-align:right;font:10px/1.9 var(--sans);letter-spacing:.1em}.home-arrival{z-index:6;color:#2c302f}.home-intro{position:absolute;inset:0;max-width:none}.chapter-caption{font:9px/1.7 var(--sans)!important;letter-spacing:.10em!important;color:#625c4e!important;margin:0!important}.home-intro>.chapter-caption{position:absolute;top:63%;left:7%}.home-intro h2{position:absolute;left:7%;top:68%;font:400 clamp(32px,3.4vw,54px)/1.42 var(--serif);letter-spacing:0;margin:0}.home-intro>p:not(.chapter-caption){position:absolute;left:60%;top:65%;width:30%;font:15px/1.95 var(--serif);letter-spacing:.025em;margin:0;color:#44443b}.arrival-read{position:absolute;left:60%;top:82%;gap:25px;border-bottom:1px solid #61594966;padding:6px 0;font:12px/1.7 var(--serif);color:#363b37}.arrival-read svg{width:36px}.travel-cue{bottom:6%;left:auto;right:7%;font:10px/1.7 var(--serif);color:#5f5a4e}.travel-cue svg{width:27px;margin-left:18px}.bridge-arrival{position:fixed;inset:0 auto auto 0;display:block;width:100%;height:auto;min-height:100svh;padding:0;z-index:6;pointer-events:none;color:#2b302d;background:none;box-sizing:border-box}.bridge-arrival a,.bridge-arrival button{pointer-events:auto}.index-heading{position:absolute;top:16svh;left:7%;max-width:38%}.bridge-arrival h2{font:400 clamp(64px,7.7vw,126px)/.84 var(--display);letter-spacing:-.035em;margin:25px 0 0}.latest-entry{position:absolute;left:7%;top:52svh;width:32%;border-top:1px solid #777060;padding-top:17px}.latest-entry>a{display:block}.latest-entry h3{font:400 clamp(27px,3.3vw,44px)/1.25 var(--display);letter-spacing:-.025em;margin:14px 0 8px}.latest-entry a>span:not(.entry-action){font:12px/1.6 var(--serif);color:#595747}.entry-action{display:flex;align-items:center;gap:20px;margin-top:18px;font:11px var(--serif)}.entry-action svg{width:36px;height:16px}.latest-entry .all-posts{display:inline-block;margin-top:18px;padding:6px 0;border-bottom:1px solid #827864;font:10px/1.6 var(--sans);color:#69614f}.contents-list{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:max(79svh,calc(52svh + 260px)) 7% 0;border-top:1px solid #807767}.contents-list>a{position:relative;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:16px;padding:23px 22px 24px 0;border-bottom:1px solid #807767}.contents-list>a+a{padding-left:24px;border-left:1px solid #807767}.entry-number{grid-row:1/3;font:23px/1.2 var(--display);color:#716753}.entry-title{font:20px/1.4 var(--serif);letter-spacing:.02em}.entry-note{font:10px/1.7 var(--serif);margin-top:8px;color:#746a57}.contents-list svg{position:absolute;right:24px;top:30px;width:27px;height:14px}.closing-line{display:flex;align-items:center;justify-content:space-between;margin:30px 7% 76px;font:9px/1.6 var(--sans);letter-spacing:.06em;color:#736855}.closing-line .replay{position:static;font:10px/1.8 var(--serif);color:#584f41;padding:8px 0}.book-nav{color:#dec9a9}.cover-whisper,.close-book{color:#dec9a9}.folio-dialog{inset:0;max-width:none;width:100%;height:100dvh;margin:0;background:var(--folio);box-shadow:none;color:var(--folio-ink)}.folio-dialog::backdrop{background:#202731}.folio-header{margin:0 5%;padding:20px 0;font:11px/1.6 var(--sans);background:var(--folio);border-color:#867c6944}.folio-header button{min-height:32px;font:12px/1.6 var(--serif)}.folio-main{padding:65px 9% 80px;max-width:1400px;margin:0 auto}.folio-main h1{font-size:clamp(58px,8vw,116px);line-height:.95;margin-bottom:35px}.folio-main h1.chinese-title{font:400 clamp(42px,5.5vw,82px)/1.3 var(--serif)}.folio-eyebrow{font:10px/1.6 var(--sans);color:#766c59;margin-bottom:24px}.folio-lede{font:16px/1.9 var(--serif);color:#635c4e;max-width:38em}.folio-main .about-layout{grid-template-columns:180px 1fr;gap:10%}.about-portrait{border:0;padding:0}.about-portrait img{aspect-ratio:1;filter:saturate(.6)}.folio-text-link{font-size:14px}.folio-footer{font:10px/1.6 var(--sans);border-color:#867c6955}.editorial-row{grid-template-columns:140px 1fr 60px;padding:34px 0}.editorial-row h2{font-size:44px}.editorial-row p{font-size:14px}.quiet-empty{font:16px/1.9 var(--serif);padding:50px 0;min-height:120px}.article-body{font-size:17px;line-height:2}.article-layout{grid-template-columns:minmax(0,1fr) 180px;gap:10%}.article-layout aside{font-size:12px}.loading-screen{background:#232b36;color:#decbab}.loading-mark{color:#ddc9a8}.loading-screen p{font:10px/1.6 var(--sans)}.loading-screen #loading-message{color:#baad99}.loading-reading{color:#decbaa}.loading-track{background:#dac6a733}.loading-track i{background:#dac6a7}.folio-open .plate-caption{visibility:hidden}body[data-reduced=true] .journey-track{height:380vh;height:380svh}
@media(max-width:760px){
 .journey-track{height:760vh;height:760svh}.site-header{padding:21px 7%}.site-header .wordmark{font-size:8px;gap:10px}.wordmark span{font-size:27px}.menu-toggle{font-size:12px;min-height:38px}.site-header nav{padding:19vh 8%;font-size:30px;gap:25px;top:0;left:0;right:0;border:0}.opening-copy>.hero-eyebrow{top:25%;font-size:8px;letter-spacing:.12em}.opening-copy>.hero-note{left:7%;bottom:28%;font-size:13px;letter-spacing:.03em}.opening-copy h1{top:36%;font-size:15.5vw}.open-action{left:7%;bottom:20%;font-size:13px;gap:14px}.open-action svg{width:32px}.scroll-invitation{bottom:10%;font-size:9px}.stage-footer{left:7%;right:7%;bottom:15px;gap:15px;font-size:9px}.stage-footer button{min-height:35px}#stage-caption{font-size:8px}.plate-caption{font-size:8px}.scene-note-number{font-size:70px;left:7%;bottom:17%}.scene-note-label{font-size:8px;right:7%;bottom:18%}.home-intro>.chapter-caption{left:7%;top:56%;font-size:8px!important}.home-intro h2{left:7%;top:61%;font-size:28px;line-height:1.42}.home-intro>p:not(.chapter-caption){left:7%;top:75%;width:86%;font-size:12px;line-height:1.8}.arrival-read{left:7%;top:88%;font-size:11px;padding:3px 0;gap:17px}.arrival-read svg{width:28px}.travel-cue{right:7%;bottom:5.5%;font-size:9px}.travel-cue svg{width:18px;margin-left:6px}.bridge-arrival{padding:0 7%;min-height:100svh}.index-heading{left:7%;top:13svh;max-width:86%}.bridge-arrival h2{font-size:54px;line-height:.83;margin-top:15px}.latest-entry{position:relative;left:auto;top:auto;width:100%;margin-top:62svh;padding-top:18px}.latest-entry h3{font-size:32px;margin-top:14px}.entry-action{margin-top:20px;font-size:12px}.latest-entry .all-posts{font-size:10px;margin-top:10px}.contents-list{display:block;margin:32px 0 0}.contents-list>a,.contents-list>a+a{grid-template-columns:38px 1fr;padding:22px 30px 22px 0;border-left:0;column-gap:18px}.entry-title{font-size:22px}.entry-note{font-size:11px;margin-top:8px}.entry-number{font-size:25px}.contents-list svg{right:0;top:27px;width:28px}.closing-line{margin:25px 0 75px;gap:15px;flex-wrap:wrap;font-size:8px}.closing-line>span:last-child{flex:1 1 100%}.closing-line .replay{font-size:11px}.folio-header{margin:0 7%;padding:10px 0}.folio-header button{min-height:40px;font-size:12px}.folio-main{padding:42px 7% 55px}.folio-main h1{font-size:60px;line-height:1.05;margin-bottom:25px}.folio-main h1.chinese-title{font-size:37px}.folio-lede{font-size:14px}.folio-main .about-layout{display:flex;flex-direction:column;gap:20px}.about-portrait{width:110px;margin:0}.portrait-caption{font-size:10px}.about-layout>aside{margin:0}.about-prose p{font-size:15px}.editorial-row{grid-template-columns:1fr 30px;gap:15px;padding:27px 0}.editorial-row time{grid-column:1/-1}.editorial-row h2{font-size:32px}.editorial-row p{font-size:13px}.article-layout{display:flex;gap:18px}.article-layout aside{font-size:11px}.article-body{font-size:16px}.folio-footer{margin:0 7%;font-size:10px}.folio-footer nav{gap:20px}.quiet-empty{font-size:15px;min-height:100px}.cover-whisper{bottom:15%}.book-nav{bottom:12%;left:5%;right:5%;font-size:12px}.close-book{bottom:5%}.book-nav button{min-width:74px}.page-inner p{font-size:30px!important}
}
@media(max-height:610px) and (min-width:761px){.home-intro h2{font-size:30px}.home-intro>p:not(.chapter-caption){font-size:12px}.latest-entry h3{font-size:30px}.bridge-arrival h2{font-size:74px}.contents-list{margin-top:88svh}.arrival-read{top:86%}}

body[data-menu-open=true]{overflow:hidden}.site-header[data-menu=open] nav a{min-height:44px}.site-header[data-menu=open] .menu-toggle{font-size:12px}
.about-portrait img{height:auto;aspect-ratio:1;object-fit:cover}
body[data-paper=true] .site-header{background:var(--paper)}
.site-header[data-menu=open]{background:transparent!important}

@media(max-width:760px){.opening-copy>.hero-eyebrow{top:15%}.page-inner p{font-size:38px!important;line-height:1.5}.page-inner h3{font-size:48px}.page-inner.biography-page p{font-size:36px!important}}

/* All visible book geometry now comes from the retained Blender model. */
.source-book-hit,.source-page-link{position:fixed;z-index:8;display:block;margin:0;padding:0;background:none;border:0;box-shadow:none;pointer-events:auto;cursor:pointer;color:transparent;text-shadow:none;font-size:0;transform:none}
.source-book-hit[hidden],.source-page-link[hidden]{display:none!important}
.source-book-hit:focus-visible,.source-page-link:focus-visible{outline:1px solid #d9c8a6;outline-offset:5px}
.source-book-copy a{display:none}.opening-copy>.hero-eyebrow{display:none}
@media(max-width:760px){.opening-copy>.hero-note{top:46%;bottom:auto}.open-action{bottom:12%}.scroll-invitation{bottom:6%}}


/* /release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/canopy-layout.css */
/* Selected folding-paper direction, with botanical accents at the margins. */
:root{--paper:#d8cfbb}
.plate-caption{display:none}
.stage-window{clip-path:none!important}
body[data-canopy=true] .stage-footer{color:#655f52}
body[data-paper=false] .site-header{background:transparent}
body[data-header-paper=true] .site-header{color:#292f38}
.home-intro{text-align:center}
.home-intro>.chapter-caption{top:62%;left:7%;width:86%;font-size:9px!important}
.home-intro h2{top:68%;left:5%;width:90%;font-size:clamp(32px,3.75vw,58px);line-height:1.24;white-space:nowrap}
.home-intro h2 br{display:none}
.home-intro>p:not(.chapter-caption){top:78%;left:50%;width:min(620px,72%);transform:translateX(-50%);font-size:15px;line-height:1.8;color:#4d4d44}
.arrival-read{left:50%;top:88%;transform:translateX(-50%);font-size:13px;padding:5px 0;gap:28px}
.travel-cue{right:4%;bottom:7%;font-size:10px}
.travel-cue svg{width:25px}
.index-heading{top:55svh;left:7%;max-width:44%}
.bridge-arrival h2{font-size:clamp(50px,5.5vw,84px);margin-top:21px;line-height:1.05}
.bridge-arrival h2 br{display:none}
.latest-entry{top:56svh;left:59%;width:34%;padding-top:14px}
.latest-entry h3{font-size:clamp(28px,3vw,44px);margin-top:13px}
.latest-entry .all-posts{margin-top:12px}
.contents-list{margin-top:max(88svh,calc(56svh + 250px))}
.closing-line{margin-bottom:76px}
@media(max-width:760px){
 .home-intro>.chapter-caption{top:60%;font-size:8px!important}
 .home-intro h2{top:64.5%;font-size:31px;line-height:1.4;white-space:normal}
 .home-intro h2 br{display:block}
 .home-intro>p:not(.chapter-caption){top:79%;width:80%;font-size:12px;line-height:1.8}
 .arrival-read{top:90%;font-size:12px;gap:22px}
 .travel-cue{right:6%;bottom:3%;font-size:9px}
 .travel-cue svg{width:17px;margin-left:7px}
 body[data-canopy=true] .stage-footer #stage-caption{visibility:hidden}
 body[data-canopy=true] .stage-footer{bottom:4px;left:5%;right:auto;gap:10px}
 .index-heading{top:55svh;left:7%;max-width:86%}
 .bridge-arrival h2{font-size:48px;margin-top:13px}
 .latest-entry{position:relative;left:auto;top:auto;width:100%;margin-top:74svh;padding-top:17px}
 .latest-entry h3{font-size:34px}
 .contents-list{margin-top:30px}
 .closing-line{margin-bottom:70px}
}
@media(max-height:610px) and (min-width:761px){
 .home-intro h2{font-size:32px;top:66.5%}
 .home-intro>p:not(.chapter-caption){font-size:12px;top:77%}
 .arrival-read{top:88%;font-size:11px}
 .travel-cue{bottom:3.5%}
 .bridge-arrival h2{font-size:50px}
 .contents-list{margin-top:calc(56svh + 245px)}
}

/* The second act is an arch of shadow: a live city window in a dark reading room. */
.bridge-passage{position:fixed;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.bridge-passage[hidden]{display:none}
.bridge-arrival{color:#e1cfaf}
.bridge-arrival .chapter-caption{color:#c5b69c!important}
.bridge-arrival .index-heading{top:24svh;left:7%;max-width:43%}
.bridge-arrival h2{font-size:clamp(74px,8.8vw,136px);line-height:.9;margin-top:24px}
.bridge-arrival .latest-entry{top:61svh;left:7%;width:36%;border-color:#cbbb984d}
.bridge-arrival .latest-entry a>span:not(.entry-action),.bridge-arrival .all-posts{color:#c4b59d}
.bridge-arrival .all-posts{border-color:#cbbb984d}
.bridge-arrival .contents-list{margin-top:max(89svh,calc(61svh + 235px));border-color:#cbbb984d}
.bridge-arrival .contents-list>a{border-color:#cbbb984d}
.bridge-arrival .entry-number,.bridge-arrival .entry-note,.bridge-arrival .closing-line,.bridge-arrival .replay{color:#b8aa91}
body[data-bridge-passage=true] .site-header{color:#e1cfaf;background:transparent}
body[data-bridge-scrolled=true] .site-header{background:transparent}
@media(max-width:760px){
 .bridge-arrival .index-heading{top:54svh;max-width:86%}
 .bridge-arrival h2{font-size:62px;margin-top:16px}
 .bridge-arrival .latest-entry{position:relative;left:auto;top:auto;width:100%;margin-top:72svh;padding-top:20px}
 .bridge-arrival .contents-list{margin-top:34px}
}
@media(max-height:610px) and (min-width:761px){
 .bridge-arrival h2{font-size:77px}
 .bridge-arrival .latest-entry{top:57svh}
 .bridge-arrival .contents-list{margin-top:calc(57svh + 240px)}
}


/* /release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/journal-layout.css */
/* The bridge leads into an editorial room; no second sheet crosses the scene. */
.bridge-arrival .index-heading,.journal-distant-title{
 position:absolute;top:20svh;left:7%;width:46%;max-width:none;
 color:#e1cfaf;transform-origin:0 0;will-change:transform,opacity;pointer-events:none;
}
.journal-distant-title{opacity:0}
.journal-distant-title .chapter-caption{color:#c5b69c!important}
.bridge-arrival h2,.journal-distant-title h2{
 margin:22px 0 0;font:400 clamp(100px,12.2vw,184px)/.87 var(--display);
 letter-spacing:-.045em;white-space:nowrap;
}
.journal-prefix{display:block;margin:0 0 11px 4px;font-size:.34em;letter-spacing:-.025em}
.bridge-arrival .latest-entry{top:64svh;width:36%;padding-top:18px;border-top:1px solid #cbbb9859}
.bridge-arrival .latest-entry h3{font-size:clamp(30px,3.6vw,52px);margin:14px 0 10px}
.bridge-arrival .latest-entry .entry-action{margin-top:20px;font-size:12px;gap:28px}
.bridge-arrival .latest-entry .all-posts{margin-top:22px}
.journal-contents{position:relative;margin:max(109svh,calc(64svh + 280px)) 7% 0;padding:0 0 32px}
.contents-heading{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 25px}
.contents-heading>span{font:13px/1.8 var(--serif);color:#b9ac94}
.bridge-arrival .contents-list{display:block;margin:0;border-top:1px solid #cbbb9859}
.bridge-arrival .contents-list>a,.bridge-arrival .contents-list>a+a{
 display:grid;grid-template-columns:10% 1fr 32%;grid-template-rows:1fr;
 gap:0;align-items:center;min-height:122px;padding:24px 62px 24px 0;
 border-left:0;border-bottom:1px solid #cbbb9840;
}
.bridge-arrival .entry-number{grid-row:auto;font:32px/1 var(--display);color:#ad9e83}
.bridge-arrival .entry-title{font:38px/1.45 var(--serif);letter-spacing:.03em;transition:transform .45s}
.bridge-arrival .entry-note{margin:0;font:13px/1.9 var(--serif);color:#b9ac94}
.bridge-arrival .contents-list svg{right:2px;top:calc(50% - 9px);width:45px;height:18px;transition:transform .45s}
.bridge-arrival .contents-list a:hover .entry-title,.bridge-arrival .contents-list a:focus-visible .entry-title{transform:translateX(9px)}
.bridge-arrival .contents-list a:hover svg{transform:translateX(5px)}
.bridge-arrival .closing-line{margin-top:27px;margin-bottom:85px}
.journal-contents:before{
 content:'';position:absolute;top:-115px;right:4%;width:230px;height:260px;z-index:-1;
 background:#c1b090;opacity:.095;transform:rotate(-21deg);
 -webkit-mask:url("/release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/assets/ornaments/fern-paper-sprig.png") center/contain no-repeat;
 mask:url("/release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/assets/ornaments/fern-paper-sprig.png") center/contain no-repeat;pointer-events:none;
}
.site-header #main-menu{
 display:flex;visibility:hidden;opacity:0;pointer-events:none;
 padding:15svh 12% 12svh;gap:8px;overflow-y:auto;background:#1c2631;
 transition:opacity .55s ease,visibility 0s .55s;
}
.site-header[data-menu=open] #main-menu{visibility:visible;opacity:1;pointer-events:auto;transition:opacity .55s ease,visibility 0s}
#main-menu:before,#main-menu:after{
 content:'';position:absolute;top:18%;left:-8%;width:38%;height:75%;
 background:#b9aa8a;opacity:.20;transform:translateY(30px) rotate(-19deg);
 -webkit-mask:url("/release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/assets/ornaments/fern-paper-sprig.png") center/contain no-repeat;
 mask:url("/release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/assets/ornaments/fern-paper-sprig.png") center/contain no-repeat;
 pointer-events:none;transition:transform 1.1s cubic-bezier(.2,.65,.25,1);
}
#main-menu:after{left:auto;right:-11%;top:10%;transform:translateY(-30px) rotate(151deg);opacity:.13}
.site-header[data-menu=open] #main-menu:before{transform:translateY(0) rotate(-19deg)}
.site-header[data-menu=open] #main-menu:after{transform:translateY(0) rotate(151deg)}
.site-header #main-menu a{
 position:relative;min-width:310px;padding:8px 42px;font:42px/1.45 var(--serif);
 opacity:0;transform:translateY(25px);transition:opacity .3s,transform .3s;
}
.site-header[data-menu=open] #main-menu a{opacity:1;transform:translateY(0);transition:opacity .7s .12s,transform .7s .12s}
.site-header[data-menu=open] #main-menu a:nth-of-type(2){transition-delay:.18s}
.site-header[data-menu=open] #main-menu a:nth-of-type(3){transition-delay:.24s}
.site-header[data-menu=open] #main-menu a:nth-of-type(4){transition-delay:.30s}
.menu-number{position:absolute;left:0;top:15px;font:19px/1.6 var(--display);color:#a7977c}
#main-menu .menu-caption{margin:0 0 35px;font:9px/1.7 var(--sans);letter-spacing:.14em;color:#bcad92}
.menu-caption>span{display:block;margin-top:8px;letter-spacing:.16em;text-align:center}
#main-menu .menu-colophon{margin:35px 0 0;font:29px/1 var(--display);text-align:center}
.menu-colophon>span{display:block;margin-top:18px;font:10px/1.8 var(--serif);color:#b8a98e}
@media(max-width:760px){
 .bridge-arrival .index-heading,.journal-distant-title{top:54svh;left:7%;width:86%;max-width:none}
 .bridge-arrival h2,.journal-distant-title h2{font-size:clamp(70px,22.5vw,128px);margin-top:16px}
 .journal-prefix{font-size:.34em;margin-bottom:8px;margin-left:2px}
 .bridge-arrival .latest-entry{position:relative;left:auto;top:auto;width:100%;margin-top:max(79svh,calc(54svh + 182px));padding-top:20px}
 .bridge-arrival .latest-entry h3{font-size:37px}
 .journal-contents{margin:105px 0 0;padding-bottom:15px}
 .contents-heading{display:block;margin-bottom:22px}
 .contents-heading>span{display:block;font-size:12px;margin-top:12px}
 .bridge-arrival .contents-list>a,.bridge-arrival .contents-list>a+a{grid-template-columns:45px 1fr;grid-template-rows:auto auto;min-height:116px;padding:24px 35px 24px 0}
 .bridge-arrival .entry-number{grid-row:1/3;font-size:26px;align-self:start;margin-top:7px}
 .bridge-arrival .entry-title{font-size:29px}
 .bridge-arrival .entry-note{font-size:12px;margin-top:9px}
 .bridge-arrival .contents-list svg{width:28px;top:34px}
 .journal-contents:before{top:-80px;right:-22px;width:180px;height:190px;opacity:.09}
 .bridge-arrival .closing-line{margin:26px 0 65px;gap:20px}
 .site-header #main-menu{padding:16svh 7% 10svh;gap:9px}
 .site-header #main-menu a{min-width:235px;font-size:33px;padding:9px 32px}
 .menu-number{font-size:16px;top:16px}
 #main-menu .menu-caption{margin-bottom:25px}
 #main-menu .menu-colophon{margin-top:28px}
 #main-menu:before{left:-33%;top:26%;width:77%;opacity:.14}
 #main-menu:after{right:-42%;top:11%;width:77%;opacity:.10}
}
@media(max-height:610px) and (min-width:761px){
 .bridge-arrival .index-heading,.journal-distant-title{top:16svh}
 .bridge-arrival h2,.journal-distant-title h2{font-size:108px;margin-top:15px}
 .bridge-arrival .latest-entry{top:64svh}
 .site-header #main-menu{padding:70px 12% 35px;gap:0}
 .site-header #main-menu a{font-size:32px;padding-top:3px;padding-bottom:3px}
 #main-menu .menu-caption{margin-bottom:18px}
 #main-menu .menu-colophon{margin-top:20px}
}
body[data-reduced=true] #main-menu,body[data-reduced=true] #main-menu *,body[data-reduced=true] #main-menu:before,body[data-reduced=true] #main-menu:after{transition:none!important}
@media(prefers-reduced-motion:reduce){.contents-list a span,.contents-list a svg{transition:none!important}}


/* /release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/folio-interaction.css */
/* A small family of thin circular controls, borrowed as a behavior, not artwork. */
:root{--control-ink:#ddcbaa;--control-paper:#202a35}
.folio-dialog{--control-ink:#303735;--control-paper:#d2c5aa}
.arrival-read{--control-ink:#394039;--control-paper:#e0d7bc}
.entry-action svg,.arrival-read svg,.folio-text-link svg,.editorial-row>svg,.bridge-arrival .contents-list svg{
 box-sizing:border-box;flex:none;width:44px;height:44px;padding:10px;border:1px solid currentColor;border-radius:50%;
 transition:background .3s,color .3s,transform .45s;overflow:visible;
}
.bridge-arrival .contents-list svg{top:calc(50% - 22px);right:0}
.bridge-arrival .contents-list a:hover svg{transform:rotate(-35deg)}
a:hover>.entry-action svg,a:focus-visible>.entry-action svg,a:hover>svg,a:focus-visible>svg{
 background:var(--control-ink);color:var(--control-paper);
}
.arrival-read{border-bottom:0;min-height:44px;padding:0}
.menu-toggle{padding-right:37px;min-height:44px}
.menu-toggle:before,.menu-toggle:after{content:'';position:absolute;right:1px;top:18px;width:22px;height:1px;background:currentColor;transition:transform .35s}
.menu-toggle:after{top:25px}
.site-header[data-menu=open] .menu-toggle:before{transform:translateY(3.5px) rotate(45deg)}
.site-header[data-menu=open] .menu-toggle:after{transform:translateY(-3.5px) rotate(-45deg)}
#main-menu:before,#main-menu:after{display:none}
.menu-botanical{position:absolute;top:18%;left:-8%;width:38%;height:75%;opacity:.23;transform:rotate(-19deg);pointer-events:none;-webkit-mask:url("/release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/assets/ornaments/fern-paper-sprig.png") center/contain no-repeat;mask:url("/release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/assets/ornaments/fern-paper-sprig.png") center/contain no-repeat}
.menu-botanical.right{left:auto;right:-11%;top:10%;transform:rotate(151deg);opacity:.16}
.menu-botanical>span{position:absolute;top:0;bottom:0;left:calc(var(--strip)*100%/24);width:calc(100%/24 + .6px);background:#c6b696;overflow:hidden;clip-path:inset(100% 0 0 0);transform:translateY(12px);transition:clip-path .30s var(--fold-delay),transform .30s var(--fold-delay)}
.site-header[data-menu=open] .menu-botanical>span{clip-path:inset(0);transform:translateY(0);transition:clip-path .95s cubic-bezier(.2,.65,.2,1) var(--growth-delay),transform .95s cubic-bezier(.2,.65,.2,1) var(--growth-delay)}
.folio-dialog::backdrop{background:#20273166}
.folio-header button{display:flex;align-items:center;gap:12px;min-height:44px}
.folio-back:before,.folio-close:after{content:'←';display:grid;place-items:center;width:36px;height:36px;border:1px solid #68685999;border-radius:50%;font:19px Georgia,serif;transition:background .3s,color .3s}
.folio-close:after{content:'×';font-size:24px}
.folio-header button:hover:before,.folio-header button:hover:after,.folio-header button:focus-visible:before,.folio-header button:focus-visible:after{background:var(--control-ink);color:var(--control-paper)}
.article-layout aside{display:block;align-self:start;top:100px}
.article-toc{width:100%;border-top:1px solid #70695755;border-bottom:1px solid #70695755}
.article-toc summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:62px;font:12px/1.7 var(--serif)}
.article-toc summary::-webkit-details-marker{display:none}
.article-toc summary:after{content:'+';display:grid;place-items:center;width:32px;height:32px;border:1px solid #70695799;border-radius:50%;font:21px Georgia,serif;transition:background .25s,color .25s}
.article-toc[open] summary:after{content:'−';background:var(--control-ink);color:var(--control-paper)}
.article-toc summary:focus-visible{outline:1px solid currentColor;outline-offset:4px}
.article-toc nav{padding:4px 0 18px}
.article-toc nav a{display:block;min-height:36px;margin:0;padding:8px 0;font:12px/1.7 var(--serif)}
.article-body section{scroll-margin-top:110px}
@media(max-width:760px){
 .menu-botanical{left:-33%;top:26%;width:77%;opacity:.18}
 .menu-botanical.right{right:-42%;top:11%;width:77%;opacity:.12}
 .folio-header button{gap:8px;font-size:11px}
 .folio-back:before,.folio-close:after{width:32px;height:32px}
 .editorial-row{grid-template-columns:1fr 44px}
 .bridge-arrival .contents-list>a{padding-right:57px}
 .article-layout aside{padding:0;border:0;width:100%}
 .article-toc nav{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
 .article-toc summary{min-height:58px}
}
body[data-reduced=true] .menu-botanical>span{clip-path:inset(0);transform:none;transition:none!important}
body[data-reduced=true] .menu-toggle:before,body[data-reduced=true] .menu-toggle:after,body[data-reduced=true] .folio-dialog *,body[data-reduced=true] .entry-action svg{transition:none!important}
@media(prefers-reduced-motion:reduce){.menu-botanical>span,.menu-toggle:before,.menu-toggle:after,.folio-dialog *{transition:none!important}}


/* /release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/article-tower.css */
/* One room of movable architectural parts, shared by reading and the cutaway. */
.tower-architecture{display:block;width:100%;height:100%;stroke:#b7a68a;stroke-width:1.1;stroke-linejoin:round;overflow:hidden;transform-origin:68% 50%}
.tower-architecture [data-part]{filter:drop-shadow(0 3px 2px #080e1780)}
.tower-fixed-edge{opacity:.66}
#folio.tower-mode{max-width:none;width:100%;height:100%;max-height:100%;margin:0;padding:0;border:0;overflow:hidden;background:#1c2631;color:#e3d2b3}
.tower-mode #folio-content{height:100%;min-height:0;padding:0}
.tower-mode .folio-header{position:absolute;inset:0 0 auto;z-index:20;color:#dfceb1;padding:28px 4.5%;background:linear-gradient(#1c2631ed,#1c263100);border:0;pointer-events:none}
.tower-mode .folio-header button{pointer-events:auto;color:inherit;min-height:44px;border-color:#c4ae8b66}
.tower-mode .folio-header>span{font-size:9px;letter-spacing:.18em}
.tower-mode .folio-footer{display:none}
.article-tower{position:relative;isolation:isolate;height:100%;width:100%;overflow:hidden;background:#1c2631;color:#e3d2b3}
.article-tower button{color:inherit;background:transparent;border:0;cursor:pointer;font:inherit}
.article-tower button:focus-visible,.article-tower a:focus-visible{outline:1px solid #efddba;outline-offset:6px}
.tower-space,.tower-other-floors,.tower-active-floor,.tower-ghost-floor{position:absolute;inset:0;pointer-events:none;transform-origin:0 0}
.tower-space{z-index:0}
.tower-active-floor,.tower-ghost-floor{will-change:transform}
.tower-ghost-floor{outline:2px solid #938575}
.tower-roof{position:absolute;pointer-events:none}
.tower-crown{display:block;width:100%;height:100%;overflow:visible}
.tower-foundation{position:absolute;height:9px;border-top:2px solid #baa88d;border-bottom:1px solid #766d61;background:#353f4b;box-shadow:0 15px 35px #060d1870}
.tower-reading-scroll{position:absolute;inset:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#766f62 transparent;scroll-padding-top:115px;z-index:2;outline:none}
.tower-reading-copy{position:relative;margin-left:9.5%;width:48%;max-width:720px;padding:46svh 0 14svh;transition:opacity .32s,transform .65s}
.tower-reading-copy.changing{opacity:0;transform:translateY(12px)}
.tower-caption{font:10px/1.8 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:#c6b79f;margin:0 0 18px}
.tower-reading-copy h1{font:400 clamp(47px,6.2vw,96px)/1.04 var(--display);letter-spacing:-.04em;margin:0 0 22px}
.tower-article-lede{font:17px/1.9 var(--serif);margin:0 0 32px;color:#d0c1a8}
.tower-toc{border-block:1px solid #beab8a42;margin:28px 0 46px;font:12px/1.8 var(--serif)}
.tower-toc summary{padding:16px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}
.tower-toc summary:after{content:'+';font:23px/1 var(--display);border:1px solid #beab8a66;width:25px;height:25px;display:grid;place-items:center;border-radius:50%}
.tower-toc[open] summary:after{content:'−'}
.tower-toc nav{display:grid;gap:14px;padding:5px 0 22px}
.tower-toc a{color:#ddcbae;text-decoration:none;width:fit-content}
.tower-toc a:hover{text-decoration:underline;text-underline-offset:5px}
.tower-article-body{font:17px/2.08 var(--serif);color:#d8cbb4;text-wrap:pretty}
.tower-article-body section{scroll-margin-top:115px;margin:0 0 42px}
.tower-article-body h2{font:400 25px/1.6 var(--serif);letter-spacing:.035em;margin:0 0 18px;color:#ecdbbb}
.tower-article-body p{margin:0 0 20px}
.tower-article-end{display:grid;gap:30px;border-top:1px solid #bbaa8848;padding-top:34px;margin-top:65px;font:13px/1.8 var(--serif);color:#bfb19a}
.tower-article-end button{display:flex;align-items:center;justify-content:space-between;min-height:44px;font-size:19px;text-align:left}
.tower-article-end a{color:inherit;text-underline-offset:5px;width:fit-content;font-size:11px}
.tower-floor-nav{position:absolute;z-index:5;right:2%;top:39%;display:grid;justify-items:center;gap:22px;text-align:center}
.tower-floor-nav button{display:grid;justify-items:center;gap:10px;min-width:60px;min-height:62px;font-size:25px}
.tower-floor-nav button>span{display:grid;place-items:center;width:44px;height:44px;border:1px solid #d8c4a575;border-radius:50%;transition:background .3s,transform .4s}
.tower-floor-nav button:hover:not(:disabled)>span{background:#c0ae8a26;transform:translateY(-3px)}
.tower-floor-nav button:last-child:hover:not(:disabled)>span{transform:translateY(3px)}
.tower-floor-nav small{font:9px/1.5 var(--serif);letter-spacing:.1em}
.tower-floor-nav button:disabled{opacity:.25;cursor:default}
.tower-floor-position{font:12px/1 var(--display);letter-spacing:.12em}
.tower-overview-copy{position:absolute;left:8%;top:25%;width:40%;z-index:3}
.tower-overview-copy h1{font:400 clamp(60px,9vw,144px)/.94 var(--display);letter-spacing:-.045em;margin:20px 0 32px}
.tower-overview-note{font:15px/1.95 var(--serif);color:#c9baa0;margin:0 0 54px}
.tower-floor-list{border-top:1px solid #bba58866;max-height:32svh;overflow:auto;scrollbar-width:thin}
.tower-floor-row{display:grid;grid-template-columns:38px 1fr auto;gap:13px;align-items:center;text-align:left;width:100%;padding:16px 0;min-height:58px;border-bottom:1px solid #bba58833!important;transition:color .3s}
.tower-floor-row>span:first-child{font:21px/1 var(--display);color:#b8a78a}
.tower-floor-row>span:nth-child(2){font:23px/1.5 var(--serif)}
.tower-floor-row time{font:9px/1.5 var(--sans);color:#af9f86}
.tower-floor-row:hover,.tower-floor-row[aria-current=true]{color:#fff0cd}
.tower-floor-locators>button{position:absolute;z-index:4;height:44px;min-width:56px;display:flex;align-items:center;gap:8px;font:15px/1 var(--display)}
.tower-floor-locators i{width:16px;height:1px;background:currentColor;opacity:.5}
.tower-floor-locators [aria-current=true]{color:#ffde9c}
.tower-floor-locators>button.is-targeted{color:#f0dcb8}
.tower-body-hotspots{position:absolute;inset:0;z-index:4;pointer-events:none}
.article-tower .tower-body-hotspot{position:absolute;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:0;pointer-events:auto;touch-action:manipulation;background:transparent;box-shadow:none}
.article-tower .tower-body-hotspot:focus-visible{outline:none}
.article-tower:not([data-view=overview]) .tower-body-hotspots,.article-tower[data-moving=true] .tower-body-hotspots{visibility:hidden}
.tower-time-axis{position:absolute;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px;transform:translateX(46px);font:9px/1.3 var(--serif);color:#a79a86;white-space:nowrap}
.tower-time-axis i{display:block;flex:1;width:1px;background:#a79a8640}
.tower-rehearsal-note{display:none;position:absolute;z-index:5;left:4.5%;bottom:15px;margin:0;font:10px/1.8 var(--serif);color:#a79985;background:#1c2631b8}
.article-tower[data-rehearsal=true] .tower-rehearsal-note{display:block}
.article-tower [inert]{pointer-events:none}
.article-tower[data-view=room] .tower-floor-locators,.article-tower[data-view=room] .tower-time-axis{visibility:hidden}
.article-tower[data-view=overview] .tower-floor-nav{pointer-events:none}
.journal-room{position:absolute;inset:0 0 auto;height:100svh;z-index:-1;pointer-events:none}
.bridge-arrival{isolation:isolate}
.bridge-arrival .index-heading,.journal-distant-title{top:47svh;left:9.5%;width:52%}
.bridge-arrival h2,.journal-distant-title h2{font-size:clamp(85px,10.8vw,174px);margin-top:17px;line-height:.9}
.journal-prefix{display:inline;font-size:1em;margin:0}
.bridge-arrival .latest-entry{top:70svh;left:9.5%;width:36%}
.bridge-arrival .latest-entry h3{font-size:clamp(28px,3.8vw,56px);margin:15px 0 10px}
.bridge-arrival .latest-entry .entry-action{margin-top:17px}
.bridge-arrival .latest-entry .all-posts{margin-top:14px}
.journal-contents{margin-top:max(114svh,calc(70svh + 300px))}
@media(min-width:761px) and (max-height:700px){.tower-reading-copy{padding-top:45svh}.tower-overview-copy{top:23%}.tower-overview-note{margin-bottom:27px}.tower-floor-row{padding:10px 0}}
@media(max-width:760px){
 .tower-mode .folio-header{padding:14px 6%;background:linear-gradient(#1c2631,#1c263100)}
 .tower-mode .folio-header>span{display:none}
 .tower-mode .folio-header button{font-size:11px}
 .tower-architecture{min-width:0}
 .tower-active-floor>.tower-architecture,.tower-ghost-floor>.tower-architecture{height:62.55vw}
 .tower-reading-copy{margin-left:7%;width:79%;max-width:none;padding-top:37svh;padding-bottom:18svh}
 .tower-reading-copy h1{font-size:49px}
 .tower-caption{font-size:9px;letter-spacing:.10em}
 .tower-article-lede{font-size:15px}
 .tower-article-body{font-size:16px;line-height:2}
 .tower-article-body h2{font-size:23px}
 .tower-floor-nav{right:1%;top:auto;bottom:36px;gap:10px}
 .tower-floor-nav button{min-width:40px;min-height:45px}
 .tower-floor-nav button>span{width:34px;height:34px;font-size:21px;background:#1c2631d0}
 .tower-floor-nav small{display:none}
 .tower-floor-position{font-size:10px}
 .tower-overview-copy{left:7%;top:60%;width:86%}
 .tower-overview-copy h1{font-size:56px;margin:12px 0 18px}
 .tower-overview-copy .tower-caption{margin:0}
 .tower-overview-note{font-size:12px;line-height:1.8;margin:0 0 20px}
 .tower-overview-note br{display:none}
 .tower-floor-list{max-height:16svh}
 .tower-floor-row{padding:10px 0;min-height:47px;grid-template-columns:28px 1fr auto}
 .tower-floor-row>span:nth-child(2){font-size:19px}
 .tower-floor-row time{font-size:8px}
 .tower-time-axis{transform:translateX(32px);font-size:8px}
 .tower-floor-locators>button{min-width:43px;font-size:12px}
 .tower-floor-locators i{width:9px}
 .tower-rehearsal-note{left:7%;font-size:8px;bottom:9px}
 .journal-room{height:55svh;left:-45%;right:-45%;width:190%;overflow:hidden}
 .journal-room:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#1c2631)}
 .bridge-arrival .index-heading,.journal-distant-title{top:47svh;left:7%;width:86%}
 .bridge-arrival h2,.journal-distant-title h2{font-size:15.5vw}
 .bridge-arrival .latest-entry{position:relative;left:0;top:auto;width:100%;margin-top:max(70svh,calc(47svh + 185px))}
 .bridge-arrival .latest-entry h3{font-size:36px}
 .journal-contents{margin-top:85px}
}
@media(prefers-reduced-motion:reduce){.article-tower *{transition:none!important;scroll-behavior:auto!important}}

.tower-reading-scrim{position:absolute;z-index:1;inset:0 27% 0 0;pointer-events:none;background:linear-gradient(90deg,rgb(var(--room-surface,28 38 49)) 62%,rgb(var(--room-surface,28 38 49) / .87) 76%,rgb(var(--room-surface,28 38 49) / 0));opacity:calc(var(--reading-shade,0) * var(--room-opacity,1))}
.tower-mode .folio-header{margin:0;--control-paper:#1c2631;--control-ink:#e0cba8}
@media(max-width:760px){.tower-reading-scrim{right:0}}

.tower-room-inscription{position:absolute;left:9.5%;top:46%;width:48%;display:grid;gap:16px;color:#d4c3a8;font:17px/1.8 var(--serif);pointer-events:none}
.tower-room-inscription small{font:10px var(--sans);letter-spacing:.16em}
.tower-room-inscription strong{font:400 5.7vw/1.1 var(--display);letter-spacing:-.04em}
.tower-room-inscription span{font-size:17px}
.tower-room-inscription i{display:block;height:1px;background:#b5a48555;width:90%}
.tower-room-inscription i:last-child{width:60%}
@media(max-width:760px){.tower-room-inscription{top:29vw;gap:4px;font-size:6px}.tower-room-inscription small{font-size:4px}.tower-room-inscription strong{font-size:22px}.tower-room-inscription span{font-size:5px}}

.article-tower .tower-motion-control{position:absolute;z-index:6;bottom:9px;right:4.5%;min-height:32px;padding:0;font:10px/1.8 var(--serif);color:#b8aa93}
.tower-rehearsal-note{max-width:67%}
@media(max-width:760px){.article-tower .tower-motion-control{right:6%;font-size:9px}}

/* Paper restoration: retain the original components, scale and open space. */
.article-tower.mage-tower{overflow:clip}
.mage-exterior{position:absolute;z-index:1;pointer-events:none;transform-origin:0 0;transform-style:preserve-3d;will-change:transform}
.mage-shell-panel{position:absolute;inset:0;transform-origin:0 0;will-change:transform,opacity}
.mage-shell-panel[data-shell=city]{mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mage-exterior-architecture{display:block;width:100%;height:100%;overflow:visible;fill:none;stroke:none}
.mage-exterior-shade{display:none}
.paper-exterior [data-exterior-floor].selected{color:#e2cba1;filter:drop-shadow(0 0 3px #c9b58a66)}
.paper-exterior [data-exterior-floor].selected>path:first-child{stroke:#ecdbb8;opacity:1}
.paper-exterior [data-exterior-floor]>path:first-child,.paper-exterior [data-exterior-floor]>path:nth-child(3){transition:fill .16s,stroke .16s}
.paper-exterior [data-exterior-floor].is-targeted>path:first-child{stroke:#f0dcb8;opacity:1}
.paper-exterior [data-exterior-floor].is-targeted>path:nth-child(3){fill:#41443f;stroke:#ddc9a5}
.mage-room-portal,.mage-room-stack{position:absolute;inset:0;pointer-events:none;transform-origin:0 0;overflow:clip}
.mage-room-portal{z-index:0}
.mage-section-camera{position:absolute;inset:0;perspective-origin:50% 50%;overflow:visible;transform-style:preserve-3d}
.mage-section-world{position:absolute;left:50%;top:50%;width:0;height:0;transform-origin:0 0;transform-style:preserve-3d;will-change:transform}
.mage-section-world>.mage-room-stack{inset:auto;left:0;top:0;width:0;height:0;overflow:visible;transform-style:preserve-3d}
.mage-cutaway-solids{position:absolute;left:0;top:0;transform-style:preserve-3d;pointer-events:none}
.mage-cutaway-solids[hidden]{display:none}
.mage-solid{position:absolute;left:0;top:0;transform-origin:0 0;backface-visibility:visible}
.mage-solid>svg{display:block;width:100%;height:100%;overflow:visible}
.mage-solid-deck{background:repeating-linear-gradient(90deg,transparent 0 9%,#b1a48b26 9% 9.2%),linear-gradient(#354551,#56616a);border:1px solid #a89b84;box-sizing:border-box}
.mage-solid-deck:after{content:"";position:absolute;inset:0;background:var(--section-paper);background-size:180px;opacity:.10}
.mage-solid-deck.selected{border-bottom-color:#e0ceb0}
.mage-solid-soffit{background:#182631;border-block:2px solid #666c6b;box-sizing:border-box}
.mage-solid-left{color:#4c5860}
.mage-solid-right{color:#34434e}
.mage-solid-spine{background:repeating-linear-gradient(0deg,transparent 0 39px,#b0a28a88 40px 42px),linear-gradient(90deg,#797d75,#35444f 24% 68%,#9d9482);border-inline:1px solid #a89b84}
.mage-solid-beam{background:#293943;border-bottom:1px solid #8a8679;box-sizing:border-box}
.mage-floor{position:absolute;left:0;top:0;width:100%;transform-origin:0 0;overflow:clip;isolation:isolate}
.mage-floor[hidden]{display:none}
.mage-active-floor{z-index:2}
.mage-cutaway-floor{box-shadow:none}
.mage-cutaway-floor .tower-architecture [data-part]{will-change:auto;filter:none}
/* The camera owns movement. Keep the room's paint layers stable across the
   approach boundary; changing filters there made SVG parts flash/re-raster. */
.mage-active-floor .tower-architecture [data-part]{will-change:auto}
.mage-room,.mage-room-frame,.mage-room-structure{position:absolute;inset:0;width:100%;height:100%;overflow:clip}
.mage-room{transform-origin:0 0}
.mage-room-frame{transform-origin:50% 50%}
.mage-room-structure>.tower-architecture{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:hidden;fill:none}
.mage-room-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(transparent 77%,#1c263138);opacity:1}
.mage-tower .tower-overview-copy{transform:translateZ(0);will-change:opacity}
.mage-tower .tower-overview-copy[hidden]{display:none}
.mage-tower .tower-floor-row small{display:block;font:9px/1.8 var(--serif);letter-spacing:.16em;opacity:.62;margin-top:3px}
.mage-tower .tower-reading-scroll{transition:opacity .28s}
.mage-tower[data-moving=true] .tower-reading-scroll{transition:none}
.mage-tower .tower-reading-copy{transition:none}
.mage-tower .tower-reading-copy h1.chinese-title{font-size:clamp(34px,4.4vw,66px);line-height:1.35}
.tower-room-entry{position:absolute;inset:0 0 var(--tower-dock-height);z-index:3;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-gutter:stable;scrollbar-color:#766f62 transparent;opacity:0;pointer-events:none;outline:none}
.mage-tower[data-looking=true] .tower-room-entry{pointer-events:auto}
.tower-room-entry.is-relettering{overflow:hidden}
.is-relettering .tower-room-entry-copy>h2,.is-relettering .tower-room-entry-copy>.tower-caption,.is-relettering .tower-room-entry-copy>.tower-room-entry-lede{color:transparent}
.is-relettering .tower-room-entry-copy>.tower-room-entry-actions{visibility:hidden}
.tower-entry-ink{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.tower-ink-line,.tower-ink-actions{position:absolute;left:0;top:0;display:block;pointer-events:none;will-change:transform,opacity}
.tower-ink-line{overflow:hidden}
.tower-ink-actions *{pointer-events:none;transition:none!important}
.tower-ink-glyph{position:absolute;left:0;display:block;padding:0;margin:0;border:0}
.tower-room-entry-copy{margin-left:9.5%;width:41%;max-width:620px;padding:52svh 0 42px}
.tower-room-entry-copy .tower-caption{padding-top:17px;border-top:1px solid #cbbb9859;margin-bottom:15px}
.tower-room-entry h2{font:400 clamp(34px,3.8vw,60px)/1.35 var(--serif);letter-spacing:.01em;margin:0 0 14px;text-wrap:balance}
.tower-room-entry-lede{font:16px/1.9 var(--serif);color:#d0c1a8;margin:0 0 21px;text-wrap:pretty}
.tower-room-entry-actions{display:flex;align-items:center;justify-content:space-between;gap:22px}
.tower-room-entry-actions button{min-height:44px;padding:0;border-bottom:1px solid #b7a68a66;font:13px/1.7 var(--serif);text-align:left}
.tower-room-entry-actions [data-tower-action=read]{display:flex;align-items:center;gap:40px}
.tower-room-entry-actions [data-tower-action=read] span{font-size:20px;transition:transform .3s}
.tower-room-entry-actions [data-tower-action=read]:hover span{transform:translate(3px,-3px)}
.tower-room-entry-actions [data-tower-action=overview]{font-size:11px;color:#c5b69c;border-color:transparent}
.mage-tower[data-reduced=true] .tower-room-entry-actions span{transition:none}
@media(min-width:761px) and (max-height:760px){
 .tower-room-entry-copy{padding-top:48svh}
 .tower-room-entry-copy .tower-caption{padding-top:12px;margin-bottom:10px}
 .tower-room-entry h2{font-size:clamp(32px,3.5vw,45px);margin-bottom:10px}
 .tower-room-entry-lede{font-size:15px;line-height:1.7;margin-bottom:12px}
}
.mage-tower .tower-reading-scrim{opacity:calc((.12 + var(--reading-shade,0) * .78) * var(--room-opacity,1) * var(--reader-alpha,1));transition:opacity .3s}
.mage-tower[data-moving=true] .tower-reading-scrim{transition:none}
.mage-season-caption{position:absolute;right:11%;bottom:5%;z-index:3;text-align:right;color:#c9baa0;font:10px/1.8 var(--serif);letter-spacing:.14em;pointer-events:none}
.mage-season-caption>span{display:block;font:8px/1.8 var(--sans);letter-spacing:.3em;opacity:.55}
.mage-tower .mage-look-control{position:absolute;z-index:6;left:9.5%;bottom:5%;font:11px/1.5 var(--serif);min-height:32px;border-bottom:1px solid #b7a68a66;padding:0;background:#1c2631b3}
.mage-look-control span{padding-left:9px}
.mage-tower[data-view=overview] .mage-look-control,.mage-tower[data-view=overview] .mage-season-caption{visibility:hidden}
.mage-tower[data-looking=true] .tower-reading-scroll{pointer-events:none}
.mage-tower .tower-floor-nav{right:2%;z-index:5}
.mage-tower[data-looking=false] .tower-floor-nav{visibility:hidden;pointer-events:none}
.mage-tower .tower-floor-locators>button{min-width:50px;height:34px;font-size:14px}
.mage-tower .tower-floor-locators i{width:21px}
.mage-tower .tower-rehearsal-note{background:transparent}
.journal-room{inset:0;height:100svh;width:100%;overflow:clip}
.journal-room:after{display:none}
.mage-section-frame{position:absolute;pointer-events:none;transform-origin:0 0}
.mage-section-frame>svg{display:block;width:100%;height:100%;overflow:visible}
.mage-section-sill{position:absolute;height:5px;background:#c2b296;box-shadow:0 5px 0 #3d4750;pointer-events:none;z-index:3}
/* The reader and the bottom actions own separate rectangles. Article text is
   clipped above the dock at every scroll position, including on narrow screens. */
.mage-tower{--tower-dock-height:76px}
.mage-tower .tower-reading-scroll{bottom:var(--tower-dock-height)}
.mage-tower .tower-reading-copy{padding-bottom:64px}
.tower-bottom-bar{position:absolute;left:0;right:0;bottom:0;height:var(--tower-dock-height);box-sizing:border-box;z-index:6;display:grid;grid-template-columns:1fr auto auto;grid-template-rows:36px 17px;gap:2px 30px;padding:10px 4.5% 8px;background:linear-gradient(180deg,#1c2631ed,#1c2631);border-top:1px solid #ad9f8526;align-items:center}
.mage-tower[data-looking=true] .tower-bottom-bar{background:linear-gradient(transparent,#1c2631cc)}
.mage-tower[data-phase=section] .tower-bottom-bar,.mage-tower[data-phase=approach] .tower-bottom-bar{background:none;border-color:transparent}
.mage-tower .tower-bottom-bar .mage-look-control{position:static;justify-self:start;background:none;grid-column:1;grid-row:1;font-size:11px}
.mage-tower .tower-bottom-bar .mage-season-caption{position:static;grid-column:2;grid-row:1;font-size:10px}
.mage-tower .tower-bottom-bar .tower-motion-control{position:static;grid-column:3;grid-row:1;min-height:32px;align-self:center}
.mage-tower .tower-bottom-bar .tower-rehearsal-note{position:static;grid-column:1/4;grid-row:2;max-width:none;font-size:9px;opacity:.65;line-height:17px}
.mage-tower[data-view=overview] .tower-bottom-bar{height:42px;padding-block:4px;grid-template-rows:34px;background:none;border:0}
.mage-tower[data-view=overview] .tower-bottom-bar .tower-rehearsal-note{grid-row:1;grid-column:1/3}
.mage-tower[data-view=overview] .tower-bottom-bar .tower-motion-control{grid-column:3}
@media(max-width:760px){
 .mage-tower .tower-overview-copy{top:55%;max-height:39%;overflow:auto;scrollbar-width:thin}
 .mage-tower .tower-overview-copy h1{font-size:48px;margin:8px 0 13px}
 .mage-tower .tower-overview-copy .tower-caption{font-size:8px;margin:0}
 .mage-tower .tower-floor-list{max-height:none}
 .mage-tower .tower-floor-row{grid-template-columns:26px 1fr auto;gap:8px;min-height:67px}
 .mage-tower .tower-floor-row>span:nth-child(2){font-size:17px}
 .mage-tower .tower-floor-row small{font-size:8px}
 .mage-tower .tower-reading-copy{padding-top:max(72vw,calc(100vw * 992 / 1586 + 34px));margin-left:7%;width:80%}
 .mage-tower .tower-reading-copy h1{font-size:46px}
 .mage-tower .tower-reading-copy h1.chinese-title{font-size:32px}
 .tower-room-entry-copy{margin-left:7%;width:80%;max-width:none;padding-top:max(54svh,calc(100vw * 992 / 1586 + 15svh + 20px));padding-bottom:36px}
 .tower-room-entry h2{font-size:32px;margin-bottom:12px}
 .tower-room-entry-lede{font-size:15px;line-height:1.8;margin-bottom:16px}
 .tower-room-entry-copy .tower-caption{font-size:9px;padding-top:12px;margin-bottom:12px}
 .mage-tower .tower-floor-nav{top:52%;right:1%;gap:14px;transform:scale(.8);transform-origin:right top}
 .mage-tower .mage-look-control{left:7%;bottom:6%;font-size:10px}
 .mage-season-caption{bottom:6%;right:15%;font-size:9px}
 .mage-tower[data-looking=true] .mage-room-frame{top:0}
 .journal-room .mage-room-frame{height:calc(100vw * 992 / 1586)}
 .mage-tower .tower-reading-scrim{background:rgb(var(--room-surface,28 38 49));opacity:calc(var(--reading-shade,0) * .97 * var(--room-opacity,1) * var(--reader-alpha,1))}
 .mage-tower .tower-floor-locators{display:none}
 .mage-tower{--tower-dock-height:82px}
 .mage-tower .tower-bottom-bar{padding:10px 7% 8px;gap:4px 18px;grid-template-rows:36px 18px}
 .mage-tower .tower-bottom-bar .mage-season-caption{font-size:8px;letter-spacing:.08em}
 .mage-tower .tower-bottom-bar .mage-look-control{font-size:10px}
 .mage-tower .tower-bottom-bar .tower-rehearsal-note{font-size:8px}
 .mage-tower .tower-reading-copy{padding-bottom:46px}
}


/* /release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/article-content.css */
/* Article-only flow: preserve the tower, camera and reading transitions. */
:is(.tower-article-body,.article-body) p{white-space:pre-wrap;overflow-wrap:anywhere}
:is(.tower-article-body,.article-body) .article-figure{margin:1.8em 0 2.2em;text-align:center}
:is(.tower-article-body,.article-body) .article-figure a{display:block;width:fit-content;max-width:100%;margin-inline:auto}
:is(.tower-article-body,.article-body) .article-figure img{display:block;max-width:100%;width:auto;height:auto;max-height:none;margin-inline:auto;border-radius:3px}
:is(.tower-article-body,.article-body) .article-figure figcaption{margin-top:.65em;font-size:.8em;line-height:1.7;opacity:.7}
:is(.tower-article-body,.article-body) .article-prompt{white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;font:inherit;font-size:.88em;line-height:1.9;padding:1.2em 1.35em;border-left:2px solid currentColor;background:rgb(140 130 110 / .09);border-radius:2px;margin:1.6em 0}
:is(.tower-article-body,.article-body) .article-prompt code{font:inherit}
:is(.tower-article-body,.article-body) .article-quote{margin:1.6em 0;padding-left:1.25em;border-left:2px solid currentColor}
:is(.tower-toc,.article-toc) a{overflow-wrap:anywhere}
@media(max-width:760px){:is(.tower-article-body,.article-body) .article-prompt{padding:1em;font-size:.9em}}

/* Reserve real space for lazy poster images before their intrinsic size is decoded. */
.tower-reading-copy[data-post-id="design-to-prompt"] .article-figure a{width:100%}
.tower-reading-copy[data-post-id="design-to-prompt"] .article-figure img{width:100%;height:auto}


/* /release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/connected-scenes.css */
/* A fixed camera viewport; route scenes stay alive on a common horizontal rail. */
#folio.folio-dialog{background:transparent;overflow:hidden;max-height:100%;padding:0;border:0}
#folio.folio-dialog::backdrop{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
#folio-content{position:absolute;inset:0;height:100%;overflow:hidden;isolation:isolate}
#folio-content>.route-scene{position:absolute;inset:0;width:100%;height:100%;transform-origin:0 0;will-change:transform}
.folio-chamber{overflow:auto;overscroll-behavior:contain;background:var(--folio);color:var(--folio-ink);scrollbar-width:thin}
.folio-chamber:before{content:'';position:absolute;inset:0 auto 0 0;width:18px;min-height:100%;background:linear-gradient(90deg,#222c36,#4b5054 40%,#ab9e83 48%,#454c51 58%,#202a34);opacity:.7;pointer-events:none}
.folio-chamber .folio-main{padding-top:145px;min-height:calc(100svh - 100px);box-sizing:border-box}
#folio .folio-header{position:absolute;inset:0 0 auto;z-index:30;margin:0;padding:22px 4.5%;background:linear-gradient(#d2c5aaf7,#d2c5aa00);border:0;transition:color .6s;pointer-events:none}
#folio .folio-header button{pointer-events:auto}
#folio.tower-mode .folio-header{background:linear-gradient(#1c2631f7,#1c263100);color:#dfceb1}
#folio>.folio-footer{display:none}
#folio .folio-chamber .folio-footer{display:flex;color:#756d60;position:relative}
body[data-navigating=true] #folio .folio-header button{pointer-events:none}
body.folio-open .site-header,body.folio-open .stage-footer,body.folio-open .scroll-invitation{visibility:visible;pointer-events:none}
.route-carry{position:absolute;inset:0;z-index:15;pointer-events:none;transform-origin:0 0}
.route-carry *{pointer-events:none!important}
.article-tower{background:rgba(28,38,49,var(--tower-backdrop,1))}
.tower-reading-copy h1.chinese-title{font-family:var(--serif);font-size:clamp(37px,4.1vw,66px);line-height:1.4;letter-spacing:.025em;text-wrap:pretty}
.tower-floor-row>span:nth-child(2){min-width:0;font-size:clamp(17px,1.45vw,23px)}
.tower-floor-row time{white-space:nowrap}
.tower-room-inscription strong{font-family:var(--serif);font-size:4.3vw;line-height:1.3;letter-spacing:0}
@media(max-width:760px){
 #folio .folio-header{padding:14px 6%}
 .folio-chamber:before{width:8px}
 .folio-chamber .folio-main{padding-top:110px}
 .tower-reading-copy h1.chinese-title{font-size:32px;line-height:1.5}
 .tower-floor-row{grid-template-columns:25px 1fr auto;gap:7px}
 .tower-floor-row>span:nth-child(2){font-size:15px}
 .tower-floor-row time{font-size:7px}
 .tower-room-inscription strong{font-size:18px}
 .tower-active-floor:after{content:'';position:absolute;inset:65% 0 0;pointer-events:none;background:linear-gradient(transparent,#1c2631);opacity:var(--source-room-shade,0)}
}


/* /release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/scene-grade.css */
.scene-grade-defs{position:absolute;pointer-events:none;overflow:hidden}
.scene-grade-mask{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 57% 44%,transparent 35%,rgba(13,27,44,.07) 69%,rgba(10,21,35,.27) 100%);z-index:1}


/* /release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/interaction-feedback.css */
/* R4 interaction study: fixed hit areas, moving ink and directional details. */
:root{--feedback-ease:cubic-bezier(.22,.68,.22,1);--feedback-ink:#dfceb1}
.tower-room-entry-actions button,.mage-look-control,.tower-motion-control{transition:color .25s,background-size .35s var(--feedback-ease);background:linear-gradient(currentColor,currentColor) left bottom/0 1px no-repeat}
.tower-room-entry-actions button:is(:hover,:focus-visible):not(:disabled),.mage-look-control:is(:hover,:focus-visible):not(:disabled),.tower-motion-control:is(:hover,:focus-visible):not(:disabled){background-size:100% 1px;color:#ead6b3}
.tower-mode{--control-ink:#dfceb1;--control-paper:#1c2631}

/* One clearly actionable circle; the label stays readable throughout. */
.open-action{min-height:48px;gap:22px}
.open-action>span{background:linear-gradient(currentColor,currentColor) left bottom/0 1px no-repeat;padding-block:5px;transition:background-size .42s var(--feedback-ease)}
.open-action>svg{stroke-width:2;box-sizing:border-box;flex:none;width:48px;height:48px;padding:12px;border:1px solid currentColor;border-radius:50%;overflow:visible;transition:background .3s,color .3s,box-shadow .45s var(--feedback-ease),scale .16s}
.open-action>svg use,.entry-action svg use,.arrival-read svg use,.folio-text-link svg use,.editorial-row>svg use,.contents-list svg use{transform-box:view-box;transform-origin:center;transition:transform .42s var(--feedback-ease)}
.open-action:hover>svg{transform:none}
.open-action:focus-visible>span{background-size:100% 1px}
.open-action:focus-visible>svg{background:#dfceb1;color:#202a35;box-shadow:0 0 0 5px #dfceb118}
.open-action:focus-visible>svg use{transform:translateX(3px)}
.open-action:active>svg{scale:.93}
.open-action:focus-visible,.menu-toggle:focus-visible,.stage-footer button:focus-visible,.closing-line button:focus-visible,.folio-header button:focus-visible{outline:1px solid currentColor;outline-offset:6px}
.entry-action svg,.arrival-read svg,.folio-text-link svg,.editorial-row>svg,.bridge-arrival .contents-list svg{transition:background .3s,color .3s,box-shadow .42s var(--feedback-ease),scale .16s}
.bridge-arrival .contents-list a:is(:hover,:focus-visible) svg{transform:none}
a:focus-visible>.entry-action svg use,a:focus-visible>svg:not(.personal-logo) use{transform:translateX(3px)}
a:focus-visible>.entry-action svg,a:focus-visible>svg:not(.personal-logo){box-shadow:0 0 0 4px color-mix(in srgb,currentColor 10%,transparent)}
a:active>.entry-action svg,a:active>svg:not(.personal-logo){scale:.94}
.arrival-read:focus-visible,.folio-text-link:focus-visible,.editorial-row:focus-visible,.contents-list>a:focus-visible{outline:1px solid currentColor;outline-offset:7px}

/* The navigation reveal belongs to the row; hover belongs to its children. */
html:has(body[data-menu-open=true]){overflow:hidden}
.site-header #main-menu{overflow-x:hidden;overscroll-behavior:contain}
/* Fixed decorations do not enlarge the scrollable navigation surface. */
#main-menu .menu-botanical{position:fixed}
.site-header #main-menu>a{padding-right:58px}
#main-menu .menu-label{display:inline-block;transition:color .25s,transform .4s var(--feedback-ease)}
#main-menu .menu-number{transition:color .25s,transform .4s var(--feedback-ease)}
#main-menu .menu-arrow{stroke-width:2.5;position:absolute;right:0;top:50%;margin-top:-17px;box-sizing:border-box;width:34px;height:34px;padding:8px;border:1px solid #dfceb15c;border-radius:50%;opacity:0;transform:translateX(-7px);transition:opacity .2s,transform .4s var(--feedback-ease),background .25s,color .25s;pointer-events:none}
.site-header #main-menu>a:after{bottom:4px;left:42px;right:0;opacity:.34;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--feedback-ease)}
.site-header #main-menu>a:focus-visible:after{transform:scaleX(1)}
#main-menu>a:focus-visible{outline:none}
#main-menu>a:focus-visible .menu-label{color:#f1e3c7;transform:translateX(5px)}
#main-menu>a:focus-visible .menu-number{color:#ead6b3}
#main-menu>a:focus-visible .menu-arrow{opacity:1;transform:none;background:#dfceb1;color:#202a35}
#main-menu:has(a:focus-visible):not(:has(a:hover)) a:not(:focus-visible) .menu-label{color:#a99e8a}
body[data-menu-open=true] .preview-controls{visibility:hidden}

/* A quiet line leads into an entry, without pushing the following row. */
.tower-floor-row{position:relative;isolation:isolate}
.tower-floor-row:after{content:'';position:absolute;inset:auto 0 -1px;height:1px;background:#e4d0aa;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--feedback-ease)}
.tower-floor-row>span:nth-child(2){transition:transform .4s var(--feedback-ease),color .25s}
.tower-floor-row:is(:focus-visible,[aria-current=true]):after{transform:scaleX(1)}
.tower-floor-row:focus-visible>span:nth-child(2){transform:translateX(5px)}
.tower-floor-row:active>span:nth-child(2){transform:translateX(3px)}
.tower-floor-nav button:focus-visible:not(:disabled)>span{background:#dfceb1;color:#1c2631}
.tower-floor-nav button:active:not(:disabled)>span{scale:.94}
.tower-floor-nav button>span{transition:background .25s,color .25s,transform .35s var(--feedback-ease),scale .16s}
.tower-floor-locators button:focus-visible i{background:#efddba;opacity:1}
.tower-floor-locators i{transition:opacity .25s,scale .35s var(--feedback-ease);transform-origin:right}
.tower-floor-locators button:is(:hover,:focus-visible) i{scale:1.35 1}
.folio-back:before,.folio-close:after{border-color:currentColor;transition:background .25s,color .25s,transform .35s var(--feedback-ease),scale .16s}
.folio-back:focus-visible:before{transform:translateX(-3px)}
.folio-close:focus-visible:after{transform:rotate(90deg)}
.folio-header button:active:before,.folio-header button:active:after{scale:.94}
.stage-footer button,.closing-line .replay,.latest-entry .all-posts{background:linear-gradient(currentColor,currentColor) left calc(100% - 5px)/0 1px no-repeat;transition:background-size .32s var(--feedback-ease)}
.stage-footer button:focus-visible,.closing-line .replay:focus-visible,.latest-entry .all-posts:focus-visible{background-size:100% 1px}

/* Native details semantics with reversible height feedback. */
.tower-toc,.article-toc{box-sizing:border-box}
.tower-toc summary,.article-toc summary{position:relative;min-height:54px;transition:color .25s}
.tower-toc summary::-webkit-details-marker{display:none}
.tower-toc summary:after,.article-toc summary:after{content:''!important;box-sizing:border-box;flex:none;width:32px;height:32px;border:1px solid currentColor;border-radius:50%;background:linear-gradient(currentColor,currentColor) center/10px 1px no-repeat!important;color:inherit!important;transition:background-color .25s,scale .16s}
.tower-toc summary:before,.article-toc summary:before{content:'';position:absolute;right:15.5px;top:calc(50% - 5px);height:10px;width:1px;background:currentColor;transform:rotate(0);transition:transform .3s var(--feedback-ease);pointer-events:none}
:is(.tower-toc,.article-toc)[open]:not([data-feedback-open=false]) summary:before{transform:rotate(90deg)}
.tower-toc summary:focus-visible,.article-toc summary:focus-visible{outline:1px solid currentColor;outline-offset:5px}
.tower-toc summary:active:after,.article-toc summary:active:after{scale:.92}
.tower-toc nav a,.article-toc nav a{min-height:32px;padding-block:5px;background:linear-gradient(currentColor,currentColor) left bottom/0 1px no-repeat;transition:background-size .3s var(--feedback-ease)}
.tower-toc nav a:focus-visible,.article-toc nav a:focus-visible{background-size:100% 1px}

@media(hover:hover) and (pointer:fine){
 .open-action:hover>span{background-size:100% 1px}
 .open-action:hover>svg{background:#dfceb1;color:#202a35;box-shadow:0 0 0 5px #dfceb118}
 .open-action:hover>svg use,a:hover>.entry-action svg use,a:hover>svg:not(.personal-logo) use{transform:translateX(3px)}
 a:hover>.entry-action svg,a:hover>svg:not(.personal-logo){box-shadow:0 0 0 4px color-mix(in srgb,currentColor 10%,transparent)}
 .site-header #main-menu>a:hover:after{transform:scaleX(1)}
 #main-menu:has(a:hover) a:not(:hover) .menu-label{color:#a99e8a}
 #main-menu>a:hover .menu-label{color:#f1e3c7;transform:translateX(5px)}
 #main-menu>a:hover .menu-number{color:#ead6b3}
 #main-menu>a:hover .menu-arrow{opacity:1;transform:none;background:#dfceb1;color:#202a35}
 .tower-floor-row:hover:after{transform:scaleX(1)}
 .tower-floor-row:hover>span:nth-child(2){transform:translateX(5px)}
 .folio-back:hover:before{transform:translateX(-3px)}
 .folio-close:hover:after{transform:rotate(90deg)}
 .stage-footer button:hover,.closing-line .replay:hover,.latest-entry .all-posts:hover{background-size:100% 1px}
 .tower-toc summary:hover,.article-toc summary:hover{color:var(--control-ink)}
 .tower-toc nav a:hover,.article-toc nav a:hover{background-size:100% 1px;text-decoration:none}
}
@media(max-width:760px){
 .site-header #main-menu>a{padding-right:48px}
 .site-header #main-menu>a:after{left:32px}
 .open-action>svg{width:44px;height:44px;padding:11px}
}
/* Feedback remains visible; only its travel is removed. */
body[data-reduced=true] :is(.open-action,.site-header,.folio-dialog,.stage-footer,.closing-line,.bridge-arrival) *,
body[data-reduced=true] :is(.open-action,.site-header,.folio-dialog,.stage-footer,.closing-line,.bridge-arrival) *:before,
body[data-reduced=true] :is(.open-action,.site-header,.folio-dialog,.stage-footer,.closing-line,.bridge-arrival) *:after{transition:none!important}
@media(prefers-reduced-motion:reduce){
 :is(.open-action,.site-header,.folio-dialog,.stage-footer,.closing-line,.bridge-arrival) *,
 :is(.open-action,.site-header,.folio-dialog,.stage-footer,.closing-line,.bridge-arrival) *:before,
 :is(.open-action,.site-header,.folio-dialog,.stage-footer,.closing-line,.bridge-arrival) *:after{transition:none!important}
}


/* /release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/reference-motion.css */
/* V7: source-aligned R4 motion. Plate: .6s; letters: .8s + .2s; reveal: 1.2s. */
:root{--r4-out:cubic-bezier(.25,1,.5,1);--r4-paper:#dfceb1;--r4-ink:#202a35}
.motion-accessible{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.motion-roll{display:inline-grid;vertical-align:middle;overflow:hidden;line-height:inherit;text-align:inherit;white-space:pre}
.motion-roll,.motion-roll-front,.motion-roll-back,.motion-roll-char{margin:0!important;padding:0!important;font:inherit!important;letter-spacing:inherit}
.motion-roll-front,.motion-roll-back{grid-area:1/1;display:block;white-space:pre}
.motion-roll-char{display:inline-block;white-space:pre;transform-origin:50% 50%}
.menu-toggle:has(.motion-roll){min-width:83px}
.menu-toggle .motion-roll{min-width:3em}
.motion-ink{isolation:isolate;display:inline-flex!important;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box;gap:0!important;padding:12px 24px!important;border:0!important;border-radius:0;background:none!important;color:var(--r4-ink)!important;font:12px/1.5 var(--serif)!important;letter-spacing:.08em;text-decoration:none!important;white-space:nowrap}
.motion-ink:not(.open-action){position:relative}
.open-action.motion-ink>span:not([aria-hidden]){padding:0;background:none}
.motion-ink>svg{display:none!important}
.motion-ink>.motion-ink-bg,.motion-ink>.motion-ink-outline,.motion-ink>.motion-ink-fold{position:absolute;z-index:-1;pointer-events:none;transition:inset .6s var(--r4-out),border-radius .6s var(--r4-out),opacity .6s var(--r4-out),clip-path .6s var(--r4-out),transform .6s var(--r4-out)}
.motion-ink>.motion-ink-bg{inset:0;background:var(--r4-paper);border-radius:24px}
.motion-ink>.motion-ink-outline{inset:-4px;border:1px solid var(--r4-ink);border-radius:24px;opacity:0}
.motion-ink>.motion-ink-fold{display:none}
.motion-ink.r4-hot>.motion-ink-bg{inset:-4px;border-radius:0}
.motion-ink.r4-hot>.motion-ink-outline{inset:0;border-radius:0;opacity:1}
.motion-ink:focus-visible{outline:1px solid var(--r4-paper);outline-offset:9px}
.motion-ink:active{filter:brightness(.93)}
.motion-ink[data-button-variant=fold]>.motion-ink-bg{border-radius:2px;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
.motion-ink[data-button-variant=fold]>.motion-ink-outline{display:none}
.motion-ink[data-button-variant=fold]>.motion-ink-fold{display:block;z-index:0;inset:0 0 auto auto;width:15px;height:15px;background:#ad9978;clip-path:polygon(0 0,100% 100%,0 100%);opacity:0;transform:translate(-7px,7px) scale(.3);transform-origin:100% 0}
.motion-ink[data-button-variant=fold].r4-hot>.motion-ink-bg{inset:0;clip-path:polygon(0 0,calc(100% - 15px) 0,100% 15px,100% 100%,0 100%)}
.motion-ink[data-button-variant=fold].r4-hot>.motion-ink-fold{opacity:1;transform:none}
.latest-entry .all-posts.motion-ink{font-size:10px!important;margin-top:24px}

/* Paper surfaces invert to ink; the dark journal keeps its pale ring. */
.home-arrival,.folio-chamber{--control-ink:#202a35;--control-paper:#dfceb1}
/* The ring expands independently of the stationary hit target. */
.motion-orbit{position:relative;display:inline-grid!important;place-items:center;flex:none;width:44px;height:44px;border:0!important;border-radius:50%;background:none!important;box-shadow:none!important;transform:none!important;scale:1!important;color:inherit;vertical-align:middle;transition:color .6s var(--r4-out)!important}
.motion-orbit:before,.motion-orbit:after{content:'';position:absolute;inset:0;border-radius:50%;pointer-events:none;transition:transform .6s var(--r4-out),opacity .6s var(--r4-out)}
.motion-orbit:before{border:1px solid currentColor;opacity:.65}
.motion-orbit:after{background:var(--control-ink,#dfceb1);transform:scale(0);z-index:0}
.r4-hot:not(:disabled) .motion-orbit{color:var(--control-paper,#202a35)}
.r4-hot:not(:disabled) .motion-orbit:before{transform:scale(1.18);opacity:0}
.r4-hot:not(:disabled) .motion-orbit:after{transform:scale(1)}
.motion-orbit>svg{position:relative;z-index:1;box-sizing:border-box;width:44px!important;height:44px!important;padding:11px!important;border:0!important;background:none!important;box-shadow:none!important;transform:none!important;scale:1!important;stroke-width:2;color:inherit!important;overflow:visible}
.motion-orbit>svg use{transform:none!important}
.motion-orbit-glyph{position:relative;z-index:1;display:grid;place-items:center}
.tower-floor-nav button>.motion-orbit{transform:none!important;background:none!important}
.tower-floor-nav button:disabled .motion-orbit{color:inherit}
.contents-list .motion-orbit{position:absolute;right:0;top:calc(50% - 22px)}
.contents-list .motion-orbit>svg{position:relative;right:auto;top:auto}
.editorial-row>.motion-orbit{justify-self:end}

/* Stable word positions; the inner letters carry only the scrubbed ink level. */
.motion-heading-visual{display:block}
.motion-heading-line{display:inline-block;width:max-content;max-width:100%;white-space:nowrap}
@media(max-width:760px){.motion-heading-visual{display:block}.motion-heading-line{display:block;margin-inline:auto}}
.motion-word{display:inline-block}
.motion-glyph{display:inline}
.motion-hanging-punctuation{display:inline-block;inline-size:.5em;text-align:left;overflow:visible}
.home-intro .motion-heading-visual{width:100%;text-align:center}
.motion-paragraph-visual{display:block}
.motion-measure{display:inline;white-space:pre}
.motion-line-mask{display:block;overflow:hidden}
.motion-line{display:block;white-space:pre;line-height:inherit}
body[data-motion-compare=true] .preview-controls,body[data-motion-compare=true] .live-study-controls{display:none!important}
body[data-reduced=true] :is(.motion-ink,.motion-orbit,.motion-ink>span,.motion-orbit:before,.motion-orbit:after){transition:none!important}
@media(prefers-reduced-motion:reduce){:is(.motion-ink,.motion-orbit,.motion-ink>span,.motion-orbit:before,.motion-orbit:after){transition:none!important}}
@media(max-width:760px){.motion-ink{min-height:44px;padding:11px 20px!important}.menu-toggle:has(.motion-roll){min-width:83px}.tower-floor-nav .motion-orbit{width:34px;height:34px}}


/* /release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/menu-bloom.css */
/* The menu owns one growth/collection clock. Background and foreground can finish separately. */
.site-header #main-menu[data-bloom-state]{isolation:isolate;background:transparent!important;opacity:1!important;transition:none!important;visibility:hidden;pointer-events:none}
.site-header #main-menu[data-bloom-state]:not([data-bloom-state=closed]){visibility:visible;pointer-events:auto}
.site-header #main-menu[data-bloom-state=collecting]{pointer-events:none}
.menu-bloom-backdrop{position:fixed;inset:0;z-index:-1;background:#1c2631;opacity:var(--menu-backdrop,0);pointer-events:none}
.menu-bloom-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.site-header #main-menu[data-bloom-state]>a,.site-header #main-menu[data-bloom-state]>.menu-caption,.site-header #main-menu[data-bloom-state]>.menu-colophon{position:relative;z-index:2;opacity:var(--menu-copy,0)!important;transform:none!important;transition:none!important}
.site-header #main-menu[data-bloom-state]>a{padding-right:0;min-width:310px}
#main-menu .menu-arrow{display:none!important}
#main-menu .menu-label{transform:none!important}
.menu-toggle:before,.menu-toggle:after{filter:brightness(calc(1 + var(--menu-receive,0)*.8))}
@media(max-width:760px){.site-header #main-menu[data-bloom-state]>a{min-width:235px;padding-right:0}}


/* /release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/undercity-shell.css */
/* Shared tower gate and folio shell for the released undercity. */
.undercity-scene{position:absolute;inset:0;z-index:7;isolation:isolate;overflow:hidden;background:#1c2631;color:#dbccb0;font-family:var(--serif)}
.undercity-scene[hidden]{display:none}
.dungeon-portal{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden}
.dungeon-portal[hidden]{display:none}
.dungeon-connector-foreground svg{fill:none;stroke:none}
.dungeon-surface-sheet{background:radial-gradient(ellipse 260px 84px at var(--portal-anchor-x,50%) 100%,#0b141d 0%,#17212a 38%,#20283200 73%),linear-gradient(180deg,#202832 0%,#202832 94%,#263139 100%)}
.dungeon-ground-section svg{filter:drop-shadow(0 18px 24px #050a0f80)}
.dungeon-entrance-lip{transform-box:view-box;transform-origin:0 0;will-change:transform}
.dungeon-shared-foundation{filter:drop-shadow(0 18px 25px #080e1480)}
.undercity-mode .folio-header{background:linear-gradient(#202832 0%,#202832eb 53%,#20283200 100%);padding-bottom:38px}
.undercity-scene button,.undercity-scene a{color:inherit;-webkit-tap-highlight-color:transparent}
.undercity-scene button{appearance:none;background:none;box-shadow:none;border:0;border-radius:0;font-family:inherit;text-align:left;cursor:pointer;min-height:44px}
.undercity-scene a{text-decoration:none}
.undercity-scene :is(button,a):focus-visible{outline:1px solid #e2cba0;outline-offset:5px}
.under-surface-copy{position:absolute;inset:0;z-index:4;pointer-events:none}
.under-surface-copy .tower-floor-list{pointer-events:none}
.tower-undercity-gate{position:absolute;z-index:5;left:8%;bottom:5.2%;display:flex;align-items:center;gap:18px;color:#d5c4a5!important;font:13px/1.8 var(--serif)!important;min-height:52px!important;border-top:1px solid #bca88555!important;border-radius:0!important;padding:13px 0 0!important;min-width:245px;text-align:left;background:transparent!important}
.tower-undercity-gate small{font:9px/1.5 var(--sans);letter-spacing:.16em;opacity:.55}
.tower-undercity-gate span:last-child{margin-left:auto;font-size:25px;transition:transform .3s}
.tower-undercity-gate:hover span:last-child{transform:translateY(4px)}
.article-tower:not([data-view=overview]) .tower-undercity-gate,.article-tower[data-moving=true] .tower-undercity-gate{visibility:hidden;pointer-events:none}
.article-tower.has-undercity .tower-overview-copy,.under-surface-copy .tower-overview-copy{top:20%;bottom:19%;display:flex;flex-direction:column}
.article-tower.has-undercity .tower-overview-copy .tower-caption,.under-surface-copy .tower-overview-copy .tower-caption{margin:0 0 16px}
.article-tower.has-undercity .tower-overview-copy h1,.under-surface-copy .tower-overview-copy h1{margin:0 0 26px}
.article-tower.has-undercity .tower-overview-note,.under-surface-copy .tower-overview-note{margin-bottom:28px}
.article-tower.has-undercity .tower-overview-copy>:not(.tower-floor-list),.under-surface-copy .tower-overview-copy>:not(.tower-floor-list){flex-shrink:0}
.article-tower.has-undercity .tower-floor-list,.under-surface-copy .tower-floor-list{min-height:55px;flex:1;max-height:26svh}
.under-surface-copy .tower-floor-row small{display:block;font:9px/1.8 var(--serif);letter-spacing:.16em;opacity:.62;margin-top:3px}
@media(max-width:760px){
 .undercity-mode .folio-header{background:linear-gradient(#202832 0%,#202832d9 57%,#20283200);padding-bottom:24px}
 .tower-undercity-gate{left:7%;bottom:4%;min-width:220px;font-size:12px!important;gap:12px;padding:5px 0!important;min-height:42px!important}.tower-undercity-gate small{font-size:8px}
 .article-tower.has-undercity .tower-overview-copy,.under-surface-copy .tower-overview-copy{top:55%;bottom:14%;max-height:none;overflow:visible}.article-tower.has-undercity .tower-overview-copy h1,.under-surface-copy .tower-overview-copy h1{font-size:46px;margin-bottom:10px}.article-tower.has-undercity .tower-overview-note,.under-surface-copy .tower-overview-note{font-size:11px;margin-bottom:12px}.article-tower.has-undercity .tower-floor-list,.under-surface-copy .tower-floor-list{max-height:14svh;min-height:36px}
}
@media(prefers-reduced-motion:reduce){.undercity-scene *, .tower-undercity-gate span{transition:none!important}}


/* /release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/undercity-mvp-world.css */
.mvp-world{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:#202832;isolation:isolate}
.mvp-world-ambient{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 52%,#455b6940,transparent 68%),linear-gradient(#202c38,#17232e);z-index:0}
.mvp-world-camera{position:absolute;left:0;top:0;width:1800px;height:2000px;transform-origin:0 0;will-change:transform;z-index:1}
.mvp-world-art,.mvp-world-cache{mask-image:linear-gradient(to bottom,transparent,#000 240px,#000 calc(100% - 160px),transparent)}
.mvp-foundation{position:absolute;pointer-events:none}
.mvp-foundation>svg{display:block;width:100%;height:100%;fill:none;stroke:none;overflow:visible}
.dungeon-lift>svg,.dungeon-lift-station>svg,.dungeon-lift-cabin>svg{display:block;width:100%;height:100%;max-width:none;fill:none;stroke:none;overflow:visible}
.mvp-world-art{display:block;width:1800px;height:2000px;overflow:visible}
.mvp-world-cache{display:block;position:absolute;inset:0;width:1800px;height:2000px;pointer-events:none}
.mvp-dynamic-layer{position:absolute;contain:layout paint;isolation:isolate;transform:translate3d(0,0,0);will-change:transform,opacity;pointer-events:none}
.mvp-dynamic-layer>svg{display:block;width:100%;height:100%;overflow:hidden}
.mvp-world-art path,.mvp-world-art circle{vector-effect:none}
.mvp-world-shade{position:absolute;inset:0;z-index:2;background:linear-gradient(0deg,#17232eaa,transparent 18%,transparent 76%,#2028328c),radial-gradient(ellipse at 50% 45%,transparent 30%,#101b2540 100%);pointer-events:none}
.mvp-object.is-selected{filter:drop-shadow(0 0 5px #d7c58a80)}
.mvp-lamp-halo{opacity:.85;transform-box:fill-box;transform-origin:center}
.mvp-gear{transform-origin:0 0;animation:mvp-turn 25s linear infinite;animation-play-state:paused}
.mvp-gear-reverse{animation-direction:reverse;animation-duration:17s}
.is-active.is-energized .mvp-gear{animation-play-state:running}
.mvp-orbit{animation:mvp-turn 32s linear infinite;animation-play-state:paused}
.is-active.is-energized .mvp-orbit{animation-play-state:running}
.mvp-energy-path{stroke-dasharray:12 7;stroke-dashoffset:0;animation:mvp-flow 2s linear infinite;animation-play-state:paused}
.is-active.is-energized .mvp-energy-path{animation-play-state:running}
.mvp-core-halo,.mvp-circuit-light{opacity:0}
.mvp-output-bulb{opacity:.17}
.mvp-disassembly-links{stroke-dasharray:4 5}
.is-reduced .mvp-lamp-halo,.is-reduced .mvp-gear,.is-reduced .mvp-orbit,.is-reduced .mvp-energy-path{animation:none!important}
@keyframes mvp-lamp{0%,100%{opacity:.78}50%{opacity:1}}
@keyframes mvp-turn{to{transform:rotate(360deg)}}
@keyframes mvp-flow{to{stroke-dashoffset:-76}}
@media(max-width:699px){.mvp-world-shade{background:linear-gradient(0deg,#17232eb8,transparent 24%,transparent 71%,#202832a3)}}
@media(prefers-reduced-motion:reduce){.mvp-lamp-halo,.mvp-gear,.mvp-orbit,.mvp-energy-path{animation:none!important}.mvp-object{transition:none}}


/* /release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/undercity-mvp.css */

/* /release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/undercity-rework.css */
/* R4-informed continuous card passage; architecture remains a connected place. */
.mvp-realm{--ink:#d9cdb1;--dim:#a6a594;--out:cubic-bezier(.25,1,.5,1);color:var(--ink);font-family:var(--serif,"Noto Serif SC",serif);background:#202832;isolation:isolate}
.mvp-realm [hidden],.mvp-realm[hidden]{display:none!important}
.mvp-realm button{font:inherit;color:inherit;cursor:pointer;background:none;border:0}
.mvp-realm button:disabled{opacity:.25;cursor:default}
.mvp-shade{position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(#202832aa,transparent 33%,#17253044 77%,#192530d9)}
.mvp-copy{position:absolute;inset:0;z-index:2;pointer-events:none;text-align:center;opacity:1;transition:opacity .45s var(--out)}
.mvp-intro{position:absolute;left:50%;top:49%;width:90%;transform:translate(-50%,-50%) scale(var(--intro-scale,1));opacity:var(--intro-opacity,1)}
.mvp-eyebrow{font:10px/1.5 var(--sans,sans-serif);letter-spacing:.26em;color:var(--dim);margin:0 0 22px}
.mvp-intro h1{font-weight:400;font-size:clamp(52px,7vw,108px);line-height:1.15;letter-spacing:.06em;margin:0;outline:none}
.mvp-subtitle{font-size:clamp(13px,1.15vw,18px);letter-spacing:.15em;margin:23px 0;color:#b9b59f}
.mvp-intro-line{display:block;width:1px;height:52px;margin:32px auto 0;background:linear-gradient(#c4b89077,transparent)}
.mvp-gallery{position:absolute;inset:0;z-index:3;overflow:clip;touch-action:none;pointer-events:auto}
.mvp-track{position:absolute;inset:0;pointer-events:none}
.mvp-paper{position:absolute;left:0;top:0;will-change:transform;pointer-events:auto;transform-origin:center;box-shadow:0 20px 35px #07111c55;user-select:none}
.mvp-realm .mvp-paper-front{position:absolute;inset:0;width:100%;height:100%;padding:0;overflow:hidden;text-align:left;background:#d0c3a5;color:#e2d6b9}
.mvp-paper-art{position:absolute;inset:0;overflow:hidden;background:#afb198}
.mvp-paper-art>svg,.mvp-paper-art>img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1);transition:transform 1.2s var(--out)}
.mvp-paper-front:after{content:"";position:absolute;inset:0;background:linear-gradient(#14232c22,transparent 28%,transparent 64%,#14212cef);pointer-events:none;border:1px solid #dccbab3d}
.mvp-paper-top{position:absolute;inset:23px 25px auto;z-index:1;display:flex;justify-content:space-between;font:10px/1.5 var(--sans,sans-serif);letter-spacing:.17em;color:#ddd4bc;text-shadow:0 1px 6px #15242d}
.mvp-paper-caption{position:absolute;z-index:1;left:26px;right:80px;bottom:30px;font-size:clamp(19px,1.65vw,28px);letter-spacing:.035em;line-height:1.4;transition:transform .6s var(--out)}
.mvp-realm .mvp-paper-toggle{position:absolute;right:22px;bottom:22px;z-index:18;display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;color:#e4d9bd;isolation:isolate}
.mvp-round-plus{position:relative;display:block;width:100%;height:100%;border:1px solid #e0d3b999;border-radius:50%;transition:transform .6s var(--out),border-color .6s var(--out),color .6s var(--out)}
.mvp-round-plus:before{content:"";position:absolute;inset:0;border-radius:50%;background:#d8cbb0;transform:scale(0);transition:transform .6s var(--out);z-index:-1}
.mvp-round-plus i{position:absolute;left:calc(50% - 8px);top:calc(50% - .5px);width:16px;height:1px;background:currentColor;transition:transform .4s cubic-bezier(.65,0,.35,1)}
.mvp-round-plus i+ i{transform:rotate(90deg)}
@media(hover:hover){.mvp-paper:hover .mvp-paper-art>svg,.mvp-paper:hover .mvp-paper-art>img{transform:scale(1.10)}.mvp-paper:hover .mvp-round-plus{transform:scale(1.13);border-color:transparent;color:#25343c}.mvp-paper:hover .mvp-round-plus:before{transform:scale(1)}}
.mvp-paper[data-open="true"] .mvp-round-plus{color:#24333b;border-color:#d8cbb0}.mvp-paper[data-open="true"] .mvp-round-plus:before{transform:scale(1)}.mvp-paper[data-open="true"] .mvp-round-plus i+i{transform:rotate(180deg)}
.mvp-paper-detail{position:absolute;inset:14px;z-index:6;background:#253038;color:#d8ceb5;clip-path:inset(0);transform:scale(1);animation:note-open 1.2s var(--out) both;user-select:text;box-shadow:inset 0 0 0 1px #b5ad8a26}
.mvp-paper-content{height:100%;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;padding:28px 26px 80px;scrollbar-width:thin;scrollbar-color:#aaa085 transparent;outline-offset:-4px}
.mvp-paper-kind{display:block;font:10px/1.6 var(--sans,sans-serif);letter-spacing:.2em;color:#a5aa97;margin-bottom:22px}
.mvp-card-title,.mvp-project-detail h2{font-size:clamp(24px,2.1vw,36px);font-weight:400;line-height:1.5;margin:0 0 24px;outline:none;overflow-wrap:anywhere}
.mvp-card-title span{display:inline-block;animation:word-rise 1.2s var(--out) both;animation-delay:calc(.08s + var(--word)*.022s)}
.mvp-note-rule{height:1px;background:#b8ab8366;margin:25px 0 30px;transform-origin:left;animation:line-grow .9s var(--out) both;animation-delay:.18s}
.mvp-note-body{font-size:clamp(14px,1.25vw,18px);line-height:2;overflow-wrap:anywhere}
.mvp-note-body p{margin:0 0 1.2em;animation:text-rise .9s var(--out) both;animation-delay:calc(.2s + var(--line,0)*.07s)}
.mvp-note-after{font-size:12px;line-height:1.9;color:#a3aa99;padding-top:20px;border-top:1px solid #acaa8755}
.mvp-card-link,.mvp-repository-link{display:inline-block;font-size:13px;color:inherit;text-decoration:none;padding:12px 0;border-bottom:1px solid #b6ab8788}
.mvp-realm[data-closing="true"] .mvp-paper-detail,.mvp-realm[data-closing="true"] .mvp-project-detail{animation:note-close .8s cubic-bezier(.65,0,.35,1) .2s both;pointer-events:none}
.mvp-realm[data-closing="true"] .mvp-round-plus i+i{transform:rotate(90deg)}
.mvp-navigation{position:absolute;left:5%;right:5%;bottom:5%;z-index:20;display:flex;justify-content:center;align-items:center;gap:32px;font-size:12px;color:#bcb7a1;pointer-events:none}
.mvp-navigation a{display:flex;align-items:center;gap:9px;text-decoration:none;padding:9px 0;border-bottom:1px solid transparent;pointer-events:auto}
.mvp-navigation a:first-child{position:absolute;left:0}.mvp-navigation small{font:10px var(--sans,sans-serif);opacity:.6}
.mvp-navigation a[aria-current="page"]{border-bottom-color:#b8ac85;color:#e5d9b9}
.mvp-foot{position:absolute;left:5%;right:5%;bottom:1.5%;z-index:20;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#8e948d;pointer-events:none}
.mvp-realm .mvp-motion{font:inherit;min-height:28px;pointer-events:auto}.mvp-sample{letter-spacing:.08em}
.mvp-shade:after{content:"";position:absolute;inset:0;background:#202832;opacity:calc(var(--project-presence,0) * .94)}
.mvp-project-stage{position:absolute;inset:0;z-index:3;pointer-events:none;color:#cfc3a5}
.mvp-project-stage{transform-origin:50% 0;will-change:transform}
.mvp-realm[data-ending="true"]>.mvp-world{opacity:var(--ending-outgoing,1)}
.mvp-realm[data-ending="true"]>.mvp-project-stage,.mvp-realm[data-ending="true"]>.mvp-copy{opacity:var(--ending-outgoing,1);transition:none}
.mvp-realm[data-ending="true"] .mvp-project-heading,.mvp-realm[data-ending="true"] .mvp-project-rule,.mvp-realm[data-ending="true"] .mvp-project-title,.mvp-realm[data-ending="true"] .mvp-project-summary{opacity:var(--ending-footer,1);transition:none}
/* The arrival controller owns an inline heading opacity until the finale. */
.mvp-realm[data-ending="true"] .mvp-project-heading{opacity:var(--ending-footer,1)!important}
.mvp-realm[data-ending="true"]>.mvp-navigation{transform:translateY(calc(var(--ending-arrival,0) * -36px));opacity:var(--ending-footer,1)}
.mvp-realm[data-ending="true"] .mvp-sample{opacity:var(--ending-footer,1)}
.contents-finale{position:absolute;inset:0;z-index:10;overflow:clip;background:#202832;touch-action:none;will-change:transform;color:#d3c7a9}
.contents-garden{position:absolute;pointer-events:none}
.contents-camera{position:absolute;inset:0;transform-origin:50% 10%;will-change:transform}
.contents-copy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:90px 20px 58px;box-sizing:border-box}
.contents-caption{text-align:center;margin:0 0 clamp(24px,5vh,66px)}
.contents-caption>span{display:block;font:11px/1.5 var(--sans,sans-serif);letter-spacing:.2em;color:#b0a68e}
.contents-caption h1{font:400 12px/1.6 var(--sans,sans-serif);letter-spacing:.2em;margin:10px 0 0;outline:none;color:#b0a68e}
.contents-links{display:flex;flex-direction:column;gap:clamp(36px,3vh,42px);min-width:270px}
.contents-links a{position:relative;display:flex;align-items:baseline;gap:30px;min-height:48px;text-decoration:none;color:inherit;font:400 clamp(48px,min(5vw,8vh),86px)/1.1 var(--serif,serif)}
.contents-links a:after{content:"";position:absolute;left:0;right:0;top:50%;height:max(100%,calc(44px / var(--contents-scale,1)));transform:translateY(-50%)}
.contents-links small{width:34px;flex:0 0 34px;font:400 .38em/1.2 var(--serif,serif);color:#b0a68e}
.contents-links a>span{display:block;transition:transform .55s var(--out),color .4s;transform-origin:left}
.contents-links a:hover>span,.contents-links a:focus-visible>span{transform:translateX(10px);color:#e6dabc}
.contents-colophon{margin:clamp(25px,5vh,62px) 0 0;text-align:center;font-size:12px;letter-spacing:.06em;color:#a8a18e}
.contents-colophon>span{display:block;font:400 clamp(28px,4vh,46px)/1.1 var(--serif,serif);color:#c7bc9f;margin-bottom:20px}
@media(max-width:699px){.contents-copy{padding:82px 12px 64px}.contents-caption{margin-bottom:34px}.contents-links{min-width:235px;gap:25px}.contents-links a{font-size:44px;gap:23px;min-height:64px}.contents-links small{width:28px;flex-basis:28px}.contents-colophon{margin-top:38px;font-size:13px}.contents-caption>span{font-size:10px}}
@media(max-height:580px){.contents-copy{padding-top:65px;padding-bottom:35px}.contents-caption{margin-bottom:18px}.contents-links{gap:29px}.contents-links a{font-size:34px;min-height:40px}.contents-colophon{margin-top:18px;font-size:10px}.contents-colophon>span{font-size:24px;margin-bottom:10px}}
.mvp-project-heading{position:absolute;top:14%;left:5.5%;right:5.5%;display:flex;align-items:baseline;justify-content:space-between;gap:24px;pointer-events:auto}
.mvp-project-heading h1{font:400 clamp(54px,6.5vw,150px)/1.15 var(--serif,serif);letter-spacing:.04em;margin:0;outline:none}
.mvp-project-heading>span{font:10px/1.5 var(--sans,sans-serif);letter-spacing:.2em;white-space:nowrap;opacity:.7}
.mvp-project-viewport{position:absolute;top:32%;bottom:12%;left:0;right:0;overflow-x:clip;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a8a08a55 transparent;pointer-events:auto;touch-action:pan-y;cursor:grab;outline-offset:-8px}
.mvp-project-viewport:focus:not(:focus-visible){outline:none}
.mvp-project-viewport:focus-visible{outline:1px solid #daccaa;outline-offset:-8px}
.mvp-realm[data-depth="overview"] .mvp-project-viewport,.mvp-realm[data-depth="overview"] .mvp-project-viewport *{-webkit-user-select:none;user-select:none}
.mvp-project-track{display:flex;align-items:flex-start;gap:var(--project-gap);padding:0 var(--project-inset) 12px;min-height:100%;box-sizing:border-box;will-change:transform;width:max-content}
.mvp-project-card{position:relative;flex:0 0 var(--project-width);width:var(--project-width);min-width:0;user-select:none;will-change:transform,opacity}
.mvp-realm .mvp-project-open{display:block;width:100%;padding:0;text-align:left;cursor:inherit}
.mvp-project-cover{position:relative;display:block;width:100%;aspect-ratio:1.62;overflow:hidden;background:#263039}
.mvp-project-cover img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.01);transition:transform 1.2s var(--out);pointer-events:none;-webkit-user-drag:none}
.mvp-project-card:nth-child(2n) .mvp-project-cover{aspect-ratio:1.48}
.mvp-project-card:nth-child(3n) .mvp-project-cover{aspect-ratio:1.78}
.mvp-project-cover-empty{display:flex;align-items:flex-end;justify-content:space-between;height:100%;padding:12%;box-sizing:border-box;color:#b9b299;background:linear-gradient(135deg,#28343c,#35454b)}
.mvp-project-cover-empty>span{font-size:clamp(65px,9vw,140px);line-height:1;font-weight:400;opacity:.6}.mvp-project-cover-empty>small{font:10px var(--sans,sans-serif);writing-mode:vertical-rl;letter-spacing:.25em}
.mvp-project-rule{position:relative;display:block;height:1px;background:#a99b7677;margin:20px 0 16px}
.mvp-project-rule:after{content:"";position:absolute;left:0;bottom:3px;width:100%;height:2px;background:#c6b895;transform:scaleX(0);transform-origin:left;transition:transform .8s var(--out)}
.mvp-project-title{display:block;font-size:clamp(28px,3.3vw,72px);font-weight:400;line-height:1.3;letter-spacing:.02em;overflow-wrap:anywhere}
.mvp-project-arrow{display:inline-block;font:22px var(--serif,serif);margin-left:12px;opacity:0;transform:translate(-6px,6px);transition:opacity .5s,transform .7s var(--out)}
.mvp-project-summary{margin:20px 0 0;font:clamp(12px,.9vw,18px)/1.85 var(--sans,sans-serif);letter-spacing:.025em;color:#b3ab94;overflow-wrap:anywhere}
.mvp-project-summary:before{content:"";display:block;width:40px;height:1px;margin-bottom:16px;background:#b5a67d88}
.mvp-project-kind{display:none}
.mvp-project-cursor{position:absolute;z-index:10;left:0;top:0;padding:7px 15px;border-radius:20px;background:#c9bd9e;color:#263038;font:10px var(--sans,sans-serif);letter-spacing:.08em;transform:translate(var(--cursor-x,-200px),var(--cursor-y,-200px));scale:.75;opacity:0;pointer-events:none;transition:opacity .2s,scale .2s}
.mvp-project-stage[data-hover="true"] .mvp-project-cursor{opacity:1;scale:1}
.mvp-project-stage[data-dragging="true"] .mvp-project-viewport{cursor:grabbing}
.mvp-realm[data-depth="detail"] .mvp-project-cursor,.mvp-realm[data-moving="true"] .mvp-project-cursor{display:none}
.mvp-project-detail{position:absolute;inset:0;min-height:330px;height:100%;max-height:100%;background:#253039;color:#d6ccb2;z-index:5;animation:note-open .9s var(--out) both;display:flex;flex-direction:column;user-select:text;box-shadow:inset 0 1px #ad9f7d77}
.mvp-project-detail,.mvp-project-detail *{-webkit-user-select:text;user-select:text}
.mvp-project-reading{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#afa58b transparent;padding:24px 22px 12px;outline-offset:-4px}
.mvp-project-detail h2{font-size:28px;margin-bottom:18px}.mvp-project-detail .mvp-note-body{font-size:14px;line-height:1.9}.mvp-no-repository{font-size:11px;color:#a2a995;line-height:1.8}
.mvp-realm .mvp-project-close{display:flex;justify-content:space-between;margin:0 22px;padding:13px 0;min-height:44px;border-top:1px solid #a8a38566;font-size:12px}.mvp-project-close span{font-size:20px;line-height:1}
/* Keep the authored paper/close hierarchy and keyframes intact. Only bound
   the internal reading area when the original paper extends below the view. */
.mvp-project-viewport{--project-reading-limit:calc(var(--project-scene-height,100dvh) * .56 - 60px)}
.mvp-project-reading{max-height:max(0px,var(--project-reading-limit))}
.mvp-realm .mvp-project-close{flex-shrink:0}
.mvp-realm[data-room="projects"][data-depth="detail"] .mvp-project-viewport{overflow-y:clip}
@media(max-width:699px){.mvp-project-viewport{--project-reading-limit:calc(var(--project-scene-height,100dvh) * .54 - 60px)}}
@media(max-height:640px){.mvp-project-viewport{--project-reading-limit:calc(var(--project-scene-height,100dvh) * .51 - 60px)}}
/* A changing back label must not push the centered signature sideways. */
.undercity-mode .folio-header>.brand-signature{position:absolute;left:50%;transform:translateX(-50%)}
@media(hover:hover){.mvp-project-open:hover .mvp-project-cover img{transform:scale(1.15)}.mvp-project-open:hover .mvp-project-rule:after{transform:scaleX(1)}.mvp-project-open:hover .mvp-project-arrow{transform:translate(0,0);opacity:1}}
.mvp-project-open:focus-visible .mvp-project-rule:after{transform:scaleX(1)}.mvp-project-open:focus-visible .mvp-project-arrow{transform:translate(0,0);opacity:1}
@media(max-width:991px),(pointer:coarse){.mvp-project-cursor{display:none}}
.mvp-empty{position:absolute;left:50%;top:69%;width:85%;transform:translateX(-50%);text-align:center;pointer-events:auto}.mvp-empty p{font-size:15px;color:#b6b4a0}
.mvp-realm .mvp-demo-entry{font-size:12px;border-bottom:1px solid #a59f8166;padding:9px 5px}.mvp-demo-entry span{margin-left:18px}
.mvp-status{position:absolute;left:10%;bottom:10%;width:80%;text-align:center;font-size:12px;z-index:25}
.mvp-image-unavailable{font-size:12px;line-height:1.7;color:inherit;opacity:.65}
.mvp-realm button:focus-visible,.mvp-realm a:focus-visible{outline:1px solid #daccaa;outline-offset:5px}.mvp-paper-front:focus-visible{outline-offset:-8px!important}
.mvp-realm[data-moving="true"] .mvp-paper,.mvp-realm[data-moving="true"] .mvp-project-list{pointer-events:none}
.mvp-realm[data-descent="true"]{background:#1c2631}
.mvp-realm[data-descent="true"]>.mvp-world,.mvp-realm[data-descent="true"]>.mvp-shade{opacity:var(--descent-world,1)}
.mvp-realm[data-descent="true"] .mvp-copy,.mvp-realm[data-descent="true"] .mvp-navigation,.mvp-realm[data-descent="true"] .mvp-foot{opacity:var(--descent-copy,1);transition:none}
.mvp-realm[data-descent="true"] .mvp-gallery{opacity:var(--descent-content,1)}
.mvp-realm[data-crossing="true"] .mvp-gallery,.mvp-realm[data-crossing="true"] .mvp-project-stage{pointer-events:none}
@keyframes note-open{from{clip-path:inset(0 0 100% 0);transform:scale(1.1)}to{clip-path:inset(0);transform:scale(1)}}
@keyframes note-close{from{clip-path:inset(0);transform:scale(1)}to{clip-path:inset(100% 0 0 0);transform:scale(.75)}}
@keyframes word-rise{from{transform:translateY(70%) scale(.5);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
@keyframes text-rise{from{transform:translateY(35px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes line-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:699px){
 .mvp-intro{top:min(37%,calc(97vw - 82px))}.mvp-intro h1{font-size:56px}.mvp-eyebrow{font-size:8px}.mvp-subtitle{font-size:13px}.mvp-intro-line{height:40px}
 .mvp-paper-caption{font-size:24px;left:23px;bottom:28px}.mvp-paper-top{inset:20px 23px auto;font-size:9px}.mvp-paper-toggle{right:20px!important;bottom:20px!important}
 .mvp-paper-content{padding:22px 21px 73px}.mvp-card-title{font-size:28px}.mvp-note-body{font-size:15px}
 .mvp-navigation{left:6%;right:6%;bottom:5%;gap:22px;justify-content:flex-end;font-size:10px}.mvp-navigation a:first-child{max-width:105px}.mvp-navigation small{display:none}.mvp-foot{left:6%;right:6%;font-size:9px}
 .mvp-project-heading{top:15%;left:6%;right:6%;display:block}.mvp-project-heading h1{font-size:48px}.mvp-project-heading>span{display:block;margin-top:16px;font-size:8px}
 .mvp-project-viewport{top:32%;bottom:14%}.mvp-project-title{font-size:32px}.mvp-project-summary{font-size:12px;margin-top:19px}.mvp-project-rule{margin:21px 0 16px}.mvp-project-arrow{font-size:19px;opacity:.7;transform:none}

}
@media(max-height:640px){.mvp-intro h1{font-size:58px}.mvp-eyebrow{margin-bottom:15px}.mvp-paper-caption{font-size:20px}.mvp-navigation{bottom:4%}.mvp-foot{bottom:0}.mvp-project-heading{top:16%;display:flex}.mvp-project-heading h1{font-size:44px}.mvp-project-heading>span{margin:0}.mvp-project-viewport{top:34%;bottom:15%}.mvp-project-title{font-size:28px}.mvp-project-summary{font-size:11px}}

.mvp-realm[data-reduced="true"] *{animation-duration:0s!important;animation-delay:0s!important;transition-duration:0s!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){.mvp-realm *{animation-duration:0s!important;animation-delay:0s!important;transition-duration:0s!important}}



/* /release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/card-media.css */
.mvp-card-media{display:grid;gap:24px;margin:26px 0 30px;min-width:0}
.mvp-card-media .mvp-card-media-item{min-width:0;margin:0}
.mvp-card-media video,.mvp-card-media img{display:block;max-width:100%;width:100%;height:auto;background:#1b262d;border:1px solid #b8aa8566;box-sizing:border-box}
.mvp-card-media figcaption{display:grid;gap:5px;margin-top:10px;color:#acae9e;font:12px/1.7 var(--sans,sans-serif);letter-spacing:.025em;overflow-wrap:anywhere}
.mvp-card-media .mvp-card-media-title{color:#d8ceb5;font:400 14px/1.6 var(--serif,serif)}
.mvp-card-media .mvp-card-media-caption{display:block}

.mvp-paper[data-media="video"] .mvp-paper-art{background:#101b24}
.mvp-paper[data-media="video"] .mvp-paper-art>img{object-fit:contain}
.mvp-paper[data-media="video"] .mvp-note-body>p:first-child{color:#ddd1ae;font:13px/1.8 var(--sans,sans-serif);letter-spacing:.035em;padding-left:12px;border-left:2px solid #ae9b70}
.mvp-card-media video{min-height:100px;object-fit:contain}


/* /release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/personal-logo.css */
/* One traced silhouette, coloured by the surrounding gold / paper-ink palette. */
.personal-logo {
  display: block;
  flex: none;
  width: 32px;
  height: auto;
  aspect-ratio: 176 / 203;
  fill: currentColor;
  stroke: none;
  overflow: visible;
}

.site-header .wordmark > .personal-logo { width: 34px; }
/* The silhouette is a mark, not one of the circular arrow controls. */
.site-header .wordmark > .personal-logo,
.site-header .wordmark:is(:hover,:focus-visible,:active) > .personal-logo,
#folio .folio-header .folio-home > .personal-logo,
#folio .folio-header .folio-home:is(:hover,:focus-visible,:active) > .personal-logo {
  background: transparent;
  box-shadow: none;
  color: inherit;
  fill: currentColor;
  opacity: 1;
  filter: none;
  transform: none;
  scale: 1;
  animation: none;
  transition: none;
}
.site-header .wordmark > .personal-logo use {
  transform: none;
  animation: none;
  transition: none;
}
.site-header .wordmark:focus-visible { outline: 1px solid currentColor; outline-offset: 5px; }
.site-header .wordmark::after { content: none; display: none; }
.site-header .wordmark > .brand-name { text-decoration: none; }
.loading-screen > .loading-mark { width: 78px; }
#main-menu .menu-colophon > .personal-logo { width: 43px; margin-inline: auto; }

.brand-signature { display: inline-flex; align-items: center; gap: 11px; }
.brand-signature > .personal-logo { width: 23px; }
.closing-line .brand-signature > .personal-logo,
.folio-footer .brand-signature > .personal-logo { width: 19px; }

@media (max-width: 720px) {
  .site-header .wordmark > .personal-logo { width: 29px; }
  .loading-screen > .loading-mark { width: 68px; }
  #main-menu .menu-colophon > .personal-logo { width: 36px; }
}


/* /release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/notebook-typography.css */
/* A book-like hierarchy: editorial display, readable prose, quiet Roman labels.
   Altair Editorial and Notebook are the existing, locally served typefaces. */
:root{--roman:Georgia,'Times New Roman',serif;--display:'Altair Editorial',Georgia,serif;--serif:Notebook,'Songti SC',SimSun,serif}
html:lang(en){--serif:Georgia,'Times New Roman',serif}
body{font-kerning:normal;font-variant-ligatures:common-ligatures}
.site-actions{display:flex;align-items:center;gap:clamp(16px,2vw,32px);position:relative;z-index:2;pointer-events:auto}
.site-header .wordmark,.brand-name,.brand-signature{font-family:var(--roman);font-weight:400}
.site-header{align-items:center}
.site-header .wordmark{letter-spacing:.09em;min-height:44px}
.site-header .wordmark>.brand-name{font:inherit;letter-spacing:inherit;line-height:1}
.site-header .menu-toggle{display:inline-flex;align-items:center;justify-content:flex-start;min-height:44px;padding-top:0;padding-bottom:0;line-height:1}
.site-header .menu-toggle:before{top:calc(50% - 3px)}
.site-header .menu-toggle:after{top:calc(50% + 3px)}
.site-header[data-menu=open] .menu-toggle:before,.site-header[data-menu=open] .menu-toggle:after{top:50%}
.site-header .menu-toggle .motion-roll{line-height:1.25;vertical-align:baseline}
.language-toggle,.folio-header button.language-toggle,.tower-mode .folio-header button.language-toggle{
 display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:44px;min-height:44px;
 padding:0 7px;border:0;background:transparent;color:inherit;font:12px/1 var(--roman);
 letter-spacing:.06em;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:7px;
 cursor:pointer;pointer-events:auto;transition:text-decoration-color .2s ease;
}
.language-toggle:hover{text-decoration-color:currentColor}
.language-toggle:focus-visible{outline:1px solid currentColor;outline-offset:2px}
.language-toggle:disabled{cursor:wait;opacity:.55}
.folio-header>.brand-signature,.tower-mode .folio-header>.brand-signature{display:inline-flex;align-items:center;justify-content:center;gap:10px;flex-shrink:0}
.brand-signature .language-toggle{margin-left:8px}
.menu-toggle,.folio-header>.folio-back,.folio-header>.folio-close,.folio-footer nav{font-family:var(--serif)}
html:lang(en) .menu-toggle,html:lang(en) .folio-header>.folio-back,html:lang(en) .folio-header>.folio-close{
 font-family:var(--roman);letter-spacing:.035em;
}
html:lang(en) .site-header #main-menu .menu-label{font-family:var(--display);font-size:clamp(42px,5.4vw,76px);letter-spacing:-.025em;line-height:1.08}
.opening-copy h1,.tower-overview-copy h1{font-weight:400;letter-spacing:-.038em}
.motion-word,.motion-measure-word{white-space:pre}
.motion-measure-word{display:inline-block}
html:lang(en) .home-intro h2{font:400 clamp(40px,5.1vw,76px)/1.04 var(--display);letter-spacing:-.028em}
html:lang(en) .home-intro>p:not(.chapter-caption){font:400 clamp(16px,1.4vw,21px)/1.7 var(--serif);letter-spacing:0;width:min(720px,75%);max-width:65ch}
html:lang(en) .hero-note{letter-spacing:.015em}
html:lang(en) .latest-entry h3{font-family:var(--display);font-weight:400;letter-spacing:-.02em;line-height:1.14}
html:lang(en) .latest-entry>a>span:not(.entry-action){line-height:1.7;letter-spacing:0;max-width:55ch}
html:lang(en) .contents-list .entry-title{font-family:var(--display);letter-spacing:-.02em;line-height:1.1}
html:lang(en) .tower-room-entry h2{font:400 clamp(39px,5vw,72px)/1.08 var(--display);letter-spacing:-.025em;max-width:20ch;text-wrap:balance}
html:lang(en) .tower-room-entry-lede{font:400 17px/1.65 var(--serif);letter-spacing:0;max-width:54ch}
html:lang(en) .mage-tower .tower-reading-copy h1{font:400 clamp(43px,5.6vw,82px)/1.08 var(--display);letter-spacing:-.025em;max-width:19ch;text-wrap:balance}
html:lang(en) .tower-article-body,html:lang(en) .article-body{font:400 18px/1.8 var(--serif);letter-spacing:0;max-width:66ch;overflow-wrap:break-word}
html:lang(en) .tower-article-body h2,html:lang(en) .article-body h2{font:400 clamp(27px,2.6vw,38px)/1.2 var(--display);letter-spacing:-.012em;margin-bottom:.8em}
html:lang(en) .tower-article-lede,html:lang(en) .folio-lede,html:lang(en) .about-prose p{font-family:var(--serif);line-height:1.75;letter-spacing:0}
html:lang(en) .tower-floor-row>span:nth-child(2){font-family:var(--serif);font-size:20px;line-height:1.35;letter-spacing:-.015em}
html:lang(en) .tower-floor-row small{font-family:var(--roman);letter-spacing:.025em;line-height:1.6}
html:lang(en) .tower-caption,html:lang(en) .chapter-caption,html:lang(en) .folio-eyebrow{letter-spacing:.09em;line-height:1.6}
html:lang(en) .tower-floor-nav small{font:11px/1.5 var(--roman);letter-spacing:.01em}
html:lang(en) .mage-season-caption{font-size:10px;letter-spacing:.04em}
html:lang(en) .folio-main h1{font-family:var(--display);letter-spacing:-.028em;line-height:1.08}
html:lang(en) .about-prose h2{font-family:var(--display);font-size:32px;line-height:1.25;letter-spacing:-.012em}
@media(max-width:760px){
 .preview-controls.preview-controls{flex-wrap:nowrap;justify-content:flex-start;max-width:calc(100vw - 24px);overflow-x:auto;scrollbar-width:thin;white-space:nowrap;box-sizing:border-box;padding:6px 8px;bottom:8px}
 .preview-controls.preview-controls>*{flex-shrink:0}
 .preview-controls.preview-controls input{width:90px}
 .site-actions{gap:6px}
 .site-header .wordmark{font-size:9px;letter-spacing:.045em;gap:9px}
 .site-header .language-toggle{min-width:36px;font-size:11px}
 .site-header .menu-toggle{font-size:11px;padding-right:29px}
 .site-header .menu-toggle:before,.site-header .menu-toggle:after{width:19px}
 .menu-toggle:has(.motion-roll){min-width:0}
 .folio-header>.brand-signature,.tower-mode .folio-header>.brand-signature{display:inline-flex;gap:0}
 .folio-header>.brand-signature>.personal-logo,.folio-header .brand-name{display:none}
 .folio-header .brand-signature .language-toggle{margin-left:0}
 .folio-header,.tower-mode .folio-header{gap:8px}
 html:lang(en) .tower-mode .folio-header>.folio-back,html:lang(en) .tower-mode .folio-header>.folio-close{font-size:11px;gap:7px}
 html:lang(en) .site-header #main-menu .menu-label{font-size:clamp(35px,9vw,55px)}
 html:lang(en) .home-intro{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;box-sizing:border-box;padding:55.5svh 6% 0}
 html:lang(en) .home-intro>.chapter-caption{position:static;width:100%;margin:0 0 10px!important}
 html:lang(en) .home-intro h2{position:static;width:100%;font-size:clamp(29px,min(8.2vw,5svh),45px);line-height:1.08;margin:0 0 12px;transform:none}
 html:lang(en) .home-intro .motion-heading-line{display:block}
 html:lang(en) .home-intro>p:not(.chapter-caption){position:static;width:100%;font-size:14px;line-height:1.55;margin:0 0 12px;transform:none}
 html:lang(en) .home-intro .arrival-read{position:static;flex-shrink:0;min-height:40px;margin:0;transform:none}
 html:lang(en) .tower-room-entry h2{font-size:clamp(32px,8vw,46px);line-height:1.12}
 html:lang(en) .tower-room-entry-lede{font-size:15px;line-height:1.65}
 html:lang(en) .mage-tower .tower-reading-copy h1{font-size:clamp(35px,8.6vw,49px);line-height:1.13}
 html:lang(en) .tower-article-body,html:lang(en) .article-body{font-size:17px;line-height:1.8}
 html:lang(en) .tower-floor-row>span:nth-child(2){font-size:16px}
 html:lang(en) .tower-floor-row time{font-size:8px}
 html:lang(en) .tower-rehearsal-note{max-width:70%;font-size:8px;line-height:1.45}
 html:lang(en) .tower-floor-nav small{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.language-toggle{transition:none}}

/* Keep the caption, slogan and author link together in the lower paper area. */
.home-intro,html:lang(en) .home-intro{display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;padding:58svh 5% 6svh}
.home-intro>.chapter-caption,html:lang(en) .home-intro>.chapter-caption{position:static;width:100%;margin:0 0 clamp(12px,1.7svh,24px)!important}
.home-intro h2,html:lang(en) .home-intro h2{position:static;width:100%;margin:0;transform:none;font-size:clamp(26px,min(3.2vw,4.9svh),60px);line-height:1.34;white-space:normal}
.home-intro h2 br{display:block}
.home-intro h2 .motion-heading-line{display:block;margin-inline:auto}
.home-intro .arrival-read,html:lang(en) .home-intro .arrival-read{position:static;flex-shrink:0;transform:none;margin:clamp(20px,3svh,38px) 0 0}
@media(max-width:760px){
 .home-intro,html:lang(en) .home-intro{padding:58svh 5% 9svh}
 .home-intro h2{font-size:clamp(18px,5.05vw,30px);line-height:1.5}
 html:lang(en) .home-intro h2{font-size:clamp(18px,min(4.9vw,3svh),26px);line-height:1.35}
 html:lang(en) .home-intro h2 .motion-heading-line{width:auto;white-space:normal}
}


/* /release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/about-notebook.css */
/* A folded letter rests in the tower study. The chamber never becomes a long page. */
#folio.about-mode{
  --about-ink:#22333f;--about-paper:#ddd5bf;--about-text:#36464b;--about-blue:#355f78;
  background:var(--about-ink);color:var(--about-paper);
}
#folio.about-mode .folio-header{
  margin:0;padding:20px 5%;border:0;background:linear-gradient(#1d2c37f5,#1d2c37e8 48%,#1d2c3700);
  color:#decfb2;--control-ink:#decfb2;--control-paper:#22333f;
}
.about-mode .folio-header .folio-close{color:inherit}
.about-mode .folio-chamber{
  overflow:hidden;overscroll-behavior:none;
  background:radial-gradient(ellipse at 13% 15%,#425b6666,transparent 52%),#22333f;
  --control-ink:#decfb2;--control-paper:#22333f;
}
#folio.about-mode .folio-chamber>.folio-footer{display:none}
.about-folio ::selection{background:#a4c6d6;color:#17394c}
.folio-main.about-folio{position:relative;max-width:none;padding:0;margin:0;height:100%;overflow:hidden;isolation:isolate}
.about-folio:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background:url("/release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/assets/article-tower-v1/cotton-paper-tile.webp") repeat;opacity:.035}
.about-accessible{position:absolute!important;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.about-study{
  position:relative;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.22fr);gap:44px;
  width:min(1240px,88%);height:100%;margin:0 auto;padding:104px 0 28px;align-items:center;
}
.about-objects{position:relative;min-width:0;align-self:stretch;display:flex;align-items:center;justify-content:center}
.about-still-life{position:relative;width:min(100%,calc((100svh - 150px) * .757576));aspect-ratio:500/660;margin:0 auto}
.about-study-art{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.about-photo-stack{position:absolute;left:37%;top:26%;width:52%;aspect-ratio:3/4.3;z-index:3;display:block;border:0;padding:0;margin:0;background:transparent;color:#384a51;appearance:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;isolation:isolate}
.about-photo-sheet{position:absolute;inset:0;box-sizing:border-box;display:flex;flex-direction:column;padding:4% 4% 2%;transform-origin:50% 90%;background:linear-gradient(#d7d1bddd,#cec9b7e8),url("/release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/assets/article-tower-v1/cotton-paper-tile.webp") center/200px;box-shadow:3px 5px 2px #0e202766,12px 18px 17px #091b2873;pointer-events:none}
.about-photo-sheet:before{content:"";position:absolute;inset:4px;border:1px solid #ede4cf80;pointer-events:none;transition:border-color .25s ease}
.about-photo-sheet[data-depth="0"]{transform:rotate(-6deg);z-index:3;opacity:1}
.about-photo-sheet[data-depth="1"]{transform:translate(-64%,-3%) rotate(7deg) scale(.84);z-index:2;opacity:1}
.about-photo-sheet[data-depth="2"]{transform:translate(-5%,-3%) rotate(-2deg) scale(.97);z-index:1;opacity:0}
.about-photo-sheet img{display:block;flex:1;min-height:0;width:100%;height:0;object-fit:cover;object-position:center;filter:saturate(.9);user-select:none}
.about-photo-caption{display:block;flex:none;box-sizing:border-box;height:34px;font:italic clamp(20px,2.4vw,30px)/1.2 var(--display);text-align:right;padding:3px 9px 0;color:#384a51}
.about-photo-caption--github{font:13px/1.6 var(--sans);letter-spacing:.06em;padding-top:7px}
.about-photo-stack--pocket{display:none}
.about-photo-stack:focus-visible{outline:1px dashed #9ab5bd;outline-offset:13px}
.about-photo-stack[aria-busy=true]{cursor:default}
@media(hover:hover){.about-photo-stack:not([aria-busy=true]):hover .about-photo-sheet[data-depth="0"]:before{border-color:#fff1c5c2}}
.about-writing{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column;height:100%;max-height:750px;z-index:2}
.about-folder{position:relative;z-index:2;flex:1;min-height:0;isolation:isolate;container-type:size}
/* One continuous Z-fold strip: B is hinged to A, and C is hinged to B. */
.about-fold-window{position:absolute;inset:0;perspective:5200px;overflow:hidden}
.about-packet-camera,.about-folded-strip,.about-second-hinge,.about-third-hinge{position:absolute;inset:0;transform-style:preserve-3d}
.about-packet-camera{transform-origin:50% 0;transform:translateY(0) scale(1)}
.about-folded-strip{transform:rotateX(0deg)}
.about-second-hinge{top:100%;bottom:auto;height:100%;transform:translateZ(-2px) rotateX(180deg);transform-origin:50% 0}
.about-third-hinge{top:100%;bottom:auto;height:100%;transform:translateZ(-1px) rotateX(-180deg);transform-origin:50% 0}
.about-folder:is([data-face=back],[data-face=inside]) .about-folded-strip{transform:rotateX(180deg)}
.about-folder[data-face=inside] .about-packet-camera{transform:translateY(-92.5%) scale(.96)}
.about-folder[data-face=inside] .about-third-hinge{transform:translateZ(-1px) rotateX(0deg)}
.about-paper-surface,.about-paper-reverse{
  position:absolute;inset:0;backface-visibility:hidden;color:var(--about-text);
  background:linear-gradient(105deg,#eee7d2f5,#e4decaee 35%,#e3dcc7ef 78%,#ece5d0f5),url("/release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/assets/article-tower-v1/cotton-paper-tile.webp") center/280px,var(--about-paper);
  box-shadow:0 0 1px #726f5e88,3px 5px 8px #0b1c264d;
}
.about-paper-reverse{transform:rotateX(180deg);background:linear-gradient(100deg,#c9c6b1,#ded7c2),url("/release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/assets/article-tower-v1/cotton-paper-tile.webp") center/280px}
.about-paper-surface:after{content:"";position:absolute;inset:auto 0 0;height:2px;background:linear-gradient(transparent,#89816b38);pointer-events:none}
.about-back>.about-paper-surface{background:linear-gradient(96deg,#e7dfc9f5,#e8e1cdf0 60%,#dad3bded),url("/release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/assets/article-tower-v1/cotton-paper-tile.webp") center/280px,var(--about-paper)}
.about-inner>.about-paper-surface{background:linear-gradient(92deg,#e8e1cdf5,#eee6d1ef 48%,#e2dac3ed),url("/release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/assets/article-tower-v1/cotton-paper-tile.webp") center/280px,var(--about-paper)}
.about-fold-seam{position:absolute;inset:auto 0 -3px;height:7px;z-index:2;background:linear-gradient(transparent,#817d6330 43%,#f9efd463 58%,transparent);pointer-events:none}
.about-top-seam{top:-3px;bottom:auto;background:linear-gradient(transparent,#817d632e 39%,#fff5dd66 54%,transparent)}
.about-panel-body{
  position:relative;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;min-height:0;height:100%;
  padding:clamp(24px,5.8cqh,46px) clamp(28px,7.5cqw,56px) 50px;
}
.about-bookmark{
  position:absolute;right:27px;top:-12px;width:21px;height:72px;z-index:4;
  background:linear-gradient(90deg,#567d8f,#89a9b8 45%,#6f92a5);
  clip-path:polygon(0 0,100% 0,100% 100%,50% 88%,0 100%);pointer-events:none;
}
.about-bookmark:after{content:"";position:absolute;inset:0 4px;border:solid #bfd0cd70;border-width:0 1px}
.about-folder[data-busy=true]>.about-bookmark{opacity:0}
.about-intro h2{margin:0 0 clamp(17px,4cqh,29px);font:400 clamp(28px,6.5cqh,40px)/1.45 var(--serif);letter-spacing:.025em;color:#36494f}
.about-rem{position:relative;display:flex;align-items:center;gap:12px;margin:0 0 9px;font:400 clamp(18px,4.1cqh,23px)/1.5 var(--serif);white-space:nowrap;color:#385e71}
.about-rem>svg{position:absolute;width:35px;height:45px;left:-31px;top:4px;transform:rotate(-12deg)}
.about-rem em{font:400 clamp(34px,8.2cqh,48px)/1.2 var(--serif);font-style:normal;letter-spacing:.04em;margin:0 .07em;color:#8FD0F2}
.about-sky{font:14px/1.8 var(--serif);color:#456775;margin:0 0 clamp(19px,4.9cqh,32px)}
.about-sky-color{color:#8FD0F2}
.about-bio{font:clamp(14px,2.9cqh,16px)/1.9 var(--serif);color:#465251}
.about-bio p{margin:0 0 14px;white-space:pre-line;text-wrap:pretty}
.about-bio .about-status{font:12px/1.7 var(--sans);letter-spacing:.05em;color:#5a6056;margin-bottom:17px}
.about-bio .about-aside{font-size:14px;margin-bottom:0;color:#596458}
.about-panel-copy h2{font:400 clamp(26px,5.4cqh,32px)/1.4 var(--serif);letter-spacing:.03em;margin:0 0 18px;color:#354b51}
.about-panel-copy p{font:clamp(14px,2.95cqh,17px)/1.9 var(--serif);margin:0 0 15px;color:#47504a;text-wrap:pretty;overflow-wrap:break-word}
.about-origin p:last-child{margin-bottom:0}
.about-private{justify-content:center;padding-top:24px}
.about-private h2{font-size:clamp(25px,5.1cqh,30px);margin-bottom:13px}
.about-private .about-wish p{font-size:clamp(14px,2.85cqh,16px);line-height:1.8;margin-bottom:12px}
.about-signature{display:flex;justify-content:flex-end;margin:10px 5px 12px;color:#435f6b}
.about-signature>.personal-logo{width:43px;height:50px}
.about-wechat{position:relative;margin-top:3px;padding:14px 0 0;border-top:1px solid #7f887566}
.about-wechat-mark{display:block;flex:none;width:32px;height:30px;color:#6d867e;opacity:.82;transform:rotate(4deg)}
.about-wechat .about-channel{font:11px/1.6 var(--sans);letter-spacing:.05em;color:#576252;margin:0 0 6px}
.about-wechat h3{display:flex;align-items:center;gap:12px;margin:0 0 8px;font:400 clamp(24px,4.8cqh,28px)/1.4 var(--serif);color:#3d6476}
.about-wechat .about-wechat-copy{white-space:pre-line;font:14px/1.8 var(--serif);color:#47564f;margin:0}
.about-folio [data-about-personal][hidden],.about-folio [data-about-professional][hidden]{display:none!important}
.about-intro [data-about-name]{white-space:nowrap}
.about-identity-dust{position:absolute;inset:0;z-index:10;width:100%;height:100%;pointer-events:none}
.about-linkedin-link{min-width:0;color:inherit;font:400 clamp(14px,3cqh,18px)/1.65 var(--serif);letter-spacing:0;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:#6d867e66;text-underline-offset:4px;transition:text-decoration-color .25s ease}
.about-linkedin-link:hover{text-decoration-color:currentColor}
.about-linkedin-link:focus-visible{outline:1px dashed currentColor;outline-offset:5px}
.about-linkedin-mark{width:28px;height:28px;transform:rotate(2deg)}
/* The lifted edge cuts into the same paper surface; it is not an overlay icon. */
@property --curl-next{syntax:"<length>";inherits:true;initial-value:0px}
@property --curl-prev{syntax:"<length>";inherits:true;initial-value:0px}
.about-letter{position:absolute;inset:0;backface-visibility:hidden;color:var(--about-text);--curl-next:0px;--curl-prev:0px}
.about-letter{transition:--curl-next .22s ease,--curl-prev .22s ease}
.about-folder[data-pulling=true] .about-letter,.about-folder[data-busy=true] .about-letter{transition:none}
.about-letter:has(.about-corner-next){--curl-next:52px}
.about-letter:has(.about-corner-prev){--curl-prev:44px}
.about-folder[data-face=inside] .about-back{--curl-next:0px;--curl-prev:0px}
.about-folder[data-face=inside] .about-back .about-corner{visibility:hidden}
.about-paper-surface{pointer-events:none;clip-path:polygon(0 0,
    100% 0,
    calc(100% - var(--curl-next) * 0.00000) calc(100% - var(--curl-next) * 0.58000),
    calc(100% - var(--curl-next) * 0.01829) calc(100% - var(--curl-next) * 0.50881),
    calc(100% - var(--curl-next) * 0.04296) calc(100% - var(--curl-next) * 0.44051),
    calc(100% - var(--curl-next) * 0.07375) calc(100% - var(--curl-next) * 0.37547),
    calc(100% - var(--curl-next) * 0.11037) calc(100% - var(--curl-next) * 0.31407),
    calc(100% - var(--curl-next) * 0.15255) calc(100% - var(--curl-next) * 0.25671),
    calc(100% - var(--curl-next) * 0.20000) calc(100% - var(--curl-next) * 0.20375),
    calc(100% - var(--curl-next) * 0.25245) calc(100% - var(--curl-next) * 0.15558),
    calc(100% - var(--curl-next) * 0.30963) calc(100% - var(--curl-next) * 0.11259),
    calc(100% - var(--curl-next) * 0.37125) calc(100% - var(--curl-next) * 0.07516),
    calc(100% - var(--curl-next) * 0.43704) calc(100% - var(--curl-next) * 0.04366),
    calc(100% - var(--curl-next) * 0.50671) calc(100% - var(--curl-next) * 0.01848),
    calc(100% - var(--curl-next) * 0.58000) calc(100% - var(--curl-next) * 0.00000),
    calc(var(--curl-prev) * 0.58000) calc(100% - var(--curl-prev) * 0.00000),
    calc(var(--curl-prev) * 0.50671) calc(100% - var(--curl-prev) * 0.01848),
    calc(var(--curl-prev) * 0.43704) calc(100% - var(--curl-prev) * 0.04366),
    calc(var(--curl-prev) * 0.37125) calc(100% - var(--curl-prev) * 0.07516),
    calc(var(--curl-prev) * 0.30963) calc(100% - var(--curl-prev) * 0.11259),
    calc(var(--curl-prev) * 0.25245) calc(100% - var(--curl-prev) * 0.15558),
    calc(var(--curl-prev) * 0.20000) calc(100% - var(--curl-prev) * 0.20375),
    calc(var(--curl-prev) * 0.15255) calc(100% - var(--curl-prev) * 0.25671),
    calc(var(--curl-prev) * 0.11037) calc(100% - var(--curl-prev) * 0.31407),
    calc(var(--curl-prev) * 0.07375) calc(100% - var(--curl-prev) * 0.37547),
    calc(var(--curl-prev) * 0.04296) calc(100% - var(--curl-prev) * 0.44051),
    calc(var(--curl-prev) * 0.01829) calc(100% - var(--curl-prev) * 0.50881),
    calc(var(--curl-prev) * 0.00000) calc(100% - var(--curl-prev) * 0.58000))}
.about-corner{
  position:absolute;z-index:4;right:0;bottom:0;display:block;width:66px;height:66px;padding:0;
  border:0;background:transparent;color:inherit;cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;
}
.about-corner>svg{position:absolute;right:0;bottom:0;display:block;width:var(--curl-next);height:var(--curl-next);overflow:visible;pointer-events:none}
.about-curl-shadow{fill:#494531;opacity:.10}
.about-curl-edge{fill:none;stroke:#a39a80;stroke-width:.65;opacity:.65}
.about-curl-light{fill:none;stroke:#f8f0d8;stroke-width:.85;opacity:.7}
.about-corner-prev{left:0;right:auto}
.about-corner-prev>svg{left:0;right:auto;width:var(--curl-prev);height:var(--curl-prev)}
.about-letter[aria-hidden=true] .about-corner{visibility:hidden}
.about-folder[data-busy=true] .about-corner{pointer-events:none}
.about-folder[data-face=inside]>.about-bookmark{display:none}
.about-corner:focus-visible{outline:1px dashed #54778b;outline-offset:-5px;border-radius:0}
.about-letter:has(.about-corner-next:focus-visible){--curl-next:67px}
.about-letter:has(.about-corner-prev:focus-visible){--curl-prev:60px}
.about-folder[data-pulling=true] .about-corner{cursor:grabbing}
@media(hover:hover){.about-letter:has(.about-corner-next:hover:not(:disabled)){--curl-next:67px}.about-letter:has(.about-corner-prev:hover:not(:disabled)){--curl-prev:60px}}
/* Temporary articulated paper keeps text crisp while the surface bends. */
.about-flex-layer{position:absolute;inset:0;transform-style:preserve-3d;pointer-events:none;transform-origin:50% 50%}
.about-flex-band{position:absolute;top:0;left:0;width:100%;transform-origin:50% 0;transform-style:preserve-3d;will-change:transform}
.about-flex-face{position:absolute;inset:0;overflow:hidden;backface-visibility:hidden;transform:translateZ(.12px)}
.about-flex-verso{transform-origin:50% 0;transform:translate3d(0,var(--band-height),-.12px) rotateX(180deg)}
.about-letter.about-flex-copy{height:var(--sheet-height);bottom:auto;transition:none;--curl-next:0px;--curl-prev:0px}
.about-flex-copy .about-paper-surface{clip-path:none;box-shadow:none}
.about-flex-shade{position:absolute;inset:0;pointer-events:none}
.about-folded-strip.about-flexing{visibility:hidden}
.about-third-hinge.about-flexing>.about-inner,.about-third-hinge.about-flexing>.about-paper-reverse{visibility:hidden}
.about-folder[data-flexing=fold] .about-second-hinge>.about-back>.about-panel-body{visibility:hidden}
.about-folder[data-flexing=fold] .about-second-hinge>.about-back>.about-paper-surface:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,#79694c);opacity:var(--fold-shade,0)}
/* The same three cloth bookmarks and site names remain below the folded sheet. */
.about-next{position:relative;z-index:1;flex:none;display:grid;grid-template-columns:repeat(3,minmax(0,140px));justify-content:center;gap:22px;margin:-18px 20px 0;padding:0 0 13px}
.about-section-link{--tab-light:#547d90;--tab-dark:#35566a;--tab-pull:0px;position:relative;display:block;min-width:0;min-height:104px;color:#f4e9cd;text-decoration:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;filter:drop-shadow(3px 7px 3px #0a19284d)}
.about-section-link:nth-child(2){--tab-light:#64848c;--tab-dark:#3e636c;--tab-length:114px}
.about-section-link:nth-child(3){--tab-light:#687e92;--tab-dark:#435970;--tab-length:106px}
.about-tab{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:var(--tab-length,104px);box-sizing:border-box;padding:29px 10px 21px;background:linear-gradient(180deg,#182e406b,transparent 38px),linear-gradient(90deg,var(--tab-dark),var(--tab-light) 48%,var(--tab-dark));clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 12px),0 100%);transform:translateY(var(--tab-pull));transition:transform .32s cubic-bezier(.16,1,.3,1),filter .18s ease}
.about-tab:before{content:"";position:absolute;inset:0 5px 10px;border-inline:1px solid #cfddda40;pointer-events:none}
.about-tab-label{position:relative;text-align:center;font:16px/1.5 var(--serif);letter-spacing:.05em}
.about-tab>svg{width:35px;height:15px;fill:none;stroke:currentColor;stroke-width:1.2;transition:transform .32s cubic-bezier(.16,1,.3,1)}
.about-section-link:focus-visible{--tab-pull:7px;outline:2px solid #c2e4f1;outline-offset:5px}
.about-section-link:focus-visible .about-tab{filter:brightness(1.12)}
.about-section-link:focus-visible svg{transform:translateX(4px)}
@media(hover:hover){.about-section-link:hover{--tab-pull:7px}.about-section-link:hover .about-tab{filter:brightness(1.12)}.about-section-link:hover svg{transform:translateX(4px)}}
.about-section-link:active{--tab-pull:2px}.about-section-link:active .about-tab{filter:brightness(.92);transition-duration:.1s}.about-section-link:active svg{transform:translateX(1px)}
html:lang(en) .about-rem{font-size:clamp(22px,4.5cqh,26px);white-space:normal;line-height:1.5}
html:lang(en) .about-rem em{font-family:var(--display);font-size:clamp(38px,8cqh,47px);letter-spacing:-.02em}
html:lang(en) .about-panel-copy h2{font-family:var(--display);letter-spacing:0}
html:lang(en) .about-panel-copy p{line-height:1.75}
html:lang(en) .about-tab-label{font-size:14px;line-height:1.35;letter-spacing:0}
@media(min-width:1600px){.about-study{width:min(1480px,86%);column-gap:72px;padding-top:122px;padding-bottom:40px}.about-writing{max-height:820px}.about-still-life{width:min(100%,calc((100svh - 200px) * .757576))}}
@media(max-width:1050px) and (min-width:761px){
  .about-study{width:93%;column-gap:25px;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);padding-top:93px;padding-bottom:22px}
  .about-panel-body{padding-left:35px;padding-right:35px}.about-rem>svg{left:-24px;width:28px}
  .about-next{gap:16px;margin-inline:14px}
}
@media(max-width:760px){
  #folio.about-mode .folio-header{padding:10px 6%;background:linear-gradient(#1d2c37f5,#1d2c37ee 62%,#1d2c3700)}
  .about-study{display:block;width:90%;padding:80px 0 17px}
  .about-objects{display:none}.about-writing{height:100%;max-height:760px;margin:auto}
  .about-panel-body{padding:27px 29px 46px}
  .about-bookmark{right:18px;width:16px;top:-9px;height:48px}
  .about-intro h2{font-size:28px;letter-spacing:0;padding-right:62px;margin-bottom:27px}
  .about-intro{justify-content:center}
  .about-photo-stack--pocket{display:block;top:23px;left:auto;right:29px;width:56px}
  .about-photo-stack--pocket .about-photo-sheet{box-shadow:2px 4px 3px #2130394d}
  .about-photo-stack--pocket .about-photo-caption{height:12px;font-size:10px;padding:1px 3px 0}
  .about-photo-stack--pocket .about-photo-caption--github{font-size:6px;padding-top:2px}
  .about-rem{font-size:18px;margin-bottom:9px}.about-rem em{font-size:35px;margin:0 .05em}
  .about-rem>svg{width:27px;height:38px;left:-22px;top:1px}
  .about-sky{font-size:13px;margin-bottom:24px}
  .about-bio{font-size:15px}.about-bio .about-status{font-size:11px;letter-spacing:.02em;margin-bottom:16px}
  .about-panel-copy h2{font-size:27px;margin-bottom:16px}.about-panel-copy p{font-size:15px;line-height:1.85;margin-bottom:16px}
  .about-private{padding-top:22px}.about-private h2{font-size:25px;margin-bottom:12px}
  .about-private .about-wish p{font-size:14px;line-height:1.8;margin-bottom:10px}
  .about-signature{margin:6px 4px 12px}.about-signature>.personal-logo{width:37px;height:43px}
  .about-wechat{padding-top:13px}.about-wechat h3{font-size:25px;margin-bottom:7px}.about-wechat .about-channel{font-size:10px}.about-wechat .about-wechat-copy{font-size:13px;line-height:1.8}
  .about-wechat-mark{width:30px;height:28px}
  .about-next{gap:14px;margin:-18px 0 0;padding:0 13px 12px}
  .about-section-link{min-height:90px}.about-section-link:nth-child(2){--tab-length:98px}.about-section-link:nth-child(3){--tab-length:92px}
  .about-tab{min-height:var(--tab-length,90px);padding:27px 7px 19px;gap:6px}.about-tab-label{font-size:14px;letter-spacing:.025em}.about-tab>svg{width:30px;height:13px}
  html:lang(en) .about-rem{font-size:22px}html:lang(en) .about-rem em{font-size:38px}
  html:lang(en) .about-panel-copy p{font-size:15px;line-height:1.7}
  html:lang(en) .about-private .about-wish p{font-size:14px;line-height:1.65}
  html:lang(en) .about-tab-label{font-size:13px}
}
@media(max-height:690px){
  .about-study{padding-top:80px;padding-bottom:12px}
  .about-panel-body{padding-top:18px;padding-bottom:43px}
  .about-intro h2{font-size:28px;margin-bottom:18px}.about-rem{font-size:18px}.about-rem em{font-size:34px}
  .about-sky{font-size:13px;margin-bottom:17px}.about-bio{font-size:14px}.about-bio p{margin-bottom:9px}.about-bio .about-status{margin-bottom:12px}
  .about-panel-copy h2{font-size:25px;margin-bottom:12px}.about-panel-copy p{font-size:14px;line-height:1.7;margin-bottom:12px}
  .about-private .about-wish p{font-size:13px;line-height:1.65;margin-bottom:8px}.about-signature{margin:3px 4px 8px}.about-signature>.personal-logo{width:31px;height:36px}
  .about-wechat{padding-top:10px}.about-wechat h3{font-size:23px;margin-bottom:5px}.about-wechat .about-wechat-copy{font-size:12px}
  .about-section-link{min-height:83px}.about-section-link:nth-child(2){--tab-length:91px}.about-section-link:nth-child(3){--tab-length:85px}
  .about-tab{min-height:var(--tab-length,83px);padding:25px 7px 17px;gap:4px}.about-tab-label{font-size:14px}.about-tab>svg{height:12px}
  html:lang(en) .about-panel-copy p{font-size:14px;line-height:1.65}html:lang(en) .about-private .about-wish p{font-size:13px;line-height:1.6}
}
@media(max-width:360px){
  .about-study{width:91%}.about-panel-body{padding-left:25px;padding-right:25px}.about-intro h2{font-size:25px;padding-right:59px}
  .about-rem{font-size:16px}.about-rem em{font-size:31px}
}
@media(max-height:520px) and (min-width:761px){
  .about-study{padding-top:66px;padding-bottom:8px;width:94%;grid-template-columns:minmax(0,.55fr) minmax(0,1.5fr)}
  .about-writing{height:100%;display:grid;grid-template-columns:minmax(0,1fr) 78px;align-items:stretch}
  .about-next{display:flex;flex-direction:column;justify-content:center;gap:10px;margin:0 0 0 -14px;padding:0}
  .about-next .about-section-link{min-height:67px}
  .about-next .about-tab{min-height:67px;padding:9px 12px 9px 18px;gap:3px;clip-path:polygon(0 0,100% 0,calc(100% - 9px) 50%,100% 100%,0 100%)}
  .about-next .about-tab-label{font-size:12px}.about-next .about-tab>svg{width:24px;height:11px}
  .about-intro{display:grid;grid-template-columns:1fr 1fr;column-gap:25px;align-content:center}
  .about-intro h2{grid-column:1}.about-rem{grid-column:1;font-size:16px}.about-rem em{font-size:29px}.about-sky{grid-column:1;margin:5px 0 0}
  .about-bio{grid-column:2;grid-row:1/4;align-self:center;font-size:13px}
  .about-origin{display:block;padding-top:20px}.about-origin p{font-size:13px;line-height:1.6}
  .about-private{display:grid;grid-template-columns:1.2fr 1fr;column-gap:24px;align-items:center}
  .about-wechat{border-top:0;border-left:1px solid #7f887566;padding:0 0 0 20px}
}
@media(prefers-reduced-motion:reduce){
  .about-letter{transition:none}
  .about-section-link .about-tab,.about-section-link svg{transform:none;transition:none}
}
body[data-reduced=true] .about-letter{transition:none}
body[data-reduced=true] .about-section-link .about-tab,body[data-reduced=true] .about-section-link svg,body[data-reduced=true] .about-corner>svg{transform:none;transition:none}
/* A quiet footnote, below the site's story in both languages. */
.about-origin .about-development-note{font:12px/1.75 var(--serif);color:#788073;margin:clamp(20px,4.5cqh,32px) 0 0;text-wrap:pretty}
html:lang(en) .about-origin .about-development-note{font-size:12px;line-height:1.65}
@media(max-height:690px){.about-origin .about-development-note,html:lang(en) .about-origin .about-development-note{font-size:11px;line-height:1.65;margin-top:18px}}

/* Keep the bookmarks tucked away until the third paper face settles. Their
   reserved space keeps all three paper faces at the same size. */
.about-next{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-18px);transition:opacity .18s ease,transform .25s ease,visibility 0s .25s}
.about-next[data-visible=true]{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .65s cubic-bezier(.25,1,.5,1),transform .75s cubic-bezier(.25,1,.5,1),visibility 0s}
.about-next[data-visible=true]:not([inert]){pointer-events:auto}
@media(prefers-reduced-motion:reduce){.about-next,.about-next[data-visible=true]{transform:none;transition:none}}
body[data-reduced=true] .about-next,body[data-reduced=true] .about-next[data-visible=true]{transform:none;transition:none}


/* /release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/chapter-passage.css */
/* The same old paper as the book, with a folded edge instead of a blank fade. */
.chapter-passage[popover]{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;overflow:hidden;background:transparent;color:inherit;pointer-events:none}
.chapter-passage::backdrop{background:transparent;pointer-events:none}
.chapter-passage-paper{position:absolute;top:-15%;left:0;width:180%;height:130%;transform:translate3d(100vw,0,0);will-change:transform;clip-path:polygon(8% 0,100% 0,92% 100%,0 100%);background:linear-gradient(103deg,#b3a991 0%,#cec3a9 15%,#d2c5aa 46%,#c5b99f 84%,#918a79 100%)}
.chapter-passage-paper:before{content:'';position:absolute;inset:0;background:url("/release-20260929-r23/release-20260928-r16-9d6a894d/r4/package-h/textures/0b0783b997904128d27d8635c2aff6d11f228b19f1ac8f9756fc69253119548a.webp") repeat;background-size:540px;opacity:.11;mix-blend-mode:multiply}
.chapter-passage-paper:after{content:'';position:absolute;inset:0 0 0 86%;transform:skewX(-6deg);transform-origin:center;background:linear-gradient(90deg,transparent,#e1d5b94d 45%,#5b574a40 52%,#c6baa000 90%);border-left:1px solid #eee0bf40}
.chapter-passage-paper i{position:absolute;inset:0 87% 0 7%;transform:skewX(-6deg);background:linear-gradient(90deg,#3a3c3740,transparent);border-left:1px solid #efe0be88}
body[data-navigating=true]{overflow:hidden}
body[data-navigating=true] .site-header,body[data-navigating=true] #theatre,body[data-navigating=true] .stage-footer,body[data-navigating=true] .scroll-invitation{pointer-events:none}
/* The stage header must not remain visible below the folio header through a
   transparent route viewport. It returns while the paper still covers it. */
body.folio-open:not([data-menu-open=true]) .site-header{visibility:hidden}
@media(prefers-reduced-motion:reduce){.chapter-passage-paper{will-change:auto}}


/* /release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/header-language.css */
/* Fade the header itself: translating it would re-anchor the fixed contents menu. */
.site-header,.folio-header{transition:opacity .3s ease,color .25s ease}
.site-header[data-header-hidden=true],.folio-header[data-header-hidden=true]{opacity:0;pointer-events:none}
.site-header[data-header-hidden=true]>:is(.wordmark,.site-actions),
.site-header[data-header-hidden=true] .site-actions *,
.folio-header[data-header-hidden=true] *{pointer-events:none}
body[data-menu-open=true] .site-header{opacity:1}
.site-header:focus-within,.folio-header:has(:focus-visible){transition-duration:.16s}

.locale-passage{--locale-paper:#d3c5aa;position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;padding:0;margin:0;border:0;background:transparent;overflow:hidden;pointer-events:none;z-index:1000;contain:strict}
.locale-passage::backdrop{background:transparent;pointer-events:none}
.locale-passage[hidden]{display:none}
.locale-passage[data-sealed=true]{background:var(--locale-paper)}
.locale-passage-shade{position:absolute;inset:0;background:#12171f;opacity:0}
.locale-passage-grid{position:absolute;inset:0;display:grid;grid-auto-flow:column;grid-template:repeat(12,minmax(0,1fr))/repeat(20,minmax(0,1fr))}
.locale-passage-cell{display:block;margin:-1px;background:var(--locale-paper);transform:scaleX(0);transform-origin:center}
body:is([data-locale-phase=covering],[data-locale-phase=covered],[data-locale-phase=revealing]) :is(#theatre,.folio-dialog,.site-header,.stage-footer){pointer-events:none}
body:is([data-locale-phase=covering],[data-locale-phase=covered],[data-locale-phase=revealing]) :is(#theatre,.folio-dialog,.site-header,.stage-footer) *{pointer-events:none}
.language-toggle[aria-busy=true]{opacity:1}
body[data-reduced=true] :is(.site-header,.folio-header){transition:none}
@media(prefers-reduced-motion:reduce){.site-header,.folio-header{transition:none}}

/* The signature returns to the opening; the back arrow returns to Journal. */
#folio .folio-header .folio-home{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:44px;color:inherit;text-decoration:none;pointer-events:auto}
#folio .folio-header .folio-home .personal-logo{width:23px}
#folio .folio-header .folio-home .brand-name{text-decoration:none}

#folio .folio-header .folio-home:focus-visible{outline:1px solid currentColor;outline-offset:5px}
body[data-navigating=true] #folio .folio-header .folio-home,
#folio .folio-header[data-header-hidden=true] .folio-home{pointer-events:none}
@media(max-width:760px){
 #folio .folio-header .folio-home{min-width:38px;gap:0}
 #folio .folio-header .folio-home .personal-logo{width:22px}
}
@media(prefers-reduced-motion:reduce){#folio .folio-header .folio-home .brand-name{transition:none}}


/* /release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/journal-actions.css */
/* R4's two action types: an expanding paper plate and a quiet editorial link. */
.bridge-arrival .journal-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 30px;margin-top:25px}
.bridge-arrival .journal-actions .entry-action.motion-ink{display:inline-flex!important;min-height:46px;width:auto;margin:0;padding:12px 24px!important;font:14px/1.5 var(--serif)!important;letter-spacing:.04em}
.bridge-arrival .journal-actions .entry-action.motion-ink>span[data-i18n]{font:inherit;color:inherit}
.journal-actions .entry-action.motion-ink>.motion-ink-bg{border-radius:23px}
.journal-actions .entry-action.motion-ink>.motion-ink-outline{border-radius:23px}
.journal-actions .entry-action.motion-ink.r4-hot>.motion-ink-bg{inset:-4px;border-radius:0}
.journal-actions .entry-action.motion-ink.r4-hot>.motion-ink-outline{inset:0;border-radius:0;opacity:1}

/* The short rule grows with intent; no frame or decorative tower silhouette. */
.bridge-arrival .journal-actions .all-posts.tower-vista,.tower-article-end .tower-vista{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:46px;width:fit-content;margin:0;padding:12px 0;border:0;background:none;color:var(--r4-paper,#dfceb1);font:14px/1.5 var(--serif);letter-spacing:.04em;text-decoration:none;white-space:nowrap}
.bridge-arrival .journal-actions .tower-vista>.tower-vista-label{color:inherit;font:inherit}
.tower-vista::after{content:"";position:absolute;left:0;bottom:6px;width:100%;height:1px;background:currentColor;opacity:.65;transform:scaleX(.25);transform-origin:left center;transition:transform 1.2s var(--r4-out),opacity .6s var(--r4-out);pointer-events:none}
.tower-vista.r4-hot::after,.tower-vista:focus-visible::after{transform:scaleX(1);opacity:1}
.tower-vista:focus-visible{outline:1px solid currentColor;outline-offset:6px}
.tower-vista:active{opacity:.78}
.latest-entry>a:focus-visible{outline:1px solid var(--r4-paper);outline-offset:7px}

@media(min-width:761px){.bridge-arrival .latest-entry{position:relative;top:auto;left:0;margin:70svh 0 0 9.5%}.bridge-arrival .journal-contents{margin-top:48px}}
@media(max-width:760px){.bridge-arrival .journal-actions{gap:12px 26px;margin-top:22px}}
@media(prefers-reduced-motion:reduce){.tower-vista::after{transition:none}}
body[data-reduced=true] .tower-vista::after{transition:none}


/* /release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/opening-design.css */
/* Opening composition: lettering on the near sheet, the book at the threshold. */
.opening-copy>.hero-note{
  left:6%;top:auto;bottom:calc(100% - var(--opening-title-top,30%) + var(--opening-caption-gap,24px));width:41%;margin:0;
  font-size:clamp(15px,1.35vw,23px);font-weight:400;line-height:1.7;
  letter-spacing:.035em;color:#dfd0b8;text-shadow:none;
}
.opening-copy h1{left:5.5%;top:31%;width:45%;text-align:left;font-size:9vw;line-height:.91}
.spatial-title .opening-copy h1{width:1px}
/* The invitation belongs to the scene's lettering, with no separate surface. */
.prologue .open-action{
  position:absolute;isolation:isolate;left:66%;right:auto;top:auto;bottom:10%;
  display:inline-flex;align-items:center;justify-content:space-between;gap:26px;
  width:max-content;min-width:176px;min-height:54px;box-sizing:border-box;padding:12px 8px;
  border:0;border-radius:0;background:none;box-shadow:none;color:#dfd0b8;
  font:400 clamp(18px,1.35vw,23px)/1.5 var(--serif);letter-spacing:.045em;
  text-shadow:none;transform:none;pointer-events:auto;touch-action:manipulation;
  transition:color .45s var(--r4-out);
}
.prologue .open-action::before,.prologue .open-action::after{content:none;display:none}
.prologue .open-action>span{position:relative;background:none;padding:0;white-space:nowrap}
.prologue .open-action>svg{
  position:relative;display:block;flex:none;width:44px;height:20px;padding:0;border:0;border-radius:0;
  fill:none;stroke:currentColor;stroke-width:1.2;background:none;box-shadow:none;color:inherit;
  scale:1;transform:none;transition:transform .55s var(--r4-out);
}
.prologue .open-action:focus-visible{color:#f0e1c5;outline:1px solid #dfd0b8;outline-offset:5px}
.prologue .open-action:focus-visible>svg{background:none;box-shadow:none;color:inherit;transform:translateX(5px);scale:1}
@media(hover:hover) and (pointer:fine){
  .prologue .open-action:hover{color:#f0e1c5}
  .prologue .open-action:hover>svg{background:none;box-shadow:none;color:inherit;transform:translateX(5px);scale:1}
}
.prologue .open-action:active{color:#d0c2aa}
.prologue .open-action:active>svg{transform:translateX(2px);scale:1}
html:lang(en) .prologue .open-action{font-family:var(--roman);letter-spacing:.025em}
@media(max-width:759px) and (orientation:portrait){
  .opening-copy>.hero-note{left:7%;top:auto;bottom:calc(100% - var(--opening-title-top,16%) + var(--opening-caption-gap,14px));width:86%;font-size:13px;letter-spacing:.03em}
  .opening-copy h1{top:16%;left:7%;width:72%;font-size:14vw}
  .prologue .open-action{left:50%;bottom:max(78px,11svh);min-width:168px;min-height:52px;padding:12px 8px;gap:26px;font-size:18px;transform:translateX(-50%)}
  .prologue .open-action>svg{width:38px;height:20px}
}
@media(prefers-reduced-motion:reduce){.prologue .open-action,.prologue .open-action>svg{transition:none}}
body[data-reduced=true] .prologue .open-action,body[data-reduced=true] .prologue .open-action>svg{transition:none}


/* /release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/rem-loader.css */
.rem-loader {
  position: fixed; inset: 0; z-index: 100;
  display: grid; place-items: center; overflow: hidden;
  background: radial-gradient(ellipse at 49% 42%, #263649 0, #192637 48%, #101a29 100%);
  isolation: isolate; contain: layout paint style;
}
.rem-loader[hidden] { display: none; }
.rem-loader::before {
  content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: url("/release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/assets/paper-loader-fiber.webp") repeat; opacity: .025; mix-blend-mode: screen;
}
.rem-loader[data-covered="true"]::before { display: none; }
.rem-scene { width: 100%; height: 100%; display: block; opacity: 0; }
.rem-loader[data-ready="true"] .rem-scene { opacity: 1; transition: opacity 650ms ease; }
.rem-loader[data-snapshot="true"] .rem-scene { transition: none; }
.rem-loader[data-state="failed"] { background: #172132; }
.rem-scene image { pointer-events: none; }
.rem-exit {
  position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible;
  pointer-events: none; visibility: hidden;
}
.rem-loader[data-state="finishing"] .rem-exit { visibility: visible; }
.rem-destination { position: fixed; inset: 0; width: 100%; height: 100%; border: 0; background: #172132; }
@media (prefers-reduced-motion: reduce) {
  .rem-loader[data-ready="true"] .rem-scene { transition: none; }
}


/* /release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/rem-site-loader.css */
.site-rem-loader {
  position: fixed; inset: 0; z-index: 10010; display: block; overflow: hidden;
  isolation: isolate; background: #192637; transition: none; touch-action: none;
}
.site-rem-loader[hidden] { display: none !important; }
.site-rem-loader[data-covered="true"] { background: transparent; }
.site-rem-loader > .rem-loader { position: absolute; z-index: 0; }
.rem-loader-status, .rem-loader-progress {
  position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%);
}
.site-rem-loader[data-state="error"] .rem-loader-status {
  z-index: 1; width: auto; height: auto; clip-path: none; left: 24px; right: 24px; bottom: 7vh;
  display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center;
  color: #e2d1b5; font: 400 14px/1.8 var(--serif, Georgia, serif);
}
.rem-loader-status button {
  font: inherit; color: inherit; border: 0; border-bottom: 1px solid #d5c3a780;
  background: none; padding: 7px 0; cursor: pointer;
}
.rem-loader-status button:focus-visible { outline: 1px solid #e2d1b5; outline-offset: 6px; }


/* /release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/rem-loader-playback.css */
@font-face {
  font-family:RemLoadingScript;src:url("/release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/assets/rem-loader-v1/lettering/loading-script.woff2") format('woff2');
  font-weight:400;font-style:normal;font-display:block;
}
.rem-loader.rem-playback { background:var(--rem-curtain-color,#192637); }
.rem-playback::before { display:none; }
.rem-film { position:absolute;inset:0;overflow:hidden;opacity:0; }
.rem-playback[data-ready="true"] .rem-film { opacity:1;transition:opacity .3s ease-out; }
.rem-film[hidden] { display:none; }
.rem-film-picture,.rem-loading-frame { position:absolute;left:50%;top:50%;width:min(100vw,150dvh);max-width:none;height:auto;aspect-ratio:3/2;transform:translate(-50%,-50%);display:block; }
.rem-film-picture[hidden] { display:none; }
.rem-loading-frame { pointer-events:none;container-type:inline-size; }
.rem-loading-note {
  position:absolute;left:68.5%;top:91%;transform:translate(-50%,-50%);white-space:nowrap;
  color:#decbb0;font:400 3.65cqw/1 RemLoadingScript,'Segoe Script',cursive;
  display:flex;align-items:baseline;opacity:.94;
}
.rem-loading-dots { display:flex;gap:.035em;margin-left:.075em; }
.rem-loading-dots i { display:block;font-style:normal;animation:rem-dot-breath 1.8s ease-in-out infinite; }
.rem-loading-dots i:nth-child(2) { animation-delay:.16s; }
.rem-loading-dots i:nth-child(3) { animation-delay:.32s; }
@keyframes rem-dot-breath { 0%,55%,100% {transform:translateY(0)} 26% {transform:translateY(-.075em)} }
.rem-playback[data-paused="true"] .rem-loading-dots i { animation-play-state:paused; }
.rem-playback[data-reduced="true"] .rem-loading-dots i { animation:none; }
@media (max-aspect-ratio:85/100) {
  .rem-film-picture,.rem-loading-frame { width:min(160vw,125.902dvh);transform:translate(-49.479167%,-53.222656%); }
  .rem-loading-note { font-size:4.6cqw; }
}
.rem-strip-passage { position:absolute;inset:0;overflow:hidden;pointer-events:none; }
.rem-strip-passage[hidden] { display:none; }
.rem-curtain-strip { position:absolute;top:0;background:var(--rem-curtain-color,#192637);transform:translateY(0); }
.rem-playback[data-state="revealing"] .rem-curtain-strip { will-change:transform; }
body[data-rem-arrival="revealing"] .site-header,
body[data-rem-arrival="revealing"] .stage-footer,
body[data-rem-arrival="revealing"] .scroll-invitation { animation:rem-arrival-ink .7s .12s both; }
@keyframes rem-arrival-ink { from { opacity:0; } to { opacity:1; } }
@media(prefers-reduced-motion:reduce) {
  .rem-playback[data-ready="true"] .rem-film { transition:none; }
  .rem-loading-dots i { animation:none; }
  .rem-curtain-strip { will-change:auto; }
}


/* /release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/journey-loading.css */
/* Loading belongs to the existing page-turn invitation, without a popup. */
.travel-cue .journey-preparation {
  position: absolute;
  right: 0;
  bottom: calc(100% + 8px);
  width: max-content;
  max-width: min(70vw, 24rem);
  font: inherit;
  letter-spacing: .035em;
  color: inherit;
  opacity: .7;
  pointer-events: none;
  animation: page-preparation-appear .4s ease-out both;
}
.travel-cue .journey-preparation[hidden] { display: none; }
.travel-cue[data-preparing="waiting"] svg { animation: page-preparation-breathe 1.8s ease-in-out infinite; }
@keyframes page-preparation-appear { from { opacity: 0; transform: translateY(3px); } to { opacity: .7; transform: translateY(0); } }
@keyframes page-preparation-breathe { 0%,100% { opacity: .45; } 50% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .travel-cue .journey-preparation,.travel-cue[data-preparing="waiting"] svg { animation: none; }
}


.r6-loading-routes{position:absolute;left:5%;bottom:max(24px,env(safe-area-inset-bottom));z-index:10035;display:flex;gap:1.5rem}.r6-loading-routes a{padding:12px 0;color:#dfd1af;font:12px/1.7 var(--serif,serif);text-decoration:none;opacity:.8;pointer-events:auto}


/* /release-20260929-r23/release-20260928-r16-9d6a894d/experiments/blog-motion-v2/paper-demo/touch-input.css */
/* Loaded after the frozen presentation styles. Only these horizontal gesture
   surfaces own x movement; article bodies retain native vertical scrolling. */
.r12-book-gesture,.mvp-gallery,.mvp-project-viewport{touch-action:pan-y pinch-zoom}
.r12-book-gesture{position:fixed;z-index:7;pointer-events:auto;background:transparent}
.r12-book-gesture[hidden]{display:none!important}
.contents-finale{touch-action:pinch-zoom}
.mvp-realm[data-ending=true]{touch-action:pinch-zoom}
.mvp-gallery video,.mvp-gallery audio,.mvp-gallery input,.mvp-gallery textarea,
.mvp-gallery select,.mvp-gallery [contenteditable=true]{touch-action:auto}


/* /patch-20260930-r26-7cd16aa3c26f/r26-mobile.css */
/* Scope is the existing full mobile mode; desktop retains its original rules. */
body[data-mobile-full="true"] .mvp-world-camera{will-change:auto}
body[data-mobile-full="true"] .mvp-dynamic-layer{contain:none;isolation:auto;will-change:auto;transform:none}
body[data-mobile-full="true"] .mvp-structure-viewport{display:block;position:absolute;inset:0;width:100%;height:100%;z-index:1;overflow:hidden;pointer-events:none;fill:none;stroke:none}
body[data-mobile-full="true"] .mvp-gallery{overflow:hidden}
body[data-mobile-full="true"] .mvp-paper{will-change:auto}


/* /patch-20261001-r28-1a1cc1816034/r28-tower-layers.css */
/* Keep the authored CSS 3D camera. Let the compositor choose the surfaces
   needed for the current pose instead of permanently promoting clipped and
   zero-size ancestors throughout the room-to-tower scale change. */
#folio-content>.article-tower.mage-tower,
.article-tower.mage-tower .mage-section-world,
.article-tower.mage-tower .mage-exterior,
.article-tower.mage-tower .mage-shell-panel{will-change:auto}


/* /patch-20261016-toybox-e4763b94766c/toybox-media.css */
/* Keep the existing gallery and native video controls in separate hit areas. */
.mvp-project-card[data-project-id] .mvp-project-cover.mvp-project-video-cover{aspect-ratio:16/9;background:#202932;cursor:auto}
.mvp-project-video{display:block;width:100%;height:100%;object-fit:contain;background:#202932;touch-action:auto}
.mvp-project-video:focus-visible{outline:1px solid #cfc3a5;outline-offset:-2px}
.mvp-project-video-meta{display:flex;align-items:center;gap:12px;min-height:24px;color:#b3ab94;font:10px/1.5 var(--sans,sans-serif);letter-spacing:.07em;cursor:auto}
.mvp-project-video-meta>a{margin-left:auto;min-width:24px;min-height:24px;text-align:right;text-decoration:none;font-size:16px}
.mvp-project-video-error{font-size:10px;letter-spacing:0}
.mvp-project-video-error[hidden]{display:none}
.mvp-project-card:has(.mvp-project-video) .mvp-project-rule{margin-top:12px}
.mvp-project-card[data-open="true"]>.mvp-project-video-cover,.mvp-project-card[data-open="true"]>.mvp-project-video-meta{visibility:hidden}
.mvp-project-card[data-project-id="mitya"] .mvp-project-cover img{object-fit:contain;transform:none}
#mobile-lite .mvp-project-video-cover{display:block;width:100%;aspect-ratio:16/9}
#mobile-lite .mvp-project-video-meta{margin:8px 0 20px;color:inherit}
@media(max-width:600px){.mvp-project-video-meta{font-size:10px;min-height:28px}.mvp-project-video-meta>a{min-height:28px;min-width:32px}}

/* Header / Home visual layer */
/* Concept authority: references/opening-with-type.png and the paper valley.
   The original controls, reading paper, layout and motion remain authoritative. */
.opening-copy > .hero-note { font-size: clamp(17px, 1.55vw, 25px); color: #e6dacb; }
.scene-grade-mask {
  background: radial-gradient(ellipse at 62% 43%, transparent 31%, rgba(12,14,24,.055) 67%, rgba(8,10,19,.30) 100%);
}
::selection { background: #cbbb9a; color: #11141e; }

@media (max-width: 760px) {
  .opening-copy > .hero-note { font-size: 14px; }
}

/* Only the changing caption fragments; the button and arrow keep their geometry. */
.motion-label-morph{display:inline-grid;vertical-align:middle;line-height:inherit;text-align:inherit;white-space:pre;overflow:visible}
.motion-label-morph,.motion-label-from,.motion-label-to,.motion-morph-glyph,.motion-morph-fragment{margin:0!important;padding:0!important;font:inherit!important;letter-spacing:inherit}
/* Each caption keeps its natural width and the original left ink edge,
   even while the shared grid reserves room for the longer destination. */
.motion-label-from,.motion-label-to{grid-area:1/1;display:block;white-space:pre;justify-self:start;text-align:start}
.motion-morph-glyph{display:inline-grid;white-space:pre;vertical-align:baseline}
.motion-morph-fragment{grid-area:1/1;display:inline-block;transform-origin:50% 50%;will-change:transform,opacity}
.motion-morph-band-0{clip-path:inset(0 0 66.666% 0)}
.motion-morph-band-1{clip-path:inset(33.333% 0 33.333% 0)}
.motion-morph-band-2{clip-path:inset(66.666% 0 0 0)}
