@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-600-normal-Co1r35X9.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-600-normal-2CBVLo0M.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-italic-Y14P-dkT.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-500-italic-DhNIfkTX.woff)format("woff")}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/caveat-latin-500-normal-B9SDL8cy.woff2)format("woff2"),url(/assets/caveat-latin-500-normal-Do9veZfZ.woff)format("woff")}:root{--papier:#f3ead8;--papier-ombre:#e3d6bc;--encre:#2b2622;--encre-douce:#5b5047;--rouge:#b2433a;--or:#c9a046;--nuit:#1c1814;--serif:"Cormorant Garamond", Georgia, "Times New Roman", serif;--main:"Caveat", "Segoe Print", cursive;--ease:cubic-bezier(.22, .8, .24, 1)}*{box-sizing:border-box}html,body,#root{background:var(--nuit);height:100%;color:var(--encre);font-family:var(--serif);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:none;margin:0;overflow:hidden}.app{position:fixed;inset:0}.scene{inset:0;position:absolute!important}.hand{font-family:var(--main);font-weight:500}.hand.big{font-size:clamp(2rem,4vw,3.2rem)}.hand.small{font-size:1.35rem;line-height:1.25}.btn{font:600 1.25rem/1 var(--serif);letter-spacing:.02em;color:var(--encre);background:var(--papier);cursor:pointer;transition:transform .25s var(--ease), background .25s, box-shadow .25s;border:1px solid #2b262259;border-radius:2px;padding:.7rem 1.6rem;box-shadow:inset 0 1px #fff9,0 6px 18px #0000002e}.btn:hover,.btn:focus-visible{background:#fbf4e6;outline:none;transform:translateY(-1px);box-shadow:inset 0 1px #fff9,0 10px 24px #00000038}.btn.primary{background:var(--encre);color:var(--papier);border-color:var(--encre)}.btn.primary:hover{background:#3a332d}.btn.ghost{box-shadow:none;background:0 0}.btn.danger{background:var(--rouge);color:var(--papier);border-color:var(--rouge)}.danger-text{color:var(--rouge)!important}kbd{font:600 .8rem var(--serif);opacity:.7;border:1px solid;border-radius:3px;margin-left:.4em;padding:0 .35em}.title-veil{pointer-events:none;background:radial-gradient(at 50% 35%,#1c181400 0%,#1c18148c 70%),linear-gradient(#1c181426 0%,#1c1814b3 100%);position:absolute;inset:0}.screen-title .scene{filter:saturate(.9)brightness(.95)}.title-screen{color:var(--papier);text-align:center;animation:rise 1.6s var(--ease) both;flex-direction:column;justify-content:center;align-items:center;gap:2.4rem;display:flex;position:absolute;inset:0}.title-block h1{letter-spacing:.01em;text-shadow:0 2px 30px #00000073;margin:0;font-size:clamp(2.8rem,8vw,6.4rem);font-weight:500}.title-block p{color:#f6d9a3;margin:.2rem 0 0;font-size:clamp(1.6rem,3vw,2.3rem)}.menu{flex-direction:column;gap:.75rem;min-width:15rem;display:flex}.title-screen .btn.ghost{color:var(--papier);border-color:#f3ead866}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.panel,.pause{background:var(--papier);width:min(30rem,100vw - 2rem);max-height:calc(100vh - 2rem);animation:rise .45s var(--ease) both;z-index:30;flex-direction:column;gap:.9rem;padding:1.8rem 2rem;display:flex;position:absolute;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 30px 80px #00000073}.pause{text-align:center;align-items:center}.panel h2,.pause h2{margin:0 0 .4rem;font-size:2.2rem;font-weight:500}.pause .help{color:var(--encre-douce);margin:.5rem 0 0;font-size:1rem}.row{justify-content:space-between;align-items:center;gap:1rem;font-size:1.15rem;display:flex}.row input[type=range]{width:55%;accent-color:var(--encre)}.row select{font:1rem var(--serif);background:#fbf4e6;border:1px solid #2b26224d;padding:.3rem}.confirm{border-top:1px solid var(--papier-ombre);flex-wrap:wrap;gap:.6rem;padding-top:.6rem;display:flex}.confirm p{width:100%;margin:0}.world-label{font:500 1.45rem var(--main);color:var(--encre);background:var(--papier);white-space:nowrap;animation:rise .35s var(--ease) both;border-radius:2px;padding:.15rem .7rem .25rem;transform:rotate(-2deg);box-shadow:0 6px 16px #00000040}.world-label .key{font:700 .85rem var(--serif);border:1px solid var(--encre);vertical-align:2px;border-radius:3px;margin-right:.45rem;padding:0 .35rem}.world-label .key:empty{display:none}.reticle{pointer-events:none;z-index:12;width:0;height:0;position:absolute;top:50%;left:50%}.reticle-mark{width:6px;height:6px;transition:all .22s var(--ease);background:#fffaf0bf;border-radius:50%;position:absolute;top:-3px;left:-3px;box-shadow:0 0 0 1px #0000004d}.reticle.on .reticle-mark{background:0 0;border:2px solid #ffe2a6;width:26px;height:26px;top:-13px;left:-13px;box-shadow:0 0 0 1px #00000040,0 0 14px #ffd28c73}.reticle-label{white-space:nowrap;font:500 1.45rem var(--main);color:#fffaf0;text-shadow:0 1px 6px #000000bf;animation:rise .25s var(--ease) both;position:absolute;top:22px;left:0;transform:translate(-50%)}.reticle-label kbd{font:700 .8rem var(--serif);vertical-align:3px;opacity:.9;border:1px solid #fffaf0cc;border-radius:3px;margin:0 .45em 0 0;padding:0 .35em}.screen-chapter canvas{cursor:none}.subtitles{text-align:center;cursor:pointer;z-index:15;width:min(46rem,100vw - 2rem);position:absolute;bottom:max(6vh,2.4rem);left:50%;transform:translate(-50%)}.subtitles p{font:500 clamp(1.25rem, 2.2vw, 1.65rem) / 1.35 var(--serif);color:#fffaf0;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:rise .4s var(--ease) both;background:#1c18149e;border-radius:2px;margin:0;padding:.55rem 1.2rem .65rem;display:inline-block}.subtitles-next{font:600 .8rem var(--serif);color:#fffaf0a6;letter-spacing:.1em;margin-top:.4rem;display:block}.subtitles.prologue{pointer-events:none}.click-hint{color:#fffaf0d9;text-shadow:0 1px 8px #0009;pointer-events:none;animation:rise .6s var(--ease) both;font-size:1.4rem;position:absolute;bottom:1.4rem;left:50%;transform:translate(-50%)}.skip{color:var(--papier);border-color:#f3ead866;position:absolute;bottom:1.4rem;right:1.4rem}.reveal{z-index:25;background:radial-gradient(#1c181459,#1c1814d1);flex-direction:column;justify-content:center;align-items:center;gap:1.2rem;animation:.6s both fadein;display:flex;position:absolute;inset:0}.polaroid{width:min(22rem,78vw);animation:drop .9s var(--ease) both;background:#fffdf7;padding:.9rem .9rem 1.2rem;position:relative;transform:rotate(-1.5deg);box-shadow:0 30px 70px #00000080}.polaroid-photo{aspect-ratio:3/4;background:#efe7d7;max-height:58vh;overflow:hidden}.polaroid-photo img{object-fit:cover;width:100%;height:100%;animation:3.2s ease-out both develop;display:block}.polaroid h2{color:var(--encre);margin:.7rem 0 .1rem;font-size:2rem}.polaroid p{color:var(--encre-douce);margin:0}.stamp{font:600 .95rem var(--serif);letter-spacing:.12em;text-transform:uppercase;color:var(--rouge);border:2px solid var(--rouge);opacity:0;transition:opacity .25s, transform .35s var(--ease);background:#fffdf7d9;padding:.3rem .6rem;position:absolute;top:1.4rem;right:-1.2rem;transform:rotate(9deg)scale(1.6)}.stamp.on{opacity:.92;transform:rotate(9deg)scale(1)}.reveal-foot{color:var(--papier);opacity:0;align-items:center;gap:1.2rem;font-size:1.15rem;transition:opacity .6s;display:flex}.reveal-foot.on{opacity:1}@keyframes develop{0%{filter:brightness(2.4)sepia(.7)blur(8px)contrast(.6)}60%{filter:brightness(1.2)sepia(.25)blur(1px)contrast(.9)}to{filter:none}}@keyframes drop{0%{opacity:0;transform:translateY(-30px)rotate(-6deg)scale(.96)}to{opacity:1;transform:rotate(-1.5deg)}}@keyframes fadein{0%{opacity:0}}.carnet-backdrop{z-index:28;background:#14100c8c;justify-content:center;align-items:center;animation:.35s both fadein;display:flex;position:absolute;inset:0}.carnet{background:linear-gradient(90deg, var(--papier) 0%, var(--papier) 49.6%, #d9cbaf 50%, var(--papier) 50.4%);width:min(62rem,100vw - 1.5rem);max-height:calc(100vh - 1.5rem);animation:rise .45s var(--ease) both;border-radius:3px;grid-template-columns:1fr 1fr;display:grid;position:relative;box-shadow:0 0 0 8px #6b3f2a,0 40px 90px #0000008c}.page{flex-direction:column;gap:.4rem;padding:1.6rem 2rem;display:flex;overflow:auto}.page h2{border-bottom:1px solid var(--papier-ombre);margin:0 0 .3rem;padding-bottom:.3rem;font-size:1.9rem;font-weight:500}.page h3{color:var(--rouge);margin:.9rem 0 0;font-size:1.7rem}.page p{margin:.2rem 0;font-size:1.12rem;line-height:1.4}.page .count{font:500 1.3rem var(--main);color:var(--encre-douce)}.puzzle strong{font-size:1.2rem}.hints{color:#3f4a6b;margin:.4rem 0 .6rem;padding-left:0;font-size:1.35rem;list-style:none}.hints em{color:var(--encre-douce);font-style:normal}.slots{grid-template-columns:repeat(5,1fr);gap:.55rem;margin:.4rem 0 1rem;display:grid}.slot{aspect-ratio:3/4;font:500 1.6rem var(--main);color:#2b26224d;cursor:default;background:#ffffff40;border:1px dashed #2b26224d;justify-content:center;align-items:center;padding:0;display:flex}.slot.open{cursor:pointer;transition:transform .25s var(--ease);border:4px solid #fffdf7;transform:rotate(-2deg);box-shadow:0 4px 10px #0003}.slot.open:nth-child(2n){transform:rotate(1.5deg)}.slot.open:hover{transform:scale(1.06)rotate(0)}.slot img{object-fit:cover;width:100%;height:100%;display:block}.carnet .close{align-self:flex-end;margin-top:auto}.carnet-zoom{cursor:zoom-out;background:#14100c99;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.fade{background:var(--papier);z-index:40;transition:opacity .9s;position:absolute;inset:0}.fade.fast{transition:opacity .45s}.fade.glow{background:radial-gradient(circle at 50% 40%,#fffaf0 0%,#ffe7b0 45%,#f3c46e 100%);transition:opacity 1.1s ease-in}.globe-plate{z-index:30;color:#2b2622;text-align:center;background:linear-gradient(#d9b25e,#a77d2e);border-radius:6px;padding:.6rem 1.4rem;position:absolute;bottom:9%;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #00000059,inset 0 1px #fff5d299}.globe-time{letter-spacing:.04em;font-size:clamp(1rem,2.4vw,1.4rem)}.globe-help{opacity:.85;font-size:.95rem}.room-title{z-index:30;color:var(--papier);text-shadow:0 2px 12px #140e08bf;white-space:nowrap;pointer-events:none;max-width:calc(100vw - 2rem);font-size:clamp(1.3rem,3.2vw,2.1rem);animation:5.2s both room-title;position:absolute;top:12%;left:50%;transform:translate(-50%)}@keyframes room-title{0%{opacity:0;transform:translate(-50%,8px)}15%,75%{opacity:1;transform:translate(-50%)}to{opacity:0}}@media (max-width:600px){.room-title{white-space:normal;text-align:center}}.chapter-card{z-index:35;background:var(--papier);opacity:0;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;transition:opacity 1.4s;display:flex;position:absolute;inset:0}.chapter-card.on{opacity:1}.chapter-card .hand{color:var(--rouge)}.chapter-card h1{text-align:center;margin:.2rem 1rem 0;font-size:clamp(2.2rem,5vw,4rem);font-weight:500}.end-card{z-index:35;text-align:center;background:var(--papier);opacity:0;flex-direction:column;justify-content:center;align-items:center;gap:.6rem;padding:1rem;transition:opacity 1.6s;display:flex;position:absolute;inset:0}.end-card.on{opacity:1}.end-card .hand{color:var(--rouge)}.end-card h1{max-width:40rem;margin:0;font-size:clamp(1.8rem,4vw,3rem);font-weight:500}.end-card p{color:var(--encre-douce);font-size:1.2rem}.notice{background:var(--papier);z-index:45;max-width:calc(100vw - 2rem);padding:.5rem 1rem;font-size:1rem;position:absolute;top:1rem;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000004d}.loading{z-index:50;color:var(--encre-douce);pointer-events:none;flex-direction:column;align-items:center;gap:.4rem;font-size:1.4rem;display:flex;position:absolute;bottom:2.4rem;left:50%;transform:translate(-50%)}.loading .bar{background:#2b262226;width:10rem;height:2px}.loading .bar div{background:var(--encre);height:100%;transition:width .3s}.touch-zone{z-index:5;position:absolute;inset:0}.stick{z-index:6;pointer-events:none;background:#1c181426;border:2px solid #f3ead880;border-radius:50%;width:112px;height:112px;margin:-56px 0 0 -56px;position:absolute}.stick-knob{background:#f3ead8bf;border-radius:50%;width:48px;height:48px;margin:-24px 0 0 -24px;position:absolute;top:50%;left:50%}.touch-buttons{top:max(env(safe-area-inset-top), .8rem);z-index:8;justify-content:space-between;display:flex;position:absolute;left:.8rem;right:.8rem}.icon{width:2.8rem;height:2.8rem;color:var(--encre);background:#f3ead8d9;border:none;border-radius:50%;font-size:1.1rem}.action-btn{right:1.2rem;bottom:max(env(safe-area-inset-bottom), 1.4rem);z-index:8;font:500 1.6rem var(--main);background:var(--papier);border:none;padding:.6rem 1.3rem;position:absolute;transform:rotate(-2deg);box-shadow:0 8px 20px #0000004d}@media (max-width:760px){.carnet{background:var(--papier);grid-template-columns:1fr;overflow:auto}.slots{grid-template-columns:repeat(4,1fr)}.page{padding:1.2rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.credits h3{margin:.6rem 0 .1rem;font-size:1.15rem;font-weight:600}.credits ul{margin:0;padding-left:1rem;font-size:.98rem;line-height:1.35}.credits em{color:var(--encre-douce)}.row .value{color:var(--encre-douce);font-size:.95rem;font-style:normal}.sketch{color:var(--encre);margin:.4rem 0 .6rem}.sketch svg{width:100%;max-width:300px;height:auto;display:block;overflow:visible}.sketch figcaption{opacity:.75}.rift{z-index:5;background:var(--nuit);touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.rift-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.rift-touch{left:0;right:0;bottom:max(env(safe-area-inset-bottom), 1rem);pointer-events:none;z-index:8;justify-content:space-between;align-items:flex-end;padding:0 1rem;display:flex;position:absolute}.rift-pad{pointer-events:auto;align-items:flex-end;gap:.7rem;display:flex}.rift-btn{border:2px solid var(--encre);width:4.4rem;height:4.4rem;color:var(--encre);font:600 2rem/1 var(--serif);touch-action:none;-webkit-tap-highlight-color:transparent;background:#f3ead8d1;border-radius:50%}.rift-btn.small{width:3.6rem;height:3.6rem;font:500 1.05rem/1 var(--main)}.rift-btn:active{background:var(--or)}.rift-choose .btn{min-width:16rem}.flight-drag{left:0;right:0;bottom:max(env(safe-area-inset-bottom), 7rem);text-align:center;color:#f3ead88c;pointer-events:none;z-index:7;font-size:1.3rem;position:absolute}.ride-ui{pointer-events:none;z-index:6;position:absolute;inset:0}.ride-ui>*{pointer-events:auto}.ride-ui .ride-top,.ride-ui .ride-dash,.ride-ui .ride-place,.ride-ui .ride-count,.ride-ui .ride-help{pointer-events:none}.ride-top{top:max(env(safe-area-inset-top), .9rem);color:var(--papier);font:600 1.15rem var(--serif);text-shadow:0 1px 4px #000000b3;align-items:center;gap:1rem;display:flex;position:absolute;left:50%;transform:translate(-50%)}.ride-progress{background:#f3ead840;border-radius:1rem;width:min(38vw,22rem);height:.45rem;overflow:hidden}.ride-progress div{background:var(--or);height:100%}.ride-orbs{color:#ffd27a}.ride-place{text-align:center;color:var(--papier);text-shadow:0 2px 8px #000c;animation:rise .6s var(--ease) both;font-size:clamp(1.6rem,4vw,2.4rem);position:absolute;top:3.6rem;left:0;right:0}.ride-dash{right:1.4rem;bottom:max(env(safe-area-inset-bottom), 1.2rem);color:var(--papier);text-shadow:0 2px 6px #000c;align-items:baseline;gap:.4rem;display:flex;position:absolute}.ride-speed{font:600 3rem/1 var(--serif)}.ride-kmh{font:500 1rem var(--serif);margin-right:.8rem}.ride-boost{gap:.25rem;display:flex}.ride-boost i{border:1px solid var(--or);border-radius:.2rem;width:1.5rem;height:.6rem}.ride-boost i.full{background:var(--or)}.ride-boost.on i.full{background:#fff1c8;box-shadow:0 0 10px #ffd27a}.ride-drift{font:500 1.6rem var(--main);color:#9fe0ff;position:absolute;bottom:3.6rem;right:0}.ride-drift.big{color:#ffb25e}.ride-count{text-align:center;font:600 clamp(4rem, 12vw, 7rem) var(--serif);color:var(--papier);text-shadow:0 4px 16px #000000b3;animation:rise .4s var(--ease) both;position:absolute;top:38%;left:0;right:0}.ride-help{text-align:center;max-width:40rem;color:var(--papier);text-shadow:0 1px 4px #000c;font-size:1.05rem;position:absolute;top:22%;left:50%;transform:translate(-50%)}.screen-ride .ride-ui .rift-touch{pointer-events:none}.hall-label{color:#f3e2b8;white-space:nowrap;text-shadow:0 0 18px #ffd27a99;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:3.2rem}.reveal.view .polaroid-photo video{background:#000;max-width:80vw;max-height:62vh;display:block}.message-player{color:var(--papier);z-index:20;background:#1c1814d9;border-radius:2rem;align-items:center;gap:1rem;padding:.6rem 1.2rem;display:flex;position:absolute;bottom:2.4rem;left:50%;transform:translate(-50%)}.message-player .hand{font-size:1.5rem}.message-wave{align-items:center;gap:.2rem;height:1.4rem;display:flex}.message-wave i{background:var(--or);width:.25rem;height:100%;animation:1s ease-in-out infinite wave}.message-wave i:nth-child(2){animation-delay:.15s}.message-wave i:nth-child(3){animation-delay:.3s}.message-wave i:nth-child(4){animation-delay:.45s}.message-wave i:nth-child(5){animation-delay:.6s}@keyframes wave{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}@media (max-width:700px){.ride-top{top:max(env(safe-area-inset-top), 5.4rem);white-space:nowrap;gap:.6rem}.ride-progress{width:40vw}.ride-place{top:7.6rem}.ride-dash{bottom:max(env(safe-area-inset-bottom), 7.4rem)}}
