/* Pickle Storm: shared styles for the inner pages.
   Fonts (Big Shoulders Display, Geist, Geist Mono) load from Google Fonts in each page's <head>. */
:root{--ground:#0B1310;--surface:#111C17;--text:#EEF1EA;--soft:#A3B0A8;--body:#CBD3CB;--line:rgba(238,241,234,.14);
  --accent:#FF6B45;--on-accent:#1A0E08;
  --court-green:#2F7D54;--court-brick:#C6401F;--court-white:#F6F4EC;--ball:#E6F03C;
  --f-display:'Big Shoulders Display','Arial Narrow',Impact,sans-serif;
  --f-body:'Geist',system-ui,-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;
  --f-mono:'Geist Mono',ui-monospace,Menlo,monospace;color-scheme:dark}
*{box-sizing:border-box}
html,body{background:var(--ground);color:var(--text)}
body{margin:0;font-family:var(--f-body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}
.wrap{width:100%;max-width:760px;margin-inline:auto;padding-inline:clamp(16px,4vw,32px)}
.mono{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.kick{color:var(--soft);margin:0}
.nw{white-space:nowrap}

/* Header */
.top{border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;max-width:1100px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand svg{flex:0 0 auto;border-radius:6px}
.brand b{white-space:nowrap;font-family:var(--f-display);font-weight:800;font-size:22px;line-height:1;letter-spacing:.05em;text-transform:uppercase}
.top nav{display:flex;align-items:center;gap:20px}
.top nav a{text-decoration:none;color:var(--soft)}
.top nav a:hover,.top nav a[aria-current="page"]{color:var(--text)}
.top nav a.nav-cta{display:inline-flex;align-items:center;min-height:38px;padding:0 18px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-weight:500}
.top nav a.nav-cta:hover{background:var(--text);color:var(--ground)}
.top nav a.nav-cta[aria-current="page"]{color:var(--on-accent)}
.nav-burger{display:none;width:44px;height:44px;border-radius:50%;border:1px solid currentColor;background:none;color:inherit;padding:0;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.nav-burger span{display:block;width:16px;height:1.5px;background:currentColor;border-radius:1px}
@media (max-width:980px){.top nav{display:none}.nav-burger{display:inline-flex}}
@media (max-width:420px){.brand b{font-size:20px}}

/* Text */
main{padding-block:clamp(40px,8vh,88px)}
h1,h2{font-family:var(--f-display);text-transform:uppercase;overflow-wrap:break-word}
h1{font-weight:900;line-height:.96;letter-spacing:.01em;font-size:clamp(50px,11.5vw,108px);margin:14px 0 26px}
h1 em,h2 em{font-style:normal;color:var(--accent)}
h2{font-weight:800;font-size:30px;line-height:1.05;letter-spacing:.02em;margin:48px 0 10px}
h2[id]{scroll-margin-top:24px}
main p,main li{color:var(--body)}
main ul{padding-left:20px}
main ol{padding-left:22px}
main li{margin-bottom:6px}
strong{color:var(--text);font-weight:600}
main a{color:var(--text);text-underline-offset:3px}
main a:hover{color:var(--accent)}
.updated{color:var(--soft)}
ol.legal li{margin-bottom:14px}
ol.legal ul{margin-top:10px}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:0 26px;border-radius:999px;background:var(--accent);color:var(--on-accent);
  font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;margin:8px 10px 0 0}
.btn.line{background:transparent;color:var(--text);border:1px solid var(--line)}
.btn:hover{background:var(--text);color:var(--ground)}
main a.btn{color:var(--on-accent)}main a.btn.line{color:var(--text)}
main a.btn:hover,main a.btn.line:hover{color:var(--ground)}
.actions{margin-top:48px}

/* Placeholder: a detail that is not decided yet */
.tbd{display:inline-block;vertical-align:baseline;font-family:var(--f-mono);font-size:11px;font-weight:500;line-height:1.5;letter-spacing:.06em;white-space:nowrap;
  padding:2px 8px;border:1px dashed rgba(238,241,234,.45);border-radius:6px;color:var(--soft);text-transform:none}

/* Draft banner (waiver, privacy) */
.draft{display:flex;gap:12px;align-items:center;margin:0 0 34px;padding:14px 18px;border:1px solid var(--accent);border-radius:14px;background:rgba(255,107,69,.1);
  color:var(--text);font-family:var(--f-mono);font-size:13px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;line-height:1.4}
.draft::before{content:"";flex:0 0 10px;height:10px;border-radius:50%;background:var(--accent)}

/* Proof strip: three quick facts under the h1 on key pages */
.proof-strip{list-style:none;margin:0 0 32px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.proof-strip li{display:flex;gap:12px;align-items:center;margin:0;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);font-size:15px;line-height:1.3;color:var(--text)}
.proof-strip svg{flex:0 0 auto;width:34px;height:34px;padding:7px;border-radius:50%;background:var(--accent);color:var(--on-accent)}
.proof-strip b{display:block;font-weight:600}
.proof-strip span{display:block;color:var(--soft);font-size:13px;margin-top:2px}
@media (max-width:760px){.proof-strip{grid-template-columns:1fr}}

/* Tables */
.tbl{overflow-x:auto;margin:18px 0}
table{width:100%;border-collapse:collapse;font-size:15px}
th,td{text-align:left;padding:11px 12px 11px 0;border-bottom:1px solid var(--line);color:var(--body);vertical-align:top}
thead th,tbody th{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--soft);font-weight:500}
tbody th{padding-top:14px;white-space:nowrap}

/* Accordion (FAQ) */
.qa details{border-bottom:1px solid var(--line)}
.qa details:first-of-type{border-top:1px solid var(--line)}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 0;min-height:44px;
  font-size:clamp(17px,1.7vw,20px);font-weight:500;line-height:1.35;color:var(--text)}
.qa summary::-webkit-details-marker{display:none}
@media (hover:hover){.qa summary:hover{color:var(--accent)}}
.qa summary .pm{position:relative;flex:0 0 18px;height:18px}
.qa summary .pm::before,.qa summary .pm::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:currentColor;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.qa summary .pm::after{transform:rotate(90deg)}
.qa details[open] summary .pm::after{transform:rotate(0deg)}
.qa details[open] summary{color:var(--accent)}
.qa .ans{padding:0 42px 24px 0;color:var(--body);max-width:62ch}
.qa .ans p{margin:0 0 10px}
.qa .ans p:last-child{margin-bottom:0}
@media (prefers-reduced-motion:reduce){.qa summary .pm::before,.qa summary .pm::after{transition:none}}

/* Court drawings */
.court-fig{margin:22px 0 8px}
.court-fig svg{display:block;width:100%;height:auto;border-radius:10px}
.court-fig figcaption{margin-top:10px;color:var(--soft)}

/* Footer */
footer{border-top:1px solid var(--line);padding-block:28px;color:var(--soft)}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 32px;max-width:1100px}
footer a{text-decoration:none}
footer a:hover,footer a[aria-current="page"]{color:var(--text)}
.foot-links{display:flex;flex-wrap:wrap;gap:10px 16px}
