:root{font-family:Trebuchet MS,Arial,sans-serif;color:#f6f7e9;font-synthesis:none;--mint:#9df4cf;--gold:#ffd978;--ink:#153b49;--glass:rgba(14,39,52,.9)}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{background:#112d3a;user-select:none;-webkit-user-select:none;touch-action:none}button{font:inherit;color:inherit;cursor:pointer;border:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .14s,background .2s}button:active{transform:scale(.92)}button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}#world{position:absolute;inset:0;background:radial-gradient(ellipse at 40% 40%,#355d6d,#162f40)}#world canvas{width:100%;height:100%;display:block}#hud{position:absolute;inset:0;pointer-events:none;padding:max(20px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}.top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.brand{display:flex;align-items:center;gap:11px;text-shadow:0 2px 8px #102635}.brand-icon{width:46px;height:46px;background:#f6c285;color:#193b49;border-radius:16px;display:grid;place-items:center;font-size:29px;box-shadow:0 4px #102c3b55}.brand h1{font-size:16px;letter-spacing:2px;line-height:1.2;margin:0;font-weight:900}.brand small{display:block;color:#9dc1c8;font-size:10px;letter-spacing:2.4px;margin-top:5px}.top-right{display:flex;gap:8px;align-items:center}.wallet{background:#f7e5b6;color:#244450;border:2px solid #fff0c7;border-radius:16px;display:flex;align-items:center;gap:9px;padding:10px 16px;min-width:104px;box-shadow:0 4px #173c4d45;font-size:21px;font-weight:900;font-variant-numeric:tabular-nums}.coin{background:#e8a94f;color:#7b4b28;border:2px solid #cb8a3f;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;font-size:14px}.icon-button{pointer-events:auto;background:var(--glass);width:44px;height:44px;border:1px solid #7395a34d;border-radius:14px;font-size:18px;display:grid;place-items:center;box-shadow:0 4px #10293635}.quest{position:absolute;left:24px;top:92px;width:244px;border:1px solid #6b9aa358;border-radius:18px;background:linear-gradient(135deg,#173c4bf5,#102c3ce8);box-shadow:0 8px 20px #09233025;padding:16px 17px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:#9bbec6;text-transform:uppercase}.quest h2{font-size:19px;line-height:1.25;margin:7px 0 10px;letter-spacing:-.4px}.quest p{margin:8px 0 0;color:#b5d0d5;font-size:11px;line-height:1.5}.quest .progress{margin-top:11px}.progress{height:5px;border-radius:9px;background:#627c8540;overflow:hidden}.progress i{display:block;height:100%;background:var(--mint);width:0;transition:width .3s;border-radius:9px}.goal-row{display:flex;justify-content:space-between;font-size:11px;color:#b8d4d8;margin-top:8px}.goal-row strong{color:#f4edd3;font-weight:600}.bottom-left{position:absolute;bottom:20px;left:24px;display:flex;align-items:center;gap:8px}.pill-button{pointer-events:auto;display:flex;gap:8px;align-items:center;background:var(--glass);border:1px solid #638a9a70;padding:11px 14px;border-radius:14px;font-size:12px;font-weight:700;box-shadow:0 4px #112c3d3d}.pill-button .tag{font-size:9px;color:#143a46;background:var(--mint);border-radius:6px;padding:3px 5px}.bottom-right{position:absolute;right:24px;bottom:20px;background:var(--glass);border:1px solid #638a9a50;border-radius:15px;padding:10px 14px;min-width:125px}.tray-title{display:flex;justify-content:space-between;gap:14px;font-size:11px;color:#b7cfd2;margin-bottom:6px}.tray-title strong{color:#fff3d2}.balance{height:5px;background:#627c8540;border-radius:5px;overflow:hidden}.balance i{display:block;width:0;height:100%;background:#ffb882;transition:width .08s}.hint{position:absolute;bottom:25px;left:50%;transform:translate(-50%);text-align:center;color:#e9f3df;text-shadow:0 2px 8px #14303f;font-size:12px;letter-spacing:.3px;white-space:nowrap}.hint .keys{display:inline-flex;gap:3px;margin-left:9px}.key{border:1px solid #b3c6c774;border-bottom:3px solid #b3c6c750;background:#183d4b99;border-radius:5px;padding:4px 6px;font-size:10px}.hint small{display:block;font-size:10px;color:#a9c7cb;letter-spacing:1px;margin-top:6px}.pad-label{position:absolute;transform:translate(-50%,-50%);text-align:center;pointer-events:none;min-width:75px;filter:drop-shadow(0 3px 3px #17313f90);opacity:.9}.pad-label .pad-name{display:block;font-size:10px;letter-spacing:.6px;color:#e0f3ed;font-weight:800;text-transform:uppercase}.pad-label strong{display:inline-block;background:#173c4bef;border:1px solid #85b4bd80;border-radius:8px;padding:3px 8px;font-size:13px;margin-top:3px;color:#b6c3c7;font-variant-numeric:tabular-nums}.pad-label.affordable strong{color:#fff0be;border-color:#ffd776;background:#725331e8}.pad-label.max strong{color:#a0f0c4}.pad-label.near{opacity:1}.pad-label.near strong{box-shadow:0 0 15px #f7d68c55}.pad-label .pad-level{font-size:8px;color:#aec6c8;margin-top:3px;display:block;letter-spacing:2px}.station-label{position:absolute;transform:translate(-50%,-100%);pointer-events:none;background:#f5e8c8;color:#244650;border-radius:9px;padding:5px 10px;font-size:10px;font-weight:900;letter-spacing:1px;box-shadow:0 3px #16344740;white-space:nowrap}.station-label em{font-style:normal;color:#467f7f;letter-spacing:0;margin-left:5px}#cash-label{background:#ffd477}#portal-label{background:#93f4cd}.action-bubble{position:absolute;transform:translate(-50%,-100%);pointer-events:none;background:#f8efd7;color:#224351;border-radius:12px;padding:8px 12px;min-width:110px;text-align:center;font-size:11px;font-weight:800;box-shadow:0 4px #1b3d4b40;transition:opacity .15s}.action-bubble .progress{margin-top:6px;background:#284c4d30}.action-bubble .progress i{background:#29a68e}#toast{position:absolute;left:50%;top:90px;transform:translate(-50%,-12px);opacity:0;background:#f8e7c5;color:#254452;padding:12px 22px;border-radius:14px;text-align:center;font-size:13px;font-weight:800;box-shadow:0 5px #12324150;transition:opacity .2s,transform .25s;max-width:85vw;z-index:8;pointer-events:none}#toast.visible{opacity:1;transform:translate(-50%)}.float{position:absolute;pointer-events:none;font-size:22px;font-weight:900;color:#ffe79f;text-shadow:0 3px 0 #4f3e29,0 4px 9px #19333d;animation:float 1.25s ease-out forwards;white-space:nowrap}.float.small{font-size:16px;color:#b6ffe0}@keyframes float{0%{opacity:0;transform:translate(-50%) scale(.6)}15%{opacity:1;transform:translate(-50%,-15px) scale(1.15)}70%{opacity:1}to{opacity:0;transform:translate(-50%,-65px) scale(.9)}}#joystick{position:absolute;width:100px;height:100px;border:2px solid #d2f6e544;border-radius:50%;background:#14384a44;pointer-events:none;display:none;transform:translate(-50%,-50%);z-index:10}#joystick i{display:block;position:absolute;width:42px;height:42px;background:#d3f7df85;border:2px solid #e9fff799;border-radius:50%;left:27px;top:27px}#rush-bar{position:absolute;top:94px;left:50%;transform:translate(-50%);width:245px;background:#184250ee;border:1px solid #ffcb7f90;border-radius:14px;padding:11px 14px;display:none}.rush-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:800}.rush-top span{color:#ffd27d}.rush-bottom{display:flex;justify-content:space-between;font-size:10px;color:#b8d4d7;margin-top:7px}#rush-bar .progress{margin-top:7px}#rush-bar .progress i{background:#ffbf80}#overlay{position:absolute;inset:0;background:#082734b5;backdrop-filter:blur(9px);display:none;align-items:center;justify-content:center;padding:20px;pointer-events:auto;z-index:20}#overlay.open{display:flex}.modal{width:440px;max-width:100%;max-height:100%;overflow-y:auto;background:#173d4d;border:1px solid #729eaa7d;border-radius:26px;padding:29px;box-shadow:0 20px 90px #061c2880;animation:modal-in .25s cubic-bezier(.2,1.6,.5,1);text-align:center}.modal.wide{width:550px}.modal .symbol{width:65px;height:65px;background:#f2ce88;color:#214656;border-radius:22px;margin:0 auto 17px;display:grid;place-items:center;font-size:32px;box-shadow:0 5px #0b2c3d}.modal h2{font-size:29px;margin:8px 0 10px;letter-spacing:-.7px;color:#fbefd3}.modal p{font-size:13px;line-height:1.7;color:#b1cdd2;margin:8px 0 20px}.modal .primary,.modal .secondary{padding:14px 20px;border-radius:12px;width:100%;font-weight:900;font-size:14px;letter-spacing:.3px;margin-top:8px}.primary{background:#a5f3cf;color:#174b4f;box-shadow:0 4px #54ad9a}.secondary{background:#254f60;border:1px solid #6f94a36b;box-shadow:0 3px #102e3e;color:#d8e7df}.modal .eyebrow{color:#a5f0d1}.modal-stats{display:flex;gap:10px;margin:22px 0}.modal-stat{flex:1;background:#102f3e;border-radius:14px;padding:13px 8px}.modal-stat strong{display:block;font-size:24px;color:#ffdc8e}.modal-stat small{display:block;font-size:9px;letter-spacing:1px;color:#a7c7cf;margin-top:5px}.menu-row{display:flex;justify-content:space-between;padding:12px 2px;border-bottom:1px solid #638d9a35;font-size:12px;color:#cee1df;text-align:left}.menu-row b{color:#ffd98f}.outfits{display:flex;gap:8px;margin:20px 0}.outfit{flex:1;display:flex;align-items:center;flex-direction:column;gap:9px;min-width:0;border-radius:14px;padding:13px 5px;background:#224b5c;border:1px solid #6b94a060}.outfit.selected{border:2px solid #a3f2ce;background:#31645f}.outfit .swatch{width:38px;height:40px;border-radius:12px 12px 7px 7px;border-top:10px solid #f5e4bd;box-shadow:0 4px #0e2d3b}.outfit strong{font-size:11px}.outfit small{font-size:10px;color:#b9d2d0}.floor-list{display:flex;gap:5px;margin:16px 0}.floor-dot{height:7px;flex:1;border-radius:9px;background:#305362}.floor-dot.done{background:#a2edce}#loading{position:absolute;inset:0;display:grid;place-items:center;background:#153545;z-index:30;text-align:center;color:#b9edda;font-size:14px;letter-spacing:3px;transition:opacity .2s}.load-bowl{font-size:55px;display:block;animation:bob 1s infinite alternate;margin-bottom:15px}@keyframes bob{to{transform:translateY(-9px)}}@keyframes modal-in{0%{opacity:0;transform:translateY(15px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@media(min-width:1500px){.quest{top:108px;width:266px}.brand h1{font-size:18px}.brand small{font-size:11px}}@media(max-width:650px)and (min-height:520px){#hud{padding:14px 12px}.brand{gap:7px}.brand-icon{width:36px;height:36px;border-radius:12px;font-size:23px}.brand h1{font-size:11px;letter-spacing:1px}.brand small{font-size:7px;letter-spacing:1px;margin-top:4px}.top-right{gap:5px}.wallet{min-width:76px;padding:7px 9px;font-size:17px;gap:6px;border-radius:12px}.coin{width:19px;height:19px;font-size:12px}.icon-button{width:34px;height:36px;border-radius:11px;font-size:15px}.quest{left:12px;top:70px;width:calc(100% - 24px);padding:11px 14px;border-radius:14px}.quest .eyebrow{font-size:8px;letter-spacing:1.3px}.quest h2{font-size:17px;margin:5px 0 7px}.quest p{display:none}.quest .progress{margin-top:7px}.goal-row{margin-top:6px;font-size:10px}.bottom-left{left:12px;bottom:max(16px,env(safe-area-inset-bottom));gap:6px}.pill-button{font-size:10px;padding:10px;border-radius:11px;gap:5px}.pill-button .tag{font-size:8px;padding:2px 3px}.bottom-right{right:12px;bottom:16px;min-width:103px;padding:10px;border-radius:12px}.hint{bottom:78px;font-size:11px;width:100%}.hint .keys{display:none}.hint small{font-size:8px}.pad-label{min-width:55px}.pad-label .pad-name{font-size:8px;letter-spacing:0}.pad-label strong{padding:2px 6px;font-size:11px;border-radius:6px}.pad-label .pad-level{font-size:7px}.station-label{font-size:8px;padding:4px 6px;letter-spacing:.4px}.action-bubble{font-size:10px;min-width:95px;padding:7px 10px}#toast{top:180px;font-size:11px;padding:10px 14px}#rush-bar{top:178px;width:220px;padding:9px 12px}.modal{padding:24px 21px;border-radius:22px}.modal h2{font-size:26px}}@media(max-height:520px){#hud{padding:10px 15px}.brand-icon{width:34px;height:34px;font-size:22px;border-radius:11px}.brand{gap:8px}.brand h1{font-size:11px;letter-spacing:1.3px}.brand small{font-size:7px;margin-top:3px}.wallet{padding:6px 11px;font-size:17px;min-width:80px;border-radius:11px}.coin{width:19px;height:19px}.icon-button{width:34px;height:34px;border-radius:10px;font-size:15px}.quest{top:58px;left:15px;width:169px;padding:11px;border-radius:13px}.quest h2{font-size:14px;margin:5px 0 7px}.eyebrow{font-size:8px;letter-spacing:1px}.quest p{display:none}.quest .progress{margin-top:7px}.goal-row{font-size:9px;margin-top:6px}.bottom-left{left:15px;bottom:10px}.pill-button{font-size:10px;padding:8px 10px;border-radius:11px}.bottom-right{right:15px;bottom:10px;padding:8px 10px;border-radius:11px;min-width:105px}.hint{bottom:12px;font-size:10px}.hint small{display:none}.hint .key{font-size:8px;padding:2px 4px}.pad-label .pad-name{font-size:8px}.pad-label strong{font-size:10px;padding:2px 6px}.pad-label .pad-level{font-size:7px}.station-label{font-size:8px;padding:3px 6px}.action-bubble{font-size:9px;padding:6px 10px}#toast{top:56px;font-size:11px;padding:10px 18px}#rush-bar{top:57px;width:205px;padding:8px 11px}.modal{padding:18px 24px;max-width:520px;border-radius:20px}.modal .symbol{width:42px;height:42px;font-size:23px;border-radius:13px;margin-bottom:8px}.modal h2{font-size:23px;margin:5px 0}.modal p{font-size:11px;margin:6px 0 10px;line-height:1.5}.modal .primary,.modal .secondary{padding:10px 16px;margin-top:6px;font-size:12px}.modal-stats{margin:10px 0}.modal-stat{padding:8px}.modal-stat strong{font-size:19px}.outfits{margin:10px 0}.outfit{padding:8px}.outfit .swatch{height:30px;width:30px}.menu-row{padding:8px 0;font-size:11px}}.book-gems{color:#b3f7dc;font-size:19px}.swatch-0{background:#ff966f}.swatch-1{background:#6de1bd}.swatch-2{background:#ef8bb1}.swatch-3{background:#e5bb58}.coin-fly{position:absolute;pointer-events:none;z-index:12;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:12px;background:#ffd777;color:#a36929;border:2px solid #fff0b4;box-shadow:0 2px 6px #15344466;will-change:transform,opacity}#overlay{padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}@media(max-width:650px)and (min-height:520px){#hud{padding:max(14px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.quest{top:calc(70px + env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));width:calc(100% - max(12px,env(safe-area-inset-left)) - max(12px,env(safe-area-inset-right)))}.bottom-left{left:max(12px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom))}.bottom-right{right:max(12px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}.hint{bottom:calc(78px + env(safe-area-inset-bottom))}#toast{top:calc(180px + env(safe-area-inset-top))}#rush-bar{top:calc(178px + env(safe-area-inset-top))}}@media(max-height:520px){#hud{padding:max(10px,env(safe-area-inset-top)) max(15px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(15px,env(safe-area-inset-left))}.quest{top:calc(58px + env(safe-area-inset-top));left:max(15px,env(safe-area-inset-left))}.bottom-left{left:max(15px,env(safe-area-inset-left));bottom:max(10px,env(safe-area-inset-bottom))}.bottom-right{right:max(15px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom))}.hint{bottom:calc(12px + env(safe-area-inset-bottom))}#toast{top:calc(56px + env(safe-area-inset-top))}#rush-bar{top:calc(57px + env(safe-area-inset-top))}}
