@charset "UTF-8";
:root{color-scheme:dark;--ink:#090b14;--paper:#e8e8df;--muted:#8b8d9f;--mint:#a2efda;--pink:#ef5082;--line:#2b2b3b;--mono:'Courier New',monospace}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--ink);color:var(--paper);font-family:var(--mono)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--mint);outline-offset:5px}button{border:0;background:none}button:disabled{cursor:default}button:hover{color:var(--mint)}.hidden{display:none!important}.shell{width:100%;max-width:1720px;margin:auto;padding:0 4.3vw}.topbar{height:94px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #252633}.wordmark{display:flex;gap:13px;align-items:center;color:var(--paper);text-decoration:none;font-size:12px;letter-spacing:1.6px;font-weight:bold}.wordmark small{display:block;font-size:8px;letter-spacing:1.6px;margin-top:6px;color:#727484}.mark{font-size:28px;letter-spacing:-7px;font-weight:bold;width:35px;transform:skew(-12deg);color:var(--mint)}.mark span{color:var(--paper)}.chapter-top{display:flex;gap:16px;align-items:center;font-size:10px;letter-spacing:1.5px;color:#898b9e}.chapter-top>span:nth-of-type(2){color:#c9c9cf}.chapter-top i{width:26px;height:1px;background:#4c4c5d}.signal-dot{width:5px;height:5px;background:var(--mint);box-shadow:0 0 8px #85e7c677;display:inline-block}.top-actions{display:flex;gap:14px}.icon-btn{padding:5px;width:28px;height:28px;color:#9d9eac}.icon-btn svg,.journal-btn svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:square}.icon-btn.active{color:var(--mint)}main{position:relative;aspect-ratio:16/9;isolation:isolate;margin-top:26px;overflow:hidden;background:#101421;outline:none;border:1px solid #292a3b}canvas{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated}.crt{position:absolute;inset:0;pointer-events:none;z-index:3;background:repeating-linear-gradient(0deg,#00000010 0px,#00000010 1px,transparent 1px,transparent 3px);opacity:.45;box-shadow:inset 0 0 100px #04051080}#flash{position:absolute;inset:0;background:#03050a;pointer-events:none;z-index:8;opacity:0;transition:opacity .28s}.overlay{position:absolute;inset:0}.title-screen{z-index:4}.title-shade{position:absolute;inset:0;background:linear-gradient(90deg,#080c17f2 0%,#0b1021d9 30%,#0b10217a 49%,#0b102100 70%),linear-gradient(0deg,#070a16c7,transparent 35%)}.title-content{position:absolute;top:11%;left:6.6%;width:46%}.eyebrow{font-size:clamp(7px,.68vw,11px);letter-spacing:1.8px;display:flex;gap:10px;align-items:center;color:var(--mint)}.eyebrow>span{height:1px;width:21px;background:var(--mint)}h1{font-family:Impact,'Arial Black',sans-serif;font-stretch:condensed;font-weight:900;font-size:clamp(55px,8.65vw,139px);line-height:.81;letter-spacing:-.015em;margin:25px 0 0;text-shadow:3px 0 #70e5de33,-2px 1px #fa518c33;transform:scaleX(.95);transform-origin:left;position:relative}h1 span{letter-spacing:.018em}h1 b{color:var(--pink);font-family:var(--mono);font-size:.75em;line-height:0;position:relative;left:5px;bottom:8px;font-weight:normal}.tagline{font-size:clamp(10px,1.05vw,16px);letter-spacing:.2px;color:#a7a8b5;margin:22px 0 27px}.chapter-label{font-size:clamp(8px,.72vw,11px);letter-spacing:2px;color:#bbbcc7;margin-bottom:14px}.chapter-label span{color:var(--pink);padding:0 8px}.primary-btn{display:flex;align-items:center;justify-content:space-between;width:258px;max-width:100%;padding:17px 22px;background:var(--mint);color:#0b2423;font-size:12px;letter-spacing:1.5px;font-weight:bold;box-shadow:4px 4px 0 #a2efda1c;transition:background .15s,transform .15s}.primary-btn:hover{background:#c2ffe9;color:#08251e;transform:translateY(-2px)}.primary-btn span{font-size:20px;line-height:10px}.text-btn{display:block;color:var(--mint);font-size:12px;padding:11px 0}.text-btn span{padding-left:30px}.title-links{display:flex;gap:25px;margin-top:22px}.title-links button{padding:0;font-size:11px;color:#a3a4b3}.title-links button:hover{color:var(--mint)}.title-links span{margin-left:9px;color:#5d6176;font-size:9px}.title-corner{position:absolute;right:4%;top:5.5%;font-size:8px;letter-spacing:1.8px;color:#a2a4b5}.red-dot{width:4px;height:4px;display:inline-block;background:var(--pink);margin-right:6px;box-shadow:0 0 10px #fb2c76}.title-corner b{display:block;text-align:right;font-size:28px;font-weight:normal;letter-spacing:4px;color:#d3d1dc;margin-top:10px}.vertical-caption{position:absolute;right:1.8%;top:33%;writing-mode:vertical-rl;font-size:8px;letter-spacing:2px;color:#a2a4b0}.version{position:absolute;left:6.6%;bottom:4%;font-size:8px;letter-spacing:1.5px;color:#61677e}.bottom-bar{min-height:70px;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#696c80;gap:10px}.bottom-bar>div{display:flex;align-items:center;gap:12px}.tiny-cross{color:var(--mint);font-size:14px}.key-guide{gap:22px!important}.key-guide>span{display:flex;align-items:center;gap:6px}.key-guide kbd{border:1px solid #353747;font-size:8px;min-width:17px;height:17px;text-align:center;line-height:15px;color:#9699a8}.mouse-icon{border:1px solid #686b7b;border-radius:5px;width:10px;height:14px;display:inline-block;position:relative}.mouse-icon:before{content:'';position:absolute;top:2px;left:4px;height:4px;background:#8c8f9d;width:1px}.footer-build{font-size:9px;letter-spacing:1px}.footer-build span{color:#49615c;margin-left:15px;font-size:6px}.location{position:absolute;left:3%;top:4.5%;font-size:12px;letter-spacing:2px;display:flex;align-items:center;gap:10px;text-shadow:0 2px 4px #000}.location small{display:block;position:absolute;top:21px;left:15px;white-space:nowrap;color:#8f93a6;font-size:8px;letter-spacing:1.4px}.journal-btn{position:absolute;top:4%;right:3%;display:flex;align-items:center;gap:9px;background:#0c1122cf;border:1px solid #4c526255;padding:8px 12px;font-size:10px}.journal-btn svg{width:15px;height:15px;color:var(--mint)}.journal-btn b{font-size:9px;color:var(--mint);font-weight:normal}.objective{position:absolute;left:3%;top:13%;max-width:40%;pointer-events:none;text-shadow:0 1px 5px #000}.objective>span{font-size:7px;color:var(--mint);letter-spacing:1.5px}.objective p{font-size:10px;line-height:1.6;margin:4px 0;color:#c8c9d6}.inventory{position:absolute;left:50%;transform:translateX(-50%);bottom:3%;display:flex;gap:10px;padding:10px 12px;background:#090e1ee8;border:1px solid #7a859132;align-items:center;z-index:5;box-shadow:0 8px 24px #0005}.inventory-label{font-size:8px;letter-spacing:1.5px;margin-right:8px;color:#c2c5d2}.inventory-label small{display:block;color:#626a81;font-size:8px;margin-top:5px;letter-spacing:1px}#slots{display:flex;gap:6px}.slot{border:1px solid #3c455a;width:39px;height:39px;background:#151c2ba0;padding:5px;position:relative}.slot.empty{border-color:#2b3343;background:#0d1322}.slot.empty:after{content:'·';color:#303b4c;font-size:12px}.slot.selected{border-color:var(--mint);background:#a2efda16}.slot:hover:not(.empty){border-color:var(--mint)}.slot svg{width:100%;height:100%;image-rendering:pixelated}.slot .slot-num{position:absolute;top:2px;left:3px;font-size:6px;color:#697386}.inventory #hint{border:1px solid #59647a;color:var(--mint);margin-left:5px;width:24px;height:24px;font-size:12px}.hover-label{position:absolute;transform:translate(-50%,-100%);padding:7px 12px;font-size:10px;background:#0b1020ee;border:1px solid #8dd4c277;color:#d5f8ed;pointer-events:none;z-index:5;white-space:nowrap}.hover-label:after{content:'';position:absolute;left:50%;bottom:-4px;width:6px;height:6px;transform:rotate(45deg);background:var(--mint)}.speech{position:absolute;width:36%;max-width:460px;min-width:240px;left:50%;top:35%;z-index:9;background:#111623f5;border:1px solid #96c7bd;padding:17px 20px 10px;box-shadow:5px 5px 0 #0005}.speech:after{content:'';position:absolute;bottom:-8px;left:45%;width:12px;height:12px;transform:rotate(45deg);border-right:1px solid #96c7bd;border-bottom:1px solid #96c7bd;background:#111623}#speaker{font-size:8px;color:var(--mint);letter-spacing:2px}#speech-text{font-family:var(--mono);font-size:clamp(11px,1.15vw,17px);line-height:1.6;margin:9px 0 12px;min-height:34px}.speech.shadow{border-color:#ee5c86;background:#140e1af5}.speech.shadow #speaker{color:#fa7296}.speech.shadow:after{border-color:#ee5c86;background:#140e1a}#speech-next{font-size:8px;letter-spacing:1px;display:block;margin-left:auto;color:#8e98ab}#speech-next b{color:var(--mint);margin-left:8px}.intro-label{position:absolute;top:5%;left:4%;font-size:9px;letter-spacing:2px;text-shadow:0 1px 4px #000}.intro-label i{padding:0 10px;color:var(--pink)}#skip{position:absolute;bottom:5%;right:4%;font-size:9px;color:#a4a9bb;z-index:10}#skip span{margin-left:10px}.toast{position:absolute;top:19%;left:50%;transform:translateX(-50%);padding:12px 19px;background:#0c1720ef;border-left:2px solid var(--mint);font-size:11px;z-index:12;color:var(--mint);box-shadow:0 3px 20px #0007;white-space:nowrap}.item-description{position:absolute;left:50%;bottom:16%;transform:translateX(-50%);width:310px;background:#0c1221ed;border:1px solid #4d6e72;padding:12px 16px;font-size:10px;line-height:1.6;z-index:6;color:#b2bdcd}.item-description b{display:block;color:var(--mint);font-size:11px;margin-bottom:4px}.modal{position:absolute;inset:0;z-index:15;background:#050813dc;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px}.modal-card{background:#0e1422;border:1px solid #364655;width:440px;max-width:100%;padding:30px;position:relative;box-shadow:8px 8px 0 #0004}.modal-card.wide{width:590px}.modal-kicker{font-size:8px;letter-spacing:2px;color:var(--mint);margin-bottom:10px}.modal-card h2{font-size:25px;letter-spacing:-.5px;margin:0 0 16px}.modal-card p{font-size:12px;line-height:1.7;color:#9da9bd}.close-modal{position:absolute;top:10px;right:10px;font-size:18px;color:#79839b}.modal-card .primary-btn{width:100%;margin-top:20px}.modal-actions{display:flex;flex-direction:column;gap:7px;margin-top:16px}.modal-actions button{padding:12px;text-align:left;border:1px solid #30394d;font-size:12px}.modal-actions button:hover{border-color:var(--mint)}.modal-actions button small{float:right;color:#5c6780}.chapter-card{border:1px solid #2f3e4d;display:flex;gap:17px;padding:15px;margin-top:9px}.chapter-card>span{font-size:25px;color:var(--mint)}.chapter-card h3{font-size:12px;margin:3px 0 5px}.chapter-card p{font-size:10px;margin:0}.chapter-card.locked{opacity:.4}.journal-entry{border-top:1px solid #2a3445;padding:10px 0}.journal-entry h3{font-size:11px;color:#bce8df;margin:0 0 6px}.journal-entry p{font-size:11px;margin:0}.journal-list{max-height:260px;overflow:auto}.controls-list{display:grid;grid-template-columns:100px 1fr;gap:15px;font-size:11px;line-height:1.5;color:#adb7c7}.controls-list b{color:var(--mint);font-weight:normal}.code-display{display:flex;gap:7px;justify-content:center;margin:20px 0}.code-display input{width:180px;letter-spacing:17px;font:28px var(--mono);background:#050a13;border:1px solid #758e8c;padding:12px 4px 12px 18px;color:var(--mint);border-radius:0;text-align:center;outline:none}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-width:220px;margin:0 auto}.keypad button{border:1px solid #354155;padding:9px;background:#151e2d;font-size:15px}.keypad button:hover{background:#243c42}.code-error{color:var(--pink)!important;text-align:center;font-size:10px!important;min-height:15px}.danger{position:absolute;right:3%;top:17%;width:125px}.danger>span{font-size:8px;letter-spacing:2px;color:#fa7e9d}.danger>div{height:3px;background:#e7508433;margin-top:9px}.danger i{display:block;height:100%;background:var(--pink);width:0;box-shadow:0 0 10px var(--pink)}.ending-number{font-size:60px!important;color:var(--mint)!important;line-height:1!important;margin:10px 0!important}.touch-controls{position:absolute;bottom:19%;left:3%;right:3%;display:flex;gap:8px;pointer-events:none}.touch-controls button{pointer-events:auto;width:45px;height:42px;border:1px solid #738b9d7a;background:#101b29a6;color:#b3e6db;font-size:22px;touch-action:none}.touch-controls #touch-use{margin-left:auto;font-size:16px}
@media(min-width:1700px){h1{font-size:139px}.shell{padding:0 70px}}@media(max-width:1100px){.shell{padding:0 24px}.topbar{height:75px}main{margin-top:20px}.title-content{top:10%}h1{margin-top:20px;font-size:9.4vw}.tagline{margin:17px 0 20px}.primary-btn{padding:13px 17px;font-size:10px;width:220px}.title-links{margin-top:15px}.bottom-bar{font-size:9px;min-height:60px}.key-guide{gap:12px!important}.footer-build{display:none}.speech{padding:12px 15px 9px}.inventory{padding:7px 9px;gap:6px}.slot{width:32px;height:32px}.inventory-label{font-size:7px}.modal-card{padding:24px}.modal-card h2{font-size:22px}.modal-card p{font-size:11px}}
@media(max-width:700px){.shell{padding:0 12px}.topbar{height:62px}.chapter-top{font-size:8px;gap:8px}.chapter-top>span:last-child,.chapter-top i{display:none}.wordmark{font-size:10px;gap:8px}.wordmark small{font-size:6px}.mark{font-size:23px;width:28px}.top-actions{gap:5px}main{margin-top:12px;aspect-ratio:4/3}canvas{object-fit:cover;object-position:center;width:100%;height:100%}.title-content{top:13%;left:7%;width:62%}.eyebrow{font-size:6px;letter-spacing:1px}h1{font-size:16vw;margin-top:21px}.tagline{font-size:9px;margin:18px 0 23px}.chapter-label{font-size:7px;letter-spacing:1.5px}.primary-btn{font-size:9px;width:200px;padding:14px 16px}.title-links{gap:16px;margin-top:18px}.title-links button{font-size:9px}.version{font-size:6px;bottom:4%}.title-corner{font-size:6px}.title-corner b{font-size:20px}.vertical-caption{font-size:6px}.bottom-bar{font-size:8px;line-height:1.6}.bottom-bar>div:first-child{max-width:55%;gap:8px}.key-guide{gap:8px!important}.key-guide>span:not(:last-child){display:none}.location{font-size:9px;top:4%;gap:7px}.location small{font-size:6px;top:18px;left:12px}.journal-btn{font-size:8px;padding:6px;gap:5px}.journal-btn svg{width:13px;height:13px}.objective{top:14%;max-width:60%}.objective>span{font-size:6px}.objective p{font-size:8px}.inventory{gap:5px;padding:6px;bottom:3%;width:auto;max-width:98%}.inventory-label{display:none}.slot{width:31px;height:31px}.inventory #hint{width:21px;height:21px;margin-left:0}#slots{gap:4px}.speech{width:65%;min-width:0;left:17%!important;top:27%!important;padding:11px 13px 8px}#speech-text{font-size:11px;line-height:1.5;margin:7px 0 6px}.speech #speaker{font-size:7px}#speech-next{font-size:6px}.intro-label{font-size:7px;letter-spacing:1px}#skip{font-size:7px}.toast{font-size:9px;max-width:90%;white-space:normal;text-align:center;padding:8px 12px}.modal{padding:12px}.modal-card{padding:23px;max-height:100%;overflow:auto}.modal-card h2{font-size:22px;margin-bottom:12px}.modal-card p{font-size:10px}.modal-card .primary-btn{padding:13px;margin-top:15px}.modal-actions{gap:5px}.modal-actions button{padding:10px;font-size:10px}.modal-kicker{font-size:7px}.controls-list{gap:12px;font-size:10px;grid-template-columns:77px 1fr}.chapter-card{padding:10px;margin-top:7px}.chapter-card>span{font-size:20px}.chapter-card h3{font-size:10px}.chapter-card p{font-size:9px}.journal-list{max-height:180px}.journal-entry{padding:8px 0}.journal-entry h3,.journal-entry p{font-size:10px}.keypad button{padding:6px}.code-display{margin:8px 0}.code-display input{font-size:22px;padding-top:8px;padding-bottom:8px}.danger{top:24%;width:100px}.danger>span{font-size:6px}.hover-label{font-size:8px}.ending-number{font-size:40px!important}.touch-controls{bottom:18%}}
@media(max-height:600px) and (min-width:701px){.shell{max-width:1080px;padding:0 30px}.topbar{height:48px}main{margin-top:10px;max-height:calc(100dvh - 103px);width:auto;aspect-ratio:16/9;margin-inline:auto}.bottom-bar{min-height:42px}h1{font-size:clamp(45px,14vh,100px)}.title-content{top:9%}.tagline{margin:12px 0 15px;font-size:11px}.title-links{margin-top:12px}.chapter-label{margin-bottom:10px}.primary-btn{padding:11px 17px}.eyebrow{font-size:7px}.modal-card{padding:20px;max-height:100%;overflow:auto}.journal-list{max-height:160px}}
/* Keep the complete game in view on laptop screens. Container units keep
   the title proportional when the available height constrains the stage. */
@media(min-width:701px){.topbar{height:78px}main{container-type:inline-size;width:min(100%,calc((100dvh - 158px) * 1.777778));margin:20px auto 0}.bottom-bar{min-height:60px}h1{font-size:10.1cqw}.title-content{top:10%}.eyebrow{font-size:.8cqw}.tagline{font-size:1.3cqw;margin:2.3cqw 0 2.5cqw}.chapter-label{font-size:.85cqw;margin-bottom:1.3cqw}.primary-btn{padding:1.5cqw 1.9cqw;font-size:1.05cqw;width:23cqw}.title-links{margin-top:2cqw}.title-links button{font-size:1cqw}.title-links span{font-size:.8cqw}.version{font-size:.7cqw}.text-btn{font-size:1cqw;padding:.9cqw 0}.speech{font-size:1cqw}#speech-text{font-size:1.45cqw}}
@media(max-width:700px){canvas{object-fit:contain}main{width:100%;aspect-ratio:3/4}main[data-mode="title"] canvas{object-fit:cover}.title-content{top:12%}.title-shade{background:linear-gradient(90deg,#080c17f2,#0b1021b0 50%,#0b102110),linear-gradient(0deg,#080b17,transparent 35%)}.touch-controls{bottom:19%}.hover-label{max-width:95%;white-space:normal;text-align:center}.version{bottom:4%}}
@media(max-height:600px) and (min-width:701px){.topbar{height:48px}main{width:min(100%,calc((100dvh - 103px) * 1.777778));margin-top:10px}.bottom-bar{min-height:42px}.title-content{top:8%}.title-content h1{margin-top:1.7cqw}.title-links{margin-top:1.4cqw}.primary-btn{padding:1.3cqw 1.7cqw}}
.shell{background:radial-gradient(ellipse at 77% 45%,#5620440b,transparent 58%)}main{border-color:#3c354f;box-shadow:0 0 50px #9c24600c,0 14px 70px #0005}.crt{opacity:.27;box-shadow:inset 0 0 75px #02040d88}h1{text-shadow:2px 0 #76e9df33,-2px 1px #fa518c55}.title-shade{background:linear-gradient(90deg,#080c17f7 0%,#0a0d1be8 28%,#0d0c217c 48%,#0b102100 70%),linear-gradient(0deg,#070a16d9,transparent 35%)}.speech{box-shadow:4px 5px 0 #0006,0 0 25px #4edac410}.speech.shadow{box-shadow:4px 5px 0 #0006,0 0 30px #ff2b751a}.inventory{box-shadow:0 8px 24px #0007,0 0 28px #61e9cf0a}
#speech-next:disabled{opacity:.3;cursor:wait}.speech{animation:speech-in .22s ease-out;width:46%;max-width:540px;min-width:290px;padding-left:112px;min-height:157px}#portrait{position:absolute;inset:auto;left:13px;top:34px;width:84px;height:96px;border:1px solid #5c7d7b77;background:#080d19;object-fit:contain;image-rendering:pixelated}.speech.shadow #portrait{border-color:#b9426f88}#speech-text{min-height:62px}.voice-meter{height:2px;background:#9be7d41a;margin:9px 0 10px}.voice-meter i{display:block;width:0;height:100%;background:var(--mint);box-shadow:0 0 7px #a2efda44}.speech.shadow .voice-meter i{background:var(--pink)}@keyframes speech-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.speech{width:82%;left:9%!important;top:19%!important;padding-left:80px;min-height:140px}#portrait{left:10px;top:36px;width:58px;height:70px}#speech-text{min-height:55px;font-size:11px}.voice-meter{margin:7px 0}.speech:after{left:54%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.crt{opacity:.15}}

.item-description small{display:block;margin-top:9px;color:var(--mint);font-size:9px;line-height:1.6}#slots .slot.selected{border-color:var(--mint);box-shadow:0 0 0 2px #a2efda44;background:#263e40}#stage[data-mode="intro"] .speech{top:6%!important}
.modal-card{max-height:100%;overflow:auto}
