:root{color-scheme:dark;font-family:"PingFang SC","Microsoft YaHei",sans-serif;color:#f4efe1;background:#111511;font-synthesis:none}*{box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{margin:0}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}button:focus-visible{outline:2px solid #ead1a2;outline-offset:6px}button:disabled{opacity:.5;cursor:wait}[hidden]{display:none!important}#game{height:100dvh;min-height:380px;overflow:hidden;position:relative;background:#111511}#scene{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden}#landscape{width:100%;height:100%;object-fit:contain;transition:opacity .65s,transform 1.1s;will-change:transform}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,17,14,.54),transparent 75%),linear-gradient(0deg,rgba(12,16,12,.68),transparent 24%,transparent 85%,rgba(12,16,12,.34));pointer-events:none}header{position:absolute;top:0;left:0;right:0;padding:25px 3.7%;display:flex;justify-content:space-between;align-items:center;z-index:3;font-size:12px;letter-spacing:2px}.brand{font-weight:700}.brand i{margin:0 16px;opacity:.4}.brand small{font-weight:400;font-size:10px;opacity:.7}header button{padding:8px 10px;font-size:11px;letter-spacing:1px}#cover{position:absolute;inset:0;padding:0 8%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.edition{position:absolute;top:19%;font-size:13px;letter-spacing:3px;color:#e7cfa2}.edition span{margin-left:22px;font-size:10px;letter-spacing:2px;opacity:.7}.eyebrow{font-size:11px;letter-spacing:5px;color:#e3d6bc;margin:50px 0 18px}h1{font-size:clamp(64px,9.8vw,150px);line-height:1.08;font-weight:1000;letter-spacing:-5px;margin:0;text-shadow:0 3px 30px #1a201d55;animation:title-in 1.8s both}.tagline{font-size:clamp(15px,1.8vw,23px);letter-spacing:7px;margin:24px 0 36px;color:#ede5d4}.start{border-bottom:1px solid #e5ceb688;padding:10px 0 13px;min-width:205px;text-align:left;letter-spacing:3px;font-size:14px}.start span{float:right;color:#d8b881;font-size:23px;line-height:18px}#resume{font-size:11px;margin-top:14px;color:#e4cfaa}.cover-bottom{position:absolute;bottom:28px;left:3.7%;right:3.7%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;color:#d7d1c1a6}#objective{position:absolute;top:100px;left:4%;font-size:13px;letter-spacing:2px;border-left:2px solid #a54e3d;padding-left:15px;line-height:1.9}#objective small{display:block;color:#dfd8c2;font-size:10px;letter-spacing:1px}.crosshair{position:absolute;top:50%;left:50%;font-weight:200;opacity:.55;pointer-events:none}#subtitle{position:absolute;bottom:117px;left:15%;right:15%;text-align:center;font-size:20px;line-height:1.8;text-shadow:0 2px 8px #000}#subtitle small{display:block;font-size:10px;letter-spacing:3px;color:#e4c695}#controls{position:absolute;bottom:52px;left:10%;right:10%;display:flex;justify-content:center;gap:24px}#controls button{border-bottom:1px solid #d0c3a5;padding:10px 20px;letter-spacing:2px;font-size:13px;background:#11181066}#controls .hint{font-size:11px;align-self:center;color:#d9d5c7}.bottomline{position:absolute;bottom:20px;left:4%;right:4%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;color:#e0d6bf99}#hotspots{position:absolute;inset:0}.hotspot{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:12px;white-space:nowrap;font-size:12px;letter-spacing:2px;text-shadow:0 2px 4px black;padding:18px}.hotspot:before{content:"";width:10px;height:10px;border:1px solid #fff4d7;transform:rotate(45deg);box-shadow:0 0 0 7px #fff2c211;animation:pulse 2.5s infinite}.hotspot:hover:before{background:#e9c88a}.hotspot.done{opacity:.5}dialog{width:min(840px,90vw);max-height:85svh;border:0;padding:45px 55px;background:#c5b28e;color:#302d22;box-shadow:0 20px 90px #0009;background-image:repeating-linear-gradient(95deg,#ffffff05 0px,#ffffff05 1px,transparent 1px,transparent 4px)}dialog::backdrop{background:#0b100ed9}.close{position:absolute;right:22px;top:16px;font-size:12px;color:#4f4737}dialog h2{font-size:32px;letter-spacing:3px;margin:15px 0 25px}dialog p{font-size:14px;line-height:2}dialog .label{font-size:10px;letter-spacing:3px;color:#655c47}dialog .note{font-size:11px;line-height:1.9;color:#655c47;border-top:1px solid #51432d44;padding-top:16px}dialog button.action{border-bottom:1px solid #5b4831;padding:12px 0;font-size:14px;letter-spacing:2px;margin-top:14px;min-width:140px;text-align:left}dialog nav{display:flex;justify-content:space-between;margin-top:22px;font-size:12px}dialog a{color:#473621}.bag{margin:25px auto;width:190px;height:130px;background:#67634d;border-radius:9px 9px 30px 30px;box-shadow:inset 0 0 35px #262c22;border:1px dashed #b5a680;position:relative;transform:rotate(-4deg)}.bag:before{content:"";position:absolute;inset:10px 10px 50%;border-bottom:2px solid #a89876;border-radius:0 0 50% 50%}.bag:after{content:"";position:absolute;width:12px;height:40px;background:#9e9270;left:90px;top:25px;border:1px solid #4e4937}#transition{position:absolute;inset:0;background:#111713e8;z-index:4;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;animation:title-in .8s}#transition h2{font-size:clamp(32px,6vw,75px);letter-spacing:6px;margin:20px}#transition p{letter-spacing:4px;font-size:13px;color:#d1c5a8}#transition button{margin-top:24px;border-bottom:1px solid #c1ae89;padding:12px;font-size:12px}#rotate{display:none}#error{position:absolute;inset:0;z-index:10;background:#182019;padding:20%;text-align:center}#rotate>span{font-size:50px}@keyframes title-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{50%{box-shadow:0 0 0 11px #fff2c205}}@media(max-height:550px){header{padding:14px 3%}.edition{top:17%}.eyebrow{margin:45px 0 10px}h1{font-size:85px}.tagline{margin:15px 0 15px;font-size:16px}.cover-bottom{bottom:15px}#objective{top:64px}#subtitle{bottom:93px;font-size:17px}#controls{bottom:35px}dialog{padding:32px 40px}dialog h2{margin:8px 0;font-size:25px}dialog p{font-size:12px;line-height:1.8}.bag{height:90px;margin:15px auto}dialog .note{padding-top:8px}}@media(orientation:portrait) and (max-width:800px){#rotate{position:absolute;inset:0;z-index:8;background:#17201bf5;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px;text-align:center}#rotate p{font-size:12px;line-height:2;color:#c7c2b2}#rotate button{border-bottom:1px solid #a9936a;padding:15px;margin-top:30px}#game.portrait #rotate{display:none}h1{font-size:64px;letter-spacing:-3px}.edition span{display:block;margin:10px 0}.tagline{font-size:13px;letter-spacing:3px}.eyebrow{font-size:9px;letter-spacing:2px}.cover-bottom span:first-child{display:none}header{font-size:10px}header .brand small{display:none}#objective{top:75px;font-size:11px}#subtitle{left:7%;right:7%;font-size:16px}#controls{left:3%;right:3%;gap:8px}#controls button{font-size:11px;padding:10px}.bottomline{font-size:8px}dialog{padding:40px 25px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Cinematic prop inspection */
dialog.prop-inspect{width:min(1120px,94vw);padding:0;background:#1b201b;color:#f0e8d6;overflow:auto;max-height:90svh}.prop-inspect #inspect-content{display:grid;grid-template-columns:1.35fr 1fr;min-height:350px}.prop-art{display:flex;background:#25291f;align-items:center}.prop-art img{display:block;width:100%;height:100%;object-fit:cover}.prop-copy{padding:65px 36px 35px;align-self:center}.prop-copy h2{font-size:27px;line-height:1.5;letter-spacing:1px}.prop-copy p{font-size:13px;color:#c8c3b3}.prop-copy .label{color:#c2a773}.prop-copy .note{border-color:#c8b38933;color:#a49d8b;font-size:10px}.prop-copy button.action{border-color:#c1a375;color:#e6d1a5}.prop-inspect .close{color:#e7d9bc;z-index:1;text-shadow:0 1px 4px #111}
/* A chapter title occupies the screen, with the landscape behind it. */
#transition.chapter-entrance{background:#141b19;overflow:hidden;animation:none}.chapter-backdrop{position:absolute;inset:0;background:linear-gradient(0deg,#111b19d9,transparent 60%,#0b141b66),linear-gradient(90deg,#17201f88,#101a2055),url('../assets/scenes/04-rain-march.webp') center/cover;animation:chapter-landscape 7s ease-out both}.chapter-heading{position:relative;text-align:center;width:100%;padding:0 4%;margin-top:-3vh}.chapter-number{font-size:11px!important;letter-spacing:6px!important;color:#d7b780!important}.chapter-number span{margin-left:24px;letter-spacing:4px}.chapter-rule{width:45px;height:2px;background:#a64b38;margin:24px auto}.chapter-date{font-size:12px!important;letter-spacing:6px!important;color:#d5d0c1!important}#transition.chapter-entrance h2{font-size:clamp(76px,14.5vw,224px);font-weight:1000;letter-spacing:.13em;line-height:1.15;margin:28px 0 24px;padding-left:.13em;color:#f2ebda;text-shadow:0 6px 45px #0006;animation:chapter-title 2s cubic-bezier(.18,.68,.2,1) both}.chapter-line{font-size:14px!important;letter-spacing:6px!important;animation:title-in 2.8s both}.chapter-footer{position:absolute;left:5%;right:5%;bottom:5%;display:flex;justify-content:space-between;align-items:end;border-top:1px solid #e5d7b533;padding-top:15px}.chapter-footer p{font-size:10px!important;letter-spacing:2px!important}.chapter-footer button{font-size:11px!important;margin:0 0 0 25px!important;padding:8px 0!important;letter-spacing:1px}.chapter-footer>div{display:flex}@keyframes chapter-title{from{opacity:0;letter-spacing:.24em;transform:translateY(16px)}to{opacity:1;letter-spacing:.13em;transform:translateY(0)}}@keyframes chapter-landscape{from{transform:scale(1.045)}to{transform:scale(1)}}@media(max-height:550px){.chapter-rule{margin:12px auto}#transition.chapter-entrance h2{font-size:clamp(70px,13vw,150px);margin:10px 0 12px}.chapter-heading{margin-top:-5vh}.chapter-footer{bottom:4%;padding-top:8px}.prop-copy{padding:40px 25px 18px}.prop-copy h2{font-size:23px}.prop-inspect #inspect-content{min-height:280px}}@media(orientation:portrait) and (max-width:800px){#transition.chapter-entrance h2{font-size:19vw;letter-spacing:.05em;padding-left:.05em}.chapter-heading{margin-top:-8vh}.chapter-line{font-size:11px!important;letter-spacing:3px!important}.chapter-footer{display:block;text-align:center}.chapter-footer>div{justify-content:center;margin-top:15px}.chapter-footer button{margin:0 12px!important}.prop-inspect #inspect-content{display:block}.prop-art img{max-height:32svh;object-fit:cover}.prop-copy{padding:25px}.prop-copy h2{font-size:23px}.prop-copy p{font-size:12px}.chapter-number{font-size:10px!important}}
@media(orientation:portrait) and (max-width:800px){.prop-art{justify-content:center;background:#191d17}.prop-art img{height:auto;width:100%;max-height:36svh;object-fit:contain}}
/* A physical notebook: two leaves, a stitched spine and folded paper. */
dialog.journal-inspect{width:min(980px,94vw);padding:24px 25px 12px;background:linear-gradient(105deg,#4a4232,#2f3026 48%,#514a39);color:#3e3829;border-radius:3px 8px 8px 3px;box-shadow:0 25px 90px #000b;overflow:auto}.journal-inspect .close{top:7px;right:13px;color:#e2d3ac;font-size:10px}.journal-spread{display:grid;grid-template-columns:1fr 1fr;perspective:1200px;box-shadow:2px 7px 8px #0007;animation:paper-open .55s ease both}.paper-leaf{position:relative;min-height:380px;padding:32px 37px 45px;background-color:#d6c397;background-image:repeating-linear-gradient(98deg,#5a452208 0,#5a452208 1px,transparent 1px,transparent 4px),radial-gradient(ellipse at 4% 90%,#9d774c50,transparent 55%),linear-gradient(90deg,#9e825440,transparent 8%,transparent 90%,#7b603644);overflow:hidden}.paper-left{border-radius:2px 0 0 2px;box-shadow:inset -15px 0 22px -17px #392d19,inset 2px 0 8px #6c4d2533;border-right:1px solid #78603b}.paper-right{background-color:#dbc9a2;box-shadow:inset 15px 0 20px -16px #392d19;border-radius:0 2px 5px 0}.paper-right:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;background:repeating-linear-gradient(0deg,transparent 0px,transparent 26px,#58452f88 27px,#baa474 28px,transparent 29px)}.paper-kicker{font-size:10px;letter-spacing:4px;color:#796c4f}.paper-leaf h2{font-size:35px;font-weight:850;letter-spacing:7px;margin:22px 0 25px;padding-bottom:16px;border-bottom:2px solid #70604355}.paper-leaf h3{font-size:27px;letter-spacing:5px;margin:28px 0 24px}.paper-leaf dl{display:grid;grid-template-columns:70px 1fr;gap:16px 12px;margin-top:28px}.paper-leaf dt{font-size:11px;color:#7b6a4d;letter-spacing:2px;align-self:center}.paper-leaf dd{font-size:14px;margin:0;line-height:1.8}.paper-leaf dd small{font-size:10px;display:block;color:#77684b}.paper-stamp{position:absolute;right:30px;top:76px;color:#8c493c77;border:2px solid #8c493c66;padding:5px 7px;transform:rotate(-8deg);font-size:11px;font-weight:800;letter-spacing:1px}.paper-fold{position:absolute;left:0;right:0;top:53%;height:2px;background:#806c4214;box-shadow:0 1px 1px #fff3;pointer-events:none;transform:rotate(-1deg)}.ruled-text{background:repeating-linear-gradient(transparent 0,transparent 33px,#6c634322 34px,transparent 35px);padding-bottom:35px}.ruled-text p{font-size:15px!important;line-height:35px!important;margin:0 0 35px!important;letter-spacing:1px}.paper-page{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#8a7959;font-size:10px}.journal-nav{color:#d9c9a8;padding:2px 12px;margin-top:10px!important}.journal-nav button{font-size:11px;letter-spacing:2px;padding:8px}.journal-nav #sources{opacity:.65;font-size:10px}@keyframes paper-open{from{opacity:0;transform:rotateX(3deg) translateY(8px)}to{opacity:1;transform:rotateX(0) translateY(0)}}@media(max-height:550px){.paper-leaf{min-height:270px;padding:21px 28px 32px}.paper-leaf h2{font-size:26px;margin:12px 0;padding-bottom:10px}.paper-leaf h3{font-size:23px;margin:20px 0}.paper-leaf dl{margin-top:15px;gap:10px}.ruled-text p{font-size:12px!important;line-height:28px!important;margin-bottom:28px!important}.ruled-text{background:repeating-linear-gradient(transparent 0,transparent 26px,#6c634322 27px,transparent 28px)}.paper-stamp{top:50px}.journal-inspect{max-height:94svh}}
@media(orientation:portrait) and (max-width:800px){dialog.journal-inspect{padding:24px 12px 10px}.journal-spread{grid-template-columns:1fr}.paper-leaf{min-height:300px;padding:26px}.paper-left{border-right:0;border-bottom:1px solid #78603b}.paper-right{min-height:260px}.paper-leaf h2{font-size:29px}.paper-leaf dl{gap:9px;margin-top:18px}.paper-leaf h3{margin:18px 0;font-size:24px}.ruled-text p{font-size:13px!important;line-height:30px!important;margin-bottom:30px!important}.ruled-text{background:repeating-linear-gradient(transparent 0,transparent 28px,#6c634322 29px,transparent 30px);padding-bottom:5px}.journal-nav{position:sticky;bottom:-12px;background:#37392d;margin:0 -12px -12px!important;padding:5px 7px}}
