:root{font-family:DM Sans,sans-serif;color:#675653;background:#fffcf6;font-synthesis:none;font-weight:400;--pink: #dc7f97;--ink: #675653;--cream: #fffcf6;--muted: #aaa096}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #b095c7;outline-offset:5px}button{color:inherit}a{color:inherit;text-decoration:none}.hidden{display:none!important}.icon{width:22px;height:22px;flex-shrink:0}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 38px;border-bottom:1px solid #ebe7dd;background:#fffcf7;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:12px;font-family:Fredoka,sans-serif;font-weight:500;font-size:32px;letter-spacing:-1.25px;line-height:1}.brand b{font-weight:500;color:#d68097}.brand sup{font-size:18px;color:#dba985;position:relative;top:-8px;left:3px}.brand-flower{color:#edb6bb;font-size:51px;position:relative;font-family:serif;line-height:1}.brand-flower span{position:absolute;left:17px;top:19px;font-family:sans-serif;font-size:18px;color:#fff7e9}.header-note{font-size:16px;letter-spacing:.35px;color:#a39789;display:flex;align-items:center;gap:8px;position:absolute;left:50%;transform:translate(-50%)}.status-dot{width:6px;height:6px;background:#a9b993;border-radius:50%}.top-actions{display:flex;align-items:center;gap:9px}.made-with{font-size:15px;color:#a79b90;margin-right:16px}.icon-button{width:36px;height:36px;border:1px solid #e9e1d6;border-radius:50%;background:transparent;display:inline-flex;align-items:center;justify-content:center;transition:background .18s,transform .18s}.icon-button .icon{width:18px;height:18px}.icon-button:hover{background:#f4ede4;transform:translateY(-1px)}.game-shell{height:calc(100dvh - 163px);min-height:360px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 70%,#e7f0dc 0,#ecf2e5 42%,#eff4eb 65%,#f2f4ed)}#scene{position:absolute;inset:0}#scene canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}#scene canvas.dragging{cursor:grabbing}.soft-vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 -40px 70px -45px #c1cfb23d;background:linear-gradient(90deg,#f1f4eccc 0,transparent 42%)}.playing .soft-vignette{background:none}.level-label{position:absolute;top:29px;left:38px;display:flex;align-items:center;gap:11px;pointer-events:none}.level-symbol{width:38px;height:38px;border:1px solid #cbd6bd;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#8b9e79}.level-symbol .icon{width:21px;height:21px}.level-label>div{display:flex;flex-direction:column;gap:4px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:#aa9e8e;display:block}.level-name{font-size:18px;font-weight:600;letter-spacing:.15px}.level-divider{height:23px;width:1px;background:#d4dbca;margin:0 5px}.level-weather{font-size:14px;color:#9caa8e;letter-spacing:.1px}.level-weather span{font-size:20px;color:#c5b489;margin-left:7px}.heart-counter{position:absolute;right:37px;top:27px;display:flex;gap:12px;align-items:center;padding:13px 18px 12px;border:1px solid #fffdf8d9;border-radius:16px;background:#fffdf5c9;box-shadow:0 4px 18px #8d96740a;min-width:183px;flex-wrap:wrap;max-width:215px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.counter-heart{width:34px;height:34px;border-radius:50%;background:#fce9e7;display:flex;align-items:center;justify-content:center;color:#d9889d}.counter-heart .icon{width:19px;height:19px;fill:#dc8ca0;stroke:#dc8ca0}.count{font-family:Fredoka,sans-serif;font-size:26px;font-weight:400;display:block;line-height:1}.count b{font-weight:500;color:#8a746a;display:inline-block}.count>span{color:#bbae9d;font-size:19px}.counter-label{font-size:12px;color:#b09e8d;letter-spacing:.25px;display:block;margin-top:5px}.progress-dots{display:flex;gap:4px;width:100%;justify-content:center;margin-top:1px}.progress-dots i{width:10px;height:3px;border-radius:4px;background:#e9e5d8;transition:background .3s}.progress-dots i.filled{background:#df91a3}.intro{position:absolute;top:24%;left:6.3%;width:460px;transition:opacity .5s,transform .7s;pointer-events:none}.intro>*{pointer-events:auto}.chapter-label{font-size:12px;font-weight:600;letter-spacing:2px;color:#9aa386;display:flex;align-items:center;gap:8px}.chapter-label>span{width:17px;height:1px;background:#aeb79b}.intro h1{font-family:Fredoka,sans-serif;font-size:clamp(42px,4.2vw,66px);font-weight:500;letter-spacing:-1.8px;line-height:1.12;margin:23px 0 20px;position:relative;color:#696151}.intro h1>span{color:#d48c97}.title-swish{position:absolute;width:87%;bottom:-7px;left:6px}.intro p{font-size:18px;color:#92957e;line-height:1.9;margin:26px 0 25px}.primary-button{border:1px solid #d77b94;border-radius:12px;background:#db849a;color:#fffcf6;min-height:51px;padding:0 23px;display:flex;align-items:center;justify-content:center;gap:32px;font-size:18px;font-weight:600;box-shadow:0 5px #c9768b26;transition:background .2s,transform .2s,box-shadow .2s}.primary-button .icon{width:20px;height:20px}.primary-button:hover{background:#ce748d;transform:translateY(-2px);box-shadow:0 7px #c9768b20}.primary-button:active{transform:translateY(1px);box-shadow:none}.intro .primary-button{width:179px;justify-content:space-between}.intro-footnote{display:block;margin-top:17px;font-size:12px;letter-spacing:.25px;color:#a6aa92}.intro.dismissed{opacity:0;transform:translate(-35px);pointer-events:none}.intro.dismissed>*{pointer-events:none}.world-caption{position:absolute;bottom:32px;left:6.3%;display:flex;align-items:center;gap:10px;font-size:14px;line-height:1.65;color:#9ca28d;letter-spacing:.1px}.caption-spark{font-size:33px;color:#cbbd91;line-height:1}.world-caption b{font-weight:400;color:#8c967d}.minimap{position:absolute;right:37px;bottom:28px;width:168px;border:1px solid #fffaf1c9;border-radius:15px;padding:12px 10px 9px;background:#fffdf2aa;box-shadow:0 5px 25px #7e906d0a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.map-heading{font-size:12px;font-weight:600;letter-spacing:1.2px;display:flex;justify-content:space-between;color:#a49c8b;padding:0 2px}.map-heading>span+span{font-size:12px;letter-spacing:0;color:#a5ad92}.minimap canvas{width:100%;height:auto;display:block;margin:4px 0}.map-caption{display:flex;align-items:center;justify-content:center;gap:4px;font-size:12px;color:#a8a58e;white-space:nowrap}.map-caption i{width:4px;height:4px;background:#8b9c72;border:1px solid white;border-radius:50%;box-sizing:content-box}.map-caption>span{color:#d4869c;margin-left:6px;font-size:12px}.bottom-bar{height:75px;background:#fffcf7;border-top:1px solid #e8e4d9;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 37px}.controls{display:flex;gap:27px;align-items:center}.control-group{display:flex;align-items:center;gap:9px;font-size:14px;color:#968c7e}.control-group>span:not(.wasd):not(.mouse-icon){display:flex;flex-direction:column;gap:3px}.control-group small{font-size:12px;color:#b8ad9e}kbd{border:1px solid #e4ded2;border-bottom-width:2px;border-radius:4px;min-width:17px;height:18px;display:inline-flex;align-items:center;justify-content:center;font-family:DM Sans,sans-serif;font-size:12px;font-weight:500;color:#ac9e8b;background:#fffcf6;padding:0 3px}.wasd{display:flex;flex-direction:column;align-items:center;gap:2px}.wasd>span{display:flex;gap:2px}.wide-key{min-width:43px;height:24px;font-size:12px}.mouse-icon{width:16px;height:24px;border:1px solid #c6bcab;border-radius:7px;position:relative;margin:0 3px}.mouse-icon:before{content:"";position:absolute;height:6px;border-left:1px solid #b3a891;left:6px;top:4px}.footer-love{font-size:14px;color:#b0a492;letter-spacing:.15px;margin-left:auto}.footer-love>span{margin-left:6px;font-size:20px;color:#d29b9e;vertical-align:-1px}.bottom-bar>.icon-button{margin-left:12px;width:29px;height:29px;border:none;color:#b3a792}.bottom-bar>.icon-button .icon{width:16px;height:16px}.objective{position:absolute;left:34px;bottom:30px;background:#fffaf2df;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #ffffffb3;border-radius:14px;padding:16px 19px;display:flex;align-items:center;gap:13px;box-shadow:0 4px 20px #79915d0a}.objective-icon{width:35px;height:35px;border-radius:50%;background:#f5e6d9;color:#c29b79;display:flex;align-items:center;justify-content:center}.objective-icon .icon{width:18px;height:18px}.objective>div{display:flex;flex-direction:column;gap:5px}.objective b{font-family:Fredoka,sans-serif;font-size:20px;font-weight:500;color:#847564}.objective div>span{font-size:14px;color:#a59885}.camera-hint{position:absolute;bottom:33px;left:50%;transform:translate(-50%);font-size:12px;color:#859275;text-shadow:0 1px 3px #ffffff91;pointer-events:none;white-space:nowrap}.camera-hint span{padding:0 8px}.toast{position:absolute;top:104px;left:50%;transform:translate(-50%,-12px);background:#fffbf0ed;border:1px solid #fffdf6;color:#a17e77;padding:12px 22px;border-radius:30px;font-size:15px;box-shadow:0 5px 25px #717f5710;opacity:0;transition:opacity .25s,transform .3s;pointer-events:none;text-align:center;max-width:calc(100% - 40px);white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.toast>span{color:#d6b172;margin-right:6px}.toast.visible{opacity:1;transform:translate(-50%)}.interaction{position:absolute;bottom:125px;left:50%;transform:translate(-50%);background:#fffbefef;border:1px solid white;border-radius:12px;padding:12px 18px;font-size:15px;color:#af898d;display:flex;align-items:center;gap:10px;white-space:nowrap}.interaction .icon{width:15px;height:15px}.interaction b{font-weight:600}.loading{position:absolute;inset:0;background:#f0f3e8;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;color:#a99587;font-size:16px;letter-spacing:.3px;transition:opacity .5s;z-index:20}.loading-flower{font-size:65px;color:#dc99aa;animation:turn 5s linear infinite}.loading.finished{opacity:0;pointer-events:none}.modal-backdrop{position:fixed;inset:0;z-index:50;background:#6c755b3d;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;padding:20px}.modal{width:440px;max-height:calc(100dvh - 40px);overflow-y:auto;background:#fffbf3;border:1px solid white;border-radius:25px;box-shadow:0 20px 90px #69765122;padding:33px 35px 27px;text-align:center;position:relative;animation:modal-in .3s ease-out}.modal-emblem{width:65px;height:65px;margin:0 auto 20px;border:1px solid #eedacb;background:#f8ece1;border-radius:22px;color:#ca9b82;display:flex;align-items:center;justify-content:center;font-size:35px;transform:rotate(-6deg)}.modal-emblem .icon{width:28px;height:28px}.modal .eyebrow{font-size:12px;letter-spacing:2px}.modal h2{font-family:Fredoka,sans-serif;font-size:35px;font-weight:500;color:#847060;letter-spacing:-.6px;margin:12px 0}.modal p{font-size:16px;line-height:1.8;color:#a49685;margin:0 0 24px}.modal .primary-button{width:100%;margin-top:8px;gap:17px}.secondary-button{border:1px solid #e5dacb;border-radius:11px;min-height:46px;background:transparent;width:100%;display:flex;align-items:center;justify-content:center;gap:14px;font-size:16px;margin-top:11px}.secondary-button .icon{width:17px;height:17px}.text-button{border:none;background:transparent;color:#ac9a86;font-size:14px;display:inline-flex;align-items:center;gap:8px;justify-content:center;margin-top:21px;padding:5px}.text-button .icon{width:13px;height:13px}.text-button:hover{color:#d07d94}.modal-close{position:absolute;top:16px;right:16px;border:none}.help-controls{display:grid;grid-template-columns:auto 1fr;gap:13px 12px;align-items:center;text-align:left;margin:23px 0}.help-controls>span{font-size:12px;color:#b4a390;white-space:nowrap}.help-controls kbd{font-size:12px;height:23px;min-width:25px;padding:0 6px}.help-controls b{font-size:14px;color:#9d8c79;font-weight:400}.modal .help-note{font-size:12px;color:#afa18d;margin:22px 0;line-height:1.85}.win-heart{background:#f8e2e5;border-color:#f4d4dc;color:#dc829e}.win-heart .icon{fill:#dfa0b2;stroke:#d78ea5;width:34px;height:34px}.win-stats{display:flex;justify-content:center;gap:24px;margin:29px 0}.win-stats>span{display:flex;flex-direction:column;gap:7px;color:#b0a089;font-size:12px}.win-stats b{font-family:Fredoka,sans-serif;font-size:20px;font-weight:500;color:#c29590}.win-stats>span:last-child b{color:#d5b47c}.touch-controls{display:none}.pop{animation:pop .35s ease-out}@keyframes pop{50%{transform:scale(1.3);color:#d77e9b}}@keyframes turn{to{transform:rotate(360deg)}}@keyframes modal-in{0%{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:none}}@media(min-width:1600px){.intro{left:7.8%;top:27%;width:450px}.intro h1{font-size:72px}.intro p{font-size:18px}.world-caption{left:7.8%;bottom:40px}.minimap{width:180px;right:45px;bottom:34px}.intro .primary-button{width:194px;height:55px}.heart-counter{right:45px}.level-label{left:45px}}@media(max-height:760px)and (min-width:761px){.intro{top:25%}.intro h1{font-size:49px;margin:18px 0}.intro p{font-size:16px;margin:20px 0}.intro-footnote{margin-top:12px}.world-caption{bottom:22px}.minimap{bottom:21px;width:148px}.intro .primary-button{min-height:46px}.game-shell{min-height:350px}.chapter-label{font-size:12px}.modal{padding-top:22px;padding-bottom:20px}.modal-emblem{height:49px;width:49px;margin-bottom:12px}.help-controls{gap:10px 12px}.modal h2{font-size:30px}}@media(max-width:1100px){.header-note,.level-weather,.level-divider{display:none}.intro{left:5%;width:330px}.intro h1{font-size:51px}.controls{gap:19px}.camera-hint{display:none}.footer-love{font-size:12px}.made-with{font-size:14px}.world-caption{left:5%}.heart-counter,.minimap{right:26px}.objective{left:26px}.topbar,.bottom-bar{padding-left:26px;padding-right:26px}.level-label{left:26px}}@media(max-width:760px){.topbar{height:69px;padding:0 20px}.brand{font-size:27px;gap:8px}.brand-flower{font-size:41px}.brand-flower span{left:13px;top:15px;font-size:18px}.brand sup{font-size:16px}.made-with{display:none}.top-actions{gap:7px}.icon-button{width:31px;height:31px}.game-shell{height:calc(100dvh - 123px);min-height:350px}.level-label{top:20px;left:20px;gap:9px}.level-symbol{height:31px;width:31px;border-radius:9px}.level-symbol .icon{width:17px;height:17px}.eyebrow{font-size:12px;letter-spacing:1.5px}.level-name{font-size:14px}.heart-counter{top:18px;right:18px;padding:10px 12px;min-width:122px;max-width:140px;gap:8px;border-radius:12px}.counter-heart{height:26px;width:26px}.counter-heart .icon{width:15px;height:15px}.count{font-size:22px}.count>span{font-size:20px}.counter-label{font-size:12px}.progress-dots{gap:3px}.progress-dots i{width:6px;height:2px}.intro{left:25px;top:auto;bottom:64px;width:270px}.intro h1{font-size:42px;margin:14px 0 16px;letter-spacing:-1.2px}.chapter-label{font-size:12px;letter-spacing:1.4px}.intro p{font-size:14px;margin:17px 0 18px;line-height:1.7}.intro .primary-button{min-height:44px;width:149px;font-size:16px;padding:0 17px}.intro-footnote{font-size:12px;margin-top:13px}.title-swish{width:88%;bottom:-5px}.soft-vignette{background:linear-gradient(0deg,#f1f4ecef 0,#f1f4ecaa 25%,transparent 62%)}.world-caption{left:25px;bottom:19px;font-size:12px;gap:8px}.caption-spark{font-size:25px}.minimap{width:113px;right:18px;bottom:22px;padding:9px 6px 7px;border-radius:11px}.map-heading{font-size:12px;letter-spacing:.7px}.map-heading>span+span{font-size:12px}.map-caption{font-size:12px;gap:2px}.map-caption>span{font-size:12px;margin-left:3px}.bottom-bar{height:54px;padding:0 19px}.controls{gap:16px}.control-group{font-size:12px;gap:6px}.control-group small{display:none}kbd{height:14px;min-width:13px;font-size:12px}.wide-key{height:20px;min-width:33px;font-size:12px}.wasd{gap:1px}.wasd>span{gap:1px}.footer-love,.camera-control{display:none}.bottom-bar>.icon-button{margin-left:auto}.objective{bottom:24px;left:18px;padding:11px 12px;gap:9px;max-width:calc(100% - 156px);border-radius:11px}.objective-icon{width:27px;height:27px;flex-shrink:0}.objective-icon .icon{height:14px;width:14px}.objective b{font-size:18px}.objective div>span{font-size:12px;line-height:1.5}.toast{top:94px;font-size:14px;white-space:normal;max-width:calc(100% - 36px);width:max-content;padding:11px 17px}.interaction{font-size:12px;gap:7px;bottom:180px;white-space:normal;width:280px;flex-wrap:wrap;justify-content:center}.interaction b{font-size:12px}.modal{padding:26px 24px 23px;max-width:410px}.modal h2{font-size:31px}.modal p{font-size:15px}.help-controls{gap:11px 10px}.help-controls b,.help-controls kbd{font-size:12px}.help-controls>span{font-size:12px}.win-stats{gap:21px}}@media(pointer:coarse){.playing .touch-controls{display:flex;position:absolute;left:24px;right:24px;bottom:150px;justify-content:space-between;align-items:center;pointer-events:none}.joystick{width:104px;height:104px;background:#fffcf144;border:1px solid #ffffffe3;border-radius:50%;display:flex;align-items:center;justify-content:center;pointer-events:auto;touch-action:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.joystick-knob{width:43px;height:43px;border-radius:50%;background:#fffcf3b3;border:1px solid white;box-shadow:0 3px 12px #7a866921;pointer-events:none}.touch-actions{display:flex;gap:13px;align-items:flex-end;pointer-events:auto}.touch-actions button{border:1px solid #fff9eee3;background:#fffbf28a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:50%;color:#998272;touch-action:none;box-shadow:0 3px 12px #7a86690a}.touch-actions #touch-run{height:43px;width:43px;font-size:12px;letter-spacing:.5px}.touch-actions #touch-run.active{background:#edb0c1}.touch-actions #touch-jump{height:68px;width:68px;background:#dfa0b4d9;color:#fff;display:flex;flex-direction:column;gap:1px;align-items:center;justify-content:center;font-size:27px}.touch-actions #touch-jump span{font-size:12px;letter-spacing:.8px}.camera-control{display:none}.bottom-bar .controls:after{content:"Drag the world to look around";font-size:12px;color:#ad9f8c}.bottom-bar .control-group{display:none}}@media(max-height:540px)and (orientation:landscape){.topbar{height:55px}.game-shell{height:calc(100dvh - 101px);min-height:250px}.bottom-bar{height:46px}.intro{top:73px;bottom:auto;width:290px}.intro h1{font-size:35px;line-height:1.05;margin:12px 0}.intro p{font-size:12px;margin:16px 0}.intro-footnote,.world-caption{display:none}.intro .primary-button{min-height:38px;width:140px}.minimap{width:104px;bottom:16px}.level-label{top:16px}.heart-counter{top:12px}.objective{bottom:16px}.playing .touch-controls{bottom:65px}.joystick{height:78px;width:78px}.touch-actions #touch-jump{height:58px;width:58px}.modal{padding-top:18px}.modal-emblem{display:none}.help-controls{gap:8px}.modal .help-note{margin:12px 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.world-caption,.level-label,.heart-counter,.minimap,.objective{pointer-events:none}@media(max-height:760px)and (min-width:761px){.intro{width:375px;top:24%}.intro h1{font-size:43px;letter-spacing:-1.3px}.intro p{margin:17px 0;line-height:1.7}.intro-footnote{margin-top:12px}}@media(max-height:640px)and (min-width:761px){.world-caption{display:none}.intro{top:23%}}@media(pointer:coarse)and (max-height:540px)and (orientation:landscape){.playing .minimap{display:none}}.region-label{position:absolute;left:38px;top:84px;color:#94a084;font-size:14px;letter-spacing:.5px;pointer-events:none}.health-hud{position:absolute;right:37px;top:123px;display:flex;align-items:center;gap:10px;background:#fffaf0dc;border:1px solid #fffdf2;border-radius:20px;padding:8px 13px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:12px;color:#a18e83;pointer-events:none}#health-pips{display:flex;gap:5px;color:#d88ea2;font-size:18px}#health-pips .empty{color:#dcd6cb}.hud-divider{height:13px;width:1px;background:#e3d9cb}.castle-world .game-shell{background:radial-gradient(ellipse at 50% 70%,#f4e9f1,#e3ddec)}.level-transition{position:absolute;inset:0;z-index:40;background:#fbf2ed;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;transition:opacity .35s;color:#ad8b98;pointer-events:all}.level-transition>span{font-size:57px;color:#d9ad79;animation:turn 8s linear infinite}.level-transition small{letter-spacing:3px;font-size:14px}.level-transition h2{font-family:Fredoka,sans-serif;font-size:42px;font-weight:500;margin:0}.level-transition p{font-size:18px;color:#ac9b8d}.level-transition.leaving{opacity:0;pointer-events:none}@media(max-width:760px){.region-label{left:20px;top:66px;font-size:12px}.health-hud{right:18px;top:105px;padding:7px 10px;gap:8px;font-size:12px}#health-pips{font-size:16px;gap:4px}.toast{top:153px;z-index:3}.level-transition h2{font-size:31px}.intro p{font-size:14px}}:root{--muted: #817466}.header-note,.made-with,.eyebrow,.level-weather,.region-label,.counter-label,.intro p,.intro-footnote,.world-caption,.map-heading,.map-heading>span+span,.map-caption,.control-group,.control-group small,kbd,.footer-love,.objective div>span,.camera-hint,.modal p,.help-controls>span,.help-controls b,.modal .help-note,.win-stats>span,.text-button{color:#7b6d60}.level-name{font-size:18px}.level-label{background:#fffcf0dd;border-radius:14px;padding:10px 13px;top:20px}.region-label{top:96px;color:#667457;text-shadow:0 1px 3px #fff}.heart-counter{min-width:220px;max-width:245px;background:#fffcf4f2}.counter-label{font-size:13px;line-height:1.4;max-width:155px}.count{font-size:32px}.count>span{font-size:24px}.health-hud{top:146px;font-size:14px}#health-pips{font-size:19px}.intro p{font-size:18px;line-height:1.7}.intro .primary-button{width:240px;font-size:18px;min-height:54px}.primary-button,.secondary-button{font-size:18px}.intro-footnote{font-size:14px}.minimap{width:184px}.map-heading{letter-spacing:.8px}.map-caption{font-size:12px}.objective{max-width:420px}.objective b{font-size:21px}.objective div>span{font-size:16px;line-height:1.45}.toast{font-size:17px;top:194px;white-space:normal;width:max-content;max-width:min(680px,calc(100% - 36px));line-height:1.5;color:#775457}.interaction{font-size:17px;white-space:normal;width:max-content;max-width:calc(100% - 36px);pointer-events:none}.modal{width:510px}.modal p,.modal .help-note{font-size:16px;color:#79675a}.help-controls b{font-size:16px;line-height:1.45}.help-controls>span,.help-controls kbd{font-size:13px}.help-controls{grid-template-columns:minmax(130px,.9fr) 1.4fr}.help-controls>span{white-space:normal}.win-stats>span{font-size:14px}kbd{min-width:22px;height:23px}.wide-key{min-width:51px;height:28px}.world-message{position:absolute;left:30px;right:auto;bottom:24px;transform:none;width:min(430px,calc(46% - 30px));display:flex;align-items:flex-start;gap:15px;border:2px solid #edd1d6;border-radius:20px;padding:18px 23px;background:#fffaf6f7;box-shadow:0 8px 32px #79685f21;color:#654b56;pointer-events:none;z-index:4}.message-flower{font-size:35px;line-height:1.1;color:#d383a0}.world-message b{font-family:Fredoka,sans-serif;font-weight:500;font-size:23px}.world-message p{font-size:18px;line-height:1.5;margin:6px 0 0;color:#715f59}.has-world-message .objective,.has-world-message .camera-hint{visibility:hidden}@media(max-width:1100px){.has-world-message .minimap{visibility:hidden}.footer-love{display:none}}@media(max-width:760px){.topbar{padding:0 14px}.level-label{top:16px;left:14px;padding:8px 9px;gap:6px;max-width:calc(100% - 188px)}.level-symbol{display:none}.eyebrow{font-size:12px;letter-spacing:1px}.level-name{font-size:16px;line-height:1.25}.region-label{left:15px;top:94px;max-width:calc(100% - 188px);font-size:13px}.heart-counter{right:14px;top:16px;min-width:156px;max-width:164px;padding:11px 10px;gap:7px}.counter-label{font-size:12px;max-width:107px;letter-spacing:0}.count{font-size:28px}.count>span{font-size:20px}.counter-heart{width:24px;height:24px}.progress-dots{gap:4px}.health-hud{right:14px;top:136px;font-size:13px;gap:8px;padding:8px 10px}#health-pips{font-size:17px}.intro{width:calc(100% - 48px);left:24px;bottom:65px}.intro p{font-size:16px;line-height:1.6;margin:15px 0 20px}.intro .primary-button{width:220px;font-size:17px}.intro-footnote{font-size:13px}.chapter-label{font-size:12px;letter-spacing:1px}.world-caption{font-size:12px;max-width:calc(100% - 180px)}.minimap{width:132px;right:14px;bottom:20px}.map-heading{font-size:12px;letter-spacing:0}.map-caption{font-size:12px}.objective{left:14px;bottom:20px;max-width:calc(100% - 168px);padding:12px}.objective-icon{display:none}.objective b{font-size:18px;line-height:1.25}.objective div>span{font-size:14px}.toast{top:189px;font-size:16px;padding:12px 16px}.interaction{bottom:266px;font-size:16px}.interaction b{font-size:16px}.world-message{left:14px;bottom:16px;width:calc(100% - 28px);padding:14px 16px;gap:10px}.message-flower{font-size:27px}.world-message b{font-size:21px}.world-message p{font-size:16px;line-height:1.45}.modal{padding:24px 20px}.modal h2{font-size:32px}.help-controls{grid-template-columns:minmax(104px,.9fr) 1.3fr}.help-controls b{font-size:15px}.help-controls>span,.help-controls kbd{font-size:12px}.bottom-bar .controls:after{font-size:14px}}@media(max-height:650px)and (min-width:761px){.intro{top:19%}.intro p{font-size:16px;margin:12px 0}.intro h1{font-size:40px;margin:12px 0}.intro-footnote{display:none}.toast{top:180px;font-size:16px}}@media(max-height:540px)and (orientation:landscape){.intro{top:78px;width:350px}.intro h1{font-size:34px}.intro p{font-size:14px;line-height:1.4}.chapter-label,.intro-footnote,.world-caption,.playing .objective,.playing .minimap,.region-label{display:none}.health-hud{top:121px}.toast{top:157px;font-size:14px}.world-message{bottom:10px;width:min(450px,calc(100% - 250px));padding:10px 14px}.world-message b{font-size:18px}.world-message p{font-size:15px;margin-top:4px}.message-flower{display:none}}.health-hud{top:calc(var(--counter-bottom, 132px) + 12px)}.region-label{top:calc(var(--level-bottom, 86px) + 10px)}.toast{top:calc(var(--counter-bottom, 132px) + 72px)}@media(max-height:540px)and (orientation:landscape){.game-shell{min-height:0}.counter-label,.progress-dots{display:none}.heart-counter{padding:9px 12px;min-width:144px}}@media(pointer:coarse)and (max-width:760px){.playing .touch-controls,.playing.has-world-message .touch-controls{bottom:190px}}@media(pointer:coarse)and (max-width:760px)and (min-height:740px){.playing .touch-controls,.playing.has-world-message .touch-controls{bottom:210px}}@media(pointer:coarse)and (max-height:540px)and (orientation:landscape){.playing .touch-controls,.playing.has-world-message .touch-controls{bottom:25px}}@media(max-width:760px){body:not(.playing) .minimap{display:none}}.appearance-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.appearance-options .secondary-button{margin:0;min-height:62px;padding:12px}.appearance-options .selected{background:#f7e3ea;border:2px solid #cf7e9e}#appearance-button.texture-active{background:#f7e3ea;border-color:#d599b0;color:#b46187}@media(max-width:430px){.topbar{padding:0 12px;gap:8px}.brand{font-size:24px;gap:6px;letter-spacing:-1px}.brand-flower{font-size:34px}.brand-flower span{left:11px;top:12px;font-size:12px}.top-actions{gap:4px}.appearance-options{gap:9px}.appearance-options .secondary-button{font-size:16px}}.cellar-world .game-shell{background:radial-gradient(ellipse at 50% 70%,#665468,#292432)}.cellar-world .soft-vignette{background:radial-gradient(ellipse at 50% 52%,transparent 36%,rgba(27,20,35,.42) 100%)}.cellar-world .level-label,.cellar-world .heart-counter,.cellar-world .objective,.cellar-world .world-message,.cellar-world .minimap,.cellar-world .health-hud{box-shadow:0 8px 28px #19111d38}.acro-touch{display:none}.acrobatic .acro-touch{display:block;font-size:12px}.appearance-options [aria-pressed=true]{outline:2px solid #9b6489;background:#f7e6ef}@media(max-width:760px){.acrobatic .touch-actions{display:grid;grid-template-columns:repeat(2,58px);gap:7px;align-items:center}.acrobatic .touch-actions button{width:58px;height:48px;margin:0}}.intro .vault-shortcut{display:block;margin-top:10px;min-height:44px;font-size:17px;padding:8px 18px}.vault-shortcut-note{display:block;margin-top:6px;font-size:13px;line-height:1.4}.vault-world .counter-heart{color:#d5a12c;font-size:42px}.vault-world .progress-dots .filled{background:#ddb34b}.game-console{position:fixed;inset:0 0 auto;height:min(48vh,470px);z-index:100;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;color:#d8e8c7;background:linear-gradient(180deg,#121b19fa,#0c1212f5),radial-gradient(circle at 20% 10%,rgba(119,149,105,.18),transparent 42%);border-bottom:3px solid #8da474;box-shadow:0 16px 48px #080c0c9e;font:15px/1.45 DejaVu Sans Mono,Liberation Mono,ui-monospace,monospace;animation:console-drop .13s ease-out}.game-console.hidden{display:none}.console-scanlines{position:absolute;inset:0;pointer-events:none;opacity:.18;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(0,0,0,.32) 3px 4px)}.game-console header{position:relative;display:flex;justify-content:space-between;align-items:center;padding:10px 18px;color:#f2e8c7;background:#778b5e24;border-bottom:1px solid rgba(180,204,153,.22);letter-spacing:.055em}.game-console header b{font-size:14px;color:#d6e5a7}.game-console header span{font-size:11px;color:#91a590}.game-console kbd{padding:1px 5px;color:#d6e5a7;background:#00000052;border:1px solid #586a51;border-radius:2px;font:inherit}.console-output{position:relative;min-height:0;overflow:auto;padding:13px 18px 8px;scrollbar-color:#64785b #18211f}.console-line{min-height:1.45em;white-space:pre-wrap}.console-line.system{color:#d6e5a7}.console-line.heading{margin-top:5px;color:#f0d59e;font-weight:700}.console-line.command{color:#f6eed3}.console-line.map{color:#b8d5bf}.console-line.muted{color:#71877b}.console-line.error{color:#ef8d7d}.console-command{position:relative;display:grid;grid-template-columns:24px 1fr;align-items:center;padding:9px 18px 13px;color:#f0d59e;background:#00000038;border-top:1px solid rgba(180,204,153,.17);font-weight:700}.console-command input{width:100%;padding:0;color:#f7f1da;background:transparent;border:0;outline:0;caret-color:#d6e5a7;font:inherit;font-weight:600}.console-open .game-shell{filter:saturate(.72) brightness(.72)}@keyframes console-drop{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@media(max-width:760px){.game-console{height:58vh;font-size:13px}.game-console header span{display:none}.console-output,.console-command{padding-inline:12px}}@media(prefers-reduced-motion:reduce){.game-console{animation:none}}
