@font-face{font-family:Tutu Sans;src:url(../fonts/tutu-sans.woff2) format("woff2");font-style:normal;font-weight:400 800;font-display:swap}@font-face{font-family:Tutu Display;src:url(../fonts/tutu-display.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}:root{font-family:Tutu Sans,PingFang SC,Microsoft YaHei,sans-serif;color:#4e5d49;background:#e0e7d2;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #4e5d49;--muted: #8b927e;--accent: #d88b68;--green: #72957b;--cream: #fbf8ed}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;width:100%;height:100%;overflow:hidden}body{overscroll-behavior:none}button,input{font:inherit}button{color:inherit;cursor:pointer;-webkit-user-select:none;user-select:none}button{transition:background .18s,box-shadow .18s,transform .18s}button:disabled{cursor:default}button:focus-visible{outline:3px solid #c99765;outline-offset:4px}button:not(:disabled):active{transform:translateY(1px)}svg{flex-shrink:0;vertical-align:middle}button,a{touch-action:manipulation}::selection{background:#f1d3ae}.game-app{height:100vh;height:100dvh;position:relative;isolation:isolate;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}.world-container{position:absolute;inset:0;z-index:0}.world-container canvas{display:block;outline:0;touch-action:none}.screen-vignette{position:absolute;inset:0;pointer-events:none;z-index:1;box-shadow:inset 0 0 130px 15px #716e4720;background:linear-gradient(#fff7df18,transparent 25%,transparent 80%,#5e715110)}.camera-zone{position:absolute;inset:0;z-index:2;cursor:grab;touch-action:none}.camera-zone:active{cursor:grabbing}.topbar{position:absolute;z-index:25;top:max(28px,env(safe-area-inset-top));left:max(42px,env(safe-area-inset-left));right:max(42px,env(safe-area-inset-right));display:flex;align-items:center;justify-content:space-between;gap:20px;pointer-events:none}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand>.portrait{width:53px;height:53px;border-radius:18px;filter:drop-shadow(0 4px 6px #8f745c16)}.brand>div{display:flex;flex-direction:column;gap:6px}.brand-eyebrow{font-size:10px;letter-spacing:2.3px;color:#8c957e}.brand strong{font-family:Tutu Display,sans-serif;font-size:25px;font-weight:400;letter-spacing:.5px;line-height:1;white-space:nowrap}.brand-dot{color:var(--accent);font-size:33px;padding-left:3px}.header-motto{display:flex;align-items:center;gap:8px;position:absolute;left:50%;transform:translate(-50%);font-size:11px;color:#829175;letter-spacing:2px}.top-actions{display:flex;align-items:center;gap:9px;pointer-events:auto}.nav-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 15px;border:1px solid #fff7e9d9;border-radius:14px;background:#fbf8ede0;box-shadow:0 3px 12px #4a634510;font-size:12px;font-weight:600;white-space:nowrap}.nav-button:hover,.nav-button.selected{background:#fffdf4;box-shadow:0 4px 15px #4a634522}.guide-button{border:1px solid #a2ad8873;background:#f9f7e75c;border-radius:24px;padding:0 19px;font-weight:500;box-shadow:none}.icon-button{width:44px;padding:0}.nav-count{border-radius:6px;background:#eae9d6;min-width:19px;line-height:19px;font-size:10px;text-align:center;color:#869375}.location-pill{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;height:40px;padding:0 16px 0 12px;border:1px solid #fff7e5da;border-radius:23px;background:#fbf8eacb;box-shadow:0 3px 14px #4a63450b;font-size:12px}.location-icon{color:#bc9f66;display:inline-flex}.location-divider{width:1px;height:12px;background:#d9dac3}.location-pill small{font-size:10px;color:#8b937c}.welcome{position:absolute;inset:0;pointer-events:none;z-index:3}.welcome-shade{position:absolute;inset:0;background:linear-gradient(90deg,#faf8ecee 0%,#faf8eae6 23%,#faf8eaba 35%,#f8f6e83d 49%,transparent 63%)}.welcome-content{position:absolute;top:49.5%;left:6.5%;transform:translateY(-43%);width:480px;pointer-events:auto}.welcome-tag{display:inline-flex;align-items:center;gap:8px;font-size:11px;color:#aa805e;background:#f5ebd6cb;border:1px solid #eaddc6;border-radius:20px;padding:7px 13px 7px 10px;letter-spacing:1px}.tiny-sun{display:inline-flex;color:#c7a05e}.welcome h1{position:relative;font-family:Tutu Display,sans-serif;font-size:clamp(53px,5.4vw,77px);font-weight:400;line-height:1.23;letter-spacing:2px;margin:26px 0 20px;color:#556b51;white-space:nowrap}.welcome h1>span:not(.heading-exclamation){color:#d78d68}.heading-exclamation{color:#d78d68;display:inline-block;transform:rotate(9deg)}.heading-sparkle{position:absolute;top:3px;left:338px;width:28px;height:28px;stroke-width:1.2;color:#c7ac6d;transform:rotate(-8deg)}.welcome-description{font-size:14px;font-weight:400;line-height:2.05;letter-spacing:.4px;color:#8b917b;margin:0}.welcome-features{display:flex;align-items:center;gap:11px;margin:25px 0 29px;color:#8c957e;font-size:10px}.welcome-features>span{display:flex;align-items:center;gap:6px;border:1px solid #e3e4d2;border-radius:8px;padding:8px 10px;background:#fffdf349}.welcome-features svg{color:#9cac8b;stroke-width:1.6}.start-button{display:flex;align-items:center;justify-content:space-between;width:221px;height:62px;padding:0 14px 0 25px;border:1px solid #cb835fd1;border-radius:16px;background:#d98d69;color:#fffaf0;box-shadow:0 4px #bd7b59,0 10px 23px #b58c6130;font-size:17px;font-weight:600;letter-spacing:2px}.start-button:hover:not(:disabled){background:#df9672;transform:translateY(-2px);box-shadow:0 5px #bd7b59,0 12px 23px #b58c613b}.start-button:disabled{opacity:.7;font-size:14px;letter-spacing:1px}.start-arrow{display:grid;place-items:center;width:37px;height:37px;border-radius:11px;background:#ffffff1c}.save-hint{display:flex;align-items:center;gap:7px;font-size:10px;color:#a2a58f;margin-top:19px;letter-spacing:.3px}.status-dot{display:inline-block;width:5px;height:5px;border-radius:100%;background:#a1b28e;flex-shrink:0}.sunny-note{position:absolute;top:21%;right:6.7%;width:146px;height:158px;background:#fff8e4eb;border:1px solid #fffcef;box-shadow:3px 5px #f7f0d799,0 12px 30px #8b91731a;transform:rotate(7deg);border-radius:3px 3px 29px;padding:16px 23px;display:flex;flex-direction:column;gap:8px;color:#ab9364}.sunny-note>svg{color:#d4ae6b}.sunny-note>span:not(.note-doodle){font-family:Tutu Display,sans-serif;font-size:27px;line-height:1.12;color:#869476}.note-doodle{font-family:serif;font-size:24px;position:absolute;top:11px;right:22px;transform:rotate(20deg)}.sunny-note>span{white-space:nowrap}.world-caption{position:absolute;bottom:95px;right:17.5%;display:flex;align-items:center;gap:15px;color:#829373;letter-spacing:2px;font-size:11px}.caption-line{width:28px;height:1px;background:#98a78670}.welcome-footer{position:absolute;left:43px;right:43px;bottom:max(25px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#929e82;letter-spacing:.5px}.welcome-footer>span{display:flex;align-items:center;gap:7px}.footer-right{font-size:9px}.loading-spinner{border:2px solid #fff5d53d;border-top-color:#fff5dc;border-radius:50%;width:20px;height:20px;animation:spin 1s linear infinite}.game-hud{position:absolute;inset:0;z-index:20;pointer-events:none}.is-playing .topbar{left:max(29px,env(safe-area-inset-left));right:max(29px,env(safe-area-inset-right));top:max(23px,env(safe-area-inset-top))}.is-playing .brand>.portrait{width:45px;height:45px;border-radius:16px}.is-playing .brand strong{font-size:22px}.is-playing .brand-eyebrow{font-size:9px;letter-spacing:1.4px}.left-hud{position:absolute;top:108px;left:max(29px,env(safe-area-inset-left));width:247px;display:flex;flex-direction:column;gap:13px;transition:opacity .2s}.player-chip{display:flex;align-items:center;gap:11px;margin:1px 0 6px 3px}.player-chip>.portrait{height:38px;width:38px;border:2px solid #fef9e2;border-radius:14px}.player-chip>div{display:flex;flex-direction:column;gap:5px}.player-chip strong{font-size:12px;font-weight:600;color:#52654f;text-shadow:0 1px 5px #ffffed85}.player-chip span{font-size:9px;color:#7a8f73;display:flex;align-items:center;gap:5px}.glass-card{background:#fdfaf0e8;border:1px solid #fffdf0d9;border-radius:17px;box-shadow:0 6px 22px #62755215;pointer-events:auto}.quest-tracker{text-align:left;padding:16px 17px 15px}.quest-tracker:hover,.collection-tracker:hover{background:#fffdf4}.tracker-eyebrow{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px;color:#9aa185;font-size:9px;letter-spacing:1px}.tracker-eyebrow>span{display:flex;align-items:center;gap:6px}.quest-tracker>strong{font-size:13px;font-weight:600}.quest-tracker>p{font-size:10px;line-height:1.8;color:#949a85;margin:9px 0 12px}.tracker-bottom,.quest-done{display:flex;align-items:center;gap:5px;padding-top:11px;border-top:1px dashed #dfe1ca;color:#a28f71;font-size:9px}.quest-done{color:#88a184}.tracker-progress{display:flex;align-items:center;justify-content:space-between;padding-top:4px}.tracker-progress>div{display:flex;gap:8px}.tracker-progress>div>span{width:30px;height:30px;display:grid;place-items:center;background:#f0eddf;border-radius:8px;color:#bcb9a5;position:relative}.tracker-progress>div>span.found{color:#84a07c;background:#e6eddc}.tracker-progress>div>span>svg:last-child:not(:first-child){position:absolute;right:-2px;bottom:-1px;border-radius:50%;background:#f9fbeb}.tracker-progress>span{color:#8c9e7d;font-size:14px}.tracker-progress small{font-size:10px;color:#a9ad98}.collection-tracker{display:flex;align-items:center;gap:10px;padding:14px;text-align:left}.collection-symbol{width:32px;height:35px;border-radius:11px;background:#f1e7d0;color:#b49c6c;display:grid;place-items:center}.collection-tracker>div{display:flex;flex-direction:column;gap:5px}.collection-tracker strong{font-size:11px;font-weight:600}.collection-tracker>div>span{font-size:8px;color:#a0a38e}.collection-number{margin-left:auto;font-size:16px;color:#a99b75}.collection-number small{font-size:9px;color:#b3b4a0;margin-left:2px}.minimap-wrap{position:absolute;right:max(30px,env(safe-area-inset-right));bottom:35px;width:154px}.minimap{border-radius:50%;filter:drop-shadow(0 5px 14px #6b7c4b30)}.minimap svg{width:100%;height:auto;display:block}.map-caption{margin-top:5px;display:flex;align-items:center;justify-content:center;gap:5px;font-size:10px;color:#697e60;text-shadow:0 1px 4px #fff8db}.game-app[data-scene=home] .location-pill small{display:inline;padding:2px 6px;border-radius:6px;background:#e4e8d4;color:#75896f;white-space:nowrap}.quiet-tip{position:absolute;bottom:37px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:7px;color:#7c8f6c;text-shadow:0 1px 6px #fff9de;font-size:11px;letter-spacing:1px;white-space:nowrap}.interaction-prompt{position:absolute;bottom:34px;left:50%;transform:translate(-50%);display:flex;gap:12px;align-items:center;padding:12px 13px;border-radius:18px;border:1px solid #fffdf1;box-shadow:0 8px 24px #53694b20;background:#fcfaedee;pointer-events:auto;min-width:315px;animation:prompt-in .2s ease-out}.prompt-symbol{width:40px;height:40px;border-radius:12px;color:#b3996b;display:grid;place-items:center;background:#eee9d5}.prompt-symbol .portrait{width:40px;height:40px}.interaction-prompt>div:nth-child(2){display:flex;flex-direction:column;gap:5px}.interaction-prompt strong{font-size:12px;font-weight:600}.interaction-prompt>div:nth-child(2)>span{font-size:9px;color:#9a9e87;white-space:nowrap}.desktop-interact{display:flex;align-items:center;gap:7px;margin-left:13px;border:0;background:#829b7d;color:#fffcef;border-radius:10px;height:36px;padding:0 11px 0 6px;font-size:10px;white-space:nowrap}kbd{font-family:Tutu Sans,sans-serif;font-weight:500;font-size:11px;background:#fdf9ecbd;color:#7d8a6d;min-width:23px;height:23px;line-height:23px;text-align:center;display:inline-block;border:1px solid #dce0c7;border-bottom-width:2px;border-radius:5px}.desktop-interact kbd{width:24px;height:25px;line-height:25px;border:0;background:#ffffff2e;color:#fff8de}.desktop-controls{position:absolute;bottom:30px;left:max(32px,env(safe-area-inset-left));display:flex;align-items:center;gap:15px;z-index:21;pointer-events:none}.keyboard-diagram{display:flex;flex-direction:column;align-items:center;gap:3px}.keyboard-diagram>div{display:flex;gap:3px}.desktop-controls>div:nth-child(2){display:flex;flex-direction:column;gap:7px}.desktop-controls strong{font-size:11px;font-weight:500;color:#6b805e}.desktop-controls span{color:#8e9c7b;font-size:9px}.touch-controls{display:none}.npc-label{display:flex;align-items:center;gap:5px;font-family:Tutu Sans,sans-serif;white-space:nowrap;padding:5px 9px 5px 5px;border-radius:9px;color:#65765a;background:#fff9e9f2;border:1px solid #fffcf1;font-size:11px;box-shadow:0 3px 8px #506f4920;transition:opacity .2s}.npc-symbol{display:grid;place-items:center;width:21px;height:21px;border-radius:6px;background:#e7eddc;color:#8b9f7c}.npc-symbol.quest{background:#f3dfb4;color:#b49561}.hud-muted .left-hud,.hud-muted .minimap-wrap{opacity:.25}.hud-muted .left-hud button{pointer-events:none}.modal-backdrop{position:absolute;inset:0;z-index:60;display:flex;justify-content:flex-end;align-items:center;padding:22px;background:#44533e24;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);touch-action:none}.side-panel{display:flex;flex-direction:column;width:432px;max-height:calc(100dvh - 44px);background:#fdfaf0;border:1px solid #fffff5;border-radius:25px;box-shadow:0 20px 80px #39463230;animation:panel-in .25s ease-out;overflow:hidden}.wide-panel{width:504px}.panel-heading{display:flex;align-items:center;gap:12px;padding:25px 23px 21px;border-bottom:1px solid #e9e8d8;flex-shrink:0}.panel-icon{width:45px;height:48px;display:grid;place-items:center;color:#ba9867;background:#f4e8d1;border-radius:15px}.panel-heading>div:nth-child(2)>span{font-size:9px;letter-spacing:.6px;color:#a1a38e}.panel-heading h2{font-family:Tutu Display,sans-serif;font-size:29px;font-weight:400;margin:5px 0 0;line-height:1.2}.close-button{width:35px;height:35px;flex-shrink:0;display:grid;place-items:center;border:0;border-radius:11px;margin-left:auto;background:#eeeedf;color:#8c947e}.close-button:hover{background:#e5e9d5}.panel-body{padding:22px;overflow-y:auto;min-height:0;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:#d4d9be transparent}.panel-body *{touch-action:pan-y}.panel-footer{display:flex;gap:7px;justify-content:center;align-items:center;padding:15px;border-top:1px solid #e9e8d8;font-size:9px;color:#a3a791;background:#f6f4e8;flex-shrink:0}.panel-tabs{display:flex;gap:3px;border-radius:12px;padding:4px;background:#f0efe2}.panel-tabs>button{display:flex;justify-content:center;align-items:center;gap:5px;flex:1;height:36px;border:0;border-radius:9px;font-size:10px;background:transparent;color:#a0a58f}.panel-tabs>button[aria-selected=true]{background:#fffcf1;box-shadow:0 2px 6px #7d8e5e12;color:#798d70}.panel-tabs>button>span{color:#b3ac91;font-size:9px}.bag-summary{display:flex;align-items:center;justify-content:space-between;margin:25px 2px 15px;font-size:11px;color:#8a967c}.bag-summary strong{font-weight:600;font-size:20px;color:#b6a174}.bag-summary small{font-size:11px;font-weight:400;color:#b4b7a2}.item-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.item-card{min-height:130px;padding:15px 5px 11px;border:1px solid #e8e5d2;border-radius:15px;background:#f9f6e9;display:flex;flex-direction:column;gap:7px;align-items:center;position:relative}.item-card.found{background:#fffbf0;border-color:#e9dfc2}.item-card.undiscovered{background:#f4f2e5;border-style:dashed;color:#b7bbaa}.item-card:hover{background:#faf8eb;border-color:#cbb890}.item-card.item-selected{border-color:#c6aa7b;box-shadow:0 0 0 1px #c6aa7b}.item-art{width:56px;height:50px;display:grid;place-items:center;border-radius:15px;background:#eee9d6;margin-bottom:2px}.undiscovered .item-art{background:#eaece020;color:#c6c9b8}.found .item-art{background:#f5efd9}.item-card strong{font-size:10px;font-weight:500}.item-status{color:#b2b59c;font-size:8px}.item-check{position:absolute;top:8px;right:8px;color:#92a47d}.item-detail{display:flex;gap:13px;padding:16px;border-radius:13px;background:#eeefdf;margin-top:19px;align-items:flex-start}.item-detail>div:first-child{padding-top:3px}.item-detail strong{font-size:11px;font-weight:500}.item-detail p{margin:6px 0 0;font-size:10px;color:#929d80;line-height:1.8}.bag-empty-tip{text-align:center;padding:26px 0 6px;color:#b3b89f}.bag-empty-tip svg{stroke-width:1.4}.bag-empty-tip p{font-size:10px;line-height:1.9;margin:10px 0}.badges-list{display:flex;flex-direction:column;gap:13px;padding-top:24px}.badge-card{display:flex;align-items:center;gap:15px;padding:18px 14px;border:1px dashed #dddfcb;border-radius:16px;color:#aeb29e}.badge-card.earned{border-style:solid;border-color:#e5d5ac;background:#faf2dc;color:#ae925e}.badge-medal{display:grid;place-items:center;width:62px;height:67px;border-radius:21px;background:#edede0}.earned .badge-medal{background:#f1e4c3;color:#bc9b5c}.badge-card>div{flex:1}.badge-card strong{font-size:13px;font-weight:600}.badge-card p{font-size:9px;margin:9px 0}.badge-card>div>span{font-size:8px;opacity:.8}.panel-note{display:flex;justify-content:center;align-items:center;gap:6px;font-size:9px;color:#aaa991;margin:15px 0 7px}.quest-panel-intro{display:flex;gap:14px;align-items:center;background:#eff0df;border-radius:16px;padding:16px;margin-bottom:20px}.quest-intro-art{color:#a6b48d}.quest-panel-intro p{font-size:10px;color:#92a082;margin:0;line-height:1.9}.quest-list{display:flex;flex-direction:column;gap:18px}.quest-card{padding:18px 16px 0;border:1px solid #e4e4ce;border-radius:17px;overflow:hidden;background:#fffcf1}.quest-card-top{display:flex;align-items:center;gap:10px}.quest-card-top .portrait{height:41px;width:41px;border-radius:14px}.quest-card-top>div{flex:1}.quest-card-top>div>span{font-size:9px;color:#aaa58d}.quest-card h3{font-size:13px;font-weight:600;margin:5px 0 0}.quest-status{font-size:8px;white-space:nowrap;padding:5px 7px;color:#adae97;border:1px solid #e5e4d0;border-radius:6px;align-self:flex-start}.quest-status.active{color:#b39a6c;background:#f6ecd6;border-color:#ece0c1}.quest-status.done{color:#8fa47e;background:#eaf0dc;border-color:#dae5c7}.quest-card>p{font-size:10px;line-height:1.9;color:#a2a58e;margin:15px 0}.quest-items{display:flex;gap:7px}.quest-items>div{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#c2c2aa;background:#f4f2e6;border-radius:10px;padding:12px 3px;position:relative}.quest-items>div.collected{color:#8f9f78;background:#eef0de}.quest-items>div>span{font-size:9px}.quest-items>div>svg:last-child:not(:first-child){position:absolute;right:5px;top:5px}.quest-location{display:flex;align-items:flex-start;gap:6px;font-size:9px;color:#a79e7d;margin:15px 0;line-height:1.7}.quest-location svg{margin-top:1px}.quest-reward{display:flex;align-items:center;gap:6px;margin:0 -16px;padding:12px 16px;background:#f3f0de;border-top:1px solid #e9e5cc;color:#b2a079;font-size:9px}.quest-reward strong{font-size:10px;font-weight:500;margin-left:auto;color:#a79973}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:9px 0 25px}.setting-row>div{display:flex;flex-direction:column;gap:8px}.setting-row strong{font-size:12px;font-weight:600}.setting-row>div>span{font-size:10px;color:#a5aa94}.toggle{border:none;width:43px;height:25px;border-radius:15px;padding:3px;background:#d9ddc8;flex-shrink:0}.toggle>span{display:block;height:19px;width:19px;border-radius:50%;background:#fffdf0;box-shadow:0 1px 4px #68775420;transition:transform .2s}.toggle.on{background:#8eaa86}.toggle.on>span{transform:translate(18px)}.save-card{display:flex;align-items:flex-start;gap:13px;padding:18px;background:#ecf0dc;border-radius:14px;margin-bottom:20px;color:#8ea07a}.save-card strong{font-size:11px;font-weight:600}.save-card p{font-size:10px;line-height:1.9;color:#9ba78a;margin:9px 0 0}.setting-link{display:flex;align-items:center;gap:10px;width:100%;background:transparent;border:0;border-bottom:1px solid #e5e7d4;padding:17px 3px;font-size:11px;color:#8e9a7c}.setting-link span{flex:1;text-align:left}.reset-area{margin-top:31px;margin-bottom:10px}.reset-button{border:0;background:transparent;display:flex;align-items:center;justify-content:center;gap:7px;margin:auto;color:#b1aa91;font-size:10px;min-height:44px}.reset-confirm{padding:19px;border:1px solid #edd8bf;border-radius:15px;background:#faf0dd}.reset-confirm>strong{font-size:12px;font-weight:600;color:#b18c6c}.reset-confirm>p{font-size:10px;color:#b4a085;line-height:1.9}.reset-confirm>div{display:flex;gap:10px;margin-top:18px}.secondary-button,.danger-button{min-height:40px;padding:8px 17px;border-radius:9px;border:1px solid #dfdac3;font-size:11px;background:#f9f4e6}.danger-button{background:#ce9373;border-color:#ce9373;color:#fff5de}.guide-intro{font-size:11px;line-height:1.95;color:#9a9f88;margin:0 0 22px}.guide-controls{display:grid;grid-template-columns:1fr 1fr;gap:13px}.guide-controls>div{padding:18px 15px;border:1px solid #e6e5cf;background:#f8f6e8;border-radius:15px}.guide-device{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;color:#7d9270}.guide-keys{display:flex;gap:4px;align-items:center;margin:20px 0 13px;flex-wrap:wrap}.guide-keys small{font-size:8px;color:#b0b298;margin-left:1px}.guide-controls p{font-size:9px;color:#9ca48a;line-height:2.15;margin-bottom:0}.guide-controls p>kbd{min-width:20px;height:18px;font-size:8px;line-height:16px}.guide-joystick{height:23px;margin:20px 0 13px;display:flex;align-items:center;gap:14px;color:#a3b18d}.guide-joystick>span{width:32px;height:32px;border:1px solid #cbd4b5;border-radius:50%;background:radial-gradient(#bdcbaa 0 29%,transparent 31%)}.guide-tips{display:flex;flex-direction:column;gap:17px;padding:25px 3px}.guide-tips>div{display:flex;gap:12px;color:#ada482}.guide-tips svg{margin-top:2px}.guide-tips p{margin:0;color:#a5aa92;font-size:9px;line-height:1.9}.guide-tips strong{display:block;font-size:11px;font-weight:500;color:#839274;margin-bottom:3px}.panel-primary{height:46px;width:100%;display:flex;align-items:center;justify-content:center;gap:14px;border:1px solid #c08b62;border-radius:12px;color:#fff9e5;background:#d19a73;font-size:12px;font-weight:500}.dialogue-layer{position:absolute;inset:0;z-index:45;background:linear-gradient(transparent 35%,#56654635);display:flex;align-items:flex-end;justify-content:center;padding:30px}.dialogue-card{display:flex;gap:24px;width:730px;max-width:100%;background:#fffbee;border:2px solid #fffdf5;border-radius:24px;padding:23px 25px;box-shadow:0 10px 40px #3b4e3b28;outline:none;animation:dialogue-in .2s ease-out}.dialogue-portrait{display:flex;flex-direction:column;align-items:center;gap:10px;width:89px;flex-shrink:0;padding-top:8px}.dialogue-portrait .portrait{width:85px;height:85px;border:4px solid #f0e7ce;border-radius:30px}.dialogue-portrait>span{font-size:9px;color:#b3a88b;white-space:nowrap}.dialogue-content{flex:1;min-width:0}.dialogue-name{display:flex;align-items:center;gap:13px}.dialogue-name strong{font-family:Tutu Display,sans-serif;font-size:24px;font-weight:400;color:#8a9274}.dialogue-name>span{font-size:8px;letter-spacing:1px;background:#efeedc;padding:5px 8px;border-radius:7px;color:#a9aa8c}.dialogue-name>button{margin-left:auto;display:grid;place-items:center;border:0;background:transparent;color:#b6b79e;width:30px;height:30px;border-radius:8px}.dialogue-line{font-size:15px;line-height:1.95;color:#6d7e60;margin:14px 0 20px;min-height:58px;animation:line-in .2s ease-out}.dialogue-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.dialogue-dots{display:flex;align-items:center;gap:5px}.dialogue-dots>span{width:4px;height:4px;border-radius:4px;background:#e4e3cd}.dialogue-dots>span.active{width:13px;background:#baa779}.dialogue-next{display:flex;align-items:center;justify-content:center;gap:15px;border:1px solid #ccd5b6;border-radius:10px;background:#dfe7ce;color:#82926e;padding:11px 17px;font-size:11px;font-weight:500;min-height:40px}.dialogue-next:hover{background:#d3debf}.toast-stack{position:absolute;z-index:85;top:93px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;pointer-events:none;width:max-content;max-width:calc(100% - 30px)}.toast{display:flex;align-items:center;gap:12px;border:1px solid #fffff5;background:#fffbedf5;box-shadow:0 6px 24px #61705024;padding:13px 17px 13px 12px;border-radius:15px;min-width:280px;animation:toast-in .3s ease-out}.toast-symbol{width:40px;height:40px;display:grid;place-items:center;background:#f1e6cc;border-radius:13px;color:#bba26d}.toast>div{display:flex;flex-direction:column;gap:6px}.toast strong{font-size:12px;font-weight:600;color:#8a8f6d}.toast>div>span{font-size:9px;color:#a5a68d}.toast-check{margin-left:auto;color:#9aaa82}.toast-badge{border-color:#ead7a9;background:#fff6df}.toast-badge .toast-symbol{background:#f1deae}.scene-transition{position:absolute;inset:0;z-index:100;background:#f6f3e5;color:#a5b18b;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;opacity:0;pointer-events:none;transition:opacity .25s}.scene-transition>span{font-size:12px;color:#a9ae94;letter-spacing:1px}.scene-transition.visible{opacity:1;pointer-events:auto}.scene-transition.visible svg{animation:spin 3s linear infinite}.world-error,.webgl-fallback{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:25px;background:#f8f5e8;text-align:center;color:#9aab83}.world-error h2{font-family:Tutu Display,sans-serif;font-size:30px;font-weight:400;color:#899c78;margin:0}.world-error p{font-size:12px;line-height:1.8;color:#a1a990;max-width:320px}.world-error button{display:flex;align-items:center;gap:8px;background:#d89c74;border:0;border-radius:12px;color:#fff8e4;padding:13px 20px;font-size:12px;z-index:5}@keyframes spin{to{transform:rotate(360deg)}}@keyframes panel-in{0%{opacity:0;transform:translate(25px)}to{opacity:1;transform:translate(0)}}@keyframes line-in{0%{opacity:0}to{opacity:1}}@keyframes dialogue-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes prompt-in{0%{opacity:0;bottom:28px}to{opacity:1;bottom:34px}}.reduced-motion *,.reduced-motion *:before,.reduced-motion *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media(max-width:1180px){.topbar{left:30px;right:30px}.brand strong{font-size:23px}.header-motto{display:none}.welcome-content{left:5.5%}.heading-sparkle{left:295px}.welcome h1{font-size:63px}.sunny-note{right:5%}.is-playing .brand-eyebrow{display:none}.is-playing .brand strong{font-size:20px}.is-playing .brand-dot{font-size:24px}.is-playing .location-pill small,.is-playing .location-divider,.help-nav{display:none}}@media(pointer:coarse){.desktop-controls,.desktop-interact{display:none}.touch-controls{display:contents}.joystick-wrap{position:absolute;left:max(33px,env(safe-area-inset-left));bottom:max(27px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:10px;z-index:24;touch-action:none}.joystick{position:relative;width:116px;height:116px;border:1px solid #fffbeaab;border-radius:50%;background:#fff9e532;box-shadow:inset 0 0 0 12px #f8f6dc21,0 3px 20px #6b7e4610;display:grid;place-items:center;touch-action:none}.joystick:before{content:"";position:absolute;inset:13px;border:1px solid #fcf8e15c;border-radius:50%}.joystick-knob{position:relative;width:48px;height:48px;border:2px solid #fff9e8c9;border-radius:50%;background:#fdf9e5a6;box-shadow:0 3px 12px #667a4426;display:grid;place-items:center;pointer-events:none}.joystick-knob>span{width:7px;height:7px;border:1px solid #a0ae83;border-radius:50%}.joystick-tick{position:absolute;background:#fdf9dfd1;width:5px;height:2px;border-radius:2px}.joystick-tick.up{top:6px;left:calc(50% - 2px)}.joystick-tick.down{bottom:6px;left:calc(50% - 2px)}.joystick-tick.left{left:5px;top:calc(50% - 1px);transform:rotate(90deg)}.joystick-tick.right{right:5px;top:calc(50% - 1px);transform:rotate(90deg)}.control-caption{font-size:9px;color:#7f926c;text-shadow:0 1px 3px #fffbd0;letter-spacing:.5px}.touch-actions{position:absolute;right:max(36px,env(safe-area-inset-right));bottom:max(35px,env(safe-area-inset-bottom));z-index:24;display:flex;flex-direction:column;align-items:center;gap:16px}.touch-interact{width:75px;height:75px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-radius:27px;border:2px solid #fff9e299;background:#f6f6df70;color:#99a384;box-shadow:0 4px 14px #778d491a}.touch-interact>span{font-size:9px}.touch-interact.available{background:#d9936ae8;color:#fff6dd;border-color:#edbc8c;box-shadow:0 4px #b98460a1,0 5px 20px #97744324}.recenter-button{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#f6f6df7d;border:1px solid #ffffe185;color:#99a583}.minimap-wrap{width:100px;right:23px;top:94px;bottom:auto}.interaction-prompt{min-width:0;width:max-content;max-width:270px;padding:11px 16px;bottom:33px}.left-hud{width:227px}.player-chip,.collection-tracker{display:none}.panel-tabs>button,.close-button,.dialogue-name>button{min-height:44px}.close-button,.dialogue-name>button{min-width:44px}.dialogue-next{min-height:44px}.toggle{height:44px;border:9px solid #fdfaf0;box-sizing:content-box;margin-right:-9px;height:25px}}@media(max-width:960px)and (min-aspect-ratio:1/1){.brand-eyebrow{display:none}.is-playing .brand strong{font-size:17px}.nav-button{padding:0 12px}.icon-button{padding:0}.nav-button>span:not(.nav-count){display:none}.nav-button.guide-button>span{display:inline}.location-pill{font-size:11px;height:35px}.welcome h1{font-size:57px}.heading-sparkle{left:266px;width:25px}.sunny-note{width:122px;height:137px;padding:15px 18px}.sunny-note>span:not(.note-doodle){font-size:24px}.welcome-description{font-size:12px}.welcome-features{margin:18px 0 22px;font-size:9px;gap:8px}}@media(max-height:560px)and (min-aspect-ratio:1/1){.topbar,.is-playing .topbar{top:max(12px,env(safe-area-inset-top));left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));gap:12px}.brand>.portrait,.is-playing .brand>.portrait{width:37px;height:37px;border-radius:13px}.brand{gap:9px}.brand strong,.is-playing .brand strong{font-size:19px}.brand-eyebrow{display:none}.brand-dot{font-size:25px}.nav-button{height:38px;border-radius:12px;font-size:10px;padding:0 10px}.icon-button{width:38px;padding:0}.top-actions{gap:6px}.location-pill{height:32px;font-size:10px;gap:7px;padding:0 12px}.location-pill svg{width:15px}.welcome-content{top:53%;left:6%;width:360px;transform:translateY(-42%)}.welcome-tag{font-size:9px;padding:5px 9px;gap:5px}.welcome-tag svg{width:12px;height:12px}.welcome h1{font-size:45px;line-height:1.18;margin:14px 0 11px}.heading-sparkle{left:210px;width:22px;height:22px}.welcome-description{font-size:10px;line-height:1.85}.welcome-features{margin:12px 0 15px;gap:7px;font-size:8px}.welcome-features>span{padding:5px 7px;gap:4px}.welcome-features svg{width:12px;height:12px}.start-button{height:43px;width:178px;padding:0 9px 0 20px;font-size:13px;border-radius:12px;box-shadow:0 3px #bd7b59,0 7px 15px #b58c6120}.start-arrow{height:29px;width:29px;border-radius:8px}.start-arrow svg{width:19px}.save-hint{font-size:8px;margin-top:12px}.sunny-note{top:24%;width:105px;height:116px;padding:11px 14px;gap:6px;right:5%}.sunny-note>svg{width:23px;height:23px}.sunny-note>span:not(.note-doodle){font-size:23px}.world-caption{bottom:59px;right:10%;font-size:8px;gap:8px}.caption-line{width:20px}.welcome-footer{left:24px;right:24px;bottom:13px;font-size:8px}.welcome-footer svg{width:11px;height:11px}.footer-right{font-size:8px}.left-hud{top:72px;left:max(24px,env(safe-area-inset-left));width:200px}.quest-tracker{padding:12px 13px;border-radius:13px}.tracker-eyebrow{font-size:8px;margin-bottom:10px}.quest-tracker>strong{font-size:11px}.quest-tracker>p{display:none}.tracker-bottom,.quest-done{font-size:8px;padding-top:10px;margin-top:10px}.tracker-progress{padding-top:10px}.tracker-progress>div>span{width:25px;height:25px}.player-chip,.collection-tracker{display:none}.minimap-wrap{width:80px;top:69px;right:max(23px,env(safe-area-inset-right))}.map-caption{display:none}.joystick-wrap{left:max(28px,env(safe-area-inset-left));bottom:max(19px,env(safe-area-inset-bottom));gap:7px}.joystick{height:100px;width:100px}.joystick-knob{width:43px;height:43px}.control-caption{font-size:8px}.touch-actions{right:max(30px,env(safe-area-inset-right));bottom:max(23px,env(safe-area-inset-bottom));gap:13px}.touch-interact{height:66px;width:66px;border-radius:24px}.touch-interact>svg{width:24px;height:24px}.touch-interact>span{font-size:8px}.recenter-button{width:32px;height:32px}.interaction-prompt{bottom:23px;padding:9px 12px;border-radius:14px;gap:9px}.prompt-symbol,.prompt-symbol .portrait{width:34px;height:34px}.interaction-prompt strong{font-size:11px}.interaction-prompt>div:nth-child(2)>span{font-size:8px}.quiet-tip{font-size:9px;bottom:25px}.modal-backdrop{padding:10px}.side-panel{max-height:calc(100dvh - 20px)}.panel-heading{padding:13px 19px}.panel-heading h2{font-size:24px}.panel-icon{height:39px;width:38px;border-radius:12px}.panel-body{padding:18px}.panel-footer{padding:10px;font-size:8px}.dialogue-layer{padding:16px}.dialogue-card{max-width:630px;gap:20px;padding:17px 21px}.dialogue-portrait{width:72px;padding-top:2px}.dialogue-portrait .portrait{width:68px;height:68px;border-radius:24px}.dialogue-line{min-height:44px;font-size:12px;margin:8px 0 12px}.dialogue-name strong{font-size:21px}.dialogue-name>button{height:30px}.dialogue-next{padding:9px 13px;min-height:39px;font-size:10px}.toast-stack{top:65px}.toast{padding:9px 13px 9px 10px;min-width:250px;border-radius:13px}.toast-symbol{width:33px;height:33px}.toast-symbol svg{width:23px;height:23px}.toast strong{font-size:10px}.toast>div>span{font-size:8px}}@media(max-aspect-ratio:1/1){.topbar,.is-playing .topbar{top:max(19px,env(safe-area-inset-top));left:max(20px,env(safe-area-inset-left));right:max(20px,env(safe-area-inset-right));gap:10px}.brand{gap:9px}.brand>.portrait{width:40px;height:40px;border-radius:14px}.brand strong{font-size:21px;letter-spacing:0}.brand-eyebrow,.header-motto{display:none}.brand-dot{font-size:25px}.guide-button{padding:0 11px;height:37px;gap:5px;font-size:9px}.guide-button svg{width:15px}.welcome-shade{background:linear-gradient(0deg,#fbf8ec 0%,#fbf8ec 27%,#fbf8ecd9 42%,#faf8eb1a 65%,transparent 78%)}.welcome-content{width:auto;left:28px;right:24px;top:auto;bottom:max(77px,calc(env(safe-area-inset-bottom) + 50px));transform:none}.welcome-tag{font-size:10px;padding:6px 10px}.welcome h1{font-size:clamp(45px,12.7vw,66px);margin:17px 0 13px;line-height:1.15;letter-spacing:1px}.heading-sparkle{left:243px;top:-4px;width:23px;height:23px}.welcome-description{font-size:11px;line-height:1.95}.welcome-features{margin:18px 0 21px;gap:8px;font-size:9px}.welcome-features>span{padding:6px 8px;gap:5px}.welcome-features svg{width:13px;height:13px}.start-button{height:53px;width:204px;font-size:15px;border-radius:14px;padding-left:23px}.start-arrow{height:33px;width:33px;border-radius:10px}.save-hint{margin-top:16px;font-size:9px}.sunny-note{top:14%;right:7%;width:108px;height:122px;padding:13px 15px;gap:6px}.sunny-note>svg{width:24px;height:24px}.sunny-note>span:not(.note-doodle){font-size:23px}.note-doodle{font-size:18px;right:13px}.world-caption,.welcome-footer .footer-right{display:none}.welcome-footer{left:28px;right:28px;bottom:max(24px,env(safe-area-inset-bottom));font-size:9px}.is-playing .brand>.portrait{width:35px;height:35px;border-radius:12px}.is-playing .brand strong{font-size:18px}.is-playing .brand{gap:8px}.top-actions{gap:5px}.is-playing .nav-button{width:35px;height:37px;padding:0;border-radius:11px;position:relative}.is-playing .nav-button svg{width:17px;height:17px}.is-playing .nav-button>span:not(.nav-count){display:none}.nav-count{position:absolute;top:-5px;right:-4px;min-width:15px;line-height:15px;font-size:8px;background:#e4d9b9}.help-nav{display:none}.location-pill{top:62px;left:0;transform:none;padding:0 11px;font-size:10px;gap:7px;height:32px}.location-icon>svg{width:16px}.location-pill small,.location-divider{display:none}.left-hud{top:131px;left:20px;width:210px}.player-chip,.collection-tracker{display:none}.quest-tracker{padding:13px 14px;border-radius:14px}.tracker-eyebrow{font-size:8px;margin-bottom:11px}.quest-tracker>strong{font-size:11px}.quest-tracker>p{font-size:9px;line-height:1.8;margin-top:7px}.tracker-bottom,.quest-done{font-size:8px}.minimap-wrap{top:86px;right:19px;width:84px;bottom:auto}.map-caption{display:none}.joystick-wrap{left:25px;bottom:max(45px,calc(env(safe-area-inset-bottom) + 15px))}.joystick{width:108px;height:108px}.touch-actions{right:27px;bottom:max(51px,calc(env(safe-area-inset-bottom) + 21px));gap:14px}.touch-interact{width:73px;height:73px}.quiet-tip{font-size:9px;bottom:max(23px,env(safe-area-inset-bottom));letter-spacing:.6px}.interaction-prompt{bottom:max(183px,calc(env(safe-area-inset-bottom) + 153px));max-width:calc(100% - 38px);min-width:0;width:max-content;padding:10px 14px;border-radius:14px}.interaction-prompt strong{font-size:11px}.interaction-prompt>div:nth-child(2)>span{font-size:9px}.modal-backdrop{padding:max(9px,env(safe-area-inset-top)) 9px max(9px,env(safe-area-inset-bottom))}.side-panel,.wide-panel{width:100%;max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:23px}.panel-heading{padding:19px 18px 17px;gap:11px}.panel-heading h2{font-size:26px}.panel-heading>div:nth-child(2)>span{font-size:8px}.panel-body{padding:19px}.panel-icon{width:41px;height:43px}.item-grid{gap:8px}.item-card{min-height:128px}.panel-tabs>button{font-size:9px;gap:4px}.panel-tabs>button>span{font-size:8px}.panel-tabs svg{width:13px}.guide-controls{gap:9px}.guide-controls>div{padding:15px 12px}.guide-keys{gap:3px}.guide-keys kbd{min-width:20px;height:21px;line-height:19px;font-size:10px}.guide-keys small{font-size:7px}.guide-controls p{font-size:8px;line-height:2.2}.dialogue-layer{padding:0 13px max(21px,env(safe-area-inset-bottom))}.dialogue-card{gap:13px;padding:17px 16px;border-radius:21px}.dialogue-portrait{width:55px;gap:0;padding-top:5px}.dialogue-portrait .portrait{width:55px;height:55px;border-width:3px;border-radius:20px}.dialogue-portrait>span{display:none}.dialogue-name{gap:8px}.dialogue-name strong{font-size:23px}.dialogue-name>span{font-size:7px;padding:4px 5px}.dialogue-name>button{min-height:35px;min-width:30px;width:30px}.dialogue-line{font-size:13px;line-height:1.95;min-height:74px;margin:11px 0 14px}.dialogue-next{min-height:42px;padding:10px 12px;font-size:10px;gap:9px}.dialogue-next>svg{width:15px}.toast-stack{top:78px;max-width:calc(100% - 26px)}.toast{min-width:268px;padding:11px 13px 11px 10px;gap:10px}.toast strong{font-size:11px}.toast>div>span{font-size:8px}}@media(max-height:720px)and (max-aspect-ratio:1/1){.welcome-content{bottom:61px}.welcome h1{font-size:45px;margin:13px 0 10px}.welcome-features{margin:13px 0 17px}.welcome-description{font-size:10px}.welcome-tag{font-size:9px;padding:5px 9px}.start-button{height:48px;font-size:14px}.sunny-note{top:12%;width:99px;height:105px;padding:10px 12px}.sunny-note>span:not(.note-doodle){font-size:21px}.sunny-note>svg{width:21px;height:21px}.welcome-footer{bottom:20px;font-size:8px}.save-hint{margin-top:14px;font-size:8px}.quest-tracker>p{display:none}.tracker-bottom{margin-top:12px}}@media(max-width:370px){.topbar,.is-playing .topbar{left:15px;right:15px}.brand strong{font-size:18px}.is-playing .brand strong{font-size:16px}.brand{gap:7px}.nav-button.guide-button{width:35px;padding:0}.nav-button.guide-button>span{display:none}.is-playing .nav-button{width:32px}.panel-heading{padding:17px 14px}.panel-heading>div:nth-child(2)>span{font-size:7px}.panel-body{padding:16px}.panel-tabs>button>span{display:none}}@media(pointer:coarse){.nav-button,.is-playing .nav-button,.nav-button.guide-button{min-width:44px;min-height:44px}.recenter-button{width:44px;height:44px}.dialogue-next,.dialogue-name>button,.close-button,.panel-tabs>button{min-height:44px}.dialogue-name>button,.close-button{min-width:44px}.quest-tracker>strong{font-size:12px}.quest-tracker>p{font-size:11px}.tracker-bottom,.quest-done{font-size:9px}.panel-heading>div:nth-child(2)>span{font-size:9px}.item-card strong{font-size:12px}.item-status{font-size:10px}.bag-summary,.item-detail strong,.setting-row strong{font-size:12px}.item-detail p,.guide-intro,.guide-tips p,.quest-card>p,.quest-panel-intro p{font-size:11px}.guide-controls p{font-size:10px}.quest-card h3{font-size:14px}.quest-items>div>span,.quest-location,.save-card p{font-size:11px}.panel-tabs>button{font-size:11px}.dialogue-line{font-size:14px}.dialogue-next,.panel-primary,.setting-link{font-size:12px}}
