*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #100f0c;--paper: #f5f0e4;--paper-worn: #ece4d0;--paper-dark: #ddd4bc;--ink: #1a1816;--ink-mid: #3d3830;--ink-light: #5a5048;--yellow: #f0c030;--yellow-dark: #b8890a;--red: #c0392b;--green: #27ae60;--green-dark: #1e8449}body{background-color:var(--bg);background-image:radial-gradient(ellipse 60% 50% at 15% 40%,rgba(240,192,48,.05) 0%,transparent 100%),radial-gradient(ellipse 50% 60% at 85% 70%,rgba(192,57,43,.04) 0%,transparent 100%);min-height:100vh;padding:32px 16px 80px;padding-bottom:max(80px,env(safe-area-inset-bottom,80px));font-family:Courier Prime,monospace;color:var(--ink)}.game-header{text-align:center;margin-bottom:28px}.game-title{font-family:Special Elite,cursive;font-size:clamp(1.8rem,6vw,3rem);color:var(--yellow);text-transform:uppercase;letter-spacing:.04em;line-height:1;text-shadow:3px 3px 0 rgba(0,0,0,.6),0 0 40px rgba(240,192,48,.2)}.game-subtitle{font-family:Oswald,sans-serif;font-size:.75rem;color:#f0c030b3;letter-spacing:.35em;text-transform:uppercase;margin-top:6px}.game-card{max-width:700px;margin:0 auto;background:var(--paper);box-shadow:6px 6px #000,0 0 0 1px #0000004d,0 20px 60px #00000080;position:relative}.card-edge{height:6px;background:repeating-linear-gradient(90deg,var(--ink) 0px,var(--ink) 3px,var(--yellow) 3px,var(--yellow) 5px,var(--ink) 5px,var(--ink) 8px,var(--paper-dark) 8px,var(--paper-dark) 14px);opacity:.8}.stats-bar{background:var(--ink);padding:10px 24px;display:flex;gap:0;align-items:stretch}.stat-item{display:flex;align-items:center;gap:7px;font-family:Oswald,sans-serif;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#f5f0e480;padding-right:20px;border-right:1px solid rgba(255,255,255,.08);margin-right:20px}.stat-item{min-width:0}.stat-item:last-child{border-right:none;margin-right:0;flex:1}.stat-icon{font-size:.9rem}.stat-value{font-size:1.05rem;font-weight:600;color:var(--yellow);min-width:2ch;transition:color .4s}.stat-value.ticking{animation:tick .15s ease}@keyframes tick{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.survival-track{flex:1;height:5px;background:#ffffff1a;border-radius:3px;overflow:hidden;margin-left:8px}.survival-fill{height:100%;border-radius:3px;transition:width .6s cubic-bezier(.4,0,.2,1),background-color .6s}.location-bar{padding:8px 24px;background:var(--paper-worn);border-bottom:1px solid var(--paper-dark);font-family:Oswald,sans-serif;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-light);display:flex;align-items:center;gap:6px}.pixel-art-container{position:relative;width:100%;max-width:600px;margin:0 auto 12px;line-height:0}.pixel-art-container canvas{width:100%;height:auto;image-rendering:pixelated;border-radius:2px}.scanlines{position:absolute;inset:0;z-index:1;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0px,transparent 2px,rgba(0,0,0,.08) 2px,rgba(0,0,0,.08) 4px);border-radius:2px;animation:crtFlicker 4.7s ease-in-out infinite,crtScanRoll 11s linear infinite}.vignette{position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse at center,transparent 40%,rgba(0,0,0,.55) 100%);border-radius:2px;animation:crtBreathe 7.3s ease-in-out infinite}@keyframes crtFlicker{0%,to{opacity:1}47%{opacity:.94}48%{opacity:.98}49%{opacity:.92}50%{opacity:1}}@keyframes crtBreathe{0%,to{opacity:1}50%{opacity:.92}}@keyframes crtScanRoll{0%{background-position:0 0}to{background-position:0 -4px}}.bookmark-flash{animation:bookmarkFlash .6s ease-out}@keyframes bookmarkFlash{0%{background:#f0c03066;border-color:var(--yellow);color:#000}to{background:none}}.game-content{transition:opacity .22s ease}.game-content.fading{opacity:0;pointer-events:none}.story-section{padding:28px 28px 16px;min-height:120px}.story-text{font-family:Courier Prime,monospace;font-size:1.05rem;line-height:1.8;color:var(--ink)}.cursor{display:inline-block;width:2px;height:1em;background:var(--ink);margin-left:1px;vertical-align:middle;animation:blink .75s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.choices-section{padding:8px 28px 4px;display:flex;flex-direction:column;gap:9px}.choice-btn{display:flex;align-items:flex-start;gap:14px;background:none;border:1.5px solid rgba(26,24,22,.35);padding:13px 16px;cursor:pointer;font-family:Courier Prime,monospace;font-size:.95rem;color:var(--ink);text-align:left;line-height:1.5;position:relative;overflow:hidden;transition:border-color .15s,color .15s}.choice-btn:after{content:"";position:absolute;inset:0;background:var(--ink);transform:translate(-100%);transition:transform .2s ease;z-index:0}.choice-btn:hover{border-color:var(--ink);color:var(--paper)}.choice-btn:hover:after{transform:translate(0)}.choice-btn:hover .choice-num{color:var(--yellow)}.choice-btn:active{transform:translate(1px,1px)}.choice-visited{opacity:.5}.choice-visited .choice-label:after{content:" (visited)";font-size:.7rem;color:var(--ink-light)}.choice-num{font-family:Oswald,sans-serif;font-weight:600;font-size:.78rem;color:var(--ink-light);min-width:14px;transition:color .15s;position:relative;z-index:1;padding-top:2px}.choice-label{position:relative;z-index:1}@keyframes choiceReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.choice-btn{animation:choiceReveal .2s ease both}.choice-locked{opacity:.4;cursor:not-allowed;border-style:dashed}.choice-locked:after{display:none}.choice-locked:hover{border-color:#1a181659;color:var(--ink)}.choice-locked .choice-num{font-size:.7rem}.choice-req{display:block;font-family:Oswald,sans-serif;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-light);margin-top:4px}.kbd-hint{text-align:right;padding:5px 28px 0;font-family:Oswald,sans-serif;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-light)}.inventory-section{padding:14px 28px 20px;border-top:1px dashed var(--paper-dark);background:var(--paper-worn)}.inventory-label{font-family:Oswald,sans-serif;font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-light);margin-bottom:9px}.inventory-tags{display:flex;flex-wrap:wrap;gap:6px}.inv-tag{font-family:Courier Prime,monospace;font-size:.78rem;background:var(--paper);border:1px solid rgba(26,24,22,.2);padding:3px 9px 3px 7px;color:var(--ink-mid);animation:tagIn .25s ease both}@keyframes tagIn{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%) translateY(120px);background:var(--yellow);color:var(--ink);font-family:Special Elite,cursive;font-size:1.05rem;padding:13px 28px;box-shadow:4px 4px #00000073;transition:transform .45s cubic-bezier(.34,1.56,.64,1);z-index:900;pointer-events:none;max-width:90vw;text-align:center;letter-spacing:.02em}.toast.show{transform:translate(-50%) translateY(0)}.ending-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;z-index:800;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.death-bg{background:#8c140ff7}.win-bg{background:#0c0b08f7}.ending-card{max-width:580px;width:100%;background:var(--paper);padding:40px 36px 32px;text-align:center;box-shadow:8px 8px #00000080;animation:cardPop .4s cubic-bezier(.34,1.56,.64,1) .15s both}@keyframes cardPop{0%{transform:scale(.75);opacity:0}to{transform:scale(1);opacity:1}}.ending-icon{font-size:2.8rem;margin-bottom:10px;line-height:1}.ending-title{font-family:Special Elite,cursive;font-size:clamp(1.2rem,4vw,1.7rem);margin-bottom:14px;line-height:1.2}.death-bg .ending-title{color:var(--red)}.win-bg .ending-title{color:var(--yellow-dark)}.ending-story{font-family:Courier Prime,monospace;font-size:.88rem;line-height:1.75;color:var(--ink-mid);text-align:left;margin-bottom:20px}.ending-stats{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;padding:14px;background:var(--paper-worn);border:1px dashed var(--paper-dark);margin-bottom:24px}.final-stat{font-family:Oswald,sans-serif;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-light)}.final-stat strong{display:block;font-size:1.5rem;color:var(--ink);margin-top:2px}.restart-btn{font-family:Special Elite,cursive;font-size:.95rem;background:var(--ink);color:var(--paper);border:none;padding:13px 32px;cursor:pointer;letter-spacing:.04em;transition:all .18s;box-shadow:4px 4px #00000059}.restart-btn:hover{background:var(--yellow-dark);transform:translate(-2px,-2px);box-shadow:6px 6px #00000059}.hidden{display:none!important}.codex-btn{font-family:Oswald,sans-serif;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;background:none;border:1px solid rgba(240,192,48,.5);color:#f0c030e6;padding:8px 14px;min-height:32px;cursor:pointer;margin-top:8px;transition:border-color .2s,color .2s}.codex-btn:hover{border-color:var(--yellow);color:var(--yellow)}.sound-btn{font-family:Oswald,sans-serif;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;background:none;border:1px solid rgba(245,240,228,.45);color:#f5f0e4d9;padding:8px 14px;min-height:32px;cursor:pointer;border-radius:2px;margin-top:8px;margin-left:8px;transition:border-color .2s,color .2s}.sound-btn:hover{border-color:var(--yellow);color:var(--yellow)}.codex-bg{background:#0c0b08f7}.codex-card{max-height:80vh;overflow-y:auto}.codex-list{text-align:left;margin-bottom:20px;max-height:50vh;overflow-y:auto}.codex-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--paper-dark);font-family:Courier Prime,monospace;font-size:.85rem;color:var(--ink-light)}.codex-row.found{color:var(--ink)}.codex-row.clickable{cursor:pointer}.codex-row.clickable:hover{background:var(--paper-dark)}.codex-icon{font-size:1.1rem;min-width:24px;text-align:center}.ending-counter{font-family:Oswald,sans-serif;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-light);margin-bottom:16px}.continue-btn{border-color:var(--yellow-dark)!important}.share-btn{background:var(--ink-mid);margin-bottom:10px}.share-btn:hover{background:var(--yellow-dark)}.inv-placeholder{color:var(--ink-light);font-style:italic;opacity:.6}@media(max-width:560px){body{padding:16px 10px 80px}.game-title{font-size:1.6rem}.stats-bar{padding:10px 16px;gap:0}.stat-item{padding-right:14px;margin-right:14px}.story-section,.choices-section,.kbd-hint{padding-left:18px;padding-right:18px}.inventory-section{padding:12px 18px 18px}.choice-btn{padding:11px 13px;font-size:.9rem}.ending-card{padding:28px 20px 24px}.toast{bottom:80px}}@media(max-width:400px){.stat-item>span:not(.stat-icon):not(.stat-value):not(.sr-only){display:none}.stat-item{padding-right:10px;margin-right:10px;gap:4px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.cursor{animation:none;opacity:1}.game-content{transition:none}}.feed-stack{position:fixed;top:16px;right:16px;z-index:700;display:flex;flex-direction:column;gap:6px;max-width:320px;pointer-events:none}.feed-notification{background:var(--paper);border-left:3px solid var(--yellow);color:var(--ink);padding:9px 14px;font-family:Courier Prime,monospace;font-size:.78rem;line-height:1.45;box-shadow:3px 3px #00000073;transform:translate(115%);transition:transform .42s cubic-bezier(.34,1.46,.64,1),opacity .4s;opacity:0}.feed-notification.feed-show{transform:translate(0);opacity:1}.feed-notification.feed-leaving{transform:translate(115%);opacity:0;transition:transform .4s ease,opacity .4s}@media(max-width:560px){.feed-stack{top:8px;right:8px;left:8px;max-width:none}.feed-notification{font-size:.74rem;padding:8px 12px}}@media(prefers-reduced-motion:reduce){.feed-notification{transform:none;transition:opacity .2s}.feed-notification.feed-leaving{transform:none}}.tutorial-overlay{position:fixed;inset:0;z-index:950;display:flex;align-items:center;justify-content:center;padding:24px 18px;background:#0c0b08d9;animation:fadeIn .35s ease}.tutorial-card{max-width:460px;width:100%;background:var(--paper);border:3px solid var(--ink);box-shadow:6px 6px #00000080;padding:26px 26px 22px;text-align:left;animation:cardPop .35s cubic-bezier(.34,1.56,.64,1) .1s both}.tutorial-heading{font-family:Special Elite,cursive;font-size:1.35rem;color:var(--ink);margin-bottom:18px;letter-spacing:.02em}.tutorial-list{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}.tutorial-item{display:flex;align-items:flex-start;gap:12px;font-family:Courier Prime,monospace;font-size:.92rem;line-height:1.55;color:var(--ink)}.tutorial-icon{font-size:1.3rem;line-height:1.3;min-width:28px;text-align:center}.tutorial-text strong{font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--ink)}.tutorial-note{font-family:Courier Prime,monospace;font-size:.83rem;line-height:1.55;color:var(--ink-mid);background:var(--paper-worn);border-left:3px solid var(--yellow);padding:10px 14px;margin-bottom:18px;font-style:italic}.tutorial-dismiss{width:100%;text-align:center}.listings-list .codex-row{padding:5px 0}.listings-list .codex-name{color:var(--ink);font-size:.85rem}.title-overlay{position:fixed;inset:0;z-index:900;display:flex;align-items:center;justify-content:center;background:#000;animation:fadeIn .4s ease}.title-overlay:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,.25) 3px,rgba(0,0,0,.25) 4px);pointer-events:none;z-index:1}.title-card{position:relative;z-index:2;max-width:540px;width:90%;max-height:90vh;overflow-y:auto;padding:2rem 1.75rem;background:#000;border:4px solid #fff;box-shadow:0 0 0 2px #000,0 0 0 6px #fff;text-align:center;animation:popIn .3s ease}.title-card-heading{font-family:"Press Start 2P",monospace;font-size:1.3rem;color:#f0c030;margin:0 0 .6rem;line-height:1.6;text-shadow:3px 3px 0 #7a5c00}.title-card-sub{font-family:"Press Start 2P",monospace;font-size:.45rem;color:#ffffffb3;letter-spacing:.15em;line-height:2;margin-bottom:1.5rem}.title-card-note{font-family:Courier Prime,monospace;font-size:.75rem;color:#b8b8b8;line-height:1.7;text-align:left;background:#0a0a0a;border:2px solid #444;padding:.75rem .9rem;margin-bottom:1.75rem}.title-card-btns{display:flex;flex-direction:column;gap:.4rem;align-items:center}.title-card-btns .choice-btn{font-family:"Press Start 2P",monospace;font-size:.55rem;color:#fff;background:none;border:none;padding:.6rem 1rem;letter-spacing:.05em;justify-content:center}.title-card-btns .choice-btn.blink-btn{animation:blink 1s step-end infinite}.title-card-btns .choice-btn:hover,.title-card-btns .choice-btn:focus{animation:none;color:#f0c030;outline:none}.title-card-btns .choice-btn:after{display:none}.title-card-btns .choice-btn:before{display:none}.credits{text-align:center;padding:1rem 0 .5rem;font-family:Courier Prime,monospace;font-size:.7rem;color:#f5f0e44d}.credits a{color:#f5f0e466}
