*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#11283e;color:#eefaff;font-family:system-ui,-apple-system,sans-serif}canvas{display:block;width:100vw;height:100vh}button{font:inherit;cursor:pointer;color:inherit;border:1px solid #c3ebff38;background:#13364dcf;padding:12px 18px;border-radius:12px;transition:.2s}button:hover{background:#315d77;transform:translateY(-1px)}button:disabled{opacity:.4;cursor:default}header{position:absolute;top:0;left:0;width:100%;padding:26px 32px;display:flex;gap:14px;align-items:center;background:linear-gradient(#0c233cc7,transparent)}.brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:13px;font-size:34px;margin-right:auto}.brand span{font-size:14px;letter-spacing:2px;font-weight:750}.brand small{display:block;font-size:9px;letter-spacing:3px;margin-top:7px;color:#98c8dc}.pill{background:#0c283cbc;border:1px solid #c3ebff28;padding:12px 20px;border-radius:12px;font-size:10px;letter-spacing:2px}.pill b{font-size:15px;margin-left:10px}.crystal{color:#89e7ff;font-size:19px}kbd{font:10px system-ui;border:1px solid #c3ebff50;background:#d4f5ff10;border-radius:5px;padding:4px 7px;margin-left:3px}.status{position:absolute;left:32px;top:125px;width:245px;background:#0b283aa8;border:1px solid #c3ebff30;border-radius:18px;padding:22px;backdrop-filter:blur(12px)}small{font-size:10px;letter-spacing:2px;color:#b4d8e9}h2{font-size:18px;font-weight:500;margin:9px 0 20px}.health,.progress{height:7px;background:#ffffff15;border-radius:10px;overflow:hidden}.health i,.progress i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#70c4e7,#c3ffeb);transition:width .15s}.row{display:flex;justify-content:space-between;font-size:11px;color:#bad9e7;margin-top:10px}.objective{margin-top:25px;padding-top:20px;border-top:1px solid #ffffff20}.objective p{font-size:13px}.progress{height:3px}.bottom{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:30px;white-space:nowrap;background:#102a40bc;border:1px solid #c3ebff30;padding:16px 24px;border-radius:15px;font-size:11px;color:#c6e2f0}.overlay{position:absolute;inset:0;background:#071b3380;backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;padding:20px}.overlay.hidden{display:none}.panel{width:540px;max-height:85vh;overflow:auto;text-align:center;background:linear-gradient(145deg,#193e57f5,#0c243df5);padding:38px;border:1px solid #b0e7ff55;border-radius:25px;box-shadow:0 30px 100px #06162280}.panel .emblem{font-size:55px;color:#a9efff}.panel h1{font-family:Georgia,serif;font-size:42px;font-weight:400;margin:15px 0}.panel p{font-size:14px;line-height:1.7;color:#bdd4e3}.primary{background:#b0ecff;color:#12394c;font-weight:700;border:0;padding:15px 25px;margin-top:15px}.primary:hover{background:#dcf8ff}.secondary{display:block;margin:15px auto 0;font-size:12px;background:none}.shopitem{display:flex;align-items:center;justify-content:space-between;text-align:left;padding:15px 0;border-top:1px solid #ffffff20;gap:12px}.shopitem b{font-size:14px}.shopitem small{display:block;letter-spacing:0;line-height:1.5;margin-top:6px}.shopitem button{white-space:nowrap;font-size:12px}#toast{position:absolute;top:100px;left:50%;transform:translateX(-50%);border-radius:20px;padding:10px 24px;background:#12334bdd;opacity:0;transition:opacity .3s;pointer-events:none}.touch{display:none;position:absolute;bottom:90px;left:20px;right:20px;justify-content:space-between;align-items:end;pointer-events:none}.touch button{pointer-events:auto;touch-action:none;min-width:45px}.fire{width:72px;height:72px;font-size:30px}@media(pointer:coarse){.touch{display:flex}.bottom{display:none}}@media(max-width:700px){header{padding:14px;gap:7px}.brand span{font-size:10px}.brand small{display:none}.brand{font-size:24px}.pill{padding:9px;letter-spacing:0}.pill b{font-size:12px;margin:0}header button{padding:9px;font-size:11px}header kbd{display:none}.status{left:14px;top:90px;width:180px;padding:15px}.status h2{font-size:14px}.panel{padding:24px}.panel h1{font-size:34px}.bottom{gap:10px;font-size:9px;padding:10px}.bottom span:last-child{display:none}}
