:root{font-family:ui-rounded,"Avenir Next",Nunito,"Trebuchet MS",sans-serif;color:#513c35;font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#c7e5ef}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:3px solid #8860b6;outline-offset:4px}#world{display:block;width:100%;height:100%;touch-action:none}.glass{background:#fff6e6ec;border:1px solid #ffffffcb;box-shadow:0 4px 18px #4c3b2c20,0 2px 0 #b89c783b;backdrop-filter:blur(12px)}.identity{position:fixed;top:max(22px,env(safe-area-inset-top));left:24px;border-radius:22px;display:flex;align-items:center;gap:13px;padding:10px 23px 10px 10px;pointer-events:none}.identity img{width:63px;height:63px;object-fit:cover;object-position:50% 6%;border-radius:50%;border:3px solid #fff;background:#e6d9e8}.identity h1{font-size:25px;letter-spacing:-.8px;margin:0;font-weight:850}.identity p{margin:2px 0 0;font-size:13px}.minimap{position:fixed;right:24px;top:max(22px,env(safe-area-inset-top));width:152px;border-radius:80px 80px 20px 20px;padding:5px 5px 10px}.minimap canvas{width:140px;height:140px;display:block;border-radius:50%}.minimap span{display:block;font-size:10px;letter-spacing:.5px;margin-top:5px;font-weight:700}.place{position:fixed;top:28px;left:50%;transform:translateX(-50%);border-radius:30px;padding:9px 20px;font-size:13px;font-weight:700}.place:before{content:'✦';color:#a883bd;margin-right:8px}.hint{position:fixed;bottom:95px;left:50%;transform:translateX(-50%);border-radius:30px;padding:12px 22px;font-size:13px;transition:opacity .5s;max-width:90vw;text-align:center;pointer-events:none}.hint.hidden{opacity:0}.bottom{position:fixed;bottom:max(22px,env(safe-area-inset-bottom));left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;gap:14px}.controls{border-radius:18px;padding:13px 17px;display:flex;gap:18px;font-size:11px;align-items:center}.controls span{white-space:nowrap}kbd{background:#fffaf0;border:1px solid #b8a182;border-bottom-width:2px;border-radius:6px;padding:3px 5px;font-family:inherit;font-size:10px;font-weight:700}.camera-help{opacity:.65}.tools{display:flex;gap:8px}.tools button{border-radius:50%;width:43px;height:43px;font-size:22px}.tools button[aria-pressed=true]{background:#e0cfef}dialog{border:1px solid #fff7e5;box-shadow:0 20px 90px #382c4255;background:#fff8ea;color:#513c35;padding:34px;border-radius:28px;width:min(640px,calc(100% - 30px));max-height:90dvh;overflow:auto}dialog::backdrop{background:#3b35504d;backdrop-filter:blur(5px)}dialog h2{font-size:30px;letter-spacing:-1px;margin:6px 0 16px}dialog p{font-size:14px;line-height:1.6}dialog .close{position:absolute;right:15px;top:12px;border:none;background:transparent;font-size:30px}.eyebrow{font-size:10px!important;letter-spacing:2px;font-weight:bold;color:#9672ac}.primary{border:0;background:#8260a5;color:white;border-radius:14px;padding:14px 24px;font-weight:700;width:100%}dl{font-size:13px;display:grid;grid-template-columns:90px 1fr;gap:13px 5px;margin:25px 0}dt{font-weight:800}dd{margin:0;line-height:1.4}.small,.map-note{font-size:12px!important;opacity:.7}#bigmap{width:100%;height:auto;border-radius:18px;display:block}#loading{position:fixed;inset:0;background:#faf2e9;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .5s;z-index:20;text-align:center;padding:20px}#loading h2{font-size:24px}#loading p{font-size:14px}.loading-star{font-size:64px;color:#9272af;animation:breathe 1.5s ease-in-out infinite}@keyframes breathe{50%{transform:rotate(30deg) scale(1.15)}}#touch-controls{display:none}#joystick{position:fixed;left:28px;bottom:max(28px,env(safe-area-inset-bottom));width:116px;height:116px;border-radius:50%;background:#fff6e65e;border:2px solid #fff6e6b0;touch-action:none}#stick{position:absolute;left:34px;top:34px;width:44px;height:44px;background:#fff2e6d9;border:2px solid white;border-radius:50%;box-shadow:0 2px 12px #4d35552b;pointer-events:none}#jump{position:fixed;right:28px;bottom:max(28px,env(safe-area-inset-bottom));height:84px;width:84px;border:2px solid #fff6e6bb;border-radius:50%;background:#8e6cacdd;color:white;font-size:36px;touch-action:none}#jump span{display:block;font-size:10px;margin-top:-5px}#run{position:fixed;bottom:124px;right:35px;border-radius:20px;border:1px solid #fff;background:#fff6e6d9;padding:9px 13px;font-size:11px;touch-action:none}#run[aria-pressed=true]{background:#d7bfeb}@media(pointer:coarse){#touch-controls{display:block}.controls{display:none}.bottom{bottom:180px;left:18px;right:18px;justify-content:flex-end}.hint{bottom:195px}.identity{top:max(14px,env(safe-area-inset-top));left:14px;padding:8px 14px 8px 8px;gap:9px}.identity img{width:48px;height:48px}.identity h1{font-size:21px}.identity p{font-size:10px}.minimap{right:14px;top:14px;width:107px;padding:4px 4px 7px}.minimap canvas{width:97px;height:97px}.minimap span{font-size:8px}.place{top:137px;padding:7px 13px;font-size:11px}.tools button{width:36px;height:36px;font-size:19px}}@media(max-width:850px) and (pointer:fine){.camera-help{display:none}.controls{gap:9px;font-size:10px}.controls span:first-child{font-size:0}.controls span:first-child kbd{font-size:9px}.place{top:118px}}@media(max-height:480px) and (pointer:coarse){.identity img{width:36px;height:36px}.identity h1{font-size:18px}.identity p{display:none}.minimap{width:81px}.minimap canvas{width:71px;height:71px}.minimap span{display:none}.place{top:20px}.bottom{bottom:116px;right:20px}.hint{bottom:24px;max-width:50vw;font-size:11px}#joystick{width:96px;height:96px;bottom:18px;left:20px}#stick{left:24px;top:24px}#jump{width:72px;height:72px;bottom:18px;right:20px}#run{bottom:101px;right:95px}}

.identity .portrait{width:63px;height:63px;display:block;flex-shrink:0;overflow:hidden;border-radius:50%;border:3px solid white;background:#e6d9e8}.identity .portrait img{width:100%;height:auto;border:0;border-radius:0;transform:scale(2.7);transform-origin:50% 3%}@media(pointer:coarse){.identity .portrait{width:48px;height:48px}}@media(max-height:480px) and (pointer:coarse){.identity .portrait{width:36px;height:36px}}

@media(pointer:coarse) and (min-height:481px){.hint{bottom:235px;font-size:12px;max-width:85vw}.bottom{bottom:180px}}
[hidden]{display:none!important}.journal-pill{position:fixed;top:119px;left:24px;display:flex;align-items:center;gap:9px;border-radius:25px;padding:9px 14px;font-size:11px}.journal-pill strong{font-size:12px}.gold-star{color:#bb8d41;font-size:20px}.action-button{position:fixed;bottom:105px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;background:#8862a9f2;color:#fff6e9;border:2px solid #ead5f8;border-radius:30px;padding:12px 22px 12px 13px;box-shadow:0 5px 22px #46314b4d;font-size:14px;font-weight:700;z-index:3}.action-button kbd{color:#77518f;background:#fff7eb;font-size:14px;padding:5px 10px;border:0}.hint{bottom:170px}.panel{background:linear-gradient(135deg,#fff9ed,#f9f0e9)}#journal-list{list-style:none;padding:0;display:grid;gap:10px;margin:25px 0 0}#journal-list li{display:flex;align-items:center;gap:13px;padding:13px 15px;border:1px solid #ded1be;border-radius:13px;font-size:13px}#journal-list li>span{font-size:22px;color:#b5a28a}#journal-list li.done{border-color:#c3d0ae;background:#eff4e4}#journal-list li.done>span{color:#7e985b}#journal-list small{display:block;font-size:11px;opacity:.65;margin-top:4px}#flip{position:fixed;bottom:174px;right:35px;border-radius:20px;border:1px solid #fff;background:#cfb5e5e8;color:#563a6c;padding:9px 15px;font-size:11px;touch-action:none}.identity,.minimap,.controls,.tools button,.journal-pill{box-shadow:0 7px 25px #49382925,inset 0 1px 0 #ffffffe6}.controls{font-size:10px;gap:13px;padding:13px 15px}.identity p{letter-spacing:.3px}@media(pointer:coarse){.journal-pill{top:91px;left:14px;padding:6px 11px;font-size:10px;gap:7px}.journal-pill strong{font-size:11px}.journal-pill .gold-star{font-size:15px}.hint{bottom:240px;font-size:11px;max-width:86vw}.action-button{bottom:170px;left:15px;transform:none;max-width:calc(100% - 120px);padding:10px 14px;font-size:11px;gap:7px}.action-button kbd{display:none}.bottom{bottom:24px;left:50%;right:auto;transform:translateX(-50%)}.tools{gap:4px}.tools button{width:30px;height:30px;font-size:17px}}@media(max-height:480px) and (pointer:coarse){.journal-pill{top:74px;left:14px}.action-button{left:50%;transform:translateX(-50%);bottom:45px;max-width:43vw}.hint{bottom:100px;font-size:10px;max-width:50vw}.bottom{left:50%;bottom:8px}#flip{right:174px;bottom:101px}.place{top:19px}.controls{display:none}}@media(max-width:1100px) and (pointer:fine){.camera-help{display:none}.controls{gap:9px}}
