/* Free BA tools (/tools). Builds on blog.css (reading layout) and the shared site.css tokens only, so it follows the
   light and dark themes automatically. No inline styles are used anywhere (CSP style-src 'self'). */
.tools .tool-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:var(--space-4);margin:var(--space-5) 0}
.tools .tool-panel>h2{margin-top:0}
.tools .tools-privacy{border-radius:var(--radius-sm);background:var(--brand-soft);color:var(--ink);padding:var(--space-2) var(--space-3);font-size:.95rem;margin-bottom:var(--space-4)}
.tools .tool-fields{border:0;margin:0;padding:0;min-width:0}
.tools .tool-fields legend{font-weight:700;margin-bottom:var(--space-3);padding:0}
.tools .tool h3{margin-top:var(--space-4)}
.tools .tool h3 label{font:inherit;color:inherit;margin:0;letter-spacing:normal}
.tools .tool textarea{width:100%}
.tools .tool textarea.code{white-space:pre-wrap;overflow-wrap:anywhere}
.tools .tool .actions{margin-block:var(--space-3)}
.tools .tool button:not(.quiet){min-height:44px}
.tools .tool-output{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);padding:var(--space-3) var(--space-4);margin:var(--space-4) 0}
.tools .tool-output h3{margin-top:0}
.tools .tool-story{font-size:1.15rem;font-weight:600;color:var(--ink);margin-bottom:0}
.tools .tool-story.is-empty{font-weight:400;color:var(--muted)}
.tools .tool-invest{list-style:none;padding:0;display:grid;gap:var(--space-2)}
.tools .tool-invest>li{border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);background:var(--surface);margin:0}
.tools .tool-invest label{display:flex;gap:.7rem;align-items:flex-start;margin:0;font-size:1rem;color:var(--ink);font-weight:400;line-height:1.55}
.tools .tool-invest em{color:var(--muted)}
.tools .tool-hint{margin:var(--space-2) 0 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--warn-soft);color:var(--ink);font-size:.95rem}
.tools .tool-summary{margin-bottom:var(--space-3)}
.tools .ac-results{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-3)}
.tools .ac-item{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);padding:var(--space-3);margin:0}
.tools .ac-head{margin-bottom:var(--space-2)}
.tools pre.ac-text{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:var(--space-2)}
.tools .ac-flags{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-2)}
.tools .ac-flag{border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);margin:0}
.tools .ac-flag p{margin:0 0 var(--space-1)}
.tools .ac-flag p:last-child{margin-bottom:0}
.tools .ac-flag.warn{background:var(--warn-soft);box-shadow:inset 3px 0 0 var(--warn)}
.tools .ac-flag.info{background:var(--surface-2);box-shadow:inset 3px 0 0 var(--line-strong)}
.tools .ac-better span{font-weight:700;color:var(--ok)}
.tools .tool-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);align-items:center;justify-content:space-between}
.tools .tool-toolbar .check-label{margin:0;font-size:1rem}
.tools .brd-sections{padding-left:1.4rem}
.tools .brd-section{margin:0 0 var(--space-4)}
.tools .brd-section h3{margin-top:0}
.tools .brd-guidance{color:var(--ink-2)}
.tools .brd-fields{color:var(--ink-2)}
.tools .brd-example{border-left:4px solid var(--brand);background:var(--surface-2);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:var(--space-2) var(--space-3)}
.tools .brd-example p{margin:0}
.tools .moscow-table input,.tools .moscow-table select{min-height:44px;padding:.5rem .65rem;margin:0}
.tools .moscow-table td{min-width:0;vertical-align:middle}
.tools .moscow-table td:first-child{min-width:12rem}
.tools .moscow-table td:nth-child(3){min-width:6rem}
.tools .moscow-counts{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2);margin-bottom:var(--space-3)}
.tools .moscow-counts li{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);padding:var(--space-2) var(--space-3);margin:0;text-align:center}
.tools .moscow-counts strong{display:block;font-size:1.6rem;font-variant-numeric:tabular-nums;line-height:1.2}
.tools .moscow-counts span{font-size:.85rem;color:var(--muted)}
.tools meter{width:min(100%,16rem);height:1.2rem;vertical-align:middle;margin-inline:.4rem}
.tools-list{margin:var(--space-4) 0}
.tools-list h2{font-size:1.25rem;margin:0 0 var(--space-1)}
.tools-list h2 a{text-decoration:none}
.tools-list h2 a:hover{text-decoration:underline}
.tools .blog-related ul{padding-left:1.4rem}
@media(max-width:600px){
 .tools .tool-panel{padding:var(--space-3);margin-inline:calc(var(--space-2) * -1)}
 .tools .moscow-counts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .tools .tool .actions>button{flex:1 1 auto}
 /* Each requirement becomes a small card: text on its own line, priority, effort and remove below it. */
 .tools .moscow-table{display:block;font-size:1rem}
 .tools .moscow-table caption{display:block}
 .tools .moscow-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
 .tools .moscow-table tbody{display:block}
 .tools .moscow-table tr{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:var(--space-2);padding:var(--space-2);border-bottom:1px solid var(--line)}
 .tools .moscow-table td{display:block;border:0;padding:0;min-width:0}
 .tools .moscow-table td:first-child{grid-column:1/-1;min-width:0}
 .tools .moscow-table td:nth-child(3){min-width:0}
 .tools .moscow-table td[colspan]{grid-column:1/-1}
}
/* Print: only the page content (BRD template in particular). Navigation, chat, buttons and links lists are left out. */
@media print{
 .site-header,.site-footer,.ba-chat,.skip,.environment,.server-notice,.blog-crumbs,.tools .actions,.tools .tools-privacy,.tools .tool-toolbar,.tools .blog-cta,.tools .blog-related,.tools noscript{display:none!important}
 .tools .tool-panel{border:0;box-shadow:none;padding:0;margin:var(--space-3) 0}
 .tools .brd-section{break-inside:avoid}
 .tools .brd-example{border-left-color:#000;background:none}
 .tools a{color:inherit;text-decoration:none}
 .tools{max-width:none;padding:0;font-size:11pt}
 .tools .brd-blank .brd-example{display:none}
 /* The BRD page prints only the template itself, not the surrounding explanation. */
 .tools article:has([data-tool=brd])>:not(.tool-panel),.tools .tool-panel:has([data-tool=brd]) .help{display:none!important}
}
