:root{--forest-green:#21472e;--near-black-green:#152218;--white:#fff;--sage:#8fa893;--header-height:76px;--font-heading:"Lora", Georgia, "Times New Roman", serif;--font-body:system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{overflow-x:hidden}body{font-family:var(--font-body);background:var(--white);color:var(--near-black-green);margin:0;line-height:1.5}img{max-width:100%;height:auto}h1,h2,h3,h4{font-family:var(--font-heading);margin:0 0 .5em}a{color:inherit}header.site-nav{background:var(--white);color:var(--forest-green);height:var(--header-height);z-index:100;border-bottom:1px solid #e3e6e2;position:fixed;top:0;left:0;right:0}.nav-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;max-width:1100px;height:100%;margin:0 auto;padding:0 1.25rem;display:flex}.brand{color:var(--forest-green);line-height:0;text-decoration:none;display:block}.brand img{flex-shrink:0;width:auto;height:56px;display:block}nav.primary ul{flex-wrap:wrap;gap:1.5rem;margin:0;padding:0;list-style:none;display:flex}nav.primary a{color:var(--forest-green);letter-spacing:.03em;opacity:.75;border-bottom:2px solid #0000;padding:.25rem 0;font-size:.95rem;text-decoration:none;transition:opacity .18s,border-bottom-color .18s}nav.primary a:hover,nav.primary a:focus{opacity:1;border-bottom-color:var(--forest-green)}.hamburger{background:var(--white);border:1px solid var(--forest-green);color:var(--forest-green);border-radius:4px;padding:.35rem .6rem;font-size:1.1rem;line-height:1;display:none}@media (max-width:700px){nav.primary{display:none}nav.primary.is-open{background:var(--white);border-top:1px solid var(--sage);order:3;width:100%;display:block;box-shadow:0 4px 8px #15221814}nav.primary.is-open ul{flex-direction:column;gap:.75rem;margin:0;padding:.75rem 1.25rem 1rem}.hamburger{display:inline-block}}.hero{background:var(--forest-green);color:var(--white);text-align:center;margin-top:var(--header-height);background-image:linear-gradient(115deg,#0000 44.7%,#ffffff0d 44.7% 45.3%,#0000 45.3%),linear-gradient(65deg,#0000 64.7%,#ffffff0d 64.7% 65.3%,#0000 65.3%);padding:4rem 1.25rem}.hero img.badge{width:auto;height:140px;margin-bottom:1rem;animation:.6s ease-out hero-badge-in}@keyframes hero-badge-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hero h1{letter-spacing:.05em;font-size:2.4rem}.hero p.tagline{color:var(--sage);margin:.25rem 0 0;font-size:1.15rem}.hero p.est{letter-spacing:.2em;text-transform:uppercase;color:var(--white);margin-top:1rem;font-size:.85rem}main{max-width:1100px;margin:0 auto;padding:2.5rem 1.25rem}.intro{text-align:center;max-width:700px;margin:0 auto 2.5rem;font-size:1.05rem;line-height:1.6}.next-session{border:1px solid var(--sage);text-align:center;border-radius:6px;max-width:500px;margin:0 auto 3rem;padding:1.25rem 1.5rem}.next-session h2{color:var(--forest-green);font-size:1.1rem}.tiles{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;display:grid}.tile{border:1px solid var(--sage);text-align:center;color:var(--near-black-green);border-radius:8px;padding:1.5rem;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s;display:block}.tile:hover,.tile:focus-visible{border-color:var(--forest-green);transform:translateY(-2px);box-shadow:0 6px 16px #1522181a}.tile h3{color:var(--forest-green);font-size:1.15rem}.tile p{margin-bottom:0;font-size:.9rem;line-height:1.5}.partner-note{text-align:center;margin:3rem 0 1rem}.partner-note .partner-note-label{text-transform:uppercase;letter-spacing:1.5px;color:var(--sage);margin-bottom:.6rem;font-size:.68rem}.partner-note a{line-height:0;display:inline-block}.partner-note img{border:1px solid var(--sage);border-radius:8px;max-width:100%;height:auto}.page-header{background:var(--forest-green);color:var(--white);text-align:center;margin-top:var(--header-height);padding:3rem 1.25rem}.page-header h1{letter-spacing:.05em}.about-content{max-width:700px;margin:0 auto;padding:2.5rem 1.25rem;line-height:1.7}.about-content h2{color:var(--forest-green);margin-top:2rem;font-size:1.3rem}.join-cta{border:1px solid var(--sage);text-align:center;border-radius:6px;margin-top:2rem;padding:1.5rem}.join-cta a{color:var(--forest-green);font-weight:600}.founders-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-top:2rem;display:grid}.founder-card{border:1px solid var(--sage);text-align:center;border-radius:8px;padding:1.5rem;transition:transform .18s,border-color .18s,box-shadow .18s}.founder-card:hover{border-color:var(--forest-green);transform:translateY(-2px);box-shadow:0 6px 16px #1522181a}.founder-avatar{background:var(--sage);width:72px;height:72px;color:var(--white);font-family:var(--font-heading);letter-spacing:.05em;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1rem;font-size:1.1rem;display:flex}.founder-card h3{color:var(--forest-green);margin:0;font-size:1.1rem}.founder-moniker-pending{color:var(--sage);margin:.5rem 0 0;font-size:.85rem;font-style:italic}footer{background:var(--forest-green);color:var(--white);margin-top:3rem;padding:2.5rem 1.25rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem;max-width:1100px;margin:0 auto;display:flex}footer img.monogram{width:auto;height:56px}footer a{color:var(--white)}footer .col{min-width:200px}footer .col h4{font-family:var(--font-heading);margin:0 0 .5rem;font-size:1rem}footer .col p,footer .col a{margin:.25rem 0;font-size:.9rem;display:block}.copyright{text-align:center;color:var(--sage);margin-top:2rem;font-size:.8rem}:focus-visible{outline:2px solid var(--sage);outline-offset:2px;border-radius:2px}.next-session,.join-cta{transition:border-color .18s,box-shadow .18s}.next-session:hover,.join-cta:hover{border-color:var(--forest-green);box-shadow:0 4px 12px #15221814}.session-content h2{scroll-margin-top:calc(var(--header-height) + 1rem)}.session-content>h2{margin-top:2.25rem}@media (prefers-reduced-motion:reduce){.hero img.badge{animation:none}.tile,.founder-card,.next-session,.join-cta,nav.primary a{transition:none}.tile:hover,.tile:focus-visible,.founder-card:hover{transform:none}}
.ball-spinner{flex-direction:column;align-items:center;gap:.5rem;display:inline-flex}.ball-spinner-vh{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ball-spinner-svg{overflow:visible}.ball-spinner-floor{fill:#deb873;stroke:#c79a55;stroke-opacity:.6;stroke-width:1px}.ball-spinner-plank{stroke:#c79a55;stroke-width:1px;opacity:.35}.ball-spinner-wall-front,.ball-spinner-wall-side{fill:var(--white);stroke:var(--forest-green);stroke-width:1.5px}.ball-spinner-tin{stroke:var(--forest-green);stroke-width:1.5px;opacity:.35}.ball-spinner-shadow{fill:var(--near-black-green);opacity:.3;transform-origin:37px 89px}.ball-spinner-arc{transform-origin:37px 89px}.ball-spinner-spin{transform-origin:37px 89px;animation:1.6s linear infinite ball-spinner-spin}.ball-spinner-body{fill:var(--near-black-green)}.ball-spinner-dot{fill:#f2c230}.ball-spinner-racket-pos{transform:translate(24px,110px)}.ball-spinner-racket-pos--drop{transform:translate(54px,97px)}.ball-spinner-racket{animation:1.6s linear infinite ball-spinner-swing}.ball-spinner-racket-handle{stroke:#8b5e34;stroke-width:3px;stroke-linecap:round}.ball-spinner-racket-throat{stroke:var(--near-black-green);stroke-width:1.5px;stroke-linecap:round}.ball-spinner-racket-frame{fill:#ffffff40;stroke:var(--near-black-green);stroke-width:2px;stroke-linejoin:round}.ball-spinner-racket-strings{stroke:var(--sage);stroke-width:.7px}@keyframes ball-spinner-swing{0%{animation-timing-function:ease-in;transform:translate(0)rotate(-75deg)}1.5%{animation-timing-function:ease-in;transform:translate(-6px,-9px)rotate(-88deg)}3.5%{animation-timing-function:ease-out;transform:translate(0)rotate(-10deg)}7%{animation-timing-function:ease-in-out;transform:translate(14px,-10px)rotate(18deg)}13%{transform:translate(0)rotate(-75deg)}to{transform:translate(0)rotate(-75deg)}}.ball-spinner-racket-pos--drive .ball-spinner-racket{animation-duration:1.4s}.ball-spinner-racket-pos--boast .ball-spinner-racket{animation-duration:1.5s}.ball-spinner-racket-pos--drop .ball-spinner-racket{animation-duration:1.6s}.ball-spinner-racket-pos--volley .ball-spinner-racket{animation-duration:1s}.ball-spinner-racket-pos--lob .ball-spinner-racket{animation-duration:1.6s}.ball-spinner-racket-pos--nick .ball-spinner-racket,.ball-spinner-racket-pos--reverse .ball-spinner-racket{animation-duration:1.7s}.ball-spinner-racket-pos--corkscrew .ball-spinner-racket{animation-duration:1.6s}.ball-spinner-racket-pos--crosscourt .ball-spinner-racket{animation-duration:1.7s}@keyframes ball-spinner-spin{to{transform:rotate(360deg)}}@keyframes ball-spinner-pulse{0%,to{opacity:1}50%{opacity:.35}}.ball-spinner-arc--drive{animation:1.4s linear infinite ball-spinner-bounce--drive}.ball-spinner-shadow--drive{animation:1.4s linear infinite ball-spinner-shadow--drive}.ball-spinner-arc--drive .ball-spinner-spin{animation:1.4s linear infinite ball-spinner-spin--drive}@keyframes ball-spinner-bounce--drive{0%{animation-timing-function:ease-out;transform:translate(0)scale(1)}3%{animation-timing-function:ease-out;transform:translate(3px,-2px)scale(1.15,.82)}14%{animation-timing-function:ease-out;transform:translate(22px,-14px)scale(1)}30%{animation-timing-function:ease-in;transform:translate(46px,-24px)scale(1)}42%{animation-timing-function:ease-out;transform:translate(72px,-33px)scale(.55,1.4)}50%{animation-timing-function:ease-in;transform:translate(58px,-26px)scale(.85,1.15)}62%{animation-timing-function:ease-in;transform:translate(42px,-18px)scale(1)}72%{animation-timing-function:ease-out;transform:translate(34px,-14px)scale(1.25,.72)}82%{animation-timing-function:ease-in;transform:translate(14px,-6px)scale(1)}86%{animation-timing-function:ease-out;transform:translate(0)scale(1.15,.8)}90%{transform:translate(0)scale(1)}to{transform:translate(0)scale(1)}}@keyframes ball-spinner-shadow--drive{0%{opacity:.45;transform:translate(0)scale(1)}3%{opacity:.44;transform:translate(3px,-1.3px)scale(.99)}14%{opacity:.42;transform:translate(22px,-9.2px)scale(.95)}30%{opacity:.42;transform:translate(46px,-19.2px)scale(.95)}42%{opacity:.43;transform:translate(72px,-30.2px)scale(.97)}50%{opacity:.44;transform:translate(58px,-24.4px)scale(.98)}62%{opacity:.45;transform:translate(42px,-17.6px)scale(1)}72%{opacity:.45;transform:translate(34px,-14.3px)scale(1)}82%{opacity:.45;transform:translate(14px,-5.9px)scale(1)}86%{opacity:.45;transform:translate(0)scale(1)}to{opacity:.45;transform:translate(0)scale(1)}}@keyframes ball-spinner-spin--drive{0%{transform:rotate(0)}42%{transform:rotate(500deg)}90%{transform:rotate(0)}to{transform:rotate(0)}}.ball-spinner-arc--boast{animation:1.5s linear infinite ball-spinner-bounce--boast}.ball-spinner-shadow--boast{animation:1.5s linear infinite ball-spinner-shadow--boast}.ball-spinner-arc--boast .ball-spinner-spin{animation:1.5s linear infinite ball-spinner-spin--boast}@keyframes ball-spinner-bounce--boast{0%{animation-timing-function:ease-out;transform:translate(0)scale(1)}3%{animation-timing-function:ease-out;transform:translate(1px,-2px)scale(1.15,.82)}12%{animation-timing-function:ease-out;transform:translate(-7px,-6px)scale(1)}20%{animation-timing-function:ease-in;transform:translate(-14px,-13px)scale(1)}24%{animation-timing-function:ease-out;transform:translate(-16px,-20px)rotate(-23deg)scale(1.4,.6)}30%{animation-timing-function:ease-in-out;transform:translate(-10px,-12px)scale(1)}45%{animation-timing-function:ease-in-out;transform:translate(24px,-14px)scale(1)}58%{animation-timing-function:ease-in;transform:translate(52px,-24px)scale(1)}64%{animation-timing-function:ease-out;transform:translate(72px,-32px)scale(.5,1.45)}72%{animation-timing-function:ease-in;transform:translate(56px,-24px)scale(.85,1.15)}80%{animation-timing-function:ease-out;transform:translate(36px,-15px)scale(1.25,.72)}86%{animation-timing-function:ease-in;transform:translate(10px,-4px)scale(1)}89%{animation-timing-function:ease-out;transform:translate(0)scale(1.15,.8)}92%{transform:translate(0)scale(1)}to{transform:translate(0)scale(1)}}@keyframes ball-spinner-shadow--boast{0%{opacity:.45;transform:translate(0)scale(1)}3%{opacity:.44;transform:translate(1px,-.4px)scale(.98)}12%{opacity:.43;transform:translate(-7px,-2.9px)scale(.97)}20%{opacity:.4;transform:translate(-14px,-5.7px)scale(.92)}24%{opacity:.42;transform:translate(-16px,-6.6px)scale(.95)}30%{opacity:.39;transform:translate(-10px,-4.1px)scale(.91)}45%{opacity:.42;transform:translate(24px,-10px)scale(.96)}58%{opacity:.44;transform:translate(52px,-21.8px)scale(.98)}64%{opacity:.44;transform:translate(72px,-30.2px)scale(.98)}72%{opacity:.45;transform:translate(56px,-23.5px)scale(1)}80%{opacity:.45;transform:translate(36px,-15.1px)scale(1)}86%{opacity:.45;transform:translate(10px,-4.2px)scale(1)}89%{opacity:.45;transform:translate(0)scale(1)}to{opacity:.45;transform:translate(0)scale(1)}}@keyframes ball-spinner-spin--boast{0%{transform:rotate(0)}24%{transform:rotate(-115deg)}64%{transform:rotate(500deg)}92%{transform:rotate(0)}to{transform:rotate(0)}}.ball-spinner-arc--drop{animation:1.6s linear infinite ball-spinner-bounce--drop}.ball-spinner-shadow--drop{animation:1.6s linear infinite ball-spinner-shadow--drop}.ball-spinner-arc--drop .ball-spinner-spin{animation:1.6s linear infinite ball-spinner-spin--drop}@keyframes ball-spinner-bounce--drop{0%{animation-timing-function:ease-out;transform:translate(30px,-13px)scale(1)}4%{animation-timing-function:ease-out;transform:translate(33px,-15px)scale(1.15,.82)}16%{animation-timing-function:ease-out;transform:translate(44px,-20px)scale(1)}32%{animation-timing-function:ease-in;transform:translate(58px,-25px)scale(1)}42%{animation-timing-function:ease-in;transform:translate(68px,-28px)scale(1)}46%{animation-timing-function:ease-out;transform:translate(72px,-29px)scale(.7,1.25)}52%{animation-timing-function:ease-in-out;transform:translate(71px,-30px)scale(.9,.95)}60%{animation-timing-function:ease-in;transform:translate(58px,-25px)scale(1)}70%{animation-timing-function:ease-out;transform:translate(44px,-19px)scale(1.25,.72)}80%{animation-timing-function:ease-in;transform:translate(34px,-14px)scale(1)}85%{animation-timing-function:ease-out;transform:translate(30px,-13px)scale(1.15,.8)}89%{transform:translate(30px,-13px)scale(1)}to{transform:translate(30px,-13px)scale(1)}}@keyframes ball-spinner-shadow--drop{0%{opacity:.45;transform:translate(30px,-12.5px)scale(1)}4%{opacity:.44;transform:translate(33px,-13.8px)scale(.99)}16%{opacity:.44;transform:translate(44px,-18.3px)scale(.98)}32%{opacity:.44;transform:translate(58px,-24.4px)scale(.99)}42%{opacity:.45;transform:translate(68px,-28.6px)scale(1)}46%{opacity:.45;transform:translate(72px,-30.2px)scale(1)}52%{opacity:.45;transform:translate(71px,-29.8px)scale(1)}60%{opacity:.44;transform:translate(58px,-24.4px)scale(.99)}70%{opacity:.45;transform:translate(44px,-18.3px)scale(1)}80%{opacity:.45;transform:translate(34px,-14.3px)scale(1)}85%{opacity:.45;transform:translate(30px,-12.5px)scale(1)}to{opacity:.45;transform:translate(30px,-12.5px)scale(1)}}@keyframes ball-spinner-spin--drop{0%{transform:rotate(0)}46%{transform:rotate(310deg)}89%{transform:rotate(0)}to{transform:rotate(0)}}.ball-spinner-arc--volley{animation:1s linear infinite ball-spinner-bounce--volley}.ball-spinner-shadow--volley{animation:1s linear infinite ball-spinner-shadow--volley}.ball-spinner-arc--volley .ball-spinner-spin{animation:1s linear infinite ball-spinner-spin--volley}@keyframes ball-spinner-bounce--volley{0%{animation-timing-function:ease-out;transform:translate(0)scale(1)}3%{animation-timing-function:ease-out;transform:translate(3px,-3px)scale(1.15,.82)}16%{animation-timing-function:ease-out;transform:translate(26px,-20px)scale(1)}34%{animation-timing-function:ease-in;transform:translate(56px,-32px)scale(1)}42%{animation-timing-function:ease-out;transform:translate(72px,-38px)scale(.5,1.45)}50%{animation-timing-function:ease-in;transform:translate(60px,-30px)scale(.85,1.15)}64%{animation-timing-function:ease-in;transform:translate(44px,-20px)scale(1)}74%{animation-timing-function:ease-out;transform:translate(34px,-14px)scale(1.25,.72)}84%{animation-timing-function:ease-in;transform:translate(12px,-5px)scale(1)}88%{animation-timing-function:ease-out;transform:translate(0)scale(1.15,.8)}91%{transform:translate(0)scale(1)}to{transform:translate(0)scale(1)}}@keyframes ball-spinner-shadow--volley{0%{opacity:.45;transform:translate(0)scale(1)}3%{opacity:.44;transform:translate(3px,-1.3px)scale(.98)}16%{opacity:.39;transform:translate(26px,-10.9px)scale(.9)}34%{opacity:.39;transform:translate(56px,-23.5px)scale(.91)}42%{opacity:.4;transform:translate(72px,-30.2px)scale(.91)}50%{opacity:.42;transform:translate(60px,-25.2px)scale(.95)}64%{opacity:.44;transform:translate(44px,-18.5px)scale(.98)}74%{opacity:.45;transform:translate(34px,-14.3px)scale(1)}84%{opacity:.45;transform:translate(12px,-5px)scale(1)}88%{opacity:.45;transform:translate(0)scale(1)}to{opacity:.45;transform:translate(0)scale(1)}}@keyframes ball-spinner-spin--volley{0%{transform:rotate(0)}42%{transform:rotate(500deg)}91%{transform:rotate(0)}to{transform:rotate(0)}}.ball-spinner-arc--lob{animation:1.6s linear infinite ball-spinner-bounce--lob}.ball-spinner-shadow--lob{animation:1.6s linear infinite ball-spinner-shadow--lob}.ball-spinner-arc--lob .ball-spinner-spin{animation:1.6s linear infinite ball-spinner-spin--lob}@keyframes ball-spinner-bounce--lob{0%{animation-timing-function:ease-out;transform:translate(0)scale(1)}4%{animation-timing-function:ease-out;transform:translate(3px,-3px)scale(1.15,.82)}16%{animation-timing-function:ease-out;transform:translate(16px,-26px)scale(1)}34%{animation-timing-function:ease-in;transform:translate(42px,-48px)scale(1)}44%{animation-timing-function:ease-in;transform:translate(64px,-47px)scale(1)}50%{animation-timing-function:ease-out;transform:translate(72px,-46px)scale(.72,1.25)}56%{animation-timing-function:ease-in;transform:translate(66px,-40px)scale(.88,1.1)}66%{animation-timing-function:ease-in;transform:translate(52px,-28px)scale(1)}76%{animation-timing-function:ease-out;transform:translate(36px,-15px)scale(1.25,.72)}85%{animation-timing-function:ease-in;transform:translate(12px,-5px)scale(1)}89%{animation-timing-function:ease-out;transform:translate(0)scale(1.15,.8)}92%{transform:translate(0)scale(1)}to{transform:translate(0)scale(1)}}@keyframes ball-spinner-shadow--lob{0%{opacity:.45;transform:translate(0)scale(1)}4%{opacity:.44;transform:translate(3px,-1.3px)scale(.98)}16%{opacity:.32;transform:translate(16px,-6.7px)scale(.79)}34%{opacity:.24;transform:translate(42px,-17.5px)scale(.66)}44%{opacity:.31;transform:translate(64px,-26.7px)scale(.78)}50%{opacity:.34;transform:translate(72px,-30.2px)scale(.83)}56%{opacity:.36;transform:translate(66px,-27.7px)scale(.86)}66%{opacity:.41;transform:translate(52px,-21.7px)scale(.93)}76%{opacity:.45;transform:translate(36px,-15.1px)scale(1)}85%{opacity:.45;transform:translate(12px,-5px)scale(1)}89%{opacity:.45;transform:translate(0)scale(1)}to{opacity:.45;transform:translate(0)scale(1)}}@keyframes ball-spinner-spin--lob{0%{transform:rotate(0)}50%{transform:rotate(500deg)}92%{transform:rotate(0)}to{transform:rotate(0)}}.ball-spinner-arc--nick{animation:1.7s linear infinite ball-spinner-bounce--nick}.ball-spinner-shadow--nick{animation:1.7s linear infinite ball-spinner-shadow--nick}.ball-spinner-arc--nick .ball-spinner-spin{animation:1.7s linear infinite ball-spinner-spin--nick}@keyframes ball-spinner-bounce--nick{0%{animation-timing-function:ease-out;transform:translate(0)scale(1)}3%{animation-timing-function:ease-out;transform:translate(3px,-2px)scale(1.15,.82)}14%{animation-timing-function:ease-out;transform:translate(22px,-13px)scale(1)}28%{animation-timing-function:ease-in;transform:translate(50px,-23px)scale(1)}34%{animation-timing-function:ease-out;transform:translate(72px,-30px)scale(.55,1.4)}42%{animation-timing-function:ease-in-out;transform:translate(60px,-28px)scale(.85,1.12)}50%{animation-timing-function:ease-in;transform:translate(44px,-32px)scale(1)}56%{animation-timing-function:ease-out;transform:translate(33px,-36px)scale(1.3,.55)}62%{animation-timing-function:ease-in-out;transform:translate(33.5px,-35.5px)scale(1.15,.7)}72%{animation-timing-function:ease-in;transform:translate(24px,-10px)scale(1)}80%{animation-timing-function:ease-in;transform:translate(12px,-5px)scale(1)}85%{animation-timing-function:ease-out;transform:translate(0)scale(1.15,.8)}89%{transform:translate(0)scale(1)}to{transform:translate(0)scale(1)}}@keyframes ball-spinner-shadow--nick{0%{opacity:.45;transform:translate(0)scale(1)}3%{opacity:.44;transform:translate(3px,-1.3px)scale(.99)}14%{opacity:.42;transform:translate(22px,-9.2px)scale(.96)}28%{opacity:.44;transform:translate(50px,-21px)scale(.98)}34%{opacity:.45;transform:translate(72px,-30.2px)scale(1)}42%{opacity:.43;transform:translate(60px,-25.2px)scale(.97)}50%{opacity:.35;transform:translate(44px,-18.3px)scale(.85)}56%{opacity:.45;transform:translate(33px,-36px)scale(1)}62%{opacity:.45;transform:translate(33px,-36px)scale(1)}72%{opacity:.45;transform:translate(24px,-10px)scale(1)}80%{opacity:.45;transform:translate(12px,-5px)scale(1)}85%{opacity:.45;transform:translate(0)scale(1)}to{opacity:.45;transform:translate(0)scale(1)}}@keyframes ball-spinner-spin--nick{0%{transform:rotate(0)}34%{transform:rotate(500deg)}56%{transform:rotate(560deg)}89%{transform:rotate(0)}to{transform:rotate(0)}}.ball-spinner-arc--reverse{animation:1.7s linear infinite ball-spinner-bounce--reverse}.ball-spinner-shadow--reverse{animation:1.7s linear infinite ball-spinner-shadow--reverse}.ball-spinner-arc--reverse .ball-spinner-spin{animation:1.7s linear infinite ball-spinner-spin--reverse}@keyframes ball-spinner-bounce--reverse{0%{animation-timing-function:ease-out;transform:translate(0)scale(1)}3%{animation-timing-function:ease-in-out;transform:translate(3px,-1px)scale(1.15,.82)}12%{animation-timing-function:ease-in-out;transform:translate(20px,-10px)scale(1)}22%{animation-timing-function:ease-in-out;transform:translate(30px,-13px)scale(1)}32%{animation-timing-function:ease-out;transform:translate(12px,-14px)scale(1)}42%{animation-timing-function:ease-in;transform:translate(-10px,-14px)scale(1)}48%{animation-timing-function:ease-out;transform:translate(-14px,-20px)rotate(-23deg)scale(1.4,.6)}56%{animation-timing-function:ease-in-out;transform:translate(6px,-10px)scale(1)}66%{animation-timing-function:ease-in;transform:translate(40px,-20px)scale(1)}74%{animation-timing-function:ease-out;transform:translate(72px,-32px)scale(.5,1.4)}80%{animation-timing-function:ease-in;transform:translate(48px,-20px)scale(.85,1.15)}85%{animation-timing-function:ease-out;transform:translate(30px,-12px)scale(1.25,.72)}89%{animation-timing-function:ease-in;transform:translate(12px,-5px)scale(1)}92%{animation-timing-function:ease-out;transform:translate(0)scale(1.15,.8)}95%{transform:translate(0)scale(1)}to{transform:translate(0)scale(1)}}@keyframes ball-spinner-shadow--reverse{0%{opacity:.45;transform:translate(0)scale(1)}3%{opacity:.44;transform:translate(3px,-1.3px)scale(.99)}12%{opacity:.44;transform:translate(20px,-8.3px)scale(.98)}22%{opacity:.45;transform:translate(30px,-12.5px)scale(1)}32%{opacity:.39;transform:translate(12px,-5px)scale(.9)}42%{opacity:.38;transform:translate(-10px,-4.1px)scale(.89)}48%{opacity:.42;transform:translate(-14px,-5.7px)scale(.95)}56%{opacity:.4;transform:translate(6px,-2.5px)scale(.92)}66%{opacity:.42;transform:translate(40px,-16.7px)scale(.96)}74%{opacity:.44;transform:translate(72px,-30.2px)scale(.98)}80%{opacity:.45;transform:translate(48px,-20.2px)scale(1)}85%{opacity:.45;transform:translate(30px,-12.5px)scale(1)}89%{opacity:.45;transform:translate(12px,-5px)scale(1)}92%{opacity:.45;transform:translate(0)scale(1)}to{opacity:.45;transform:translate(0)scale(1)}}@keyframes ball-spinner-spin--reverse{0%{transform:rotate(0)}22%{transform:rotate(210deg)}48%{transform:rotate(-105deg)}74%{transform:rotate(510deg)}95%{transform:rotate(0)}to{transform:rotate(0)}}.ball-spinner-arc--corkscrew{animation:1.6s linear infinite ball-spinner-bounce--corkscrew}.ball-spinner-shadow--corkscrew{animation:1.6s linear infinite ball-spinner-shadow--corkscrew}.ball-spinner-arc--corkscrew .ball-spinner-spin{animation-duration:.35s}@keyframes ball-spinner-bounce--corkscrew{0%{animation-timing-function:ease-out;transform:translate(0)scale(1)}3%{animation-timing-function:ease-out;transform:translate(2px,-2px)scale(1.15,.82)}12%{animation-timing-function:ease-out;transform:translate(-6px,-12px)scale(1)}24%{animation-timing-function:ease-in-out;transform:translate(-2px,-26px)scale(1)}36%{animation-timing-function:ease-in-out;transform:translate(16px,-28px)scale(1)}48%{animation-timing-function:ease-in;transform:translate(46px,-28px)scale(1)}58%{animation-timing-function:ease-out;transform:translate(76px,-38px)scale(.42,1.65)}66%{animation-timing-function:ease-in;transform:translate(60px,-26px)scale(.85,1.15)}76%{animation-timing-function:ease-out;transform:translate(38px,-16px)scale(1.25,.72)}84%{animation-timing-function:ease-in;transform:translate(14px,-6px)scale(1)}88%{animation-timing-function:ease-out;transform:translate(0)scale(1.15,.8)}91%{transform:translate(0)scale(1)}to{transform:translate(0)scale(1)}}@keyframes ball-spinner-shadow--corkscrew{0%{opacity:.45;transform:translate(0)scale(1)}3%{opacity:.44;transform:translate(2px,-.8px)scale(.98)}12%{opacity:.38;transform:translate(-6px,-2.5px)scale(.9)}24%{opacity:.28;transform:translate(-2px,-.8px)scale(.73)}36%{opacity:.3;transform:translate(16px,-6.7px)scale(.77)}48%{opacity:.39;transform:translate(46px,-19.2px)scale(.9)}58%{opacity:.41;transform:translate(76px,-31.9px)scale(.93)}66%{opacity:.44;transform:translate(60px,-25.2px)scale(.99)}76%{opacity:.45;transform:translate(38px,-16px)scale(1)}84%{opacity:.45;transform:translate(14px,-5.9px)scale(1)}88%{opacity:.45;transform:translate(0)scale(1)}to{opacity:.45;transform:translate(0)scale(1)}}.ball-spinner-arc--crosscourt{animation:1.7s linear infinite ball-spinner-bounce--crosscourt}.ball-spinner-shadow--crosscourt{animation:1.7s linear infinite ball-spinner-shadow--crosscourt}.ball-spinner-arc--crosscourt .ball-spinner-spin{animation:1.7s linear infinite ball-spinner-spin--crosscourt}@keyframes ball-spinner-bounce--crosscourt{0%{animation-timing-function:ease-out;transform:translate(0)scale(1)}3%{animation-timing-function:ease-in-out;transform:translate(3px,-1px)scale(1.15,.82)}16%{animation-timing-function:ease-in-out;transform:translate(28px,-4px)scale(1)}32%{animation-timing-function:ease-in-out;transform:translate(54px,-8px)scale(1)}46%{animation-timing-function:ease-in;transform:translate(76px,-12px)scale(1)}54%{animation-timing-function:ease-out;transform:translate(90px,-24px)scale(.6,1.35)}62%{animation-timing-function:ease-in;transform:translate(74px,-12px)scale(.85,1.12)}72%{animation-timing-function:ease-in;transform:translate(52px,-7px)scale(1)}80%{animation-timing-function:ease-out;transform:translate(30px,-4px)scale(1.25,.75)}86%{animation-timing-function:ease-in;transform:translate(12px,-2px)scale(1)}89%{animation-timing-function:ease-out;transform:translate(0)scale(1.15,.8)}92%{transform:translate(0)scale(1)}to{transform:translate(0)scale(1)}}@keyframes ball-spinner-shadow--crosscourt{0%{opacity:.45;transform:translate(0)scale(1)}3%{opacity:.45;transform:translate(3px,-.4px)scale(.99)}16%{opacity:.45;transform:translate(28px,-3.3px)scale(1)}32%{opacity:.44;transform:translate(54px,-6.4px)scale(.98)}46%{opacity:.43;transform:translate(76px,-9px)scale(.97)}54%{opacity:.42;transform:translate(90px,-10.6px)scale(.95)}62%{opacity:.42;transform:translate(74px,-8.7px)scale(.96)}72%{opacity:.44;transform:translate(52px,-6.1px)scale(.99)}80%{opacity:.45;transform:translate(30px,-3.5px)scale(1)}86%{opacity:.45;transform:translate(12px,-1.4px)scale(1)}89%{opacity:.45;transform:translate(0)scale(1)}to{opacity:.45;transform:translate(0)scale(1)}}@keyframes ball-spinner-spin--crosscourt{0%{transform:rotate(0)}54%{transform:rotate(630deg)}92%{transform:rotate(0)}to{transform:rotate(0)}}@media (prefers-reduced-motion:reduce){.ball-spinner-arc,.ball-spinner-spin,.ball-spinner-shadow,.ball-spinner-racket{animation:none}.ball-spinner-body,.ball-spinner-label{animation:2.2s ease-in-out infinite ball-spinner-pulse}}
.builder-content{max-width:800px;margin:0 auto;padding:2.5rem 1.25rem 4rem}.builder-form{border:1px solid var(--sage);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;padding:1.5rem;display:grid}.builder-form .field-full{grid-column:1/-1}.builder-form label{color:var(--forest-green);margin-bottom:.35rem;font-weight:600;display:block}.builder-form input,.builder-form select,.builder-form textarea{width:100%;font:inherit;border:1px solid var(--sage);color:var(--near-black-green);border-radius:4px;padding:.5rem .6rem;transition:border-color .18s,box-shadow .18s}.builder-form input:focus-visible,.builder-form select:focus-visible,.builder-form textarea:focus-visible{border-color:var(--forest-green);outline:none;box-shadow:0 0 0 3px #8fa89359}.builder-form textarea{resize:vertical;min-height:4.5rem}.builder-submit{background:var(--forest-green);color:var(--white);font:inherit;cursor:pointer;border:none;border-radius:4px;grid-column:1/-1;padding:.75rem 1.25rem;font-weight:600;transition:background-color .18s,transform .18s,box-shadow .18s}.builder-submit:hover:not(:disabled){background:var(--near-black-green);transform:translateY(-1px);box-shadow:0 4px 12px #1522182e}.builder-submit:disabled{opacity:.6;cursor:not-allowed}.builder-status{margin:1.25rem 0;font-weight:600}.builder-status[data-state=error]{color:#8a1f1f}.builder-status[data-state=loading]{text-align:center;flex-direction:column;align-items:center;gap:.5rem;display:flex}.builder-status[hidden]{display:none}.builder-retry{font:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:4px;margin-left:.75rem;padding:.3rem .75rem}#plan-result[hidden]{display:none}.plan-markdown h1,.plan-markdown h2,.plan-markdown h3{color:var(--forest-green);margin-top:2rem}.plan-markdown table{border-collapse:collapse;width:100%;margin:1rem 0 1.5rem;font-size:.95rem}.plan-markdown th,.plan-markdown td{border:1px solid var(--sage);text-align:left;padding:.5rem .75rem}.plan-markdown th{background:var(--forest-green);color:var(--white)}.drill-diagram-slot{max-width:400px;margin:0 auto 1.5rem}.drill-diagram-slot .court-diagram-figure{max-width:400px;margin:1rem auto .5rem}.drill-diagram-slot svg.court-diagram{width:100%;height:auto;display:block}.court-diagram-caption{text-align:center;color:var(--near-black-green);margin-top:.5rem;font-size:.95rem}.court-diagram-legend{color:var(--near-black-green);justify-content:center;gap:1rem;margin-top:.35rem;font-size:.95rem;display:flex}.court-diagram-legend-item{align-items:center;gap:.35rem;display:inline-flex}.court-diagram-legend-line{border-top:2px solid #c77d2b;width:1.4rem;display:inline-block}.court-diagram-legend-line.legend-movement{border-top-style:dashed;border-top-color:#4a6fa5}.court-diagram-steps{text-align:left;margin:.5rem 0 0;padding-left:1.25rem}.diagram-unavailable{color:var(--forest-green);border:1px dashed var(--sage);border-radius:6px;margin:1rem 0 1.5rem;padding:.75rem;font-size:.85rem;font-style:italic}.save-plan{border-top:1px solid var(--sage);margin-top:2.5rem;padding-top:1.5rem}.save-plan button{background:var(--white);color:var(--forest-green);border:1px solid var(--forest-green);font:inherit;cursor:pointer;border-radius:4px;margin-bottom:.5rem;margin-right:.5rem;padding:.6rem 1rem}.save-plan-files{font-size:.85rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.save-drill{border-top:1px solid var(--sage);margin-top:2.5rem;padding-top:1.5rem}.save-drill-row{align-items:stretch;gap:.75rem;display:flex}.save-drill-row input{min-width:0;font:inherit;border:1px solid var(--sage);color:var(--near-black-green);border-radius:4px;flex:1;padding:.5rem .6rem;transition:border-color .18s,box-shadow .18s}.save-drill-row input:focus-visible{border-color:var(--forest-green);outline:none;box-shadow:0 0 0 3px #8fa89359}.save-drill-row button{background:var(--forest-green);color:var(--white);font:inherit;cursor:pointer;border:none;border-radius:4px;padding:.6rem 1.25rem;font-weight:600;transition:background-color .18s}.save-drill-row button:hover:not(:disabled){background:var(--near-black-green)}.save-drill-row button:disabled{opacity:.6;cursor:not-allowed}.save-drill-note{margin-top:.75rem;font-weight:600}.save-drill-note[data-state=error]{color:#8a1f1f}@media (max-width:640px){.save-drill-row{flex-direction:column}.builder-form{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.builder-form input,.builder-form select,.builder-form textarea,.builder-submit{transition:none}.builder-submit:hover:not(:disabled){transform:none}}
