/* Sicreto tools: mobile-first, extends /style.css */
.tl{padding:28px 0 64px}
.tl h1{font-family:var(--serif);font-size:clamp(2.3rem,8vw,4.2rem);line-height:1;letter-spacing:-.015em;margin:0 0 14px;text-wrap:balance}
.tl .lede{font-size:1.05rem;color:var(--mut);max-width:40em}
.crumb{font:400 .74rem/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin:0 0 14px}
.crumb a{color:inherit}
.bar2{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:22px 0 14px}
.t-chip{appearance:none;border:1px solid var(--rule);background:var(--card);color:var(--ink);font:500 .88rem/1 var(--sans);padding:.62em .85em;border-radius:999px;cursor:pointer;min-height:38px}
.t-chip[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.sel{appearance:none;border:1px solid var(--rule);background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%235B5547'/%3E%3C/svg%3E") no-repeat right 12px center;font:500 .9rem/1 var(--sans);padding:.62em 2em .62em .85em;border-radius:2px;color:var(--ink);min-height:40px;max-width:100%}
.search{flex:1 1 100%;border:1px solid var(--rule);background:var(--card);font:400 1rem/1.2 var(--sans);padding:.7em .85em;border-radius:2px;min-height:44px}
.t-meta{font:400 .74rem/1.5 var(--mono);color:var(--mut);letter-spacing:.04em}
.cards{display:grid;gap:12px;grid-template-columns:1fr}
.card{background:var(--card);border:1px solid var(--rule);padding:16px 16px 14px;border-radius:2px}
.card h3{font-family:var(--serif);font-size:1.45rem;margin:0 0 2px}
.card .org{font-size:.85rem;color:var(--mut);margin:0 0 10px}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:.92rem;margin:0 0 10px}
.kv dt{font:400 .72rem/1.9 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--mut)}
.kv dd{margin:0}
.big{font-family:var(--serif);font-size:2rem;line-height:1}
.t-tag{display:inline-block;font:400 .72rem/1 var(--mono);letter-spacing:.04em;border:1px solid var(--rule);padding:.35em .5em;margin:0 4px 4px 0;border-radius:2px;background:var(--paper)}
.t-tag.yes{border-color:#2f6b3a;color:#2f6b3a}.t-tag.no{border-color:var(--ac);color:var(--ac)}.t-tag.restricted,.t-tag.unk{border-color:#8a6d1e;color:#8a6d1e}
.t-tag.lr{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.t-note{font-size:.86rem;color:var(--mut);margin:6px 0 10px}
.src{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--rule);padding-top:10px;font-size:.88rem}
.src a{font-weight:600}
.blank{color:var(--inkmut)}
.verify{font:400 .7rem/1 var(--mono);color:#8a6d1e}
.tblwrap{display:none;overflow-x:auto;border:1px solid var(--rule);background:var(--card)}
table.dt{border-collapse:collapse;width:100%;font-size:.88rem;min-width:980px}
.dt th,.dt td{padding:9px 10px;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}
.dt th{font:400 .7rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--mut);cursor:pointer;white-space:nowrap;position:sticky;top:0;background:var(--card)}
.dt td.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.gap{margin:36px 0 0;padding:22px 16px;background:var(--ink);color:var(--paper);border-radius:2px}
.gap h2{color:var(--paper);font-size:clamp(1.8rem,6vw,2.8rem)}
.gap p{color:var(--inkmut)}
.gap .t-chip{background:transparent;color:var(--paper);border-color:#5b5547}
.gap .t-chip[aria-pressed="true"]{background:var(--acl);color:var(--ink);border-color:var(--acl)}
.gm{overflow-x:auto;margin:14px -4px 0}
table.gt{min-width:0;border-collapse:separate;border-spacing:2px;width:100%;font-size:.8rem;table-layout:fixed}
.gt col.c0{width:34%}
.gt th{font:400 .68rem/1.2 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--inkmut);text-align:left;padding:4px}
.gt th.r{color:var(--paper);font:500 .8rem/1.15 var(--sans);text-transform:none;letter-spacing:0}
.gt thead th{font-size:.6rem;letter-spacing:.02em;text-align:center;padding:4px 1px}
.gt td{height:36px;text-align:center;border-radius:2px;font:500 .8rem/1 var(--mono)}
.gt td.has{background:#3a352c;color:var(--paper)}
.gt td.none{background:repeating-linear-gradient(45deg,#B5321A 0 5px,#8f2814 5px 10px);color:#fff}
.gt td button{all:unset;cursor:pointer;display:block;width:100%;height:100%;line-height:36px}
.gapdet{margin-top:12px;font-size:.9rem;color:var(--paper);min-height:1.5em}
.t-cta{margin-top:22px;padding-top:18px;border-top:1px solid #3a352c}
.t-cta h3{color:var(--paper);font-size:1.7rem;margin:0 0 8px}
.tl .btn{min-height:46px}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:10px 16px;font-size:.9rem;border-radius:2px;opacity:0;transition:opacity .2s;pointer-events:none;z-index:60}
.toast.on{opacity:1}
/* spec builder */
.steps-ui{display:flex;gap:4px;margin:20px 0 6px}
.steps-ui i{flex:1;height:4px;background:var(--rule);border-radius:2px}
.steps-ui i.on{background:var(--ac)}
.stp{background:var(--card);border:1px solid var(--rule);padding:18px 16px;border-radius:2px;margin-top:10px}
.stp h2{font-size:clamp(1.7rem,6vw,2.4rem);margin:0 0 6px}
.stp .hint{font-size:.9rem;color:var(--mut);margin:0 0 14px}
.fld{display:block;margin:0 0 14px}
.fld span{display:block;font:400 .74rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--mut);margin:0 0 6px}
.fld input,.fld textarea{width:100%;border:1px solid var(--rule);background:#fff;font:400 1rem/1.4 var(--sans);padding:.75em .8em;border-radius:2px;color:var(--ink)}
.fld textarea{min-height:92px;resize:vertical}
.opts{display:grid;gap:8px;grid-template-columns:1fr}
.opt{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--rule);background:#fff;padding:12px;border-radius:2px;cursor:pointer;min-height:48px}
.opt input{margin-top:3px;accent-color:var(--ac);width:18px;height:18px;flex:none}
.opt b{display:block;font-weight:600}
.opt small{display:block;color:var(--mut);font-size:.84rem}
.opt.fixed{background:var(--paper2);cursor:default}
.nav2{display:flex;justify-content:space-between;gap:10px;margin-top:16px}
.err{color:var(--ac);font-size:.9rem;margin:6px 0 0}
.sum{background:#fff;border:1px solid var(--rule);padding:18px 16px;margin-top:10px}
.sum h2{font-size:clamp(1.8rem,6vw,2.6rem)}
.sum dl{display:grid;grid-template-columns:1fr;gap:2px 16px;margin:12px 0}
.sum dt{font:400 .72rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--mut);margin-top:10px}
.sum dd{margin:0}
.box{border-left:3px solid var(--ac);padding:4px 0 4px 12px;margin:14px 0;font-size:.95rem}
.t-done{background:var(--ink);color:var(--paper);padding:22px 16px;margin-top:14px}
.t-done h2{color:var(--paper)}
.t-done p{color:var(--inkmut)}
@media(min-width:720px){
 .tl{padding:48px 0 96px}
 .search{flex:1 1 260px}
 .cards{grid-template-columns:1fr 1fr}
 .opts{grid-template-columns:1fr 1fr}
 .gap{padding:34px 32px}
 .stp,.sum{padding:28px}
 .sum dl{grid-template-columns:180px 1fr}.sum dt{margin-top:0}
}
@media(min-width:1040px){.cards{grid-template-columns:1fr 1fr 1fr}.tblwrap.on{display:block}.cards.off{display:none}}

@media(min-width:720px){.gt col.c0{width:28%}.gt thead th{font-size:.68rem}.gt th.r{font-size:.88rem}}
