.hud.svelte-1fn1mbz{pointer-events:none;color:#fff;font-family:system-ui,sans-serif;position:absolute;inset:0}.panel.svelte-1fn1mbz{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a1e3273;border-radius:14px;padding:8px 14px}.top-left.svelte-1fn1mbz{top:max(12px, env(safe-area-inset-top));text-align:center;position:absolute;left:12px}.speed.svelte-1fn1mbz{font-size:34px;font-weight:800;line-height:1.05}.unit.svelte-1fn1mbz{opacity:.8;font-size:16px;font-weight:600}.heading.svelte-1fn1mbz{opacity:.85;font-size:15px}.vmg.svelte-1fn1mbz{color:#9be2a4;margin-top:2px;font-size:14px;font-weight:700}.vmg.neg.svelte-1fn1mbz{color:#ffd28a}.top-right.svelte-1fn1mbz{top:max(12px, env(safe-area-inset-top));gap:8px;display:flex;position:absolute;right:12px}.btn.svelte-1fn1mbz{pointer-events:auto;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;background:#0a1e3273;border:2px solid #ffffff8c;border-radius:12px;padding:10px 14px;font-size:16px;font-weight:700}.lesson.svelte-1fn1mbz{top:max(12px, env(safe-area-inset-top));opacity:.9;font-size:14px;font-weight:600;position:absolute;left:50%;transform:translate(-50%)}.wind.svelte-1fn1mbz{top:max(64px, calc(env(safe-area-inset-top) + 52px));align-items:center;gap:6px;padding:6px 10px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.wind.svelte-1fn1mbz svg:where(.svelte-1fn1mbz){width:34px;height:34px;transition:transform .3s}.windspeed.svelte-1fn1mbz{font-size:14px;font-weight:700}.hint.svelte-1fn1mbz{color:#222;white-space:nowrap;background:#ff9800eb;border-radius:999px;padding:10px 18px;font-weight:700;position:absolute;bottom:186px;left:50%;transform:translate(-50%)}.hint.ocs.svelte-1fn1mbz{color:#fff;background:#e23636f0;bottom:236px}.race-big.svelte-1fn1mbz{text-shadow:0 3px 12px #00000073;font-size:88px;font-weight:900;position:absolute;top:16%;left:50%;transform:translate(-50%)}.race-big.soon.svelte-1fn1mbz{color:#ffd028}.race-sub.svelte-1fn1mbz{text-shadow:0 1px 4px #0009;white-space:nowrap;font-size:15px;font-weight:600;position:absolute;top:calc(16% + 104px);left:50%;transform:translate(-50%)}.race-bar.svelte-1fn1mbz{top:max(116px, calc(env(safe-area-inset-top) + 104px));font-size:17px;font-weight:800;position:absolute;left:50%;transform:translate(-50%)}.capsize.svelte-1fn1mbz{text-align:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#143c64d9;border-radius:20px;padding:20px 34px;position:absolute;top:30%;left:50%;transform:translate(-50%)}.capsize-title.svelte-1fn1mbz{font-size:34px;font-weight:900}.capsize-sub.svelte-1fn1mbz{opacity:.9;font-size:15px}.finish-card.svelte-1fn1mbz{text-align:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a1e32bf;border-radius:20px;padding:26px 40px;position:absolute;top:26%;left:50%;transform:translate(-50%)}.finish-title.svelte-1fn1mbz{font-size:30px;font-weight:900}.finish-time.svelte-1fn1mbz{color:#ffd028;margin:6px 0 14px;font-size:54px;font-weight:900}.again.svelte-1fn1mbz{background:#25c45f;border-color:#fff;font-size:18px}.chip.svelte-bo37gr{pointer-events:none;z-index:5;flex-direction:column;align-items:center;display:flex;position:absolute;transform:translate(-50%,-50%)}.chip.svelte-bo37gr svg:where(.svelte-bo37gr){filter:drop-shadow(0 1px 3px #00000073);width:34px;height:34px}.chip.active.svelte-bo37gr svg:where(.svelte-bo37gr){width:42px;height:42px}.dist.svelte-bo37gr{color:#fff;text-shadow:0 1px 3px #000000b3;margin-top:-3px;font-family:system-ui,sans-serif;font-size:11px;font-weight:700}.overlay.svelte-1kzoi4f{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0514288c;justify-content:center;align-items:center;font-family:system-ui,sans-serif;display:flex;position:absolute;inset:0}.card.svelte-1kzoi4f{background:#fff;border-radius:20px;width:min(92vw,420px);max-height:86vh;padding:26px 30px;position:relative;overflow-y:auto;box-shadow:0 12px 50px #0006}.close.svelte-1kzoi4f{color:#345;cursor:pointer;background:#f0f6fb;border:2px solid #cfe3f2;border-radius:50%;width:36px;height:36px;font-size:16px;font-weight:700;position:absolute;top:14px;right:14px}.close.svelte-1kzoi4f:hover{background:#e4f1fa;border-color:#2a86c9}h1.svelte-1kzoi4f{color:#123;margin:0 0 2px;font-size:28px}.sub.svelte-1kzoi4f{color:#567;margin:0 0 18px;font-size:14px}.sailnum.svelte-1kzoi4f{color:#345;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;font-size:14px;font-weight:600;display:flex}.sailnum.svelte-1kzoi4f input:where(.svelte-1kzoi4f){width:120px;font:inherit;letter-spacing:.06em;text-align:center;color:#123;background:#f0f6fb;border:2px solid #cfe3f2;border-radius:10px;padding:8px 10px;font-weight:800}.sailnum.svelte-1kzoi4f input:where(.svelte-1kzoi4f):focus{border-color:#2a86c9;outline:none}.lesson.svelte-1kzoi4f{align-items:stretch;gap:8px;margin-bottom:10px;display:flex}.lesson.soon.svelte-1kzoi4f{opacity:.5}.practice.svelte-1kzoi4f{text-align:left;cursor:pointer;font:inherit;background:#f0f6fb;border:2px solid #cfe3f2;border-radius:14px;flex:1;align-items:center;gap:14px;padding:12px 14px;display:flex}.lesson.svelte-1kzoi4f:not(.soon) .practice:where(.svelte-1kzoi4f):hover{background:#e4f1fa;border-color:#2a86c9}.race.svelte-1kzoi4f{cursor:pointer;width:62px;font:inherit;background:#fff7e8;border:2px solid #f2ddb0;border-radius:14px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:2px;font-size:20px;display:flex}.race.svelte-1kzoi4f:hover{background:#ffefd0;border-color:#e09c1a}.race-label.svelte-1kzoi4f{color:#a97613;text-transform:uppercase;font-size:11px;font-weight:800}.num.svelte-1kzoi4f{color:#fff;background:#2a86c9;border-radius:50%;flex:none;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;font-weight:800;display:flex}.text.svelte-1kzoi4f{flex-direction:column;display:flex}.title.svelte-1kzoi4f{color:#123;font-weight:700}.subtitle.svelte-1kzoi4f{color:#567;font-size:13px}.badge.svelte-1kzoi4f{text-transform:uppercase;color:#999;border:1px solid #ccc;border-radius:999px;margin-left:auto;padding:2px 8px;font-size:11px;font-weight:700}.handle.svelte-pf4y8y{pointer-events:auto;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:4px;display:flex}.label.svelte-pf4y8y{color:#fff;text-shadow:0 1px 3px #0009;letter-spacing:.06em;text-transform:uppercase;font-size:13px;font-weight:700}.track.svelte-pf4y8y{touch-action:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a1e3273;border:2px solid #ffffff8c;border-radius:999px;position:relative}.h.svelte-pf4y8y .track:where(.svelte-pf4y8y){width:min(64vw,420px);height:56px}.v.svelte-pf4y8y .track:where(.svelte-pf4y8y){width:56px;height:min(38vh,300px)}.knob.svelte-pf4y8y{background:radial-gradient(circle at 35% 30%,#ffe082,#ff9800);border:3px solid #fff;border-radius:50%;width:64px;height:64px;transition:scale .1s;position:absolute;transform:translate(-50%,-50%);box-shadow:0 3px 10px #00000059}.knob.dragging.svelte-pf4y8y{scale:1.12}.h.svelte-pf4y8y .knob:where(.svelte-pf4y8y){top:50%}.v.svelte-pf4y8y .knob:where(.svelte-pf4y8y){left:50%}.rudder.svelte-1ecpoll{bottom:max(18px, env(safe-area-inset-bottom));position:absolute;left:50%;transform:translate(-50%)}.sheet.svelte-1d7me92{right:max(14px, env(safe-area-inset-right));flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.end.svelte-1d7me92{color:#fff;text-shadow:0 1px 3px #0009;letter-spacing:.08em;font-size:12px;font-weight:800}.board.svelte-1lauzmm{left:max(14px, env(safe-area-inset-left));flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.end.svelte-1lauzmm{color:#fff;text-shadow:0 1px 3px #0009;letter-spacing:.08em;font-size:12px;font-weight:800}.crew.svelte-1hrk31k{bottom:max(104px, calc(env(safe-area-inset-bottom) + 92px));transform-origin:bottom;position:absolute;left:50%;transform:translate(-50%)scale(.72)}canvas.svelte-1n46o8q{width:100vw;height:100vh;display:block;position:absolute;inset:0}.loading.svelte-1n46o8q,.error.svelte-1n46o8q{color:#fff;background:#1c4a6e;justify-content:center;align-items:center;font-family:system-ui,sans-serif;font-size:22px;display:flex;position:absolute;inset:0}.error.svelte-1n46o8q{color:#ffb4a8;padding:24px;font-size:15px}*{box-sizing:border-box}html,body{overscroll-behavior:none;background:#1c4a6e;width:100%;height:100%;margin:0;padding:0;overflow:hidden}#app{position:fixed;inset:0}
