/* My Domains (founder-domains.html / founder-domains.js). */
.fdm { width: 100%; max-width: none; margin: 0; padding: 28px 24px 60px; box-sizing: border-box; } /* the full container width (founder 2026-10-12) */
.fdm h1 { font-family: 'Space Grotesk', sans-serif; font-size: 1.8rem; margin: 0 0 6px; }
.fdm-lead { color: var(--text-muted, #9aa7bd); margin: 0 0 22px; }
/* Three to a row (founder 2026-10-29: "You can do 3 just like this page"), matching Custom Domains.
   Explicit rather than auto-fill, so the count does not drift with the window width. */
.fdm-list { display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
@media (max-width: 1280px) { .fdm-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 820px) { .fdm-list { grid-template-columns: 1fr; } }
/* The thumbnail bleeds to the card edge. .fdm-card carries its own padding, so rather than restructure
   every card this pulls the preview back out to the border and rounds the two top corners to match. */
.fdm-card > .sp-shot { margin: -16px -18px 14px; border-radius: 13px 13px 0 0;
  border-bottom: 1px solid var(--border, #24314d); }
.fdm-card { border: 1px solid var(--border, #24314d); border-radius: 14px; padding: 16px 18px; background: var(--surface, #0e1830); overflow: hidden; }
.fdm-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.fdm-card h2 { font-size: 1.05rem; margin: 0 0 2px; }
.fdm-url { font-size: 0.85rem; color: var(--text-muted, #9aa7bd); word-break: break-all; }
.fdm-badge { flex: 0 0 auto; font-size: 0.75rem; font-weight: 600; padding: 4px 10px; border-radius: 999px; border: 1px solid var(--border, #24314d); color: var(--text-muted, #9aa7bd); }
.fdm-badge.is-active { color: #22c55e; border-color: #22c55e66; }
.fdm-badge.is-failed { color: #f97316; border-color: #f9731666; }
.fdm-badge.is-dns, .fdm-badge.is-ready, .fdm-badge.is-approved { color: #38bdf8; border-color: #38bdf866; }
.fdm-body { margin-top: 12px; }
.fdm-row { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.fdm-input { flex: 1 1 220px; min-width: 0; padding: 9px 12px; font: inherit; color: var(--text, #e8eefc); background: var(--code-bg, #0a1226); border: 1px solid var(--border, #24314d); border-radius: 9px; }
.fdm-btn { display: inline-flex; align-items: center; justify-content: center; padding: 9px 14px; font: inherit; font-weight: 600; font-size: 0.9rem; color: var(--text, #e8eefc); background: transparent; border: 1px solid var(--border, #24314d); border-radius: 9px; cursor: pointer; text-decoration: none; }
.fdm-btn:hover { border-color: var(--accent, #2f81f7); }
.fdm-btn:disabled { opacity: 0.6; cursor: default; }
.fdm-btn-primary { background: var(--accent, #2f81f7); border-color: var(--accent, #2f81f7); color: #fff; }
.fdm-btn-sm { padding: 5px 10px; font-size: 0.8rem; }
.fdm-msg { margin: 8px 0 0; font-size: 0.9rem; }
.fdm-msg.is-bad { color: #f97316; }
.fdm-note { margin: 10px 0 0; font-size: 0.85rem; color: var(--text-muted, #9aa7bd); }
.fdm-rec { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 8px; padding: 9px 12px; border-radius: 9px; background: var(--code-bg, #0a1226); }
.fdm-k { font-size: 0.8rem; color: var(--text-muted, #9aa7bd); min-width: 150px; }
.fdm-rec code { flex: 1 1 auto; word-break: break-all; }
/* Round 2: search bar, students panel, where it points, guides, live details, tests. */
.fdm-bar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 4px 0 6px; }
.fdm-search { flex: 1 1 280px; }
.fdm-sort { flex: 0 0 auto; width: auto; }
.fdm-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.fdm-chip { padding: 7px 12px; font: inherit; font-size: 0.85rem; font-weight: 600; color: var(--text-muted, #9aa7bd); background: transparent; border: 1px solid var(--border, #24314d); border-radius: 999px; cursor: pointer; }
.fdm-chip[aria-pressed="true"] { color: #fff; background: var(--accent, #2f81f7); border-color: var(--accent, #2f81f7); }
.fdm-count { margin: 0 0 12px; }
.fdm-students { margin: 0 0 16px; }
.fdm-students > summary { cursor: pointer; font-weight: 700; }
.fdm-switch { align-items: center; }
.fdm-limit { flex: 0 0 auto; width: auto; }
.fdm-req { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 0; border-top: 1px solid var(--border, #24314d); }
.fdm-seen { margin-top: 10px; padding: 10px 12px; border-radius: 9px; border: 1px dashed var(--border, #24314d); }
.fdm-seen ul, .fdm-tests { margin: 6px 0 0; padding-left: 18px; font-size: 0.88rem; }
.fdm-seen li, .fdm-tests li { margin: 3px 0; word-break: break-word; }
li.is-ok { color: #22c55e; } li.is-bad { color: #f97316; }
.fdm-msg.is-good { color: #22c55e; }
.fdm-alt { margin-top: 2px; font-size: 0.78rem; }
.fdm-guide { margin-top: 10px; }
.fdm-guide > summary { cursor: pointer; font-weight: 600; color: var(--accent, #2f81f7); }
.fdm-guide ol { margin: 8px 0 0; padding-left: 20px; font-size: 0.9rem; }
.fdm-guide li { margin: 4px 0; }
.fdm-gpick { margin-top: 8px; width: auto; }
.fdm-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 8px; }
.fdm-fact { padding: 9px 12px; border-radius: 9px; background: var(--code-bg, #0a1226); }
.fdm-fact .fdm-k { display: block; min-width: 0; }
.fdm-fact strong { font-size: 0.92rem; }
.fdm-btn-quiet { color: var(--text-muted, #9aa7bd); }
@media (max-width: 600px) { .fdm { padding: 20px 16px 60px; } .fdm-k { min-width: 0; } }
/* Connected Domains (founder-domain-list.html / founder-domain-list.js). */
.fdl-wrap { overflow-x: auto; border: 1px solid var(--border, #24314d); border-radius: 14px; background: var(--surface, #0e1830); }
.fdl-table { width: 100%; border-collapse: collapse; font-size: 0.9rem; }
.fdl-table th { text-align: left; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--text-muted, #9aa7bd); padding: 12px 14px; border-bottom: 1px solid var(--border, #24314d); white-space: nowrap; }
.fdl-table td { padding: 12px 14px; border-bottom: 1px solid var(--border, #24314d); vertical-align: top; }
.fdl-table tbody tr:last-child td { border-bottom: 0; }
.fdl-domain { font-weight: 700; word-break: break-all; }
.fdl-tag { display: inline-block; margin-left: 6px; font-size: 0.7rem; font-weight: 600; padding: 1px 7px; border-radius: 999px; border: 1px solid var(--border, #24314d); color: var(--text-muted, #9aa7bd); }
.fdl-sub, .fdl-mail { display: block; font-size: 0.8rem; color: var(--text-muted, #9aa7bd); word-break: break-all; }
.fdl-date { white-space: nowrap; color: var(--text-muted, #9aa7bd); }
.fdl-acts { white-space: nowrap; text-align: right; }
.fdl-acts .fdm-btn + .fdm-btn { margin-left: 6px; }
.fdm-badge.is-expired, .fdm-badge.is-removed, .fdm-badge.is-rejected { opacity: 0.7; }
@media (max-width: 760px) {
  .fdl-table thead { display: none; }
  .fdl-table, .fdl-table tbody, .fdl-table tr, .fdl-table td { display: block; width: 100%; box-sizing: border-box; }
  .fdl-table tr { padding: 10px 0; border-bottom: 1px solid var(--border, #24314d); }
  .fdl-table td { border: 0; padding: 4px 14px; }
  .fdl-acts { text-align: left; }
}

/* Addresses that moved to another host (founder 2026-10-27). Flagged, not alarming: nothing here is broken
   on our side, it is a note that we stopped handing our traffic to a copy we no longer serve. */
.fdm-gone { margin-top: 18px; padding: 14px 16px; border-radius: 14px;
  border: 1px solid rgba(255, 201, 77, .34); background: rgba(255, 201, 77, .07); }
.fdm-gone h4 { margin: 0 0 .2rem; font-size: .98rem; color: #ffc94d; }
.fdm-gone .fdm-note { margin: 0 0 .5rem; max-width: 70ch; }
.fdm-gone .fdm-req { border-color: rgba(255, 201, 77, .22); }

/* An address that was pointed at another host (founder 2026-10-28). Stated, not scolded: the owner may not
   be the person who moved it, and this is where they would come to put it back. */
.fdm-moved { margin: 10px 0 4px; padding: 13px 15px; border-radius: 12px;
  border: 1px solid rgba(226, 117, 106, .38); background: rgba(226, 117, 106, .08); }
.fdm-moved strong { display: block; margin-bottom: .3rem; color: #e2756a; font-size: .97rem; }
.fdm-moved p { margin: 0 0 .45rem; font-size: .89rem; line-height: 1.55; color: var(--text-muted, #9fb3d9); max-width: 70ch; }
.fdm-moved p:last-child { margin-bottom: 0; }
.fdm-badge.is-moved { background: rgba(226, 117, 106, .14); border-color: rgba(226, 117, 106, .45); color: #e2756a; }
