:root{--white: #eef2f6;--red: #ff3d4a;--gold: #ffd54a;--green: #59f08a;--jet: #6fc0ff;--ink: rgba(8, 10, 16, .72);--line: rgba(255, 255, 255, .14);font-family:Segoe UI,system-ui,-apple-system,Roboto,sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#04060c;color:var(--white);-webkit-user-select:none;user-select:none}#game{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}#loading{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:14px;letter-spacing:.3em;text-transform:uppercase;color:#8a93a6}#hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}kbd{display:inline-block;min-width:1.8em;padding:.1em .45em;border:1px solid rgba(255,255,255,.35);border-bottom-width:2px;border-radius:5px;font:600 .85em/1.4 ui-monospace,Consolas,monospace;text-align:center;background:#ffffff0f}.meta{position:absolute;top:14px;left:50%;transform:translate(-50%);display:flex;gap:18px;padding:6px 16px;border-radius:10px;background:var(--ink);border:1px solid var(--line);font-size:12px;font-weight:700;letter-spacing:.25em;white-space:nowrap}.meta .best{color:var(--gold)}.meta .best:empty{display:none}.distance{position:absolute;top:58px;left:50%;transform:translate(-50%);min-width:260px;padding:8px 22px 10px;border-radius:14px;background:var(--ink);border:1px solid var(--line);text-align:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.distance .lbl{font-size:11px;font-weight:700;letter-spacing:.3em;opacity:.7}.distance .val span{font:italic 900 64px/1 Segoe UI,system-ui,sans-serif;font-variant-numeric:tabular-nums}.distance .val small{margin-left:8px;font-size:18px;opacity:.6}.distance .sub{min-height:16px;font-size:12px;letter-spacing:.08em;opacity:.7}.distance.landed{border-color:var(--gold);box-shadow:0 0 24px #ffd54a59}.distance.landed .val span{color:var(--gold)}.distance.foul{border-color:var(--red)}.distance.foul .val span{color:var(--red)}.tricks{position:absolute;top:190px;left:50%;transform:translate(-50%);display:flex;gap:10px}.tricks span{padding:4px 12px;border-radius:999px;background:var(--ink);border:1px solid var(--line);font-size:13px;font-weight:800;letter-spacing:.15em}.tricks span.done{border-color:var(--green);color:var(--green)}.dash{position:absolute;bottom:18px;left:18px;min-width:190px;padding:10px 14px 12px;border-radius:12px;background:var(--ink);border:1px solid var(--line);border-left:4px solid var(--white);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.dash .name{font-weight:800;font-size:13px;letter-spacing:.25em;opacity:.85}.dash .speed span{font:italic 800 40px/1 Segoe UI,system-ui,sans-serif;font-variant-numeric:tabular-nums}.dash .speed small{margin-left:6px;font-size:12px;opacity:.6}.dash .avg{margin-top:2px;font-size:12px;letter-spacing:.12em;opacity:.75}.dash .avg b{font-size:15px;letter-spacing:0}.fuel{position:absolute;bottom:18px;left:50%;transform:translate(-50%);width:min(460px,calc(100vw - 460px));min-width:260px;padding:8px 14px 10px;border-radius:12px;background:var(--ink);border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.fuel .head{display:flex;align-items:baseline;gap:10px;margin-bottom:6px;font-size:12px;font-weight:700;letter-spacing:.2em}.fuel .left{font:italic 800 22px/1 Segoe UI,system-ui,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:0}.fuel .left small{margin-left:3px;font-size:12px;font-style:normal;opacity:.6}.fuel .cost{margin-left:auto;letter-spacing:.05em;color:#ff9a9a;font-variant-numeric:tabular-nums}.fuel.empty .cost{color:#8ff0b0}.fuel .cost:empty{display:none}.fuel .bar{position:relative;height:14px;border-radius:7px;background:#ffffff1a;overflow:hidden}.fuel .fill{height:100%;width:100%;background:linear-gradient(90deg,#2f86ff,var(--jet));box-shadow:0 0 12px var(--jet);transition:width .08s linear}.fuel.low .fill{background:linear-gradient(90deg,#d8870a,#ffc24a);box-shadow:0 0 12px #ffb02e}.fuel.empty .fill{background:var(--red);box-shadow:none}.fuel.dead .fill{background:#555;box-shadow:none}.fuel .ticks{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(90deg,rgba(4,6,12,.85) 0 2px,transparent 2px);background-size:var(--tick, 16.66%) 100%}.center{position:absolute;top:38%;left:50%;transform:translate(-50%,-50%);display:none;font:italic 900 120px/1 Segoe UI,system-ui,sans-serif;text-shadow:0 6px 30px rgba(0,0,0,.7),0 0 40px rgba(111,192,255,.5)}.center.show{display:block}.center.pulse{animation:pulse .6s ease-out}@keyframes pulse{0%{transform:translate(-50%,-50%) scale(1.6);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.banner{position:absolute;top:26%;left:50%;transform:translate(-50%);display:none;padding:16px 34px 18px;border-radius:14px;background:var(--ink);border:1px solid var(--line);text-align:center;white-space:nowrap}.banner.show{display:block;animation:drop .35s ease-out}@keyframes drop{0%{transform:translate(-50%,-20px);opacity:0}}.banner .title{font:italic 900 44px/1.1 Segoe UI,system-ui,sans-serif;letter-spacing:.03em}.banner.r .title{color:var(--red)}.banner .sub{margin-top:6px;font-size:15px;opacity:.8}.hint{position:absolute;bottom:22px;left:50%;transform:translate(-50%);display:none;padding:6px 14px;border-radius:8px;background:var(--ink);font-size:13px}.hint.show{display:block}.sheet{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:none;width:min(560px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;padding:18px 22px 14px;border-radius:16px;background:#06080ee0;border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 20px 80px #0009}.sheet.show{display:block;animation:drop .35s ease-out}#hud.sheet-open .distance,#hud.sheet-open .tricks,#hud.sheet-open .fuel{display:none}.sheet .head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.sheet .title{font:italic 900 30px/1.1 Segoe UI,system-ui,sans-serif;color:var(--gold)}.sheet .title.bad{color:var(--red)}.sheet .att{font-size:11px;letter-spacing:.25em;opacity:.6}.sheet table{width:100%;border-collapse:collapse;font-size:14px}.sheet th,.sheet td{padding:4px 6px;text-align:left}.sheet .pts{width:64px;text-align:right;font-variant-numeric:tabular-nums}.sheet tr.sec th{padding-top:10px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid var(--line);color:var(--jet)}.sheet tr.row .lab{padding-left:14px}.sheet tr.row .det{opacity:.65;font-size:13px}.sheet tr.row.neg .pts,.sheet tr.row.neg .lab{color:#ff7a7a}.sheet tr.row.zero{opacity:.55}.sheet tr.total th{padding-top:12px;border-top:2px solid var(--white);font-size:18px;letter-spacing:.12em}.sheet tr.total th.pts{font:italic 900 34px/1 Segoe UI,system-ui,sans-serif;color:var(--gold);letter-spacing:0}.sheet .foot{margin-top:12px;font-size:12px;opacity:.75}.sheet .nb{color:var(--gold);letter-spacing:.2em}.menu{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:none;width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 24px);overflow:auto;padding:30px 34px 24px;border-radius:18px;background:#06080ec7;border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 20px 80px #0009}.menu.show{display:block}.menu h1{margin:0;font:italic 900 56px/1 Segoe UI,system-ui,sans-serif;letter-spacing:.02em}.menu h1 span{display:block;margin-top:6px;color:var(--red);font-size:20px;letter-spacing:.32em}.menu .tag{margin:8px 0 20px;font-size:16px;opacity:.85}.paused-note{display:none;margin:-8px 0 16px;padding:8px 12px;border-radius:10px;background:#6fc0ff1f;border:1px solid rgba(111,192,255,.35);font-size:14px}.menu.paused .paused-note{display:block}.modes{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mode{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:#ffffff0d;border:1px solid var(--line)}.mode kbd{flex:none;min-width:4.4em;padding:.25em .6em;font-size:14px;white-space:nowrap}.mode b{display:block;font-size:17px}.mode small{opacity:.6}.keys{width:100%;margin:18px 0 8px;border-collapse:collapse;font-size:13px}.keys th,.keys td{padding:5px 6px;text-align:left;border-bottom:1px solid rgba(255,255,255,.07)}.keys th{font-size:11px;letter-spacing:.15em;opacity:.7}.keys td:first-child{opacity:.7}.rules{margin-top:4px;font-size:13px;line-height:1.5;opacity:.85}.rules div+div{margin-top:6px}.foot{margin:10px 0 0;font-size:12px;opacity:.55}[data-act]{pointer-events:auto;cursor:pointer}.embed-only{display:none}.touch{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;touch-action:none}.touch button{pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent;border:1px solid rgba(255,255,255,.35);background:#080a108c;color:var(--white);font:800 18px/1 Segoe UI,system-ui,sans-serif;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.touch button.held{background:#6fc0ff73;border-color:var(--jet)}.touch .pad{position:absolute;left:10px;bottom:10px;display:grid;grid-template:repeat(2,56px) / repeat(3,56px);gap:6px}.touch .pad button{border-radius:14px}.touch .pad .up{grid-area:1 / 2}.touch .pad .left{grid-area:2 / 1}.touch .pad .down{grid-area:2 / 2}.touch .pad .right{grid-area:2 / 3}.touch .jets{position:absolute;right:12px;bottom:12px;width:104px;height:104px;border-radius:50%;border-width:2px;border-color:var(--jet);letter-spacing:.12em}.touch .pause{position:absolute;top:40px;right:8px;width:36px;height:36px;border-radius:10px;font-size:13px}html.embed .embed-open{position:fixed;top:6px;right:8px;z-index:1000;display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border:1px solid rgba(255,255,255,.3);border-radius:12px;background:#080a10b3;color:#fff;font:11px/1 system-ui,sans-serif;text-decoration:none}html.embed .embed-open:hover,html.embed .embed-open:focus-visible{border-color:#fff;outline:2px solid var(--gold);outline-offset:1px}html.embed .embed-only{display:block}html.embed .meta,html.compact .meta{top:8px;padding:4px 12px;font-size:10px;gap:12px}html.embed .distance,html.compact .distance{top:36px;min-width:170px;padding:4px 14px 6px}html.embed .distance .lbl,html.compact .distance .lbl{font-size:9px}html.embed .distance .val span,html.compact .distance .val span{font-size:40px}html.embed .distance .val small,html.compact .distance .val small{font-size:13px}html.embed .distance .sub,html.compact .distance .sub{min-height:12px;font-size:10px}html.embed .tricks,html.compact .tricks{top:122px}html.embed .tricks span,html.compact .tricks span{padding:2px 9px;font-size:11px}html.embed .dash,html.compact .dash{bottom:8px;left:8px;min-width:130px;padding:6px 10px 7px}html.embed .dash .name,html.compact .dash .name{display:none}html.embed .dash .speed span,html.compact .dash .speed span{font-size:28px}html.embed .dash .avg,html.compact .dash .avg{font-size:10px}html.embed .dash .avg b,html.compact .dash .avg b{font-size:12px}html.embed .fuel,html.compact .fuel{bottom:8px;width:min(300px,calc(100vw - 300px));min-width:190px;padding:5px 10px 7px}html.embed .fuel .head,html.compact .fuel .head{margin-bottom:4px;font-size:10px;letter-spacing:.12em}html.embed .fuel .left,html.compact .fuel .left{font-size:17px}html.embed .fuel .bar,html.compact .fuel .bar{height:10px}html.embed .center,html.compact .center{font-size:80px}html.embed .banner,html.compact .banner{top:20%;padding:8px 20px 10px}html.embed .banner .title,html.compact .banner .title{font-size:28px}html.embed .banner .sub,html.compact .banner .sub{font-size:12px}html.embed .hint,html.compact .hint{bottom:70px}html.embed .sheet,html.compact .sheet{width:min(520px,calc(100vw - 16px));max-height:calc(100vh - 12px);padding:8px 14px}html.embed .sheet .head,html.compact .sheet .head{margin-bottom:2px}html.embed .sheet .title,html.compact .sheet .title{font-size:22px}html.embed .sheet table,html.compact .sheet table{font-size:12px}html.embed .sheet th,html.compact .sheet th,html.embed .sheet td,html.compact .sheet td{padding:1px 5px}html.embed .sheet tr.sec th,html.compact .sheet tr.sec th{padding-top:5px;font-size:10px}html.embed .sheet tr.row .det,html.compact .sheet tr.row .det{font-size:11px}html.embed .sheet tr.total th,html.compact .sheet tr.total th{padding-top:6px;font-size:14px}html.embed .sheet tr.total th.pts,html.compact .sheet tr.total th.pts{font-size:26px}html.embed .sheet .foot,html.compact .sheet .foot{margin-top:6px;font-size:11px}html.embed .menu,html.compact .menu{width:calc(100vw - 16px);max-height:calc(100vh - 12px);padding:14px 18px 12px}html.embed .menu h1,html.compact .menu h1{font-size:34px}html.embed .menu h1 span,html.compact .menu h1 span{margin-top:3px;font-size:12px}html.embed .menu .tag,html.compact .menu .tag{margin:6px 0 12px;font-size:13px}html.embed .paused-note,html.compact .paused-note{margin:-4px 0 10px;padding:5px 10px;font-size:12px}html.embed .mode,html.compact .mode{padding:8px 10px}html.embed .mode b,html.compact .mode b{font-size:14px}html.embed .mode small,html.compact .mode small{font-size:11px}html.embed .menu .tip,html.compact .menu .tip{margin:12px 0 4px;font-size:12px;line-height:1.9;opacity:.85}html.embed .menu .keys,html.compact .menu .keys,html.embed .menu .rules,html.compact .menu .rules,html.embed .menu .foot,html.compact .menu .foot{display:none}html.touch-ui .dash,html.embed.touch-ui .dash{top:8px;bottom:auto;left:8px}html.embed.touch-ui .fuel{left:198px;transform:none;width:min(300px,calc(100vw - 340px));min-width:0}html,body{overscroll-behavior:none;touch-action:none}html.menu-open .touch,html.sheet-open .touch,.touch-only{display:none}html.touch-ui .touch-only{display:block}html.touch-ui .menu .keys,html.touch-ui .menu .rules,html.touch-ui .menu .foot,html.touch-ui .menu .embed-only,html.touch-ui .menu .mode kbd,html.touch-ui .menu .mode.start small{display:none}html.touch-ui .menu .tip{margin:12px 0 4px;font-size:13px;line-height:1.6;opacity:.9}html.touch-ui .mode.start{justify-content:center;padding:16px;background:#ff3d4a40;border-color:var(--red)}html.touch-ui .mode.start b{font-size:20px;letter-spacing:.12em;text-transform:uppercase}html.touch-ui .mode.start b:before{content:"Tap to "}html.touch-ui .paused-note kbd{padding:4px 10px}html.touch-ui .touch .pause{top:8px}html.touch-ui.compact.portrait .meta{top:8px;max-width:calc(100vw - 120px)}html.touch-ui.compact.portrait .distance{top:44px;width:calc(100vw - 24px);min-width:0}html.touch-ui.compact.portrait .dash{top:128px;left:50%;bottom:auto;transform:translate(-50%);display:flex;align-items:baseline;gap:14px;min-width:0;padding:6px 14px}html.touch-ui.compact.portrait .dash .avg{margin:0}html.touch-ui.compact.portrait .tricks{top:186px}html.touch-ui.compact.portrait .fuel{left:50%;bottom:148px;transform:translate(-50%);width:calc(100vw - 24px);min-width:0}html.touch-ui.compact.portrait .banner{top:24%;max-width:calc(100vw - 16px);white-space:normal}html.touch-ui.compact.portrait .sheet,html.touch-ui.compact.portrait .menu{width:calc(100vw - 16px)}html.touch-ui.compact.portrait .sheet tr.row .det{display:none}html.touch-ui.compact.portrait .modes{grid-template-columns:1fr}html.touch-ui.compact.portrait .menu h1{font-size:40px}html.touch-ui.compact.portrait .menu h1 span{letter-spacing:.2em}html.touch-ui.compact.portrait .menu{top:46%}html.touch-ui .menu .mode:not(.start){display:none}html.short .dash{min-width:0;padding:4px 8px}html.short .dash .avg{display:none}html.short .distance{min-width:150px}html.short .sheet tr.row .det{display:none}html.short .sheet{zoom:.8;max-height:calc((100vh - 12px)/.8)}
