*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#a9dfe3;font-family:ui-rounded,'Arial Rounded MT Bold',Arial,sans-serif;color:#244b42}canvas{position:fixed;inset:0;width:100%;height:100%;touch-action:none;outline:none}button{font:700 13px inherit;cursor:pointer;border:0;color:#295345;background:#fffcef;border-radius:15px;padding:12px 17px;box-shadow:0 3px 0 #294c3520;transition:transform .15s}button:hover{transform:translateY(-2px);background:#fff}button:focus-visible{outline:3px solid #efac49}header{position:absolute;top:25px;left:32px;right:32px;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}header>*{pointer-events:auto}.brand{font-size:33px;font-weight:1000;letter-spacing:-1.5px;color:#28604f;text-shadow:0 2px #ffffff99}.brand span{color:#da8841}.brand small{display:block;letter-spacing:3px;font-size:9px;margin:6px 3px;color:#4b7c6d}.pockets{display:flex;gap:10px;align-items:center}.pockets>span{padding:12px 20px;border-radius:18px;background:#fffae8;font-size:20px}.location{position:absolute;top:115px;left:32px;font-size:11px;font-weight:900;letter-spacing:2px}.location small{display:block;font-size:11px;letter-spacing:0;margin-top:9px;color:#557b6f}.dot{display:inline-block;width:7px;height:7px;background:#69a274;border-radius:50%;margin-right:8px}.quest{position:absolute;right:32px;top:115px;background:#fffcedf0;border:1px solid #fff9;border-radius:23px;width:245px;padding:22px;box-shadow:0 8px 30px #355b3910}.eyebrow{font-size:10px;letter-spacing:2px;color:#7c9675;font-weight:800}h2{font-size:22px;letter-spacing:-.7px;margin:12px 0}p{font-size:13px;line-height:1.8;color:#74826a}.track{height:7px;background:#e7e9d2;border-radius:8px;margin-top:18px;overflow:hidden}#fill{height:100%;background:#edaa50;transition:width .3s}#progress{font-size:11px;margin:9px 0 16px;color:#809275}.quest button{background:#edf0dc;width:100%;font-size:11px}.actions{position:absolute;bottom:44px;left:50%;transform:translateX(-50%);display:flex;gap:10px;white-space:nowrap}.actions button{font-size:18px;min-width:80px;background:#fffbedee}.actions span{display:block;font-size:10px;margin-top:4px}.controls{position:absolute;bottom:17px;width:100%;text-align:center;color:#486b5c;font-size:10px}.toast{position:absolute;left:50%;top:95px;transform:translateX(-50%);border-radius:18px;background:#fffbeb;padding:16px 23px;max-width:440px;font-size:13px;text-align:center;box-shadow:0 5px 20px #284a3420;display:none}.prompt{position:absolute;bottom:145px;left:50%;transform:translateX(-50%);padding:12px 22px;border-radius:30px;background:#254f43e8;color:#fff9e9;font-size:13px;white-space:nowrap}.modal{position:fixed;inset:0;display:grid;place-items:center;background:#254b4150;backdrop-filter:blur(8px);z-index:5}.modal[hidden], [hidden]{display:none!important}.panel{background:#fffbed;border:1px solid white;border-radius:32px;padding:35px;width:min(420px,92vw);text-align:center;box-shadow:0 20px 60px #254b4130}.panel h1{font-size:34px;letter-spacing:-1px;line-height:1.15}.panel small{display:block;font-size:10px;color:#8b987d;margin-top:18px}.panel label{font-size:11px;text-align:left;display:block;color:#829378}.panel input{width:100%;border:1px solid #dfe5cf;border-radius:14px;background:white;padding:14px;font:700 16px Arial;margin:7px 0}.swatches{display:flex;gap:15px;justify-content:center;margin:16px}.swatches button{padding:0;width:35px;height:35px;background:var(--fur);border:3px solid white;outline:2px solid #dce5ce;border-radius:50%}.swatches button.selected{outline:3px solid #2b765a}#hatToggle{font-size:11px;background:#edf0db;margin-bottom:20px}.primary{width:100%;background:#327d60;color:white;padding:16px}.primary:hover{background:#28654e}#racehud{position:absolute;top:28px;left:50%;transform:translateX(-50%);background:#fffbed;border-radius:20px;padding:15px 30px;text-align:center}#racehud b{font-size:28px;color:#d79336}#racehud span{display:block;font-size:11px;margin-top:4px}#joystick{display:none;position:absolute;bottom:65px;left:25px;width:100px;height:100px;border-radius:50%;background:#fff8;border:2px solid #fff9;touch-action:none}#stick{position:absolute;left:29px;top:29px;width:38px;height:38px;border-radius:50%;background:#fffcea;box-shadow:0 3px #3a66472a}#error{position:fixed;inset:30%;padding:30px;background:#fffbed;border-radius:20px;z-index:20}@media(pointer:coarse){#joystick{display:block}.controls{display:none}.actions{left:auto;right:20px;transform:none;bottom:30px}.actions button{min-width:55px;padding:10px}.actions button:last-child{display:none}}@media(max-width:700px){header{left:18px;right:18px;top:20px}.brand{font-size:26px}.pockets{gap:5px}.pockets>span{font-size:16px;padding:10px}.pockets button{padding:10px}.location{left:20px;top:100px}.quest{top:145px;right:16px;width:180px;padding:14px}.quest p{font-size:11px;line-height:1.5}.quest h2{font-size:18px}.quest .eyebrow{font-size:8px}.toast{top:auto;bottom:150px;width:85%;max-width:350px}.prompt{bottom:210px;font-size:11px}.actions{gap:5px}.actions button{min-width:60px}.controls{font-size:8px}#racehud{top:85px;padding:10px 20px}.panel{padding:25px}}
.save-status{position:absolute;left:28px;bottom:25px;background:#f5f9e3d9;font-size:10px;padding:9px 12px;color:#57785a;box-shadow:none}.scenery>*:not(canvas):not(script){display:none!important}.dialogue{position:fixed;left:50%;bottom:100px;transform:translateX(-50%);width:min(560px,90vw);display:flex;gap:20px;padding:26px;background:#fffbed;border:1px solid #fff;border-radius:25px;box-shadow:0 15px 50px #244a3430;z-index:7}.dialogue p{font-size:14px;color:#60715b;line-height:1.8;margin:10px 0 18px}.dialogue-icon{background:#e9c79b;color:#816342;padding:15px;border-radius:20px;font-size:32px;height:70px}#dialogueAction{background:#327b5e;color:#fffbea}#dialogueClose{background:transparent;font-size:11px;box-shadow:none}#shop{border-top:1px solid #e2e5d3;padding-top:16px;margin-bottom:20px}#shop button{font-size:11px;display:block;width:100%;margin-top:10px;background:#eaf0d9}.panel{max-height:92svh;overflow:auto}.quest{background:#fffcebee;width:225px;top:130px}.quest h2{font-size:20px}.quest p{font-size:12px}.quest .eyebrow{font-size:9px}.pockets button{font-size:12px}.actions{bottom:35px}.controls{bottom:10px;font-size:9px}.prompt{bottom:135px}#modal{background:#1e3c3540}.toast{z-index:10}.brand{text-shadow:0 2px 12px #ffffff99}@media(max-width:850px){.quest{width:185px;padding:15px;top:115px;right:18px}.quest p{font-size:11px}.quest h2{font-size:18px}.location{top:110px;left:22px;font-size:9px}.save-status{left:18px;bottom:90px;font-size:8px}.actions{bottom:27px}.controls{font-size:8px}.brand{font-size:28px}.pockets{gap:6px}.pockets button{padding:10px}.dialogue{bottom:110px}.dialogue-icon{display:none}}@media(max-width:600px){.quest{top:110px;width:155px}.quest p{display:none}.quest h2{font-size:16px}.quest .eyebrow{font-size:7px}.quest .track{margin-top:10px}.quest button{padding:9px;font-size:10px}.pockets #settings{font-size:0;padding:12px}.pockets #settings::before{content:'☻';font-size:16px}.location{max-width:150px;font-size:8px}.location small{font-size:9px}.brand{font-size:24px}.dialogue{padding:20px;bottom:125px}}
#preferences{text-align:left;margin:20px 0}#preferences label{font-size:11px;display:block;color:#6e8265;margin-bottom:16px}#preferences select{width:100%;padding:12px;border:1px solid #dbe4ce;border-radius:10px;background:#fff;color:#375b41;margin-top:8px;font:inherit}#preferences input[type=range]{display:block;width:100%;height:8px;padding:0;border:0;margin:13px 0 22px;accent-color:#418367}#preferences input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:#418367}#preferences .setting-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e8eadb}#preferences output{float:right;font-size:10px;color:#8b997b}#resetSettings{font-size:11px;background:#e8edda;width:100%;padding:10px}#preferences small{font-size:9px}.brand{background:#fffce9d9;border:1px solid #fff9;border-radius:20px;padding:12px 18px;font-size:28px;box-shadow:0 5px 20px #244a3410}.brand small{font-size:8px;margin:4px 1px}.location{background:#fffbe7c9;border-radius:14px;padding:11px 15px;backdrop-filter:blur(8px);top:130px}.location small{margin-top:6px}@media(max-width:850px){.brand{font-size:23px;padding:10px 12px}.location{top:125px;font-size:8px}.pockets button{padding:9px}.pockets span{padding:10px}.pockets{gap:4px}}@media(max-width:600px){header{left:12px;right:12px}.brand{font-size:19px}.brand small{font-size:6px;letter-spacing:2px}.pockets button{padding:8px}.pockets span{padding:9px;font-size:14px}.location{top:110px;padding:10px;left:12px}.quest{top:110px}.quest .eyebrow{letter-spacing:1px}}
#travel button{display:block;text-align:left;width:100%;padding:15px 17px;background:#edf0de;border:1px solid #e0e7cf;box-shadow:none;margin:11px 0;border-radius:16px}#travel button b{display:block;font-size:14px}#travel button span{display:block;font-size:10px;color:#7a8d6c;margin-top:6px}#travel button small{display:block;margin:8px 0 0;text-align:left;font-size:9px;color:#8c9a7e}#travel button.current{border:2px solid #4c8264;background:#e2ebd6}#travel button:disabled{opacity:.5;cursor:not-allowed;transform:none}.xp-track{height:7px;background:#e5e9d5;border-radius:10px;margin-top:20px;overflow:hidden}#xpFill{height:100%;background:#dfad5c}#xpText{font-size:11px;margin:10px 0 16px}#journal{font-size:10px;text-align:center}#level{background:#eaf0d8;white-space:nowrap;font-size:12px;font-weight:800}.actions button{min-width:70px}.actions{gap:7px}@media(max-width:600px){.actions button{min-width:52px;padding:10px}.actions span{font-size:8px}.pockets{gap:3px}.pockets #settings{display:none}.pockets>span{padding:8px}.pockets button{padding:8px;font-size:11px}.actions button:last-child{display:none}}
.setting-heading{font-size:9px;font-weight:800;color:#96a281;letter-spacing:2px;margin:22px 0 15px;padding-top:15px;border-top:1px solid #e1e7d3}.setting-heading:first-child{border:0;padding-top:0;margin-top:5px}#hapticsHelp{margin:0 0 20px;text-align:left;color:#96a08a}
body.portrait{background:transparent}.actions button{box-shadow:0 5px 0 #b7bda788,0 10px 20px #2c493520;border:1px solid #fff9;transition:transform .15s,box-shadow .15s}.actions button:active{transform:translateY(3px);box-shadow:0 2px 0 #b7bda788}.card,.panel{box-shadow:0 10px 0 #23473415,0 25px 70px #244b3430}#travel button{box-shadow:0 4px 0 #d3ddc2;transition:transform .15s,box-shadow .15s}#travel button:not(:disabled):hover{transform:translateY(-3px);box-shadow:0 7px 0 #d3ddc2}

/* Compact navigation stays clear of the world and touch movement controls. */
.navigator{position:absolute;left:32px;top:215px;width:180px;background:#fffbedee;border:1px solid #ffffffaa;border-radius:22px;padding:10px;box-shadow:0 8px 25px #244b3420;text-align:center}.navigator #islandMap{display:block;width:158px;height:158px;padding:0;overflow:hidden;border-radius:16px;box-shadow:none}.navigator #minimap{position:static;display:block;width:100%;height:100%;inset:auto;cursor:crosshair}.navigator>b{display:block;font-size:12px;margin:12px 0 5px}.navigator small{display:block;font-size:9px;color:#7a8d6a}.navigator #cameraReset{font-size:10px;background:#e9edda;width:100%;margin-top:12px;padding:9px}.actions #run[aria-pressed=true]{background:#3b7d61;color:#fffbed;box-shadow:0 5px 0 #27583f}.actions{gap:6px}.actions button{min-width:64px}.quest button{background:#327d60;color:#fffbea}#racehud{z-index:2;min-width:145px}#dialogueAction{min-width:140px}
@media(max-width:850px){.navigator{left:22px;top:210px;width:140px;padding:8px}.navigator #islandMap{width:122px;height:122px}.navigator>b{font-size:10px;margin-top:8px}.navigator small{font-size:8px}.navigator #cameraReset{font-size:9px;margin-top:8px}.actions button{min-width:54px}}
@media(max-width:600px){.navigator{left:12px;top:190px;width:113px;padding:7px;border-radius:17px}.navigator #islandMap{width:97px;height:97px;border-radius:12px}.navigator small{font-size:7px}.navigator #cameraReset{font-size:8px;padding:8px}.actions button{min-width:43px;padding:9px 7px}.actions span{font-size:8px}.navigator>b{font-size:9px}#racehud{top:80px;left:50%;min-width:100px;padding:8px 14px}#racehud b{font-size:21px}}
@media(max-height:620px) and (min-width:601px){.navigator{top:200px;width:120px;padding:7px}.navigator #islandMap{width:104px;height:104px}.navigator small{display:none}.navigator>b{font-size:9px}.navigator #cameraReset{font-size:8px;padding:6px}}
