/* THE PRIOR ART — only what the house sheet (site.css) lacks. Every colour is a
   token from site.css, so the dark edition (dark.css) inherits it for free. */
.nav__mark-self b { white-space:nowrap; }
.vh { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.pa-mt { margin-top:1.3rem; }
.pa-tight { margin:.35rem 0 0; }
.pa-tight-act { margin-top:.9rem; }
/* small status type. site.css paints .cw-stat in --muted (#717171): 4.83:1 on white, but on the tinted
   bands (#FAFAFA + the console's 2.5% ink wash = #F5F5F5) it is 4.47:1, under AA's 4.5:1 for 12.5px type.
   #666 is 5.27:1 there and 5.74:1 on white. dark.css sets --pa-stat back to its own --muted. Before .pa-err
   so an error still wins. */
.cw-stat { color:var(--pa-stat,#666666); }
.pa-err { color:var(--taken,#b42318); }
.pa-sm { padding:.32rem .7rem; font-size:.78rem; min-height:0; }
.pa-grow { flex:1 1 16rem; min-width:0; }
.pa-inline { display:flex; flex-wrap:wrap; gap:.6rem .8rem; align-items:center; }
.pa-inline .field { flex:1 1 14rem; min-width:0; }
.pa-two { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.1rem; }
@media (max-width:860px){ .pa-two { grid-template-columns:minmax(0,1fr); } }

/* chips (the filings page carries these inline) */
.fchip { display:inline-block; font-size:.62rem; font-weight:700; letter-spacing:.05em; padding:.14rem .4rem;
    border-radius:6px; border:1px solid var(--line); color:var(--ink-77); white-space:nowrap; vertical-align:middle; }
.pa-new { color:var(--accent); border-color:var(--accent); }

/* THE BENCH */
.pa-bench { margin-top:1.6rem; max-width:52rem; }
.pa-bench__row { display:flex; gap:.6rem; flex-wrap:wrap; margin-top:.35rem; }
.pa-bench__row .field { flex:1 1 20rem; min-width:0; font-size:1.05rem; }
.pa-bench__out { margin-top:1rem; max-width:62rem; }
.pa-canon { font-size:1.2rem; margin:0 0 .5rem; }
.pa-canon small { font-size:.75rem; color:var(--ink-55); }
.pa-notes { margin:.2rem 0 .8rem; padding-left:1.1rem; font-size:.85rem; color:var(--ink-77); }
.pa-links { list-style:none; margin:.3rem 0 .6rem; padding:0; display:grid; gap:.35rem; }
.pa-links li { font-size:.9rem; overflow-wrap:anywhere; }
.pa-links a { font-weight:600; }
.pa-badge { font-size:.6rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:.1rem .35rem;
    border-radius:5px; border:1px solid var(--line); color:var(--ink-55); vertical-align:middle; cursor:help; }
.pa-badge--verified { color:var(--free,#1a7f37); border-color:var(--free,#1a7f37); }
.pa-badge--documented { color:var(--info,#1d4ed8); border-color:var(--info,#1d4ed8); }
.pa-badge--unverified { color:var(--unsure,#b45309); border-color:var(--unsure,#b45309); }

/* THE GAZETTE — this week's grants. The timeline colours are site tokens, so dark.css inherits them. */
.gz-try { display:flex; flex-wrap:wrap; gap:.4rem .5rem; align-items:center; margin:.6rem 0 0; }
.gz-try .lbl { margin:0 .2rem 0 0; }
.gz-bar-row { display:flex; flex-wrap:wrap; gap:.7rem 1.4rem; align-items:center; justify-content:space-between; margin-top:1.3rem; }
.gz-offices, .gz-samplers { display:flex; flex-wrap:wrap; gap:.4rem; align-items:center; }
.gz-samplers .lbl { margin:0 .2rem 0 0; }
.gz-offices [aria-pressed="true"] { border-color:var(--ink); color:var(--ink); box-shadow:inset 0 -2px 0 var(--accent); }
.gz-legend { display:flex; flex-wrap:wrap; gap:.3rem 1rem; margin:.7rem 0 0; font-size:.74rem; color:var(--ink-55); }
.gz-legend span { display:inline-flex; align-items:center; gap:.35rem; }
.gz-key { display:inline-block; width:.62rem; height:.62rem; border-radius:50%; }
.gz-sum { font-size:.86rem; color:var(--ink-77); margin:.5rem 0 0; min-height:1.2em; }
.gz-axis { font-size:.74rem; color:var(--ink-55); margin-left:.4rem; font-variant-numeric:tabular-nums; }
.gz-list { max-height:78vh; }
.gz-row { border-bottom:1px solid var(--line-soft); }
.gz-row:last-child { border-bottom:0; }
.gz-row.is-open { background:var(--tint); box-shadow:inset 3px 0 0 var(--accent); }
.gz-row__go { display:flex; flex-direction:column; gap:.15rem; width:100%; text-align:left; background:none; border:0; cursor:pointer;
    padding:.6rem .8rem; font:inherit; color:var(--ink); }
.gz-row__go:hover .gz-row__t, .gz-row__go:focus-visible .gz-row__t { color:var(--accent); }
.gz-row__go:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.gz-row__pn { font-family:'Roboto Mono',ui-monospace,Menlo,monospace; font-size:.74rem; color:var(--ink-55); }
.gz-row__t { font-size:.9rem; font-weight:600; line-height:1.35; overflow-wrap:anywhere; }
.gz-row__t em { font-weight:400; color:var(--ink-55); }
.gz-row__go small { font-size:.72rem; color:var(--ink-55); overflow-wrap:anywhere; }
.gz-tl { display:block; margin-top:.35rem; }
.gz-tl:empty { display:none; }
.gz-bar { position:relative; display:block; height:10px; border-radius:5px; background:var(--line-soft); }
.gz-bar--big { height:14px; border-radius:7px; margin:.2rem 0 .9rem; }
.gz-seg { position:absolute; top:3px; height:4px; border-radius:2px; background:var(--ink-55); }
.gz-bar--big .gz-seg { top:4px; height:6px; border-radius:3px; }
.gz-seg--priority { background:transparent; border-top:2px dashed var(--ink-55); height:0; top:4px; }
.gz-bar--big .gz-seg--priority { top:6px; }
.gz-seg--filing { background:var(--info,#1d4ed8); opacity:.55; }
.gz-seg--publication, .gz-seg--intent { background:var(--accent); opacity:.6; }
.gz-dot, .gz-key { background:var(--ink-55); }
.gz-dot { position:absolute; top:50%; width:10px; height:10px; margin:-5px 0 0 -5px; border-radius:50%; border:2px solid var(--paper); }
.gz-bar--big .gz-dot { width:14px; height:14px; margin:-7px 0 0 -7px; }
.gz-dot--priority, .gz-key--priority { background:var(--ink-55); }
.gz-dot--filing, .gz-key--filing { background:var(--info,#1d4ed8); }
.gz-dot--publication, .gz-key--publication { background:var(--unsure,#b45309); }
.gz-dot--intent, .gz-key--intent { background:var(--accent); }
.gz-dot--grant, .gz-key--grant { background:var(--free,#1a7f37); }
.gz-tl__txt { font-variant-numeric:tabular-nums; }
.gz-bar--clipped::before { content:'\2039'; position:absolute; left:-.7rem; top:50%; transform:translateY(-52%);
    font-size:.8rem; line-height:1; color:var(--ink-55); }
.gz-tl { padding-left:.7rem; }
.gz-pager { display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; justify-content:space-between; margin-top:.6rem; }
.gz-waits { margin:.2rem 0 .4rem; padding-left:1.1rem; font-size:.86rem; line-height:1.6; color:var(--ink-77); }
.gz-codes { display:flex; flex-wrap:wrap; gap:.3rem; margin:.3rem 0 0; }
.gz-act { margin-top:1rem; }
/* THE SHEET */
.pa-ta { width:100%; resize:vertical; font-family:inherit; margin-top:.3rem; }
.pa-feat { border:1px solid var(--line); border-radius:12px; padding:.8rem .9rem 1rem; margin:1rem 0 0; min-width:0; }
.pa-feat legend { font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-55); padding:0 .35rem; }
.pa-feat__top { display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; }
.pa-feat__top .field { flex:1 1 18rem; min-width:0; }
.pa-cmap { display:grid; grid-template-columns:repeat(auto-fit,minmax(14rem,1fr)); gap:.6rem .9rem; margin-top:.8rem; }
.pa-cmap__c { display:flex; flex-direction:column; gap:.2rem; min-width:0; }
.pa-cmap__c .field { width:100%; }
.pa-pick { display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; gap:.5rem .7rem; align-items:center;
    padding:.45rem 0; border-bottom:1px solid var(--line-soft); }
@media (max-width:620px){ .pa-pick { grid-template-columns:auto minmax(0,1fr); } }
.pa-chk { font-size:.8rem; color:var(--ink-77); white-space:nowrap; }
.pa-code { font-family:'Roboto Mono',ui-monospace,Menlo,monospace; font-size:.82rem; font-weight:600; color:var(--ink); }
.pa-scope { display:grid; grid-template-columns:repeat(auto-fit,minmax(11rem,1fr)); gap:.7rem .9rem; }
.pa-scope label { display:flex; flex-direction:column; gap:.2rem; min-width:0; }
.pa-scope .field { width:100%; }

/* code rows: suggestions, the scheme */
.pa-codes { display:flex; flex-direction:column; margin-top:.4rem; }
.pa-crow { display:flex; gap:.6rem; align-items:flex-start; justify-content:space-between; padding:.4rem 0; border-bottom:1px solid var(--line-soft); }
.pa-crow:last-child { border-bottom:0; }
.pa-crow__go { flex:1 1 auto; min-width:0; text-align:left; background:none; border:0; padding:0; cursor:pointer;
    font:inherit; color:var(--ink); font-size:.88rem; line-height:1.45; overflow-wrap:anywhere; }
.pa-crow__go:hover span, .pa-crow__go:focus-visible span { color:var(--accent); }
.pa-crow__go small { display:block; font-size:.72rem; color:var(--ink-55); }
.pa-crow--self .pa-crow__go { font-weight:600; }
.pa-crumbs { font-size:.8rem; margin:0 0 .4rem; overflow-wrap:anywhere; }
.pa-idb { background:none; border:1px solid var(--line); border-radius:6px; padding:.08rem .35rem; margin:.1rem 0;
    font-family:'Roboto Mono',ui-monospace,Menlo,monospace; font-size:.74rem; color:var(--ink); cursor:pointer; }
.pa-idb:hover, .pa-idb:focus-visible { border-color:var(--accent); color:var(--accent); }

/* THE COMPILER */
.pa-engs { display:grid; gap:1rem; margin-top:1rem; }
.pa-eng { border:1px solid var(--line); border-radius:12px; padding:.8rem .9rem; background:var(--paper); min-width:0; }
.pa-eng__head { display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; justify-content:space-between; }
.pa-eng__head small { color:var(--ink-55); font-size:.75rem; margin-left:.4rem; }
.pa-eng__acts { display:flex; gap:.4rem; flex-wrap:wrap; }
.pa-q { margin:.6rem 0 0; padding:.6rem .7rem; border-radius:8px; background:var(--tint); border:1px solid var(--line-soft);
    font-family:'Roboto Mono',ui-monospace,Menlo,monospace; font-size:.78rem; line-height:1.55; white-space:pre-wrap; overflow-wrap:anywhere; color:var(--ink); }
.pa-traps { list-style:none; margin:.55rem 0 0; padding:0; display:grid; gap:.25rem; }
.pa-trap { font-size:.8rem; line-height:1.45; color:var(--ink-77); padding-left:.6rem; border-left:3px solid var(--line); }
.pa-trap b { font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; margin-right:.3rem; }
.pa-trap--warn { border-left-color:var(--unsure,#b45309); }
.pa-trap--error { border-left-color:var(--taken,#b42318); }
.pa-trap--ok { border-left-color:var(--free,#1a7f37); }

/* THE READING ROOM */
.pa-rr-form { display:flex; flex-wrap:wrap; gap:.6rem .8rem; align-items:flex-end; }
.pa-rr-form label { display:flex; flex-direction:column; gap:.2rem; min-width:0; }
.pa-rr-form label:not(.pa-grow) { flex:0 1 9.5rem; }
.pa-rr-form .field { width:100%; }
.pa-rr-eng { display:flex; flex-wrap:wrap; gap:.4rem; align-items:center; margin:.4rem 0 0; }
.pa-split { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr); gap:1rem; margin-top:1rem; align-items:start; }
@media (max-width:900px){ .pa-split { grid-template-columns:minmax(0,1fr); } }
.pa-list:empty { display:none; }
.pa-split:has(.pa-list:empty) { grid-template-columns:minmax(0,1fr); }
.pa-glbl { margin:.8rem 0 .1rem; }
.pa-list { list-style:none; margin:0; padding:0; border:1px solid var(--line); border-radius:12px; background:var(--paper);
    max-height:70vh; overflow:auto; min-height:4rem; }
.pa-list:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.pa-hit { display:flex; flex-direction:column; gap:.15rem; padding:.6rem .8rem; border-bottom:1px solid var(--line-soft); cursor:pointer; }
.pa-hit[aria-selected="true"] { background:var(--tint); box-shadow:inset 3px 0 0 var(--accent); }
.pa-hit__pn { font-family:'Roboto Mono',ui-monospace,Menlo,monospace; font-size:.74rem; color:var(--ink-55); }
.pa-hit__t { font-size:.9rem; font-weight:600; color:var(--ink); line-height:1.35; overflow-wrap:anywhere; }
.pa-hit small { font-size:.72rem; color:var(--ink-55); overflow-wrap:anywhere; }
mark { background:rgba(194,65,12,.18); color:inherit; border-radius:2px; padding:0 .05em; }
.pa-rec { padding:1rem 1.1rem; min-width:0; overflow-wrap:anywhere; }
.pa-rec__pn { font-family:'Roboto Mono',ui-monospace,Menlo,monospace; font-size:.8rem; color:var(--ink-55); margin:0; }
.pa-rec__t { font-size:1.15rem; line-height:1.35; margin:.2rem 0 .6rem; }
.pa-rec .lbl { display:block; margin-top:1rem; }
.pa-dates { display:grid; grid-template-columns:repeat(auto-fit,minmax(7rem,1fr)); gap:.5rem; margin:.4rem 0; }
.pa-dates div { border:1px solid var(--line-soft); border-radius:8px; padding:.35rem .5rem; }
.pa-dates dt { font-size:.62rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-55); }
.pa-dates dd { margin:0; font-variant-numeric:tabular-nums; font-weight:600; }
.pa-parties { font-size:.86rem; line-height:1.55; }
.pa-parties .lbl { display:inline; margin:0 .3rem 0 0; }
.pa-abs { font-size:.9rem; line-height:1.6; color:var(--ink-77); margin:.3rem 0; }
.pa-term { font-size:.86rem; line-height:1.55; border-left:3px solid var(--unsure,#b45309); padding-left:.7rem; margin:1rem 0 0; }
.pa-term em { color:var(--ink-55); }
.pa-cpcl { list-style:none; margin:.3rem 0 0; padding:0; display:grid; gap:.3rem; font-size:.82rem; }
.pa-cpct { color:var(--ink-77); }
.pa-cites { display:grid; grid-template-columns:repeat(auto-fit,minmax(14rem,1fr)); gap:.6rem 1rem; }
.pa-cites__h { font-size:.78rem; font-weight:700; margin:.3rem 0 .2rem; }
.pa-cites p { margin:0; }
.pa-fam { margin:.35rem 0; font-size:.85rem; }
.pa-fam summary { cursor:pointer; }
.pa-fam p { margin:.3rem 0 0; }
.pa-links2 { font-size:.85rem; }

/* THE LOG */
.pa-log { margin:0; padding-left:1.2rem; font-size:.82rem; line-height:1.5; max-height:26rem; overflow:auto; }
.pa-log li { padding:.25rem 0; border-bottom:1px solid var(--line-soft); overflow-wrap:anywhere; }
.pa-log time { font-variant-numeric:tabular-nums; color:var(--ink-55); }
.pa-log code { font-size:.74rem; color:var(--ink-77); }
.pa-missed { margin:0; padding-left:1.1rem; font-size:.86rem; line-height:1.55; color:var(--ink-77); display:grid; gap:.35rem; }
.pa-file { position:relative; cursor:pointer; }
.pa-file:focus-within { outline:2px solid var(--accent); outline-offset:2px; }
kbd { font-family:'Roboto Mono',ui-monospace,Menlo,monospace; font-size:.75em; border:1px solid var(--line); border-radius:4px; padding:0 .3em; }

/* THE METHOD (the filings page carries these inline) */
.method-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(16rem,1fr)); gap:1.6rem 2rem; margin-top:1.6rem; }
.m-h { font-size:.8rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ink); margin:0 0 .4rem; }
.m-d { margin:0; font-size:.92rem; line-height:1.65; color:var(--ink-77); }

@media print { .nav, .menu, .foot, .pa-bench, #compiler .seg { display:none !important; } }
