@import "https://fonts.googleapis.com/css2?family=Gowun+Batang:wght@400;700&family=Noto+Sans+KR:wght@400;500;600;700&display=swap";
:root{--cream:255 249 227;--paper:250 247 233;--mist:232 236 217;--lichen:220 229 198;--butter:242 217 138;--peach:242 200 150;--sky:169 208 212;--stone:183 182 187;--sage:168 175 147;--fern:135 154 109;--reed:138 145 119;--amber:192 138 66;--rust:184 109 67;--moss:116 130 107;--leaf:109 135 90;--forest:85 107 78;--pine:63 86 52;--ink:52 74 59;--deep:28 58 50;--sun:233 155 78;--twilight:43 53 82;--night:14 47 58;--ochre:163 136 75;--honey:251 239 184;--blush:231 199 174;--grass:75 102 53;--muted:rgb(var(--moss));--line:rgb(var(--forest) / .18);--serif:"Gowun Batang", Georgia, serif;--sans:"Noto Sans KR", Arial, sans-serif}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{font-family:var(--sans);color:rgb(var(--ink));background:rgb(var(--lichen))}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible{outline:2px solid rgb(var(--rust));outline-offset:5px}button{border:0}button svg{flex-shrink:0;width:20px;height:20px}a{color:inherit;text-decoration:none}button:hover{filter:brightness(.95)}
.walk{isolation:isolate;background:linear-gradient(180deg, rgb(var(--sky)) 0%, rgb(var(--mist)) 48%, rgb(var(--lichen)) 100%);width:100%;height:100dvh;min-height:420px;transition:background 2s;position:relative}.walk.is-evening{background:linear-gradient(180deg, rgb(var(--stone)) 0%, rgb(var(--blush)) 50%, rgb(var(--peach)) 100%)}.walk.is-raining{background:linear-gradient(180deg, rgb(var(--stone)) 0%, rgb(var(--reed)) 100%)}.walk.is-night{background:linear-gradient(180deg, rgb(var(--night)) 0%, rgb(var(--twilight)) 55%, rgb(var(--deep)) 100%)}.landscape{z-index:-3;position:absolute;inset:0}.landscape canvas{width:100%;height:100%;display:block}.paper-grain{z-index:6;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' opacity='.6' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");position:absolute;inset:0}.vignette{pointer-events:none;z-index:-1;background:linear-gradient(180deg, rgb(var(--cream) / .38), transparent 27%, transparent 70%, rgb(var(--cream) / .3)), linear-gradient(90deg, rgb(var(--cream) / .3), transparent 45%);position:absolute;inset:0}.header{justify-content:space-between;align-items:center;display:flex;position:absolute;top:32px;left:42px;right:42px}.wordmark{letter-spacing:-1px;align-items:center;gap:12px;font:27px Georgia,serif;display:flex}.brand-symbol{border:1px solid rgb(var(--forest) / .53);width:44px;height:44px;font:27px var(--serif);border-radius:50%;place-items:center;display:grid}.wordmark-sub{font:9px var(--sans);letter-spacing:2px;margin-top:6px;display:block}.header-right{letter-spacing:1px;align-items:center;gap:24px;font-size:10px;display:flex}.season{align-items:center;gap:8px;display:flex}.season-dot{background:rgb(var(--leaf));border-radius:50%;width:5px;height:5px}.edition{border-left:1px solid var(--line);letter-spacing:2px;padding-left:24px;font-size:9px}.title-block{pointer-events:none;position:absolute;top:17%;left:6%}.eyebrow{letter-spacing:2.5px;color:rgb(var(--forest));align-items:center;gap:10px;font-size:9px;display:flex}.eyebrow>span{background:rgb(var(--moss));width:22px;height:1px;display:block}.title-block h1{font:700 clamp(38px, 4.6vw, 70px)/1.25 var(--serif);letter-spacing:-3px;margin:16px 0 17px}.title-dot{color:rgb(var(--amber))}.title-block p{font-family:var(--serif);letter-spacing:.1px;color:rgb(var(--forest));margin:0;font-size:15px;line-height:1.95}.weather{color:rgb(var(--forest));align-items:center;gap:10px;margin-top:24px;font-size:10px;display:flex}.weather svg{width:18px;height:18px}.weather-divider{background:rgb(var(--forest) / .24);width:1px;height:10px;margin:0 2px}.temperature{margin-left:6px;font:16px Georgia,serif}.tools{background:rgb(var(--paper) / .64);border:1px solid rgb(var(--cream) / .61);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 5px 22px rgb(var(--grass) / .04);border-radius:40px;flex-direction:column;align-items:center;gap:8px;padding:10px 6px;display:flex;position:absolute;top:134px;right:38px}.tool{background:0 0;border-radius:50%;place-items:center;width:39px;height:39px;transition:background .2s;display:grid}.tool:hover,.tool[aria-pressed=true]{background:rgb(var(--forest) / .09)}.tool-divider{background:var(--line);width:20px;height:1px;margin:3px 0}.vertical-note{writing-mode:vertical-rl;font-family:var(--serif);letter-spacing:4px;color:rgb(var(--forest) / .65);font-size:11px;position:absolute;top:405px;right:54px}.bottom-bar{border:1px solid rgb(var(--cream) / .53);background:rgb(var(--paper) / .86);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 8px 40px rgb(var(--pine) / .05);border-radius:13px;justify-content:space-between;align-items:center;gap:18px;padding:18px 24px;display:flex;position:absolute;bottom:25px;left:36px;right:36px}.location{align-items:center;gap:12px;min-width:205px;display:flex}.location-marker{color:rgb(var(--leaf));font-size:30px;line-height:1}.small-label{color:rgb(var(--moss));letter-spacing:1px;margin-bottom:4px;font-size:9px;display:block}.location strong{font-size:12px;font-weight:500}.keyboard-help{color:rgb(var(--moss));align-items:center;gap:10px;font-size:10px;display:flex}.keyboard-help>span:first-child{flex-direction:column;align-items:center;gap:2px;display:flex}.key-row{gap:2px;display:flex}kbd{font:9px var(--sans);border:1px solid rgb(var(--reed) / .33);background:rgb(var(--paper) / .36);min-width:19px;height:19px;box-shadow:0 1px 0 rgb(var(--leaf) / .11);border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.wide-key{width:38px;height:25px}.keyboard-help i{background:var(--line);width:1px;height:22px;margin:0 8px}.journal-button{background:0 0;align-items:center;gap:15px;padding:10px 0;font-size:11px;display:flex}.journal-button b{margin-left:8px;font-weight:500}.journal-button svg{width:17px}.journal-dots{gap:4px;display:flex}.journal-dots span{border:1px solid rgb(var(--reed));border-radius:50%;width:6px;height:6px}.journal-dots .filled{background:rgb(var(--leaf))}.interact{background:rgb(var(--paper) / .95);border:1px solid rgb(var(--cream));box-shadow:0 5px 22px rgb(var(--pine) / .13);white-space:nowrap;border-radius:10px;align-items:center;gap:14px;padding:14px 19px;display:flex;position:absolute;bottom:153px;left:50%;transform:translate(-50%)}.interact>kbd{width:30px;height:32px;font-size:12px}.interact>span{text-align:left;font-size:12px}.interact small{color:rgb(var(--moss));margin-top:5px;font-size:9px;display:block}.interact>svg{width:17px;margin-left:12px}.toast{background:rgb(var(--ink) / .93);color:rgb(var(--cream));opacity:0;pointer-events:none;z-index:9;white-space:nowrap;border-radius:30px;padding:11px 22px;font-size:11px;transition:opacity .25s,transform .25s;position:absolute;top:90px;left:50%;transform:translate(-50%,-10px)}.toast.visible{opacity:1;transform:translate(-50%)}.loading{background:rgb(var(--mist));z-index:10;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex;position:absolute;inset:0}.loading p{font:16px var(--serif);max-width:500px;line-height:2}.loading button{background:rgb(var(--forest));color:rgb(var(--paper));border-radius:8px;padding:12px 30px}.mobile-controls{display:none}.map-dialog,.memory-dialog{border:1px solid rgb(var(--cream));background:rgb(var(--paper));color:rgb(var(--ink));box-shadow:0 25px 100px rgb(var(--deep) / .25);border-radius:18px;max-height:calc(100dvh - 40px);padding:30px;overflow:auto}.map-dialog{width:min(470px,100% - 30px)}dialog::backdrop{background:rgb(var(--deep) / .29);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.dialog-heading{justify-content:space-between;align-items:center;display:flex}.dialog-heading h2{font:700 27px var(--serif);margin:10px 0}.dialog-heading .eyebrow{letter-spacing:2px;font-size:8px}.dialog-intro{color:rgb(var(--moss));margin:6px 0 18px;font-size:10px;line-height:1.9}.dialog-intro kbd{margin:0 3px}.village-map{border:1px solid rgb(var(--sage) / .27);border-radius:14px;width:100%;display:block}.discovery-list{grid-template-columns:1fr 1fr;gap:20px 12px;margin:24px 0;display:grid}.discovery-item{align-items:center;gap:4px;display:flex}.stamp{border:1px dashed rgb(var(--sage));width:33px;height:33px;font:16px var(--serif);color:rgb(var(--sage));border-radius:50%;flex-shrink:0;place-items:center;display:grid}.stamp.collected{color:rgb(var(--leaf));border:1px solid rgb(var(--fern));background:rgb(var(--mist))}.discovery-list strong{font-size:10px;font-weight:500}.discovery-list small{color:rgb(var(--reed));margin-top:4px;font-size:8px;display:block}.discovery-check{color:rgb(var(--fern));margin-left:auto;font-size:12px}.map-footer{border-top:1px solid var(--line);color:rgb(var(--moss));justify-content:space-between;align-items:center;gap:14px;padding-top:18px;font-size:9px;display:flex}.map-footer button{white-space:nowrap;background:0 0;align-items:center;gap:6px;padding:0;font-size:10px;display:flex}.map-footer button svg{width:15px;height:15px}.memory-dialog{text-align:center;width:min(420px,100% - 32px);padding:48px 40px 32px}.memory-close{position:absolute;top:12px;right:12px}.memory-symbol{border:1px solid rgb(var(--fern));width:80px;height:80px;font:36px var(--serif);color:rgb(var(--leaf));background:rgb(var(--mist));border-radius:50%;place-items:center;margin:0 auto 28px;display:grid}.memory-dialog .eyebrow{justify-content:center;font-size:8px}.memory-dialog h2{font:700 27px var(--serif);margin:16px 0 22px}.memory-dialog p{font:15px/2.2 var(--serif);word-break:keep-all;color:rgb(var(--moss))}.memory-line{background:rgb(var(--sage));width:30px;height:1px;margin:24px auto 16px;display:block}.memory-count{letter-spacing:2px;color:rgb(var(--reed));font-size:10px;display:block}.continue-button{background:rgb(var(--forest));width:100%;color:rgb(var(--cream));border-radius:8px;justify-content:space-between;align-items:center;gap:20px;margin-top:28px;padding:15px 18px;font-size:11px;display:flex}.continue-button svg{width:16px}@keyframes arrive{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}@media (min-width:1500px){.title-block{top:19%;left:7%}.bottom-bar{padding:20px 28px;bottom:32px;left:52px;right:52px}.header{top:38px;left:52px;right:52px}}@media (max-width:1000px){.header{top:24px;left:26px;right:26px}.edition{display:none}.title-block{top:16%;left:6%}.title-block h1{font-size:49px}.tools{top:112px;right:22px}.vertical-note{right:38px}.bottom-bar{padding:16px 18px;bottom:20px;left:20px;right:20px}.keyboard-help .control-copy{font-size:9px}.keyboard-help{gap:6px}.location{min-width:170px}.journal-dots{display:none}}@media (max-width:700px){.header{top:23px;left:22px;right:22px}.wordmark{gap:9px;font-size:24px}.brand-symbol{width:36px;height:36px;font-size:23px}.wordmark-sub{letter-spacing:1.5px;font-size:7px}.season{font-size:8px}.title-block{top:14%;left:25px}.title-block .eyebrow{letter-spacing:1.6px;font-size:7px}.title-block h1{letter-spacing:-2px;margin:12px 0;font-size:41px}.title-block p{font-size:12px}.weather{gap:7px;margin-top:15px;font-size:9px}.weather .temperature{font-size:14px}.tools{gap:4px;padding:7px 4px;top:109px;right:17px}.tool{width:34px;height:34px}.tool svg{width:18px;height:18px}.vertical-note{display:none}.bottom-bar{border-radius:10px;padding:14px 15px;bottom:15px;left:15px;right:15px}.location{gap:8px;min-width:0}.location strong{font-size:10px}.small-label{font-size:8px}.location-marker{font-size:24px}.journal-button{gap:8px;font-size:9px}.journal-button b{margin-left:5px}.journal-button svg{width:14px}.keyboard-help{display:none}.interact{padding:11px 14px;bottom:235px}.interact>span{font-size:11px}.mobile-controls{pointer-events:none;justify-content:space-between;align-items:flex-end;display:flex;position:absolute;bottom:105px;left:23px;right:23px}.dpad{pointer-events:auto;grid-template-rows:40px 40px;grid-template-columns:40px 40px 40px;gap:5px;display:grid}.direction{touch-action:none;-webkit-user-select:none;user-select:none;background:rgb(var(--paper) / .72);border:1px solid rgb(var(--cream) / .73);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:12px;font-size:21px}.direction:active{background:rgb(var(--lichen))}.direction-w{grid-column:2}.direction-a{grid-area:2/1}.direction-s{grid-area:2/2}.direction-d{grid-area:2/3}.run-button{pointer-events:auto;background:rgb(var(--paper) / .73);border:1px solid rgb(var(--cream) / .71);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:50%;width:57px;height:57px;font-size:10px}.run-button[aria-pressed=true]{background:rgb(var(--forest));color:rgb(var(--cream))}.toast{white-space:normal;text-align:center;width:max-content;max-width:90%;font-size:10px;top:80px}.map-dialog{padding:24px}.dialog-heading h2{font-size:25px}.memory-dialog{padding:40px 28px 28px}}@media (pointer:coarse) and (min-width:701px){.mobile-controls{pointer-events:none;justify-content:space-between;align-items:flex-end;display:flex;position:absolute;bottom:125px;left:35px;right:35px}.dpad{pointer-events:auto;grid-template-rows:42px 42px;grid-template-columns:42px 42px 42px;gap:5px;display:grid}.direction{touch-action:none;background:rgb(var(--paper) / .73);border-radius:12px;font-size:22px}.direction-w{grid-column:2}.direction-a{grid-area:2/1}.direction-s{grid-area:2/2}.direction-d{grid-area:2/3}.run-button{pointer-events:auto;background:rgb(var(--paper) / .73);border-radius:50%;width:55px;height:55px;font-size:10px}.keyboard-help{visibility:hidden}}@media (max-height:550px){.walk{min-height:0}.title-block{top:100px}.title-block h1{margin:8px 0;font-size:32px}.title-block p,.weather,.vertical-note{display:none}.tools{top:95px}.bottom-bar{padding:10px 15px;bottom:12px}.interact{bottom:100px}.mobile-controls{bottom:90px}.title-block .eyebrow{font-size:7px}.map-dialog,.memory-dialog{max-height:90dvh}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
.header,.title-block,.vertical-note{color:rgb(var(--cream));text-shadow:0 2px 15px rgb(var(--night) / .63)}.header .brand-symbol{border-color:rgb(var(--cream) / .53)}.header .season-dot{background:rgb(var(--butter))}.header .edition{border-color:rgb(var(--cream) / .33)}.title-block .eyebrow,.title-block p,.title-block .weather{color:rgb(var(--cream))}.title-block .eyebrow>span{background:rgb(var(--honey))}.title-block .title-dot{color:rgb(var(--butter))}.weather-divider{background:rgb(var(--cream) / .4)}.vignette{background:linear-gradient(180deg, rgb(var(--night) / .17), transparent 20%, transparent 80%, rgb(var(--deep) / .13))}.paper-grain{opacity:.025}.title-block{transition:opacity .8s,transform .8s;top:18%}.title-block h1{font-size:clamp(38px,4.3vw,66px)}.has-started .title-block{opacity:0;transform:translateY(-10px)}.vertical-note{color:rgb(var(--cream) / .66)}.discovery-guide{text-align:left;background:0 0;border-radius:8px;align-items:center;gap:9px;padding:5px 2px;display:flex}.discovery-guide:hover{background:rgb(var(--mist))}.discovery-guide>div{flex:1}.landscape{touch-action:none}.landscape canvas{cursor:crosshair}.tools{background:rgb(var(--paper) / .72)}.interact{bottom:135px}@media (max-width:700px){.title-block{max-width:70%;top:15%}.title-block h1{font-size:38px}.interact{bottom:220px}.header-right{display:none}.title-block .eyebrow{max-width:210px;font-size:6px}.title-block p{font-size:11px}.weather{margin-top:12px}}
.tools,.bottom-bar,.interact{z-index:17}.game-header{pointer-events:none;color:rgb(var(--cream));text-shadow:0 0 2px rgb(var(--ink) / .5), 0 1px 12px rgb(var(--ink) / .6);position:absolute;top:30px;left:34px}.game-header:before{content:"";z-index:-1;background:radial-gradient(closest-side, rgb(var(--ink) / .32), transparent);position:absolute;inset:-90px -140px -70px -120px}.game-name{font:600 17px var(--serif);letter-spacing:6px;margin:0}.game-time{border-top:1px solid rgb(var(--cream) / .6);width:fit-content;font:12px var(--serif);letter-spacing:5px;margin:10px 0 0;padding-top:9px}.scene-caption{font:700 18px var(--serif);color:rgb(var(--cream));text-shadow:0 2px 7px rgb(var(--deep));letter-spacing:2px;pointer-events:none;white-space:nowrap;animation:7s forwards caption-fade;position:absolute;top:32px;left:50%;transform:translate(-50%)}.scene-caption span{opacity:.6;margin:0 8px}.tools{background:rgb(var(--cream) / .87);border:2px solid rgb(var(--cream));box-shadow:2px 3px 0 rgb(var(--pine) / .16);border-radius:30px;flex-direction:row;gap:3px;padding:5px 8px;top:27px;right:28px}.tool-divider{width:1px;height:20px;margin:0 4px}.bottom-bar{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;pointer-events:none;background:0 0;border:0;border-radius:0;align-items:flex-end;padding:0;bottom:23px;left:25px;right:25px}.location{background:rgb(var(--cream) / .91);border:2px solid rgb(var(--cream));box-shadow:2px 3px 0 rgb(var(--pine) / .16);border-radius:4px 13px 5px 14px;min-width:0;padding:10px 15px}.location strong{font:700 13px var(--serif)}.location .small-label{font-size:8px}.location-marker{color:rgb(var(--fern));font-size:25px}.keyboard-help{color:rgb(var(--cream));text-shadow:0 1px 6px rgb(var(--deep));background:rgb(var(--ink) / .32);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:9px;padding:7px 14px}.keyboard-help kbd{background:rgb(var(--paper) / .92);color:rgb(var(--forest));text-shadow:none}.keyboard-help i{background:rgb(var(--cream) / .4)}.journal-button{pointer-events:auto;background:rgb(var(--cream) / .93);border:2px solid rgb(var(--cream));box-shadow:2px 3px 0 rgb(var(--pine) / .16);font-family:var(--serif);border-radius:13px 4px 14px 5px;padding:14px 18px;font-size:13px;transform:rotate(1deg)}.journal-button b{font-size:12px}.journal-dots{display:flex}.interact{bottom:108px}.toast{top:110px}.vignette{background:linear-gradient(0deg, rgb(var(--deep) / .17), transparent 13%, transparent)}@keyframes caption-fade{0%{opacity:0;translate:0 6px}15%,65%{opacity:1;translate:0}to{opacity:0}}@media (max-width:1000px){.scene-caption{font-size:14px;top:95px}.tools{top:24px;right:22px}.game-header{top:20px;left:22px}.keyboard-help{gap:5px;font-size:9px}.journal-dots{display:none}}@media (max-width:700px){.game-header{top:18px;left:16px}.tools{gap:0;padding:5px 4px;top:20px;right:14px}.tools .tool{width:32px;height:32px}.tools .tool-divider{height:17px;margin:0 2px}.scene-caption{letter-spacing:1px;font-size:13px;top:115px}.bottom-bar{gap:8px;bottom:15px;left:14px;right:14px}.location{gap:6px;max-width:61%;padding:9px 10px}.location strong{font-size:11px}.location-marker{font-size:21px}.journal-button{gap:6px;padding:13px 10px;font-size:11px}.journal-button b{margin-left:4px;font-size:10px}.journal-button svg{width:13px}.interact{bottom:205px}.mobile-controls{bottom:90px}.toast{top:110px}}@media (max-height:550px){.game-header{top:12px}.tools{top:15px}.scene-caption{font-size:13px;top:28px}.interact{bottom:85px}.mobile-controls{bottom:78px}.bottom-bar{bottom:10px}.location{padding:6px 10px}.journal-button{padding:10px 13px}}.action-buttons{pointer-events:auto;align-items:flex-end;gap:12px;display:flex}.jump-button{border:2px solid rgb(var(--cream));background:rgb(var(--butter) / .92);width:60px;height:60px;box-shadow:0 3px 0 rgb(var(--ochre) / .4);color:rgb(var(--forest));font:700 12px var(--sans);touch-action:manipulation;border-radius:50%}.jump-button:active{box-shadow:none;transform:translateY(2px)}.joystick{border:2px solid rgb(var(--cream) / .8);background:radial-gradient(circle, rgb(var(--cream) / .33), rgb(var(--moss) / .31));width:128px;height:128px;box-shadow:inset 0 2px 12px rgb(var(--ink) / .15), 0 4px 20px rgb(var(--ink) / .13);pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:50%;flex:0 0 128px;position:relative}.joystick-arrows{color:rgb(var(--paper) / .6);pointer-events:none;place-items:center;font-size:105px;line-height:1;display:grid;position:absolute;inset:0}.joystick-thumb{background:rgb(var(--cream) / .93);border:2px solid rgb(var(--paper));width:48px;height:48px;box-shadow:0 3px 8px rgb(var(--ink) / .25);pointer-events:none;border-radius:50%;position:absolute;top:38px;left:38px}.joystick-label{text-align:center;width:100%;font:700 11px var(--sans);color:rgb(var(--paper));text-shadow:0 1px 3px rgb(var(--ink));pointer-events:none;position:absolute;bottom:-22px}@media (max-width:700px),(any-pointer:coarse){.interact{top:max(150px, calc(env(safe-area-inset-top) + 135px));bottom:auto}.mobile-controls{left:max(18px, env(safe-area-inset-left));right:max(18px, env(safe-area-inset-right));bottom:max(88px, calc(env(safe-area-inset-bottom) + 70px));pointer-events:none;z-index:30;justify-content:space-between;align-items:flex-end;display:flex;position:fixed}.action-buttons{gap:10px}}@media (max-height:550px) and (any-pointer:coarse){.interact{top:max(76px, calc(env(safe-area-inset-top) + 60px))}.mobile-controls{bottom:max(52px, calc(env(safe-area-inset-bottom) + 35px))}.joystick{transform-origin:0 100%;scale:.8}}.keyboard-help{animation:.4s 8s forwards hint-leave}@keyframes hint-leave{to{opacity:0;visibility:hidden}}.discovery-guide{flex:1;min-width:0}.discovery-read{border:1px solid rgb(var(--sage));color:var(--muted);background:0 0;border-radius:999px;flex-shrink:0;padding:4px 8px;font-size:9px}.discovery-read:hover{background:rgb(var(--mist))}.stamp.kept-evening{box-shadow:0 0 0 2px rgb(var(--peach))}.stamp.kept-night{box-shadow:0 0 0 4px rgb(var(--twilight) / .7)}.stamp.kept-evening.kept-night{box-shadow:0 0 0 2px rgb(var(--peach)), 0 0 0 4px rgb(var(--twilight) / .7)}.memory-time{letter-spacing:.08em;color:var(--muted);margin-bottom:4px;font-size:9px;display:block}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
.map-route{stroke:rgb(var(--honey));stroke-width:2px;stroke-dasharray:3 3}.map-landmark circle{fill:rgb(var(--paper));stroke:rgb(var(--fern))}.map-landmark-icon,.map-landmark.is-collected circle{fill:rgb(var(--forest))}.map-landmark.is-collected .map-landmark-icon{fill:rgb(var(--cream))}.map-landmark-label{fill:rgb(var(--cream));stroke:rgb(var(--ink));stroke-width:2px}.map-exit{fill:rgb(var(--leaf))}.map-player-halo{fill:rgb(var(--sun) / .4)}.map-player{fill:rgb(var(--sun));stroke:rgb(var(--cream));stroke-width:2px}.weather-indicator{width:36px;height:36px;color:rgb(var(--ochre));place-items:center;display:grid}.weather-indicator svg{width:22px;height:22px}.home-guide{text-align:left;background:rgb(var(--honey) / .65);border:1px solid var(--line);border-radius:12px;align-items:center;gap:16px;width:100%;margin:16px 0;padding:16px 20px;display:flex}.home-guide span{flex:1}.home-guide strong,.home-guide small{display:block}.home-guide small{color:var(--muted);margin-top:4px}.sleep-transition{z-index:100;background:rgb(var(--deep));color:rgb(var(--cream));flex-direction:column;justify-content:center;align-items:center;gap:16px;animation:4.5s ease-in-out both sleep-fade;display:flex;position:fixed;inset:0}.sleep-transition span{font:28px var(--serif);letter-spacing:.2em}.sleep-transition small{color:rgb(var(--mist))}@keyframes sleep-fade{0%,42%,87%,to{opacity:0}58%,72%{opacity:1}}
.wardrobe-dialog{width:min(780px,100vw - 32px)}.wardrobe-body{grid-template-columns:210px 1fr;align-items:center;gap:28px;display:grid}.character-preview{aspect-ratio:3/4;background-position:0 0;background-repeat:no-repeat;background-size:800% 400%;flex-shrink:0;width:90px;display:block}.wardrobe-mirror{border:1px solid rgb(var(--sage) / .25);background:linear-gradient(160deg, rgb(var(--cream)), rgb(var(--sage) / .14));border-radius:120px 120px 24px 24px;flex-direction:column;justify-content:center;align-items:center;min-height:330px;display:flex}.wardrobe-mirror .character-preview{width:180px}.wardrobe-mirror>span:last-child{font:15px var(--serif);color:var(--muted);letter-spacing:.15em;margin:10px 0 24px}.wardrobe-choices{gap:22px;display:grid}.wardrobe-choices fieldset{border:0;min-width:0;margin:0;padding:0}.wardrobe-choices legend{font:18px var(--serif);margin-bottom:10px}.wardrobe-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.wardrobe-options button{border:1px solid rgb(var(--sage) / .25);background:rgb(var(--cream) / .5);color:inherit;border-radius:14px;flex-direction:column;align-items:center;padding:10px 6px 14px;display:flex}.wardrobe-options button[aria-pressed=true]{background:rgb(var(--sage) / .13);border-color:currentColor;box-shadow:inset 0 0 0 1px}.wardrobe-options button:focus-visible{outline-offset:3px;outline:2px solid}.wardrobe-options strong{font:15px var(--serif)}.wardrobe-options small{color:var(--muted);margin-top:5px;font-size:10px}.wardrobe-status{min-height:1.5em;color:var(--muted);text-align:center;margin:22px 0 12px;font-size:12px}.wardrobe-done{border:1px solid rgb(var(--sage) / .4);background:rgb(var(--cream));color:inherit;font:16px var(--serif);border-radius:99px;justify-content:center;align-items:center;gap:12px;margin:auto;padding:12px 22px;display:flex}.wardrobe-done svg{width:20px;height:20px}@media (max-width:600px){.wardrobe-body{grid-template-columns:1fr;gap:12px}.wardrobe-mirror{border-radius:18px;flex-direction:row;gap:20px;min-height:0;padding:4px 14px}.wardrobe-mirror .character-preview{width:84px}.wardrobe-mirror>span:last-child{margin:0}.wardrobe-choices{gap:14px}.wardrobe-options .character-preview{width:62px}.wardrobe-options small{font-size:9px}.wardrobe-options button{padding:5px 4px 10px}.wardrobe-status{margin-top:14px}}@media (prefers-reduced-motion:reduce){.sleep-transition{animation-timing-function:step-end}}
.pier-fishing-hud{z-index:17;border:1px solid var(--line);background:rgb(var(--paper) / .94);width:min(22rem,100vw - 2rem);box-shadow:0 8px 32px rgb(var(--deep) / .14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:1.2rem;padding:1rem 1.2rem;position:absolute;bottom:1.5rem;right:1rem}.pier-fishing-heading{justify-content:space-between;align-items:center;gap:1rem;font-size:.85rem;display:flex}.pier-fishing-heading button{padding:.4rem;font-size:.75rem}.pier-fishing-hud>p{min-height:2.5em;margin:.7rem 0;font-size:.9rem}.pier-fishing-hud>small,.fishing-fight small{color:rgb(var(--moss));margin-top:.5rem;font-size:.72rem;display:block}.pier-fishing-hud .continue-button{width:100%;margin-top:.3rem}.pier-fishing-hud .continue-button:disabled{opacity:.6;cursor:wait}.pier-bite-message{color:rgb(var(--rust));font-weight:700}.pier-journal{max-height:18dvh;margin-top:.6rem;font-size:.75rem;overflow-y:auto}.pier-journal summary{cursor:pointer;padding:.25rem 0}.fishing-entry{border-bottom:1px solid var(--line);justify-content:space-between;gap:.5rem;padding:.5rem 0;display:flex}.fishing-hook-result{color:rgb(var(--forest));font-size:.85rem}.fishing-fight label{grid-template-columns:4.5rem 1fr;align-items:center;gap:.3rem;margin:.5rem 0;font-size:.75rem;display:grid}.fishing-fight label span{color:rgb(var(--moss));grid-column:2;font-size:.65rem}.fishing-fight meter,.fishing-fight progress{width:100%;height:.8rem;accent-color:rgb(var(--fern))}.fishing-reel{touch-action:none;-webkit-user-select:none;user-select:none}.fishing-reel:active{background:rgb(var(--lichen));transform:translateY(2px)}.fishing-fight.is-danger .fishing-hook-result{color:rgb(var(--rust))}.walk.is-fishing .bottom-bar,.walk.is-fishing .scene-caption{visibility:hidden}@media (max-width:600px){.pier-fishing-hud{bottom:max(.6rem, env(safe-area-inset-bottom));width:calc(100vw - 1.2rem);padding:.7rem 1rem;right:.6rem}.pier-fishing-hud>p{min-height:0;margin:.4rem 0}.pier-fishing-hud .fishing-fight label{margin:.25rem 0}}.catch-result{background:rgb(var(--lichen) / .6);border-radius:.8rem;align-items:center;gap:.8rem;margin-top:.8rem;padding:.7rem;animation:.45s ease-out both catch-result-arrive;display:flex}.catch-result.is-legendary{border:1px solid rgb(var(--rust) / .45);background:rgb(var(--paper))}.catch-result-symbol{font-size:2.2rem}.catch-result strong,.catch-result small{display:block}.catch-result strong{font:700 1.1rem var(--serif);margin:.2rem 0}.catch-result strong span{font-size:.85rem}.catch-result small{color:rgb(var(--moss));font-size:.7rem}.catch-result.is-legendary small:first-child{color:rgb(var(--rust));font-weight:700}@keyframes catch-result-arrive{0%{opacity:0;transform:translateY(.5rem)scale(.96)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.catch-result{animation:none}}
.companion-choices{background:rgb(var(--lichen) / .45);border-radius:.7rem;margin-block:.6rem;padding:.65rem}.companion-choices small{font-size:.72rem;display:block}.companion-choices p:empty{display:none}.companion-choices p{font-size:.8rem}.companion-buttons{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.companion-buttons button,.companion-panel .fishing-entry button{border:1px solid rgb(var(--moss) / .25);background:rgb(var(--paper));min-height:2.5rem;color:rgb(var(--ink));font:inherit;cursor:pointer;border-radius:.5rem;padding:.4rem .6rem;font-size:.75rem}.companion-buttons button:disabled,.companion-panel button:disabled{opacity:.45;cursor:default}.companion-fish-list{max-height:12rem;overflow-y:auto}.companion-panel .fishing-entry{gap:.6rem}.companion-panel .fishing-entry span{font-size:.8rem}.companion-panel .pier-journal{max-height:14rem;overflow-y:auto}.pier-fishing-hud{max-height:calc(100dvh - 6rem);overflow-y:auto}.companion-buttons button:focus-visible,.companion-panel button:focus-visible{outline:2px solid rgb(var(--moss));outline-offset:3px}
.music-launcher,.music-player{z-index:16;color:rgb(var(--ink));background:rgb(var(--paper) / .96);border:1px solid var(--line);box-shadow:0 6px 24px rgb(var(--deep) / .12);border-radius:1rem;position:fixed;top:5.5rem;right:1rem}.music-launcher{cursor:pointer;align-items:center;gap:.6rem;padding:.65rem .85rem;font-size:.8rem;display:flex}.music-launcher small{color:rgb(var(--moss));font-size:.65rem}.music-player{width:min(21rem,100vw - 2rem)}.music-player:not(.is-expanded){width:min(16rem,100vw - 2rem)}.music-mini{align-items:center;gap:.5rem;padding:.65rem;display:flex}.music-screen{text-align:left;border-radius:.5rem;flex:1;align-items:center;gap:.65rem;min-width:0;padding:.25rem;display:flex}.music-screen>span:last-child{min-width:0}.music-screen strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;display:block;overflow:hidden}.music-screen small{letter-spacing:.04em;color:rgb(var(--moss));font-size:.58rem}.music-note{color:rgb(var(--moss));font-size:1.5rem}.music-note.is-playing{animation:1.4s ease-in-out infinite alternate music-sway}.music-play{background:rgb(var(--lichen));border-radius:50%;flex-shrink:0;width:2.5rem;height:2.5rem}.music-player button{cursor:pointer}.music-player button:disabled{opacity:.4;cursor:default}.music-player button:focus-visible,.music-player input:focus-visible,.music-launcher:focus-visible,.music-player summary:focus-visible{outline:2px solid rgb(var(--moss));outline-offset:2px}.music-controls{max-height:calc(100dvh - 11rem);padding:0 .9rem .8rem;overflow-y:auto}.music-controls[hidden]{display:none}.music-status{margin:.3rem 0 .7rem;font-size:.72rem;line-height:1.5}.music-transport{justify-content:space-around;align-items:center;display:flex}.music-transport button{min-width:2.75rem;min-height:2.75rem}.music-transport span{color:rgb(var(--moss));font-size:.7rem}.music-range{grid-template-columns:4rem 1fr 4.5rem;align-items:center;gap:.4rem;margin-block:.5rem;font-size:.67rem;display:grid}.music-range input{width:100%;min-width:0;accent-color:rgb(var(--moss));min-height:1.7rem}.music-range span{text-align:right;font-variant-numeric:tabular-nums}.music-hint{color:rgb(var(--moss));font-size:.66rem;line-height:1.6}.music-controls details{border-top:1px solid var(--line);padding-block:.65rem;font-size:.72rem}.music-controls summary{cursor:pointer}.music-track-list ol{max-height:12rem;margin:.5rem 0 0;padding:0;list-style:none;overflow-y:auto}.music-track-list button{text-align:left;border-radius:.4rem;justify-content:space-between;align-items:center;gap:.5rem;width:100%;min-height:2.75rem;padding:.45rem;display:flex}.music-track-list button[aria-current]{background:rgb(var(--lichen));font-weight:700}.music-track-list small{color:rgb(var(--moss));flex-shrink:0}.music-source label{gap:.4rem;margin-top:.75rem;display:grid}.music-source input{border:1px solid var(--line);border-radius:.4rem;width:100%;min-width:0;padding:.6rem;font-size:.75rem}.music-text-button{margin-right:.7rem;padding:.65rem 0;font-size:.72rem;text-decoration:underline}.music-native iframe{border:0;border-radius:.5rem;margin-top:.65rem;display:block}.music-footer{color:rgb(var(--moss));justify-content:space-between;align-items:center;gap:.5rem;font-size:.65rem;display:flex}.music-footer button{min-height:2.5rem}@keyframes music-sway{0%{transform:rotate(-8deg)}to{transform:rotate(8deg)}}@media (prefers-reduced-motion:reduce){.music-note.is-playing{animation:none}}@media (max-width:700px){.music-launcher,.music-player{top:4.75rem;right:.85rem}.music-launcher{padding:.5rem .65rem}.music-launcher small{display:none}.music-player:not(.is-expanded){width:12.5rem}}
.aquarium-panel{background:linear-gradient(145deg,#faf4e5f5,#e9eeddf5);border:1px solid #b6c5ac;width:min(36rem,100vw - 2rem);box-shadow:0 16px 60px #263d3650}.aquarium-gallery{margin:0 -.4rem .7rem}.aquarium-art{aspect-ratio:3/2;isolation:isolate;background-repeat:no-repeat;background-size:contain;position:relative}.aquarium-swimmer{cursor:pointer;filter:drop-shadow(0 3px 3px #1f58532a);background:0 0;border:0;width:10%;padding:0;position:absolute;top:34%;left:50%}.aquarium-swimmer img{width:100%;height:auto;display:block}.aquarium-swimmer:hover{filter:drop-shadow(0 0 4px #fff4bb)}.aquarium-caption{text-align:center;color:#45665b;min-height:1.5em;font-size:.8rem}.aquarium-glimmer{pointer-events:none;background:linear-gradient(110deg,#0000 20%,#fffde512 24%,#0000 28% 65%,#fffde51a 68%,#0000 71%);width:74%;height:29%;position:absolute;top:22%;left:12%}.aquarium-feed{color:#92663b;letter-spacing:.2rem;pointer-events:none;animation:3s ease-out forwards aquarium-feed-fall;position:absolute;top:23%;left:42%}@keyframes aquarium-feed-fall{0%{opacity:1;transform:translateY(-8px)}to{opacity:0;transform:translateY(35px)}}.aquarium-panel .companion-fish-list{border-top:1px solid #b6c5ac70;max-height:9rem;padding:.6rem 0}.aquarium-panel summary{cursor:pointer;font-size:.85rem}@media (max-height:650px){.aquarium-gallery{max-width:25rem;margin-inline:auto}}@media (prefers-reduced-motion:reduce){.aquarium-feed{animation:none}}.aquarium-swimmer[aria-pressed=true]{filter:drop-shadow(0 0 4px #fff4bb)}@media (min-width:900px){:is(body:has(.companion-panel) .music-player,body:has(.companion-panel) .music-launcher){left:1rem;right:auto}}

