@font-face{font-family:ExpeditionTitle;src:url('../assets/fonts/expedition-title.woff2') format('woff2');font-weight:900;font-display:swap}
@font-face{font-family:ExpeditionInk;src:url('../assets/fonts/expedition-ink.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--title:ExpeditionTitle,"PingFang SC",sans-serif;--ink:ExpeditionInk,"Kaiti SC",serif;--warm:#e9dfc7;--red:#792f24}
#game{min-height:0}.on-cover #landscape{object-fit:cover;object-position:center;animation:landscape-dawn 1.2s ease-out both}.on-cover .shade{background:linear-gradient(0deg,#0b120c77,transparent 27%),linear-gradient(90deg,#11191222,transparent 45%)}.on-cover header .brand{visibility:hidden}.on-cover header{z-index:3}.on-cover header button{color:#ded4bb}#cover{padding:0;display:block;transition:opacity .6s}#cover.leaving{opacity:0;pointer-events:none}#cover .edition{top:6.3%;left:4.3%;color:#ebdec2;letter-spacing:5px;text-shadow:0 1px 6px #0009}#cover .edition strong{font-family:var(--ink);font-size:clamp(17px,1.8vw,28px);font-weight:400}#cover .edition i{font-style:normal;color:#a04530;margin:0 14px}#cover .edition span{display:block;margin:10px 0 0;font-size:clamp(10px,.9vw,13px);letter-spacing:2px;opacity:1}.cover-title{position:absolute;left:35%;top:23%;width:60%;text-align:center}#cover h1{font-family:var(--title);display:flex;align-items:baseline;justify-content:center;font-size:clamp(75px,12.8vw,220px);font-weight:900;line-height:1.25;letter-spacing:-.035em;color:#762e22;text-shadow:0 1px 0 #d7b78222;animation:poster-title 1s 1s both;margin:0;transform-origin:center}#cover h1 span:first-child{font-size:1.1em;transform:translateY(.04em)}#cover h1 span:nth-child(3){transform:translateY(.025em)}#cover .tagline{font-size:clamp(13px,1.7vw,26px);letter-spacing:.22em;margin:16px 0 0;color:#332d22;text-shadow:0 1px 4px #ffe6b666;animation:title-in .5s 2s both;font-weight:500}.cover-actions{position:absolute;left:50%;bottom:11%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;animation:title-in .5s 2.5s both}#cover .start{min-width:245px;padding:17px 31px;background:linear-gradient(100deg,#672a20,#862f22 45%,#70291f);border:1px solid #b7815755;outline:1px solid #9b654122;outline-offset:4px;color:#ecddbd;font-size:17px;letter-spacing:5px;box-shadow:0 5px 15px #14170944;border-radius:0;clip-path:polygon(1% 1%,99% 0,100% 96%,0 100%)}#cover .start span{font-size:23px;color:#e1c59f;margin-left:30px}#cover .start:hover{background:#91372a}#cover #resume{font-size:11px;letter-spacing:2px;margin:0;text-shadow:0 1px 5px #000}.cover-bottom{font-size:10px;letter-spacing:2px}#transition h2,#transition.chapter-entrance h2{font-family:var(--title)}#transition.chapter-entrance h2{font-weight:900}.chapter-number{font-family:var(--ink)}header{letter-spacing:1px}.brand{font-family:var(--title)}#objective{border-left:1px solid #9d674b;font-size:14px;letter-spacing:2px}#objective small{font-size:11px;letter-spacing:1px;opacity:.65;max-width:400px}#subtitle{font-size:clamp(17px,1.7vw,23px);letter-spacing:1px}#subtitle small{font-size:11px;letter-spacing:2px;color:#d0bb92;margin-bottom:3px}#controls button{font-size:13px;letter-spacing:2px;background:transparent;border-color:#c0ae8580}#rotate{z-index:30;background:#151b16fa}#rotate:before{content:"";position:absolute;inset:0;background:linear-gradient(#131b18c9,#131b18ed),url('../assets/scenes/00-cover.webp') center/cover;z-index:-1}#rotate h2{font-family:var(--title);font-size:25px}#rotate p{max-width:300px}
@keyframes landscape-dawn{from{opacity:0;filter:brightness(.3)}to{opacity:1;filter:brightness(1)}}@keyframes poster-title{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(max-height:550px){#cover .edition{top:6%;left:4%}#cover .edition strong{font-size:18px}#cover .edition span{font-size:9px;margin-top:5px}.cover-title{top:22%}#cover h1{font-size:12.6vw}#cover .tagline{font-size:14px;margin-top:5px}.cover-actions{bottom:10%}#cover .start{padding:11px 24px;min-width:205px;font-size:14px}.cover-bottom{bottom:12px;font-size:9px}.chapter-number span{margin-left:0}}
/* Dedicated camera views, with no window or card around the physical prop. */
dialog.immersive-inspect{position:fixed;inset:0;margin:0;padding:0;width:100vw;max-width:none;height:100svh;max-height:none;border:0;border-radius:0;background:transparent;background-image:none;color:#e9dfc7;box-shadow:none;overflow:hidden}dialog.immersive-inspect::backdrop{background:#0b100bc4}.immersive-inspect .close{position:absolute;right:max(25px,env(safe-area-inset-right));top:22px;z-index:15;font-size:12px;color:#e5d6b5;letter-spacing:2px;padding:12px 15px;text-shadow:0 1px 4px #000;background:#13180e44}.immersive-inspect #inspect-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column}.bag-view::backdrop{background:#111710ed}.inventory-scene{position:relative;width:min(100vw,calc(100svh * 1.7778));aspect-ratio:16/9;isolation:isolate;overflow:hidden;--focus-x:50%;--focus-y:50%}.bag-frames{position:absolute;inset:0;transform-origin:var(--focus-x) var(--focus-y);transition:transform .7s cubic-bezier(.2,.7,.2,1)}.bag-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .36s ease;pointer-events:none}.bag-frame.release,.bag-frame.opened{opacity:0}.inventory-scene.contact .bag-frames{animation:bag-touch .18s ease}.inventory-scene.released .closed{opacity:0}.inventory-scene.released .release{opacity:1}.inventory-scene.open .release{opacity:0}.inventory-scene.open .opened{opacity:1}.inventory-scene.focused .bag-frames{transform:scale(2.05)}.inventory-scene.extracting .bag-frames{transform:scale(2.8);opacity:0;transition:transform .55s,opacity .45s}.object-target{position:absolute;display:flex;align-items:center;justify-content:center;gap:12px;flex-direction:column;padding:0;border:0;background:none;z-index:2;outline-offset:0;transition:filter .3s}.object-target i{display:block;width:8px;height:8px;transform:rotate(45deg);border:1px solid #f4e3bc;box-shadow:0 0 0 7px #2f301d55}.object-target span{font-size:13px;letter-spacing:2px;color:#f6e6c3;text-shadow:0 2px 5px #000;background:#1a1b12a8;padding:6px 12px;border:1px solid #cdb37b33;white-space:nowrap;opacity:0;transform:translateY(4px);transition:opacity .25s,transform .25s}.object-target:hover span,.object-target:focus-visible span,.item-notebook span,.knot-target span{opacity:1;transform:none}.object-target:hover i{background:#edd9ad;box-shadow:0 0 0 10px #edd9ad22}.object-target:hover{filter:brightness(1.1)}.knot-target{left:43%;top:36%;width:17%;height:30%}.inventory-items{position:absolute;inset:0}.item-notebook{left:54%;top:20%;width:22%;height:30%}.item-cloth{left:27%;top:19%;width:21%;height:25%}.item-ration{left:42%;top:35%;width:16%;height:19%}.prop-hint{position:absolute;bottom:22px;left:15%;right:15%;text-align:center;font-size:12px;letter-spacing:2px;text-shadow:0 2px 7px #000;background:none;pointer-events:none}.object-caption{position:absolute;left:6%;bottom:11%;z-index:3;text-shadow:0 2px 6px #000}.object-caption h2{font-family:var(--ink);font-size:30px;font-weight:400;letter-spacing:4px}.object-caption p{font-size:14px;letter-spacing:1px}.inventory-scene.focused:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#10140bd9,transparent 55%);pointer-events:none}.notebook-object{position:relative;display:block;width:min(38vw,calc(79svh * .67));height:79svh;padding:0;animation:object-arrive .6s ease both;filter:drop-shadow(10px 17px 15px #0009)}.notebook-object img{width:100%;height:100%;object-fit:contain}.cover-label,.hard-label{position:absolute;top:17%;right:23%;writing-mode:vertical-rl;font-family:var(--ink);font-size:clamp(20px,3.2vh,32px);letter-spacing:.18em;color:#453420;pointer-events:none}.book-stage{position:relative;filter:drop-shadow(0 17px 17px #0006);animation:object-arrive .5s ease both}.book-stage:after{content:"";position:absolute;top:5%;bottom:5%;left:calc(50% - 1px);width:2px;background:#55442c22;z-index:5;pointer-events:none}.notebook-sheet{background-image:url('../assets/props/notebook-spread.webp');background-size:200% 100%;color:#44392b;container-type:size;overflow:hidden;user-select:none;touch-action:none;box-shadow:inset 0 0 1px #847456}.notebook-sheet.side-left{background-position:left center}.notebook-sheet.side-right{background-position:right center}.sheet-copy{position:absolute;inset:12% 12% 8%;padding:0;pointer-events:none}.sheet-date{font-family:"PingFang SC",sans-serif;font-size:clamp(11px,3.6cqw,15px);font-weight:500;letter-spacing:1px;margin:0!important;color:#5c4a32;line-height:1.5}.sheet-copy h2{font-family:var(--ink);font-size:clamp(17px,6.3cqw,27px);font-weight:400;letter-spacing:2px;margin:8% 0 9%;line-height:1.3}.sheet-lines p{font-family:var(--ink);font-size:clamp(12px,4.9cqw,21px);font-weight:400;line-height:1.9;letter-spacing:0;margin:0!important;white-space:nowrap;color:#423626}.sheet-number{position:absolute;bottom:0;width:100%;text-align:center;font-family:var(--ink);font-size:12px;color:#8d7c5c}.notebook-hard{background:none;box-shadow:none}.hard-art{position:absolute;inset:0;background:url('../assets/props/notebook-cover.webp') center/100% 100% no-repeat}.hard-label{font-size:clamp(20px,7cqw,31px)}.back-cover .hard-art{transform:scaleX(-1);filter:brightness(.72)}.physical-book-nav{display:flex;align-items:center;justify-content:center;gap:35px;margin:10px 0 0!important;position:relative;z-index:10;min-height:40px}.physical-book-nav button{font-size:12px;letter-spacing:2px;padding:12px 10px;color:#ddcbaa}.physical-book-nav #book-sources{font-size:11px;opacity:.7}.physical-book-nav #book-return{border-bottom:1px solid #ac956b88}.book-gesture{font-size:10px;letter-spacing:2px;color:#cbbd9b88;margin-top:0}.source-document{width:min(640px,80vw);max-height:78svh;overflow:auto;font-size:13px;line-height:2;color:#cfc5af}.source-document h2{font-family:var(--ink);font-size:28px;letter-spacing:3px;color:#e8d9ba;font-weight:400}.source-document p{font-size:13px;line-height:2}.source-document a{color:#dbbc81;display:inline}.source-document button{border-bottom:1px solid #b69e71;padding:10px 0;margin-top:10px;letter-spacing:2px}.source-view::backdrop{background:#101710e8}@keyframes bag-touch{50%{transform:translateY(2px)}}@keyframes object-arrive{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-height:550px){.immersive-inspect .close{top:8px;right:15px;font-size:11px;padding:10px}.prop-hint{bottom:12px;font-size:11px}.object-target span{font-size:12px;padding:5px 9px}.physical-book-nav{gap:25px;margin:3px 0 0!important;min-height:34px}.physical-book-nav button{font-size:11px;padding:10px}.book-gesture{font-size:9px}.sheet-copy{inset:11% 12% 7%}.sheet-copy h2{margin:7% 0}.notebook-object{height:78svh}.cover-label{font-size:20px}.source-document{max-height:80svh}.source-document h2{font-size:23px}.source-document p{font-size:12px;line-height:1.8}}
@media(hover:none){.object-target span{opacity:1;transform:none}.object-target{min-width:44px;min-height:44px}}
@media(orientation:portrait) and (max-width:800px){#game.portrait #rotate{display:flex}.immersive-inspect{visibility:hidden}}
/* Center each text block within its own leaf, never across the gutter. */
.sheet-copy{text-align:center}.sheet-date,.sheet-copy h2,.sheet-lines,.sheet-lines p{width:100%;text-align:center}.sheet-number{left:0}.cover-label,.hard-label{text-align:center}
