/* The open standard's pages (/spec, /spec/agent-terms/v1, /spec/validate) and the small tool pages built on them (the partner members page,
   the member's invitation, the founder's approval queue): site.css's tokens, a reading layout, code, a validator form and its results.
   No inline styles anywhere: the CSP forbids them. */
.sp-doc pre{margin:14px 0 22px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r-input);background:var(--sunken);overflow-x:auto}
.sp-doc pre code{padding:0;background:none;font:400 13.5px/1.6 var(--mono);white-space:pre;overflow-wrap:normal}
.sp-doc h2,.sp-doc h3,.sp-doc h4{scroll-margin-top:84px}
.sp-doc h4{font-size:16px;font-weight:500;margin:22px 0 6px}
.sp-anchor{margin-left:6px;font-weight:400;color:var(--muted);text-decoration:none!important;opacity:0;transition:opacity .15s}
h2:hover .sp-anchor,h3:hover .sp-anchor,h4:hover .sp-anchor,.sp-anchor:focus{opacity:1}
.sp-tools{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 26px}
.sp-tools .btn{text-decoration:none}
.sp-toc{margin:0 0 30px;padding:18px 20px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface)}
.sp-toc b{display:block;font:400 12px/1.4 var(--mono);color:var(--muted-2);letter-spacing:0;margin-bottom:8px}
.sp-toc ol{margin:0;padding-left:22px;columns:2;column-gap:28px}
.sp-toc li{font-size:15px;margin:4px 0;break-inside:avoid}
@media (max-width:640px){.sp-toc ol{columns:1}}
.sp-kicker{font:400 13px/1.4 var(--mono);color:var(--muted-2);letter-spacing:0;margin-bottom:12px}
.sp-lede{font-size:20px!important;line-height:1.55!important;color:var(--ink)!important}
.sp-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 26px}
@media (max-width:640px){.sp-cards{grid-template-columns:1fr}}
.sp-card{padding:18px 20px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface)}
.sp-card b{display:block;margin-bottom:6px;color:var(--ink);font-weight:550}
.sp-card p{margin:0!important;font-size:15px!important;line-height:1.55!important}
.sp-note{padding:14px 16px;border:1px solid var(--line-strong);border-left:2px solid var(--accent);background:var(--sunken);border-radius:var(--r-input);font-size:15px!important}

/* the validator, and the forms of the tool pages */
.sp-form{margin:18px 0 10px}
.sp-tabs{display:flex;gap:8px;margin-bottom:14px}
.sp-tabs button{min-height:40px;padding:0 16px;border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface);color:var(--ink-2);font:500 14px var(--sans);cursor:pointer}
.sp-tabs button[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
.sp-form label{display:block;margin:14px 0 6px;font-size:14px;font-weight:500;color:var(--ink)}
.sp-form input[type=url],.sp-form input[type=text],.sp-form input[type=password],.sp-form input[type=file],.sp-form textarea,.sp-form select{width:100%;padding:12px 14px;border:1px solid var(--line-strong);border-radius:var(--r-input);background:var(--surface);color:var(--ink);font:400 15px var(--sans)}
.sp-form textarea{min-height:220px;font:400 13px/1.5 var(--mono);resize:vertical}
.sp-form input:focus,.sp-form textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px var(--accent-soft)}
.sp-form .chk{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14.5px;line-height:1.5}
.sp-form .chk input{margin-top:4px}
.sp-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.sp-result{margin:22px 0;padding:18px 20px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface)}
.sp-result.pass{border-color:var(--good)}
.sp-result.fail{border-color:var(--bad)}
.sp-verdict{font-size:18px;font-weight:550;margin:0 0 10px!important;color:var(--ink)!important}
.sp-result.pass .sp-verdict{color:var(--good)!important}
.sp-result.fail .sp-verdict{color:var(--bad)!important}
.sp-findings{list-style:none;padding:0!important;margin:10px 0 0!important}
.sp-findings li{margin:0 0 10px!important;padding:10px 12px;border-radius:10px;background:var(--sunken);font-size:14.5px!important;line-height:1.5!important}
.sp-findings code{font-size:12.5px}
.sp-findings .lvl{display:inline-block;min-width:64px;font:400 12px/1.4 var(--mono);letter-spacing:0;text-transform:uppercase}
.sp-findings .must .lvl{color:var(--bad)}
.sp-findings .should .lvl{color:var(--muted-2)}
.sp-steps{font:400 13px/1.6 var(--mono);color:var(--ink-2);letter-spacing:0;padding-left:20px!important}
.sp-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 22px}
@media (max-width:640px){.sp-counts{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sp-counts div{padding:14px 16px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface)}
.sp-counts b{display:block;font-size:28px;font-weight:500;letter-spacing:-.02em;color:var(--ink)}
.sp-counts span{font:400 12px/1.4 var(--mono);color:var(--muted-2);letter-spacing:0}
.sp-error{color:var(--bad);font-size:14.5px}
.sp-ok{color:var(--good);font-size:14.5px}
.sp-badge-preview{margin:16px 0;padding:22px;border:1px dashed var(--line-strong);border-radius:var(--r-card);background:var(--surface)}
.sp-code{margin:8px 0 18px;padding:12px 14px;border-radius:var(--r-input);background:var(--sunken);font:400 13px/1.5 var(--mono);word-break:break-all;user-select:all;letter-spacing:0;white-space:pre-wrap}
[hidden]{display:none!important}
