:root { --success: #126b43; --success-soft: #e6f4ec; --warning: #8a5a00; --warning-soft: #fff4dc; }
.site-nav { flex-wrap: wrap; }
.nav-shell > :last-child { justify-self: end; }
.quality-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: -8px 0 40px; overflow: hidden; border: 1px solid var(--outline-soft); border-radius: 8px; background: var(--outline-soft); box-shadow: var(--shadow); }
.quality-item { display: flex; min-height: 86px; align-items: center; gap: 12px; padding: 18px 20px; background: var(--surface); }
.quality-icon { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: var(--success-soft); color: var(--success); font-size: 15px; font-weight: 800; }
.quality-item strong { display: block; color: var(--primary); font-size: 14px; }
.quality-item span { display: block; margin-top: 2px; color: var(--muted); font-size: 12px; }
.verified-badge { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 14px; padding: 7px 10px; border: 1px solid #b8d9c8; border-radius: 999px; background: var(--success-soft); color: var(--success); font-size: 12px; font-weight: 700; }
.review-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 14px; color: var(--muted); font-size: 12px; }
.review-meta a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.tool-grid.tool-grid-expanded { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tool-card .tool-meta { margin-top: 12px; color: var(--muted); font-size: 11px; }
.tool-card .tool-meta strong { color: var(--success); }
.content-rich { content-visibility: auto; contain-intrinsic-size: 700px; }
.article-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr); gap: 32px; align-items: start; margin-top: 40px; }
.article-card { padding: 30px; }
.article-card h2 { margin: 0 0 16px; color: var(--primary); font-size: 24px; }
.article-card h3 { margin: 28px 0 10px; color: var(--primary); font-size: 18px; }
.article-card p, .article-card li { color: var(--muted); font-size: 14px; }
.article-card ul, .article-card ol { padding-left: 20px; }
.article-card a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.source-card { position: sticky; top: 104px; padding: 24px; }
.source-card h2 { margin: 0 0 14px; color: var(--primary); font-size: 18px; }
.source-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.source-list a { display: block; padding: 12px; border: 1px solid var(--outline-soft); border-radius: 4px; background: var(--surface-low); color: var(--primary); font-size: 12px; font-weight: 600; }
.source-list small { display: block; margin-top: 3px; color: var(--muted); font-weight: 400; }
.formula-box { margin: 18px 0; padding: 18px; border-left: 4px solid var(--blue); background: var(--surface-low); color: var(--primary); font-size: 15px; font-weight: 700; }
.assumption-list { display: grid; gap: 10px; margin: 20px 0 0; padding: 0; list-style: none; }
.assumption-list li { display: grid; grid-template-columns: 22px 1fr; gap: 9px; }
.assumption-list .mark { color: var(--success); font-weight: 800; }
.trust-banner { display: grid; grid-template-columns: 1.4fr 1fr; gap: 28px; align-items: center; margin: 40px 0; padding: 30px; border-radius: 8px; background: var(--result); color: #fff; box-shadow: var(--shadow-result); }
.trust-banner h2 { margin: 0 0 8px; font-size: 24px; }
.trust-banner p { margin: 0; color: #c8d3e2; font-size: 14px; }
.trust-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.trust-stat { padding: 14px; border: 1px solid rgba(255,255,255,.18); border-radius: 4px; }
.trust-stat strong { display: block; font-size: 22px; }
.trust-stat span { color: #b7c7e4; font-size: 11px; }
.status-table-wrap { overflow-x: auto; }
.status-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.status-table th, .status-table td { padding: 14px; border-bottom: 1px solid #e1e4e7; text-align: left; vertical-align: top; }
.status-table th { color: var(--primary); background: var(--surface-low); }
.status-pass { color: var(--success); font-weight: 700; }
.policy-layout { display: grid; gap: 24px; max-width: 900px; }
.policy-card { padding: 30px; }
.policy-card h2 { margin: 0 0 12px; color: var(--primary); font-size: 22px; }
.policy-card h3 { margin: 24px 0 8px; color: var(--primary); font-size: 17px; }
.policy-card p, .policy-card li { color: var(--muted); font-size: 14px; }
.policy-card a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.footer-links { flex-wrap: wrap; justify-content: flex-end; }
.result-notice-gap { margin-top: 8px; }
.input-note { margin: 10px 0 0; padding: 12px; border: 1px solid var(--outline-soft); border-radius: 4px; background: var(--surface-low); color: var(--muted); font-size: 12px; }
.mini-result-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 18px; }
.mini-result { padding: 14px; border: 1px solid #e0e3e5; border-radius: 4px; background: var(--surface-low); }
.mini-result span { display: block; color: var(--muted); font-size: 11px; }
.mini-result strong { display: block; margin-top: 4px; color: var(--primary); font-size: 16px; font-variant-numeric: tabular-nums; }
@media (max-width: 900px) {
  .quality-strip, .article-grid, .trust-banner { grid-template-columns: 1fr; }
  .source-card { position: static; }
  .tool-grid.tool-grid-expanded { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .quality-strip, .tool-grid.tool-grid-expanded, .mini-result-grid { grid-template-columns: 1fr; }
  .quality-item { min-height: 72px; }
  .article-card, .policy-card { padding: 22px; }
  .trust-stats { grid-template-columns: 1fr 1fr; }
  .site-nav a:nth-child(n+4) { display: none; }
}
