:root{--navy:#102b46;--teal:#19766e;--ink:#16202a;--muted:#5b6b78;--line:#d8e0e2}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;padding:40px 20px;background:#fff;color:var(--ink);line-height:1.55;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif}
.spec{max-width:820px;margin:0 auto}
h1{color:var(--navy);font-size:clamp(1.4rem,4vw,1.7rem);margin:0 0 4px}
h2{color:var(--navy);font-size:1.08rem;margin:26px 0 6px}
.sub{color:var(--muted);margin:0 0 22px}
table{width:100%;border-collapse:collapse;margin:10px 0 18px;font-size:.95rem;table-layout:fixed}
th,td{border:1px solid var(--line);padding:9px 11px;text-align:left;vertical-align:top;overflow-wrap:anywhere}
thead th{background:#eef3f4;color:var(--navy)}
tbody th{width:36%;font-weight:600}
td,th{word-break:break-word}
.note{color:var(--muted);font-size:.9rem}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin:0 0 18px}
.actions a{display:inline-block;padding:11px 18px;border-radius:6px;text-decoration:none;font-weight:600;border:1px solid var(--navy);color:var(--navy)}
.actions a.primary{background:var(--teal);border-color:var(--teal);color:#fff}
.actions a:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
@media (max-width:420px){
  body{padding:22px 12px}
  th,td{padding:7px 8px;font-size:.88rem}
  tbody th{width:42%}
}
@media print{
  body{padding:0}
  .actions{display:none}
  a{color:inherit;text-decoration:none}
}
