/* indiancreektennisclub.com — internal pages, Duel dark shell (2026-09-28)
   Styles the existing __pages/*.html markup with duel.com's own tokens:
   .mast .page .kicker .lead .tw .cn .badge .box .mono-inline .back .foot */

:root{
  --bg:#121731;
  --bg-deep:#0c102b;
  --bg-well:#070b23;
  --surface:#181e3c;
  --surface-2:#1f2546;
  --border:#343c64;
  --border-light:#47507c;
  --text:#ffffff;
  --text-2:#a4aac6;
  --muted:#767faa;
  --blue:#4558ff;
  --blue-hover:#5e6eff;
  --blue-deep:#2133dc;
  --green:#20d095;
  --pink:#e8305e;
  --font-sans:'Hanken Grotesk', system-ui, sans-serif;
  --font-serif:'Hanken Grotesk', system-ui, sans-serif;
  --radius:12px;
  --radius-sm:8px;
}

*{ box-sizing:border-box; }
html,body{ overflow-x:clip; }
body{
  margin:0;
  background:var(--bg);
  color:var(--text-2);
  font-family:var(--font-sans);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{ font-family:var(--font-sans); font-weight:700; color:var(--text); letter-spacing:-0.01em; line-height:1.2; margin:0 0 14px; }
h1{ font-size:clamp(28px,4vw,42px); }
p{ margin:0 0 16px; }
ul{ margin:0 0 20px; padding-left:22px; }
li{ margin-bottom:8px; }
a{ color:var(--blue-hover); text-decoration:none; }
a:hover{ text-decoration:underline; }
strong{ color:var(--text); font-weight:600; }

/* ---------- masthead ---------- */
.mast{
  position:sticky; top:0; z-index:40;
  background:var(--bg);
  border-bottom:1px solid var(--surface-2);
}
.mast-inner{
  max-width:960px; margin:0 auto; padding:12px 20px;
  display:flex; align-items:center; gap:12px;
}
.mast-logo{ font-weight:700; font-size:21px; color:#fff; text-decoration:none; letter-spacing:-0.01em; }
.mast-tag{ font-size:11px; text-transform:uppercase; letter-spacing:0.1em; color:var(--muted); }
.mast-spacer{ flex:1; }
.mast-cta{
  background:var(--blue); color:#fff; text-decoration:none;
  height:40px; padding:0 18px; border-radius:var(--radius-sm);
  display:inline-flex; align-items:center;
  font-size:14px; font-weight:600;
}
.mast-cta:hover{ background:var(--blue-hover); text-decoration:none; }

/* ---------- page body ---------- */
.page{ max-width:820px; margin:0 auto; padding:44px 20px 72px; }
.kicker{
  display:block; font-size:11px; text-transform:uppercase;
  letter-spacing:0.12em; color:var(--muted); margin-bottom:10px;
}
.lead{ font-size:18px; color:var(--text-2); max-width:62ch; }
.page h2{ font-size:clamp(20px,2.5vw,26px); margin:38px 0 14px; padding-top:22px; border-top:1px solid var(--surface-2); }
.page h3{ font-size:18px; margin:26px 0 10px; }
.page ul li{ color:var(--text-2); }

/* ---------- ruled tables ---------- */
.tw{
  overflow-x:auto; -webkit-overflow-scrolling:touch;
  margin:0 0 22px; background:var(--surface);
  border:1px solid var(--border); border-radius:var(--radius);
}
.tw table{ border-collapse:collapse; width:100%; min-width:560px; font-size:15px; }
.tw th, .tw td{ text-align:left; padding:12px 14px; border-bottom:1px solid var(--surface-2); vertical-align:top; }
.tw thead th, .tw tr:first-child th{
  font-size:11px; text-transform:uppercase; letter-spacing:0.08em;
  color:var(--muted); background:var(--surface-2);
}
.tw tr:last-child td{ border-bottom:0; }
.cn{ font-weight:600; color:#fff; white-space:nowrap; }

/* ---------- status chips ---------- */
.badge{
  display:inline-block; font-size:11px; font-weight:600;
  text-transform:uppercase; letter-spacing:0.06em;
  padding:4px 9px; border-radius:var(--radius-sm);
  background:var(--surface-2); white-space:nowrap;
}
.badge.b-open{ color:var(--green); }
.badge.b-warn{ color:#fff; }
.badge.b-block{ color:var(--pink); }

/* ---------- note boxes ---------- */
.box{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
  padding:18px 20px; margin:0 0 22px; color:var(--text-2);
}
.box.amber{ border-left:3px solid var(--blue); }
.box.pink{ border-left:3px solid var(--pink); }

.mono-inline{ color:#fff; font-weight:600; }

.back{ display:inline-block; margin-top:26px; font-size:14px; font-weight:600; }

/* ---------- footer ---------- */
.foot{ background:var(--bg-deep); border-top:1px solid var(--border); padding:40px 20px 52px; }
.foot-inner{ max-width:960px; margin:0 auto; }
.foot-cols{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr)); gap:26px; margin-bottom:26px; }
.foot-cols nav{ display:flex; flex-direction:column; gap:8px; }
.foot-cols nav a{ color:var(--text-2); font-size:15px; }
.foot-cols nav a:hover{ color:#fff; }
.foot-warn{ font-size:14px; color:var(--text-2); max-width:70ch; }
.foot-copy{ font-size:12px; color:var(--muted); line-height:1.7; }

@media (max-width:640px){
  .page{ padding-top:30px; }
  .mast-cta{ height:36px; padding:0 14px; font-size:13px; }
}
