/* Legal-template catalogue and dossier pages generated by build-legal-templates.mjs. The layout
   keeps long legal evidence readable and collapses claim-chain/table overflow on narrow screens. */

:root {
    color-scheme: dark;
    --bg: #07100f;
    --panel: #0d1917;
    --panel-2: #12231f;
    --line: #29413b;
    --text: #edf8f4;
    --muted: #9eb5ae;
    --accent: #70e1bd;
    --warn: #ffb36b;
    --bad: #ff7c77;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
body { margin: 0; background: radial-gradient(circle at top, #11241f, var(--bg) 32rem); color: var(--text); line-height: 1.55; }
a { color: var(--accent); text-underline-offset: .2em; }
.site-head { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem max(1rem, calc((100vw - 76rem) / 2)); border-bottom: 1px solid var(--line); background: rgba(7,16,15,.92); position: sticky; top: 0; z-index: 2; }
.site-head > a { color: var(--text); font-weight: 800; text-decoration: none; }
.site-head nav, footer nav { display: flex; flex-wrap: wrap; gap: 1rem; }
main { width: min(76rem, calc(100% - 2rem)); margin: 0 auto; padding: 4rem 0 6rem; overflow-wrap: anywhere; }
h1 { max-width: 23ch; margin: .25rem 0 1rem; font-size: clamp(2rem, 6vw, 4.6rem); line-height: 1.02; letter-spacing: -.04em; }
h2 { margin: 0 0 .8rem; font-size: clamp(1.4rem, 3vw, 2rem); }
h3 { margin: 1.5rem 0 .5rem; }
p { max-width: 78ch; }
.eyebrow { color: var(--accent); text-transform: uppercase; letter-spacing: .14em; font-size: .77rem; font-weight: 800; }
.lede { max-width: 70ch; color: #cfe2dc; font-size: 1.12rem; }
.hero-facts { display: flex; flex-wrap: wrap; gap: .55rem; margin: 1.5rem 0 3rem; }
.hero-facts span, .mode-chip { padding: .4rem .65rem; border: 1px solid var(--line); border-radius: 999px; background: var(--panel); font-size: .84rem; }
.status-warning { color: var(--bad); }.status-caution { color: var(--warn); }.status-good { color: var(--accent); }
section { min-width: 0; margin: 1.2rem 0; padding: clamp(1rem, 3vw, 2rem); border: 1px solid var(--line); border-radius: 1rem; background: rgba(13,25,23,.94); }
.template-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); gap: 1rem; margin-top: 2rem; }
.template-card { padding: 1.25rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--panel); }
.template-card h2 { font-size: 1.25rem; }.template-card dl { display: grid; grid-template-columns: auto 1fr; gap: .35rem .8rem; font-size: .88rem; }.template-card dt { color: var(--muted); }.template-card dd { margin: 0; }
.open-template { display: inline-block; margin-top: 1rem; font-weight: 750; }
.confidence-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: .65rem; }
.confidence { min-height: 8rem; display: flex; flex-direction: column; gap: .35rem; padding: .85rem; border: 1px solid var(--line); border-radius: .7rem; background: var(--panel-2); }
.confidence > span, .confidence small { color: var(--muted); }.confidence strong { color: var(--accent); }.confidence-inference strong, .confidence-unknown strong { color: var(--warn); }
.conclusion-ledger { display: grid; gap: 1rem; }
.conclusion-card { padding: 1rem; border: 1px solid var(--line); border-radius: .8rem; background: var(--panel-2); }
.conclusion-card header { display: flex; align-items: baseline; flex-wrap: wrap; gap: .65rem; }
.conclusion-card h3 { margin: 0; }
.claim-kind { display: inline-flex; width: fit-content; padding: .2rem .5rem; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: .7rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.claim-kind-fact { color: var(--accent); }.claim-kind-issuer-assertion { color: #b9d9ff; }.claim-kind-interpretation { color: var(--warn); }.claim-kind-unresolved { color: var(--bad); }
.trace-scope { display: grid; grid-template-columns: 8rem 1fr; gap: .35rem .7rem; margin: 1rem 0; padding: .75rem; border-radius: .6rem; background: var(--panel); font-size: .82rem; }
.trace-scope dt { color: var(--muted); }.trace-scope dd { margin: 0; }
.citation-list { display: grid; gap: .7rem; padding-left: 1.35rem; }
.citation-list li { padding: .75rem; border-left: 2px solid var(--line); background: var(--panel); }
.citation-head { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
blockquote { margin: .65rem 0; padding-left: .8rem; border-left: .16rem solid var(--accent); color: #d7e9e3; }
.citation-meta { margin: 0; color: var(--muted); font-size: .76rem; }
.chain-direction { display: flex; justify-content: space-between; gap: 1rem; color: var(--muted); font-size: .75rem; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.claim-chain { display: flex; align-items: stretch; gap: .45rem; overflow-x: auto; padding: .5rem 0 1rem; }
.claim-chain .chain-node { min-width: 11rem; padding: .75rem; border: 1px solid var(--line); border-radius: .65rem; background: var(--panel-2); }
.claim-chain article > span, .chain-dependencies article > span { display: block; color: var(--muted); font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; }
.claim-chain ul { padding-left: 1rem; margin-bottom: 0; }.claim-chain li span { display: block; color: var(--muted); font-size: .78rem; }.chain-arrow { align-self: center; color: var(--accent); }
.chain-connector { display: grid; place-items: center; align-content: center; min-width: 7rem; color: var(--accent); text-align: center; }
.chain-connector span { color: var(--muted); font-size: .67rem; line-height: 1.25; }.chain-connector b { font-size: 1.4rem; }
.chain-dependencies { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: .6rem; margin-bottom: 1rem; }
.chain-dependencies article { display: grid; gap: .25rem; padding: .75rem; border: 1px dashed var(--line); border-radius: .65rem; background: var(--panel); }
.chain-dependencies small { color: var(--muted); }
.flow-list { display: grid; gap: .6rem; padding: 0; list-style: none; }.flow-list li { padding: .75rem; background: var(--panel-2); border-radius: .6rem; }.flow-list li > span { margin-left: .5rem; color: var(--muted); font-size: .8rem; }.flow-list p { margin-bottom: 0; }
.asset-chips { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; list-style: none; }.asset-chips a { display: flex; gap: .45rem; padding: .35rem .55rem; border: 1px solid var(--line); border-radius: .55rem; text-decoration: none; }.asset-chips span { color: var(--muted); }
.exception-note, .callout, .method-rule, .redemption-proof, .verdict { padding: .85rem 1rem; border-left: .22rem solid var(--accent); background: var(--panel-2); border-radius: .25rem .7rem .7rem .25rem; }.verdict-estate-exposed, .verdict-unknown { border-color: var(--warn); }
.two-col { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.two-col article { padding: 1rem; background: var(--panel-2); border-radius: .7rem; }.two-col article h3 { margin-top: 0; }
.facts { display: grid; grid-template-columns: minmax(10rem, .35fr) 1fr; gap: .55rem 1rem; }.facts dt { color: var(--muted); }.facts dd { margin: 0; overflow-wrap: anywhere; }
.precedence { display: grid; gap: .6rem; padding: 0; list-style: none; }.precedence li { display: grid; grid-template-columns: 2rem 1fr; gap: .75rem; padding: .75rem; border: 1px solid var(--line); border-radius: .65rem; }.precedence li > span { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--accent); color: #052019; font-weight: 900; }.precedence p { margin: .15rem 0 0; color: var(--muted); }
.conflict-list { padding-left: 1.2rem; }.conflict-list li { margin-bottom: 1rem; }.archive { margin-left: .45rem; }
.table-wrap { overflow-x: auto; } table { width: 100%; border-collapse: collapse; font-size: .82rem; } th, td { padding: .6rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; } th { color: var(--muted); } td small { display: block; color: var(--muted); }
.muted, .unknown { color: var(--muted); } footer { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }

@media (max-width: 700px) {
    main { width: min(100% - 1rem, 76rem); padding-top: 2rem; }
    .site-head { position: static; padding: .8rem; }
    .two-col { grid-template-columns: 1fr; }
    .facts { grid-template-columns: 1fr; gap: .1rem; }.facts dd { margin-bottom: .7rem; }
    .trace-scope { grid-template-columns: 1fr; gap: .1rem; }.trace-scope dd { margin-bottom: .55rem; }
    .claim-chain { display: grid; overflow: visible; }.claim-chain .chain-node { min-width: 0; }
    .chain-connector { min-width: 0; min-height: 4rem; }.chain-connector b { transform: rotate(90deg); }
    section { border-radius: .75rem; }
}
.under-review-banner, .under-review { padding: 12px 14px; border: 1px solid var(--warning, #b91c1c); border-radius: 8px; background: color-mix(in srgb, var(--warning, #b91c1c) 10%, transparent); }
.under-review-banner { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: baseline; margin: 18px 0; }
.under-review-banner span { flex: 1 1 320px; }
.conclusion-under-review { border-color: var(--warning, #b91c1c); }
.under-review { color: var(--warning, #b91c1c); }
