:root { color-scheme: light; font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
body { margin: 0; background: #f6f7f9; color: #1f2937; }
header { background: #111827; color: #fff; padding: 22px 28px; }
header h1 { margin: 0; font-size: 26px; }
header p { margin: 6px 0 0; opacity: .78; }
main { max-width: 1250px; margin: 28px auto; padding: 0 22px 50px; }
.card { background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; padding: 20px; margin-bottom: 18px; box-shadow: 0 2px 8px rgba(0,0,0,.035); }
.grid { display: grid; grid-template-columns: 2fr 1fr 1fr auto; gap: 12px; align-items: end; }
label { display: block; font-weight: 650; font-size: 13px; margin-bottom: 6px; }
textarea, input { width: 100%; box-sizing: border-box; border: 1px solid #cbd5e1; border-radius: 8px; padding: 10px; background: #fff; font: inherit; }
textarea { min-height: 96px; resize: vertical; }
button { border: 0; border-radius: 8px; background: #111827; color: #fff; padding: 11px 18px; font-weight: 700; cursor: pointer; }
button:hover { background: #000; }
.badge { display:inline-block; padding: 4px 8px; border-radius:999px; font-size:12px; font-weight:700; background:#fef3c7; color:#92400e; }
.notice { padding: 12px 14px; border-radius: 8px; margin-bottom: 14px; background: #eff6ff; color: #1e40af; border: 1px solid #bfdbfe; }
.error { background: #fef2f2; color: #991b1b; border-color: #fecaca; }
table { width:100%; border-collapse: collapse; }
th, td { text-align:right; padding: 10px 9px; border-bottom: 1px solid #e5e7eb; vertical-align:top; }
th:first-child, td:first-child { text-align:left; }
th { font-size:12px; text-transform:uppercase; letter-spacing:.03em; color:#6b7280; }
.page-name { font-weight: 750; }
small, .muted { color:#6b7280; }
.top-post { display:grid; grid-template-columns: 120px 1fr 95px; gap:14px; padding: 12px 0; border-bottom:1px solid #e5e7eb; }
.top-post:last-child { border-bottom:0; }
a { color:#2563eb; text-decoration:none; }
a:hover { text-decoration:underline; }
@media (max-width: 850px) { .grid { grid-template-columns:1fr; } .top-post { grid-template-columns:1fr; } table { font-size: 13px; overflow-x:auto; display:block; } }

/* Legal / review pages */
.legal-page { max-width: 980px; }
.legal-card { line-height: 1.65; }
.legal-card h2 { margin-top: 28px; margin-bottom: 8px; color: #111827; }
.legal-card h2:first-child { margin-top: 0; }
.legal-card h3 { margin-top: 18px; margin-bottom: 5px; color: #374151; }
.legal-card p { margin: 8px 0 12px; }
.legal-card ul { padding-left: 24px; }
.legal-meta { margin-top: 32px !important; color: #6b7280; font-size: 14px; }
.deletion-contact { font-size: 20px; font-weight: 750; padding: 14px; background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 8px; }
.site-footer { max-width: 1250px; margin: 0 auto; padding: 0 22px 36px; color: #6b7280; font-size: 14px; }

/* Meta App Review mode */
.badge-live { background:#dcfce7; color:#166534; }
.badge-review { background:#ede9fe; color:#5b21b6; }
.badge-demo { background:#fef3c7; color:#92400e; }
.review-notice { background:#f5f3ff; color:#4c1d95; border-color:#ddd6fe; }
.diagnostic-card { border-color:#c4b5fd; }
.diagnostic { border:1px solid #d1d5db; border-radius:10px; padding:14px; margin:12px 0; background:#f9fafb; }
.diagnostic.ppca { background:#fff7ed; border-color:#fdba74; }
.diagnostic.success { background:#f0fdf4; border-color:#86efac; }
.diagnostic.error { background:#fef2f2; border-color:#fecaca; }
.diagnostic-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:8px; }
.status-pill { display:inline-block; padding:4px 8px; border-radius:999px; font-size:11px; font-weight:800; background:#fff; border:1px solid rgba(0,0,0,.12); white-space:nowrap; }
.diagnostic-title { font-weight:750; margin-bottom:7px; }
.diagnostic-message { font-size:13px; line-height:1.55; color:#4b5563; overflow-wrap:anywhere; }
.diagnostic-meta { margin-top:10px; display:flex; flex-wrap:wrap; gap:8px 18px; font-size:12px; color:#6b7280; }
.diagnostic-meta code { font-size:11px; }
.review-explanation { margin-top:16px; padding:14px; border-radius:9px; background:#eff6ff; border:1px solid #bfdbfe; color:#1e3a8a; line-height:1.55; }
.sample-banner { max-width:1250px; box-sizing:border-box; margin:0 0 18px; padding:11px 14px; border:2px solid #7c3aed; border-radius:9px; background:#f5f3ff; color:#5b21b6; font-weight:900; text-align:center; letter-spacing:.035em; }
.page-name .badge { margin-top:6px; margin-bottom:3px; }
h2 .badge { vertical-align:middle; margin-left:8px; font-size:10px; }
