:root{
  --ink-3:#66736B;
  --amber:#8B5A00;
  --text-meta:10px;
  --text-ui:11px;
  --text-support:12px;
  --text-dense:14px;
  --space-support:16px;
  --space-section:36px;
  --space-divider:26px;
}

/* Keep the editorial serif, but use a quieter roman face for structural titles. */
h1,.toc .t,.panel h2,.dh h2,.section h3,.rname{font-style:normal}
.rname{font-weight:500}

/* Supplier prompts are supporting copy, not a competing data layer. */
.ask{font-size:var(--text-support);line-height:1.55}

/* Shared compact-type tiers: labels, interface copy, then supporting copy. */
.decision-strip dt,.tool-label,.model-inputs label,.bom label,.count-row .schematic,
.axis .unit,.bb,.gtag,
#tpop .tl,.dfl,.axlab,.rtag,.rk,.rtagm,.rchip,.xk,.workflow label{
  font-size:var(--text-meta);
}
.rk,.xk{font-weight:500}

.skip-link{
  position:fixed;left:16px;top:12px;z-index:1000;transform:translateY(-160%);
  padding:9px 13px;border-radius:6px;background:var(--ink);color:var(--panel);
  font-family:var(--mono);font-size:12px;text-decoration:none;
}
.skip-link:focus{transform:none}

.decision-strip{
  display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:0;margin:0 0 28px;
  border:1px solid var(--rule);border-radius:8px;background:var(--panel);overflow:hidden;
}
.decision-strip>div{padding:12px 15px;border-left:1px solid var(--rule)}
.decision-strip>div:first-child{border-left:0}
.decision-strip dt,.tool-label{
  font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-3);margin-bottom:3px;
}
.decision-strip dd{font-family:var(--mono);font-size:var(--text-ui);line-height:1.45;color:var(--ink-2)}
.decision-strip strong{font-weight:500;color:var(--ink)}

.scope-note{
  max-width:76ch;margin:0 0 20px;padding:11px 14px;border-left:3px solid var(--teal);
  background:var(--panel);font-family:var(--mono);font-size:var(--text-ui);line-height:1.55;color:var(--ink-2);
}
.scope-note.warning{border-left-color:var(--amber)}

.tool-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}
.tool-action,.tool-actions button,.tool-actions a{
  min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;
  border:1px solid var(--rule);border-radius:6px;background:var(--panel);color:var(--ink-2);
  font-family:var(--mono);font-size:var(--text-ui);letter-spacing:.03em;text-decoration:none;cursor:pointer;
}
.tool-action:hover,.tool-action:focus-visible,.tool-actions button:hover,.tool-actions button:focus-visible,
.tool-actions a:hover,.tool-actions a:focus-visible{border-color:var(--teal);color:var(--teal);outline:2px solid transparent}
.tool-message{font-family:var(--mono);font-size:var(--text-ui);color:var(--ink-2);min-height:1.6em;margin-top:6px}
.tool-message:empty{min-height:0;margin-top:0}

/* Keep the transition from each model to its notes consistent across modules. */
.notes{margin-top:var(--space-section);padding-top:var(--space-divider)}

/* Give interpretive status copy room before the model it describes. */
.status + .card{margin-top:var(--space-support)}

.assumptions{
  margin:18px 0 0;padding:12px 15px;border:1px solid var(--rule);border-radius:7px;background:var(--paper);
  font-family:var(--mono);font-size:var(--text-ui);line-height:1.55;color:var(--ink-2);
}
.assumptions strong{font-weight:500;color:var(--ink)}

.site-meta{
  margin-top:32px;padding-top:16px;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:6px 18px;
  font-family:var(--mono);font-size:var(--text-ui);color:var(--ink-3);
}
.site-meta a{color:var(--teal);text-decoration:underline;text-underline-offset:2px}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

button,[role="button"],input,select{touch-action:manipulation}
button:focus-visible,[role="button"]:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{
  outline:2px solid var(--teal);outline-offset:2px;
}
@media(pointer:coarse){
  button,.seg button,.btns button,.tool-action,.tool-actions button,.tool-actions a{min-height:44px}
}
@media(max-width:640px){
  .decision-strip{grid-template-columns:1fr}
  .decision-strip>div{border-left:0;border-top:1px solid var(--rule)}
  .decision-strip>div:first-child{border-top:0}
  .nav-in{flex-wrap:nowrap!important;align-items:center!important;gap:10px!important}
  .nav-in>a{flex:0 0 auto}
  .nav-here{flex:1 1 auto;min-width:0;margin:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}
  .stepper{flex:0 0 auto}
  .krow{flex-wrap:wrap}
  .krow button{width:100%}
  a.xlink{white-space:normal;overflow-wrap:anywhere}
}
@media print{
  .nav-top,.nav-bot,.tool-actions,.controls,.stepper{display:none!important}
  body{padding:20px!important;background:#fff!important}
  .wrap,.stage{max-width:none!important}
  details{display:block!important}
  details>*{display:block!important}
}
