
:root{--colour-text:#182c3c;--colour-ink:#152d40;--colour-muted:#55636f;--colour-text-secondary:#526573;--colour-text-meta:#425563;--colour-text-inverse:#ffffff;--colour-nav:#122c3e;--colour-nav-text:#c0ccd3;--colour-nav-border:#3a4e5c;--colour-nav-hover:#243e4f;--colour-nav-active:#294253;--colour-accent:#d8ef8b;--colour-link:#245c47;--colour-link-action:#35604a;--colour-focus:#708e16;--colour-focus-inline:#2d6a4f;--colour-border:#dfe6eb;--colour-border-input:#cdd8e0;--colour-surface:#ffffff;--colour-surface-page:#f5f7f9;--colour-surface-subtle:#f6f8fa;--colour-surface-bar:#fbfcfd;--colour-surface-canvas:#f9fbfc;--colour-surface-field:#f7f9fa;--colour-surface-hover:#f2f5f7;--colour-surface-pinned:#f6f8f4;--colour-segment-track:#e9eef2;--colour-track:#edf2f4;--colour-bar:#4f8064;--colour-success:#365c46;--colour-success-text:#315e3c;--colour-success-surface:#e8f1e7;--colour-success-surface-subtle:#edf3e5;--colour-note-surface:#f2f7f2;--colour-note-border:#6e9576;--colour-error:#9a3027;--colour-error-hover:#7d261f;--colour-error-border:#e7b4ae;--colour-error-surface:#fff1ef;--colour-warning-surface:#fff9ec;--colour-warning-border:#d4cbb5;--colour-warning-text:#66532c;--colour-tag-amber-surface:#fff1d9;--colour-tag-amber-text:#805c13;--colour-tag-blue-surface:#e9f0fb;--colour-tag-blue-text:#3f6496;--colour-tag-purple-surface:#eeebf9;--colour-tag-purple-text:#695299;--colour-phase-tag-text:#174d78;--colour-welcome-surface:#edf2e2;--colour-welcome-border:#dce6c8;--colour-chevron:#3d5566;--colour-filter-active:#6f9a80;--colour-map-active:#e4f0e8;--colour-map-selected:#162d22;--colour-map-context-text:#174e31;--colour-map-edge:#9aaab8;--colour-map-arrow:#728897;--colour-map-node-stroke:#274e5c;--colour-map-seed-stroke:#26724b;--colour-recent-graph-edge:#bccbc5;--colour-answer-map-centre:#1b3040;--colour-answer-map-core:#c8df84;--colour-answer-map-cited:#93ad52;--colour-answer-map-placeholder:#c7d2d9;--colour-phase-discovery:#b0008f;--colour-phase-alpha:#ec008c;--colour-phase-beta:#f65a16;--colour-phase-live:#6b9f45;--colour-type-purple:#8061a3;--colour-type-blue:#44779c;--colour-type-green:#477662;--colour-type-ochre:#997025;--colour-type-teal:#397e77;--colour-type-orange:#ad603b;--colour-type-indigo:#536fa2;--colour-type-olive:#817133;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--font-size-sm:12px;--font-size-md:14px;--font-size-lg:16px;--font-size-xl:18px;--font-size-2xl:22px;--font-size-3xl:28px;--font-size-4xl:32px;--font-weight-regular:400;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.35;--line-height-normal:1.5;--line-height-loose:1.65;--font-body:'DM Sans',sans-serif;--font-display:Manrope,sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,monospace;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-full:999px;--shadow-sm:0 1px 3px #142c4020;--shadow-md:0 8px 24px #142c4024;--shadow-lg:0 8px 32px #142c400b;--focus-ring:3px solid var(--colour-focus);--focus-offset:4px;--icon-size-text:1em;--icon-size-sm:16px;--icon-size-md:18px;--icon-size-lg:28px;--icon-stroke:2}


.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:root{font-family:var(--font-body);color:var(--colour-text);background:var(--colour-surface-page);font-synthesis:none}
*{box-sizing:border-box}
body{margin:0}
button,input,select{font:inherit}
button,a,input,select{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex="0"]:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}
a{color:inherit;text-decoration:none}
button{cursor:pointer;color:inherit}
button:disabled{cursor:default}
button:hover:not(:disabled){filter:brightness(.97)}
.skip{position:fixed;top:-60px;left:16px;background:var(--colour-surface);padding:var(--space-3);z-index:20}
.skip:focus{top:10px}
h1,h2,h3{font-family:var(--font-display)}
h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);letter-spacing:-1.2px;margin:var(--space-2) 0 var(--space-3)}
h2{font-size:var(--font-size-xl);letter-spacing:-.45px;margin:0}
h3{font-size:var(--font-size-lg);letter-spacing:-.15px;margin:0}
p{font-size:var(--font-size-lg);line-height:var(--line-height-loose);margin:0 0 var(--space-4)}
.muted{color:var(--colour-muted)}
.eyebrow{text-transform:uppercase;letter-spacing:.11em;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}
.panel{background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md)}
.meta{font-size:var(--font-size-sm);line-height:1.6;color:var(--colour-text-meta)}
.section-head{display:flex;justify-content:space-between;align-items:center;margin:var(--space-8) 0 var(--space-4);gap:var(--space-3)}
select{border:1px solid var(--colour-border-input);background:var(--colour-surface);border-radius:var(--radius-sm);padding:var(--space-2);font-size:var(--font-size-md);min-width:130px}
.empty{padding:var(--space-12) var(--space-6);text-align:center;background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md)}
.empty p{color:var(--colour-muted);margin-top:var(--space-2)}
.guide{position:relative;background:var(--colour-surface);border-radius:var(--radius-lg);width:600px;max-width:100%;max-height:90vh;overflow:auto;padding:var(--space-8)}
.guide h2{font-size:var(--font-size-3xl);margin:var(--space-4) 0}
.key{font-size:var(--font-size-sm);color:var(--colour-text-meta);margin:var(--space-8) 0 0}
@media(max-width:720px){h1{font-size:var(--font-size-3xl)}.guide{padding:var(--space-6)}.section-head{margin-top:var(--space-6)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.more{margin-top:var(--space-4)}
.reader [hidden],[hidden]{display:none!important}
.key a{color:var(--colour-link);text-decoration:underline}
.not-found{max-width:600px;margin:var(--space-8) auto;padding:var(--space-10)}
.not-found h1,.not-found h2{margin:0 0 var(--space-3)}
.not-found p{margin-bottom:var(--space-4)}


.lucide{flex:none;stroke-width:var(--icon-stroke)}
.icon-text{width:var(--icon-size-text);height:var(--icon-size-text);vertical-align:-.125em}
.icon-sm{width:var(--icon-size-sm);height:var(--icon-size-sm)}
.icon-md{width:var(--icon-size-md);height:var(--icon-size-md)}
.icon-lg{width:var(--icon-size-lg);height:var(--icon-size-lg)}


.sidebar{width:224px;position:fixed;inset:0 auto 0 0;background:var(--colour-nav);color:var(--colour-nav-text);display:flex;flex-direction:column;padding:var(--space-6) var(--space-4) var(--space-5);z-index:5;overflow-y:auto;overflow-x:hidden}
.brand{display:flex;align-items:center;gap:var(--space-3);color:var(--colour-text-inverse);font-family:var(--font-display);font-weight:var(--font-weight-bold);font-size:var(--font-size-2xl);padding:0 var(--space-3) var(--space-6)}
.workspace-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--colour-nav-text);padding:0 var(--space-3);margin:var(--space-4) 0 var(--space-2)}
.nav{display:grid;gap:2px}
.nav a{display:flex;align-items:center;gap:var(--space-3);min-height:40px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--colour-nav-text)}
.nav a:hover{background:var(--colour-nav-hover)}
.nav a[aria-current=page],.nav a[aria-current=page]:hover{color:var(--colour-ink);background:var(--colour-accent)}
.icon{width:19px;height:19px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);line-height:1}
.project-panel{margin:var(--space-5) calc(var(--space-2) * -1) var(--space-2);padding:var(--space-4) var(--space-2) var(--space-2);background:var(--colour-surface);color:var(--colour-text);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}
.project-name{margin:0;padding:0 var(--space-3);color:var(--colour-ink);font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);overflow-wrap:anywhere}
.project-meta{margin:var(--space-1) 0 0;padding:0 var(--space-3);color:var(--colour-text-meta);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}
.project-meta .project-role{display:block;font-size:inherit;color:inherit}
.nav-project{margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--colour-border)}
.project-panel .nav a{color:var(--colour-text)}
.project-panel .nav a .icon{color:var(--colour-text-secondary)}
.project-panel .nav a:hover{background:var(--colour-surface-hover)}
.project-panel .nav a[aria-current=page],.project-panel .nav a[aria-current=page]:hover{color:var(--colour-ink);background:var(--colour-accent);box-shadow:var(--shadow-sm)}
.project-panel .nav a[aria-current=page] .icon{color:var(--colour-ink)}
.project-panel .nav .nav-badge{background:var(--colour-nav);color:var(--colour-text-inverse)}
.side-bottom{margin-top:auto;padding-top:var(--space-4);display:grid;gap:0}
.side-bottom .nav a{font-weight:var(--font-weight-regular)}
.profile{display:flex;gap:var(--space-3);border-top:1px solid var(--colour-nav-border);padding:var(--space-4) var(--space-3) 0;font-size:var(--font-size-md);align-items:flex-start;margin-top:var(--space-4)}
.avatar{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:var(--radius-full);background:var(--colour-border);color:var(--colour-nav-hover);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}
.profile-details{min-width:0;display:grid;gap:var(--space-1)}
.profile-email{overflow-wrap:anywhere;color:var(--colour-text-inverse);font-size:var(--font-size-sm)}
.profile a{font-size:var(--font-size-md);color:var(--colour-text-inverse);text-decoration:underline;text-underline-offset:3px}
.shell{margin-left:224px}
.topbar{min-height:56px;background:var(--colour-surface);border-bottom:1px solid var(--colour-border);display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-10);gap:var(--space-4);font-size:var(--font-size-md)}
.page{padding:var(--space-10) var(--space-10) var(--space-12);margin:auto;max-width:1800px}
.header-line{display:flex;justify-content:space-between;gap:var(--space-6);align-items:center;margin-bottom:var(--space-7)}
.header-line p{margin-bottom:0;max-width:650px}
@media(max-width:1150px){.sidebar{width:190px;padding:var(--space-6) var(--space-3)}.shell{margin-left:190px}.page{padding:var(--space-7) var(--space-6)}.topbar{padding:var(--space-2) var(--space-6)}}
/* Server-rendered shell: keep the approved design's proportions and add native link and form states. */
.brand svg{width:36px;height:36px;flex-shrink:0}
.brand .brand-copy{color:var(--colour-text-inverse)}
@media(max-width:900px){.sidebar{width:224px;padding:var(--space-6) var(--space-4)}.brand{justify-content:flex-start;padding:0 var(--space-2) var(--space-6)}.shell{margin-left:224px}.page{padding:var(--space-6) var(--space-4)}.topbar{padding:var(--space-2) var(--space-4)}.header-line{align-items:flex-start}.header-line>.btn{display:none}.brand .brand-copy{display:none}}
/* Phones: the sidebar stacks above the page. Without JavaScript the whole navigation shows as a vertical list; with it, phone-nav.ts folds it into the Menu. Every link is at least 44px tall. */
@media(max-width:720px){.sidebar{position:relative;top:0;width:100%;max-height:none;height:auto;padding:var(--space-3) var(--space-4);display:block}.brand{font-size:var(--font-size-2xl);gap:var(--space-2);padding:0}.brand>span{display:block}.project-panel{margin:var(--space-3) 0}.nav a{min-height:44px}.sidebar .side-bottom{display:block;padding-top:var(--space-2)}.sidebar .profile{padding:var(--space-4) var(--space-3) 0}.shell{margin:0}.page{padding:var(--space-6) var(--space-4)}.header-line{margin-bottom:var(--space-6);align-items:start}.brand .brand-copy{display:block}.brand svg{width:30px;height:30px}/* U51/U52: tighter top bar padding on phones. */.topbar{height:auto;flex-wrap:wrap;padding:var(--space-2) var(--space-4);min-height:0}}


.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid var(--colour-border-input);background:var(--colour-surface);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);white-space:nowrap}
.btn.primary{background:var(--colour-ink);border-color:var(--colour-ink);color:var(--colour-text-inverse)}
.btn.danger{background:var(--colour-error);border-color:var(--colour-error);color:var(--colour-text-inverse)}
.btn.danger:hover{background:var(--colour-error-hover);border-color:var(--colour-error-hover)}
.text-btn{border:0;background:none;padding:0;color:var(--colour-link-action);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);display:inline-flex;align-items:center;gap:var(--space-2)}
.segments{display:flex;background:var(--colour-segment-track);padding:3px;border-radius:var(--radius-md);gap:3px}
.segments button{padding:var(--space-2) var(--space-3);border:0;background:transparent;border-radius:var(--radius-sm);font-size:var(--font-size-md)}
.segments button.active{background:var(--colour-surface);box-shadow:var(--shadow-sm);font-weight:var(--font-weight-semibold)}
.segments a{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-md)}
.segments a[aria-current=page]{background:var(--colour-surface);box-shadow:var(--shadow-sm);font-weight:var(--font-weight-semibold)}


.tag{display:inline-flex;align-items:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--colour-segment-track);color:var(--colour-text-secondary)}
.tag.green{background:var(--colour-success-surface);color:var(--colour-success-text)}
.tag.amber{background:var(--colour-tag-amber-surface);color:var(--colour-tag-amber-text)}
.tag.purple{background:var(--colour-tag-purple-surface);color:var(--colour-tag-purple-text)}
.tag.blue{background:var(--colour-tag-blue-surface);color:var(--colour-tag-blue-text)}
.tag.red{background:var(--colour-error-surface);color:var(--colour-error)}
/* Metadata has separate visual roles: type, workflow status, origin and topics. */
.record-identity{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2) var(--space-3);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}
.record-id{font-variant-numeric:tabular-nums;font-weight:var(--font-weight-semibold);color:var(--colour-text-meta);letter-spacing:.03em}
.record-type{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--colour-text-meta);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal)}
.record-type i{width:8px;height:8px;flex:none;border-radius:var(--radius-full);background:var(--type-color)}
.record-status{display:inline-flex;align-items:center;border:1px solid var(--colour-border);background:var(--colour-surface-hover);color:var(--colour-text-meta);border-radius:var(--radius-sm);padding:2px var(--space-2);font-size:var(--font-size-sm);line-height:var(--line-height-normal);font-weight:var(--font-weight-semibold)}
.status-review{background:var(--colour-tag-amber-surface);color:var(--colour-tag-amber-text);border-color:var(--colour-warning-border)}
.status-muted{background:var(--colour-surface-hover);color:var(--colour-text-secondary);border-color:var(--colour-border)}
.record-identity .record-status{margin-left:auto}
.phase-tag{display:inline-flex;flex-wrap:wrap;gap:var(--space-1);align-items:baseline;padding:3px var(--space-2);border:1px solid var(--colour-border-input);border-radius:var(--radius-sm);background:var(--colour-tag-blue-surface);color:var(--colour-phase-tag-text);font-size:var(--font-size-sm);line-height:var(--line-height-normal);font-weight:var(--font-weight-semibold)}
.phase-tag>span{font-weight:var(--font-weight-regular);color:var(--colour-text-meta)}
.record-details{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);margin:var(--space-2) 0 var(--space-3);font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--colour-text-secondary)}
.record-date{white-space:nowrap}
.record-topics{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;margin:0 0 var(--space-4)}
.topic-tag{padding:2px var(--space-2);border:1px solid var(--colour-border);border-radius:var(--radius-lg);color:var(--colour-text-secondary);background:var(--colour-surface-bar);font-size:var(--font-size-sm);line-height:var(--line-height-normal);overflow-wrap:anywhere;max-width:100%}
.recent-type-key{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin:var(--space-1) 0 var(--space-3)}


.explore-heading{margin-bottom:var(--space-6)}
.explore-heading h1{margin:0 0 var(--space-2)}
.explore-heading p{color:var(--colour-muted);font-size:var(--font-size-lg);margin:0}
.explore-grid{display:grid;gap:var(--space-4);align-items:start}
.results{min-width:0}
.results-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;margin:0 0 var(--space-3);gap:var(--space-2) var(--space-4);min-width:0;font-size:var(--font-size-sm);color:var(--colour-text-meta)}
.results-count{flex:1 1 auto;min-width:0;margin:0;font:var(--font-weight-bold) var(--font-size-lg)/var(--line-height-tight) var(--font-display);color:var(--colour-ink);overflow-wrap:anywhere}
.results-page{font:var(--font-weight-regular) var(--font-size-sm)/var(--line-height-normal) var(--font-body);color:var(--colour-text-meta);white-space:nowrap}
.results-head>.results-tools{display:flex;flex:none;align-items:center}
.results-filtered{flex:1 1 100%;margin:0;font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--colour-text-meta)}
.results-filtered .text-btn{font-size:var(--font-size-sm);text-decoration:underline;text-underline-offset:3px}
.records{background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md);overflow:hidden;padding:0;margin:0}
.record{display:block;text-align:left;width:100%;border:0;border-bottom:1px solid var(--colour-border);background:var(--colour-surface);padding:var(--space-5);list-style:none}
.record:last-child{border-bottom:0}
.record.selected{background:var(--colour-note-surface);padding-left:var(--space-4);border-left:3px solid var(--colour-bar)}
.record h3{margin:var(--space-2) 0 var(--space-2);line-height:var(--line-height-normal)}
.record p{font-size:var(--font-size-md);color:var(--colour-muted);margin:0 0 var(--space-3)}
.record-bottom{display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--font-size-sm);color:var(--colour-text-meta);align-items:baseline;flex-wrap:wrap}
/* Real-project exploration */
.question-list>button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:var(--space-6)}
.question-list>button+button{border-top:1px solid var(--colour-border)}
.question-list p{margin-bottom:var(--space-3);font-size:var(--font-size-md);color:var(--colour-muted)}
.question-list>a{display:block;text-align:left;width:100%;padding:var(--space-6);border-bottom:1px solid var(--colour-border)}
.question-list>a:last-child{border-bottom:0}
.question-list h3{margin:var(--space-3) 0 var(--space-2);font-size:var(--font-size-xl)}
.pagination{display:flex;gap:var(--space-6);padding:var(--space-4) 0;font-size:var(--font-size-md)}
.empty-reader{padding:var(--space-6)}
#explorer-message{margin:var(--space-2) 0}
.record-bottom>.record-details{margin:0}
.record-bottom>.record-topics{flex-basis:100%;order:3;margin:0}
/* Give a selected record the reading area; keep search and connections as context. */
.explore-grid:not(.no-reader):not(.map-view){grid-template-columns:minmax(0,1fr) minmax(280px,340px)}
.explore-grid:not(.no-reader):not(.map-view) .reader{grid-column:1;grid-row:1;position:static;top:auto;min-width:0;overflow:visible}
.explore-grid:not(.no-reader):not(.map-view) .reader-body{padding:var(--space-7) var(--space-8);max-height:none;min-height:0;overflow:visible}
.explore-grid:not(.no-reader):not(.map-view) .reader-content{max-width:80ch}
.explore-grid:not(.no-reader):not(.map-view) .results{grid-column:2;grid-row:1;position:sticky;top:18px;max-height:calc(100vh - 36px);display:flex;flex-direction:column;min-height:0}
/* The list scrolls inside the column, which closes with its own bottom edge, so a card cut off by the column reads as the end of a box. */
.explore-grid:not(.no-reader):not(.map-view) #list-panel{position:relative;overflow:auto;min-height:0;border-bottom:1px solid var(--colour-border);border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}
/* Results column option C: compact rows beside an open record, from the same cards. ID, type and
   status; the title cut to three lines; one line of owner and the date the list is ordered by;
   "things to answer" under it. Passages only for a search. The open record's row says "Open now". */
.explore-grid:not(.no-reader):not(.map-view) .results-head>.results-tools{display:none}
.explore-grid:not(.no-reader):not(.map-view) .record{display:flex;flex-direction:column;padding:var(--space-3) var(--space-4)}
.explore-grid:not(.no-reader):not(.map-view) .record.selected{padding-left:var(--space-3)}
.explore-grid:not(.no-reader):not(.map-view) .record h3{font-size:var(--font-size-md);line-height:1.4;margin:var(--space-1) 0}
.explore-grid:not(.no-reader):not(.map-view) .record h3 a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.explore-grid:not(.no-reader):not(.map-view) .record p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;font-size:var(--font-size-sm);line-height:1.45;margin-bottom:var(--space-1)}
.explore-grid:not(.no-reader):not(.map-view) .records:not(.records-search) .record-snippet{display:none}
.explore-grid:not(.no-reader):not(.map-view) .record-bottom .record-details,.explore-grid:not(.no-reader):not(.map-view) .record-bottom .record-topics,.explore-grid:not(.no-reader):not(.map-view) .record-connections{display:none}
.explore-grid:not(.no-reader):not(.map-view) .record-bottom .record-list-fields{gap:var(--space-1) var(--space-3)}
.explore-grid:not(.no-reader):not(.map-view) .record-list-fields .record-order-date{display:inline}
.explore-grid:not(.no-reader):not(.map-view) .record-list-fields .record-other-date{display:none}
.explore-grid:not(.no-reader):not(.map-view) .record>.to-answer-tag{order:1;align-self:flex-start;margin:var(--space-1) 0 0}
.records .pinned-tag,.records-table .pinned-tag{padding:0;border-radius:0;background:none;color:var(--colour-link)}
.records .pinned-tag{display:block;margin:0 0 var(--space-1)}
/* Tabs with a pill look (the segmented tabs' context-tabs variant). */
.context-tabs{display:flex;gap:var(--space-1);margin:0 0 var(--space-2);padding:3px;background:var(--colour-segment-track);border-radius:var(--radius-md)}
.context-tabs button{flex:1;border:0;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-2);background:transparent;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}
.context-tabs button[aria-selected=true]{background:var(--colour-surface);color:var(--colour-ink);box-shadow:var(--shadow-sm)}
.explore-grid.map-view{grid-template-columns:minmax(0,1fr) 390px}
.explore-grid.map-view .results{grid-column:1;grid-row:1}
.explore-grid.map-view .reader{grid-column:2;grid-row:1}
.explore-grid.no-reader{grid-template-columns:1fr}
@media(max-width:1150px){.explore-grid:not(.no-reader):not(.map-view){grid-template-columns:minmax(0,1fr) 300px}.explore-grid.map-view{grid-template-columns:minmax(0,1fr) 340px}}
@media(max-width:900px){.explore-grid:not(.no-reader):not(.map-view),.explore-grid.map-view{grid-template-columns:1fr}.explore-grid:not(.no-reader):not(.map-view) .reader,.explore-grid.map-view:not(.no-reader) .reader{grid-column:1;grid-row:1}.explore-grid:not(.no-reader):not(.map-view) .results,.explore-grid.map-view:not(.no-reader) .results{grid-column:1;grid-row:2;position:static;max-height:none}.explore-grid:not(.no-reader):not(.map-view) #list-panel{overflow:visible;border-bottom:0}.explore-grid:not(.no-reader):not(.map-view) .reader-body{padding:var(--space-6)}.explore-grid.map-view .reader-body{max-height:none;overflow:visible}}
.record-list-fields{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);color:var(--colour-text-meta);font-size:var(--font-size-sm)}
.record-list-fields .record-order-date{display:none}
.record-bottom .record-list-fields{flex-basis:100%;order:2}
.explore-search{display:grid;gap:var(--space-2);margin:0 0 var(--space-6);padding:var(--space-4) var(--space-5) var(--space-4);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md)}
.home-search-form{margin-bottom:var(--space-7)}
.explore-search .search-label{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--colour-ink)}
.search-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2) var(--space-4)}
.search-row input[type=search]{flex:1 1 320px;min-width:0;min-height:44px;border:1px solid var(--colour-border-input);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);font-size:var(--font-size-lg);color:var(--colour-ink);background:var(--colour-surface)}
.search-row .btn{min-height:44px;padding:var(--space-2) var(--space-6)}
.ai-search-toggle{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--colour-ink);cursor:pointer;white-space:nowrap}
.ai-search-toggle input{width:17px;height:17px;margin:0;accent-color:var(--colour-link)}
.explore-search .search-help{margin:-2px 0 0;font-size:var(--font-size-md);line-height:var(--line-height-normal)}
.explore-search .search-help[hidden]{display:none}
.filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-1);padding-top:var(--space-4);border-top:1px solid var(--colour-border)}
.filter-clear{padding:0 var(--space-1);font-size:var(--font-size-md);text-decoration:underline;text-underline-offset:3px}
/* Sort ends the filter row (results column option C). It can shrink, and its value truncates, rather than run out of a narrow row. */
.filter-row>.list-only:last-child:not([hidden]){display:flex;min-width:0;max-width:100%;margin-left:auto}
.filter-row .sort-menu>summary{max-width:100%}
.filter-row .sort-menu [data-filter-summary]{min-width:0}
.results-order{font-size:var(--font-size-md);color:var(--colour-text-meta)}
.explore-heading.page-header-split{margin-bottom:var(--space-6)}
.record-snippet mark,.records-table mark{background:var(--colour-accent);color:var(--colour-ink);border-radius:var(--radius-sm);padding:0 1px}
/* U29: the compact table layout of the results */
.results-layout a{padding:var(--space-2) var(--space-3);font-size:var(--font-size-md)}
.records-table-wrap{position:relative;overflow-x:auto;background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md)}
.records-table{width:100%;border-collapse:collapse;font-size:var(--font-size-md);min-width:680px}
.records-table th,.records-table td{text-align:left;vertical-align:top;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--colour-border)}
.records-table thead th{background:var(--colour-surface-subtle);color:var(--colour-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);white-space:nowrap}
.records-table tbody tr:last-child>*{border-bottom:0}
.records-table tbody th{font-weight:var(--font-weight-semibold);line-height:1.4}
.records-table tbody th a{color:var(--colour-link);text-decoration:underline;text-underline-offset:3px}
.records-table .record-id{font-weight:var(--font-weight-semibold);white-space:nowrap}
.records-table .record-type,.records-table .record-status,.records-table time{white-space:nowrap}
.records-table .pinned-tag,.records-table .to-answer-tag{display:table;margin:0 0 var(--space-1)}
.records-table .to-answer-tag{margin:var(--space-1) 0 0}
.records-table tr.selected>*{background:var(--colour-note-surface)}
.records-table tr.selected>:first-child{box-shadow:inset 3px 0 0 var(--colour-bar)}
.explore-grid:not(.no-reader):not(.map-view) .records-table{min-width:0}
.explore-grid:not(.no-reader):not(.map-view) .records-table :is(th,td):nth-child(n+3){display:none}
@media(max-width:720px){.explore-search{padding:var(--space-4)}.search-row input[type=search]{flex-basis:100%}}


.reader{background:var(--colour-surface);border:1px solid var(--colour-border-input);border-radius:var(--radius-md);overflow:hidden;position:sticky;top:18px;box-shadow:var(--shadow-lg)}
.reader-top{display:flex;justify-content:space-between;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--colour-border);align-items:center}
/* x4: Full page (or Back) and Close stay together at the end of the header; the record's ID and tags wrap first. */
.reader-top-actions{display:flex;align-items:center;gap:var(--space-2);flex:none}
.close{font-size:var(--font-size-2xl);background:transparent;border:0;padding:0 var(--space-1);color:var(--colour-muted)}
/* x1: the close icon sits in the line the old "×" glyph set, so the bar keeps its height. */
.close .lucide{vertical-align:middle}
.reader-body{position:relative;padding:var(--space-6);overflow:auto;min-height:350px;max-height:calc(100vh - 200px);container-type:inline-size}
.reader h2,.reader h1{font-size:var(--font-size-2xl);line-height:var(--line-height-tight);margin:var(--space-3) 0 var(--space-4)}
.reader p{font-size:var(--font-size-lg);line-height:var(--line-height-loose)}
.owner-line{display:flex;align-items:center;gap:var(--space-2);padding:0 0 var(--space-5);font-size:var(--font-size-sm);color:var(--colour-text-meta)}
.owner-line strong{display:block;color:var(--colour-ink);font-size:var(--font-size-md);font-weight:var(--font-weight-regular)}
/* BL584: where the record came from; stays above the tabs so every tab and the full page show it. */
.reader-sources{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2) var(--space-4);margin:0 0 var(--space-5);font-size:var(--font-size-sm);color:var(--colour-text-meta)}
.reader-sources-label{font-weight:var(--font-weight-semibold)}
.reader-sources .reader-sources-list{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin:0;padding:0;list-style:none;font-size:var(--font-size-md);line-height:var(--line-height-normal)}
.reader-sources li{min-width:0;overflow-wrap:anywhere}
.reader-tabs{display:flex;gap:var(--space-4);border-bottom:1px solid var(--colour-border);margin-bottom:var(--space-5);flex-wrap:wrap;align-items:flex-end;column-gap:var(--space-5)}
.reader-tabs button{font-size:var(--font-size-md);padding:var(--space-2) 0;border:0;background:transparent;color:var(--colour-muted);border-bottom:2px solid transparent;white-space:nowrap;text-align:left}
.reader-tabs button.active{border-color:var(--colour-success);color:var(--colour-link);font-weight:var(--font-weight-semibold)}
.reader h3{margin:var(--space-6) 0 var(--space-2);font-size:var(--font-size-lg);margin-top:var(--space-4)}
.reader ul{padding-left:var(--space-5);font-size:var(--font-size-lg);line-height:1.6}
.reader-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--colour-border);display:flex;gap:var(--space-2);flex-wrap:wrap;background:var(--colour-surface-bar)}
.relationship{width:100%;text-align:left;background:var(--colour-surface-subtle);border:1px solid var(--colour-border);border-radius:var(--radius-sm);padding:var(--space-3);margin-bottom:var(--space-2)}
.relationship strong{display:block;font-size:var(--font-size-md);line-height:var(--line-height-normal);margin-top:var(--space-1)}
.relationship small{font-size:var(--font-size-sm);color:var(--colour-text-meta)}
@media(max-width:1150px){.reader-body{padding:var(--space-4)}.reader h2{font-size:var(--font-size-2xl)}}
@media(max-width:720px){.reader h2{font-size:var(--font-size-2xl)}}
.reader-content{overflow-wrap:anywhere;font-size:var(--font-size-lg);line-height:var(--line-height-loose)}
.reader p,.reader li{overflow-wrap:anywhere}
.reader .source-text{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:var(--font-size-lg);line-height:var(--line-height-loose)}
.reader .relationship{display:block}
.reader-tabs button[aria-selected=true]{border-color:var(--colour-success);color:var(--colour-link);font-weight:var(--font-weight-semibold)}
@media(max-width:900px){.reader{position:static;grid-row:1}.reader-body{min-height:0;max-height:65vh}}
/* Source reading uses the prototype reader, with contained tables and code. */
.reader-content p{margin:0 0 1em}
.reader-content h3,.reader-content h4,.reader-content h5,.reader-content h6{font-family:var(--font-display);line-height:var(--line-height-tight);margin:1.4em 0 .6em}
.reader-content h3{font-size:var(--font-size-2xl)}
.reader-content h4{font-size:var(--font-size-xl)}
.reader-content h5,.reader-content h6{font-size:var(--font-size-lg)}
.reader-content ul,.reader-content ol{padding-left:var(--space-6)}
.reader-content li{margin-bottom:.45em}
.reader-content li p{margin-bottom:.4em}
.reader-content a,.reader-contents a{color:var(--colour-link);text-decoration:underline;text-underline-offset:3px}
.reader-content blockquote{border-left:3px solid var(--colour-accent);margin:var(--space-4) 0;padding:0 var(--space-4);color:var(--colour-muted)}
.reader-content pre{position:relative;overflow:auto;max-width:100%;padding:var(--space-4);background:var(--colour-surface-page);font-size:var(--font-size-md);white-space:pre}
.reader-content code{font-size:.9em;overflow-wrap:anywhere}
.reader-content .source-html{white-space:pre-wrap}
.reader-content .table-scroll{position:relative;overflow:auto;margin:var(--space-4) 0}
.reader-content table{border-collapse:collapse;font-size:var(--font-size-md);min-width:100%}
.reader-content th,.reader-content td{border:1px solid var(--colour-border);padding:var(--space-2);text-align:left;vertical-align:top}
.reader-content th{background:var(--colour-surface-page)}
.reader-contents,.reader-source{margin:var(--space-4) 0;font-size:var(--font-size-md)}
.reader-contents summary,.reader-source summary{cursor:pointer;font-weight:var(--font-weight-semibold)}
.reader-contents ol{padding-left:var(--space-6);line-height:1.6}
.reader-content .task-state{font-family:monospace}
.reader-content:empty{display:none}
.reader-tab-count{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);color:var(--colour-text-meta)}
@container (max-width:470px){.reader-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--space-4);border-bottom:0}.reader-tabs button{box-shadow:inset 0 -1px 0 var(--colour-border)}}
.reader-top .record-identity{flex:1;margin-right:var(--space-3)}
/* x4: the full-page reader fills the content width, and the page scrolls rather than the reader. */
.reader-page .reader{position:static;box-shadow:none}
.reader-page .reader-body{max-height:none;min-height:0;overflow:visible;padding:var(--space-7) var(--space-8)}
@media(max-width:720px){.reader-page .reader-top{padding:var(--space-3) var(--space-4)}.reader-page .reader-body{padding:var(--space-4)}}
.reader-top .record-status{margin-left:0}
/* Complete reader metadata and readable activity. */
.reader-body>.record-details{align-items:flex-start;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin:var(--space-3) 0}
.reader-body>.record-details>span{font-size:var(--font-size-sm);line-height:var(--line-height-normal)}
.reader-body>.record-details .record-confidence{color:var(--colour-success);font-weight:var(--font-weight-semibold)}
.reader-body>.record-topics{margin-bottom:var(--space-4)}


.answer-panel summary{cursor:pointer;font-weight:var(--font-weight-semibold);font-size:var(--font-size-md)}
.answer-panel form{margin-top:var(--space-4)}
.answer-panel label{display:block;font-size:var(--font-size-md)}
.answer-panel input{display:block;width:100%;padding:var(--space-3);border:1px solid var(--colour-border);border-radius:var(--radius-sm);margin:var(--space-2) 0}
.answer-panel blockquote{border-left:3px solid var(--colour-accent);margin:var(--space-2) 0;padding-left:var(--space-3);font-size:var(--font-size-md);color:var(--colour-muted)}
.answer-panel h3{margin:var(--space-4) 0 var(--space-2)}
.answer-panel a{color:var(--colour-link);text-decoration:underline}
.answer-panel p{margin:var(--space-3) 0}
.answer-panel[hidden]{display:none}
.answer-panel{padding:var(--space-7);margin:var(--space-6) 0}
.answer-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-6)}
.answer-header h2{font-size:var(--font-size-2xl);margin:0}
.answer-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;gap:var(--space-7)}
.answer-columns h3{font-size:var(--font-size-lg);margin:0 0 var(--space-2)}
.answer-columns section>p{font-size:var(--font-size-md);color:var(--colour-text-meta);line-height:var(--line-height-normal);margin:0 0 var(--space-5)}
.answer-claims{list-style:none;margin:0 0 var(--space-6);padding:0}
.answer-claims>li{padding:0 0 var(--space-5);margin:0 0 var(--space-5);border-bottom:1px solid var(--colour-border)}
.answer-claims p{font-size:var(--font-size-lg);line-height:1.7;margin:var(--space-2) 0 var(--space-2);max-width:70ch;overflow-wrap:anywhere}
.answer-claim-kind{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase;color:var(--colour-text-meta)}
.answer-references{display:flex;gap:var(--space-2);font-size:var(--font-size-sm);align-items:center}
.answer-references a{color:var(--colour-link);font-weight:var(--font-weight-bold);text-decoration:underline}
.answer-evidence{min-width:0;background:var(--colour-surface-page);border-radius:var(--radius-md);padding:var(--space-5);align-self:start}
.answer-quotes{scroll-behavior:smooth;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3) var(--space-6);max-height:none;overflow:visible}
.answer-quote{border-top:1px solid var(--colour-border);padding:var(--space-4) 0;scroll-margin:16px;scroll-margin-top:24px}
.answer-quote>a{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--colour-link);text-decoration:underline}
.answer-quote h4{font-size:var(--font-size-md);line-height:var(--line-height-normal);margin:var(--space-2) 0;color:var(--colour-text-meta)}
.answer-quote blockquote{border-left:3px solid var(--colour-border-input);margin:var(--space-4) 0 0;padding:0 0 0 var(--space-4);font-size:var(--font-size-md);line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.answer-quote:target{background:var(--colour-welcome-surface)}
.answer-gaps{background:var(--colour-warning-surface);border-radius:var(--radius-md);padding:var(--space-4)}
.answer-gaps ul{padding-left:var(--space-4);margin:var(--space-3) 0 0}
.answer-gaps li{font-size:var(--font-size-md);line-height:1.6;margin:var(--space-2) 0}
.answer-method{border-top:1px solid var(--colour-border);padding-top:var(--space-4);margin-top:var(--space-6);font-size:var(--font-size-sm);color:var(--colour-text-meta)}
.answer-method summary{cursor:pointer;font-weight:var(--font-weight-semibold)}
.answer-method dl{display:grid;grid-template-columns:130px minmax(0,1fr);gap:var(--space-2);line-height:var(--line-height-normal)}
.answer-method dt{font-weight:var(--font-weight-semibold)}
.answer-method dd{margin:0;overflow-wrap:anywhere}
.answer-method p{line-height:1.6}
.answer-map{border:1px solid var(--colour-border);background:var(--colour-surface-subtle);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);margin:0 0 var(--space-6)}
.answer-map>h3{font-size:var(--font-size-lg);margin:0 0 var(--space-3)}
.answer-map-canvas{max-width:540px;margin:auto;min-height:180px}
.answer-map svg{display:block;width:100%;height:auto}
.answer-map text{fill:var(--colour-nav);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}
.answer-map-edge{stroke:var(--colour-answer-map-placeholder);stroke-width:1.5;stroke-dasharray:5 6}
.answer-map-node circle{stroke:var(--colour-surface);stroke-width:3}
.answer-map-node.uncited{opacity:.45}
.answer-map-node.cited circle{stroke:var(--colour-answer-map-cited);stroke-width:4}
.answer-map-edge.cited{stroke:var(--colour-answer-map-cited);stroke-dasharray:none}
.answer-map-ring{fill:none;stroke:var(--colour-welcome-border);stroke-width:2}
.answer-map-trace{stroke:var(--colour-answer-map-cited);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:7 93;animation:evidence-travel 2.8s linear infinite}
.answer-map[data-stage=complete] .answer-map-trace,.answer-map[data-stage=failed] .answer-map-trace,.answer-map[data-stage=cancelled] .answer-map-trace{display:none}
.answer-map-placeholder{opacity:.55}
.answer-map[data-stage=complete] .answer-map-placeholder{opacity:.2}
.answer-map [role=status]{text-align:center;font-size:var(--font-size-md);margin:0 0 var(--space-4)}
.answer-map-records{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}
.answer-map-records a{border:1px solid var(--colour-border);border-radius:var(--radius-lg);padding:var(--space-1) var(--space-2);background:var(--colour-surface);color:var(--colour-link);text-decoration:underline;overflow-wrap:anywhere;font-size:var(--font-size-sm)}
.answer-map .meta{font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin:var(--space-4) 0 0;text-align:center}
@keyframes evidence-travel{from{stroke-dashoffset:100;opacity:0}15%{opacity:.8}85%{opacity:.8}to{stroke-dashoffset:0;opacity:0}}
@keyframes answer-appear{from{opacity:0}to{opacity:1}}
@media(max-width:520px){.answer-map{padding:var(--space-4) var(--space-2)}.answer-map text{font-size:var(--font-size-md)}}
/* Keep the evidence map and answer together from search submission to completion. */
.answer-columns>.answer-map{margin:0;min-width:0;padding:var(--space-6) var(--space-4)}
.answer-interpretation{min-width:0}
.answer-interpretation .answer-header{margin-bottom:var(--space-5)}
.answer-header h2,.answer-progress h2{font-size:var(--font-size-2xl);line-height:var(--line-height-tight)}
.answer-header .tag{font-size:var(--font-size-sm)}
.answer-progress{padding:var(--space-4) var(--space-1);min-height:270px}
.answer-progress p{font-size:var(--font-size-md);line-height:1.7}
.answer-map-node{animation:answer-appear .35s ease-out both}
.answer-map-node:hover circle,.answer-map-node:focus circle{stroke:var(--colour-answer-map-centre);stroke-width:4}
.answer-map[data-stage=complete] .answer-map-node{animation:none}
.answer-map[data-stage=failed],.answer-map[data-stage=cancelled]{background:var(--colour-surface-page)}
.answer-panel>.answer-evidence,#answer-result>.answer-evidence{margin-top:var(--space-7);background:none;border-top:1px solid var(--colour-border);padding:var(--space-5) 0 0}
.answer-search-preview{border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-surface)}
.answer-search-preview .answer-map{width:100%}
@media(max-width:900px){.answer-columns{gap:var(--space-6);grid-template-columns:1fr}.answer-panel{padding:var(--space-5)}.answer-header .tag{white-space:normal;overflow-wrap:anywhere}.answer-columns>.answer-map{position:static}.answer-map-canvas{max-width:440px}.answer-progress{min-height:0}.answer-quotes{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.answer-map *, .answer-columns{animation:none!important;scroll-behavior:auto!important}.answer-map-node,.answer-map-trace{animation:none!important}.answer-map-trace{display:none}}


.home-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,1fr);gap:var(--space-6)}
.brief{background:var(--colour-nav);color:var(--colour-text-inverse);padding:var(--space-7) var(--space-8);border-radius:var(--radius-md);position:relative;overflow:hidden}
.brief .eyebrow{color:var(--colour-accent);margin-bottom:var(--space-4)}
.brief h2{font-size:var(--font-size-2xl);max-width:470px;line-height:var(--line-height-tight);margin-bottom:var(--space-4)}
.brief p{color:var(--colour-nav-text);max-width:550px}
.attention-item{display:block;width:100%;background:transparent;text-align:left;border:0;border-top:1px solid var(--colour-border);padding:var(--space-4) var(--space-6);text-decoration:none}
.attention-item strong{font-size:var(--font-size-lg);display:block;line-height:1.45;margin:var(--space-2) 0}
.chain{display:flex;align-items:stretch;gap:var(--space-3)}
.activity{padding:0 var(--space-6) var(--space-2)}
.activity button{text-align:left}
.onboarding{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-6) var(--space-6);margin-top:var(--space-6);background:var(--colour-welcome-surface);border:1px solid var(--colour-welcome-border);border-radius:var(--radius-md)}
.onboarding p{font-size:var(--font-size-md);margin:var(--space-1) 0 0;color:var(--colour-success)}
.onboarding .btn{margin-left:auto;background:transparent;border-color:var(--colour-note-border)}
@media(max-width:1150px){.home-grid{grid-template-columns:1fr}.brief h2{max-width:none}}
@media(max-width:720px){.brief{padding:var(--space-6)}.brief h2{font-size:var(--font-size-2xl)}.home-grid{gap:var(--space-4);grid-template-columns:1fr}.chain{flex-direction:column;gap:var(--space-2)}.onboarding{flex-wrap:wrap}.onboarding .btn{margin-left:0}}
.attention-item p{font-size:var(--font-size-md);line-height:var(--line-height-normal);margin:var(--space-2) 0}
.attention-item a:hover{text-decoration:underline}
.attention-item h3{margin:var(--space-2) 0}
.home-grid>section{min-width:0}
.home-grid .attention-item{overflow-wrap:anywhere}
.home-work>section{margin-bottom:var(--space-7);min-width:0;display:flex;flex-direction:column}
.home-work .empty{padding:var(--space-5) var(--space-6);text-align:left}
.home-work{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-7);align-items:start;row-gap:0}
.attention-more{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-top:1px solid var(--colour-border)}
.recent-graph{padding:var(--space-5) var(--space-6);background:var(--colour-surface-pinned);border-bottom:1px solid var(--colour-border)}
.recent-graph svg{display:block;width:100%;max-height:300px}
.recent-graph-key{display:flex;flex-wrap:wrap;gap:var(--space-4);font-size:var(--font-size-sm);color:var(--colour-type-green)}
.recent-graph a:hover circle,.recent-graph a:focus circle{stroke:var(--colour-map-selected);stroke-width:4}
.home-work .section-head h2{font-size:var(--font-size-xl)}
.home-work .attention-item h3{margin:var(--space-2) 0;line-height:var(--line-height-normal)}
.home-work .attention-item p{overflow-wrap:anywhere}
/* Each column's card ends after its content, with its footnote straight underneath: no stretched empty card (x3). */
.overview-attention-panel{display:flex;flex-direction:column}
.overview-attention-panel .attention-more{margin-top:auto}
.home-work .attention-item>p{font-size:var(--font-size-md);color:var(--colour-text-secondary);line-height:1.6;margin:var(--space-2) 0 var(--space-4)}
.home-work .attention-item h3 a:hover,.record h3 a:hover{text-decoration:underline;text-underline-offset:3px}
.personal-actions-section{margin-bottom:var(--space-2)}
.personal-actions-section .section-head{margin-top:var(--space-2)}
.personal-actions-section h2 .meta{margin-left:var(--space-2)}
.personal-actions-section .section-head p{margin:var(--space-2) 0 0}
.personal-action-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden}
.personal-action-card{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);min-width:0;border-right:1px solid var(--colour-border)}
.personal-action-card:nth-child(3n){border-right:0}
.personal-action-card:nth-child(n+4){border-top:1px solid var(--colour-border)}
.personal-action-card h3{line-height:var(--line-height-normal);font-size:var(--font-size-lg);overflow-wrap:anywhere}
.personal-action-card p{font-size:var(--font-size-md);line-height:1.6;color:var(--colour-text-secondary);margin:0;overflow-wrap:anywhere}
.personal-action-card>a{margin-top:auto;font-size:var(--font-size-md)}
.personal-action-card .record-status{margin-left:0}
.personal-actions-more{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin:var(--space-4) 0}
.attention-scope{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--colour-border)}
.attention-scope a{padding:var(--space-2) var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);font-size:var(--font-size-md);color:var(--colour-text-secondary)}
.attention-scope a[aria-current]{border-color:var(--colour-border-input);background:var(--colour-track);color:var(--colour-ink);font-weight:var(--font-weight-semibold)}
.attention-scope a:hover{background:var(--colour-surface-hover)}
.attention-scope span{font-variant-numeric:tabular-nums;margin-left:var(--space-2);font-weight:var(--font-weight-regular)}
@media(max-width:900px){.chain{gap:var(--space-2)}.home-work{grid-template-columns:1fr}.home-work>section{display:flex;flex-direction:column;grid-row:auto}.personal-action-list{grid-template-columns:1fr}.personal-action-card{border-right:0}.personal-action-card+.personal-action-card{border-top:1px solid var(--colour-border)}}
/* Record list controls and overview coverage. */
.coverage-panel{padding:var(--space-5) var(--space-6);margin:var(--space-5) 0 var(--space-6)}
.coverage-panel h2{margin-bottom:var(--space-3)}
.coverage-panel ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--space-2);list-style:none;padding:0;margin:0}
.coverage-panel a{display:grid;gap:var(--space-2);padding:var(--space-2) var(--space-2);border:1px solid var(--colour-border);border-radius:var(--radius-sm);font-size:var(--font-size-md)}
.coverage-panel a:hover,.coverage-panel a:focus-visible{background:var(--colour-note-surface)}
.coverage-label{display:flex;justify-content:space-between;gap:var(--space-2)}
.coverage-label span{color:var(--colour-text-meta);white-space:nowrap}
.coverage-track{display:block;height:5px;border-radius:var(--radius-sm);background:var(--colour-track);overflow:hidden}
.coverage-fill{display:block;height:100%;border-radius:var(--radius-sm);background:var(--colour-bar)}
.recent-records-head{border-top:1px solid var(--colour-border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-4) var(--space-6)}
.recent-records .record-list-fields{margin:var(--space-1) 0 var(--space-2)}
.recent-records-head h3{margin:0}
.recent-records-head .recent-sort{margin:0;display:block}
.recent-records .attention-item.pinned{background:var(--colour-surface-pinned)}
.recent-records .attention-item .pinned-tag{margin-bottom:var(--space-2)}
.recent-more{padding:var(--space-4) var(--space-6)}
.recent-records .recent-record{padding:var(--space-4) var(--space-6)}
.recent-records .recent-record h3{margin:var(--space-2) 0 var(--space-1);font-size:var(--font-size-lg)}
.recent-record-meta{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-1) var(--space-4)}
.recent-records .recent-record-meta p{display:flex;flex-wrap:wrap;gap:2px var(--space-3);margin:0;font-size:var(--font-size-md);color:var(--colour-text-meta)}
.recent-record-meta .text-btn{font-size:var(--font-size-md)}
.recent-graph a.is-selected circle{stroke:var(--colour-map-selected);stroke-width:4}
.home-work .section-head .text-btn{text-decoration:underline;text-underline-offset:3px}


.phase-section{background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md);padding:var(--space-5) var(--space-6);margin:var(--space-4) 0}
.phase-section summary{font-weight:var(--font-weight-semibold);cursor:pointer}
.phase-section p:first-of-type{margin-top:var(--space-4)}
.phase-section li{margin-bottom:var(--space-4)}
.phase-section a{color:var(--colour-link);text-decoration:underline}
.phase-timeline{padding-left:var(--space-6)}
#phase-history{margin-top:var(--space-7)}
/* Phase origin follows the four-stage GDS visual sequence; colour labels origin, never readiness. */
#phase-history>.phase-section{padding:var(--space-6) var(--space-8);margin:var(--space-4) 0}
#phase-history>.phase-section h3{font-size:var(--font-size-xl);line-height:1.4}
#phase-history>.phase-section>p.meta{margin:var(--space-2) 0 var(--space-5);font-size:var(--font-size-md)}
#phase-history>.phase-section>p:not(.meta){margin:var(--space-3) 0 0}
#phase-history>.phase-section>ul,#phase-history>.phase-section>ol:not(.origin-rail){margin:var(--space-3) 0 0;padding-left:var(--space-6)}
#phase-history>.phase-section li:last-child{margin-bottom:0}
.origin-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:var(--space-6) 0 0;padding:0}
.origin-rail li{min-width:0;margin:0;--origin-color:var(--colour-muted)}
.origin-rail .origin-discovery{--origin-color:var(--colour-phase-discovery)}
.origin-rail .origin-alpha{--origin-color:var(--colour-phase-alpha)}
.origin-rail .origin-beta{--origin-color:var(--colour-phase-beta)}
.origin-rail .origin-live{--origin-color:var(--colour-phase-live)}
.origin-rail a{display:flex;flex-direction:column;align-items:flex-start;min-height:175px;padding:0 var(--space-2) var(--space-3) 0;text-decoration:none;color:var(--colour-ink)}
.origin-rail a:hover .origin-name,.origin-rail a:focus-visible .origin-name{text-decoration:underline;text-underline-offset:4px}
.origin-name{font:var(--font-weight-bold) var(--font-size-xl) var(--font-display);text-transform:capitalize;letter-spacing:-.5px}
.origin-track{display:flex;align-items:center;width:100%;height:48px;margin:var(--space-2) 0 var(--space-2);color:var(--origin-color)}
.origin-node{width:25px;height:25px;flex:none;border:7px solid currentColor;border-radius:var(--radius-full);background:var(--colour-surface)}
.origin-dashes{height:8px;flex:1;margin-left:2px;background:repeating-linear-gradient(to right,currentColor 0 26px,transparent 26px 38px)}
.origin-count{font-size:var(--font-size-md);color:var(--colour-text-meta)}
.origin-count strong{font:var(--font-weight-bold) var(--font-size-2xl) var(--font-display);color:var(--colour-ink);font-variant-numeric:tabular-nums}
.origin-unconfirmed{font-size:var(--font-size-sm);line-height:1.4;color:var(--colour-text-meta);margin-top:var(--space-1)}
.origin-current{display:inline-flex;margin-top:var(--space-2);padding:3px var(--space-2);border:1px solid var(--origin-color);border-radius:var(--radius-sm);color:var(--colour-ink);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}
.origin-other{border-top:1px solid var(--colour-border);margin-top:2px;padding-top:var(--space-4)}
.origin-other h4{font-size:var(--font-size-md);margin:0 0 var(--space-2);color:var(--colour-text-meta)}
.origin-other ul{display:flex;gap:var(--space-2) var(--space-4);flex-wrap:wrap;list-style:none;margin:0;padding:0}
.origin-other li{display:flex;align-items:center;gap:var(--space-2);margin:0;font-size:var(--font-size-sm)}
.origin-other a{display:inline-flex;align-items:center;gap:var(--space-2);border:1px solid var(--colour-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-2);text-decoration:none;text-transform:capitalize;color:var(--colour-ink)}
.origin-other a:hover{text-decoration:underline;text-underline-offset:3px;background:var(--colour-surface-subtle)}
.origin-other strong{font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}
.origin-other small{color:var(--colour-text-meta)}
#phase-history .origin-note{margin:var(--space-4) 0 0;font-size:var(--font-size-sm)}
/* Service Standard points: a plain numbered list. No colour carries meaning here. */
.service-standard h4{font-size:var(--font-size-lg);margin:var(--space-5) 0 var(--space-2)}
/* The point number is in each item's text, so the list shows no second marker. */
#phase-history>.service-standard>.standard-points{list-style:none;padding-left:0}
.standard-records{list-style:none;margin:var(--space-2) 0 var(--space-3);padding-left:0;font-size:var(--font-size-md)}
.standard-records li{margin-bottom:var(--space-2)}
@media(max-width:720px){#phase-history>.phase-section{padding:var(--space-5)}.origin-rail{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--space-2)}.origin-rail a{min-height:155px}.origin-name{font-size:var(--font-size-xl)}}
@media(max-width:520px){.origin-rail{grid-template-columns:1fr;gap:0}.origin-rail li{border-bottom:1px solid var(--colour-border)}.origin-rail li:last-child{border-bottom:0}.origin-rail a{display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:var(--space-2);min-height:0;padding:var(--space-3) 0}.origin-track{grid-row:1/4;grid-column:1;display:block;width:25px;height:auto;margin:1px 0 0}.origin-node{display:block}.origin-dashes{display:none}.origin-name{grid-column:2}.origin-count,.origin-unconfirmed,.origin-current{grid-column:2}.origin-current{justify-self:start}}
/* Local design preview: phase narratives beside a vertical service-phase spine. */
.phase-preview-notice{border:1px solid var(--colour-warning-border);background:var(--colour-warning-surface);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin:var(--space-5) 0;font-size:var(--font-size-md);line-height:1.6;color:var(--colour-warning-text)}
.phase-preview-notice strong{margin-right:var(--space-2)}
.phase-story-list{list-style:none;margin:var(--space-3) 0 0;padding:0}
.phase-story-row{display:grid;grid-template-columns:54px minmax(0,1fr);gap:0;margin:0!important;--story-color:var(--colour-muted)}
.phase-story-discovery{--story-color:var(--colour-phase-discovery)}
.phase-story-alpha{--story-color:var(--colour-phase-alpha)}
.phase-story-beta{--story-color:var(--colour-phase-beta)}
.phase-story-live{--story-color:var(--colour-phase-live)}
.phase-story-axis{position:relative;display:flex;justify-content:flex-start;padding:var(--space-2) 0 0 var(--space-1)}
.phase-story-axis:after{content:"";position:absolute;left:17px;top:41px;bottom:0;width:8px;background:repeating-linear-gradient(to bottom,var(--story-color) 0 16px,transparent 16px 25px)}
.phase-story-row:last-child .phase-story-axis:after{display:none}
.phase-story-node{position:relative;z-index:1;width:33px;height:33px;border:8px solid var(--story-color);border-radius:var(--radius-full);background:var(--colour-surface)}
.phase-story-main{min-width:0;padding:var(--space-1) 0 var(--space-8);border-bottom:1px solid var(--colour-border)}
.phase-story-row+.phase-story-row .phase-story-main{padding-top:var(--space-6)}
.phase-story-row:last-child .phase-story-main{border-bottom:0;padding-bottom:var(--space-2)}
.phase-story-heading{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}
.phase-story-heading h3{font-size:var(--font-size-2xl)!important;text-transform:capitalize;letter-spacing:-.5px}
.phase-story-current{border:1px solid var(--story-color);padding:3px var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}
.phase-story-purpose{font-size:var(--font-size-md);color:var(--colour-text-meta);line-height:1.6;margin:var(--space-2) 0 var(--space-4)}
.phase-story-purpose a{margin-left:var(--space-2);white-space:nowrap;font-size:var(--font-size-sm)}
.phase-story-facts{display:flex;align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;margin:0 0 var(--space-4);font-size:var(--font-size-sm);color:var(--colour-text-secondary)}
.phase-story-facts a{border-bottom:1px solid var(--colour-border-input);text-decoration:none!important;color:var(--colour-ink)!important}
.phase-story-facts strong{font-size:var(--font-size-xl);color:var(--colour-ink);font-variant-numeric:tabular-nums}
.phase-story-summary{background:var(--colour-surface-subtle);border-left:3px solid var(--story-color);padding:var(--space-4) var(--space-4);max-width:950px}
.phase-preview-label{font-size:var(--font-size-sm);letter-spacing:.04em;text-transform:uppercase;font-weight:var(--font-weight-bold);color:var(--colour-text-meta)}
.phase-story-summary p,.phase-evidence-summary p{font-size:var(--font-size-md);line-height:var(--line-height-loose);margin:var(--space-2) 0 var(--space-2)}
.phase-story-sources{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:var(--font-size-sm);color:var(--colour-text-meta)}
.phase-story-sources a{display:inline-block;border:1px solid var(--colour-border-input);border-radius:var(--radius-sm);padding:2px var(--space-2);text-decoration:none!important;background:var(--colour-surface);color:var(--colour-link)}
.phase-story-sources a:hover{text-decoration:underline!important}
.phase-summary-claims{list-style:none;margin:var(--space-3) 0!important;padding:0!important}
.phase-summary-claims li{margin:0 0 var(--space-3)!important;padding:0 0 var(--space-3);border-bottom:1px solid var(--colour-border)}
.phase-summary-claims li:last-child{border-bottom:0;padding-bottom:0}
.phase-summary-claims p{margin:var(--space-1) 0 var(--space-2);font-weight:var(--font-weight-semibold);color:var(--colour-ink)}
.phase-summary-claims blockquote{flex-basis:100%;margin:3px 0 var(--space-1) 0;padding:var(--space-2) var(--space-2);border-left:2px solid var(--colour-border-input);background:var(--colour-surface);color:var(--colour-text-meta);font-size:var(--font-size-sm)}
.phase-summary-gaps{margin:var(--space-3) 0;font-size:var(--font-size-sm);color:var(--colour-text-secondary)}
.phase-summary-gaps ul{margin:var(--space-2) 0 0;padding-left:var(--space-4)}
.phase-story-other{border-top:1px solid var(--colour-border);padding-top:var(--space-4);display:flex;gap:var(--space-2) var(--space-4);align-items:center;flex-wrap:wrap;font-size:var(--font-size-md)}
.phase-story-other a{text-transform:capitalize}
.phase-evidence-summary{background:var(--colour-surface-subtle);border-left:3px solid var(--colour-muted);padding:var(--space-4) var(--space-4);margin:var(--space-4) 0 var(--space-6)}
.phase-evidence-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5) var(--space-7)}
.phase-evidence-bucket{min-width:0;border-top:1px solid var(--colour-border);padding-top:var(--space-3);scroll-margin-top:18px}
.phase-evidence-bucket h4{font:var(--font-weight-bold) var(--font-size-lg) var(--font-display);text-transform:capitalize;margin:0 0 var(--space-2)}
.phase-evidence-bucket h4 span{font:var(--font-weight-semibold) var(--font-size-sm) var(--font-body);color:var(--colour-text-meta);margin-left:var(--space-1)}
.phase-evidence-bucket ul{list-style:none;margin:0;padding:0}
.phase-evidence-bucket li{font-size:var(--font-size-md);line-height:var(--line-height-normal);padding:var(--space-2) 0;border-bottom:1px solid var(--colour-border);margin:0!important}
.phase-evidence-bucket li .record-status{margin-left:var(--space-1)}
.phase-evidence-bucket details{margin-top:var(--space-2);font-size:var(--font-size-md);color:var(--colour-link)}
.phase-evidence-bucket summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.phase-preview-footnote{padding:var(--space-3) var(--space-4);background:var(--colour-success-surface-subtle);border-radius:var(--radius-sm)}
@media(max-width:900px){.phase-evidence-columns{grid-template-columns:1fr}}
@media(max-width:520px){.phase-story-row{grid-template-columns:43px minmax(0,1fr)}.phase-story-axis{padding-left:2px}.phase-story-axis:after{left:14px}.phase-story-main{padding-bottom:var(--space-6)}.phase-story-heading h3{font-size:var(--font-size-xl)!important}.phase-story-facts{display:grid;justify-items:start;gap:var(--space-2)}.phase-story-purpose a{display:inline-block;margin-left:0}.phase-story-summary{padding:var(--space-3)}}
.phase-page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}
.phase-view-switch{margin:0 0 var(--space-6);white-space:nowrap}
.phase-view-switch a{padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-size:var(--font-size-md);color:var(--colour-text-meta)}
.phase-view-switch a[aria-current=page]{background:var(--colour-surface);box-shadow:var(--shadow-sm);font-weight:var(--font-weight-bold);color:var(--colour-ink)}
@media(max-width:720px){.phase-page-heading{display:block}.phase-view-switch{display:inline-flex;margin:0 0 var(--space-4)}}


.workflow-actions label{display:block;font-size:var(--font-size-md);margin:var(--space-3) 0}
.workflow-actions select,.workflow-actions textarea{display:block;width:100%;border:1px solid var(--colour-border);border-radius:var(--radius-sm);padding:var(--space-2);margin-top:var(--space-2);background:var(--colour-surface)}
.workflow-actions textarea{resize:vertical}
.workflow-actions .impact-ack input,.workflow-actions .review-override input{width:auto}
.impact-check{border:1px solid var(--colour-warning-border);background:var(--colour-warning-surface);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4)}
.impact-check p{margin:0 0 var(--space-2)}
.impact-check ul{margin:0;padding-left:var(--space-5)}
.impact-check li{margin:var(--space-2) 0;line-height:var(--line-height-normal)}
/* Record workflow in the reader-first surface. */
.record-workflow{max-width:84ch;padding:2px 0 var(--space-4)}
.workflow-intro{border-left:3px solid var(--colour-note-border);background:var(--colour-note-surface);padding:var(--space-3) var(--space-4);margin:var(--space-4) 0 var(--space-6)}
.workflow-intro p{margin:0 0 var(--space-1);line-height:var(--line-height-normal)}
.workflow-intro p:last-child{margin-bottom:0}
.workflow-section{border-top:1px solid var(--colour-border);padding:var(--space-5) 0 var(--space-7)}
.workflow-section-head,.workflow-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}
.workflow-section-head{margin-bottom:var(--space-3)}
.workflow-section-head h3{margin:0!important;font:var(--font-weight-bold) var(--font-size-xl) var(--font-display)}
.workflow-count,.workflow-badge{display:inline-block;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);line-height:1.4;border-radius:var(--radius-sm);background:var(--colour-track);color:var(--colour-text-secondary);padding:3px var(--space-2);white-space:nowrap}
.workflow-card{border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-surface);padding:var(--space-4) var(--space-4);margin:var(--space-3) 0}
.workflow-card-head{font-size:var(--font-size-md)}
.workflow-card-head strong{color:var(--colour-ink)}
.workflow-card-head time{color:var(--colour-text-meta);font-size:var(--font-size-sm);white-space:nowrap}
.workflow-card-head .workflow-badge{margin-left:var(--space-2)}
.workflow-review-output{font-size:var(--font-size-md);line-height:1.62;border-top:1px solid var(--colour-border);margin-top:var(--space-3);padding-top:var(--space-3);overflow-wrap:anywhere}
.workflow-review-output>*:first-child{margin-top:0}
.workflow-review-output pre{position:relative;overflow:auto;padding:var(--space-2);background:var(--colour-surface-page)}
.workflow-review-output h1,.workflow-review-output h2,.workflow-review-output h3{font-size:var(--font-size-lg);margin:var(--space-4) 0 var(--space-2)}
.workflow-review-output ul{padding-left:var(--space-6)}
.workflow-pending{padding:var(--space-3) var(--space-4);border:1px solid var(--colour-warning-border);border-radius:var(--radius-sm);background:var(--colour-warning-surface);font-size:var(--font-size-md)}
.workflow-empty{color:var(--colour-text-meta);font-size:var(--font-size-md);font-style:italic}
.workflow-comment p{font-size:var(--font-size-md);line-height:1.6;white-space:pre-wrap;margin:var(--space-3) 0 0}
.workflow-action-state{font-weight:var(--font-weight-semibold);color:var(--colour-warning-text)}
.record-workflow form{margin-top:var(--space-3)}
.record-workflow form label{display:block;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:var(--space-3) 0}
.record-workflow form input:not([type=checkbox]):not([type=radio]),.record-workflow form textarea,.record-workflow form select{display:block;width:100%;padding:var(--space-2) var(--space-2);margin-top:var(--space-1);border:1px solid var(--colour-border-input);border-radius:var(--radius-sm);background:var(--colour-surface);color:var(--colour-ink);font-weight:var(--font-weight-regular)}
.record-workflow form fieldset{border:1px solid var(--colour-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}
.record-workflow form legend{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}
.record-workflow form .workflow-choice{display:block;font-weight:var(--font-weight-regular);margin:var(--space-2) 0}
.choice-hint{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);line-height:1.45;color:var(--colour-text-meta);margin-top:2px}
.workflow-choice .choice-hint{margin-left:var(--space-6)}
.choice-reveal{border-left:4px solid var(--colour-border-input);margin:2px 0 var(--space-3) var(--space-2);padding:1px 0 1px var(--space-4)}
.record-workflow form .choice-reveal label{margin:var(--space-2) 0}
.reveal-ready .reveal-nojs{display:none}
.flag-answer{font-size:var(--font-size-md);line-height:var(--line-height-normal);margin:var(--space-2) 0}
.flag-answer div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:var(--space-2);margin:3px 0}
.flag-answer dt{font-weight:var(--font-weight-semibold)}
.flag-answer dd{margin:0;overflow-wrap:anywhere}
.flag-next{border-left:3px solid var(--colour-note-border);background:var(--colour-note-surface);padding:var(--space-2) var(--space-3);margin:var(--space-2) 0;font-size:var(--font-size-md);line-height:var(--line-height-normal)}
.flag-next p{margin:0 0 var(--space-1)}
.flag-next p:last-child{margin:0}
.flag-next code{overflow-wrap:anywhere}
.workflow-audit{list-style:none;padding:0;margin:0}
.workflow-audit li{border-bottom:1px solid var(--colour-border);padding:var(--space-3) 0}
.workflow-audit li:last-child{border-bottom:0}
.workflow-audit p{font-size:var(--font-size-sm);color:var(--colour-text-meta);margin:var(--space-1) 0 0}
.workflow-actions{background:var(--colour-surface-field);border:1px solid var(--colour-border);border-radius:var(--radius-md);padding:0 var(--space-4)}
.workflow-actions>p:first-child{margin:var(--space-4) 0}
.workflow-actions form{border-top:1px solid var(--colour-border);margin:0;padding:var(--space-4) 0}
.workflow-actions h3{font-size:var(--font-size-lg)}
.record-workflow .btn{margin-top:var(--space-1)}
.workflow-audit-heading{display:inline;font-size:inherit;margin:0}
.workflow-timeline{list-style:none;margin:0;padding:0}
.workflow-timeline li{border-left:3px solid var(--colour-filter-active);padding:var(--space-1) 0 var(--space-4) var(--space-4);margin:0 0 var(--space-2);overflow-wrap:anywhere}
.workflow-timeline-main{display:flex;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;font-size:var(--font-size-md)}
.workflow-timeline-main time{color:var(--colour-text-meta);font-size:var(--font-size-sm)}
.workflow-timeline p{margin:var(--space-1) 0 0;color:var(--colour-text-meta);font-size:var(--font-size-sm)}
.workflow-timeline .workflow-timeline-detail{color:var(--colour-ink);white-space:pre-wrap}
.workflow-audit-disclosure summary{cursor:pointer;font-weight:var(--font-weight-bold);font-size:var(--font-size-lg)}
.workflow-audit-disclosure[open] .workflow-audit{margin-top:var(--space-4)}
.workflow-artifacts a+a{margin-left:var(--space-4)}
.workflow-status-moves{margin:var(--space-2) 0 0;padding-left:var(--space-6);font-size:var(--font-size-md);line-height:1.7}
.workflow-replies{border-left:3px solid var(--colour-map-active);margin:0 0 var(--space-4) var(--space-4);padding-left:var(--space-4)}
.workflow-replies .workflow-card{margin:var(--space-2) 0}
.workflow-replies .workflow-comment{background:var(--colour-surface-field)}
@media(max-width:720px){.workflow-card-head{align-items:flex-start;flex-wrap:wrap}.workflow-replies{margin-left:var(--space-2);padding-left:var(--space-2)}}


.assessment{padding:var(--space-5)}
.assessment>p{font-size:var(--font-size-md);color:var(--colour-muted)}
.follow-up{padding:var(--space-6)}
.follow-up>p{font-size:var(--font-size-md);color:var(--colour-muted);margin-top:var(--space-3)}
.stale-insight{padding:var(--space-6);border-bottom:1px solid var(--colour-border)}
.insight-detail{padding:var(--space-5) var(--space-6);margin:var(--space-5) 0}
.insight-detail summary{font-weight:var(--font-weight-semibold);cursor:pointer}
.insight-detail p{margin:var(--space-4) 0}
.insight-detail blockquote{border-left:3px solid var(--colour-accent);padding-left:var(--space-4);margin:var(--space-2) 0;font-size:var(--font-size-md);color:var(--colour-muted)}
.insight-detail a{color:var(--colour-link);text-decoration:underline}
.insight-detail h3{margin-top:var(--space-4)}


.projects-welcome[hidden]{display:none}
.projects-views{align-self:flex-end}
.projects-empty a{color:var(--colour-link);text-decoration:underline}
.admin-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);max-width:1050px}
/* The admin home's cards are Settings cards (.panel.settings-card); this variant puts each card's action at the bottom. */
.admin-home-card{display:flex;flex-direction:column}
.admin-home-card p:last-child{margin-bottom:0;margin-top:auto}
.admin-home-card .btn{color:var(--colour-ink)}
.admin-home-card .stats-links{margin-top:auto}
@media(max-width:720px){.admin-home-grid{grid-template-columns:1fr}.projects-views{align-self:flex-start}}
.projects-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-5);flex-wrap:wrap;margin-bottom:var(--space-6)}
.projects-head p{color:var(--colour-muted);margin:0}
.projects-section{margin:var(--space-6) 0}
.projects-table-wrap{position:relative;overflow-x:auto}
.projects-table{width:100%;border-collapse:collapse;font-size:var(--font-size-md);min-width:790px}
.projects-table th,.projects-table td{text-align:left;padding:var(--space-4) var(--space-3);border-bottom:1px solid var(--colour-border);vertical-align:top}
.projects-table th{background:var(--colour-surface-subtle);color:var(--colour-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}
.projects-table td:first-child,.projects-table th:first-child{padding-left:var(--space-6)}
.projects-table td:last-child,.projects-table th:last-child{padding-right:var(--space-6)}
.projects-table td a{color:var(--colour-link);font-weight:var(--font-weight-bold);text-decoration:underline;text-underline-offset:3px}
.projects-table .tag{white-space:nowrap}
.projects-table .engagement-unset{background:var(--colour-tag-amber-surface);color:var(--colour-tag-amber-text)}
.projects-table .engagement-rescue,.projects-table .engagement-takeover{background:var(--colour-tag-blue-surface);color:var(--colour-tag-blue-text)}
.projects-empty{padding:var(--space-7)}
.projects-empty p{margin:var(--space-2) 0 0}
.projects-welcome{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-5) var(--space-6);margin:0 0 var(--space-6);background:var(--colour-welcome-surface);border:1px solid var(--colour-welcome-border);border-radius:var(--radius-md)}
.projects-welcome p{font-size:var(--font-size-md);margin:3px 0 0}
.projects-welcome-actions{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}
.projects-form{padding:var(--space-6);max-width:920px}
.projects-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4) var(--space-5)}
.projects-form label{display:block;font-size:var(--font-size-md);font-weight:var(--font-weight-bold);margin-bottom:var(--space-1)}
.projects-form input,.projects-form textarea,.projects-form select{width:100%;min-width:0;border:1px solid var(--colour-border-input);border-radius:var(--radius-sm);background:var(--colour-surface);padding:var(--space-2);color:var(--colour-ink)}
.projects-form textarea{min-height:90px;resize:vertical}
.projects-form .full{grid-column:1/-1}
.projects-form .meta{margin:var(--space-1) 0 0}
.projects-form button[type=submit]{margin-top:var(--space-5)}
@media(max-width:720px){.projects-form-grid{grid-template-columns:1fr}.projects-welcome-actions{margin-left:0}}


.map-panel{border:1px solid var(--colour-border);background-color:var(--colour-surface-canvas);background-image:radial-gradient(var(--colour-border-input) .75px,transparent .75px);background-size:18px 18px;border-radius:var(--radius-md);overflow:hidden}
.map-title{background:var(--colour-surface);border-bottom:1px solid var(--colour-border);display:flex;font-size:var(--font-size-md);align-items:center;padding:var(--space-2) var(--space-4);flex-wrap:wrap;justify-content:flex-start;gap:var(--space-2) var(--space-5)}
.graph-legend-local{padding:var(--space-2) var(--space-4) var(--space-3);border-top:1px solid var(--colour-border);background:var(--colour-surface)}
.graph-legend-local[hidden]{display:none}
.graph-legend-title{margin:0 0 var(--space-2);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--colour-ink)}
.graph-legend-title span{font-weight:var(--font-weight-regular);color:var(--colour-text-meta);margin-left:var(--space-2)}
.graph-legend-items{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.graph-legend-items button{display:inline-flex;align-items:center;gap:var(--space-2);min-height:32px;padding:3px var(--space-2) 3px var(--space-2);border:1px solid var(--colour-border-input);border-radius:var(--radius-full);background:var(--colour-surface);color:var(--colour-ink);font-size:var(--font-size-md);cursor:pointer}
.graph-legend-items button:hover{background:var(--colour-surface-hover)}
.graph-legend-items svg{flex:none;overflow:visible}
.graph-legend-items path{fill:currentColor;stroke:var(--colour-map-node-stroke);stroke-width:1}
.graph-legend-items button[aria-pressed=false]{color:var(--colour-text-meta);border-style:dashed;text-decoration:line-through}
.graph-legend-items button[aria-pressed=false] path{fill:var(--colour-surface);stroke:currentColor;stroke-width:1.5}
.graph-controls{display:flex;align-items:end;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-4)}
.graph-controls label{font-size:var(--font-size-md)}
.graph-controls button{font-size:var(--font-size-md);border:1px solid var(--colour-border);border-radius:var(--radius-sm);background:var(--colour-surface);padding:var(--space-2)}
.graph-controls select{display:block}
#graph-canvas svg{width:100%;height:460px}
#graph-canvas .graph-node-shape{cursor:pointer}
#graph-message{padding:0 var(--space-4)}
/* x4: the map's text alternative, a link to the same records in List view. WCAG 2.2 target size: at least 24px tall. */
.graph-access{background:var(--colour-surface);padding:var(--space-4);border-top:1px solid var(--colour-border)}
.graph-access .text-btn{min-height:var(--space-6)}
.list-only{display:contents}
.list-only[hidden]{display:none}
.explore-grid.map-view .results-head{display:none}
.map-scope a{white-space:nowrap}
.map-options{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4)}
.map-options[hidden]{display:none}
.map-options label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-md);color:var(--colour-text-meta)}
.map-options label[hidden]{display:none}
.map-options select{min-width:0;padding:var(--space-2) var(--space-2)}
.map-options-note{margin:0;font-size:var(--font-size-md);color:var(--colour-ink)}
.map-options button{font-size:var(--font-size-md);border:1px solid var(--colour-border);border-radius:var(--radius-sm);background:var(--colour-surface);padding:var(--space-2) var(--space-2)}
.map-canvas-wrap{position:relative}
.map-view-tools{position:absolute;top:10px;right:10px;z-index:2;display:flex;align-items:stretch;background:var(--colour-surface);border:1px solid var(--colour-border-input);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}
.map-view-tools>button,.map-labels>summary{min-width:36px;min-height:36px;padding:0 var(--space-3);border:0;background:transparent;font-size:var(--font-size-md);color:var(--colour-ink);display:flex;align-items:center;justify-content:center}
.map-view-tools>*+*{border-left:1px solid var(--colour-border)}
.map-view-tools>button[aria-pressed=true]{background:var(--colour-map-active)}
#graph-fullscreen[aria-pressed=true] .lucide-maximize-2,#graph-fullscreen:not([aria-pressed=true]) .lucide-minimize-2{display:none}
.map-labels{position:relative}
.map-labels>summary{list-style:none;cursor:pointer;gap:var(--space-2)}
.map-labels>summary::-webkit-details-marker{display:none}
.map-labels>summary::after{content:"";width:6px;height:6px;border:solid var(--colour-chevron);border-width:0 1.5px 1.5px 0;transform:translateY(-2px) rotate(45deg)}
.map-labels-panel{position:absolute;right:-1px;top:calc(100% + 6px);min-width:220px;max-width:calc(100vw - 48px);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3) var(--space-3);display:grid;gap:var(--space-2);box-shadow:var(--shadow-md)}
.map-options-group{border:0;margin:0;padding:0;display:grid;gap:var(--space-2)}
.map-options-group legend{padding:0;margin-bottom:var(--space-2);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--colour-ink)}
.map-options-group input[type=radio]{accent-color:var(--colour-link)}
/* WCAG 2.2 target size: a 24px row keeps the small radio buttons and checkboxes at least 24px apart. */
.map-options-group label{min-height:var(--space-6)}
.map-labels-panel .map-options-select{justify-content:space-between;gap:var(--space-3)}
.map-labels-panel .map-options-select[hidden]{display:none}
.map-labels-panel .map-options-select select{min-width:0;padding:var(--space-1) var(--space-2)}
.map-labels-panel .graph-context-controls{border-top:1px solid var(--colour-border);padding-top:var(--space-2)}
.map-labels-panel .graph-context-controls[hidden]{display:none}
.map-labels-panel .graph-context-controls button{font-size:var(--font-size-md);border:1px solid var(--colour-border);border-radius:var(--radius-sm);background:var(--colour-surface);padding:var(--space-2) var(--space-2);text-align:left}
.map-labels-panel label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-md);white-space:nowrap;cursor:pointer}
.map-labels-panel input{accent-color:var(--colour-link)}
.map-figures{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2) var(--space-4);padding:var(--space-2) var(--space-4);background:var(--colour-surface);border-top:1px solid var(--colour-border)}
.map-figures #graph-message{margin:0;padding:0;flex-basis:100%;font-size:var(--font-size-md);line-height:var(--line-height-normal)}
.map-figures .text-btn[hidden]{display:none}
.graph-stats{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);margin:0}
.graph-stats[hidden]{display:none}
.graph-stats>div{display:flex;align-items:baseline;gap:var(--space-1)}
.graph-stats dt{font-size:var(--font-size-md);color:var(--colour-text-meta)}
.graph-stats dd{margin:0;font:var(--font-weight-bold) var(--font-size-md) Manrope,system-ui;font-variant-numeric:tabular-nums}
.graph-edge-labels text{fill:var(--colour-text-meta);paint-order:stroke;stroke:var(--colour-surface);stroke-width:3px;pointer-events:none}
.graph-node-activity{fill:var(--colour-map-selected);stroke:var(--colour-surface);stroke-width:1.5;pointer-events:none}
.graph-focus-labels text{fill:var(--colour-ink);font-weight:var(--font-weight-semibold);paint-order:stroke;stroke:var(--colour-surface);stroke-linejoin:round;pointer-events:none}
.graph-focus-labels .selected{font-weight:var(--font-weight-bold)}
.graph-group-labels text{fill:var(--colour-text-secondary);font-weight:var(--font-weight-regular);letter-spacing:.01em;paint-order:stroke;stroke:var(--colour-surface-canvas);stroke-linejoin:round;pointer-events:none}
.map-panel:fullscreen,.map-panel.graph-expanded{background:var(--colour-surface-canvas);display:flex;flex-direction:column;overflow:auto;position:relative}
.map-panel.graph-expanded{position:fixed;inset:0;z-index:50;border-radius:0}
.map-panel:fullscreen .map-canvas-wrap,.map-panel.graph-expanded .map-canvas-wrap{flex:1;display:flex;flex-direction:column;min-height:450px}
.map-panel:fullscreen #graph-canvas,.map-panel.graph-expanded #graph-canvas{flex:1;min-height:450px}
.map-panel:fullscreen #graph-canvas svg,.map-panel.graph-expanded #graph-canvas svg{height:100%;min-height:450px}
.map-panel:fullscreen .map-title,.map-panel.graph-expanded .map-title,.map-panel:fullscreen .map-options,.map-panel.graph-expanded .map-options{background:var(--colour-surface)}
@media(max-width:720px){.map-title{align-items:flex-start;flex-direction:column;padding:var(--space-2) var(--space-3)}.map-scope{width:100%;box-sizing:border-box}.map-scope a{flex:1;text-align:center;white-space:normal;padding:var(--space-2) var(--space-1);font-size:var(--font-size-sm)}.map-figures{padding:var(--space-2) var(--space-3)}}


/* One summary style for the disclosures on the facts screen and on a member card (U16). */
.facts-screen summary,.member-change>summary{cursor:pointer;font-weight:var(--font-weight-bold);color:var(--colour-link)}
.facts-screen{display:grid;gap:var(--space-5)}
.facts-screen .explore-heading{margin-bottom:0}
.facts-panel{padding:var(--space-5) var(--space-6);min-width:0}
.facts-panel h2,.facts-panel h3,.facts-panel h4{margin:0 0 var(--space-4)}
.facts-panel p{line-height:var(--line-height-normal)}
.facts-table-wrap{overflow-x:auto;contain:layout}
.facts-table{width:100%;border-collapse:collapse;font-size:var(--font-size-md);min-width:760px}
.facts-table th,.facts-table td{padding:var(--space-3);border-bottom:1px solid var(--colour-border);text-align:left;vertical-align:top}
.facts-table thead th{background:var(--colour-surface-subtle);color:var(--colour-text-secondary)}
.facts-table tbody th{font-weight:var(--font-weight-bold)}
.facts-table td:last-child{min-width:175px}
.facts-screen details{margin:var(--space-3) 0}
.facts-form{display:grid;gap:var(--space-2);max-width:530px;margin:var(--space-3) 0}
.facts-form label{display:grid;gap:var(--space-1);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}
.facts-form input,.facts-form select{width:100%;padding:var(--space-2) var(--space-2);border:1px solid var(--colour-border-input);border-radius:var(--radius-sm);background:var(--colour-surface);color:var(--colour-ink)}
.facts-form .btn{justify-self:start}
.facts-change .btn.danger{margin:0 0 var(--space-2)}
.facts-actions{display:flex;gap:var(--space-2)}
.facts-list{padding-left:var(--space-5)}
.facts-list li{padding:var(--space-2) 0;border-bottom:1px solid var(--colour-border)}
.facts-list li:last-child{border:0}
.facts-list p{margin:var(--space-1) 0}
.facts-remove{grid-template-columns:minmax(0,1fr) auto;align-items:end}
.facts-remove label{min-width:0}
@media(max-width:720px){.facts-panel{padding:var(--space-4)}.facts-remove{grid-template-columns:1fr}}


.members-screen{display:grid;gap:var(--space-6)}
.members-screen .explore-heading{margin-bottom:0}
.members-screen h2{margin-bottom:var(--space-4)}
.member-list-panel{padding:0}
.member-list{list-style:none;margin:0;padding:0}
.member-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(64px,auto);align-items:center;gap:var(--space-2) var(--space-6);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--colour-border)}
.member-row:last-child{border-bottom:0}
.member-row>[data-notice]{grid-column:1/-1}
.member-who{min-width:0}
.member-who h3{margin:0;font-size:var(--font-size-lg);line-height:1.4;overflow-wrap:anywhere}
.member-who p{margin:2px 0 0;font-size:var(--font-size-md);color:var(--colour-muted);overflow-wrap:anywhere}
.member-facts{display:grid;grid-template-columns:150px 140px 110px;align-items:center;gap:var(--space-4);margin:0}
.member-facts div{display:grid;gap:2px}
.member-facts dt{font-size:var(--font-size-sm);color:var(--colour-text-meta)}
.member-facts dd{margin:0;font-size:var(--font-size-md)}
.member-change{display:grid}
.member-change>summary{min-height:32px;display:flex;align-items:center;justify-self:end;cursor:pointer;color:var(--colour-link);font-weight:var(--font-weight-semibold);text-decoration:underline;text-underline-offset:3px}
.member-change[open]{grid-column:1/-1;border-top:1px solid var(--colour-border);padding-top:var(--space-2)}
.member-controls{display:grid;gap:var(--space-3);margin-top:var(--space-2)}
.member-controls>div{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:end}
.members-form{display:flex;align-items:end;gap:var(--space-2);flex-wrap:wrap}
.members-form label{display:grid;gap:var(--space-2);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}
.members-screen .members-form select{font-weight:var(--font-weight-regular)}
.members-form input,.members-form select{border:1px solid var(--colour-border-input);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);min-height:40px;background:var(--colour-surface);max-width:100%}
.member-add{padding:var(--space-6)}
.member-add>p{font-size:var(--font-size-md);color:var(--colour-muted)}
.member-add .members-form{margin:var(--space-4) 0;align-items:end;gap:var(--space-3)}
.member-add .members-form label{flex:1;min-width:160px}
.members-empty{padding:var(--space-6);color:var(--colour-muted)}
@media(max-width:720px){.member-add{padding:var(--space-4)}.member-add .members-form label{flex-basis:100%}.member-row{grid-template-columns:minmax(0,1fr) auto;padding:var(--space-4) var(--space-4)}.member-facts{grid-column:1/-1;grid-row:2;grid-template-columns:auto auto auto;justify-content:start;gap:var(--space-6)}.member-change{grid-column:2;grid-row:1}.member-change[open]{grid-row:auto}.member-controls>div{display:grid;align-items:stretch}.member-controls .members-form{align-items:stretch}.member-controls .members-form select{max-width:100%}}


.api-keys-section>p{font-size:var(--font-size-md);color:var(--colour-muted);margin:0 0 var(--space-4)}
.api-key-table-wrap{position:relative;overflow-x:auto;border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-surface)}
.api-key-table-wrap table{width:100%;border-collapse:collapse;text-align:left}
.api-key-table-wrap th,.api-key-table-wrap td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--colour-border);font-size:var(--font-size-md);vertical-align:middle}
.api-key-table-wrap tr:last-child td{border-bottom:0}
.api-key-table-wrap th{color:var(--colour-text-meta);font-size:var(--font-size-sm)}
.api-key-table-wrap code,.api-key-secret code{font-family:var(--font-mono)}
.api-keys-empty{padding:var(--space-6);color:var(--colour-muted)}
.api-key-create{padding:var(--space-6);margin-top:var(--space-4)}
.api-key-create h3{margin:0 0 var(--space-2)}
.api-key-create p{margin:0 0 var(--space-4);color:var(--colour-muted);font-size:var(--font-size-md)}
.api-key-create label{display:block;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2)}
.api-key-create-controls{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.api-key-create input{min-height:40px;min-width:min(280px,100%);padding:var(--space-2) var(--space-3);border:1px solid var(--colour-border-input);border-radius:var(--radius-sm)}
.api-key-created{max-width:700px}
.api-key-secret{padding:var(--space-6)}
.api-key-secret h2{margin:0 0 var(--space-2)}
.api-key-secret p{margin:0 0 var(--space-4)}
.api-key-secret code{display:block;padding:var(--space-4);border-radius:var(--radius-md);background:var(--colour-success-surface-subtle);border:1px solid var(--colour-note-border);overflow-wrap:anywhere;user-select:all}
.api-key-created>a,.api-key-created>p{margin-top:var(--space-4)}
.api-key-copy{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);margin-top:var(--space-4)}
.api-key-copy-status{margin:0;font-weight:var(--font-weight-semibold);color:var(--colour-link)}


.settings-type-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-2);margin:3px 0}
.settings-card form+form{margin-top:var(--space-4)}
.settings-screen{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-6);max-width:1050px}
.settings-screen .explore-heading{margin-bottom:0}
.settings-card{padding:var(--space-6)}
.settings-card h2{margin-bottom:var(--space-3)}
.settings-card>p{font-size:var(--font-size-md);color:var(--colour-muted)}
.settings-form{display:grid;gap:var(--space-5)}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}
.settings-wide{grid-column:1/-1}
.settings-field{display:grid;align-content:start;gap:var(--space-2)}
.settings-field label{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}
.settings-field input,.settings-field select,.settings-field textarea{width:100%;min-height:42px;border:1px solid var(--colour-border-input);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);background:var(--colour-surface);color:var(--colour-ink)}
.settings-field textarea{resize:vertical}
.settings-field .meta{margin:0}
.settings-remote{border:1px solid var(--colour-border);border-radius:var(--radius-md);padding:var(--space-4)}
.settings-remote legend{font-weight:var(--font-weight-semibold);padding:0 var(--space-2)}
.settings-check{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-md)}
.settings-check input{width:17px;height:17px}
.settings-remote-fields{padding-top:var(--space-4)}
.settings-remote-fields[hidden]{display:none}
.settings-remote-fields>.settings-check{margin-top:var(--space-4)}
.settings-short-form{max-width:560px}
.settings-form>.btn{justify-self:start}
.settings-phase-note{display:grid;gap:var(--space-1)}
.settings-phase-note a{color:var(--colour-link);text-decoration:underline}
.settings-integrations>p{font-size:var(--font-size-md)}
.settings-integrations>p a{color:var(--colour-link);text-decoration:underline}
.settings-integrations .api-keys-section{margin-top:var(--space-5)}
.settings-integrations .api-keys-section>h3{margin:0 0 var(--space-2)}
.settings-integrations .api-key-create h4{margin:0 0 var(--space-2);font-family:var(--font-display);font-size:var(--font-size-lg)}
.phase-settings-link{color:var(--colour-link);text-decoration:underline;font-size:var(--font-size-md)}
.settings-danger{border-color:var(--colour-error-border)}
@media(max-width:720px){.settings-grid{grid-template-columns:1fr}.settings-card{padding:var(--space-4)}}


.home-metadata{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-6);margin:var(--space-4) 0 0}
.home-metadata>div{min-width:120px;max-width:310px}
.home-metadata dt{font-size:var(--font-size-sm);color:var(--colour-text-meta);margin-bottom:3px}
.home-metadata dd{margin:0;font-size:var(--font-size-md);overflow-wrap:anywhere}
.home-metadata a,.home-checklist a{color:var(--colour-link);text-decoration:underline;text-underline-offset:2px}
.home-health{margin:0 0 var(--space-6)}
.home-health>h2{margin:0 0 var(--space-4)}
.home-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);margin:0}
.home-stat{padding:var(--space-4) var(--space-5)}
.home-stat dt{font-size:var(--font-size-md);color:var(--colour-text-meta)}
.home-stat dd{margin:var(--space-1) 0 0;font:var(--font-weight-bold) var(--font-size-3xl) var(--font-display);color:var(--colour-ink);font-variant-numeric:tabular-nums}
.home-stat dd a{color:inherit;text-decoration:underline;text-decoration-color:var(--colour-welcome-border);text-underline-offset:4px}
.home-health-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);align-items:start;margin-bottom:var(--space-6)}
.home-monthly,.home-checklist{padding:var(--space-5) var(--space-6)}
.home-monthly .meta{margin:var(--space-2) 0 var(--space-4)}
.home-monthly ol,.home-checklist ul{list-style:none;padding:0;margin:0}
.home-monthly li{display:grid;grid-template-columns:120px minmax(0,1fr) 22px;gap:var(--space-2);align-items:center;padding:var(--space-2) 0;font-size:var(--font-size-md)}
.home-monthly li strong{text-align:right;font-variant-numeric:tabular-nums}
.home-month-track{height:9px;border-radius:var(--radius-sm);background:var(--colour-track);overflow:hidden}
.home-month-track>span{display:block;height:100%;border-radius:var(--radius-sm);background:var(--colour-bar)}
.home-checklist-head{display:flex;justify-content:space-between;align-items:start;gap:var(--space-3);margin-bottom:var(--space-3)}
.home-checklist-head p{font-size:var(--font-size-md);color:var(--colour-text-meta);margin:var(--space-2) 0 0}
.home-checklist-head a{white-space:normal;text-align:right}
.home-checklist li{display:flex;justify-content:space-between;gap:var(--space-3);border-top:1px solid var(--colour-border);padding:var(--space-2) 0;font-size:var(--font-size-md)}
.home-checklist li strong{font-size:var(--font-size-sm)}
.home-covered{color:var(--colour-success-text)}
.home-missing{color:var(--colour-error)}
.home-health-summary{padding:var(--space-4) var(--space-5);margin:0 0 var(--space-6);background:var(--colour-surface-subtle);border:1px solid var(--colour-border);border-radius:var(--radius-md);font-size:var(--font-size-md)}
.home-health-summary a{color:var(--colour-link);text-decoration:underline;text-underline-offset:2px;font-weight:var(--font-weight-semibold)}
@media(max-width:1150px){.home-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-health-details{grid-template-columns:1fr}}
@media(max-width:520px){.home-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-stat{padding:var(--space-4)}.home-stat dd{font-size:var(--font-size-2xl)}.home-monthly li{grid-template-columns:104px minmax(0,1fr) 18px}.home-checklist-head{display:block}.home-checklist-head a{display:inline-flex;margin-top:var(--space-2)}}


.graph-context-controls{display:flex;gap:var(--space-2);flex-wrap:wrap}
.graph-context-controls button[aria-pressed=true]{background:var(--colour-map-active);border-color:var(--colour-filter-active);color:var(--colour-map-context-text)}
.graph-context-panel{padding:var(--space-2) var(--space-4);background:var(--colour-note-surface);border-block:1px solid var(--colour-welcome-border);font-size:var(--font-size-md);line-height:var(--line-height-normal)}
.graph-context-panel p{margin:0 0 var(--space-2);font-weight:var(--font-weight-semibold)}
.graph-context-panel summary{cursor:pointer}
.graph-context-panel h3{font-size:var(--font-size-md);margin:var(--space-2) 0 0}
.graph-context-panel ol{margin:var(--space-2) 0 0;padding-left:var(--space-5);max-height:180px;overflow:auto;position:relative}
.graph-context-depths text{fill:var(--colour-map-context-text);stroke:var(--colour-surface);stroke-width:3px;paint-order:stroke;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}
.graph-context-path line{stroke:var(--colour-map-seed-stroke);stroke-width:3;stroke-dasharray:6 3;opacity:.8}
.graph-context-path text{fill:var(--colour-map-context-text);stroke:var(--colour-surface);stroke-width:3px;paint-order:stroke;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}


.clients-table-wrap{position:relative;overflow-x:auto}
.clients-table{width:100%;border-collapse:collapse;font-size:var(--font-size-md);min-width:460px}
.clients-table th,.clients-table td{text-align:left;padding:var(--space-4) var(--space-4);border-bottom:1px solid var(--colour-border);vertical-align:top}
.clients-table thead th{background:var(--colour-surface-subtle);color:var(--colour-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}
.clients-table tbody th{font-weight:var(--font-weight-bold)}
.clients-table a{color:var(--colour-link);text-decoration:underline;text-underline-offset:3px}
.clients-filter{align-self:flex-end}
.clients-table .tag,h1 .tag{vertical-align:middle;margin-left:var(--space-2)}
.client-description{margin-top:var(--space-2)!important}
.client-admin{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--space-5);margin:var(--space-6) 0;max-width:1100px}
.client-edit-form{padding:0;border:0;max-width:none}
.client-edit-form textarea{font:inherit}
.client-edit-form input[readonly]{background:var(--colour-surface-subtle);color:var(--colour-muted)}
.client-edit-form .btn{margin-top:var(--space-4)}
@media(max-width:900px){.client-admin{grid-template-columns:1fr}}


.standalone-page{min-height:100vh;background:var(--colour-surface-page);color:var(--colour-ink);display:flex;flex-direction:column}
.standalone-header{padding:var(--space-6) max(var(--space-6),calc((100vw - 1100px)/2));background:var(--colour-nav);color:var(--colour-text-inverse)}
.standalone-brand{display:inline-flex;align-items:center;gap:var(--space-2);font:var(--font-weight-bold) var(--font-size-2xl) var(--font-display);color:var(--colour-text-inverse)}
.standalone-brand svg{width:32px;height:32px}
.standalone-main{width:min(100% - 32px,620px);margin:auto; padding:var(--space-12) 0 var(--space-16)}
.standalone-card{background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-lg)}
.standalone-card h1{margin:0 0 var(--space-3);font-size:var(--font-size-3xl)}
.standalone-card p{color:var(--colour-muted)}
.standalone-card .notice>p{color:inherit}
.standalone-card .eyebrow{color:var(--colour-link);margin-bottom:var(--space-2)}
.standalone-intro{margin-bottom:var(--space-6)}
.standalone-field{margin:0 0 var(--space-4)}
.standalone-field label{display:block;font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);margin-bottom:var(--space-2)}
.standalone-field input:not([type=file]),.standalone-field textarea{width:100%;border:1px solid var(--colour-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);background:var(--colour-surface-field);color:var(--colour-ink);resize:vertical}
.standalone-field textarea{font:inherit}
.standalone-field input:disabled,.standalone-field textarea:disabled{opacity:1}
.standalone-file{border:2px dashed var(--colour-border-input);border-radius:var(--radius-md);padding:var(--space-6);background:var(--colour-surface-canvas)}
.standalone-file.is-dragging{border-color:var(--colour-link);background:var(--colour-success-surface-subtle)}
.standalone-file input{display:block;width:100%;max-width:100%;margin:var(--space-2) 0;font-size:var(--font-size-md)}
.standalone-file .meta{display:block;margin:0;color:var(--colour-text-secondary)}
.standalone-actions{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap;margin-top:var(--space-6)}
.standalone-summary{background:var(--colour-surface-subtle);border:1px solid var(--colour-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-4);margin:var(--space-5) 0;overflow-wrap:anywhere;font-size:var(--font-size-md)}
.standalone-result{text-align:center}
.standalone-result .result-icon{display:grid;place-items:center;width:52px;height:52px;margin:0 auto var(--space-4);border-radius:var(--radius-full);background:var(--colour-success-surface);color:var(--colour-link)}
.standalone-result .result-icon.error{background:var(--colour-error-surface);color:var(--colour-error)}
.standalone-footer{text-align:center;color:var(--colour-text-secondary);font-size:var(--font-size-sm);padding:0 var(--space-4) var(--space-6)}
@media(max-width:520px){.standalone-header{padding:var(--space-4)}.standalone-main{padding:var(--space-7) 0 var(--space-10)}.standalone-card{padding:var(--space-6)}.standalone-card h1{font-size:var(--font-size-2xl)}}


.guidance-page{max-width:1100px;margin:0 auto var(--space-16)}
.guidance-head{margin-bottom:var(--space-6)}
.guidance-head h1{margin:var(--space-1) 0 var(--space-2)}
.guidance-head p:last-child{max-width:75ch;color:var(--colour-muted);line-height:1.6}
.guidance-card{padding:var(--space-6) var(--space-8);margin:var(--space-5) 0;line-height:var(--line-height-loose)}
.guidance-card h2{margin:0 0 var(--space-4)}
.guidance-card h3{margin:var(--space-6) 0 var(--space-2)}
.guidance-card h4{margin:var(--space-4) 0 var(--space-2)}
.guidance-card p{margin:var(--space-2) 0}
.guidance-card ol,.guidance-card ul{padding-left:var(--space-6)}
.guidance-card li{margin:var(--space-2) 0}
.guidance-kind{border-top:1px solid var(--colour-border);padding-top:var(--space-2);margin-top:var(--space-4)}
.guidance-kind:first-of-type{border-top:0;margin-top:0}
.guidance-kind p{color:var(--colour-muted)}
.guidance-page a{color:var(--colour-link);text-decoration:underline;text-underline-offset:3px}
.guidance-table{position:relative;overflow-x:auto;margin:var(--space-4) 0}
.guidance-table table{width:100%;min-width:620px;border-collapse:collapse}
.guidance-table th,.guidance-table td{text-align:left;vertical-align:top;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--colour-border)}
.guidance-table thead th{background:var(--colour-surface-subtle)}
.guidance-back{display:inline-block;margin-bottom:var(--space-6)}
.guidance-markdown{max-width:85ch;overflow-wrap:anywhere}
.guidance-markdown h2,.guidance-markdown h3,.guidance-markdown h4{scroll-margin-top:20px}
.guidance-markdown pre{position:relative;overflow-x:auto;padding:var(--space-4);background:var(--colour-surface-subtle);border-radius:var(--radius-sm)}
.guidance-markdown code{overflow-wrap:anywhere}
.guidance-markdown blockquote,.guidance-card blockquote{border-left:3px solid var(--colour-link);padding:var(--space-2) var(--space-4);margin:var(--space-4) 0;background:var(--colour-success-surface-subtle)}
.guidance-markdown .table-scroll{position:relative;overflow-x:auto}
@media(max-width:720px){.guidance-card{padding:var(--space-5) var(--space-4)}.guidance-table table{min-width:580px}}


.stats-heading{margin-bottom:var(--space-7)}
.stats-heading .eyebrow{color:var(--colour-text-meta);margin:0 0 var(--space-2)}
.stats-heading .eyebrow a{color:var(--colour-link);text-decoration:underline;text-underline-offset:3px}
.stats-heading h1{margin:0 0 var(--space-2)}
.stats-heading>.muted{max-width:760px;margin-bottom:var(--space-4)}
.stats-links{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.stats-section{margin:var(--space-8) 0}
.stats-section h2{margin-bottom:var(--space-4)}
.stats-section>p{max-width:850px;font-size:var(--font-size-md)}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--space-3);margin:0}
.stat-tile{display:flex;flex-direction:column-reverse;justify-content:flex-end;background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md);padding:var(--space-4)}
.stat-tile .value{margin:0;font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--colour-ink);overflow-wrap:anywhere}
.stat-tile .label{font-size:var(--font-size-md);color:var(--colour-text-meta);margin-top:var(--space-1);line-height:1.4}
.stats-table-wrap{position:relative;overflow:auto;max-width:100%}
.data-table{width:100%;border-collapse:collapse;font-size:var(--font-size-md);min-width:640px}
.data-table th,.data-table td{text-align:left;vertical-align:top;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--colour-border);overflow-wrap:anywhere}
.data-table th{font-weight:var(--font-weight-bold);background:var(--colour-surface-hover);color:var(--colour-ink);white-space:nowrap}
.data-table tr:last-child td{border-bottom:0}
.data-table a{color:var(--colour-link);font-weight:var(--font-weight-semibold);text-decoration:underline;text-underline-offset:3px}
.stats-period{display:flex;align-items:end;gap:var(--space-2);flex-wrap:wrap;margin:var(--space-4) 0}
.stats-period label{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);width:100%}
.stats-period input{width:120px;border:1px solid var(--colour-border-input);border-radius:var(--radius-sm);background:var(--colour-surface);padding:var(--space-2);color:var(--colour-ink)}
@media(max-width:720px){.stats-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.stat-tile{padding:var(--space-3)}.stat-tile .value{font-size:var(--font-size-xl)}}


.attention-why{border-left:3px solid var(--colour-warning-border);background:var(--colour-warning-surface);padding:var(--space-3) var(--space-4);margin:var(--space-3) 0}
.attention-why h4{font-size:var(--font-size-sm);letter-spacing:.03em;text-transform:uppercase;margin:0 0 var(--space-2);color:var(--colour-warning-text)}
.attention-why ul{list-style:none;margin:0;padding:0}
.attention-why li{display:grid;grid-template-columns:170px minmax(0,1fr);gap:var(--space-2);font-size:var(--font-size-md);line-height:var(--line-height-normal);margin:var(--space-2) 0}
.attention-why li strong{color:var(--colour-warning-text)}
.attention-why a{color:var(--colour-link);text-decoration:underline;text-underline-offset:2px}
@media(max-width:520px){.attention-why li{grid-template-columns:1fr;gap:0}}
.nav .nav-badge{margin-left:auto;min-width:22px;padding:1px var(--space-2);border-radius:var(--radius-full);background:var(--colour-accent);color:var(--colour-ink);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);line-height:18px;text-align:center;font-variant-numeric:tabular-nums}
.attention-why .attention-detail{display:block;margin-top:var(--space-1);color:var(--colour-text-meta)}
.attention-why .attention-act{display:inline-block;margin-top:var(--space-1);font-weight:var(--font-weight-semibold)}


.gate-box{border:2px solid var(--colour-tag-amber-text);border-left-width:6px;border-radius:var(--radius-sm);background:var(--colour-warning-surface);padding:var(--space-3) var(--space-4);margin:0 0 var(--space-4)}
.gate-box:focus{outline:var(--focus-ring);outline-offset:var(--focus-offset)}
.gate-box h4{margin:0 0 var(--space-2);font:var(--font-weight-bold) var(--font-size-lg) var(--font-display);color:var(--colour-ink)}
.gate-box ul{margin:0 0 var(--space-2);padding-left:var(--space-5)}
.gate-box li{margin:var(--space-2) 0;font-size:var(--font-size-md);line-height:var(--line-height-normal)}
.gate-box li a,.gate-box p a{color:var(--colour-link);text-decoration:underline;white-space:nowrap}
.gate-box p{font-size:var(--font-size-md);margin:var(--space-2) 0 var(--space-1)}
.to-answer-tag{display:inline-block;margin:var(--space-2) 0 var(--space-1);padding:3px var(--space-2);border-radius:var(--radius-sm);background:var(--colour-tag-amber-surface);color:var(--colour-warning-text);border:1px solid var(--colour-warning-border);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);line-height:1.4}
a.to-answer-tag{text-decoration:underline}
.record .to-answer-tag{margin:var(--space-2) 0 0}
.record-workflow .status-choices{border:0;padding:0;margin:0 0 var(--space-2)}
.record-workflow .status-choices legend{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-1)}
.record-workflow .status-choice{font-size:var(--font-size-lg)}
.record-workflow .status-choice input{margin-right:var(--space-2)}
.record-workflow .status-choice input:disabled+*,.record-workflow .status-choice:has(input:disabled){color:var(--colour-muted)}
.status-blocked{font-weight:var(--font-weight-semibold);color:var(--colour-tag-amber-text)}
.status-other{margin:var(--space-2) 0 var(--space-3);border:1px solid var(--colour-border);border-radius:var(--radius-sm);background:var(--colour-surface);padding:var(--space-2) var(--space-3)}
.status-other summary{cursor:pointer;font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);color:var(--colour-link)}
.status-other[open] summary{margin-bottom:var(--space-2)}


.breadcrumb{color:var(--colour-muted)}
.breadcrumb strong{font-weight:var(--font-weight-regular);color:var(--colour-ink)}
.breadcrumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2)}
.breadcrumb li{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0}
.breadcrumb li+li::before{content:"/";color:var(--colour-muted)}
.breadcrumb a{color:var(--colour-muted);text-decoration:underline;text-underline-offset:3px}
.breadcrumb a:hover{color:var(--colour-ink)}
.breadcrumb [aria-current="page"]{font-weight:var(--font-weight-regular);color:var(--colour-ink)}
.page-caption{color:var(--colour-muted);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-1)}
.header-line .page-caption+h1{margin-top:0}
.error-page{max-width:640px;padding:var(--space-3) 0 var(--space-6)}
.error-page h1{margin:0 0 var(--space-4);line-height:1.2}
.error-page p{margin:0 0 var(--space-3);line-height:1.55;font-size:var(--font-size-lg)}
.error-page .error-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4) var(--space-5);margin-top:var(--space-6)}
.error-page .error-actions .btn{white-space:normal}
.error-page .error-actions .text-btn{text-decoration:underline;text-underline-offset:3px}
.reader-steps{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-6);border-bottom:1px solid var(--colour-border);font-size:var(--font-size-md);background:var(--colour-surface-bar)}
.reader-step{display:inline-flex;flex-direction:column;gap:1px;color:var(--colour-link-action);font-weight:var(--font-weight-semibold);min-width:84px}
.reader-step-next{align-items:flex-end;text-align:right}
.reader-step:hover{text-decoration:underline;text-underline-offset:3px}
.reader-step-id{font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);color:var(--colour-text-meta)}
.reader-step-position{color:var(--colour-text-meta);font-size:var(--font-size-sm);text-align:center}
.record.pinned{background:var(--colour-surface-pinned)}
.pinned-tag{display:inline-block;margin-bottom:var(--space-2);padding:2px var(--space-2);border-radius:var(--radius-full);background:var(--colour-link);color:var(--colour-text-inverse);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}
@media(max-width:720px){/* U51/U52: on phones, overflow-wrap (rather than a line-clamp with overflow:hidden) lets a long name wrap onto a third line instead of clipping the focus outline on "Projects"; a clamp needs extra box padding to leave the outline room, which is more fragile. */.breadcrumb{font-size:var(--font-size-sm);overflow-wrap:anywhere;line-height:var(--line-height-tight)}.breadcrumb,.breadcrumb a,.breadcrumb li+li::before{color:var(--colour-text-meta)}.reader-steps{padding:var(--space-2) var(--space-4)}.error-page p{font-size:var(--font-size-lg)}}


.notice{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--colour-welcome-border);border-left:5px solid var(--colour-success);border-radius:var(--radius-sm);background:var(--colour-success-surface-subtle);color:var(--colour-ink);font-size:var(--font-size-lg);line-height:1.45;max-width:84ch}
.notice:focus{outline:var(--focus-ring);outline-offset:var(--focus-offset)}
.notice>p{margin:0;white-space:pre-line}
.notice>p+p,.notice>p+ul,.notice>ul+p{margin-top:var(--space-2)}
.notice[data-tone=error]{border-color:var(--colour-error-border);border-left-color:var(--colour-error);background:var(--colour-error-surface);color:var(--colour-error)}
.notice[data-tone=info]{border-color:var(--colour-border-input);border-left-color:var(--colour-text-secondary);background:var(--colour-surface-subtle)}
.notice .notice-title{font-weight:var(--font-weight-bold)}
.notice-errors{margin:var(--space-2) 0 0;padding-left:var(--space-5)}
.notice-errors a{color:var(--colour-error);font-weight:var(--font-weight-semibold);text-decoration:underline;text-underline-offset:3px}
form>.notice{margin:0 0 var(--space-4);flex:1 0 100%}
.field-error{display:block;margin:var(--space-2) 0 var(--space-1);color:var(--colour-error);font-weight:var(--font-weight-bold);font-size:var(--font-size-md)}
[aria-invalid=true]:not([type=radio]):not([type=checkbox]){border-color:var(--colour-error)!important;box-shadow:inset 0 0 0 1px var(--colour-error)}
button[aria-disabled=true]{opacity:.7;cursor:progress}


.confirm-page h1{overflow-wrap:anywhere}
.confirm-warning{display:flex;align-items:flex-start;gap:var(--space-4);margin:0 0 var(--space-4)}
.confirm-page .confirm-warning p,.confirm-warning p{margin:0;font-size:var(--font-size-lg);line-height:1.45}
.confirm-warning-icon{flex:none;display:grid;place-items:center;width:30px;height:30px;color:var(--colour-ink)}
.confirm-field{display:grid;gap:var(--space-2);max-width:520px;margin-top:var(--space-2)}
.confirm-field label{font-weight:var(--font-weight-semibold);font-size:var(--font-size-md)}
.confirm-page .confirm-field .meta{margin:0;font-size:var(--font-size-md)}
.confirm-field input{width:100%;min-height:42px;padding:var(--space-2) var(--space-3);border:1px solid var(--colour-border-input);border-radius:var(--radius-sm);background:var(--colour-surface);color:var(--colour-ink)}
.confirm-tick{margin:var(--space-2) 0 0;padding:var(--space-4) var(--space-4);border:1px solid var(--colour-error-border);border-radius:var(--radius-md);background:var(--colour-error-surface)}
.confirm-tick .confirm-warning{margin-bottom:var(--space-2)}
.confirm-tick .confirm-warning p{font-size:var(--font-size-lg)}
.confirm-tick .confirm-check{font-weight:var(--font-weight-semibold)}


.page-header-split{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3) var(--space-6);flex-wrap:wrap}
.page-header-split .page-header-main{min-width:0;flex:1 1 320px}
.page-header-actions{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1)}
.page-header{margin-bottom:var(--space-6)}
.page-header .page-caption{margin:0 0 2px}
.page-header h1{margin:0 0 var(--space-3)}
.page-header .page-tags{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-2);margin:0 0 var(--space-4)}
.page-tags .tag{padding:var(--space-1) var(--space-2);line-height:var(--line-height-normal)}
.page-tags a.phase-tag{text-decoration:none}
.page-tags a.phase-tag:hover{border-color:var(--colour-phase-tag-text);text-decoration:underline;text-underline-offset:2px}
.page-tag-link{margin:0 2px;font-size:var(--font-size-md);color:var(--colour-muted)}
.page-tag-link a{margin-left:3px;color:var(--colour-link);font-weight:var(--font-weight-semibold);text-decoration:underline;text-underline-offset:2px}
.page-header .page-description{max-width:72ch;margin:0 0 var(--space-3);color:var(--colour-text-meta);font-size:var(--font-size-lg);line-height:1.55}
.page-details>summary{cursor:pointer;display:inline-block;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--colour-link)}
.page-details .home-metadata{margin:var(--space-3) 0 0;padding:var(--space-4) var(--space-4);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md);max-width:760px}


.filter-menu{position:relative;min-width:0}
.filter-menu>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:var(--space-1);min-height:38px;max-width:300px;padding:var(--space-2) var(--space-8) var(--space-2) var(--space-3);border:1px solid var(--colour-border-input);border-radius:var(--radius-sm);background:var(--colour-surface);font-size:var(--font-size-md);color:var(--colour-ink);white-space:nowrap;position:relative}
.filter-menu>summary::-webkit-details-marker{display:none}
.filter-menu>summary::after{content:"";position:absolute;right:13px;top:50%;width:7px;height:7px;border:solid var(--colour-chevron);border-width:0 1.5px 1.5px 0;transform:translateY(-70%) rotate(45deg)}
.filter-menu[open]>summary::after{transform:translateY(-20%) rotate(225deg)}
.filter-menu>summary:hover{border-color:var(--colour-map-edge)}
.filter-menu-label{color:var(--colour-muted)}
.filter-menu [data-filter-summary]{font-weight:var(--font-weight-semibold);overflow:hidden;text-overflow:ellipsis}
.filter-menu[data-active]>summary{border-color:var(--colour-filter-active);background:var(--colour-note-surface);box-shadow:inset 0 0 0 1px var(--colour-filter-active)}
.filter-menu[data-active] .filter-menu-label{color:var(--colour-link-action)}
.filter-menu-panel{margin:var(--space-2) 0 0;padding:var(--space-3);min-width:220px;background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);display:grid;gap:var(--space-2)}
.filter-menu-js .filter-menu-panel{position:absolute;z-index:20;top:calc(100% + 4px);left:0;margin:0;max-height:min(440px,70vh);overflow:auto}
.filter-menu-js .filter-menu.align-end .filter-menu-panel,.filter-menu-js .filter-menu.opens-left .filter-menu-panel{left:auto;right:0}
.filter-menu fieldset{border:0;margin:0;padding:0;display:grid;gap:2px;min-width:0}
.filter-menu legend{float:left;width:100%;padding:0 var(--space-2) var(--space-1);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--colour-text-meta)}
.filter-menu fieldset label{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-md);font-weight:var(--font-weight-regular);color:var(--colour-ink);cursor:pointer;white-space:nowrap}
.filter-menu fieldset label:hover{background:var(--colour-surface-pinned)}
.filter-menu fieldset input{width:16px;height:16px;margin:0;flex:none;accent-color:var(--colour-link)}
.filter-menu fieldset .meta{margin:2px var(--space-2) 0;font-size:var(--font-size-sm);white-space:normal;max-width:240px}
.filter-menu-apply{justify-self:start;padding:var(--space-2) var(--space-4)}
.sort-menu fieldset+fieldset{border-top:1px solid var(--colour-border);padding-top:var(--space-2)}
.sort-word{display:none}
.sort-word[data-current]{display:inline}
.sort-menu:has(input[name=sort]:checked) .sort-word{display:none}
.sort-menu:has(input[name=sort][data-family=date]:checked) .sort-word[data-family=date],.sort-menu:has(input[name=sort][data-family=count]:checked) .sort-word[data-family=count],.sort-menu:has(input[name=sort][data-family=alpha]:checked) .sort-word[data-family=alpha]{display:inline}
@media(max-width:720px){.filter-menu>summary{max-width:none}.filter-menu-panel{max-width:calc(100vw - 32px)}.filter-menu fieldset label{white-space:normal}}


.sidebar-bar,.sidebar-panel{display:contents}
.nav-toggle{display:none}
@media(max-width:720px){.sidebar.nav-js .sidebar-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:56px}.sidebar.nav-js .brand{padding:0;gap:var(--space-2)}.sidebar.nav-js .nav-toggle{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);flex:none;min-height:44px;border:1px solid var(--colour-nav-border);background:transparent;color:var(--colour-text-inverse);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);white-space:nowrap}.sidebar.nav-js .nav-toggle:hover{background:var(--colour-nav-hover)}.nav-toggle[aria-expanded=true] .lucide-menu,.nav-toggle[aria-expanded=false] .lucide-x{display:none}.sidebar.nav-js{padding-top:0;padding-bottom:0}.sidebar.nav-js .sidebar-panel{display:none;flex-direction:column}.sidebar.nav-js .sidebar-panel.nav-open{display:flex;padding:var(--space-2) 0 var(--space-5)}.sidebar.nav-js .sidebar-panel .project-panel{margin:var(--space-2) 0 var(--space-3)}}


.diagram{margin:var(--space-4) 0;max-width:100%}
.diagram-drawing{position:relative;overflow:auto;padding:var(--space-4);border:1px solid var(--colour-border);border-radius:var(--radius-sm);background:var(--colour-surface)}
.diagram-drawing svg{display:block;margin:0 auto;max-width:100%;height:auto}
.diagram-details{margin-top:var(--space-2)}
.diagram-details summary{cursor:pointer;color:var(--colour-text-secondary);font-size:var(--font-size-md)}
.diagram-source{position:relative;overflow:auto;max-width:100%}
.diagram-error{margin:0 0 var(--space-2);color:var(--colour-text-secondary);font-size:var(--font-size-md)}
