:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#fff;font-size:16px;color-scheme:dark}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#93c8d0}button{font:inherit;color:inherit;border:1px solid #ffffff35;background:#183e48d9;border-radius:14px;padding:12px 18px;cursor:pointer;min-height:46px;backdrop-filter:blur(16px)}button:hover,button.active{background:#d9f584;color:#193a3a;border-color:#d9f584}button:focus-visible{outline:3px solid #f4ba64;outline-offset:3px}#world{display:block;width:100vw;height:100dvh;touch-action:none}header{position:absolute;top:28px;left:32px;right:32px;display:flex;justify-content:space-between;pointer-events:none}.brand{font-size:32px;font-weight:950;letter-spacing:5px;text-shadow:0 2px 12px #153b4250}.brand span{display:block;font-size:12px;letter-spacing:2px;margin-top:1px}.topactions{display:flex;gap:8px;pointer-events:auto}#mission{position:absolute;top:132px;left:32px;max-width:295px;text-shadow:0 2px 12px #14354070;pointer-events:none}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:800;color:#dcf4a5}h1{font-size:32px;line-height:1.1;margin:12px 0}p{line-height:1.55;font-size:16px}#progress{display:inline-block;background:#143e49b8;border:1px solid #ffffff30;border-radius:30px;padding:10px 16px;font-size:14px;margin-top:8px}#toolbar{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);display:flex;gap:9px;white-space:nowrap}#build{background:#e4f5a6;color:#22392c;font-weight:750}#hint{position:absolute;bottom:99px;left:50%;transform:translateX(-50%);font-size:13px;white-space:nowrap;text-shadow:0 1px 6px #123}#toast{position:absolute;left:50%;top:100px;transform:translateX(-50%);max-width:85vw;padding:13px 20px;background:#123d48ee;border:1px solid #ffffff30;border-radius:16px;opacity:0;transition:opacity .2s;pointer-events:none}#toast.show{opacity:1}#buildbar{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);background:#153943ec;padding:14px;border-radius:22px;border:1px solid #ffffff35;max-width:95vw}#buildbar .pieces{display:flex;gap:7px}#buildbar button{padding:10px 13px;font-size:14px}#buildbar .buildtools{display:flex;justify-content:center;gap:8px;margin-top:10px}#buildbar p{text-align:center;margin:8px 0 0;font-size:13px;color:#cbdcdf}dialog{width:min(530px,92vw);border:1px solid #ffffff30;border-radius:28px;padding:36px;background:#153943;color:white;max-height:90dvh}dialog::backdrop{background:#102e386b;backdrop-filter:blur(9px)}dialog h2{font-size:32px;line-height:1.1;margin:14px 0}dialog p,dd{color:#c8dce0}dt{font-weight:750;margin-top:16px}dd{margin:6px 0;line-height:1.5}.close{position:absolute;right:16px;top:12px;padding:5px 12px;font-size:24px;background:none;border:0}.primary{background:#e0f4a2;color:#183a3b;width:100%;margin-top:14px;font-weight:bold}#touch{display:none}#error{position:absolute;inset:30%;padding:30px;background:#153943;border-radius:20px}[hidden]{display:none!important}@media(pointer:coarse){#touch{display:block}#stick{position:absolute;bottom:115px;left:28px;width:106px;height:106px;background:#15394355;border:2px solid #ffffff66;border-radius:50%;touch-action:none}#stick i{position:absolute;top:31px;left:31px;width:40px;height:40px;border-radius:50%;background:#eef7dbbb;pointer-events:none}#jump{position:absolute;bottom:135px;right:28px;width:78px;height:78px;border-radius:50%;touch-action:none}#hint{display:none}}@media(max-width:650px){header{top:18px;left:18px;right:18px}.brand{font-size:25px}.brand span{font-size:10px;letter-spacing:1.3px}.topactions button{font-size:13px;padding:8px 11px}#mission{top:99px;left:18px;max-width:225px}h1{font-size:25px}#mission p{font-size:14px;margin:8px 0}#progress{font-size:12px;padding:8px 12px}#toolbar{bottom:22px;gap:5px;width:calc(100% - 30px);justify-content:center}#toolbar button{font-size:13px;padding:9px 11px;white-space:normal}#buildbar .pieces{flex-wrap:wrap;justify-content:center}#buildbar{width:95vw;padding:10px;bottom:15px}#buildbar button{padding:8px 11px}body.building #stick{bottom:235px}body.building #jump{bottom:250px}#toast{top:78px;font-size:14px}dialog{padding:26px}}@media(max-height:520px){#mission{top:87px}#mission h1{font-size:22px}#mission p{display:none}#toolbar{bottom:15px}#hint{bottom:76px}#stick{bottom:85px!important}#jump{bottom:95px!important}}
