:root{color-scheme:dark;--cream:#f6e8c8;--gold:#d5a85d;--ink:#24190f;--glass:rgba(26,20,12,.87)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#0a0806;color:var(--cream);font-family:Georgia,'Times New Roman',serif}button{font:inherit;cursor:pointer;touch-action:manipulation;color:inherit}#game{position:relative;width:min(100vw,500px);height:100vh;height:100dvh;margin:auto;overflow:hidden;background:#1d130b;isolation:isolate;user-select:none;-webkit-user-select:none}#viewport{position:absolute;inset:0;overflow:hidden;touch-action:pan-y}#world{position:absolute;top:0;height:100%;aspect-ratio:941/1672;width:auto;left:50%;transform:translateX(calc(-50% + var(--pan,0px)));touch-action:none;will-change:transform}#photo{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none}#vignette{pointer-events:none;position:absolute;inset:0;background:linear-gradient(to bottom,rgba(10,8,6,.48),transparent 16%,transparent 79%,rgba(10,7,5,.6)),radial-gradient(ellipse at center,transparent 45%,rgba(5,3,1,.3));z-index:10}.hotspot,.world-object{position:absolute;appearance:none;background:transparent;border:0;padding:0;z-index:8;touch-action:none}.hotspot span{position:absolute;left:50%;bottom:2px;transform:translateX(-50%);white-space:nowrap;color:#ffebbd;font:10px/1.2 system-ui,sans-serif;letter-spacing:.06em;text-shadow:0 1px 5px #000;background:rgba(16,11,5,.69);border:1px solid rgba(239,210,153,.24);border-radius:8px;padding:4px 6px;opacity:0;pointer-events:none;transition:opacity .15s}.hotspot:active span,.hotspot:focus-visible span,.hotspot.revealed span{opacity:1}.hotspot:active{background:rgba(255,222,133,.09);border-radius:12px}.lock-hot:after{content:'';position:absolute;inset:27% 15%;border:1px solid rgba(234,187,94,.45);border-radius:5px;box-shadow:0 0 12px rgba(249,185,76,.14);animation:lockPulse 4s ease-in-out infinite;pointer-events:none}.lock-hot.solved:after{border-color:rgba(113,225,155,.6);box-shadow:0 0 15px rgba(84,195,121,.4)}@keyframes lockPulse{0%,100%{opacity:.25}50%{opacity:.95}}#sunbeam{position:absolute;pointer-events:none;z-index:2;inset:0;background:linear-gradient(133deg,transparent 28%,rgba(255,226,151,.07) 43%,rgba(255,227,161,.24) 50%,rgba(255,214,125,.09) 58%,transparent 71%);mix-blend-mode:screen;opacity:var(--sun-strength,.7);transition:opacity 1s}#scorch{position:absolute;left:50%;top:63.5%;width:6.5%;height:2.4%;border-radius:50%;background:radial-gradient(ellipse,rgba(11,5,0,.93),rgba(34,12,0,.83) 40%,rgba(117,57,6,.44) 75%,transparent);filter:blur(1px);opacity:0;z-index:4;pointer-events:none;transition:opacity 1.1s}#scorch.burned{opacity:1}#secretButton{z-index:9;display:none;border-radius:50%;background:radial-gradient(circle at 35% 27%,#c2a068,#574225 25%,#100d0b 40%,#645139 62%,#17100a 80%);box-shadow:0 0 4px 2px rgba(0,0,0,.8),0 0 15px rgba(228,158,64,.65);animation:secretPulse 1.7s infinite}#secretButton.shown{display:block}#secretButton span{font-size:11px;color:rgba(245,201,127,.25)}@keyframes secretPulse{50%{box-shadow:0 0 8px 4px rgba(0,0,0,.6),0 0 28px rgba(241,174,90,.82)}}#darkness{position:absolute;inset:0;z-index:5;pointer-events:none;background:rgba(2,5,8,.87);opacity:0;transition:opacity 1.6s}#world.light-off #darkness{opacity:1}#world.light-off #sunbeam{opacity:.015}#glowMessage{position:absolute;left:74%;top:7%;z-index:7;color:#9eff88;text-align:center;transform:rotate(-12deg);pointer-events:none;opacity:0;transition:opacity 2.2s;text-shadow:0 0 4px #bcffaf,0 0 16px #71ff58,0 0 30px #42ee8b}#world.light-off #glowMessage{opacity:1}#glowMessage .glow-mark{font:italic 63px/1 'Times New Roman',serif;display:block;letter-spacing:-6px}#glowMessage .glow-caption{font:italic 12px/1 cursive;letter-spacing:.3em}#ants{position:absolute;left:80%;top:61%;width:6%;height:3%;pointer-events:none;z-index:4}#ants i{position:absolute;width:5px;height:3px;background:#130c07;border-radius:50%;filter:drop-shadow(0 0 2px #0b0906);opacity:0;animation:antcrawl 16s linear infinite}#ants i:nth-child(2){animation-delay:3s}#ants i:nth-child(3){animation-delay:6s}#ants i:nth-child(4){animation-delay:9s}@keyframes antcrawl{0%{opacity:0;transform:translate(0,0) rotate(0)}12%{opacity:.9}25%{transform:translate(-15px,10px) rotate(38deg)}47%{transform:translate(-45px,5px) rotate(-10deg)}72%{transform:translate(-66px,-30px) rotate(-55deg)}92%{opacity:1}100%{opacity:0;transform:translate(-86px,-40px) rotate(-90deg)}}#sugar{position:absolute;left:78%;top:61%;width:50px;height:20px;pointer-events:none;z-index:3}#sugar i{position:absolute;left:calc(var(--n)*7px);top:calc(2px + var(--n)*2px);width:3px;height:3px;background:#e2d3b6;transform:rotate(40deg);box-shadow:1px 1px 2px #1b120c}#sugar i:nth-child(1){--n:1}#sugar i:nth-child(2){--n:2}#sugar i:nth-child(3){--n:3}#sugar i:nth-child(4){--n:4}#sugar i:nth-child(5){--n:5}.hud{position:absolute;z-index:12;top:0;left:0;right:0;padding:calc(env(safe-area-inset-top,0px) + 15px) 16px 13px;display:flex;justify-content:space-between;align-items:start;background:linear-gradient(to bottom,rgba(10,7,4,.82),transparent);pointer-events:none}.brand{display:flex;flex-direction:column;text-shadow:0 2px 8px black}.brand-over{font:8px system-ui,sans-serif;letter-spacing:.32em;color:#c4ad8c}.brand strong{font:19px/1.2 Georgia,serif;letter-spacing:.14em;color:#f9e8c7}.hud-right{display:flex;gap:8px;align-items:center;pointer-events:auto}.count{font:12px system-ui,sans-serif;white-space:nowrap;color:#f3dba8;padding-right:4px}.round-btn{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,224,173,.38);background:rgba(20,13,6,.77);font-size:18px;backdrop-filter:blur(8px)}.round-btn:active{background:#7a5d35}.bottom-ui{position:absolute;z-index:12;left:0;right:0;bottom:0;padding:9px 19px calc(env(safe-area-inset-bottom,0px) + 18px);display:flex;gap:12px;align-items:end;justify-content:space-between;background:linear-gradient(transparent,rgba(7,5,3,.77));pointer-events:none}.bottom-ui button{pointer-events:auto;color:#e8d0a1;background:rgba(25,17,10,.86);border:1px solid rgba(226,194,141,.5);border-radius:16px;padding:9px 11px;white-space:nowrap;font:11px system-ui,sans-serif}.bottom-ui span{max-width:58%;font:11px/1.45 system-ui,sans-serif;text-align:right;color:#ebd7ae;opacity:.9;text-shadow:0 2px 5px #000}#hintBubble{position:absolute;z-index:24;bottom:calc(env(safe-area-inset-bottom,0px) + 77px);left:50%;transform:translate(-50%,12px);max-width:90%;width:max-content;border:1px solid rgba(248,219,156,.46);border-radius:12px;background:rgba(22,16,10,.92);padding:10px 14px;box-shadow:0 10px 35px #000b;color:#fce9bd;font:12px/1.4 system-ui,sans-serif;text-align:center;pointer-events:none;opacity:0;transition:opacity .3s,transform .3s}#hintBubble.show{opacity:1;transform:translate(-50%,0)}.intro{position:absolute;inset:0;z-index:40;display:none;align-items:center;justify-content:center;text-align:center}.intro.open{display:flex}.intro-shade{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(4,3,2,.2),rgba(7,5,3,.84) 33%,rgba(7,5,3,.9) 70%,rgba(4,3,2,.5));backdrop-filter:blur(2.5px)}.intro-content{position:relative;padding:25px;animation:introEnter .8s ease-out both}.eyebrow{color:#dab87d;font:9px system-ui,sans-serif;letter-spacing:.32em}.intro-content h1{font:normal 61px/1.1 Georgia,serif;color:#fff0ce;text-shadow:0 2px 17px #000;letter-spacing:.035em;margin:15px 0 22px}.intro-content p:not(.eyebrow){color:#e7d6ba;font:16px/1.7 Georgia,serif}.intro-content button{margin:25px 0 18px;background:#8c632f;border:1px solid #e7c587;border-radius:3px;box-shadow:0 5px 20px #000a,inset 0 1px #f3d89a67;padding:15px 19px;font:11px system-ui,sans-serif;letter-spacing:.17em}.intro-content button span{font-size:17px;margin-left:9px}.intro-content small{display:block;color:#b9a27d;font:11px/1.6 system-ui,sans-serif}@keyframes introEnter{from{opacity:0;transform:translateY(23px)}to{opacity:1;transform:none}}.modal-root{position:absolute;inset:0;z-index:30;pointer-events:none;display:flex;align-items:center;justify-content:center}.modal-root.active{pointer-events:auto}.modal-bg{position:absolute;inset:0;background:rgba(8,6,4,.76);backdrop-filter:blur(7px);animation:fadeIn .26s}.modal-content{position:relative;width:min(92%,425px);max-height:calc(100dvh - 94px);overflow:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;animation:modalRise .38s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(0 17px 28px rgba(0,0,0,.9))}.modal-close{position:absolute;z-index:2;top:9px;right:9px;width:35px;height:35px;border-radius:50%;border:1px solid #fff4;background:rgba(24,19,13,.83);font:24px/1 Arial}.paper{min-height:320px;color:#443020;padding:50px 31px 38px;background:radial-gradient(ellipse at 20% 20%,rgba(255,255,229,.5),transparent 50%),repeating-linear-gradient(0deg,transparent,transparent 30px,#6a512c0e 31px),linear-gradient(125deg,#ead7a8,#c7af79 48%,#e6d0a4);clip-path:polygon(1% 1%,18% 1.7%,25% 0,75% 1%,99% 0,99% 25%,100% 57%,99% 90%,95% 100%,55% 99%,16% 100%,0 97%,1% 65%,0 24%);box-shadow:inset 0 0 55px #63472855;position:relative;transform-origin:50% 65%}.paper::before{content:'';position:absolute;inset:10px;border:1px solid #795b3040;pointer-events:none}.paper .date{font:italic 13px/1.4 Georgia,serif;color:#8e734f}.paper h2{font:normal 23px Georgia,serif;margin:23px 0 16px;text-align:center}.paper p{font:italic 19px/1.75 Georgia,serif;white-space:pre-line;text-align:center}.paper .signature{text-align:right;font:italic 13px Georgia,serif;margin-top:35px;color:#7b644c}.paper .letter-number{font-size:32px;font-weight:bold;text-decoration:underline}.paper .tiny{font:italic 13px Georgia,serif;color:#765b41}.discovered{display:flex;justify-content:center;align-items:center;gap:6px;font:11px system-ui,sans-serif;letter-spacing:.12em;color:#d6b575;padding:13px 8px 3px}.discovered b{font-size:16px;color:#f9d999}.tray,.book-view,.board-view,.lock-view,.journal-view,.secret-view,.win-view,.trash-view,.simple-view{position:relative;border-radius:8px;padding:38px 22px 27px;background:linear-gradient(155deg,#3b2a1b,#1c130d 60%,#48311b);border:1px solid #98724a;box-shadow:inset 0 0 0 4px #140e0899,inset 0 0 35px #000a}.modal-content h2{color:#f7ddb0;font:25px Georgia,serif;letter-spacing:.035em;margin:10px 0 16px;text-align:center}.modal-content .subtitle{font:13px/1.6 system-ui,sans-serif;color:#cdb594;text-align:center;margin:10px auto 20px;max-width:290px}.object-choice{background:linear-gradient(160deg,#4e3b25,#2e2115);border:1px solid #94714a;border-radius:7px;padding:13px;margin:10px 0;display:flex;gap:13px;align-items:center;width:100%;text-align:left;box-shadow:inset 0 1px #ffffff16}.object-choice:active{transform:scale(.98);background:#604429}.object-choice .object-icon{width:49px;text-align:center;font:34px Georgia,serif}.object-choice strong{display:block;font:15px Georgia,serif}.object-choice small{display:block;margin-top:4px;font:11px system-ui,sans-serif;color:#c9b395}.trash-view{background:linear-gradient(150deg,#443b30,#25211c);}.trash-crumple{display:block;width:110px;height:100px;margin:10px auto 15px;background:radial-gradient(ellipse at 35% 30%,#f1dcad,#c5aa79 50%,#7e6044);border-radius:43% 55% 35% 51%;clip-path:polygon(12% 4%,37% 16%,60% 0,88% 20%,98% 51%,75% 89%,33% 100%,3% 70%);transform:rotate(-8deg);filter:drop-shadow(3px 7px 6px #0006);animation:crumple 2.5s ease-in-out infinite alternate}@keyframes crumple{to{transform:rotate(4deg) scale(.94)}}.chalkboard{position:relative;overflow:hidden;background:radial-gradient(ellipse at 45% 45%,#273631,#0a1412 90%);border:11px ridge #68462b;border-radius:2px;box-shadow:inset 0 0 40px #000,inset 0 0 80px #10231c;margin:7px auto 12px;width:100%;aspect-ratio:1.25;touch-action:none}.chalkboard-blank{position:absolute;inset:0;background:linear-gradient(50deg,transparent 20%,#afc3ac09,transparent 85%),repeating-linear-gradient(-10deg,transparent 0 12px,#ffffff04 15px);pointer-events:none}.chalk-writing{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;flex-direction:column;text-align:center;opacity:var(--reveal,0);filter:blur(calc((1 - var(--reveal,0)) * 8px));transition:opacity .15s,filter .15s;color:#dddfcb;text-shadow:0 0 2px #e5e6c6,1px -2px #9baf9a;font:italic 24px/1.5 Georgia,serif;pointer-events:none}.chalk-writing strong{font:italic 81px/1.1 Georgia,serif}.board-view .subtitle{font-size:12px}.erase-cursor{position:absolute;z-index:4;pointer-events:none;width:62px;height:29px;border-radius:5px;background:linear-gradient(#e4decf,#a79c8d 45%,#373333 48%,#69665d);box-shadow:2px 4px 7px #0009;opacity:0;transform:translate(-50%,-50%) rotate(-12deg)}.erase-cursor.visible{opacity:1}.book-view{background:repeating-linear-gradient(2deg,transparent,transparent 24px,#7e634521 25px),linear-gradient(145deg,#7a5537,#3d2a1c)}.book-inner{background:linear-gradient(110deg,#e2cca0,#cab080 55%,#e1cba0);color:#3d2a17;min-height:280px;padding:30px 25px;border-radius:2px 10px 10px 2px;box-shadow:inset 9px 0 13px #51321858,4px 5px 10px #0006}.book-inner h2{color:#47311c}.book-inner p{font:italic 18px/1.7 Georgia,serif;text-align:center;white-space:pre-line}.clip-marker{display:block;font-size:28px;margin:12px auto}.status-tag{border-radius:30px;padding:8px 13px;border:1px solid #cca56e65;color:#e8cba0;font:12px system-ui,sans-serif;display:block;margin:14px auto 4px;width:max-content;max-width:100%;text-align:center}.lock-body{padding:20px 11px;border-radius:9px;background:linear-gradient(145deg,#cfb270,#5c451c 19%,#bca064 39%,#4a321b 58%,#d6b77b 80%,#52381f);border:3px ridge #b18a4c;box-shadow:inset 0 0 35px #130b075e,1px 7px 14px #0008}.lock-dials{display:flex;justify-content:center;gap:12px;margin:15px auto 12px}.dial{width:73px;display:flex;flex-direction:column;align-items:center;padding:4px 2px;background:linear-gradient(90deg,#130f0b,#271b0f 30%,#5a452e 50%,#271c0e 72%,#0b0806);border:2px solid #6c4d28;border-radius:8px;box-shadow:inset 0 0 8px #000a}.dial button{background:none;border:0;font:26px system-ui,sans-serif;line-height:32px;color:#e5c08b;width:100%;height:38px}.dial .digit{color:#22180a;background:linear-gradient(#f8e6b6,#c2a36b);height:50px;width:47px;display:grid;place-items:center;font:36px/1 Georgia,serif;border-radius:2px;box-shadow:inset 0 1px 2px #fff5,inset 0 -2px 3px #0004;touch-action:none}.lock-message{min-height:37px;text-align:center;font:13px/1.5 system-ui,sans-serif;color:#efdbb4}.action-btn{width:100%;max-width:310px;padding:14px;margin:17px auto 0;display:block;border:1px solid #e0b779;border-radius:4px;background:linear-gradient(#916736,#684821);color:#fff1d2;font:12px system-ui,sans-serif;letter-spacing:.13em}.action-btn:active{transform:scale(.99)}.lock-unlocked .lock-body{box-shadow:0 0 25px #b2e59f55,inset 0 0 25px #130b075e}.drawer-wood{background:repeating-linear-gradient(5deg,#4a2c18 0,#684027 3px,#432616 9px,#2e190d 15px);border:12px ridge #815733;padding:14px 13px;border-radius:3px;box-shadow:inset 0 0 30px #000a}.drawer-items{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.drawer-item{min-height:110px;padding:13px 4px;border:1px solid #bc905857;background:rgba(9,7,4,.56);border-radius:3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.drawer-item:disabled{opacity:.5}.drawer-item .object-icon{font-size:37px;line-height:1}.drawer-item span:last-child{font:11px system-ui,sans-serif;color:#f3ddb6}.tray .subtitle{margin-bottom:10px}.journal-view{max-height:calc(100dvh - 110px);overflow:auto}.journal-view .journal-paper{background:linear-gradient(120deg,#e9d6a9,#c9aa75);color:#48351d;border-radius:3px;padding:17px 13px;box-shadow:inset 0 0 25px #a78b5877}.journal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;text-align:center}.journal-half{border:1px solid #5c432947;padding:13px 5px}.journal-half label{font:10px system-ui,sans-serif;color:#67452b;letter-spacing:.1em}.digits-list{display:flex;justify-content:center;gap:7px;padding:13px 2px 7px}.digits-list b{display:grid;place-items:center;width:32px;height:42px;border-bottom:2px solid #503822;font:29px Georgia,serif}.journal-clues{text-align:left;font:12px/1.9 Georgia,serif;margin:14px 0 7px;padding-left:21px}.journal-clues li.missing{opacity:.54}.journal-view .reset-btn{display:block;margin:15px auto 0;background:none;border:0;text-decoration:underline;color:#bda681;font:11px system-ui,sans-serif}.wood-slot{background:radial-gradient(ellipse at 50% 50%,#b48b55,#5d3b1e 60%,#271509);border:9px ridge #795436;padding:14px 25px 20px;margin-top:9px;border-radius:7px;box-shadow:inset 0 12px 23px #100800}.wood-slot p{color:#e8d4ae;text-align:center;font:italic 16px/1.5 Georgia,serif}.wood-slot strong{display:block;font:73px Georgia,serif;text-align:center;color:#f0d18f;text-shadow:0 0 19px #d09e40}.secret-view .subtitle{margin-top:12px}.win-view{padding:40px 21px 35px;text-align:center;background:radial-gradient(ellipse at 50% 30%,#7b5a1e,#2e1c0a 65%,#100b06);border-color:#cca663}.win-view h2{font:40px Georgia,serif;color:#ffecbc;text-shadow:0 2px 17px #d2a13e}.win-view p{line-height:1.65}.win-view .small-star{color:#f5c25a;font-size:55px}.simple-view{padding:50px 25px;text-align:center}.simple-view p{font:17px/1.65 Georgia,serif}.simple-view .item-art{font-size:60px}.modal-cta{display:block;margin:18px auto 2px;border:1px solid #ad8957;color:#edcba0;border-radius:4px;background:#3f2e1d;padding:11px 17px;font:12px system-ui,sans-serif}.modal-cta:active{background:#705334}#heldTool{position:absolute;z-index:28;pointer-events:none;left:50%;top:50%;width:130px;height:154px;opacity:0;transform:translate(-50%,-35%) rotate(-21deg) scale(.8);transition:opacity .15s,transform .15s;filter:drop-shadow(3px 6px 7px #000b)}#heldTool.held{opacity:1;transform:translate(-50%,-35%) rotate(-21deg) scale(1)}.lens-glass{position:absolute;top:0;left:7px;width:100px;height:100px;border-radius:50%;border:12px ridge #a98344;background:radial-gradient(circle at 32% 25%,rgba(255,255,255,.21),transparent 45%),rgba(177,212,214,.2);box-shadow:inset 0 0 18px #0a171c85,0 0 1px 2px #d1ae6a}.lens-handle{position:absolute;left:91px;top:85px;width:18px;height:72px;border:2px solid #c19c61;border-radius:9px;transform:rotate(-36deg);transform-origin:top;background:linear-gradient(90deg,#21140d,#74431a 30%,#291a0f 70%,#865b2c)}#coinStorm{position:absolute;inset:0;z-index:36;pointer-events:none;overflow:hidden}.coin-particle{position:absolute;width:50px;height:50px;transform-origin:center;will-change:transform,opacity;filter:drop-shadow(0 3px 4px #0008)}.coin-particle img{width:100%;height:100%;object-fit:contain}@keyframes modalRise{from{opacity:0;transform:translateY(35px) scale(.84)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}#caseInside{position:absolute;left:9%;top:30.6%;width:82%;height:24%;z-index:3;border:10px ridge #71401e;border-radius:9px;background:radial-gradient(ellipse at center,#c2a464,#6a3512 65%,#210d06 90%);box-shadow:inset 0 0 35px #200c05;opacity:0;transform:scaleY(.2);transform-origin:50% 100%;transition:opacity .7s,transform 1s;overflow:hidden}#caseInside .inside-glow{position:absolute;inset:0;background:radial-gradient(ellipse,#f8d87696,transparent 75%)}#caseInside .inside-coins{position:absolute;inset:0;background-image:url('assets/moneda.webp');background-size:15% 20%;opacity:.85}#caseLid{position:absolute;left:10%;top:29%;width:80%;height:17.8%;border:11px ridge #603714;border-radius:8px;background:linear-gradient(120deg,#81481f,#4a2919 34%,#83532d 63%,#3b2012);z-index:4;opacity:0;transform-origin:top center;transform:perspective(700px) rotateX(0deg);transition:transform 1.5s cubic-bezier(.25,.64,.11,1),opacity .6s;pointer-events:none;box-shadow:inset 0 0 20px #0008}#world.case-open #caseInside{opacity:1;transform:scaleY(1)}#world.case-open #caseLid{opacity:1;transform:perspective(700px) rotateX(-136deg)}#world.case-open .lock-hot{display:none}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-height:630px){.intro-content h1{font-size:47px}.intro-content p:not(.eyebrow){font-size:14px}.modal-content{max-height:calc(100dvh - 50px)}.hud{padding-top:calc(env(safe-area-inset-top,0px) + 8px)}.bottom-ui{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 8px)}}
/* Una escena sin interfaz: ninguna instrucción ni botón invade la fotografía. */
.hotspot span{display:none!important}
.hotspot:active{background:transparent}
.lock-hot:after,.lock-hot.solved:after{display:none!important}
#vignette{background:linear-gradient(to bottom,rgba(10,8,6,.07),transparent 16%,transparent 85%,rgba(10,7,5,.06));}
#game{width:100vw;max-width:none;}
#world{--pan:0px;}
#glowMessage{left:76%;top:9%;transform:rotate(-17deg);}
#glowMessage .glow-mark{font:bold 65px/.9 'Bradley Hand','Comic Sans MS',cursive;letter-spacing:0;}
#secretButton{width:4%;height:2.5%;background:radial-gradient(circle at 30% 20%,#caa86d,#5e4022 30%,#140d08 52%,#8c653c 68%,#1c1209 88%);box-shadow:inset 0 0 3px #e8c892,0 2px 8px #000;animation:none;}
#secretButton.shown{animation:secretPulse 3.6s ease-in-out infinite;}
/* Physical objects, not an app's panels. */
.modal-root{touch-action:none;}
.modal-root .modal-bg{background:rgba(6,4,2,.67);backdrop-filter:blur(3px)}
.modal-root .modal-content{width:min(95%,470px);max-height:91dvh;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;}
.modal-root .paper{max-width:390px;margin:auto;min-height:min(60dvh,500px);padding:53px 30px 40px;transform-origin:50% 50%;}
.modal-root .paper.from-trash{animation:paper-unfold .75s cubic-bezier(.12,.68,.12,1) both;}
.modal-root .paper.from-desk{animation:paper-unfold .45s ease-out both;}
@keyframes paper-unfold{0%{opacity:0;transform:translateY(-45px) rotate(-23deg) scale(.17,.06);filter:blur(5px)}55%{opacity:1;filter:none;transform:rotate(8deg) scale(.95,1.03)}100%{transform:rotate(-1deg) scale(1);filter:none}}
.paper .date{font-size:12px}.paper p{font-size:clamp(17px,5vw,21px)}.paper .signature{opacity:.65}
.paper .letter-number{font-size:32px}
.physical-book{min-height:62dvh;position:relative;margin:5px 3px;background:linear-gradient(95deg,#7d512c 0%,#be9362 4%,#e2cca0 9%,#f0dfb9 49%,#bd9b6c 51%,#e9d4ab 55%,#e0c297 96%,#6f4b27 100%);border-radius:14px 9px 8px 18px;box-shadow:inset 4px 1px 18px #65402499,inset -12px 2px 18px #594025aa,0 12px 45px #000b;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;transform:rotate(-1.5deg);animation:book-open .5s ease-out both;}
.physical-book:before{content:'';position:absolute;z-index:2;left:49.25%;top:0;bottom:0;width:2%;background:linear-gradient(90deg,#59402679,#fae9c37d,#624a2d72);pointer-events:none}
@keyframes book-open{from{transform:rotate(12deg) scale(.3,.7);opacity:.2}to{transform:rotate(-1.5deg) scale(1);opacity:1}}
.book-page{position:relative;padding:43px 9px 22px;overflow:hidden;color:#5a4528;box-shadow:inset 0 0 34px #714d2355;}
.book-page.left{border-right:1px solid #8e684a88}.book-page.right{border-left:1px solid #fae9c269}
.book-page .book-hand{font:italic clamp(15px,4vw,21px)/1.6 Georgia,serif;white-space:pre-line;color:#5d4630;text-align:center}
.book-page .book-digits{margin:27px 0;letter-spacing:.18em;font:clamp(22px,7vw,33px)/1.5 Georgia,serif;text-align:center;color:#6b5033;}
.book-page .book-digits small{display:block;font-size:13px;letter-spacing:0;text-transform:none;opacity:.8}
.book-page .book-secret{position:relative;z-index:2;transform:rotate(2deg);margin:16px auto;padding:18px 2px;border-bottom:2px solid #775b3a;font:italic 15px Georgia,serif;text-align:center;color:#644a34;transition:opacity .5s}
.book-page .book-secret.covered{filter:blur(5px);opacity:.12}
.paperclip-btn{position:absolute;z-index:4;top:18%;right:6%;height:78px;width:47px;transform:rotate(18deg);background:transparent;border:0;touch-action:none;transition:transform .55s,opacity .5s;}
.paperclip-btn:before,.paperclip-btn:after{content:'';position:absolute;border:4px solid #737a75;border-radius:30px 30px 23px 23px;transform:rotate(5deg);pointer-events:none;box-shadow:1px 1px 1px #d2cabc,inset 1px 1px 2px #343d37}
.paperclip-btn:before{inset:5px 9px 1px 7px;border-bottom:0}.paperclip-btn:after{inset:14px 17px 2px 14px;border-top:0}
.paperclip-btn.pulled{opacity:0;transform:translate(80px,-110px) rotate(155deg);pointer-events:none}
.physical-board{height:min(58dvh,420px);background:radial-gradient(ellipse at 45% 45%,#203330,#07130f 90%);border:13px ridge #6c462b;box-shadow:inset 0 0 55px #000,0 14px 50px #000c;position:relative;touch-action:none;overflow:hidden;}
.board-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#dae3cf;text-shadow:0 1px 3px #e5f2d36b;pointer-events:none;opacity:var(--reveal,0);filter:blur(calc((1 - var(--reveal,0))*9px));transition:opacity .08s,filter .08s;font:italic 28px Georgia,serif;transform:rotate(-4deg)}
.board-text strong{font:75px/1.3 Georgia,serif;}
.board-wiper{width:73px;height:34px;border-radius:6px;background:linear-gradient(#bcb7ab,#77766c 40%,#312d2c 46%,#77726a);border:1px solid #49443e;box-shadow:2px 6px 6px #0009;position:absolute;z-index:2;pointer-events:none;transform:translate(-50%,-50%) rotate(-8deg);left:50%;top:75%;}
.physical-lock{padding:32px 17px 25px;background:radial-gradient(#5b3c24,#231408 80%);box-shadow:inset 0 0 25px #000,0 14px 40px #000b;border:9px ridge #ad8750;border-radius:6px;}
.physical-lock .dial{width:clamp(65px,21vw,82px)}
.physical-lock .lock-dials{gap:clamp(7px,4vw,17px)}
.physical-lock .dial button{min-height:44px;font-size:27px}.physical-lock .dial .digit{width:clamp(43px,13vw,58px);height:65px;font-size:37px;}
.physical-lock .keyhole{height:20px;width:20px;margin:20px auto 2px;background:radial-gradient(ellipse,#000 3px,#33220d 5px,#8b6a36 7px,#301c0d 12px);border-radius:50%;}
.physical-lock.open{border-color:#e5cc81;box-shadow:0 0 23px #daa95f8c,inset 0 0 30px #000}
.physical-drawer{min-height:270px;padding:24px 13px;border:17px ridge #614023;background:repeating-linear-gradient(9deg,#57331b 0,#422613 9px,#57351f 20px);box-shadow:inset 0 14px 46px #100903,inset 0 0 15px #000,0 14px 37px #000c;animation:drawerSlide .42s ease-out;}
@keyframes drawerSlide{from{opacity:0;transform:translateY(-75px) scaleY(.6)}to{opacity:1;transform:none}}
.physical-drawer .drawer-items{grid-template-columns:repeat(3,1fr);gap:8px;min-height:180px;}
.physical-drawer .drawer-item{border:0;background:transparent;min-height:160px;filter:drop-shadow(2px 7px 7px #000);}
.physical-drawer .drawer-item:disabled{opacity:.28}
.drawer-item .object-icon{display:block;width:72px;height:72px;position:relative;}
.obj-gum{position:absolute;top:25%;left:5%;right:8%;height:38%;border-radius:43%;background:radial-gradient(#ce8a91,#ae656f 70%,#70474a);transform:rotate(-16deg);box-shadow:inset 2px 2px 8px #f0aab877,2px 5px 8px #000b}
.obj-lens{position:absolute;left:0;top:4%;width:66px;height:66px;border:8px ridge #a48a53;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff6,transparent 35%),#aec4b128;box-shadow:inset 0 0 12px #0006}
.obj-lens:after{content:'';position:absolute;width:16px;height:61px;top:47px;left:50px;transform:rotate(-42deg);border:3px ridge #b39a68;border-radius:8px;background:linear-gradient(90deg,#2e150b,#7b4a28,#2b1609)}
.obj-clip{position:absolute;top:6%;left:25%;width:37px;height:61px;border:6px double #b4baba;border-bottom:0;border-radius:23px 22px 0 0;transform:rotate(24deg);}
.obj-clip:after{content:'';position:absolute;top:12px;left:7px;width:15px;height:40px;border:4px solid #9babae;border-top:0;border-radius:15px;}
#heldTool{z-index:27;left:var(--lens-x,50%);top:var(--lens-y,50%);transition:opacity .12s,transform .12s}
#heldTool.held{transform:translate(-40%,-48%) rotate(-21deg) scale(.76)}
#heldTool.magnifying .lens-glass{backdrop-filter:brightness(1.25) contrast(1.3);}
.wood-compartment{padding:60px 24px 40px;min-height:265px;background:linear-gradient(15deg,#30170a,#754a2c 30%,#442815 61%,#7b4b29);border:14px ridge #5d3920;text-align:center;box-shadow:inset 0 0 38px #000a,0 15px 35px #000c}
.wood-compartment .carved-number{font:82px Georgia,serif;color:#f5d7a2;text-shadow:2px 4px 8px #000,0 0 14px #d9a0609c;}
.lock-affirm{width:28px;height:28px;margin:19px auto 0;border-radius:50%;background:radial-gradient(#f8dc97,#ad7941,#412411);box-shadow:0 0 30px #e5af5da5}
#coinStorm{z-index:39}
#world.case-open #caseLid{transform:perspective(700px) rotateX(-130deg)}
#world.case-open .lock-hot{display:none;}
@media (max-width:540px){.modal-root .modal-content{width:96%;}.modal-root .paper{padding:42px 22px 30px;}}
/* La lupa magnifica la fotografía original; no se sustituye por un icono. */
#heldTool.magnifying .lens-glass{background-image:url('assets/escritorio.webp');background-repeat:no-repeat;backdrop-filter:none;}
.physical-lock .dial button{color:#9c8051;text-shadow:0 1px 1px #000a;font-size:19px;line-height:30px;background:transparent}
.physical-lock .dial .digit{font-size:39px}
