@font-face{font-family:Silkscreen;src:url('vendor/Silkscreen-Regular.ttf') format('truetype');font-display:swap}
:root{--pixel-font:Silkscreen,ui-monospace,monospace;--text:#fff7df;--green:#77bb4d;--ink:#202020;color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#121e1c;font-family:var(--pixel-font);color:var(--text)}button{font:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}button:focus-visible{outline:3px solid #ffef8b;outline-offset:4px}[hidden]{display:none!important}#world{display:block;width:100%;height:100%;touch-action:none;outline:none;image-rendering:pixelated}#loading{position:fixed;inset:0;display:flex;justify-content:center;align-items:center;gap:18px;background:#1a281f;z-index:20;font-size:15px;text-align:center;padding:20px}.loading-block{width:34px;height:34px;background:#6eac46;border-top:10px solid #a8d674;border-bottom:9px solid #715137;box-shadow:7px 7px #0e1910}
.menu-layer{position:fixed;inset:0;display:flex;align-items:center;flex-direction:column;justify-content:center;background:#07150d50;z-index:5;text-align:center;padding:20px}.game-title{position:relative;margin-bottom:48px;max-width:95vw}.game-title h1{font-size:clamp(52px,8.5vw,104px);font-weight:400;line-height:1.05;margin:0;color:#ddd;text-shadow:0 4px #888,0 8px #494949,7px 12px #171b14;-webkit-text-stroke:1px #e6e4dc;letter-spacing:-5px}.splash{position:absolute;bottom:-20px;right:-30px;transform:rotate(-13deg);font-size:clamp(17px,2.5vw,30px);color:#ffeb45;text-shadow:3px 3px #3c3200}.menu-buttons{width:min(360px,80vw);display:grid;gap:12px}.pixel-button{background:#8c8c8c;border:3px solid;border-color:#ddd #4b4b4b #3a3a3a #c5c5c5;border-radius:0;box-shadow:0 0 0 2px #1c1c1c;padding:13px 18px;color:#fff;text-shadow:2px 2px #373737;font-size:15px;line-height:1.3;min-height:48px}.pixel-button:hover:not(:disabled){background:#9b9bbb;border-top-color:#ededff;color:#ffffaf}.pixel-button:active:not(:disabled){border-color:#424242 #bbb #bbb #424242;transform:translateY(1px)}.pixel-button.green{background:#58963e;border-color:#a1d279 #284e20 #26441d #78bb54}.pixel-button.compact{font-size:12px;padding:9px 14px;min-height:39px}.menu-credit{position:absolute;bottom:17px;right:22px;text-align:right;font-size:11px;line-height:1.8;text-shadow:2px 2px #111}
#hud{position:fixed;inset:0;pointer-events:none;text-shadow:2px 2px #142113}#hud button{pointer-events:auto}.quest-tracker{position:absolute;left:20px;top:20px;padding:13px 15px;background:#111e16b3;border-left:4px solid #b3cf88;max-width:270px;font-size:12px}.tracker-title{color:#d9f1be;font-size:14px;margin-bottom:9px}.quest-tracker button{display:block;background:none;border:none;color:#fff;text-align:left;padding:6px 0;font-size:11px;line-height:1.5}.quest-tracker button:hover{color:#fff98a}.quest-check{display:inline-block;width:19px;color:#d9d5c5}.quest-tracker button.complete{color:#b3d5a0}.quest-tracker button.complete .quest-check{color:#b3d5a0}.quest-tracker p{font-family:ui-monospace,monospace;font-size:10px;color:#dedbca;margin:10px 0 0;line-height:1.4}.hud-buttons{display:flex;position:absolute;right:20px;top:20px;gap:8px}.hud-button{width:40px;height:40px;border:2px solid;border-color:#dadbd2 #42443c #31362e #b6baad;background:#4d5a4c;color:white;font-size:20px;line-height:1;text-shadow:2px 2px #1e261e}.hud-button:hover{background:#738064}.near-object{position:absolute;bottom:114px;left:50%;transform:translateX(-50%);text-align:center;display:flex;align-items:center;gap:15px;max-width:90vw;background:#102016d9;padding:12px 16px;border:2px solid #a6b58380;font-size:12px;white-space:nowrap}.toast{position:absolute;top:105px;left:50%;transform:translateX(-50%);background:#15281de8;border:2px solid #b7ca90;padding:13px 18px;font-size:12px;line-height:1.6;text-align:center;max-width:50vw;z-index:2}.hotbar{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;border:3px solid #222;background:#888;box-shadow:inset 2px 2px #ccc}.hotbar-slot{position:relative;width:60px;height:60px;background:#8b8b8b;border:3px solid;border-color:#414141 #ddd #ddd #414141;margin:2px;color:white;padding:8px}.hotbar-slot:not(:disabled):hover{background:#b1b19c}.hotbar-slot:disabled .item-icon{opacity:.18;filter:grayscale(1)}.slot-number{position:absolute;left:4px;top:1px;font-size:9px;line-height:1.4;text-shadow:1px 1px #222}.item-icon svg{width:36px;height:36px;display:block;image-rendering:pixelated}.control-hint{position:absolute;right:20px;bottom:28px;font-size:10px;line-height:1.8;color:#f0edda}.dpad{display:none;position:absolute;bottom:22px;left:20px;width:116px;height:116px;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:3px}.dpad button{background:#465244c9;border:2px solid #bbc7a760;color:white;font-family:monospace;font-size:20px;text-shadow:1px 2px #111;user-select:none}.dpad button[data-dir=up]{grid-column:2}.dpad button[data-dir=left]{grid-column:1;grid-row:2}.dpad button[data-dir=down]{grid-column:2;grid-row:2}.dpad button[data-dir=right]{grid-column:3;grid-row:2}.dpad button:active{background:#7b9463}
.overlay-layer{position:fixed;inset:0;background:#071008ab;display:flex;align-items:center;justify-content:center;padding:22px;z-index:10;overflow:auto}.modal-window{width:min(800px,100%);max-height:calc(100svh - 44px);overflow:auto;background:#c6c6c6;color:#222;border:4px solid;border-color:#f5f5f5 #4d4d4d #3c3c3c #ececec;box-shadow:0 0 0 3px #191919,12px 15px 0 #0a120a40;padding:24px;position:relative;font-family:var(--pixel-font)}.modal-window h2{font-weight:400;font-size:22px;line-height:1.4;margin:0 0 18px}.modal-window p{font-size:13px;line-height:1.9}.modal-window.puzzle-mount{padding:0;border:0;background:transparent;box-shadow:none;width:auto;overflow:visible;max-height:none}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;flex-wrap:wrap}.dialog-actions .pixel-button{font-size:12px}.dialog-text{max-width:65ch}.dialog-text .say{font-size:18px;line-height:1.8;margin:23px 0;color:#1d3224}.dialog-text .speaker{font-size:11px;color:#50554c}.plain-list{font-family:ui-monospace,monospace;font-size:14px;line-height:2;margin:15px 0 0;padding-left:22px}.modal-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.modal-top h2{margin:0}.modal-close{font-size:12px;min-width:40px;min-height:38px;padding:6px 10px}.book{background:#e5d6a8;border:3px solid #806242;padding:22px;color:#342c20}.book-spread{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;min-height:350px}.book-note{font-family:ui-monospace,monospace;font-size:14px;line-height:1.8;white-space:pre-line}.book-photo{margin:0;text-align:center}.book-photo img{display:block;max-width:100%;max-height:390px;width:100%;object-fit:contain;background:#b6a786}.book-photo figcaption{font-size:11px;line-height:1.8;margin-top:12px}.book-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:20px;flex-wrap:wrap}.book-controls .pixel-button{font-size:11px;min-height:40px;padding:8px 12px}.page-count{font-size:11px;color:#30342d}.photo-full{display:block;width:100%;height:min(61svh,510px);object-fit:contain;background:#3c4639}.photo-caption{font-size:12px;text-align:center}.photo-missing{font-family:ui-monospace,monospace;font-size:14px;line-height:1.6;background:#3d4939;color:white;padding:40px;text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.control-hint{display:none}.quest-tracker{font-size:10px;max-width:230px;padding:10px 12px}.quest-tracker button{font-size:10px}.dpad{display:grid}.hotbar{bottom:22px;left:auto;right:20px;transform:none}.hotbar-slot{width:46px;height:46px;padding:5px}.item-icon svg{width:30px;height:30px}.near-object{bottom:152px}.toast{top:190px;max-width:78vw}.book-spread{gap:18px}}
@media(max-width:600px){.game-title{margin-bottom:50px}.game-title h1{font-size:59px;letter-spacing:-4px}.splash{right:0;bottom:-24px;font-size:22px}.menu-credit{font-size:9px;right:15px;bottom:11px}.quest-tracker{left:10px;top:10px;max-width:218px;border-left-width:3px}.quest-tracker p{display:none}.quest-tracker button{font-size:9px;padding:5px 0}.tracker-title{font-size:11px;margin-bottom:5px}.hud-buttons{top:10px;right:10px;flex-direction:column;gap:6px}.hud-button{width:34px;height:34px;font-size:17px}.dpad{left:10px;bottom:12px;width:109px;height:109px}.hotbar{right:10px;bottom:18px}.hotbar-slot{width:43px;height:43px;margin:1px;padding:4px}.near-object{bottom:133px;gap:10px;padding:9px 10px;max-width:95vw;font-size:9px}.near-object .pixel-button{font-size:9px;padding:8px 10px;min-height:35px}.toast{top:164px;max-width:88vw;font-size:10px;padding:10px}.overlay-layer{padding:12px}.modal-window{padding:16px;max-height:calc(100svh - 24px)}.modal-window h2{font-size:17px}.modal-window p{font-size:11px}.dialog-text .say{font-size:15px}.book{padding:13px}.book-spread{grid-template-columns:1fr;gap:18px;min-height:0}.book-note{font-size:12px;line-height:1.75}.book-photo img{max-height:300px}.book-controls{gap:10px}.book-controls .pixel-button{font-size:9px;padding:8px}.page-count{font-size:9px}.menu-buttons .pixel-button{font-size:14px}.pixel-button{font-size:12px}.plain-list{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
