@font-face{font-family:Pixelify;src:url('../fonts/pixelify-sans.ttf') format('truetype');font-display:swap;font-weight:400 700}
@font-face{font-family:DM Sans;src:url('../fonts/dm-sans-latin.woff2') format('woff2');font-display:swap;font-weight:100 900}
:root{--ink:#26382f;--paper:#fff2cf;--orange:#b8432e;--green:#285b48;--line:#9d8155;color-scheme:light;font-family:DM Sans,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer;background:var(--paper);border:2px solid var(--ink);padding:10px 16px;min-height:44px}button:hover{background:#f5d68e}button:disabled{cursor:default;opacity:.65}a{color:var(--green);text-underline-offset:4px}a:hover{color:var(--orange)}:focus-visible{outline:3px solid #9d2f27;outline-offset:4px}::selection{color:var(--paper);background:var(--green)}*{scrollbar-color:var(--green) var(--paper)}[hidden]{display:none!important}.sr,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{position:absolute;z-index:9;background:var(--paper);padding:16px}
.game-header{min-height:76px;padding:10px 28px;display:flex;gap:22px;align-items:center;border-bottom:3px solid var(--ink)}.home{font-family:Pixelify,sans-serif;font-size:30px;font-weight:700;text-decoration:none;min-width:44px;min-height:44px;display:grid;place-items:center}.home span{display:none}.game-header h1{font:500 clamp(21px,2.5vw,32px)/1 Pixelify,sans-serif;margin:0;flex:1}.game-header nav{display:flex;align-items:center;gap:12px}.game-header nav a{display:flex;align-items:center;min-height:44px}.game-header button{font:500 18px Pixelify,sans-serif}
.game{position:relative;height:calc(100svh - 154px);min-height:390px;overflow:hidden;background:#66b5c4}.game canvas{width:100%;height:100%;display:block;image-rendering:pixelated;touch-action:none}.game canvas:focus-visible{outline-offset:-5px}.location{position:absolute;top:22px;left:26px;display:flex;align-items:center;gap:10px;background:var(--paper);padding:10px 16px;font:500 21px Pixelify,sans-serif;pointer-events:none;border-bottom:3px solid var(--line)}.location-dot{width:8px;height:8px;background:var(--orange)}
.welcome{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(440px,calc(100% - 36px));padding:26px 30px;background:var(--paper);box-shadow:6px 12px 30px #26382f40;text-align:center;border:3px solid var(--ink)}.welcome h2{font:500 35px/1.05 Pixelify,sans-serif;margin:8px 0 14px}.welcome p{font-size:15px;line-height:1.55}.welcome button{display:block;margin:18px auto 12px;background:var(--green);color:var(--paper);font:500 22px Pixelify,sans-serif}.welcome button:hover{background:#1c4737}.welcome a{font-size:14px;display:inline-block;min-height:44px;padding-top:12px}.welcome-portrait,.mini-portrait{background-image:url('../images/rpg-jorge.png');background-size:400% 400%;background-position:33.333% 0;image-rendering:pixelated}.welcome-portrait{width:90px;height:90px;margin:0 auto}.paused{position:absolute;inset:0;background:#233c375e;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px}.paused p{font:500 40px Pixelify,sans-serif;margin:0;background:var(--paper);padding:16px 24px}.game-bottom{position:absolute;bottom:22px;left:26px;right:26px;display:flex;align-items:end;justify-content:space-between;gap:12px;pointer-events:none}.game-bottom button{pointer-events:auto;background:var(--paper);font-weight:600;max-width:290px}.companion{display:flex;gap:4px;align-items:center;background:var(--paper);padding:2px 16px 2px 3px;border-bottom:3px solid var(--line)}.mini-portrait{width:58px;height:58px}.companion strong{font:500 23px Pixelify,sans-serif;display:block}.companion small{display:block;font-size:12px}.touch-pad{position:absolute;bottom:105px;left:24px;display:grid;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(2,48px);gap:4px}.touch-pad button{padding:10px;background:#fff2cfea;touch-action:none;user-select:none}.touch-pad button:first-child{grid-column:2}.touch-pad button:nth-child(2){grid-row:2;grid-column:1}.touch-pad button:nth-child(3){grid-row:2;grid-column:2}.touch-pad button:nth-child(4){grid-row:2;grid-column:3}.touch-pad svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:3}.game-footer{display:flex;align-items:center;gap:20px;padding:4px 28px;border-top:3px solid var(--ink);font-size:12px;min-height:45px}.game-footer p{margin:0;flex:1}.game-footer button{padding:4px 10px;border:0;text-decoration:underline}.game-footer>span{font-size:11px}
#world-index{border-top:1px solid var(--line)}#world-index summary{cursor:pointer;padding:12px 28px;font-size:13px;min-height:44px}.index-content{padding:20px 28px;max-width:900px;margin:auto}.index-content section{margin:0 0 32px}.index-content>a{display:block;min-height:44px}.no-script{padding:16px}dialog{color:var(--ink);background:var(--paper);border:3px solid var(--ink);padding:0;width:min(710px,calc(100% - 32px));max-height:85svh;box-shadow:8px 12px 40px #1b322b45}dialog::backdrop{background:#183d3c99}.dialog-top{display:flex;gap:16px;align-items:start;justify-content:space-between;padding:20px 24px;border-bottom:2px solid var(--line)}.dialog-top h2{font:500 32px/1.1 Pixelify,sans-serif;margin:4px 0 0}.dialog-top button{padding:7px 12px;flex-shrink:0}#dialog-content{padding:20px 24px 26px;line-height:1.65}#dialog-content p:first-child{margin-top:0}#dialog-content h2,#dialog-content h3{font-size:22px;line-height:1.25}#dialog-content h3{margin-top:26px}#dialog-content .exp-place-name,#dialog-content article>h3{display:none}#dialog-content .exp-place-story{font-size:20px;font-weight:600}.choices,.journal-list,.exp-project-list,.exp-project-links{display:flex;flex-direction:column;gap:10px;margin:20px 0}.choices button,.journal-list button,.exp-project-list button{text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px}.journal-list small{font-size:12px}.dialog-portrait{width:95px;height:95px;float:left;margin:0 15px 8px 0;background-image:url('../images/rpg-actors.png');background-size:400% 400%;background-position-y:100%;image-rendering:pixelated}.npc-role{font-size:13px;color:var(--green)}.guide-note{clear:both;font-size:12px;color:#555b3b}.exp-evidence,.exp-project-links a{display:inline-block;padding:10px 0}.timeline{padding-left:22px}.timeline li{margin:0 0 22px}.timeline-heading h3{margin:0!important}.timeline-marker{display:none}.exp-stack,.exp-project-note{font-size:14px}.exp-project-note{background:#eadcb7;padding:12px}.dialog-back{margin-bottom:18px}.exp-milestones summary{cursor:pointer;padding:12px 0}.exp-skills li{margin-bottom:12px}
@media(pointer:coarse){.touch-pad:not([hidden]){display:grid}.keyboard-help{display:none}}
@media(pointer:fine){.touch-pad{display:none}}
@media(max-width:650px){.game-header{padding:8px 14px;gap:10px;flex-wrap:wrap;min-height:98px}.game-header h1{font-size:24px}.game-header nav{width:100%;justify-content:flex-end;gap:10px}.game-header nav button{font-size:16px;padding:6px 12px}.game-header nav a{font-size:13px;margin-left:auto}.home{min-height:30px;font-size:25px}.game{height:calc(100svh - 190px);min-height:440px}.location{top:14px;left:14px;font-size:18px;padding:9px 12px}.game-bottom{left:12px;right:12px;bottom:14px;align-items:end}.companion{padding-right:8px}.mini-portrait{width:40px;height:48px}.companion strong{font-size:20px}.companion small{max-width:115px;font-size:10px}.game-bottom button{max-width:150px;font-size:12px;padding:10px}.touch-pad{left:12px;bottom:92px}.game-footer{padding:4px 14px;gap:8px}.game-footer>span{display:none}.game-footer p{font-size:11px}#world-index summary{padding:12px 14px}.welcome{padding:16px 22px}.welcome h2{font-size:30px}.welcome-portrait{width:65px;height:65px}.welcome p{font-size:14px}.dialog-top{padding:16px}.dialog-top h2{font-size:27px}#dialog-content{padding:16px}.journal-list button{flex-wrap:wrap}.welcome button{margin:12px auto 4px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
