:root{color-scheme:dark;font-family:Georgia,Times New Roman,serif;font-synthesis:none;--ink: #f7f0e4;--control-bg: rgba(25, 14, 9, .72);--control-border: rgba(255, 244, 224, .17)}*{box-sizing:border-box}html,body{width:100%;min-width:320px;height:100%;margin:0;overflow:hidden;background:#24140c}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.reader{position:relative;isolation:isolate;display:grid;width:100%;height:100dvh;min-height:520px;overflow:hidden;background:linear-gradient(180deg,#1108040a,#1108042e),var(--world-background, url(/decor-table-active.png)) center / cover no-repeat}.reader:after{position:absolute;z-index:-1;inset:0;content:"";pointer-events:none;background:radial-gradient(ellipse at center,transparent 44%,rgba(10,5,2,.22) 100%),linear-gradient(90deg,rgba(0,0,0,.14),transparent 12%,transparent 88%,rgba(0,0,0,.18))}.scene-grain{position:absolute;z-index:0;inset:0;pointer-events:none;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.26'/%3E%3C/svg%3E");mix-blend-mode:soft-light}.world-secrets{position:absolute;z-index:12;inset:0;overflow:hidden;pointer-events:none}.secret-hotspot{position:absolute;display:block;padding:0;overflow:hidden;border:0;border-radius:50%;outline:none;background:transparent;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent}.secret-hotspot:before{position:absolute;inset:0;content:"";opacity:0;border-radius:inherit;background-image:var(--world-background);background-repeat:no-repeat;background-position:var(--secret-background-position);background-size:var(--secret-background-size);transform-origin:center;transition:opacity .12s ease,filter .13s ease,transform .15s ease}.secret-hotspot:hover:before,.secret-hotspot:focus-visible:before{opacity:.96;transform:translateY(-1px) rotate(.8deg) scale(1.015)}.secret-hotspot[data-feedback=correct]:before{opacity:1;filter:sepia(.95) saturate(6) hue-rotate(63deg) brightness(1.12);transform:scale(1.045)}.secret-hotspot[data-feedback=wrong]:before{opacity:1;filter:sepia(.95) saturate(7) hue-rotate(315deg) brightness(1.08);transform:translate(-1px) scale(1.035)}.reader[data-locked=true] .world-secrets,.reader:not([data-intro=placed]) .secret-hotspot{visibility:hidden;pointer-events:none}.world-transition{position:fixed;z-index:90;inset:0;opacity:0;visibility:hidden;background:radial-gradient(circle at 50% 44%,#5f492c1a,#080503f0 72%),#120d09;pointer-events:none;transition:opacity .36s ease,visibility .36s ease}.world-transition.is-active{opacity:1;visibility:visible;pointer-events:auto}.reader[data-locked=true] .entrance-book,.reader[data-locked=true] .reader-close,.reader[data-locked=true] .book-stage,.reader[data-locked=true] .reader-controls,.reader[data-locked=true] .loading-screen{opacity:0;visibility:hidden;pointer-events:none}.access-dialog{width:min(300px,calc(100vw - 34px));max-height:calc(100dvh - 24px);padding:0;overflow:auto;color:#e9e4d8;border:1px solid #77746d;border-radius:8px;background:linear-gradient(145deg,#575752,#343532 72%);box-shadow:0 26px 70px #0c05017a}.access-dialog::backdrop{background:#12090433;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px)}.access-dialog form{display:grid;gap:15px;padding:20px}.access-heading{display:grid;grid-template-columns:12px 1fr;align-items:center;gap:11px}.access-heading h1,.access-heading p{margin:0}.access-heading h1{font-family:system-ui,sans-serif;font-size:.98rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase}.access-heading p{margin-top:3px;color:#bbb8b0;font-family:system-ui,sans-serif;font-size:.72rem;line-height:1.35}.access-led{width:10px;height:10px;border:1px solid #1d211d;border-radius:50%;background:#667065;box-shadow:inset 0 1px 2px #000000b3;transition:background-color .12s ease,box-shadow .12s ease}.access-led[data-state=error]{background:#c33b2e;box-shadow:0 0 8px #d63629bf,inset 0 1px 2px #fff3}.access-led[data-state=success]{background:#56a65d;box-shadow:0 0 8px #4cbf5bb8,inset 0 1px 2px #ffffff40}.access-display{display:flex;justify-content:center;gap:12px;min-height:37px;padding:12px;border:1px solid #1f211f;border-radius:4px;background:#202420;box-shadow:inset 0 2px 7px #0000008c}.access-display span{width:9px;height:9px;border:1px solid #657064;border-radius:50%;background:transparent}.access-display span.is-filled{background:#9aaf91;box-shadow:0 0 5px #adcda494}.access-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.access-keypad button{display:grid;place-items:center;min-height:48px;padding:0;color:#f4f0e8;border:1px solid #171817;border-radius:5px;background:linear-gradient(#555652,#3c3d3a);box-shadow:0 2px 2px #0000006b,inset 0 1px #ffffff21;font-family:system-ui,sans-serif;font-size:1.05rem;cursor:pointer;touch-action:manipulation}.access-keypad button:hover,.access-keypad button:focus-visible{border-color:#a6a39b;outline:none;background:linear-gradient(#646560,#444541)}.access-keypad button:active{box-shadow:inset 0 2px 4px #0000007a;transform:translateY(1px)}.access-keypad .access-keypad__action{color:#d8d3c8;background:linear-gradient(#4b4c48,#343532)}.access-keypad button:disabled{opacity:.55;cursor:wait}.access-dialog .access-error{min-height:1.1em;margin:-4px 0 0;color:#ffb0a7;font-family:system-ui,sans-serif;font-size:.74rem;text-align:center}.access-dialog .access-error[hidden]{display:block;visibility:hidden}.access-dialog form.is-wrong{animation:access-shake .18s ease-in-out 2}@keyframes access-shake{25%{transform:translate(-3px)}75%{transform:translate(3px)}}.entrance-book{position:fixed;z-index:30;top:0;left:0;width:620px;height:880px;padding:0;overflow:visible;color:inherit;border:0;background:#f7f2e7;box-shadow:inset 0 0 0 1px #361f113d;transform-origin:0 0;cursor:pointer;will-change:transform,filter,opacity;backface-visibility:hidden}.entrance-book img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none}.entrance-book__edge{position:absolute;z-index:-1;inset:0 0 -10px 8px;background:#d6c8ad;box-shadow:0 5px #6c3d23,0 10px 18px #08030147;pointer-events:none}.reader[data-intro=ready] .entrance-book{opacity:0;pointer-events:none}.reader[data-intro=placed] .book-zoom,.reader[data-intro=approaching] .book-zoom,.reader[data-intro=returning] .book-zoom{opacity:0}.reader[data-intro=handoff] .book-zoom,.reader[data-intro=ready] .book-zoom{opacity:1}.reader-close{position:fixed;z-index:22;top:max(14px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));display:grid;place-items:center;width:34px;height:34px;padding:0;color:#fff6e6b3;border:1px solid rgba(255,246,230,.14);border-radius:50%;background:#180d086b;cursor:pointer;visibility:visible;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:color .16s ease,background-color .16s ease,opacity .18s ease,transform .18s ease,visibility .18s ease}.reader-close svg{width:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.reader-close:hover,.reader-close:focus-visible{color:#fff9ef;outline:none;background:#180d08a8}.reader:not([data-intro=ready]) .reader-close{opacity:0;visibility:hidden;transform:scale(.86);pointer-events:none}.book-zoom{opacity:1;transform:translate(var(--closed-book-offset, 0px));transition:filter .5s ease,opacity .18s ease,transform .7s cubic-bezier(.22,.78,.2,1)}.reader:not([data-intro=ready]) .book-zoom,.book-zoom.is-realigning{transition:filter .5s ease,opacity .18s ease}.book-stage{position:relative;z-index:1;display:grid;place-items:center;width:100%;height:calc(100dvh - 70px);padding:clamp(18px,3.2vh,42px) clamp(18px,5vw,110px) 4px;perspective:1800px}.book-zoom{display:grid;place-items:center;width:100%;height:100%;max-width:100%;max-height:100%;filter:drop-shadow(0 26px 24px rgba(9,4,1,.36)) drop-shadow(0 5px 5px rgba(9,4,1,.32))}#book{opacity:0;transition:opacity .48s ease}#book.stf__parent{opacity:1}.book-page{overflow:hidden;background:#fff}.book-page[data-density=hard]{background:#f7f2e7;box-shadow:inset 0 0 0 1px #321b0d47}.book-page img{display:block;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none}.book-page:after{position:absolute;inset:0;content:"";pointer-events:none;box-shadow:inset 0 0 16px #3f27130b}.reader-controls{position:absolute;z-index:20;left:50%;bottom:max(12px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:2px;padding:5px;border:1px solid var(--control-border);border-radius:999px;background:var(--control-bg);box-shadow:0 8px 28px #00000042;transform:translate(-50%);-webkit-backdrop-filter:blur(16px) saturate(.9);backdrop-filter:blur(16px) saturate(.9);transition:opacity .22s ease,transform .22s ease}.reader[data-intro=placed] .reader-controls,.reader[data-intro=approaching] .reader-controls,.reader[data-intro=handoff] .reader-controls,.reader[data-intro=returning] .reader-controls{opacity:0;pointer-events:none;transform:translate(-50%,6px)}.icon-button,.page-indicator{display:inline-grid;place-items:center;height:36px;color:#fff6e6d1;border:0;border-radius:999px;background:transparent;cursor:pointer;text-decoration:none;transition:color .16s ease,background-color .16s ease,opacity .16s ease}.icon-button{width:36px}.icon-button svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.page-indicator{min-width:102px;padding:0 10px;font-family:system-ui,sans-serif;font-size:.72rem;letter-spacing:.02em}.icon-button:hover,.page-indicator:hover,.icon-button:focus-visible,.page-indicator:focus-visible,.icon-button.is-active{color:#fff9ef;outline:none;background:#fff8eb1a}.icon-button:disabled{opacity:.28;cursor:default}.control-separator{width:1px;height:20px;margin:0 3px;background:#fff6e621}.reader-dialog{width:min(420px,calc(100vw - 34px));padding:0;color:#2b1b12;border:1px solid rgba(60,36,20,.2);border-radius:4px;background:#f7f2e7;box-shadow:0 26px 70px #0c050180}.reader-dialog::backdrop{background:#12090494;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.reader-dialog form{padding:20px}.dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;border-bottom:1px solid rgba(58,35,21,.15)}.dialog-header h1{margin:0 0 12px;font-size:1.08rem;font-weight:400;letter-spacing:.025em}.dialog-close{align-self:flex-start;padding:0 3px 5px;color:#6b5546;border:0;background:transparent;font-size:1.45rem;line-height:1;cursor:pointer}.contents-list{display:grid;gap:1px;margin:0;padding:0;list-style:none}.contents-list button{display:flex;justify-content:space-between;width:100%;padding:11px 8px;color:#3a261a;border:0;border-bottom:1px dotted rgba(74,45,25,.2);background:transparent;cursor:pointer}.contents-list button:hover,.contents-list button:focus-visible{outline:none;background:#5a371d12}.page-dialog label{display:block;margin-bottom:8px;color:#675143;font-size:.82rem}.page-form-row{display:flex;gap:8px}.page-form-row input{min-width:0;flex:1;padding:9px 11px;color:#2b1b12;border:1px solid rgba(61,37,21,.25);border-radius:3px;background:#fffdf8}.go-button{padding:0 16px;color:#fff8eb;border:0;border-radius:3px;background:#4b2e1c;cursor:pointer}.loading-screen{position:fixed;z-index:100;inset:0;display:grid;place-content:center;justify-items:center;color:#fff7e9c7;background:#24140c;font-size:.82rem;letter-spacing:.04em;transition:opacity .4s ease,visibility .4s ease}.loading-screen.is-hidden{opacity:0;visibility:hidden}.loading-mark{display:grid;place-items:center;width:48px;height:66px;margin-bottom:8px;color:#3a2315;background:#f4eddf;box-shadow:5px 7px #3b2113,8px 10px 18px #00000047;font-size:1.5rem}@media(max-width:760px){.reader{min-height:430px;background-position:center}.reader:after{background:radial-gradient(ellipse at center,transparent 34%,rgba(10,5,2,.32) 100%)}.book-stage{height:calc(100dvh - 64px);padding:max(14px,env(safe-area-inset-top)) 8px 0}.book-zoom{width:100%;height:100%;max-width:calc(100vw - 16px);filter:drop-shadow(0 18px 16px rgba(9,4,1,.32))}.wide-control{display:none}.reader-controls{bottom:max(8px,env(safe-area-inset-bottom))}}@media(max-height:650px)and (min-width:761px){.book-stage{height:calc(100dvh - 58px);padding-top:12px}.reader-controls{bottom:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
