:root{--bg:#ffffff;--surface:#fbf8f3;--court:#f3e9d8;--line:#e7dac4;--text:#1c1917;--muted:#57534e;
--accent:#0F766E;--accent2:#14B8A6;--on-accent:#ffffff;--miss:#57534e}
@media (prefers-color-scheme:dark){:root{--bg:#121514;--surface:#1a1e1d;--court:#24221e;--line:#34312b;
--text:#f5f5f4;--muted:#b7b2ab;--accent:#14B8A6;--accent2:#5eead4;--on-accent:#0b1211;--miss:#b7b2ab}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
a{color:var(--accent)}a:hover{color:var(--accent2)}
.top{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line);max-width:960px;margin:0 auto}
.brand{font-weight:800;text-decoration:none;color:var(--text);letter-spacing:-.01em}
main{max-width:960px;margin:0 auto;padding:0 16px 32px}
.hero{padding:40px 0 20px}.hero h1{font-size:clamp(2rem,6vw,3.2rem);line-height:1.1;margin:0 0 10px;letter-spacing:-.02em}
.small-hero h1{font-size:clamp(1.5rem,4.5vw,2.2rem)}
.lead{font-size:1.15rem;color:var(--muted);margin:0 0 18px}
.btn{display:inline-block;background:var(--accent);color:var(--on-accent);padding:12px 18px;border-radius:10px;text-decoration:none;font-weight:700;margin:4px 8px 4px 0}
.btn:hover{background:var(--accent2);color:var(--on-accent)}.btn.ghost{background:transparent;color:var(--accent);border:2px solid var(--accent)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;margin:16px 0}
.record .big{font-size:2.6rem;font-weight:800;margin:0;color:var(--accent)}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.grid3 .card{margin:0}
h2{font-size:1.3rem;margin:0 0 8px}h3{font-size:1.05rem;margin:0 0 6px}
.small{font-size:.9rem;color:var(--muted)}.club{font-size:.8rem;color:var(--muted)}.why{font-size:.85rem;color:var(--muted)}
.scroll{overflow-x:auto}
.t{width:100%;border-collapse:collapse;font-size:.95rem}
.t th,.t td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top}
.t .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.t thead th{font-size:.8rem;color:var(--muted);font-weight:600}
.res.hit{color:var(--accent);font-weight:700}.res.miss{color:var(--miss)}
.gate{background:var(--court);border-radius:10px;padding:10px 12px;margin:12px 0 0}
.waitlist{background:var(--court)}
.form{display:grid;gap:10px;max-width:520px}
.form input[type=email]{padding:12px;border:1px solid var(--line);border-radius:10px;font-size:1rem;background:var(--bg);color:var(--text)}
.check{display:flex;gap:8px;align-items:flex-start;font-size:.92rem}
button{background:var(--accent);color:var(--on-accent);border:0;padding:12px 18px;border-radius:10px;font-weight:700;font-size:1rem;cursor:pointer;justify-self:start}
button:hover{background:var(--accent2)}
.placeholder{font-size:.85rem;color:var(--muted);border:1px dashed var(--line);padding:8px;border-radius:8px}
.cred{color:var(--muted);text-align:center;margin:24px 0 0}
.preview{background:var(--court);color:var(--text);text-align:center;padding:8px;font-weight:700;border-bottom:1px solid var(--line)}
.prose{max-width:760px}.prose h2{margin-top:18px}
footer{max-width:960px;margin:0 auto;padding:20px 16px 40px;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}
ol{padding-left:20px;margin:6px 0}
@media (max-width:520px){.t{font-size:.85rem}.t th,.t td{padding:6px 3px}.card{padding:14px}}