/* Sprint133 official standards/readability layer
   Purpose: keep official API/policy panels readable in light/dark themes without changing calculator logic. */
:root{
  --s133-bg:#f6f8fc;
  --s133-surface:#ffffff;
  --s133-surface-2:#f1f5f9;
  --s133-surface-3:#eaf1fb;
  --s133-text:#0b1220;
  --s133-muted:#475569;
  --s133-soft:#64748b;
  --s133-line:#cbd5e1;
  --s133-primary:#1e5bff;
  --s133-accent:#14b8a6;
  --s133-danger:#dc2626;
  --s133-warn:#d97706;
}
html[data-theme="dark"],html.dark,body.dark{
  --s133-bg:#07111f;
  --s133-surface:#0f1b2d;
  --s133-surface-2:#14243a;
  --s133-surface-3:#1b304d;
  --s133-text:#f8fafc;
  --s133-muted:#d5dee9;
  --s133-soft:#b8c5d6;
  --s133-line:#3d516c;
  --s133-primary:#8fb1ff;
  --s133-accent:#63ead9;
  --s133-danger:#fca5a5;
  --s133-warn:#fcd34d;
}
.s131-official-panel{
  margin:18px 0 0!important;
  border:1px solid var(--s133-line)!important;
  background:var(--s133-surface)!important;
  color:var(--s133-text)!important;
  border-radius:18px!important;
  padding:18px!important;
  box-shadow:0 16px 34px rgba(15,23,42,.07)!important;
  font-family:inherit!important;
  opacity:1!important;
}
.s131-official-panel *,
.s131-official-panel *::before,
.s131-official-panel *::after{
  box-sizing:border-box!important;
  min-width:0!important;
  word-break:keep-all!important;
  overflow-wrap:break-word!important;
  opacity:1!important;
  text-shadow:none!important;
}
.s131-official-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:14px!important;
}
.s131-official-title,
.s131-section-title{
  color:var(--s133-text)!important;
  font-weight:950!important;
  letter-spacing:-.02em!important;
  line-height:1.35!important;
}
.s131-official-title{font-size:15px!important;}
.s131-section-title{font-size:14px!important;margin:16px 0 9px!important;}
.s131-official-date{
  flex:0 0 auto!important;
  white-space:nowrap!important;
  display:inline-flex!important;
  align-items:center!important;
  border-radius:999px!important;
  padding:6px 9px!important;
  border:1px solid var(--s133-line)!important;
  background:var(--s133-surface-2)!important;
  color:var(--s133-muted)!important;
  font-size:11px!important;
  font-weight:900!important;
}
.s131-note{
  color:var(--s133-muted)!important;
  font-size:12px!important;
  line-height:1.68!important;
  font-weight:700!important;
  margin-top:10px!important;
}
.s131-official-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:10px!important;
}
.s131-candidate-card,
.s131-risk-card,
.s131-api-card,
.s131-program-card,
.s131-api-query-card{
  border:1px solid var(--s133-line)!important;
  background:var(--s133-surface-2)!important;
  color:var(--s133-text)!important;
  border-radius:14px!important;
  padding:12px!important;
  line-height:1.55!important;
  box-shadow:none!important;
}
.s131-candidate-card strong,
.s131-risk-card strong,
.s131-api-card strong,
.s131-program-card strong,
.s131-api-query-card strong{
  display:block!important;
  color:var(--s133-text)!important;
  font-size:13px!important;
  line-height:1.35!important;
  margin-bottom:5px!important;
  font-weight:950!important;
}
.s131-candidate-card span,
.s131-risk-card span,
.s131-api-card span,
.s131-program-card span,
.s131-api-query-card span,
.s131-candidate-card p,
.s131-risk-card p,
.s131-api-card p,
.s131-program-card p,
.s131-api-query-card p{
  display:block!important;
  color:var(--s133-muted)!important;
  font-size:12px!important;
  line-height:1.65!important;
  font-weight:700!important;
  margin:0!important;
}
.s131-program-scores{
  border:1px solid rgba(30,91,255,.20)!important;
  background:linear-gradient(180deg,rgba(30,91,255,.07),rgba(20,184,166,.05))!important;
  border-radius:16px!important;
  padding:13px!important;
  margin:12px 0 14px!important;
  color:var(--s133-text)!important;
}
.s131-program-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  margin-top:9px!important;
}
.s131-score-box{
  display:inline-grid!important;
  place-items:center!important;
  gap:2px!important;
  min-width:62px!important;
  border-radius:14px!important;
  padding:8px 9px!important;
  background:rgba(30,91,255,.12)!important;
  border:1px solid rgba(30,91,255,.24)!important;
  color:var(--s133-primary)!important;
}
.s131-score-box b{font-size:16px!important;line-height:1!important;font-weight:950!important;color:inherit!important;}
.s131-score-box em{font-style:normal!important;font-size:10px!important;font-weight:950!important;color:inherit!important;}
.s131-score-box.is-high{background:rgba(20,184,166,.14)!important;border-color:rgba(20,184,166,.28)!important;color:var(--s133-accent)!important;}
.s131-score-box.is-mid{background:rgba(30,91,255,.12)!important;border-color:rgba(30,91,255,.24)!important;color:var(--s133-primary)!important;}
.s131-score-box.is-low{background:rgba(217,119,6,.12)!important;border-color:rgba(217,119,6,.26)!important;color:var(--s133-warn)!important;}
.s131-tags{display:flex!important;flex-wrap:wrap!important;gap:7px!important;margin-top:10px!important;}
.s131-tag{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  padding:5px 8px!important;
  font-size:11px!important;
  font-weight:900!important;
  color:var(--s133-primary)!important;
  background:rgba(30,91,255,.10)!important;
  border:1px solid rgba(30,91,255,.20)!important;
  white-space:nowrap!important;
}
.s131-source-links{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-top:11px!important;}
.s131-source-links a,
.s131-api-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-decoration:none!important;
  color:var(--s133-primary)!important;
  border:1px solid rgba(30,91,255,.26)!important;
  background:rgba(30,91,255,.08)!important;
  border-radius:999px!important;
  padding:7px 10px!important;
  font-size:12px!important;
  font-weight:950!important;
}
.s131-api-query-wrap{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:12px 0!important;}
.s131-api-query-card label{display:block!important;color:var(--s133-text)!important;font-size:12px!important;font-weight:950!important;margin-bottom:6px!important;}
.s131-api-row{display:flex!important;gap:8px!important;align-items:center!important;}
.s131-api-row input{
  flex:1 1 auto!important;
  width:100%!important;
  min-width:0!important;
  height:38px!important;
  border:1px solid var(--s133-line)!important;
  border-radius:12px!important;
  padding:0 10px!important;
  color:var(--s133-text)!important;
  background:var(--s133-surface)!important;
  font-size:13px!important;
  font-weight:800!important;
  outline:none!important;
}
.s131-api-row button{
  flex:0 0 auto!important;
  height:38px!important;
  border:0!important;
  border-radius:12px!important;
  padding:0 12px!important;
  color:#fff!important;
  background:linear-gradient(135deg,#1e5bff,#14b8a6)!important;
  font-size:12px!important;
  font-weight:950!important;
  cursor:pointer!important;
}
.s131-api-result{
  margin-top:8px!important;
  border-radius:12px!important;
  border:1px dashed var(--s133-line)!important;
  background:var(--s133-surface)!important;
  color:var(--s133-muted)!important;
  padding:9px!important;
  font-size:12px!important;
  font-weight:750!important;
  line-height:1.55!important;
  min-height:34px!important;
}
html[data-theme="dark"] .s131-official-panel,
html.dark .s131-official-panel,
body.dark .s131-official-panel{box-shadow:none!important;background:var(--s133-surface)!important;border-color:var(--s133-line)!important;color:var(--s133-text)!important;}
html[data-theme="dark"] .s131-program-scores,
html.dark .s131-program-scores,
body.dark .s131-program-scores{background:linear-gradient(180deg,rgba(79,131,255,.15),rgba(45,212,191,.10))!important;border-color:var(--s133-line)!important;}
html[data-theme="dark"] .s131-candidate-card,
html[data-theme="dark"] .s131-risk-card,
html[data-theme="dark"] .s131-api-card,
html[data-theme="dark"] .s131-program-card,
html[data-theme="dark"] .s131-api-query-card,
html.dark .s131-candidate-card,
html.dark .s131-risk-card,
html.dark .s131-api-card,
html.dark .s131-program-card,
html.dark .s131-api-query-card,
body.dark .s131-candidate-card,
body.dark .s131-risk-card,
body.dark .s131-api-card,
body.dark .s131-program-card,
body.dark .s131-api-query-card{background:var(--s133-surface-2)!important;border-color:var(--s133-line)!important;color:var(--s133-text)!important;}
html[data-theme="dark"] .s131-api-row input,
html[data-theme="dark"] .s131-api-result,
html.dark .s131-api-row input,
html.dark .s131-api-result,
body.dark .s131-api-row input,
body.dark .s131-api-result{background:var(--s133-surface-3)!important;color:var(--s133-text)!important;border-color:var(--s133-line)!important;}
.s118-side .s131-official-grid,
.s118-report .s131-official-grid,
.result-panel .s131-official-grid{grid-template-columns:1fr!important;}
.s118-side .s131-program-card,
.s118-report .s131-program-card,
.result-panel .s131-program-card{grid-template-columns:1fr!important;}
.s118-side .s131-score-box,
.s118-report .s131-score-box,
.result-panel .s131-score-box{justify-self:start!important;}
@media(max-width:820px){
  .s131-official-panel{padding:14px!important;border-radius:16px!important;}
  .s131-official-head{display:block!important;}
  .s131-official-date{margin-top:8px!important;}
  .s131-official-grid,.s131-api-query-wrap{grid-template-columns:1fr!important;}
  .s131-program-card{grid-template-columns:1fr!important;}
  .s131-score-box{justify-self:start!important;}
  .s131-source-links{display:grid!important;grid-template-columns:1fr!important;}
  .s131-source-links a{text-align:center!important;}
}
