:root{--credit-space:62px;--paper:#f2eee4;--cream:#e9e1d2;--ink:#283b35;--muted:#686e62;--line:rgba(57,70,52,.20);--blue:#285e80;--gold:#b08749;--split:100%;--safe-bottom:env(safe-area-inset-bottom,0px);--top:env(safe-area-inset-top,0px);--sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--serif:Georgia,"Times New Roman",serif;color-scheme:light}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-tap-highlight-color:transparent}body{overscroll-behavior:none}button,a,input,summary{touch-action:manipulation}button,a{font-family:inherit}button{cursor:pointer;color:inherit}button,a{user-select:none;-webkit-user-select:none}button{border:0;background:none;font-size:inherit}button:disabled,[aria-disabled=true]{cursor:not-allowed}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--blue);outline-offset:4px;border-radius:4px}h1,h2,p,figure{margin:0}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;flex:none}em{font-weight:400}img{user-select:none;-webkit-user-drag:none}[hidden]{display:none!important}.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;margin:-1px;overflow:hidden;white-space:nowrap}.eyebrow{font-size:10px;line-height:1.5;letter-spacing:2.2px;font-weight:600}.short-line{height:1px;width:33px;background:var(--ink);display:inline-block;margin-right:12px;vertical-align:middle}
#stage{position:fixed;inset:0 0 calc(var(--credit-space) + var(--safe-bottom));overflow:hidden;touch-action:none;background:#e6dfd1;isolation:isolate;cursor:grab}#stage:active{cursor:grabbing}.plane{position:absolute;inset:0;overflow:hidden}.world{position:absolute;left:0;top:0;width:1055px;height:745px;transform-origin:0 0;will-change:transform;backface-visibility:hidden}.visual{position:absolute;inset:0}.visual img,.visual>svg{width:100%;height:100%;object-fit:fill;display:block}.alternate-plane{clip-path:inset(0 0 0 var(--split));transition:clip-path .9s cubic-bezier(.2,.75,.2,1);z-index:3;pointer-events:none}.dragging-rift .alternate-plane{transition:none}.vignette{position:absolute;inset:0;background:linear-gradient(180deg,rgba(237,230,214,.42),transparent 22%,transparent 65%,rgba(54,44,27,.15));pointer-events:none;z-index:4}.scene-wash{position:absolute;inset:0;pointer-events:none;background:#ede7da;opacity:0;z-index:5;transition:opacity .27s}.scene-wash.flash{opacity:.92}.dust{position:absolute;inset:0;overflow:hidden;pointer-events:none}.dust span{position:absolute;display:block;width:3px;height:3px;border-radius:50%;background:#fff9dd;opacity:0;animation:mote 13s infinite ease-in-out;box-shadow:0 0 6px #fff5ce}@keyframes mote{0%,100%{opacity:0;transform:translate(0,0)}25%,75%{opacity:.58}90%{transform:translate(24px,-85px);opacity:0}}.hotspots{position:absolute;inset:0;z-index:6}.hotspot{position:absolute;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;transform:translate(-50%,-50%) scale(var(--pin-scale,1));filter:drop-shadow(0 1px 2px rgba(45,37,22,.14));cursor:pointer}.hotspot:before{content:"";position:absolute;inset:6px;border:1px solid rgba(49,71,58,.32);border-radius:50%;background:rgba(250,243,224,.20);transition:all .25s}.hotspot:after{content:"";width:7px;height:7px;background:#f5f1df;border:1px solid rgba(34,56,48,.6);box-shadow:0 0 0 3px rgba(250,245,228,.35);border-radius:50%;transition:all .2s}.hotspot:hover:before,.hotspot:focus-visible:before{inset:0;background:rgba(246,239,218,.75);border-color:var(--ink)}.hotspot:hover:after,.hotspot:focus-visible:after{background:var(--ink)}.hotspot.collected:after{background:var(--blue);border-color:#e7e5d8;box-shadow:0 0 0 3px rgba(41,81,103,.18)}.hotspot-label{position:absolute;left:50%;top:48px;transform:translateX(-50%);white-space:nowrap;background:rgba(245,239,222,.97);border:1px solid var(--line);padding:6px 10px;border-radius:3px;font-size:11px;opacity:0;pointer-events:none;transition:opacity .2s}.hotspot:hover .hotspot-label,.hotspot:focus-visible .hotspot-label{opacity:1}.is-prologue .hotspots{visibility:hidden}.is-memory .hotspots{visibility:hidden}
.topbar{position:fixed;top:0;left:0;right:0;z-index:25;padding:calc(24px + var(--top)) 36px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(180deg,rgba(244,236,218,.90),rgba(244,236,218,.30) 80%,transparent);pointer-events:none}.topbar>*{pointer-events:auto}.wordmark{display:flex;flex-direction:column;gap:5px}.brand-title{font-family:var(--serif);font-size:25px;letter-spacing:-.7px;line-height:1}.brand-author{font-size:8px;letter-spacing:1.7px;font-weight:600}.top-actions{display:flex;align-items:center;gap:7px}.icon-button{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s;flex:none}.icon-button:hover{background:rgba(250,246,232,.65)}.icon-button svg{width:21px;height:21px}.book-button{display:flex;align-items:center;gap:12px;border:1px solid rgba(53,69,51,.3);padding:11px 16px;font-size:12px;border-radius:2px;margin-left:9px;background:rgba(246,240,224,.52);min-height:44px}.book-button svg{width:18px;height:18px}.book-button:hover{background:var(--paper)}
.prologue{position:fixed;inset:0 0 calc(var(--credit-space) + var(--safe-bottom));z-index:15;display:flex;align-items:center;pointer-events:none;background:linear-gradient(90deg,rgba(237,230,215,.99),rgba(237,230,215,.95) 28%,rgba(237,230,215,.52) 51%,rgba(237,230,215,0) 72%)}.prologue-copy{pointer-events:auto;max-width:560px;margin:20px 0 0 7vw;padding:32px 0}.prologue h1{font-family:var(--serif);font-weight:400;font-size:clamp(64px,6.4vw,108px);line-height:1.03;letter-spacing:-5px;margin-top:29px}.prologue h1 em{color:#6e7958}.intro-lead{font-family:var(--serif);font-size:clamp(22px,2vw,28px);line-height:1.4;margin-top:25px}.intro-instructions{color:#5d6758;line-height:1.75;font-size:13px;margin-top:22px}.primary-button{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:52px;padding:15px 21px;background:var(--ink);color:#f7f1e0;border:1px solid var(--ink);border-radius:2px;font-weight:500;letter-spacing:.15px;font-size:13px;transition:background .2s,transform .2s}.primary-button:hover{background:#3c5045}.primary-button:active{transform:translateY(1px)}.primary-button svg{width:22px;height:22px}.prologue .primary-button{margin-top:30px;min-width:252px;width:max-content}.intro-options{display:flex;align-items:center;gap:22px;margin-top:17px;flex-wrap:wrap;font-size:10px;color:#535d4b}.separator{opacity:.5;margin:0 5px}.intro-options button{font-size:10px;display:flex;align-items:center;gap:7px;padding:8px 0;min-height:36px}.intro-options svg{width:15px;height:15px}.prologue-note{position:absolute;bottom:96px;right:6vw;display:flex;align-items:flex-start;gap:20px;color:#3e4b3b}.prologue-note p{font-size:9px;letter-spacing:1.3px;line-height:1.9}.prologue-note strong{font-family:var(--serif);font-weight:400;font-size:19px;letter-spacing:0}.note-line{width:1px;height:70px;background:#686d52}.prologue-bottom{position:absolute;bottom:24px;left:36px;right:36px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.6px;color:#63705e}.text-button{font-size:12px;text-decoration:underline;text-underline-offset:4px;padding:12px 0;min-height:44px;line-height:1.5}.text-button:hover{color:var(--blue)}
.scene-label{position:absolute;top:110px;left:50%;transform:translateX(-50%);z-index:10;display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:1px;background:rgba(245,239,224,.8);border:1px solid rgba(112,116,95,.2);backdrop-filter:blur(6px);padding:10px 15px;border-radius:2px;white-space:nowrap}.small-dot{width:3px;height:3px;background:var(--muted);border-radius:50%}.room-controls{position:fixed;left:36px;bottom:calc(136px + var(--credit-space) + var(--safe-bottom));z-index:10;display:flex;align-items:center;gap:20px}.soft-button{display:inline-flex;align-items:center;gap:10px;background:rgba(245,239,224,.86);border:1px solid var(--line);padding:11px 15px;border-radius:2px;font-size:11px;min-height:44px;backdrop-filter:blur(8px)}.soft-button svg{width:18px;height:18px}.drag-hint{font-size:10px;color:#455441;background:rgba(241,234,217,.6);padding:5px}.onboarding{position:absolute;bottom:calc(202px + var(--credit-space) + var(--safe-bottom));left:50%;transform:translateX(-50%);max-width:480px;z-index:10;background:rgba(245,240,225,.93);border:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:15px 20px;font-size:12px;line-height:1.6;border-radius:2px;pointer-events:none;transition:opacity .5s;width:max-content}.hint-star{font-size:26px;color:var(--gold)}
.memory-dock{position:fixed;bottom:calc(22px + var(--safe-bottom) + var(--credit-space));left:36px;right:36px;height:89px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:12px 24px;background:rgba(243,237,222,.94);border:1px solid rgba(101,110,85,.25);border-radius:3px;z-index:18;backdrop-filter:blur(18px);box-shadow:0 10px 35px rgba(61,45,24,.09)}.collection-counter{display:flex;align-items:flex-start;flex-direction:column;gap:3px;min-width:87px}.collection-counter .eyebrow{font-size:8px;letter-spacing:1.5px}.collection-counter strong{font-family:var(--serif);font-size:25px;font-weight:400}.count-total{color:#838979;font-size:18px}.inventory{display:flex;justify-content:center;gap:14px;max-width:800px;width:100%;height:100%}.inventory button{position:relative;min-width:64px;flex:1;max-width:95px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#6c7465;border-radius:2px;padding:5px 4px}.inventory button svg{width:25px;height:25px}.inventory button span{font-size:9px;white-space:nowrap}.inventory button:hover,.inventory button:focus-visible{background:rgba(65,85,60,.07);color:var(--ink)}.inventory button.collected{color:var(--blue)}.inventory button.collected:after{content:"";position:absolute;top:0;right:8px;width:5px;height:5px;background:var(--blue);border-radius:50%}.inventory button.collected:before{content:"";position:absolute;bottom:-1px;width:20px;height:1px;background:var(--blue);opacity:.6}.time-control{display:flex;align-items:center;justify-content:center;gap:10px;color:#62715c;min-height:44px;min-width:84px;font-size:11px;font-variant-numeric:tabular-nums}.time-control svg{width:18px;height:18px}.time-track{position:absolute;bottom:-1px;left:0;right:0;height:2px;overflow:hidden;border-radius:3px}.time-track>div{height:100%;background:#87906d;transform-origin:left;transition:transform 1s linear}.is-memory .memory-dock{opacity:.45;pointer-events:none}.is-memory .room-controls{display:none}
.rift{position:absolute;inset:0;z-index:8;pointer-events:none}.rift-line{position:absolute;left:var(--split);top:0;bottom:0;width:1px;background:rgba(255,249,229,.65);box-shadow:0 0 8px rgba(255,246,216,.2)}.rift-handle{position:absolute;left:var(--split);top:43%;width:44px;height:52px;transform:translate(-50%,-50%);display:grid;place-items:center;background:rgba(244,238,222,.91);border:1px solid rgba(84,91,68,.25);border-radius:24px;box-shadow:0 4px 14px rgba(44,52,40,.1);pointer-events:auto;touch-action:none;cursor:ew-resize}.rift-handle svg{width:21px;height:21px}.world-labels{position:absolute;top:157px;left:25px;right:25px;z-index:9;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.8px;pointer-events:none;color:#3d4d3f}.world-labels span{background:rgba(244,237,221,.8);padding:5px 9px}
.memory-panel{position:fixed;z-index:22;right:36px;bottom:calc(137px + var(--credit-space) + var(--safe-bottom));width:370px;max-height:calc(100dvh - 244px - var(--credit-space));background:rgba(247,243,233,.97);border:1px solid rgba(99,103,80,.25);border-radius:3px;box-shadow:0 15px 60px rgba(38,40,23,.12);backdrop-filter:blur(12px);overflow:hidden;display:flex;flex-direction:column;animation:panel-in .4s ease both}.memory-scroll{padding:16px 24px 8px;overflow:auto;overscroll-behavior:contain;min-height:0}.memory-topline{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-right:-13px}.memory-topline .eyebrow{font-size:8px;color:#6d765f;letter-spacing:1.8px}.memory-panel h2{font-family:var(--serif);font-size:32px;font-weight:400;line-height:1.15;letter-spacing:-.6px;margin-top:3px;outline:none}.memory-thought{font-size:12px;color:#6a7161;line-height:1.65;margin-top:12px}.side-tabs{display:flex;align-items:center;border:1px solid #d7d8c9;margin-top:20px;border-radius:2px;padding:3px;gap:2px}.side-tabs button{font-size:10px;min-height:37px;padding:9px 10px;flex:1;color:#737b69}.side-tabs button[aria-pressed=true]{background:#dfe3d4;color:#324c3d}.side-tabs .compare-button{flex:none;width:38px;display:grid;place-items:center;padding:6px}.compare-button svg{width:19px;height:19px}.quotation{position:relative;margin-top:23px;padding-left:0}.quote-mark{position:absolute;left:-12px;top:-19px;color:#aeb5a0;font-family:var(--serif);font-size:46px;line-height:1;opacity:.45}.quotation blockquote{font-family:var(--serif);font-size:22px;line-height:1.48;margin:0;color:#2e3e34;position:relative;z-index:1;white-space:normal}.quotation figcaption{font-size:8px;letter-spacing:1px;line-height:1.6;color:#747c68;margin-top:16px}.memory-actions{padding:13px 24px 20px;border-top:1px solid rgba(76,89,65,.1);flex:none;background:#f5f1e6}.memory-actions .primary-button{width:100%;font-size:11px;min-height:46px;padding:12px 14px}@keyframes panel-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
dialog{border:1px solid #c9cbbd;border-radius:4px;background:#f3eee3;color:var(--ink);padding:0;max-height:calc(100dvh - 48px);overscroll-behavior:contain;box-shadow:0 22px 100px rgba(25,35,29,.22)}dialog::backdrop{background:rgba(36,44,34,.45);backdrop-filter:blur(9px)}.dialog-close{position:absolute;right:15px;top:15px;z-index:2;background:rgba(242,237,223,.7)}.book-dialog{width:min(910px,calc(100vw - 50px));overflow:auto}.book-layout{display:grid;grid-template-columns:39% 61%;min-height:548px}.book-art{padding:48px 40px 33px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;background:#e3dfd1;position:relative}.book-art:before{content:"";position:absolute;left:12%;right:12%;top:13%;bottom:13%;border:1px solid rgba(108,117,90,.2);pointer-events:none}.cover-shadow{position:relative;width:100%;max-width:235px;line-height:0;box-shadow:8px 15px 30px rgba(47,46,28,.23),1px 1px 2px rgba(32,35,21,.18)}.cover-shadow img{width:100%;height:auto;display:block;object-fit:contain}.cover-caption{font-size:8px;letter-spacing:2px;position:relative;z-index:1;color:#656f5b}.book-copy{padding:53px 48px 34px}.book-copy .eyebrow{font-size:9px;color:#69755e}.end-line{font-family:var(--serif);font-size:17px;line-height:1.5;color:#738067;margin-top:17px}.book-copy h2{font-family:var(--serif);font-weight:400;letter-spacing:-1.8px;font-size:57px;line-height:1.03;margin-top:23px}.book-copy h2 em{color:#66765a}.book-author{font-size:13px;letter-spacing:.7px;margin-top:15px}.book-description{font-size:12px;line-height:1.8;color:#67715d;margin-top:22px}.purchase-link{margin-top:26px;min-height:52px;width:100%}.purchase-link[aria-disabled=true]{background:#727b66;border-color:#727b66}.purchase-note{font-size:10px;line-height:1.6;color:#7c7767;margin-top:9px}.book-secondary{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:8px}.book-secondary .text-button{font-size:10px}.share-button{display:flex;align-items:center;gap:7px}.share-button svg{width:14px;height:14px}.end-progress{font-size:9px;color:#727f65;line-height:1.6;margin-top:11px}.utility-dialog{padding:40px;width:min(550px,calc(100vw - 36px));overflow:auto}.utility-dialog h2{font-family:var(--serif);font-weight:400;font-size:33px;line-height:1.2;letter-spacing:-.8px;margin-top:15px;padding-right:12px}.utility-dialog>p{font-size:13px;line-height:1.75;color:#65705c;margin-top:18px}.utility-dialog strong{color:#384a38;font-weight:550}.preference-list{border-block:1px solid var(--line);margin:22px 0 10px}.preference{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 0;cursor:pointer}.preference+.preference{border-top:1px solid var(--line)}.preference strong{font-size:13px;display:block}.preference small{font-size:11px;display:block;margin-top:4px;color:var(--muted);line-height:1.5}.preference input{accent-color:var(--ink);width:21px;height:21px;flex:none}.utility-dialog>p.small-print{font-size:11px}.credits-details{font-size:11px;line-height:1.7;margin-top:22px;color:#67705f}.credits-details summary{cursor:pointer;min-height:36px;display:list-item}.credits-details p{margin:12px 0}.utility-dialog>.primary-button{width:100%;margin-top:20px}.danger-text{color:#806653}.journal-list{margin-top:24px;display:flex;flex-direction:column}.journal-item{display:flex;align-items:center;gap:15px;text-align:left;padding:14px 0;border-top:1px solid var(--line);min-height:66px}.journal-item svg{width:26px;height:26px;color:#89917a}.journal-item>span{flex:1;display:flex;flex-direction:column;gap:3px}.journal-item strong{font-size:13px}.journal-item small{font-size:10px;color:#77806b}.journal-item.collected svg{color:var(--blue)}.journal-item:hover{background:rgba(124,138,108,.08)}.journal-item>.journal-arrow{width:18px;height:18px}.pause-dialog{text-align:center;width:400px}.pause-dialog .primary-button{justify-content:center}.pause-dialog h2{padding:0}.pause-dialog>.text-button{margin-top:8px}.toast{position:fixed;left:50%;transform:translate(-50%,14px);bottom:calc(126px + var(--safe-bottom) + var(--credit-space));z-index:100;max-width:min(480px,calc(100vw - 28px));padding:13px 19px;color:#eee9da;background:#334a3c;border:1px solid #566649;border-radius:3px;box-shadow:0 8px 26px rgba(19,35,25,.2);font-size:12px;line-height:1.6;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translate(-50%,0)}.no-script{position:fixed;inset:0;z-index:1000;background:var(--paper);overflow:auto;text-align:center;padding:50px 25px}.no-script img{max-height:50vh;max-width:70vw}.no-script h1{font-family:var(--serif);font-weight:400;margin:25px 0}.no-script p{max-width:480px;margin:15px auto;line-height:1.7}
@media(min-width:1700px){.memory-panel{width:420px}.memory-panel h2{font-size:36px}.quotation blockquote{font-size:26px}.memory-thought{font-size:14px}.memory-scroll{padding:20px 30px 14px}.memory-actions{padding:15px 30px 24px}}
@media(max-width:1000px){.topbar{padding-left:22px;padding-right:22px}.prologue-copy{margin-left:5vw}.prologue h1{font-size:76px}.prologue-note{right:5vw}.memory-dock{left:22px;right:22px;gap:8px;padding:10px 17px}.inventory{gap:3px}.inventory button{min-width:48px}.inventory button span{font-size:8px}.collection-counter{min-width:70px}.time-control{min-width:63px;gap:4px}.memory-panel{right:22px;width:335px}.room-controls{left:22px}.quotation blockquote{font-size:21px}}
@media(max-width:650px){
 .topbar{padding:calc(15px + var(--top)) 17px 20px;gap:7px}.brand-title{font-size:20px;letter-spacing:-.7px}.brand-author{font-size:6.1px;letter-spacing:1px;max-width:205px;line-height:1.3}.top-actions{gap:0}.icon-button{width:40px;height:44px}.top-actions .icon-button svg{width:19px;height:19px}.fullscreen-button{display:none}.book-button{border:0;padding:0;margin-left:2px;background:none;font-size:0;width:34px;min-height:44px;justify-content:center}.book-button svg{width:20px;height:20px}.prologue{align-items:flex-end;background:linear-gradient(180deg,rgba(238,231,215,0) 5%,rgba(238,231,215,.1) 25%,rgba(238,231,215,.70) 44%,rgba(238,231,215,.99) 67%)}.prologue-copy{padding:22px 25px calc(62px + var(--safe-bottom));margin:0;max-width:none;width:100%}.prologue-copy>.eyebrow{font-size:8px;letter-spacing:1.7px}.short-line{width:22px;margin-right:7px}.prologue h1{font-size:clamp(49px,14.3vw,76px);letter-spacing:-3px;margin-top:15px;line-height:1.03}.intro-lead{font-size:21px;margin-top:17px;line-height:1.4}.intro-instructions{font-size:11px;margin-top:14px;line-height:1.7}.prologue .primary-button{margin-top:20px;width:100%;font-size:12px;min-height:49px}.intro-options{font-size:8px;gap:8px;justify-content:space-between;margin-top:11px}.intro-options button{font-size:9px;padding:4px 0}.prologue-note{display:none}.prologue-bottom{bottom:calc(18px + var(--safe-bottom));left:25px;right:25px;font-size:7px;letter-spacing:0}.prologue-bottom span:last-child{font-size:6px;letter-spacing:1.1px}.scene-label{top:calc(86px + var(--top));font-size:8px;padding:8px 11px;gap:8px}.memory-dock{left:12px;right:12px;bottom:calc(12px + var(--safe-bottom) + var(--credit-space));height:95px;gap:3px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:21px 52px;padding:9px 12px 10px}.collection-counter{grid-row:1;grid-column:1;flex-direction:row;align-items:center;gap:9px;min-width:0;padding:0;justify-self:start;min-height:22px}.collection-counter .eyebrow{font-size:7px;letter-spacing:1.6px}.collection-counter strong{font-size:16px}.count-total{font-size:13px}.inventory{grid-column:1/-1;grid-row:2;gap:0;justify-content:space-between;align-items:center}.inventory button{min-width:40px;max-width:52px;height:48px;padding:5px 3px;gap:0}.inventory button svg{width:24px;height:24px}.inventory button span{display:none}.inventory button.collected:after{top:6px;right:3px;width:4px;height:4px}.time-control{grid-row:1;grid-column:2;justify-self:end;min-height:26px;font-size:9px;padding:2px 0;gap:6px}.time-control svg{width:13px;height:13px}.room-controls{left:12px;right:12px;bottom:calc(121px + var(--safe-bottom) + var(--credit-space));justify-content:space-between;gap:6px}.soft-button{font-size:9px;padding:9px 11px;gap:5px;min-height:40px}.soft-button svg{width:16px;height:16px}.drag-hint{font-size:8px;padding:5px 7px;max-width:113px;line-height:1.45;text-align:right}.onboarding{bottom:calc(177px + var(--safe-bottom) + var(--credit-space));max-width:calc(100vw - 30px);font-size:10px;padding:11px 14px;line-height:1.5;gap:10px}.hint-star{font-size:22px}.memory-panel{left:12px;right:12px;bottom:calc(119px + var(--safe-bottom) + var(--credit-space));width:auto;max-height:46dvh;box-shadow:0 8px 40px rgba(30,42,29,.15)}.memory-scroll{padding:7px 18px 7px}.memory-topline{margin-right:-10px}.memory-topline .eyebrow{font-size:7px;letter-spacing:1.5px}.memory-topline .icon-button{width:38px;height:35px;min-height:35px}.memory-topline .icon-button svg{width:19px;height:19px}.memory-panel h2{font-size:27px;letter-spacing:-.5px;margin-top:0}.memory-thought{font-size:10px;line-height:1.5;margin-top:7px}.side-tabs{margin-top:11px;padding:2px}.side-tabs button{font-size:9px;min-height:33px;padding:7px 9px}.side-tabs .compare-button{width:34px}.quotation{margin-top:16px}.quotation blockquote{font-size:19px;line-height:1.42}.quote-mark{left:-9px;top:-13px;font-size:36px}.quotation figcaption{font-size:7px;letter-spacing:.6px;margin-top:10px}.memory-actions{padding:10px 16px 12px}.memory-actions .primary-button{min-height:43px;font-size:10px;padding:10px 13px}.rift-handle{top:28%;width:42px;height:47px}.rift-line{bottom:calc(119px + var(--safe-bottom))}.world-labels{top:calc(130px + var(--top));left:12px;right:12px;font-size:6px;letter-spacing:1.2px}.world-labels span{padding:4px 7px}.book-dialog{width:calc(100vw - 28px);max-height:calc(100dvh - 28px)}.book-layout{display:block;min-height:0}.book-art{padding:24px 20px 20px;gap:0;min-height:200px}.book-art:before{inset:12px 50px}.cover-shadow{width:127px;max-width:127px;box-shadow:7px 9px 17px rgba(47,46,28,.2)}.cover-caption{display:none}.book-copy{padding:23px 25px 20px}.book-copy .eyebrow{font-size:8px}.end-line{font-size:14px;line-height:1.4;margin-top:10px}.book-copy h2{font-size:41px;letter-spacing:-1.4px;margin-top:14px}.book-copy h2 br{display:none}.book-copy h2 em:before{content:" "}.book-author{font-size:12px;margin-top:10px}.book-description{font-size:11px;line-height:1.7;margin-top:15px}.purchase-link{margin-top:18px;font-size:12px;min-height:49px}.purchase-note{font-size:9px;line-height:1.6}.book-secondary{margin-top:4px;gap:10px}.book-secondary .text-button{font-size:9px}.end-progress{font-size:8px;margin-top:3px}.dialog-close{right:10px;top:9px}.utility-dialog{padding:33px 23px 24px;max-height:calc(100dvh - 28px)}.utility-dialog h2{font-size:29px}.utility-dialog>p{font-size:12px;margin-top:14px}.preference-list{margin-top:19px}.preference strong{font-size:12px}.preference small{font-size:10px}.journal-item{padding:12px 0}.toast{bottom:calc(120px + var(--safe-bottom) + var(--credit-space));font-size:10px;padding:10px 15px}
}
@media(max-width:370px){.topbar{padding-left:12px;padding-right:10px}.brand-title{font-size:18px}.brand-author{font-size:5.6px}.top-actions .icon-button{width:34px}.prologue-copy{padding-left:22px;padding-right:22px}.intro-lead{font-size:19px}.intro-options{font-size:7px}.inventory button{min-width:36px}.memory-dock{padding-left:8px;padding-right:8px}.memory-panel h2{font-size:25px}.quotation blockquote{font-size:18px}.book-copy h2{font-size:37px}}
@media(max-height:700px) and (min-width:651px){.prologue-copy{padding:15px 0;margin-top:20px}.prologue h1{font-size:65px;margin-top:18px;letter-spacing:-3px}.intro-lead{font-size:22px;margin-top:14px}.intro-instructions{font-size:11px;margin-top:14px}.prologue .primary-button{margin-top:20px}.intro-options{margin-top:8px}.topbar{padding-top:17px}.memory-dock{bottom:calc(15px + var(--credit-space) + var(--safe-bottom));height:74px}.room-controls{bottom:108px}.memory-panel{bottom:calc(108px + var(--credit-space) + var(--safe-bottom));max-height:calc(100dvh - 188px - var(--credit-space))}.memory-thought{display:none}.quotation{margin-top:15px}.quotation blockquote{font-size:19px}.memory-panel h2{font-size:28px}.side-tabs{margin-top:10px}.scene-label{top:80px}.world-labels{top:126px}.memory-scroll{padding:7px 20px}.memory-actions{padding:10px 20px}.onboarding{bottom:163px}}
@media(max-height:600px) and (orientation:landscape){.prologue-copy{margin-left:5vw;max-width:52vw}.prologue h1{font-size:49px;margin-top:13px;line-height:1}.intro-lead{font-size:18px;margin-top:10px}.intro-instructions{font-size:10px;line-height:1.5;margin-top:10px}.prologue .primary-button{margin-top:12px;min-height:44px;padding:10px 16px;font-size:11px;min-width:220px}.prologue .eyebrow{font-size:7px}.intro-options{font-size:7px;margin-top:2px}.intro-options button{font-size:8px;min-height:27px}.prologue-bottom{bottom:9px;font-size:7px}.prologue-note{bottom:70px}.topbar{padding:10px 20px}.brand-title{font-size:19px}.brand-author{font-size:6px}.top-actions .icon-button{width:36px;height:36px}.book-button{min-height:36px;padding:8px 11px;font-size:10px}.memory-dock{height:57px;bottom:calc(9px + var(--credit-space) + var(--safe-bottom));padding:5px 13px;left:20px;right:20px}.collection-counter .eyebrow{font-size:6px}.collection-counter strong{font-size:20px}.inventory button svg{width:20px;height:20px}.inventory button span{display:none}.inventory button{min-width:38px;gap:0;height:42px}.time-control{font-size:9px}.memory-panel{bottom:calc(80px + var(--credit-space) + var(--safe-bottom));top:67px;max-height:none;width:320px;right:20px}.memory-panel h2{font-size:25px}.memory-thought{display:none}.memory-topline .icon-button{height:31px}.memory-topline .eyebrow{font-size:7px}.quotation blockquote{font-size:17px;line-height:1.4}.quotation figcaption{font-size:7px;margin-top:9px}.memory-actions{padding:8px 17px}.memory-actions .primary-button{min-height:40px;font-size:10px;padding:9px 13px}.side-tabs{margin-top:9px}.side-tabs button{min-height:31px;font-size:8px;padding:6px}.quotation{margin-top:14px}.room-controls{bottom:calc(80px + var(--credit-space) + var(--safe-bottom));left:20px}.soft-button{font-size:9px;min-height:36px;padding:8px 10px}.drag-hint{font-size:8px}.scene-label{top:69px;font-size:8px;padding:6px 10px}.world-labels{top:104px;font-size:6px}.rift-handle{top:42%}.onboarding{bottom:calc(126px + var(--credit-space) + var(--safe-bottom));font-size:10px;padding:10px 15px}.book-dialog{max-height:calc(100dvh - 20px);width:min(760px,calc(100vw - 36px))}.book-layout{display:grid;grid-template-columns:34% 66%;min-height:0}.book-art{padding:30px 25px}.cover-shadow{width:100%;max-width:155px}.book-copy{padding:25px 30px}.book-copy h2{font-size:37px;margin-top:12px}.book-copy h2 br{display:none}.book-copy h2 em:before{content:" "}.book-description{font-size:10px;margin-top:11px}.end-line{font-size:13px;margin-top:9px}.book-author{font-size:11px;margin-top:8px}.purchase-link{min-height:42px;margin-top:14px;padding:11px 15px;font-size:11px}.purchase-note{font-size:8px}.book-secondary{margin-top:1px}.book-secondary .text-button{font-size:9px;min-height:30px}.end-progress{font-size:8px;margin-top:1px}}
@media(max-height:730px) and (max-width:650px) and (orientation:portrait){.prologue-copy{padding-bottom:48px}.prologue h1{font-size:49px;line-height:1}.intro-lead{font-size:19px;margin-top:12px}.intro-instructions{font-size:10px;margin-top:10px}.prologue .primary-button{margin-top:14px;min-height:45px}.intro-options{margin-top:7px}.memory-panel{max-height:48dvh}.memory-thought{display:none}.memory-panel h2{font-size:24px}.quotation blockquote{font-size:17px}.side-tabs{margin-top:9px}.memory-scroll{padding-top:4px}.memory-actions{padding:8px 15px}.book-art{padding:18px;min-height:170px}.cover-shadow{width:109px}.book-copy{padding-top:18px}.book-copy h2{font-size:36px}.book-description{font-size:10px}}
.reduce-motion *, .reduce-motion *:before,.reduce-motion *:after{animation:none!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reduce-motion .dust{display:none}.page-hidden .dust span{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.dust{display:none}}
@media(prefers-contrast:more){.memory-panel,.memory-dock,.scene-label{background:#f5f1e5}.hotspot:before{border-color:#203d2d;background:#eee6d2}.memory-thought,}
.pin-world{z-index:7;pointer-events:none}.pin-world .hotspots{pointer-events:none}.pin-world .hotspot{pointer-events:auto}.rift-handle{left:clamp(24px,var(--split),calc(100% - 24px))}.is-memory .drag-hint{visibility:hidden}
.visual>svg{stroke:none}
@media(max-width:650px) and (min-height:730px){.side-tabs button{min-height:44px}.memory-topline .icon-button{height:44px;min-height:44px;width:44px}.memory-actions .primary-button{min-height:44px}}

/* Editorial additions use the existing paper, ink and typography. */
.experience-footer{position:fixed;z-index:26;bottom:0;left:0;right:0;height:calc(var(--credit-space) + var(--safe-bottom));padding:8px 36px calc(8px + var(--safe-bottom));display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--paper);border-top:1px solid var(--line)}
.author-dialog{width:min(650px,calc(100vw - 36px))}.author-dialog h2{margin-top:0}.author-dialog h3{font-family:var(--serif);font-size:26px;line-height:1.25;font-weight:400;margin:22px 0 16px}.author-biography p{font-size:15px;line-height:1.75;margin:14px 0;color:var(--ink)}
.author-entry{margin-top:4px;font-size:12px}.book-author+.text-button{padding-top:6px;min-height:40px}
@media(max-width:650px){:root{--credit-space:82px}.experience-footer{padding:6px 12px calc(6px + var(--safe-bottom));gap:8px}.experience-footer>.text-button{font-size:11px}.author-entry{margin-top:0;min-height:40px;padding:8px 0}.prologue-copy{padding-bottom:48px}.memory-panel{max-height:min(46dvh,calc(100dvh - 225px - var(--credit-space)))}.author-biography p{font-size:14px}.book-copy>.experience-credit,.author-dialog>.experience-credit{font-size:12px}}
@media(max-width:370px){}
@media(max-height:600px) and (orientation:landscape){:root{--credit-space:54px}.experience-footer{padding-top:4px;padding-bottom:calc(4px + var(--safe-bottom))}.prologue-copy{margin-top:32px;max-height:calc(100dvh - 110px);overflow:auto;padding:4px 0 30px}.prologue-bottom{display:none}.author-entry{position:fixed;right:28px;bottom:calc(var(--credit-space) + var(--safe-bottom) + 8px);padding:6px 0;min-height:44px}}
@media(max-height:430px) and (orientation:landscape){.prologue-copy{margin-top:40px;padding-bottom:0;max-height:calc(100dvh - 118px)}.prologue h1{font-size:36px;margin-top:10px}.intro-lead{font-size:16px;line-height:1.3;margin-top:8px}.intro-instructions{margin-top:8px}.prologue .primary-button{margin-top:8px}}
@media(max-height:640px) and (max-width:370px) and (orientation:portrait){.prologue-copy{padding-bottom:34px}.prologue h1{font-size:42px}.intro-lead{font-size:17px;line-height:1.35}.intro-instructions{margin-top:8px}.prologue .primary-button{margin-top:12px}.intro-options{margin-top:6px}}

/* V3: il taccuino usa il segno dei bozzetti, mantenendo i comandi originali. */
.journal-item .object-sketch{width:66px;height:72px;flex:0 0 66px}.journal-item{min-height:92px}.object-sketch path{vector-effect:none}

/* Casa editrice: logo originale, proporzioni conservate. */
.publisher-info{display:flex;align-items:center;gap:16px;margin:20px 0;max-width:100%}
.publisher-info img{width:110px;height:58px;object-fit:contain;background:#fff}
.publisher-info p{margin:0;font-size:13px;line-height:1.5}

/* Revisione touch e tablet: controlli leggibili e spazio per il racconto. */
.intro-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px 24px;margin-top:8px}
.intro-links .author-entry{position:static;display:inline-flex;align-items:center;min-height:44px;margin:0;padding:8px 0;font-size:13px}
.memory-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.side-tabs button{min-height:44px;font-size:12px}
.side-tabs .compare-button{width:44px}
@media (min-width:651px) and (max-width:1100px){
 .inventory button span{white-space:normal;text-align:center;font-size:10px;line-height:1.15;max-width:70px}
 .memory-panel{width:min(380px,45vw)}
 .memory-panel h2{font-size:clamp(29px,3.6vw,36px)}
 .memory-thought{font-size:14px;line-height:1.55}
 .side-tabs button{font-size:13px;min-height:44px}
 .memory-actions .primary-button{font-size:13px;min-height:48px}
 .quotation blockquote{font-size:clamp(20px,2.1vw,23px)}
 .room-controls .soft-button,.time-control{font-size:12px}
}
@media (max-width:650px){
 :root{--credit-space:62px}
 
 
 .intro-links{gap:0 20px;margin-top:3px}
 .intro-links .author-entry{font-size:12px;min-height:44px}
 .memory-panel{max-height:min(51dvh,calc(100dvh - 215px - var(--credit-space)))}
 .memory-thought{font-size:13px;line-height:1.5}
 .side-tabs button{font-size:12px;min-height:44px}
 .side-tabs .compare-button{width:44px}
 .memory-topline .icon-button{width:44px;height:44px;min-height:44px}
 .memory-actions .primary-button{font-size:13px;min-height:48px}
 .soft-button{font-size:11px;min-height:44px}
 .onboarding{font-size:12px}
 .inventory{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;justify-content:flex-start;gap:2px;touch-action:pan-x}
 .inventory button{flex:1 0 44px;min-width:44px}
}
@media (max-width:420px){.experience-footer>.text-button{font-size:11px}}
@media (max-height:600px) and (orientation:landscape){
 .intro-links .author-entry{position:static;min-height:40px}.intro-links{margin:0;gap:0 22px}
 .side-tabs button{min-height:40px;font-size:11px}.memory-actions .primary-button{min-height:44px}
}
@media (max-width:650px) and (max-height:730px) and (orientation:portrait){
 .prologue{align-items:flex-start}
 .prologue-copy{margin-top:calc(74px + var(--top));max-height:calc(100dvh - 74px - var(--top) - var(--credit-space) - var(--safe-bottom));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:8px 22px 28px}
 .prologue-bottom{display:none}
}
@media (max-height:600px) and (orientation:landscape){
 .is-memory .memory-dock{visibility:hidden}
 .memory-panel{top:calc(60px + var(--top));bottom:calc(10px + var(--credit-space) + var(--safe-bottom));max-height:none}
 .side-tabs button{min-height:44px}
}
/* Testi informativi e comandi restano leggibili anche nelle varianti compatte. */
.brand-author{font-size:10px;letter-spacing:.12em;line-height:1.3}
.scene-label,.world-labels,.memory-topline .eyebrow,.quotation figcaption,.collection-counter .eyebrow{font-size:10px;letter-spacing:.1em}
.intro-options,.intro-options button{font-size:11px}
.intro-instructions{font-size:13px;line-height:1.6}
.book-copy .eyebrow,.end-line,.book-description,.purchase-note,.credits-details,.utility-dialog>p,.preference small,.journal-item small{color:#455348}
.book-description,.utility-dialog>p{font-size:14px}.purchase-note,.preference small,.journal-item small,.book-secondary .text-button{font-size:12px}
@media (min-width:651px) and (max-width:1100px){.inventory button span{font-size:11px}}
@media (max-width:650px){.brand-author{font-size:9px;letter-spacing:.09em}.scene-label,.world-labels,.memory-topline .eyebrow,.quotation figcaption,.collection-counter .eyebrow{font-size:10px}.intro-options,.intro-options button{font-size:11px}.intro-instructions{font-size:13px}.book-description,.utility-dialog>p{font-size:14px}.purchase-note,.book-secondary .text-button{font-size:12px}}
@media (max-height:600px) and (orientation:landscape){.book-button{font-size:11px}.intro-options,.intro-options button{font-size:11px}.intro-instructions{font-size:12px}.memory-topline .eyebrow,.quotation figcaption,.collection-counter .eyebrow{font-size:10px}}
@media (max-height:600px) and (orientation:landscape){
 .top-actions .icon-button{width:44px;height:44px}.book-button,.soft-button{min-height:44px}.inventory button{height:44px}
 .memory-panel{top:calc(68px + var(--top))}
}
/* Firma discreta: il libro e la stanza restano al centro. */
:root{--credit-space:48px}
.experience-footer{padding:2px 24px calc(2px + var(--safe-bottom));background:var(--paper)}
@media(max-width:650px){:root{--credit-space:48px}.experience-footer{padding:2px 12px calc(2px + var(--safe-bottom))}}
@media(max-height:600px) and (orientation:landscape){:root{--credit-space:48px}.experience-footer{padding:2px 16px calc(2px + var(--safe-bottom))}}
.memory-actions .memory-scroll-hint{margin:0 0 7px;color:#455348;font-size:11px;line-height:1.3}
/* Il contesto del ricordo resta disponibile anche sugli schermi bassi. */
.memory-thought:not([hidden]){display:block}

/* Stesso mondo visivo; i dettagli nativi vengono composti nello spazio libero. */
.visual img{object-fit:contain}
.is-memory .memory-dock{visibility:hidden}
@media (orientation:portrait) and (min-width:651px) and (max-width:1100px){
 .memory-panel{left:24px;right:24px;bottom:calc(18px + var(--credit-space) + var(--safe-bottom));width:auto;max-height:42dvh}
 .memory-scroll{padding:16px 28px 10px}
 .memory-actions{padding:0 28px 18px}
 .memory-panel h2{font-size:34px}
}
@media (max-width:650px){
 .memory-panel{bottom:calc(12px + var(--credit-space) + var(--safe-bottom));max-height:48dvh}
 .world-labels{top:calc(119px + var(--top));font-size:8px;letter-spacing:.08em}
}

.rift-line,.rift-handle{transition:left .9s cubic-bezier(.2,.75,.2,1)}
.dragging-rift .rift-line,.dragging-rift .rift-handle{transition:none}

@media(max-width:650px) and (max-height:680px) and (orientation:portrait){
 .is-memory .scene-label{display:none}
 .is-memory .world-labels{top:82px}
 .memory-panel{max-height:46dvh}
}

.scene-status{position:absolute;z-index:12;transform:translate(-50%,-50%);width:max-content;text-align:center;color:var(--ink);font-size:14px;line-height:1.55}
.scene-status p{margin:0 0 16px;max-width:36ch}
.scene-status .soft-button{margin:auto;min-height:44px}
.scene-wash.flash{opacity:1}

.scene-label,.world-labels,.memory-topline .eyebrow,.quotation figcaption,.collection-counter .eyebrow{font-size:11px}

/* Ritratto dell’autore e piccolo segno finale riservato ai sette frammenti. */
.author-profile{display:grid;grid-template-columns:clamp(104px,25%,148px) minmax(0,1fr);align-items:center;gap:22px;margin:2px 42px 22px 0}
.author-profile .author-portrait{display:block;width:100%;height:auto;aspect-ratio:1;align-self:center;object-fit:cover;object-position:center 35%;border:4px solid var(--paper);box-shadow:0 10px 24px rgba(47,46,28,.14)}
.author-profile h2{margin:0;font-size:30px}
.author-profile h3{margin:12px 0 0;font-size:24px}

@media(max-width:650px){.author-profile{grid-template-columns:88px minmax(0,1fr);gap:16px;margin:0 30px 16px 0}.author-profile h2{font-size:27px}.author-profile h3{font-size:22px}}

.experience-credit{display:flex;align-items:center;gap:9px;min-width:0;font-size:11px;line-height:1.35;color:var(--ink)}
.experience-credit .credit-logo{display:block;flex:none;width:36px;height:36px;background:#fff;border-radius:2px}
.experience-credit .credit-logo img{display:block;width:100%;height:100%;object-fit:contain}
.experience-credit span{min-width:0}
.experience-credit span a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:650px){.experience-footer{gap:8px;padding-inline:12px}.experience-credit{gap:7px;font-size:10px}.experience-credit .credit-logo{width:32px;height:32px}.experience-footer>.text-button{font-size:11px}}
@media(max-width:370px){.experience-credit{font-size:9px;gap:6px}.experience-credit .credit-logo{width:29px;height:29px}}

.experience-footer .footer-author-link{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;flex:none;line-height:1.15;text-align:left;text-decoration:none;min-height:40px}.footer-author-link span{font-size:9px;letter-spacing:.04em}.footer-author-link strong{font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:3px}.experience-credit{font-size:10px;gap:7px;justify-content:flex-end}.experience-credit .credit-logo{width:28px;height:28px}@media(max-width:650px){.experience-credit{font-size:9px;gap:5px}.experience-credit .credit-logo{width:24px;height:24px}.footer-author-link strong{font-size:12px}}

.experience-footer .footer-author-link{height:44px;min-height:44px;padding:2px 0;box-sizing:border-box}
