:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-accent-default:#f6b800;--color-accent-soft:#ffedb3;--color-accent-ink:#9a6f00;--color-on-accent:#17140a;--color-tint-default:#1f4eb5;--color-tint-soft:#dce6f8;--color-practised-default:#0f7a45;--color-practised-soft:#d3eedd;--color-success-default:#0f7a45;--color-success-ink:#0b5c34;--color-success-soft:#d3eedd;--color-warning-default:#f06a1e;--color-warning-ink:#c9501a;--color-warning-soft:#fddfcb;--color-error-default:#c8202a;--color-error-ink:#96161e;--color-error-soft:#f9d9da;--color-streak-default:#f06a1e;--color-streak-soft:#fddfcb;--color-text-primary:#14171c;--color-text-secondary:#5f6876;--color-text-tertiary:#8a94a1;--color-bg-page:#eef1f5;--color-bg-card:#fff;--color-bg-plain:#fff;--color-fill-subtle:#eef1f5;--color-fill-strong:#d5dbe2;--color-fill-segment:#0000000f;--color-separator:#e5e9ee;--color-stage:#eef1f5;--color-glass-fill:#ffffffad;--color-glass-stroke:#fff9;--color-glass-ink:#3e4652;--color-control-on:#1f4eb5;--color-control-off:#d5dbe2;--color-control-thumb:#fff;--color-diagram-aim:#fff;--color-diagram-cue-path:#ffd54a;--color-diagram-zone:#f6b800;--color-diagram-ghost:#fff;--color-diagram-label:#fff;--color-diagram-route-1:#ffd54a;--color-diagram-route-2:#8fb0ff;--color-diagram-route-3:#ff8f86;--color-diagram-route-4:#cfa3ff;--color-diagram-route-5:#ffa24d;--color-diagram-route-6:#5be39a;--color-diagram-route-7:#f9b8d0;--color-diagram-route-8:#eef1f6;--color-ball-1:#f6c51c;--color-ball-2:#2e5fd0;--color-ball-3:#da3327;--color-ball-4:#7a31be;--color-ball-5:#f07e1b;--color-ball-6:#1f9e50;--color-ball-7:#8f2b25;--color-ball-8:#17181c;--color-ball-ivory:#faf7f0;--color-ball-cue:#f8f8f4;--color-ball-ink:#14141a;--table-rail:#1f294d;--table-rail-shade:#0d1229;--table-cloth:#2e85d9;--table-cloth-edge:#0f4d94;--table-cushion:#124070;--table-casting:#7a8494;--table-casting-shade:#343a45;--table-pocket:#000;--table-pocket-rim:#1f2329;--table-sight:#fff;--table-string:#d9e39c}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-accent-soft:#3a2c05;--color-accent-ink:#ffd54a;--color-tint-default:#8eadeb;--color-tint-soft:#13234a;--color-practised-default:#3dbe78;--color-practised-soft:#0e2e1e;--color-success-default:#3dbe78;--color-success-ink:#3dbe78;--color-success-soft:#0e2e1e;--color-warning-default:#ff8a4c;--color-warning-ink:#ff8a4c;--color-warning-soft:#3d1f0e;--color-error-default:#f0656b;--color-error-ink:#f0656b;--color-error-soft:#3d1013;--color-streak-default:#ff8a4c;--color-streak-soft:#3d1f0e;--color-text-primary:#f6f8fa;--color-text-secondary:#b3bcc7;--color-text-tertiary:#5f6876;--color-bg-page:#0c0e11;--color-bg-card:#191c21;--color-bg-plain:#14171c;--color-fill-subtle:#1f2329;--color-fill-strong:#2b313a;--color-fill-segment:#ffffff18;--color-separator:#1f2329;--color-stage:#0c0e11;--color-glass-fill:#1f2329a3;--color-glass-stroke:#ffffff1f;--color-glass-ink:#d5dbe2;--color-control-on:#4c7bdd;--color-control-off:#2b313a}}:root{--motion-move-duration:.4s;--motion-move-easing:linear(0, .024, .0865, .1746, .2777, .3871, .4962, .6001, .6954, .7799, .8526, .9133, .9621, 1.0001, 1.0282, 1.0477, 1.06, 1.0664, 1.0681, 1.0662, 1.0618, 1.0557, 1.0486, 1.0411, 1.0337, 1.0267, 1.0203, 1.0146, 1.0097, 1.0056, 1.0023, .9998, .998, .9967, .9959, .9955, .9954, .9955, .9958, .9962, .9967, .9972, .9977, .9982, .9987, .999, .9994, .9996, .9999, 1, 1.0001);--motion-move:.4s linear(0, .024, .0865, .1746, .2777, .3871, .4962, .6001, .6954, .7799, .8526, .9133, .9621, 1.0001, 1.0282, 1.0477, 1.06, 1.0664, 1.0681, 1.0662, 1.0618, 1.0557, 1.0486, 1.0411, 1.0337, 1.0267, 1.0203, 1.0146, 1.0097, 1.0056, 1.0023, .9998, .998, .9967, .9959, .9955, .9954, .9955, .9958, .9962, .9967, .9972, .9977, .9982, .9987, .999, .9994, .9996, .9999, 1, 1.0001);--motion-hop-duration:.45s;--motion-hop-easing:linear(0, .0278, .1, .2013, .3188, .4422, .5633, .6764, .7775, .8644, .936, .9927, 1.0351, 1.0647, 1.0833, 1.0926, 1.0947, 1.0912, 1.0838, 1.0738, 1.0625, 1.0508, 1.0394, 1.0289, 1.0195, 1.0115, 1.005, .9999, .9961, .9935, .9919, .9911, .9911, .9915, .9922, .9932, .9943, .9954, .9964, .9974, .9983, .999, .9996, 1.0001, 1.0004, 1.0007, 1.0008, 1.0008, 1.0008, 1.0008, 1.0007);--motion-hop:.45s linear(0, .0278, .1, .2013, .3188, .4422, .5633, .6764, .7775, .8644, .936, .9927, 1.0351, 1.0647, 1.0833, 1.0926, 1.0947, 1.0912, 1.0838, 1.0738, 1.0625, 1.0508, 1.0394, 1.0289, 1.0195, 1.0115, 1.005, .9999, .9961, .9935, .9919, .9911, .9911, .9915, .9922, .9932, .9943, .9954, .9964, .9974, .9983, .999, .9996, 1.0001, 1.0004, 1.0007, 1.0008, 1.0008, 1.0008, 1.0008, 1.0007);--motion-pop-duration:.35s;--motion-pop-easing:linear(0, .0327, .1173, .2353, .3707, .5106, .6452, .7674, .8728, .9591, 1.0258, 1.0739, 1.105, 1.1216, 1.1263, 1.122, 1.1112, 1.0962, 1.079, 1.0614, 1.0444, 1.029, 1.0158, 1.0049, .9966, .9905, .9867, .9846, .984, .9846, .986, .9879, .9901, .9923, .9944, .9964, .998, .9994, 1.0005, 1.0012, 1.0017, 1.0019, 1.002, 1.0019, 1.0018, 1.0015, 1.0012, 1.001, 1.0007, 1.0005, 1.0002);--motion-pop:.35s linear(0, .0327, .1173, .2353, .3707, .5106, .6452, .7674, .8728, .9591, 1.0258, 1.0739, 1.105, 1.1216, 1.1263, 1.122, 1.1112, 1.0962, 1.079, 1.0614, 1.0444, 1.029, 1.0158, 1.0049, .9966, .9905, .9867, .9846, .984, .9846, .986, .9879, .9901, .9923, .9944, .9964, .998, .9994, 1.0005, 1.0012, 1.0017, 1.0019, 1.002, 1.0019, 1.0018, 1.0015, 1.0012, 1.001, 1.0007, 1.0005, 1.0002);--motion-press-duration:.42s;--motion-press-easing:linear(0, .0392, .1401, .2794, .437, .5964, .7452, .8751, .9812, 1.0616, 1.1169, 1.1493, 1.1623, 1.1599, 1.1462, 1.125, 1.0999, 1.0738, 1.0488, 1.0266, 1.008, .9936, .9833, .9769, .9739, .9736, .9753, .9785, .9824, .9866, .9908, .9946, .9978, 1.0004, 1.0023, 1.0035, 1.0042, 1.0043, 1.0041, 1.0037, 1.0031, 1.0024, 1.0017, 1.0011, 1.0005, 1.0001, .9997, .9995, .9993, .9993, .9993);--motion-press:.42s linear(0, .0392, .1401, .2794, .437, .5964, .7452, .8751, .9812, 1.0616, 1.1169, 1.1493, 1.1623, 1.1599, 1.1462, 1.125, 1.0999, 1.0738, 1.0488, 1.0266, 1.008, .9936, .9833, .9769, .9739, .9736, .9753, .9785, .9824, .9866, .9908, .9946, .9978, 1.0004, 1.0023, 1.0035, 1.0042, 1.0043, 1.0041, 1.0037, 1.0031, 1.0024, 1.0017, 1.0011, 1.0005, 1.0001, .9997, .9995, .9993, .9993, .9993);--motion-enter-duration:.1s;--motion-enter-easing:cubic-bezier(0, 0, .58, 1);--motion-enter:.1s cubic-bezier(0, 0, .58, 1);--motion-exit-duration:80ms;--motion-exit-easing:cubic-bezier(.42, 0, 1, 1);--motion-exit:80ms cubic-bezier(.42, 0, 1, 1);--motion-dim-duration:.16s;--motion-dim-easing:cubic-bezier(0, 0, .58, 1);--motion-dim:.16s cubic-bezier(0, 0, .58, 1);--motion-nudge-duration:80ms;--motion-nudge-easing:cubic-bezier(0, 0, .58, 1);--motion-nudge:80ms cubic-bezier(0, 0, .58, 1);--motion-pulse-duration:.12s;--motion-pulse-easing:cubic-bezier(0, 0, .58, 1);--motion-pulse:.12s cubic-bezier(0, 0, .58, 1);--motion-leave-duration:.16s;--motion-leave-easing:cubic-bezier(.3, -.05, .7, -.5);--motion-leave:.16s cubic-bezier(.3, -.05, .7, -.5);--motion-reduced-duration:.15s;--motion-reduced-easing:cubic-bezier(.42, 0, .58, 1);--motion-reduced:.15s cubic-bezier(.42, 0, .58, 1);--motion-stagger-hop:30ms;--motion-stagger-leave:25ms;--motion-scale-press:.82;--motion-scale-pulse:1.14;--motion-scale-lift:1.12;--motion-scale-leave:.05;--motion-scale-enter:.9;--motion-scale-appear:.3;--motion-offset-rise:14px}@media (prefers-reduced-motion:reduce){:root{--motion-move-duration:0s;--motion-move:0s linear;--motion-hop-duration:0s;--motion-hop:0s linear;--motion-pop-duration:0s;--motion-pop:0s linear;--motion-press-duration:0s;--motion-press:0s linear;--motion-nudge-duration:0s;--motion-nudge:0s linear;--motion-pulse-duration:0s;--motion-pulse:0s linear;--motion-leave-duration:0s;--motion-leave:0s linear}}*,:before,:after{box-sizing:border-box}html,body{margin:0}body{background:var(--color-bg-page);color:var(--color-text-primary);font-family:Be Vietnam Pro,system-ui,sans-serif}h1,h2,h3{font-family:Bricolage Grotesque,Be Vietnam Pro,system-ui,sans-serif}a{color:var(--color-tint-default)}button{font-family:inherit}:root{--elevation-card:0 1px 2px #0000000a, 0 8px 24px #0a1a3314;--elevation-panel:0 8px 40px #0a1a331f;--elevation-result:0 14px 56px #0000002e;--elevation-sheet:0 12px 48px #00000029;--shadow-glass:0 2px 8px #0000000f;--shadow-spin:0 1.5px 3px #0000000f, 0 9px 12px #0000001a;--shadow-spin-ball:drop-shadow(0 10px 24px #0000001f);--shadow-knob:0 1px 4px #0000000f, 0 6px 16px #0000001a;--shadow-segment:0 1px 3px #00000014;--elevation-device:0 24px 48px #0a1a332e;--shadow-note-text:0 1px 3px #00000073;--scrim:#00000059}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.icon{background:currentColor;flex:none;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.ball{flex:none;display:block;overflow:visible}.ball-shadow{filter:drop-shadow(0 calc(.0625 * var(--ball-size)) calc(.094 * var(--ball-size)) #00000073)}.glass{background:var(--color-glass-fill);border:1px solid var(--color-glass-stroke);box-shadow:var(--shadow-glass);-webkit-backdrop-filter:blur(20px)saturate(1.6);backdrop-filter:blur(20px)saturate(1.6)}.replay-button{width:36px;height:36px;color:var(--color-glass-ink);cursor:pointer;animation:replay-in var(--motion-dim) both;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute}@keyframes replay-in{0%{opacity:0}}.web-button{white-space:nowrap;cursor:pointer;transition:background-color var(--motion-dim), scale var(--motion-press);border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;font-size:16px;font-weight:600;line-height:20px;text-decoration:none;display:inline-flex}.web-button.small{height:40px;padding:0 18px}.web-button.large{height:52px;padding:0 26px}.web-button.primary{background:var(--color-accent-default);color:var(--color-on-accent)}.web-button.bordered{background:var(--color-bg-plain);color:var(--color-text-primary);box-shadow:inset 0 0 0 1px var(--color-fill-strong)}.web-button.danger{background:var(--color-error-default);color:var(--color-bg-plain)}.web-button:active{scale:.97}:focus-visible{outline:3px solid var(--color-tint-default);outline-offset:2px}.placeholder{text-align:center;place-content:center;min-height:100dvh;display:grid}.placeholder h1{margin:0;font-size:clamp(3rem,10vw,6rem);font-weight:800}
