@font-face{font-family:Quiet;src:url('assets/font.ttf')}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none;touch-action:none;background:#102c36;color:#ede2cc;font-family:Quiet,sans-serif}button{font:inherit;color:inherit;background:#293b3c;border:1px solid #a58b65;border-radius:3px;min-height:48px;cursor:pointer;touch-action:none}button:focus-visible{outline:3px solid #eac28b;outline-offset:2px}button:active,.pressed{background:#5d6550}button:disabled{opacity:.5}button[hidden]{display:none}#game{height:100%;height:100dvh;max-width:480px;margin:auto;display:flex;flex-direction:column;padding:env(safe-area-inset-top) 12px env(safe-area-inset-bottom);position:relative;background:#261c29;box-shadow:0 0 70px #091d27}header{height:54px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;font-size:16px}header small{display:block;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#b6c1b5}header button{font-size:12px;border:0;background:transparent;min-width:80px}#world{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;position:relative}canvas{image-rendering:pixelated;max-width:100%;max-height:100%;width:auto;height:auto;aspect-ratio:8/9}#cue{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);background:#182c31e8;padding:5px 10px;border:1px solid #8a8067;white-space:nowrap;font-size:13px;display:none}#dialogue{flex-shrink:0;min-height:105px;background:#211b25;border:1px solid #a58b86;box-shadow:inset 0 0 0 3px #332833;padding:10px 13px;position:relative;margin-top:4px}#speaker{font-size:11px;color:#c8b7c9;letter-spacing:.05em}#line{font-size:14px;line-height:1.45;margin:5px 0 7px}#next,#hint{font-size:12px;min-height:32px;background:none;border:0;padding:0 6px;float:right}#hint{color:#efd39d}footer{height:158px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:5px 14px 8px}#joystick{position:relative;width:136px;height:136px;flex-shrink:0;border-radius:50%;touch-action:none;user-select:none;background:radial-gradient(circle at 45% 38%,#4c4950,#28252f 65%);border:2px solid #8b7e79;box-shadow:inset 0 0 0 7px #302d35,inset 0 0 0 9px #686064,0 3px 0 #14121b}#stick{position:absolute;left:39px;top:39px;width:54px;height:54px;border-radius:50%;pointer-events:none;background:radial-gradient(circle at 35% 25%,#d1c1a7,#8d8176 45%,#48424a 85%);border:2px solid #b5a38c;box-shadow:0 5px 8px #15121bc0;transform:translate(0,0)}.stick-label{position:absolute;bottom:10px;width:100%;text-align:center;font-size:8px;letter-spacing:.06em;pointer-events:none;color:#c1b7aa}#interact{width:86px;height:70px;background:#4c4b3e;border-color:#b49b70;font-size:14px}#interact small{display:block;font-size:10px;opacity:.6;margin-top:5px}#overlay{position:absolute;inset:0;background:#102a35cb;display:flex;align-items:center;justify-content:center;z-index:4;backdrop-filter:blur(1px)}#overlay[hidden]{display:none}.card{width:90%;text-align:center;padding:35px 15px;background:#211b25f5;border:1px solid #a58b86;box-shadow:inset 0 0 0 4px #302631}.eyebrow{font-size:11px;letter-spacing:.2em;color:#cfb487}h1{font-family:Quiet;font-size:26px;letter-spacing:.08em;font-weight:normal;margin:18px 0}p{line-height:1.5}.sub{font-size:13px;color:#b8bdb1}.card button{display:block;margin:18px auto 0;padding:10px 24px;background:#665d45}#status{font-size:12px;overflow-wrap:anywhere}@media(max-height:690px){header{height:44px}footer{height:152px}#dialogue{min-height:95px;padding:7px 11px}#line{font-size:13px}}@media(min-width:700px){#game{border-inline:1px solid #42565a}} 

#choices{display:grid;gap:5px}#choices button{min-height:48px;font-size:14px;text-align:left;padding:8px 12px;line-height:1.3;background:#332832}#choices button.selected::before{content:"› ";color:#e4c898}#choices button.selected{border-color:#d8bb95}#dialogue{max-height:45dvh;overflow-y:auto;touch-action:pan-y}#next{min-height:48px;float:none}#line{cursor:pointer}h1{font-size:clamp(21px,6vw,27px)}

[hidden]{display:none!important}
.personal{position:fixed;inset:0;z-index:20;background:#17121beF;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding:24px 16px max(24px,env(safe-area-inset-bottom));box-sizing:border-box;color:#ede3d4}.personal *{touch-action:pan-y;box-sizing:border-box}.personal-card{max-width:460px;margin:0 auto}.personal h1{font-size:25px;line-height:1.3;margin:0 0 16px;color:#e1c7b8}.personal h2{font-size:15px;color:#c6a9bc;margin:22px 0 6px}.personal p{font-size:16px;line-height:1.55;margin:8px 0 16px}.personal .hint{font-size:13px;color:#c3b5bb}.personal fieldset{border:0;padding:0;margin:22px 0}.personal legend{font-size:16px;line-height:1.45;margin-bottom:10px}.pills{display:flex;flex-wrap:wrap;gap:8px}.personal button{font:inherit;color:#eee2d3;background:#2d222f;border:1px solid #826878;min-height:46px;padding:10px 12px;text-align:left;border-radius:2px;cursor:pointer}.personal button:focus-visible{outline:2px solid #eee2d3;outline-offset:3px}.personal button[aria-pressed=true]{background:#584050;border-color:#edd4c1}.personal-card>button{display:block;width:100%;margin:9px 0}.pills button{font-size:14px}.equal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.equal-actions button{text-align:center}.save-option{display:flex;align-items:center;gap:10px;font-size:14px;line-height:1.5}.save-option input{width:22px;height:22px;accent-color:#b999ae}.share-preview{white-space:pre-line}#resume{margin-top:10px}#reset-progress{font-size:12px;min-height:32px;padding:5px 8px}header{gap:8px}header>span{flex:1}body:has(.personal){touch-action:pan-y}

.personal{background:#17121b;padding-bottom:110px}.personal h1{letter-spacing:0;font-weight:500}.checkin-actions{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:calc(100% - 32px);max-width:460px;margin:0;background:#17121b;padding:12px 0 max(12px,env(safe-area-inset-bottom));border-top:1px solid #59434f}.checkin-actions button{background:#3c2c3b}
/* Stable, native-resolution reading layer. */
@font-face{font-family:Quiet;src:url('assets/font.ttf') format('truetype');font-weight:100 900;font-display:block}
html,body{font-size:16px;line-height:1.45;background:#15121c}button,input{font-family:inherit}h1,header small,.eyebrow{letter-spacing:0;text-transform:none}#game{background:#211923;box-shadow:none}header{height:52px;gap:4px}header button{min-width:48px;min-height:48px;padding:5px;font-size:12px}header>span{font-size:15px}header small{font-size:11px}#reset-progress{min-height:48px;font-size:11px}#world{min-height:105px}#dialogue{height:174px;min-height:174px;max-height:none;overflow:visible;display:grid;grid-template-rows:24px 74px 48px;gap:2px;padding:10px 14px;margin:4px 0 0;background:#211820;box-shadow:inset 0 0 0 3px #2d222d;border-color:#816777}#speaker{display:block;font-size:14px;line-height:22px;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#c9b2c5}#line{font-size:17px;line-height:24.65px;letter-spacing:0;text-align:left;margin:0;align-self:start;min-height:74px;overflow:visible;word-break:normal;overflow-wrap:normal;touch-action:manipulation}.text-row{display:block;white-space:pre;height:24.65px}.text-row span{transition:none;animation:none}#next{justify-self:end;align-self:end;min-height:48px;max-width:100%;font-size:13px;text-align:right;margin:0;padding:8px 0;color:#d3baa0;float:none}#next:disabled{opacity:.7}#choices{flex:none;display:grid;gap:7px;padding:8px 0 2px;max-height:154px;overflow:auto;touch-action:pan-y;overscroll-behavior:contain}#choices button{font-size:16px;line-height:1.45;min-height:48px;padding:10px 14px 10px 30px;position:relative;background:#352734;border-color:#826d7a;touch-action:pan-y;white-space:normal;word-break:normal}#choices button.selected::before{position:absolute;left:12px;content:'›';color:#ead2aa}#choices button:active{background:#554151}#choices button.selected{border-color:#cfb99c}footer{height:126px;padding:5px 8px;gap:10px}#joystick{width:108px;height:108px;background:radial-gradient(circle at 45% 38%,#39323f,#25212d 65%);border-color:#746874;box-shadow:inset 0 0 0 6px #2d2633,inset 0 0 0 7px #625362}#stick{left:26px;top:26px;background:radial-gradient(circle at 35% 25%,#aa9689,#756675 55%,#413547);border-color:#9b8691;box-shadow:0 3px 4px #17121b}.stick-label{font-size:8px;bottom:6px}#interact{height:60px;min-width:92px;background:#433441;border-color:#97816f;font-size:16px}.reading #joystick{opacity:.35}.reading #interact{opacity:.6}#cue{max-width:96%;white-space:normal;text-align:center;font-size:14px;line-height:1.4;background:#241c2ceF}.card{text-align:left;padding:24px 20px}.card h1{letter-spacing:0}.card p,.personal p{font-size:16px;line-height:1.5}.personal button{min-height:48px;font-size:16px;line-height:1.45}.pills button{font-size:15px}.personal h1{font-size:24px}.personal .hint{font-size:14px}.personal{padding-top:max(24px,env(safe-area-inset-top))}#pause-panel{position:absolute;inset:0;z-index:10;background:#17121bf5;overflow:auto;padding:24px;touch-action:pan-y}.pause-card{max-width:380px;margin:auto}.pause-card h1{font-size:24px}.pause-card label{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0;font-size:16px}.pause-card input[type=checkbox]{width:24px;height:24px;accent-color:#bfa48d}.pause-card input[type=range]{width:100%;height:36px;accent-color:#bfa48d}.pause-card button{width:100%;padding:12px}.paused #world,.paused #dialogue,.paused footer{pointer-events:none}html:not(.font-ready) #dialogue{visibility:hidden}@media(max-height:690px){header{height:48px}footer{height:100px}#joystick{transform:scale(.8);transform-origin:left center}#dialogue{height:174px;min-height:174px;padding:10px 14px}#line{font-size:17px}#choices{max-height:136px}}@media(orientation:landscape) and (max-height:600px){#game{max-width:100%;display:grid;grid-template-columns:42% 58%;grid-template-rows:48px 1fr 174px;padding-inline:12px}header{grid-column:1/3}#world{grid-column:1;grid-row:2;min-height:80px}footer{grid-column:1;grid-row:3;height:174px}#choices{grid-column:2;grid-row:2;max-height:none;align-content:end;padding-left:10px}#dialogue{grid-column:2;grid-row:3;margin-left:10px}#overlay,#pause-panel{grid-column:1/3;grid-row:1/4}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media(max-height:690px) and (orientation:portrait){.reading footer{height:60px}.reading #joystick{display:none}.reading footer::before{content:'Movement pauses while reading';font-size:12px;line-height:1.4;max-width:150px;color:#b5a5b4}.reading #interact{height:48px}.reading #interact small{display:none}}#choices{scrollbar-color:#97816f #241b28;scrollbar-width:thin}#line{font-kerning:none;font-variant-ligatures:none}
#choices{grid-auto-rows:max-content}#choices button{height:auto;min-height:48px;flex-shrink:0}@media(orientation:landscape) and (max-height:600px){#dialogue{margin-top:0}}
#overlay{top:52px;background:#14151f;backdrop-filter:none;overflow:hidden;opacity:1;transition:opacity .2s ease}#overlay.leaving{opacity:0}#title-canvas{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;aspect-ratio:auto;image-rendering:pixelated}#overlay .card{position:absolute;left:8%;right:8%;bottom:9%;width:auto;padding:18px 10px;text-align:center;background:#17131bea;border:0;box-shadow:none}#overlay .eyebrow{display:none}#overlay h1{font-size:clamp(23px,7vw,30px);letter-spacing:.045em;line-height:1.2;color:#eee4d0;margin:8px 0 14px}#overlay #intro{font-size:17px;line-height:1.45;max-width:280px;margin:0 auto}#overlay #sub{font-size:13px;margin:12px 0;color:#baacbb}#overlay .card button{width:100%;max-width:240px;min-height:50px;margin:15px auto 0;background:#544035;border-color:#ae8c68;color:#f1e4cf}#overlay #status:empty{display:none}.title-active header{position:relative;z-index:6;background:#17131b}.title-active #reset-progress{display:none}.title-active #dialogue,.title-active footer{visibility:hidden}#pause-panel{z-index:12}.personal{animation:gentle-enter .2s ease}@keyframes gentle-enter{from{opacity:0}to{opacity:1}}@media(max-height:690px){#overlay{top:48px}#overlay .card{bottom:4%;padding:10px}#overlay #sub{display:none}#overlay h1{margin:7px 0 10px}#overlay .card button{margin-top:12px}}@media(orientation:landscape) and (max-height:600px){#overlay .card{left:50%;right:4%;bottom:12%}#title-canvas{width:50%}#overlay h1{font-size:25px}}@media(prefers-reduced-motion:reduce){#overlay{transition:none}.personal{animation:none}}
