/* Top Down Tabletop: shared site footer (/app shell + /m). Hand-written; every
   value is a tokens.css custom property or a color-mix of one. */
.tdtt-sitefooter {
  position: relative; z-index: 2;
  margin-top: 40px;
  border-top: 1px solid var(--border);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--cyan) 6%, transparent), transparent 70%),
    repeating-linear-gradient(0deg, color-mix(in srgb, var(--cyan) 4%, transparent) 0 1px, transparent 1px 4px),
    var(--bg);
  color: var(--text-dim);
  font-family: var(--body);
  font-size: 12.5px; line-height: 1.55;
}
.tdtt-sitefooter::before {
  content: ''; position: absolute; left: 0; right: 0; top: -1px; height: 1px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--cyan) 55%, transparent), transparent);
  pointer-events: none;
}
.tdtt-sitefooter__inner {
  max-width: 960px; margin: 0 auto; padding: 24px 16px;
  display: flex; flex-direction: column; gap: 14px;
}
.tdtt-sitefooter__brand { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.tdtt-sitefooter__logo { height: 28px; width: auto; display: block; }
.tdtt-sitefooter__publisher { margin: 0; color: var(--muted); }
.tdtt-sitefooter a { color: var(--text-dim); text-decoration: none; transition: color .15s; }
.tdtt-sitefooter a:hover, .tdtt-sitefooter a:focus-visible { color: var(--cyan); }
.tdtt-sitefooter__publisher a { color: var(--text); font-weight: 600; }
.tdtt-sitefooter__links { display: flex; flex-wrap: wrap; gap: 4px 20px; }
.tdtt-sitefooter__links a { padding: 4px 0; }
.tdtt-sitefooter__fine { margin: 0; color: var(--muted); font-size: 11.5px; max-width: 70ch; }

/* /m: two-column links, 44px tap targets, and clearance for the fixed bottom dock. */
.tdtt-sitefooter--m { margin-top: 28px; }
.tdtt-sitefooter--m .tdtt-sitefooter__inner {
  padding: 20px 16px calc(96px + env(safe-area-inset-bottom));
}
.tdtt-sitefooter--m .tdtt-sitefooter__links {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px;
}
.tdtt-sitefooter--m .tdtt-sitefooter__links a {
  display: flex; align-items: center; min-height: 44px; font-size: 14px;
}
.tdtt-sitefooter--m .tdtt-sitefooter__publisher a { display: inline-flex; align-items: center; min-height: 44px; }

@media (max-width: 560px) {
  .tdtt-sitefooter__links { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
}

/* /app rail: small Terms / Privacy links under the section list. */
.tdtt-rail-legal { display: flex; gap: 12px; padding: 10px 14px 14px; font-size: 11.5px; }
.tdtt-rail-legal a { color: var(--muted); text-decoration: none; }
.tdtt-rail-legal a:hover, .tdtt-rail-legal a:focus-visible { color: var(--cyan); }
