@font-face{font-family:'Golos Text';font-style:normal;font-weight:400;font-display:swap;src:url('./assets/fonts/golos-400.ttf') format('truetype')}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:500;font-display:swap;src:url('./assets/fonts/golos-500.ttf') format('truetype')}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:600;font-display:swap;src:url('./assets/fonts/golos-600.ttf') format('truetype')}
@font-face{font-family:'Tiny5';font-style:normal;font-weight:400;font-display:swap;src:url('./assets/fonts/tiny5.ttf') format('truetype')}
:root{--ink:#34313e;--paper:#f5e5c3;--gold:#efbb72;--muted:#d4b998;--wine:#a55f69;--body:'Golos Text',sans-serif;--display:'Tiny5',sans-serif;--hand:'Tiny5',sans-serif;color-scheme:dark;font-family:var(--body);color:var(--paper);background:var(--ink)}
*{box-sizing:border-box}body{margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:wait;opacity:.55}button:focus-visible,canvas:focus-visible{outline:2px solid #e7c989;outline-offset:5px}button,canvas{-webkit-tap-highlight-color:transparent}button{border:0}button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}#game{position:relative;width:100vw;height:100dvh;min-height:350px;overflow:hidden;background:#24221c}#world{display:block;width:100%;height:100%;touch-action:none;outline:0}.vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 160px 35px #100f126e;z-index:1}
header{position:absolute;inset:0 0 auto;height:130px;z-index:3;pointer-events:none;background:linear-gradient(#171610c2,transparent)}header button{pointer-events:auto}.brand{position:absolute;top:29px;left:32px;display:flex;align-items:center;gap:12px;text-align:left;font-family:var(--display);font-size:15px;line-height:1.45}.quiet{background:none;padding:0}.leaf-mark{font-family:Georgia,serif;font-size:43px;color:var(--gold);transform:rotate(-25deg)}.timepiece{position:absolute;top:14px;left:50%;transform:translateX(-50%);text-align:center;min-width:160px;filter:drop-shadow(0 3px 6px #161208aa);color:var(--paper)}.timepiece>span{font-family:var(--hand);font-size:18px}.timepiece strong{font-family:var(--display);display:block;font-size:35px;font-weight:400;letter-spacing:2px;line-height:1.3}.cycle-dots{display:flex;gap:10px;justify-content:center;margin-top:7px}.cycle-dots i{width:5px;height:5px;border:1px solid var(--gold);transform:rotate(45deg)}.cycle-dots i.active{background:var(--gold)}.tools{position:absolute;right:28px;top:31px;display:flex;gap:11px}.icon-button{width:43px;height:43px;background:#25221ddd;border:1px solid #b4a17e6b;border-radius:50%;display:grid;place-items:center;transition:background .2s,transform .2s;position:relative}.icon-button:hover{background:#453c2f;transform:translateY(-2px)}#journal-dot{position:absolute;right:1px;top:0;width:7px;height:7px;background:#d9b66b;border-radius:50%}#location{position:absolute;left:50%;top:122px;transform:translateX(-50%);font-family:var(--hand);font-size:25px;text-shadow:0 2px 6px #111;z-index:2;pointer-events:none;opacity:.9}#location:before,#location:after{content:'—';margin:0 13px;color:var(--gold);font-family:Georgia;font-size:15px}
#objective{position:absolute;bottom:73px;left:32px;width:260px;z-index:2;text-shadow:0 2px 8px #17140f;background:#211e18dd;padding:15px 19px 17px;clip-path:polygon(2% 0,98% 2%,100% 96%,0 100%)}.objective-label{font-family:var(--hand);font-size:22px;color:var(--gold)}#objective p{font-size:13px;line-height:1.65;margin:5px 0 0;color:#e9ddc5}#inventory{position:absolute;bottom:78px;right:32px;z-index:2}#inventory>span{display:block;text-align:center;font-family:var(--hand);font-size:21px;color:var(--paper);text-shadow:0 2px 7px #17140f;margin-bottom:6px}#pockets{display:flex;gap:5px}#pockets>div{width:45px;height:45px;border:1px solid #b4a17e80;background:#252119e8;display:grid;place-items:center;color:#ab9674;font-size:22px;transform:rotate(-2deg)}#pockets>div:nth-child(2){transform:rotate(2deg)}#pockets svg{width:25px;height:25px}#walk-help{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;gap:24px;white-space:nowrap;align-items:center;font-size:11px;color:#e0d2b9b0;z-index:2;text-shadow:0 2px 5px #111}kbd{font:11px var(--body);background:#28241edf;border:1px solid #9e8a6260;border-bottom-width:2px;border-radius:3px;display:inline-grid;place-items:center;min-width:20px;height:22px;margin-right:3px;color:#e2d2b1}#interact-button{position:absolute;bottom:82px;left:50%;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:10px;padding:11px 18px;background:#211c16f0;border:1px solid #baa275;clip-path:polygon(2% 0,99% 3%,100% 95%,0 100%);font-size:13px;white-space:nowrap}#interact-button kbd{color:#30261c;background:var(--paper);border:0;font-weight:600}#toast{position:absolute;left:50%;top:175px;transform:translate(-50%,-10px);z-index:8;padding:11px 24px;background:#211c16ef;border:1px solid #9d835966;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;text-align:center;max-width:90vw;font-size:13px;line-height:1.5}#toast.visible{opacity:1;transform:translate(-50%,0)}
.title-screen{position:absolute;inset:0;z-index:10;display:flex;align-items:center;background:linear-gradient(90deg,#171711ef 0%,#171711cf 29%,#17171112 72%);transition:opacity .6s}.title-content{padding:20px 6.5vw;max-width:780px;animation:title-in 1.4s ease both}.title-leaf{font-size:62px;line-height:.7;color:var(--gold);display:block;transform:rotate(-18deg);width:60px}.dedication{font-family:var(--hand);font-size:24px;color:#c7b893;margin:24px 0 18px}h1{font-family:var(--display);font-size:clamp(43px,5.2vw,78px);line-height:1.25;font-weight:400;margin:0;letter-spacing:-2px;text-shadow:0 4px 20px #10100b60}h1 em{font-family:var(--hand);font-size:1.25em;font-weight:400;font-style:normal;color:#d5b87e;line-height:.9;display:block;margin-left:4px}.intro{font-size:14px;line-height:1.9;margin:28px 0 27px;color:#c6bca6}.primary{background:var(--paper);color:#342b20;padding:16px 26px;font-size:14px;font-weight:500;min-width:214px;clip-path:polygon(2% 0,100% 3%,98% 100%,0 97%);transition:background .2s,transform .2s}.primary:hover{background:#f5e8cc;transform:translateY(-2px)}.primary span{margin-left:26px;font-size:20px}.text-button{display:block;background:none;border-bottom:1px solid #887758;padding:12px 0 7px;font-size:13px;margin-top:12px;color:#e3d3af}.title-meta{font-family:var(--hand);font-size:18px;margin:30px 0 0;color:#a6977c}.title-corner{position:absolute;right:30px;bottom:28px;font-family:var(--hand);font-size:20px;text-shadow:0 2px 8px #111}.loading-note{position:absolute;left:6.5vw;bottom:25px;color:#cbb98d;font-size:12px}#dialogue{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);width:min(840px,calc(100% - 48px));z-index:7;background:#e1d4b6;color:#332a21;border:2px solid #30261a;box-shadow:0 10px 35px #08080677;display:flex;min-height:200px;clip-path:polygon(0 2%,99% 0,100% 98%,1% 100%);padding:24px 28px 23px 9px}.portrait-frame{width:137px;flex-shrink:0;position:relative;overflow:hidden}.portrait-frame:after{content:'';position:absolute;inset:0;border-right:1px solid #806d4c40;pointer-events:none}#portrait{width:136px;height:162px;object-fit:contain;position:absolute;bottom:-17px}.dialogue-body{padding-left:24px;flex:1;min-width:0}.speaker-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}#speaker{font-family:var(--hand);font-size:29px;color:#733c36}#dialogue-count{font-size:10px;color:#776b57}#dialogue-line{font-size:15px;line-height:1.8;margin:0;min-height:54px;white-space:pre-line}#dialogue-actions{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap;margin-top:16px}#dialogue-actions button,.choice{padding:10px 15px;background:#382e22;color:#f0e1c1;font-size:12px;min-height:40px;clip-path:polygon(1% 0,99% 2%,100% 98%,0 100%)}#dialogue-actions button:hover{background:#61503b}#dialogue-actions button.secondary{background:#d0c09c;color:#3d3225}#puzzle{display:flex;justify-content:center;gap:12px;margin-top:12px}#puzzle:empty{display:none}#puzzle button{height:55px;width:65px;background:#c2af86;color:#3b2e21;border:1px solid #7d6745;font-size:25px;font-family:var(--display)}#puzzle button:hover{background:#d4c49d}#modal-backdrop{position:absolute;inset:0;background:#12110dd9;z-index:20;display:grid;place-items:center;padding:22px}#modal{position:relative;width:min(580px,100%);max-height:90dvh;overflow:auto;background:#e1d4b6;color:#352d23;padding:35px 40px;box-shadow:0 15px 100px #0008;border:2px solid #54442d}.close-button{position:absolute;right:15px;top:10px;background:none;color:#594934;font-size:29px;width:38px;height:38px}.modal-leaf{font-size:35px;color:#8a6638}h2{font-family:var(--display);font-size:27px;font-weight:400;margin:10px 0 23px}#modal-content{font-size:14px;line-height:1.8}#modal-content p{margin:12px 0}#modal-content button{background:#3c3023;color:#eadbb9;padding:12px 17px;margin:5px 7px 5px 0;min-height:44px;font-size:13px}.journal-entry{padding:13px 0;border-bottom:1px solid #aa967666}.journal-entry:before{content:'✦';font-size:9px;color:#896c3e;margin-right:12px}.journal-caption{font-family:var(--hand);font-size:22px;color:#7e5340}.secrets-list{color:#806b4b;font-family:var(--hand);font-size:21px}.map-card{position:relative;aspect-ratio:3/2;overflow:hidden;border:1px solid #8d7852;margin:10px -15px 20px}.map-card img{width:100%;height:100%;object-fit:cover;opacity:.85}.map-card button{position:absolute!important;font-size:11px!important;padding:5px 10px!important;margin:0!important;min-height:35px!important;background:#291f18e6!important;transform:translate(-50%,-50%)}.map-player{position:absolute;width:9px;height:9px;background:#f7e8bd;border:2px solid #6d2c3a;border-radius:50%;transform:translate(-50%,-50%)}#transition{position:absolute;inset:0;background:#171610;z-index:40;display:flex;align-items:center;justify-content:center;flex-direction:column;opacity:0;pointer-events:none;transition:opacity .65s}#transition.visible{opacity:1;pointer-events:auto}#transition span{font:60px var(--display);color:#d7bb7c}#transition p{font:24px var(--hand);color:#b9a98b;margin-top:25px}#fatal-error{position:absolute;bottom:0;left:0;right:0;padding:15px;background:#652a32;z-index:50;font-size:14px}#joystick{display:none}
@keyframes title-in{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}
#puzzle button[data-label]{position:relative;margin-bottom:17px}#puzzle button[data-label]:after{content:attr(data-label);position:absolute;top:100%;left:50%;transform:translateX(-50%);font:10px var(--body);white-space:nowrap;padding-top:3px;color:#675336}
.map-player{pointer-events:none}
.art-picker{display:flex;align-items:center;gap:5px;margin-top:21px;width:max-content;max-width:100%;font-size:12px}.art-picker>span{color:var(--muted);margin-right:9px}.art-picker button{min-height:39px;min-width:71px;padding:9px 15px;background:#201e19cc;color:#c9bb9c;border:1px solid #9e8a6250;transition:background .15s,color .15s}.art-picker button[aria-pressed=true]{background:var(--paper);color:#392e23}.art-picker button:hover{border-color:#e0c58e}.menu-art-picker{display:flex;gap:4px;flex-wrap:wrap;margin:14px 0}.menu-art-picker button[aria-pressed=true]{outline:2px solid #937453;outline-offset:2px}
body[data-art=pixel]{--ink:#34313e;--paper:#f5e5c3;--gold:#efbb72;--muted:#d4b998;--wine:#a55f69;--display:'Tiny5',sans-serif;--hand:'Tiny5',sans-serif}body[data-art=pixel] .title-screen{background:linear-gradient(90deg,#242338e8 0%,#28243ba8 33%,#27233705 77%)}body[data-art=pixel] .vignette{box-shadow:inset 0 0 100px 10px #29213945}body[data-art=pixel] h1{font-size:clamp(48px,6.2vw,91px);line-height:1.02;letter-spacing:0;color:#fff0ce;text-shadow:3px 3px 0 #523d51}body[data-art=pixel] h1 em{font-size:1.08em;color:#f4bba0;line-height:1.04;margin-left:0}body[data-art=pixel] .dedication{font-size:25px;color:#f0d1ac}body[data-art=pixel] .intro{color:#f2dec0}body[data-art=pixel] .title-meta{font-size:20px;color:#dbc1ab;margin-top:20px}body[data-art=pixel] .brand{font-size:20px;line-height:1.05}body[data-art=pixel] .leaf-mark,body[data-art=pixel] .title-leaf,body[data-art=pixel] .modal-leaf{font-family:Georgia,serif}body[data-art=pixel] .title-corner{color:#f7dfbb}body[data-art=pixel] .timepiece strong{font-size:47px;line-height:1.02;letter-spacing:1px;text-shadow:3px 3px 0 #463349}body[data-art=pixel] .timepiece>span{font-size:22px}body[data-art=pixel] .icon-button{border-radius:3px;border:2px solid #d7b08a;background:#373044e6;box-shadow:2px 2px 0 #19172888}body[data-art=pixel] .primary{clip-path:none;border:3px solid #b48172;box-shadow:4px 4px 0 #38253c;background:#f3d2ad;color:#493348}body[data-art=pixel] .primary:hover{background:#ffe3b8}body[data-art=pixel] #dialogue{background:#f5e3c2;color:#403246;border:3px solid #6e4b62;clip-path:none;box-shadow:5px 5px 0 #2f203f77}body[data-art=pixel] #speaker{color:#925366;font-size:32px}body[data-art=pixel] #dialogue-actions button{clip-path:none;background:#65465d;box-shadow:2px 2px 0 #b9978a}body[data-art=pixel] #dialogue-actions button:hover{background:#885d75}body[data-art=pixel] #dialogue-actions button.secondary{background:#dac19f;color:#51404f}body[data-art=pixel] #objective{background:#352d43e3;clip-path:none;border-left:3px solid #c48c75}body[data-art=pixel] .objective-label{color:#efb899;font-size:24px}body[data-art=pixel] #location{font-size:29px;color:#ffe6be;text-shadow:2px 2px 0 #46313d}body[data-art=pixel] #interact-button{clip-path:none;border:2px solid #d7ae8c;background:#45354be8}body[data-art=pixel] #pockets>div{transform:none;border:2px solid #c89e83;background:#403047e8}body[data-art=pixel] #pockets>div:nth-child(2){transform:none}body[data-art=pixel] #modal{background:#f1dec0;border:3px solid #77546d;box-shadow:7px 7px 0 #201b2e99}body[data-art=pixel] #modal-content button{background:#61445d}body[data-art=pixel] .map-card img,body[data-art=pixel] #portrait{image-rendering:pixelated}body[data-art=pixel] .art-picker button{border:2px solid #bc9385;background:#3e3049;color:#ead2b4}body[data-art=pixel] .art-picker button[aria-pressed=true]{background:#f2c8a6;color:#4e354a}body[data-art=pixel] .menu-art-picker button[aria-pressed=true]{outline-color:#b67d73}
@media(max-width:700px){.art-picker{margin-top:20px;gap:4px}.art-picker button{padding:9px 13px;min-height:40px}.art-picker>span{font-size:11px}body[data-art=pixel] h1{font-size:clamp(46px,12vw,70px)}body[data-art=pixel] .brand{font-size:14px}body[data-art=pixel] .timepiece strong{font-size:37px}body[data-art=pixel] .timepiece>span{font-size:19px}body[data-art=pixel] .dedication{font-size:22px}body[data-art=pixel] .title-meta{font-size:18px;max-width:280px}body[data-art=pixel] #location{font-size:26px}body[data-art=pixel] #speaker{font-size:29px}body[data-art=pixel] .objective-label{font-size:23px}}
@media(max-height:650px){.art-picker{margin-top:13px}.title-meta{margin-top:16px}.title-content{max-height:95dvh;overflow-y:auto;padding-bottom:24px}body[data-art=pixel] .dedication{margin-bottom:12px}}
@media(max-width:700px){.vignette{box-shadow:inset 0 0 85px 10px #11130f66}.brand{left:17px;top:22px;font-size:10px;gap:7px}.leaf-mark{font-size:29px}.tools{right:14px;top:24px;gap:7px}.icon-button{width:35px;height:35px}.icon-button svg{width:19px;height:19px}.timepiece{top:14px;min-width:100px}.timepiece>span{font-size:15px}.timepiece strong{font-size:28px}.cycle-dots{gap:8px;margin-top:3px}#location{top:105px;font-size:22px;white-space:nowrap}#objective{bottom:26px;left:17px;width:200px;padding:11px 14px}.objective-label{font-size:20px}#objective p{font-size:11px;line-height:1.6}#inventory{right:17px;bottom:26px}#inventory>span{font-size:17px}#pockets>div{width:35px;height:35px;font-size:19px}#walk-help{display:none}#interact-button{bottom:142px;font-size:12px;padding:11px 15px;max-width:90vw;white-space:normal;text-align:left}.title-screen{background:linear-gradient(90deg,#181711ee,#1817116a);align-items:center}.title-content{padding:0 28px;max-width:95%}h1{font-size:clamp(38px,10.5vw,65px);letter-spacing:-1.2px}.dedication{font-size:21px;margin-top:24px}.intro{font-size:12px;margin:23px 0}.title-meta{font-size:16px;max-width:230px;line-height:1.5}.title-corner{display:none}.title-leaf{font-size:48px}.loading-note{left:28px;font-size:10px;bottom:17px}.primary{padding:14px 22px;min-width:200px}.title-content .text-button{font-size:12px}#dialogue{bottom:18px;width:calc(100% - 24px);padding:18px 18px 19px 4px;min-height:190px}.portrait-frame{width:66px}#portrait{width:100px;height:140px;left:-16px;bottom:-17px}.dialogue-body{padding-left:14px}#speaker{font-size:26px}#dialogue-line{font-size:12px;line-height:1.8;min-height:65px}#dialogue-actions{gap:6px;margin-top:12px}#dialogue-actions button{padding:10px 12px;font-size:11px;flex-grow:1}#dialogue-count{font-size:9px}#puzzle{gap:7px}#puzzle button{width:52px;height:48px;font-size:22px}#modal{padding:23px 24px}#modal-content{font-size:12px}h2{font-size:25px}.journal-entry{padding:10px 0}#toast{top:145px;font-size:11px;width:max-content;max-width:87vw}#joystick{display:block;position:absolute;bottom:160px;left:25px;width:86px;height:86px;border:1px solid #decb9e70;border-radius:50%;background:#29231c44;z-index:3;touch-action:none}#joystick-thumb{position:absolute;left:27px;top:27px;width:30px;height:30px;border:1px solid #dfc795a0;border-radius:50%;background:#e6d8b644}body.in-dialogue #joystick,body.in-dialogue #objective,body.in-dialogue #inventory{visibility:hidden}body.in-dialogue #interact-button{display:none}}
@media(max-height:600px) and (min-width:701px){.title-content{padding-top:15px}.title-leaf{display:none}.dedication{margin:5px 0 10px;font-size:19px}h1{font-size:48px}.intro{margin:17px 0;font-size:12px}.title-meta{margin-top:15px}.timepiece strong{font-size:27px}.timepiece>span{font-size:15px}#location{top:98px;font-size:21px}#objective{bottom:60px}#dialogue{bottom:20px;min-height:150px;padding-top:15px;padding-bottom:15px}#dialogue-line{font-size:13px;min-height:40px}.portrait-frame{width:100px}#portrait{width:100px;height:145px}.brand{top:20px}.tools{top:23px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
