*{box-sizing:border-box}html,body{color:#f4f5ec;background:#0c191a;height:100%;margin:0;font-family:Arial,Helvetica,sans-serif}button{font:inherit;cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #fff}.app{isolation:isolate;height:100svh;min-height:560px;position:relative;overflow:hidden}canvas,.shade,.grain{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.shade{background:linear-gradient(#07111273,#0000 29% 60%,#071112ed)}.grain{opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.4' filter='url(%23n)'/%3E%3C/svg%3E")}header{top:max(28px, env(safe-area-inset-top));justify-content:space-between;align-items:center;display:flex;position:absolute;left:36px;right:36px}.brand{letter-spacing:-1.3px;font-size:25px;font-weight:900}.brand span{color:#d7f57a}.brand small{letter-spacing:1px;color:#d2d5c9;margin-top:8px;font:12px monospace;display:block}.badge{letter-spacing:1.4px;border:1px solid #ffffff40;border-radius:4px;padding:9px 11px;font:12px monospace}.hud{justify-content:space-between;align-items:flex-start;display:flex;position:absolute;top:124px;left:36px;right:36px}.scene-controls{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.mode{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#101712c9;border:1px solid #ffffff35;border-radius:8px;padding:4px;display:flex}.mode button{letter-spacing:.6px;color:#c3c7bc;background:0 0;border:0;border-radius:5px;padding:13px 16px;font:14px monospace}.mode button[aria-pressed=true]{color:#20261b;background:#e3edce;box-shadow:0 1px 6px #0003}.mode span{font-weight:700}.laughs{letter-spacing:.5px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#c4cdc8;background:#101b1bc9;border:1px solid #ffffff35;border-radius:7px;align-items:center;gap:9px;min-height:44px;padding:9px 12px;font:12px monospace;display:flex}.laughs>span:first-child{letter-spacing:-1px;font-family:Georgia,serif;font-size:17px;font-style:italic}.laughs[aria-pressed=true]{color:#d7f57a;border-color:#d7f57a70}.laughs:disabled{opacity:.6;cursor:default}.altitude{text-align:right;text-shadow:0 2px 18px #000}.eyebrow{letter-spacing:2px;color:#c8ccbf;font:12px monospace}.altitude>div{justify-content:flex-end;align-items:baseline;margin:3px 0 6px;display:flex}.altitude output{letter-spacing:-4px;font-variant-numeric:tabular-nums;font-size:64px;font-weight:800}.altitude button{color:#d7f57a;background:0 0;border:0;border-bottom:1px dashed #fff7;margin-left:10px;padding:2px;font:20px monospace}.direction{letter-spacing:1px;color:#d7f57a;font:12px monospace}.ruler{color:#dde1d1a0;flex-direction:column;align-items:center;gap:10px;height:23%;font:18px monospace;display:flex;position:absolute;top:42%;right:40px}.ruler div{background:repeating-linear-gradient(#0000 0 11px,#e4e7d350 11px 12px);border-right:1px solid #ffffff40;flex:1;width:15px}footer{bottom:max(24px, env(safe-area-inset-bottom));width:420px;max-width:calc(100% - 40px);position:absolute;left:50%;transform:translate(-50%)}.quote{text-align:center;text-shadow:0 2px 12px #000;margin-bottom:22px;font-family:Georgia,serif;font-size:20px;font-style:italic}.footer-links{text-wrap:balance;text-align:center;letter-spacing:.6px;color:#b3b9ad;margin:0;font:11px monospace}.footer-links a,.link-button{color:#d7f57a;font:inherit;background:0 0;border:0;border-bottom:1px dashed #d7f57a77;padding:2px 0;text-decoration:none}.footer-links a,.footer-links .link-button{white-space:nowrap}.footer-links a:hover,.link-button:hover{border-bottom-style:solid}.dialog{color:#f4f5ec;text-align:left;background:#101b1b;border:1px solid #ffffff35;border-radius:10px;max-width:min(520px,100% - 32px);padding:24px;font:15px/1.55 Arial,Helvetica,sans-serif}.dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#050c0dbf}.dialog h2{letter-spacing:2px;color:#c8ccbf;text-transform:uppercase;margin:0 0 12px;font:12px monospace}.dialog p{margin:0 0 12px}.dialog a{color:#d7f57a}.dialog form{justify-content:flex-end;margin-top:8px;display:flex}.dialog form button{color:#d7f57a;letter-spacing:1px;background:0 0;border:1px solid #d7f57a70;border-radius:6px;padding:10px 16px;font:12px monospace}.loading{letter-spacing:2px;background:#0c191a;place-content:center;font:14px monospace;transition:opacity .5s;display:grid;position:absolute;inset:0}.sr{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.dialog.targets{max-width:min(640px,100% - 24px);max-height:calc(100svh - 32px)}.targets-now{letter-spacing:1px;color:#d7f57a;font:11px monospace}.targets table{border-collapse:collapse;width:100%;font:12px monospace}.targets th,.targets td{text-align:right;white-space:nowrap;border-bottom:1px solid #ffffff14;padding:6px}.targets thead th:first-child{text-align:left}.targets-scroll{overflow-x:auto}.targets-note{color:#9aa294;margin-top:10px;font:11px monospace}.targets thead th{letter-spacing:1.5px;color:#9aa294;text-transform:uppercase;font-size:10px;font-weight:400}.targets tbody th{text-align:left;white-space:normal;font-weight:400}.targets tbody th small{color:#9aa294}.targets tr.passed{color:#8f978b}.targets tr.passed td:last-child{color:#d7f57a}.targets tr.next{color:#f4f5ec;background:#d7f57a14}.targets tr.next b{color:#d7f57a;letter-spacing:1px;font-weight:400}.targets tr.ahead td:last-child{color:#c3c7bc}.targets tr.leap td{text-align:left;white-space:normal;color:#c3c7bc;background:repeating-linear-gradient(135deg,#d7f57a08 0 8px,#0000 8px 16px);border:1px dashed #d7f57a80;padding:12px;line-height:1.5}.targets tr.leap b{color:#d7f57a;letter-spacing:2px;margin-bottom:4px;font-weight:400;display:block}.targets tr.leap.passed td{color:#8f978b}.targets tr.moon{color:#f4f5ec;background:radial-gradient(circle at 18px,#e8ecf266 0 7px,#e8ecf21f 8px,#0000 42px),linear-gradient(90deg,#e8ecf214,#0000 70%)}.targets tr.moon th{padding-left:34px;font-weight:700}.targets tr.moon td:nth-child(3){color:#d7f57a;font-weight:700}.targets tr.moon.passed{color:#c3c7bc}.altitude .stats-button{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);letter-spacing:1px;color:#d7f57a;background:#101b1bc9;border:1px solid #ffffff35;border-radius:6px;margin-top:10px;padding:7px 10px;font:11px monospace}@media (width<=600px){.targets th,.targets td{padding:5px 3px;font-size:11px}.targets tr.next b{display:none}.altitude .stats-button{padding:6px 8px;font-size:10px}}.mode-wrap{flex-direction:column;gap:6px;width:max-content;display:inline-flex}.mode button:disabled{cursor:not-allowed;color:#8d948a}.lock{vertical-align:-1px;margin-left:2px}.unlock{letter-spacing:1px;color:#c3c7bc;gap:5px;font:10px monospace;display:grid}.unlock-bar{background:#ffffff1f;border-radius:2px;height:4px;overflow:hidden}.unlock-bar div{background:#d7f57a;height:100%;transition:width .6s}.stats{letter-spacing:.5px;color:#dfe3d6;justify-items:end;gap:6px;margin:14px 0 0;font:11px monospace;display:grid}.stats div{text-align:right;gap:8px;max-width:340px;display:flex}.stats dt{color:#9aa294}.stats dd{margin:0}.flashes{pointer-events:none;flex-direction:column;gap:6px;display:flex;position:absolute;top:36%;left:58%}.flash{text-shadow:0 2px 8px #000;white-space:nowrap;font:17px monospace;animation:2.6s ease-out forwards flash-in}.flash.buy{color:#e4ffac}.flash.sell{color:#ffab9e}@keyframes flash-in{0%{opacity:0;transform:translateY(8px)}10%,75%{opacity:1;transform:none}to{opacity:0;transform:translateY(-10px)}}.banner{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;pointer-events:none;background:#0c1a1acc;border:1px solid #d7f57a55;border-radius:8px;justify-items:center;gap:4px;max-width:calc(100% - 32px);padding:12px 20px;animation:3.2s ease-out forwards banner-in;display:grid;position:absolute;top:27%;left:50%;transform:translate(-50%)}.banner span{letter-spacing:2px;color:#c8ccbf;font:11px monospace}.banner strong{color:#d7f57a;font:italic 24px Georgia,serif}.banner.red strong{color:#ffab9e}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,10px)scale(.97)}8%,85%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-6px)}}.ticker{color:#c4cdc8;text-shadow:0 1px 6px #000;gap:4px;margin:10px 0 0;padding:0;font:11px monospace;list-style:none;display:grid}.ticker span{color:#e4ffac;width:4ch;display:inline-block}.ticker .sell span,.ticker .sell em{color:#ffab9e}.ticker em{color:#d7f57a;font-style:normal}.actions{justify-content:center;gap:10px;margin:0 0 14px;display:flex}.actions a{letter-spacing:2px;border-radius:8px;justify-content:center;align-items:center;min-height:48px;padding:0 22px;font-size:14px;font-weight:800;text-decoration:none;display:inline-flex}.actions .buy{color:#1b2717;background:#d7f57a;flex:1;box-shadow:0 4px 25px #c6fa4520}.actions .follow{color:#f4f5ec;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#18211ed9;border:1px solid #b7c7ac66}.moon-flash{pointer-events:none;background:#f4f7ff;animation:1.6s ease-out forwards moon-flash;position:absolute;inset:0}@keyframes moon-flash{0%{opacity:0}12%{opacity:1}to{opacity:0}}.effect-shake canvas{animation:.45s ease-in-out shake}@keyframes shake{0%,to{transform:none}20%{transform:translate(-6px,3px)rotate(-.4deg)}45%{transform:translate(5px,-2px)rotate(.3deg)}70%{transform:translate(-3px,1px)}}.speed-lines{pointer-events:none;background:repeating-linear-gradient(#0000 0 38px,#d7f57a14 38px 40px);animation:.9s linear speed;position:absolute;inset:0}@keyframes speed{0%{opacity:1;background-position:0 0}to{opacity:0;background-position:0 400px}}@media (width<=600px){header{top:25px;left:22px;right:22px}.brand{font-size:23px}.brand small{font-size:10px}.badge{text-align:center;max-width:85px;padding:7px;font-size:10px;line-height:1.5}.hud{top:106px;left:22px;right:22px}.mode button{padding:12px 9px;font-size:12px}.altitude output{letter-spacing:-2px;font-size:45px}.altitude button{font-size:17px}.eyebrow,.direction{font-size:10px}.ruler{right:24px}.quote{font-size:18px}footer{bottom:max(20px, env(safe-area-inset-bottom))}.ticker{display:none}.stats{font-size:10px}.stats .stats-detail{display:none}.flashes{top:40%;left:50%}.flash{font-size:14px}.banner strong{font-size:20px}}@media (width<=350px){.badge{display:none}.hud{left:16px;right:16px}.mode button{padding:10px 7px}.altitude output{font-size:38px}.footer-links{font-size:10px}}@media (height<=650px){.hud{top:95px}.quote{margin-bottom:12px}footer{bottom:12px}.altitude output{font-size:42px}}.altitude output[data-len="7"]{font-size:56px}.altitude output[data-len="8"]{font-size:48px}.altitude output[data-len="9"],.altitude output[data-len="10"],.altitude output[data-len="11"],.altitude output[data-len="12"]{letter-spacing:-2px;font-size:40px}@media (width<=600px){.altitude output[data-len="6"]{font-size:40px}.altitude output[data-len="7"]{font-size:34px}.altitude output[data-len="8"],.altitude output[data-len="9"],.altitude output[data-len="10"],.altitude output[data-len="11"],.altitude output[data-len="12"]{letter-spacing:-1px;font-size:28px}}@media (width<=350px){.altitude output[data-len]{font-size:30px}.altitude output[data-len="1"],.altitude output[data-len="2"],.altitude output[data-len="3"],.altitude output[data-len="4"]{font-size:38px}.mode button{padding:9px 6px;font-size:11px}.laughs{padding:7px 9px;font-size:11px}.stats,.unlock{font-size:9px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
