:root{font-family:Arial,Helvetica,sans-serif;color:#fff4dc;background:#182d29;font-synthesis:none;--cream:#fff4dc;--lime:#d9efa4;--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{touch-action:none}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #d9efa4;outline-offset:5px}#game{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}#vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(6,18,17,.36),transparent 28%,transparent 65%,rgba(6,18,17,.26))}#veil{position:absolute;inset:0;background:#e1e8d0;opacity:0;pointer-events:none;z-index:4}#topbar{position:absolute;top:0;left:0;right:0;padding:calc(env(safe-area-inset-top,0px) + 22px) 24px 0;display:flex;align-items:center;justify-content:space-between;z-index:7;gap:12px}.wordmark{text-decoration:none;color:var(--cream);font-size:22px;font-weight:900;letter-spacing:-2px}.wordmark span{display:inline-block;font-size:20px;color:var(--lime);margin-left:4px;vertical-align:top}#location{display:flex;align-items:center;gap:7px;font-size:8px;letter-spacing:1.8px;font-weight:700}.location-dot{width:5px;height:5px;background:#cde99f;border-radius:50%;box-shadow:0 0 10px #cde99f66}.icon-button{width:44px;height:44px;border:1px solid #fff4dc44;border-radius:50%;background:#152b2833;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:17px}#pause-button{visibility:hidden}.overlay{position:absolute;inset:0;z-index:6}.hidden{display:none!important}#intro{background:linear-gradient(180deg,#14262280 0%,transparent 44%,transparent 58%,#14262299 100%);pointer-events:none}.intro-copy{position:absolute;top:calc(env(safe-area-inset-top,0px) + 106px);left:26px;right:20px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:2.8px;color:var(--lime)}h1{font-size:clamp(46px,12vw,80px);letter-spacing:-3px;line-height:.87;margin:19px 0 18px;font-weight:900;position:relative}h1 span{font-size:.77em;letter-spacing:-2px}h1 sup{font-size:.4em;position:absolute;top:0;margin-left:10px;color:var(--lime)}.intro-copy p{font-size:14px;line-height:1.55;margin:0;color:#fff4dcc7}.intro-bottom{position:absolute;bottom:calc(22px + var(--safe-bottom));left:26px;right:26px;pointer-events:auto}.primary{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:59px;padding:17px 23px;background:var(--lime);border:0;border-radius:4px;color:#1c352b;font-weight:700;font-size:16px;box-shadow:0 6px 30px #08151033}.primary span{font-size:24px;line-height:20px}.primary:active{transform:translateY(2px);background:#c2e18e}.hint{font-size:10px;line-height:1.8;color:#fff4dc99;text-align:center;margin:13px 0 0}.intro-footer{display:flex;justify-content:space-between;gap:15px;margin-top:26px;border-top:1px solid #fff4dc33;padding-top:15px;font-size:7px;font-weight:700;letter-spacing:1.6px}.desktop-hint{display:none}#chapter{position:absolute;top:22%;left:20px;right:20px;text-align:center;z-index:3;pointer-events:none;text-shadow:0 2px 20px #07121b;transition:opacity 1s}#chapter-number{font-size:9px;letter-spacing:4px;color:var(--lime)}#chapter h2{font-size:31px;font-weight:500;letter-spacing:-1px;margin:12px 0}#subtitle{position:absolute;left:24px;right:24px;bottom:calc(195px + var(--safe-bottom));text-align:center;font-size:15px;line-height:1.5;z-index:5;pointer-events:none;text-shadow:0 2px 8px #000,0 0 30px #000;transition:opacity .4s}#interaction{position:absolute;bottom:calc(162px + var(--safe-bottom));left:50%;transform:translate(-50%);white-space:nowrap;align-items:center;gap:10px;padding:10px 16px;background:#142924bb;border:1px solid #fff4dc20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:30px;font-size:12px;pointer-events:none;display:flex;z-index:3}.keycap{display:none;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid #fff4dc55;border-radius:5px;font-size:10px}#touch-controls{position:absolute;inset:0;pointer-events:none;z-index:5}#stick-zone{position:absolute;left:18px;bottom:calc(20px + var(--safe-bottom));width:136px;height:145px;pointer-events:auto;touch-action:none;display:flex;flex-direction:column;align-items:center;justify-content:center}#stick-base{width:102px;height:102px;border-radius:50%;border:1px solid #fff4dc38;background:#152b2820;display:grid;place-items:center;box-shadow:inset 0 0 25px #fff4dc04}#stick-knob{width:44px;height:44px;border-radius:50%;background:#fff4dc35;border:1px solid #fff4dc55;box-shadow:0 3px 15px #0002}#stick-zone>span{font-size:7px;letter-spacing:2px;color:#fff4dc77;margin-top:10px}.touch-actions{position:absolute;right:24px;bottom:calc(34px + var(--safe-bottom));display:flex;align-items:flex-end;gap:13px;pointer-events:auto}.touch-actions button{border:1px solid #fff4dc44;border-radius:50%;background:#142b2955;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);touch-action:none}#touch-interact{width:72px;height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:29px;color:var(--lime);transition:background .2s,opacity .2s}#touch-interact span{font-size:8px;letter-spacing:1px}#touch-interact:disabled{opacity:.35}#touch-interact:not(:disabled){background:#d9efa425;box-shadow:0 0 28px #d9efa411}#touch-jump{width:48px;height:48px;font-size:25px}#look-hint{position:absolute;right:29px;bottom:calc(128px + var(--safe-bottom));font-size:7px;letter-spacing:2px;color:#fff4dc77}#pause,#error{background:#122a28de;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:9;display:flex;align-items:center;justify-content:center;padding:28px}.menu{width:100%;max-width:360px}.menu h2{font-size:42px;line-height:1.05;letter-spacing:-2px;font-weight:500;margin:19px 0 30px}.setting{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 0;border-bottom:1px solid #fff4dc22;font-size:13px}.setting input[type=range]{width:120px;accent-color:var(--lime)}.setting input[type=checkbox]{width:22px;height:22px;accent-color:var(--lime)}#mute-btn{border:0;background:none;font-size:12px;min-width:44px;min-height:44px}.secondary{width:100%;border:1px solid #fff4dc44;background:transparent;padding:16px;margin-top:22px;border-radius:4px;font-size:13px}.menu>.hint{margin-top:22px;text-align:left;font-size:10px}@media(min-width:760px)and (pointer:fine){#topbar{padding:28px 42px 0}#location{font-size:9px}.intro-copy{left:7%;top:26%}h1{font-size:clamp(75px,8.7vw,132px);letter-spacing:-7px;margin-top:23px}h1 span{letter-spacing:-5px}.intro-copy p{font-size:17px}.eyebrow{font-size:10px}.intro-bottom{left:7%;right:auto;bottom:7%;width:350px}.intro-footer{width:480px}.desktop-hint{display:block}.touch-hint{display:none}#touch-controls{display:none!important}.keycap{display:inline-flex}#interaction{bottom:45px;font-size:13px}#subtitle{bottom:115px;left:20%;right:20%;font-size:19px}#chapter{top:19%}#chapter h2{font-size:46px}}@media(max-height:580px){.intro-copy{top:85px}h1{font-size:45px;margin:10px 0}.intro-copy p{font-size:11px}.intro-bottom{left:auto;right:25px;width:250px;bottom:20px}.intro-footer{margin-top:15px}.menu h2{font-size:29px;margin:10px 0 15px}.setting{padding:8px 0}.menu>.hint{margin-top:10px}.secondary{margin-top:12px}#subtitle{bottom:160px;font-size:13px}}.time-choice{background:#fff4dc15;border:1px solid #fff4dc44;padding:9px 14px;border-radius:4px;font-size:12px}#pause .menu{max-height:90dvh;overflow:auto}#vignette{background:linear-gradient(180deg,rgba(6,18,17,.16),transparent 24%,transparent 75%,rgba(6,18,17,.15))}#toilet-actions{position:absolute;z-index:6;left:50%;transform:translate(-50%);bottom:calc(228px + var(--safe-bottom));display:flex;gap:6px;background:#18322ddd;padding:8px;border:1px solid #fff4dc44;border-radius:9px;white-space:nowrap}#toilet-actions button{border:1px solid #fff4dc44;background:#d9efa418;min-width:59px;min-height:44px;border-radius:5px;font-size:13px}#toilet-actions button:active{background:#d9efa455}@media(min-width:760px)and (pointer:fine){#toilet-actions{bottom:170px}}@media(max-height:580px){#toilet-actions{bottom:180px}}body.toilet-seated #subtitle{bottom:calc(300px + var(--safe-bottom));font-size:13px}#toilet-actions button:disabled{opacity:.35;cursor:default}@media(min-width:760px)and (pointer:fine){body.toilet-seated #subtitle{bottom:245px}}@media(max-height:580px){body.toilet-seated #subtitle{bottom:252px;font-size:12px}}body.toilet-gag #toilet-actions,body.toilet-gag #touch-controls,body.toilet-gag #interaction,body.toilet-gag #subtitle{visibility:hidden}#dialogue{position:absolute;z-index:5;pointer-events:none;left:20px;right:20px;bottom:calc(218px + var(--safe-bottom));max-width:520px;margin:auto;padding:12px 16px;background:#17322be8;border:1px solid #d9efa44d;border-radius:8px;box-shadow:0 6px 24px #0003}#speaker{font-size:10px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:#d9efa4}#spoken-line{margin:6px 0 0;font-size:15px;line-height:1.42;color:#fff4dc}#dialogue[data-speaker=Martha]{border-color:#d9b7c65c}#dialogue[data-speaker=Martha] #speaker{color:#ecc3d8}body.dialogue-active #subtitle{visibility:hidden}body.toilet-seated #dialogue{bottom:auto;top:105px}body.toilet-gag #dialogue{visibility:hidden}@media(min-width:760px)and (pointer:fine){#dialogue{bottom:115px;padding:15px 20px}#spoken-line{font-size:18px}body.toilet-seated #dialogue{top:110px}}@media(max-height:580px){#dialogue{inset:75px 15px auto;max-width:440px;padding:8px 12px}#spoken-line{font-size:13px;margin-top:3px}}#phone-button{position:absolute;z-index:6;right:23px;top:95px;width:49px;height:58px;border:1px solid #fff4dc55;border-radius:13px;background:#19362fe8;color:#e5edbb;font-size:27px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}#phone-button span{font-size:7px;letter-spacing:1px}#phone-button i{display:none;position:absolute;right:5px;top:5px;width:7px;height:7px;border-radius:50%;background:#eabb85}#phone-button.unread i{display:block}#phone-panel{position:absolute;z-index:7;inset:auto 12px calc(12px + var(--safe-bottom));height:min(690px,calc(100dvh - 85px));max-width:410px;margin-left:auto;border:1px solid #d7dfbc66;border-radius:26px;background:#edf0db;color:#244337;box-shadow:0 20px 80px #081b1966;display:flex;flex-direction:column;overflow:hidden}.phone-top{display:flex;align-items:center;justify-content:space-between;padding:21px 21px 14px;background:#d9e2c5}.phone-top small{display:block;letter-spacing:1.5px;font-size:8px;margin-bottom:5px}.phone-top b{font-size:26px;letter-spacing:-1px;font-weight:500}#phone-close,#conversation-close{border:0;border-radius:50%;width:44px;height:44px;font-size:28px;background:#24433712;color:inherit}#phone-content{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:15px 17px;touch-action:pan-y}#phone-panel button{color:#244337;touch-action:manipulation;font:inherit;cursor:pointer}#phone-tabs{display:flex;flex-shrink:0;padding:8px 7px;background:#dce4cb;border-top:1px solid #24433722;gap:3px}#phone-tabs button{flex:1;border:0;background:transparent;border-radius:9px;min-height:48px;font-size:11px}#phone-tabs button.selected{background:#254739;color:#f1efd9}#save-status{padding:2px 12px 9px;text-align:center;font-size:9px;color:#62745f;background:#dce4cb}.contact-picker{display:flex;gap:5px;margin-bottom:17px}.contact-picker button{border:1px solid #879d7544;background:transparent;min-height:44px;border-radius:8px;flex:1;font-size:12px!important}.contact-picker button.selected{background:#d4dec1;border-color:#899b70}.message-list{display:flex;flex-direction:column;gap:10px}.message{max-width:92%;border-radius:15px 15px 15px 3px;background:#dde3cc;padding:11px 13px}.message.sent{align-self:flex-end;background:#bfd0ad;border-radius:15px 15px 3px}.message small{font-size:9px;letter-spacing:.8px;font-weight:700}.message p{margin:4px 0 0;font-size:13px;line-height:1.5}.message img{width:100%;max-height:170px;object-fit:cover;margin-top:8px;border-radius:8px}.phone-replies{display:flex;flex-direction:column;gap:7px;padding-top:17px}.phone-replies button,.camera-open{border:1px solid #62795566;border-radius:9px;background:#f4f3e5;padding:13px 12px;min-height:47px;text-align:left;font-size:13px!important}.phone-empty,.phone-caption{font-size:12px;line-height:1.6;color:#5a6c57;margin:0 0 17px}.person-card{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid #65785833}.person-initial{width:42px;height:44px;border-radius:10px;display:grid;place-items:center;flex-shrink:0;font-size:22px}.person-card b{font-size:17px;font-weight:500}.person-card p{font-size:11px;line-height:1.5;margin:4px 0}.person-card small{font-size:10px;color:#697354}.pockets{background:#e0e5ce;border:1px solid #8da16f33;border-radius:12px;padding:13px 15px;margin-top:17px}.pockets h3{font-size:13px;margin:0 0 6px}.pockets p{margin:0;font-size:12px;line-height:1.7}.photo-gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.photo-gallery figure{margin:0}.photo-gallery img{width:100%;aspect-ratio:.9;object-fit:cover;border-radius:8px}.photo-gallery figcaption{font-size:9px;padding:5px 0}.photo-gallery .phone-empty{grid-column:span 2}.camera-open{width:100%;background:#254739!important;color:#f4f2dc!important;text-align:center!important}.phone-objective{font-size:14px;line-height:1.5;margin:0 0 15px;padding:13px;border-left:3px solid #9aab6b;background:#dde4cb}.village-map{height:255px;position:relative;background:radial-gradient(ellipse at 12% 70%,#a9ba8c 0%,transparent 40%),#d8ddbf;border:1px solid #879e7544;border-radius:13px;margin-bottom:10px;overflow:hidden}.village-map>span{position:absolute;text-align:center;font-size:9px;line-height:1.5;letter-spacing:.5px}.map-road{width:8%;height:64%;left:64%;top:23%;background:#eee2bd;border-radius:20px;transform:rotate(4deg)}.map-road:after{content:"";position:absolute;left:-190px;bottom:0;width:265px;height:15px;border-radius:20px;background:#eee2bd}.map-home{left:62%;top:12%}.map-park{left:7%;top:64%}.map-cafe{left:36%;top:71%}.map-records{left:68%;top:71%}.map-party{left:59%;top:61%;font-size:18px!important}.map-player{color:#ad654e;font-size:20px!important;transform:translate(-50%,-50%);text-shadow:0 0 3px #fff}.map-distance{display:flex;justify-content:space-between;border-bottom:1px solid #72866933;font-size:12px;padding:12px 0}.map-distance b{font-weight:500;color:#718060}#conversation{position:absolute;z-index:7;bottom:calc(25px + var(--safe-bottom));left:15px;right:15px;max-width:540px;max-height:calc(100dvh - 110px);overflow:auto;margin:auto;background:#203e35f5;color:#f4eed5;border:1px solid #c0ce9255;border-radius:18px;padding:15px 18px 18px;box-shadow:0 20px 70px #071b1766;touch-action:pan-y}.conversation-top{display:flex;justify-content:space-between;align-items:center}.conversation-top span{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#d2dca7}.conversation-top button{color:#e1e4c5!important;background:#fff1!important}#conversation-text{font-size:18px;line-height:1.5;margin:6px 0 19px;letter-spacing:-.2px}#conversation-choices{display:flex;flex-direction:column;gap:8px}#conversation-choices button{padding:13px 14px;border:1px solid #c4d79955;border-radius:8px;background:#e4eccc0d;color:#f3eed4;min-height:48px;text-align:left;font-size:13px;line-height:1.4;touch-action:manipulation}#conversation-choices button:first-child{background:#d6e3aa;color:#253e2b;border-color:transparent}body.social-focused #touch-controls,body.social-focused #interaction,body.social-focused #dialogue,body.social-focused #subtitle,body.social-focused #chapter{visibility:hidden}#photo-ui{position:absolute;inset:0;z-index:6;pointer-events:none}.photo-label{position:absolute;top:100px;left:23px;font-size:10px;letter-spacing:2px;text-shadow:0 1px 4px #000}.photo-label span{display:block;letter-spacing:0;font-size:10px;margin-top:7px}.viewfinder{position:absolute;inset:23% 12% 27%;border:1px solid #fff7;border-radius:4px}.viewfinder:after{content:"+";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:25px;color:#fff9}.photo-buttons{position:absolute;bottom:calc(35px + var(--safe-bottom));left:20px;right:20px;display:flex;justify-content:space-around;align-items:center;gap:12px;pointer-events:auto}.photo-buttons button{border:1px solid #eef4d788;color:#f4f0d8;background:#1e3c33e8;border-radius:12px;min-height:50px;min-width:78px;padding:10px;font-size:12px;touch-action:manipulation}#photo-shutter{border-radius:50%;width:72px;height:72px;font-size:38px;background:#e9ebd9;color:#426a59}#photo-notice{position:absolute;bottom:calc(130px + var(--safe-bottom));left:25px;right:25px;text-align:center;font-size:13px;text-shadow:0 1px 4px #000}body.photo-mode #phone-button{display:none}@media(min-width:760px){#phone-button{right:42px;top:100px}#phone-panel{right:35px;bottom:30px}#conversation{bottom:40px}#photo-ui .photo-buttons{max-width:460px;margin:auto}#photo-ui .viewfinder{inset:20% 24% 22%}}@media(max-height:580px){#phone-panel{height:calc(100dvh - 25px);bottom:10px}.phone-top{padding:8px 15px}.phone-top b{font-size:21px}#phone-tabs button{min-height:40px}#conversation{bottom:10px;max-height:calc(100dvh - 35px);padding:9px 14px}#conversation-text{font-size:14px;margin:2px 0 10px}#conversation-choices{gap:5px}#conversation-choices button{min-height:44px;padding:9px 12px}.photo-label{top:75px}.photo-buttons{bottom:15px}#photo-notice{bottom:97px}}#street-caption{position:absolute;z-index:5;top:calc(100px + env(safe-area-inset-top,0px));left:19px;right:80px;max-width:480px;margin:auto;padding:11px 14px;border-left:3px solid #d4b271;border-radius:3px 10px 10px 3px;background:#243a32ed;color:#f3e5c8;font-size:14px;line-height:1.45;pointer-events:none;box-shadow:0 4px 24px #0002}body.social-focused #street-caption,body.toilet-gag #street-caption{visibility:hidden}@media(min-width:760px){#street-caption{top:105px;left:30%;right:30%}}@media(max-height:580px){#street-caption{top:76px;font-size:12px;padding:8px 11px;max-width:420px}}#hygiene-status{position:fixed;z-index:14;top:calc(env(safe-area-inset-top) + 100px);left:19px;right:78px;max-width:350px;padding:9px 12px;border-left:3px solid #c49b6e;border-radius:3px;background:#1d2e28e0;color:#f3e4c6;font:600 11px/1.5 var(--font-mono,monospace);letter-spacing:.04em;white-space:pre-line;pointer-events:none}body:has(#hygiene-status:not(.hidden)) #street-caption{top:168px}body:has(#pause:not(.hidden)) #hygiene-status{display:none}
