:root{color-scheme:dark;--text:#d9e2d9;--muted:#9eafa8;--edge:#b9cfc52f;--bg:#0b1618}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#070d10;color:var(--text);font:16px/1.6 "Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;overscroll-behavior:none}button,select{font:inherit;color:inherit;touch-action:manipulation}button{min-height:46px;padding:10px 18px;border:1px solid var(--edge);background:#142323e8;cursor:pointer;border-radius:2px;-webkit-tap-highlight-color:transparent}button:hover{background:#294139}button:focus-visible,select:focus-visible{outline:2px solid #d7e4ca;outline-offset:3px}button:disabled{opacity:.6;cursor:wait}.primary{background:#c0d2bd;color:#18261f;border-color:#d2dfc8;font-weight:600;letter-spacing:.08em}.primary:hover{background:#dce8ce}[hidden]{display:none!important}#world{position:fixed;inset:0;width:100%;height:100%;touch-action:none}.vignette{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse,transparent 35%,#02070aaa 100%)}.eyebrow,.brand,.chapter{font-size:12px;letter-spacing:.17em;color:var(--muted)}.title{position:fixed;inset:0;overflow:auto;padding:36px 6vw 22px;background:linear-gradient(90deg,#050c10ef,#070f13b0 40%,#050f1330);display:flex;flex-direction:column;gap:22px}.title header{display:flex;justify-content:space-between;align-items:center;gap:18px}.brand{color:#d1ddd2}.title main{margin:auto 0;max-width:560px;padding:15px 0}.title h1{font:400 clamp(35px,5vw,70px)/1.5 "Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.13em;margin:16px 0 22px}.title p{color:#a9bcb0;font-size:14px;line-height:2}.start-area{max-width:335px;margin-top:24px}.start-area label{font-size:12px;color:var(--muted);display:block;margin-bottom:7px}select{width:100%;padding:11px 12px;background:#111e1fd9;border:1px solid var(--edge);border-radius:2px;font-size:14px}.start-area button{width:100%;margin-top:12px;padding:15px;min-height:55px}.small{font-size:12px;color:var(--muted);line-height:1.8;margin-top:12px}.title footer{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--edge);padding-top:12px}.title footer span{font:11px monospace;letter-spacing:.12em;color:#8a9f98}.title footer button{background:transparent;border:0;font-size:13px;padding-left:0}.modal{position:fixed;inset:0;z-index:30;padding:20px;display:flex;align-items:center;justify-content:center;background:#020709bf;backdrop-filter:blur(10px);overflow:auto}.panel{width:440px;max-width:100%;max-height:100%;overflow:auto;background:linear-gradient(140deg,#19292a,#0c161a);border:1px solid var(--edge);padding:30px;text-align:center}.panel h2{font:400 28px/1.5 serif;margin:12px 0 23px}.panel p{font-size:14px;color:#aebfb4;line-height:1.95}.panel button{display:block;width:100%;margin-top:12px}.panel.wide{width:580px;text-align:left}.panel.wide h2{text-align:center}.panel.wide .eyebrow{text-align:center}.hudhead{position:fixed;top:max(20px,env(safe-area-inset-top));left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));display:flex;justify-content:space-between;align-items:start;gap:20px;pointer-events:none}#location{font:21px/1.7 serif;letter-spacing:.12em}.tools{display:flex;gap:8px;pointer-events:auto}.tools button{padding:8px 13px;background:#101e20a6}.objective{position:fixed;left:24px;top:107px;max-width:min(380px,65vw);pointer-events:none}#objective{font-size:14px;margin-top:5px;text-shadow:0 1px 6px #000}#crosshair{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font:26px monospace;pointer-events:none;color:#e9f2db9c}#hint{position:fixed;top:59%;left:50%;transform:translateX(-50%);font-size:14px;text-align:center;max-width:80vw;white-space:pre-line;pointer-events:none;background:#08141bbf;padding:8px 16px;border:1px solid var(--edge);opacity:0}#toast{position:fixed;top:29%;left:50%;transform:translateX(-50%);width:max-content;max-width:80vw;font-size:14px;text-align:center;padding:11px 20px;background:#081418d9;border:1px solid var(--edge);opacity:0;transition:opacity .4s;pointer-events:none}.stamina{position:fixed;bottom:55px;left:24px;width:155px;pointer-events:none}.stamina span{font-size:12px;color:#bdcdbd}.stamina>div{height:3px;background:#bfd3c033;margin-top:9px}.stamina i{display:block;width:100%;height:100%;background:#b3cfae}#inventory{position:fixed;right:24px;bottom:52px;max-width:280px;text-align:right;font-size:12px;color:#bed0b8;pointer-events:none}#desktopHelp{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);font-size:12px;white-space:nowrap;color:#9cb0a5;pointer-events:none}#touch{display:none}#joystick{position:fixed;bottom:max(40px,env(safe-area-inset-bottom));left:max(30px,env(safe-area-inset-left));width:112px;height:112px;border:1px solid #c1d7c553;background:#b2d6c010;border-radius:50%;touch-action:none}#stick{position:absolute;left:33px;top:33px;width:44px;height:44px;border-radius:50%;background:#bcd5c32b;border:1px solid #c1d7c585;pointer-events:none}.action-buttons{position:fixed;bottom:max(35px,env(safe-area-inset-bottom));right:max(24px,env(safe-area-inset-right));display:grid;grid-template-columns:64px 78px;gap:9px}.action-buttons button{padding:0;font-size:12px;min-height:48px;touch-action:none;border-radius:12px;background:#102022bb}.action-buttons .use{border-color:#bfdbc891;color:#e0edd7}.action-buttons button.active{background:#6b897361}.looktip{position:fixed;right:25px;bottom:12px;font-size:11px;color:#869e8e99;pointer-events:none}#letterbox{position:fixed;inset:0;pointer-events:none;border-top:10vh solid #000;border-bottom:10vh solid #000;z-index:6}#caption{position:fixed;bottom:17%;left:50%;transform:translateX(-50%);width:80%;text-align:center;color:#d4dece;font-size:16px;letter-spacing:.14em;text-shadow:0 2px 12px #000;pointer-events:none;z-index:9}#dollView{position:fixed;inset:0;pointer-events:none;z-index:7;transition:transform 1s,opacity .5s}.doll-picture{position:absolute;height:min(76vh,740px);aspect-ratio: .8;max-width:95vw;bottom:6%;left:50%;transform:translateX(-50%);background-image:url('assets/doll.png');background-repeat:no-repeat;background-size:200% 100%;background-position:0 0;filter:brightness(.8) drop-shadow(0 0 30px #000);}.doll-picture#dollSmile{background-position:100% 0;opacity:0;transition:opacity 3s ease-in-out}#dollCaption{position:absolute;bottom:3%;width:100%;text-align:center;font-size:12px;color:#a9bbb0}#dollView.dropped{transform:translateY(120vh) rotate(30deg);opacity:0}#attack{position:fixed;inset:0;z-index:11;pointer-events:none;background:#05040380;overflow:hidden}.attack-picture{height:135vh;width:85vh;position:absolute;left:50%;top:-8vh;transform:translateX(-50%) scale(1);background:url('assets/ghost.png') no-repeat 100% 0 / 400% 100%;filter:brightness(.85);transform-origin:50% 17%}#attack.bite .attack-picture{transition:transform 1.3s ease-in;transform:translateX(-50%) scale(5.3)}#blackout{position:fixed;inset:0;background:#000;opacity:0;pointer-events:none;z-index:15;transition:opacity 1s}.end-screen{position:fixed;inset:0;background:#000;z-index:25;display:grid;place-items:center;padding:24px;overflow:auto;text-align:center}.end-screen>div{width:min(100%,620px)}.end-screen h2{font:400 clamp(46px,9vw,96px)/1.3 Georgia,serif;color:#a62126;margin:25px 0;letter-spacing:.02em;animation:deathText 3s ease-out}.end-screen p{font-size:14px;line-height:1.9;color:#90978f}.end-actions{display:flex;gap:15px;justify-content:center;margin-top:35px;animation:deathText 4s ease-out}.end-actions button{min-width:125px}.end-screen.won{background:radial-gradient(ellipse at top,#202a24,#040a0a 80%)}.won h2{font-family:serif;font-size:clamp(30px,6vw,56px);color:#d7e2c9}.map-panel{width:420px;padding:20px}.map-panel h2{margin:6px 0;font-size:23px}#mapCanvas{width:100%;height:min(57vh,570px);object-fit:contain}.map-panel p{margin:6px 0;font-size:12px}#clearTime{font:22px monospace;color:#bcd0b5;margin:20px 0}@keyframes deathText{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(pointer:coarse){#touch{display:block}#desktopHelp{display:none}.stamina{bottom:174px;left:30px;width:112px}#inventory{bottom:160px;right:24px;font-size:11px;max-width:190px}}
@media(max-width:620px){.title{padding:24px 25px;gap:15px}.title header{flex-wrap:wrap;gap:7px}.title h1{font-size:39px;line-height:1.55;letter-spacing:.09em}.title p{font-size:13px}.title footer span{display:none}.chapter{font-size:11px}.title main{padding:8px 0}.start-area{margin-top:20px}.hudhead{left:20px;right:16px;top:max(18px,env(safe-area-inset-top))}.eyebrow{font-size:10px}#location{font-size:18px}.objective{left:20px;top:96px}#objective{font-size:12px}#hint{font-size:12px;top:54%}#toast{font-size:12px;top:28%;max-width:88vw}#caption{font-size:14px}.panel{padding:23px}.panel h2{font-size:25px}.action-buttons{right:18px;grid-template-columns:61px 74px;gap:8px}.tools button{font-size:13px}.doll-picture{height:65vh;max-width:94vw}}
@media(max-height:620px){.title{padding:18px 5vw;gap:10px}.title main{display:grid;grid-template-columns:1fr 270px;column-gap:35px;max-width:none;margin:auto 0;align-items:start}.title main>.eyebrow{grid-column:1}.title h1{font-size:35px;margin:10px 0;grid-column:1}.title main>p{font-size:12px;grid-column:1;margin:4px 0}.start-area{grid-column:2;grid-row:1 / 4;margin-top:4px}.title footer{padding-top:3px}.title footer button{min-height:35px}.title main .small{font-size:11px}.hudhead{top:12px}#location{font-size:17px}.objective{top:79px;max-width:290px}.stamina{bottom:158px}.action-buttons{grid-template-columns:65px 72px;gap:7px;bottom:28px}#joystick{bottom:25px;width:105px;height:105px}#inventory{bottom:145px}.looktip{bottom:6px}.doll-picture{height:83vh;bottom:0}.panel{padding:20px}.panel h2{margin:8px 0 12px}.end-screen h2{margin:12px 0;font-size:54px}.end-actions{margin-top:22px}.end-screen .eyebrow{font-size:10px}#toast{top:19%;max-width:60vw}#caption{bottom:12%}}
#toast{top:max(180px,29%)}@media(max-height:620px){#toast{top:40%}}

/* Exploration is conveyed by the scene and sound, without narration or location spoilers. */
.hudhead>div:first-child,.objective,#location,#caption,#toast,#hint,#deathHint,#mapBtn,.doll-picture,#dollCaption,.attack-picture,.looktip{display:none!important}
.hudhead{justify-content:flex-end}#attack{background:transparent}#dollView{background:transparent}.title h1{letter-spacing:.18em}

/* A single warning in the living forest. */
#title.title{padding:8vh 7vw;justify-content:center;background:radial-gradient(ellipse at 50% 40%,#02080618,#000a),linear-gradient(0deg,#000b,transparent 65%)}
#title main{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(32px,9vh,90px);width:100%;max-width:none;margin:auto;padding:0;text-align:center}
#title h1{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:900;font-size:clamp(48px,8vw,110px);line-height:1.5;letter-spacing:.18em;color:#b6b5a7;text-shadow:2px 0 #39201c,-1px 2px #030705,0 5px 25px #000;transform:rotate(-1.4deg);margin:0;filter:drop-shadow(0 0 7px #121608)}
#title h1 span{display:block;letter-spacing:.27em;transform:translateX(.11em) rotate(.7deg)}
#title #start{background:#070b0780;color:#c2c4b5;border:1px solid #7c817552;min-width:210px;padding:15px 40px;letter-spacing:.35em;font-family:serif;font-size:18px;box-shadow:0 10px 50px #0007}
#title #start:hover{background:#242c2099}#dead .eyebrow,#dead p{display:none}
@media(max-height:520px){#title main{gap:18px}#title h1{font-size:44px;line-height:1.3}#title #start{min-height:43px;padding:9px 35px}}

#inspectBtn{font-size:11px;line-height:1.4;padding:5px 3px}#inspectBtn[hidden]{display:none!important}
