/* Shared interface system. Keep appearance colors in appearance.css. */
.threat-news { max-width:1120px; margin-inline:auto; }
.threat-news-heading { border-bottom:1px solid var(--line); padding-bottom:1.5rem; margin-bottom:1.5rem; }
.threat-news-heading h1 { margin:.45rem 0 .8rem; }
.threat-news-heading > p:last-child { color:var(--muted); margin:0; }
.threat-news-views { display:flex; flex-wrap:wrap; gap:.5rem; margin-block:1.25rem .75rem; }
.threat-news-views .button { min-height:44px; }
.threat-news-views [aria-current="page"] { border-color:var(--green); background:var(--panel-3); color:var(--ink); }
.threat-news-view-description { color:var(--muted); max-width:85ch; margin-block:.75rem 1.25rem; }
.threat-news-filter-help { flex:1 1 100%; margin:0; color:var(--muted); font-size:.85rem; }
.threat-news-severity { display:inline-flex; flex-wrap:wrap; align-items:center; gap:.35rem; padding:.15rem .5rem; border:1px solid var(--line); border-radius:5px; color:var(--ink); font-size:.8rem; }
.threat-news-filters { display:flex; align-items:flex-end; flex-wrap:wrap; gap:1rem; padding:1.25rem; background:var(--panel); border:1px solid var(--line); border-radius:12px; }
.threat-news-filters label { flex:1 1 230px; display:grid; gap:.4rem; }
.threat-news-filters input,.threat-news-filters select { width:100%; margin:0; min-height:46px; }
.threat-news-filters .button { min-height:46px; margin:0; }
.threat-news-feed-meta { margin:1.4rem 0; color:var(--muted); font-size:.9rem; }
.threat-news-feed-meta > p { margin:0 0 .5rem; }
.threat-news-sources summary { cursor:pointer; width:fit-content; color:var(--ink); text-decoration:underline; text-underline-offset:.25em; }
.threat-news-sources ul { list-style:none; margin:.8rem 0; padding:0; display:grid; gap:.5rem; }
.threat-news-sources li { display:flex; flex-wrap:wrap; gap:.25rem 1rem; }
.threat-news-sources li a { min-width:190px; }
.threat-news-sources p { margin:.5rem 0; }
.threat-news-stories { display:grid; gap:1rem; list-style:none; margin:0; padding:0; }
.threat-news-story { background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:clamp(1.15rem,2.5vw,2rem); }
.threat-news-story:focus-within { border-color:var(--green); }
.threat-news-byline { display:flex; flex-wrap:wrap; gap:.5rem 1rem; align-items:center; color:var(--muted); font-size:.82rem; }
.threat-news-publisher { color:var(--green); font-weight:750; letter-spacing:.015em; }
.threat-news-story h2 { margin:.8rem 0; font-size:clamp(1.2rem,2vw,1.65rem); line-height:1.35; }
.threat-news-story h2 a { color:var(--ink); text-decoration:none; }
.threat-news-story h2 a:hover { color:var(--green); text-decoration:underline; }
.threat-news-excerpt { color:var(--muted); line-height:1.75; max-width:88ch; }
.threat-news-story-foot { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; margin-top:1.2rem; }
.threat-news-cves { display:flex; flex-wrap:wrap; gap:.4rem; flex:1 1 240px; }
.threat-news-cves span { padding:.15rem .5rem; border:1px solid var(--line); border-radius:5px; font-size:.75rem; color:var(--muted); }
.threat-news-original { display:inline-flex; align-items:center; gap:.6rem; font-weight:750; min-height:44px; }
.threat-news-pagination { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:1rem; margin:1.75rem 0; }
.threat-news-empty { padding:2.5rem 1.5rem; border:1px dashed var(--line); border-radius:12px; text-align:center; }
.threat-news-credit { margin-top:2rem; font-size:.78rem; color:var(--muted); }
@media(max-width:650px) {
 .threat-news-filters label { flex-basis:100%; }
 .threat-news-filters > .button { flex:1 1 auto; }
 .threat-news-byline { align-items:flex-start; flex-direction:column; gap:.3rem; }
 .threat-news-story-foot { align-items:flex-start; flex-direction:column; gap:.4rem; }
 .threat-news-cves { flex-basis:auto; }
 .threat-news-sources li { flex-direction:column; }
}
:root { --radius:12px; --space:clamp(1rem,2vw,1.5rem); }
body { line-height:1.6; }
h1 { font-size:clamp(2rem,3.3vw,3.3rem); line-height:1.08; letter-spacing:-.045em; text-wrap:balance; }
h2 { font-size:clamp(1.25rem,1.8vw,1.65rem); line-height:1.2; letter-spacing:-.03em; }
h3 { line-height:1.3; }
h1,h2,h3,p,li,dd,figcaption { overflow-wrap:anywhere; }
figure { margin:0; }
audio { width:100%; max-width:100%; }
fieldset,form,label,details,section,article,aside { min-width:0; }
input,select,textarea { min-width:0; max-width:100%; border-radius:8px; padding:.7rem .85rem; }
input[type=checkbox],input[type=radio] { width:1.1rem; height:1.1rem; min-height:0; flex:none; accent-color:var(--green); }
input[type=file]::file-selector-button { margin-right:.8rem; border:0; border-radius:5px; padding:.35rem .6rem; background:var(--panel-3); color:var(--ink); cursor:pointer; }
label { font-weight:650; }
label > span { line-height:1.45; }
fieldset { border-radius:10px; }
button,a,summary,input,select,textarea { transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease; }
a { text-decoration-color:color-mix(in srgb,currentColor 55%,transparent); text-underline-offset:.25em; }
a:hover { text-decoration-color:currentColor; }
:focus-visible { outline:3px solid var(--amber); outline-offset:3px; }
[id] { scroll-margin-top:calc(var(--topbar-h) + 1.5rem); }

/* Shell and navigation */
.balanced-product .page-content { max-width:1480px; padding:clamp(1.25rem,3vw,2.75rem); }
.site-rail { box-shadow:none; scrollbar-width:thin; scrollbar-color:var(--line) transparent; }
.rail-head { padding:1.3rem 1rem; }
.brand-name { font-size:1.4rem; letter-spacing:.1em; }
.maker-chip { border-style:solid; border-color:var(--line-soft); border-radius:10px; padding:.8rem; margin:1rem .85rem .6rem; }
.maker-chip .avatar-fallback { display:grid; place-items:center; }
.rail-nav { gap:3px; padding:.35rem .7rem .75rem; }
.rail-nav a { min-height:41px; padding:.55rem .65rem; border-radius:8px; border:1px solid transparent; font-size:.86rem; }
.rail-nav a > span { display:grid; place-items:center; width:25px; height:25px; border-radius:6px; color:var(--muted); flex:none; font-size:1rem; }
.rail-nav a:hover { border-color:var(--line-soft); }
.security-product .rail-nav a.active { border-color:var(--line-soft); box-shadow:none; color:var(--green); background:var(--panel); font-weight:750; }
.rail-nav a.active > span { background:var(--green); color:var(--button-text); }
.rail-label { margin:1.15rem .7rem .5rem; font-size:.61rem; letter-spacing:.16em; }
.rail-group { margin-top:1rem; }
.topbar { box-shadow:none; background:var(--bg-2); flex:none; }
.page-ident { gap:.2rem; }
.page-ident .eyebrow { margin:0; font-size:.6rem; }
.page-ident strong { font-size:.9rem; }
.site-footer { gap:1rem; border-color:var(--line-soft); }
.site-footer nav { flex-wrap:wrap; gap:.5rem 1rem; }
.appearance-menu > summary { display:inline-flex; }
.appearance-popover { border-radius:16px; box-shadow:var(--shadow); }
.appearance-choice { padding:.25rem .5rem; border-radius:7px; }
.appearance-choice:has(input:checked) { background:var(--panel-3); }

/* Consistent surfaces, actions, and vertical rhythm */
.panel { padding:var(--space); border-color:var(--line-soft); border-radius:var(--radius); box-shadow:0 3px 12px rgba(0,0,0,.055); }
.panel::after { display:none; }
.panel > :last-child { margin-bottom:0; }
.page-content > :is(.panel,.settings-card-grid,.feature-grid,.card-grid,.tool-card-grid,.button-row,.record-grid,.dossier-card-grid) { margin-bottom:var(--space); }
.page-heading,.page-title-row { align-items:center; gap:1.5rem; margin-bottom:1.75rem; padding-block:.25rem; }
.page-heading > div:first-child,.page-title-row > div:first-child { flex:1; min-width:0; max-width:900px; }
.page-heading p:last-child,.page-title-row p:last-child { margin-bottom:0; max-width:65ch; }
.page-heading > .button,.page-title-row > .button { flex:none; }
.social-heading,.workbench-heading { padding-left:1.25rem; border-left-width:3px; }
.page-heading .eyebrow,.page-title-row .eyebrow { color:var(--amber); font-size:.64rem; margin-bottom:.7rem; }
.section-head { align-items:center; flex-wrap:wrap; gap:.8rem 1.5rem; border-color:var(--line-soft); }
.section-head > p { max-width:52ch; margin:0; color:var(--muted); font-size:.9rem; }
.section-head > span,.composer-head > span { font-size:.8rem; color:var(--muted); }
.button { min-height:44px; border-radius:8px; font-size:.88rem; font-weight:720; line-height:1.3; padding:.65rem 1rem; max-width:100%; text-align:center; white-space:normal; }
.button.primary { box-shadow:0 2px 0 rgba(0,0,0,.1); }
.button.quiet { border-color:var(--line-soft); }
.button.compact { min-height:36px; border-radius:7px; }
.button[aria-disabled=true] { cursor:wait; }
.button-row { gap:.65rem; }
.text-button,.text-link { display:inline-flex; align-items:center; gap:.4rem; min-height:36px; border-radius:6px; padding:.3rem .15rem; font-size:.88rem; }
.text-button:hover,.text-link:hover { color:var(--ink); background:var(--panel-2); }
.page-content :is(.panel,.card,.result-card,.project-card,.tool-card,.mini-project) :is(h2,h3) a { color:var(--ink-strong); text-decoration:none; }
.page-content :is(.panel,.card,.result-card,.project-card,.tool-card,.mini-project) :is(h2,h3) a:hover { color:var(--green); text-decoration:underline; }
a:is(.settings-card,.create-choice,.create-card,.tool-card,.security-record-card,.portfolio-card) { color:var(--ink); text-decoration:none; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
a:is(.settings-card,.create-choice,.create-card,.tool-card,.security-record-card,.portfolio-card):hover { border-color:var(--green); box-shadow:0 6px 20px rgba(0,0,0,.1); transform:translateY(-2px); }
a:is(.settings-card,.create-choice,.create-card)::after { display:block; position:static; content:'↗'; border:0; color:var(--green); margin-top:auto; padding-top:.9rem; font-size:1.25rem; }
.settings-card,.create-choice,.create-card { display:flex; flex-direction:column; gap:.5rem; min-height:190px; }
.settings-card h2,.create-choice h2 { margin:0; }
.settings-card p,.create-choice p { margin:0; font-size:.9rem; }
.status-tag,.sensitivity,.severity { border-radius:5px; line-height:1.35; max-width:100%; overflow-wrap:anywhere; }
.chip-row { gap:.4rem; }
.chip { line-height:1.4; }
.empty-state { padding:clamp(1.5rem,4vw,3.5rem); background:var(--panel); }
.empty-state p { max-width:52ch; margin:.65rem auto 1.3rem; }
.empty-state .button-row { justify-content:center; }
.empty-icon { display:grid; place-items:center; width:52px; height:52px; border:1px solid var(--line); border-radius:16px; color:var(--green); background:var(--bg-2); font-size:1.65rem; margin:0 auto 1.25rem; }
.flash,.notice,.form-note,.error-list,.form-errors,.success-box,.warning-box { border-radius:9px; }
.form-errors,.warning-box { padding:1rem; border:1px solid var(--red); background:var(--error-bg); margin-bottom:1rem; }
.success-box { padding:1rem; border:1px solid var(--green); background:var(--success-bg); margin-bottom:1rem; }
.success-box p:last-child,.warning-box p:last-child { margin:0; }

/* Home: distinct filter controls and a real feed/sidebar grid. */
.filter-strip,.filter-tabs { display:flex; flex-wrap:wrap; gap:.4rem; padding:.4rem; margin:0 0 1.25rem; border:1px solid var(--line-soft); border-radius:12px; background:var(--bg-2); overflow:visible; }
.filter-strip a,.filter-tabs a { display:flex; align-items:center; justify-content:center; flex:0 1 auto; min-height:40px; padding:.5rem .8rem; border:1px solid transparent; border-radius:8px; color:var(--muted); font-size:.83rem; font-weight:650; line-height:1.3; text-decoration:none; }
.filter-strip a:hover,.filter-tabs a:hover { color:var(--ink); background:var(--panel-2); border-color:var(--line); }
.filter-strip a.active,.filter-tabs a.active { background:var(--green); color:var(--button-text); border-color:var(--green); }
.home-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:var(--space); align-items:start; }
.home-layout .timeline { display:grid; padding:0; gap:1rem; min-width:0; }
.side-stack { display:grid; gap:1rem; }
.side-stack h2 { font-size:1.3rem; }
.side-stack p { font-size:.9rem; }
.side-stack .eyebrow { font-size:.59rem; }
.side-stack .button { width:100%; }
.home-workbench-switch { border-left-width:3px; padding:1.1rem 1.25rem; gap:1.5rem; }
.home-workbench-switch p { font-size:.86rem; max-width:85ch; margin-top:.25rem; }
.home-workbench-switch > .button { flex:none; }
.caught-up { margin:0; display:grid; gap:.35rem; padding:1rem 1.25rem; box-shadow:none; background:transparent; }
.caught-up strong { font-size:.86rem; }
.caught-up span { font-size:.82rem; }
.calm-note { border-style:dashed; background:transparent; box-shadow:none; }
.timeline-item { display:grid; grid-template-columns:10px minmax(0,1fr); gap:1rem; }
.timeline-rail i { display:block; width:8px; height:8px; margin-top:.5rem; border-radius:50%; background:var(--green); }
.timeline-meta,.card-meta,.result-top { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:.5rem; color:var(--muted); font-size:.74rem; margin-bottom:1rem; }
.timeline-body h2 { font-size:1.3rem; }

/* Search, discovery, community, and collections */
.search-panel,.tool-search,.toolbar { display:flex; flex-wrap:wrap; align-items:end; gap:.8rem; margin-bottom:1.5rem; }
.search-panel label,.tool-search label,.toolbar label { flex:1 1 160px; min-width:0; }
.search-panel .grow,.tool-search label { flex:3 1 260px; }
.search-panel .button,.tool-search .button { flex:0 0 auto; }
.results-summary,.pagination { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:.8rem; margin:1.3rem 0; color:var(--muted); font-size:.85rem; }
.explore-grid,.create-grid,.request-grid,.connection-grid,.mini-card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr)); gap:var(--space); }
.feature-grid,.card-grid,.settings-card-grid,.record-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,265px),1fr)); gap:var(--space); }
.result-card,.project-card { min-width:0; overflow:hidden; }
.result-card h2,.project-card h2 { font-size:1.4rem; }
.result-card p,.project-card p { color:var(--muted); font-size:.9rem; }
.result-image,.card-image { display:block; margin:0 0 1rem; overflow:hidden; border-radius:8px; background:var(--bg-2); }
.result-image img,.card-image img { width:100%; height:190px; display:block; object-fit:cover; }
.project-card .card-image { margin:calc(-1 * var(--space)) calc(-1 * var(--space)) 1rem; border-radius:0; }
.maker-line { font-family:var(--mono); font-size:.78rem; text-decoration:none; }
.person-inline { display:flex; align-items:center; gap:.75rem; color:var(--ink); text-decoration:none; }
.person-inline > span,.person-row > span { display:grid; min-width:0; }
.person-inline strong,.person-row strong { overflow-wrap:anywhere; }
.stack-list > a:not(.record-row):not(.person-row) { display:grid; gap:.25rem; padding:.8rem; border:1px solid var(--line-soft); border-radius:8px; color:var(--ink); text-decoration:none; background:var(--bg-2); }
.stack-list > a:hover { border-color:var(--green); }
.stack-list > a small { font-size:.78rem; }
.stack-list > a strong { color:var(--green); }
.list-row,.saved-item,.session-row,.compact-record { border-radius:8px; }
.list-row,.saved-item,.session-row { flex-wrap:wrap; }
.dashboard-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space); }
.wide-span { grid-column:span 2; }
.request-card,.connection-card { padding:1rem; border:1px solid var(--line-soft); border-radius:9px; }
.connection-card > a { display:grid; gap:.45rem; text-decoration:none; }
.connection-card p,.request-card p { margin-top:.8rem; color:var(--muted); }
.circle-list,.question-list,.thread-messages,.button-column { display:grid; gap:1rem; }
.circle-list .person-row { justify-content:space-between; padding-block:.75rem; border-bottom:1px solid var(--line-soft); flex-wrap:wrap; }
.question-layout,.thread-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; align-items:start; gap:var(--space); }
.question-hero,.question-card,.request-origin { margin-bottom:var(--space); }
.thread-layout > :first-child { display:grid; gap:var(--space); }
.message .person-inline { margin-bottom:1rem; }
.message.mine { border-left:3px solid var(--green); }
.detail-list { margin:0; }
.detail-list dt { color:var(--muted); font-size:.8rem; }
.detail-list dd { margin:0 0 1rem; }
.subsection { margin-top:1.25rem; }
.resolution { border-left:3px solid var(--green); }
.note-head,.composer-head,.note-reply-form { flex-wrap:wrap; }
.note-person { min-width:0; }
.note-person strong { overflow-wrap:anywhere; }
.note-card .note-head small { font-size:.75rem; }
.note-card .mini-form { display:grid; gap:.7rem; margin:1rem 0; }
.note-reply-form label { min-width:min(100%,220px); }
.note-composer textarea { min-height:110px; }
.composer-more > summary,.note-owner-controls > summary { font-weight:650; }

/* Home participation: a quick post surface and complete, readable Bench Notes. */
.home-note-composer { margin-bottom:1.2rem; padding:clamp(1rem,2.5vw,1.5rem); }
.home-note-composer .composer-head { align-items:flex-start; }
.home-note-composer .composer-intro { min-width:0; }
.home-note-composer .composer-intro p:last-child { max-width:62ch; margin:.35rem 0 0; color:var(--muted); font-size:.92rem; }
.home-note-composer .composer-head > span { flex:0 1 240px; text-align:right; }
.home-note-composer textarea { min-height:88px; }
.composer-prompt-line { margin:.55rem 0 0; color:var(--muted); font-size:.82rem; }
.composer-prompt-line strong { color:var(--ink); }
.composer-quick-image { margin-top:.9rem; }
.composer-quick-image label,.home-note-composer .composer-more label { min-width:0; }
.home-note-composer .composer-more { margin:1rem 0; padding:.65rem 0; border-block:1px solid var(--line-soft); }
.home-note-composer .composer-more > summary { display:flex; align-items:center; width:max-content; max-width:100%; min-height:40px; padding:.35rem 0; }
.home-note-composer .composer-more > :not(summary) { margin-top:.8rem; }
.home-note-composer .composer-kind { max-width:260px; }
.home-note-composer .composer-controls { display:grid; grid-template-columns:minmax(150px,210px) auto auto; justify-content:end; gap:.8rem; }
.home-note-composer .composer-controls label { min-width:0; }
.home-note-composer .composer-controls .check-row { min-height:44px; }
.timeline-note-entry { display:grid; grid-template-columns:10px minmax(0,1fr); gap:1rem; min-width:0; }
.timeline-note-entry > .timeline-rail i { background:var(--green); }
.timeline-note-body,.home-note-card { min-width:0; }
.home-note-card { border-left-color:var(--green); padding:clamp(1rem,2vw,1.35rem); }
.home-note-card .note-head { min-width:0; }
.home-note-card :is(.note-body,.note-link,.note-code) { max-width:100%; }
.home-note-card .note-image { overflow:hidden; border-radius:8px; background:var(--bg-2); }
.home-note-card .note-image img { max-height:620px; object-fit:contain; }
.home-note-card .note-reply { min-width:0; background:var(--panel-2); }
.note-replies-head,.home-note-foot { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.45rem 1rem; }
.note-replies-head .section-label { margin:0; }
.note-replies-head a { font-size:.82rem; }
.home-note-foot { margin-top:1rem; padding-top:.75rem; border-top:1px solid var(--line-soft); }
.home-note-foot small { overflow-wrap:anywhere; }

/* Specific ways to help: finite Project requests and human commitments. */
.help-request-section { scroll-margin-top:calc(var(--topbar-h) + 1rem); }
.help-request-section > .section-head { align-items:flex-start; }
.help-request-section > .section-head p:last-child { max-width:64ch; margin:.35rem 0 0; color:var(--muted); }
.help-request-list { display:grid; gap:1rem; }
.home-help-requests { margin:1.25rem 0; }
.home-help-request-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:1rem; }
.help-request-card { min-width:0; overflow:hidden; padding:clamp(1rem,2.4vw,1.4rem); border-left:3px solid var(--amber); }
.help-request-card.is-in_progress { border-left-color:var(--blue); }
.help-request-card.is-completed { border-left-color:var(--green); }
.help-request-card.is-closed { border-left-color:var(--line); }
.help-request-head { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:.65rem 1rem; }
.help-request-head > div:first-child { min-width:0; flex:1 1 260px; }
.help-request-head h3 { margin:.2rem 0 .45rem; overflow-wrap:anywhere; }
.help-request-origin { display:flex; flex-wrap:wrap; gap:.35rem .65rem; margin-bottom:.7rem; color:var(--muted); font:700 .72rem/1.5 var(--mono); }
.help-request-origin a { overflow-wrap:anywhere; }
.help-request-summary { max-width:72ch; margin:.75rem 0 1rem; overflow-wrap:anywhere; }
.help-request-facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr)); gap:.65rem; margin:1rem 0; }
.help-request-facts > div { min-width:0; padding:.7rem .8rem; border:1px solid var(--line-soft); border-radius:7px; background:var(--bg-2); }
.help-request-facts dt { margin-bottom:.2rem; color:var(--muted); font:700 .65rem/1.4 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.help-request-facts dd { margin:0; color:var(--ink-strong); font-weight:700; overflow-wrap:anywhere; }
.help-request-people { margin-top:1rem; padding-top:1rem; border-top:1px solid var(--line-soft); }
.help-request-people > p { margin:0 0 .55rem; }
.help-request-volunteer { display:flex; align-items:center; flex-wrap:wrap; gap:.55rem .75rem; padding:.55rem 0; border-bottom:1px solid var(--line-soft); }
.help-request-volunteer:last-child { border-bottom:0; }
.help-request-volunteer > :is(a,span):first-of-type { min-width:0; flex:1 1 170px; overflow-wrap:anywhere; }
.help-request-volunteer > a:first-of-type { display:grid; text-decoration:none; }
.help-request-actions { display:flex; align-items:center; flex-wrap:wrap; gap:.55rem; margin-top:1rem; }
.help-request-actions form { margin:0; min-width:0; }
.help-request-actions .button { min-height:40px; }
.help-request-complete { min-width:min(100%,290px); }
.help-request-complete > summary { width:fit-content; }
.help-request-note { margin:.75rem 0 0; color:var(--muted); font-size:.84rem; }
.help-request-form { display:grid; gap:1rem; margin-top:1rem; padding:1rem; border:1px solid var(--line-soft); border-radius:8px; background:var(--bg-2); }
.help-request-form .form-hint,.help-request-editor .form-hint { margin:-.45rem 0 0; color:var(--muted); font-size:.84rem; }
.home-help-request { margin:0; }
.home-help-request .help-request-facts { grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr)); }
.home-help-request .help-request-people { display:none; }

/* Forms, publishing controls, and authentication */
.auth-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,440px); gap:clamp(2rem,5vw,5rem); align-items:center; max-width:1060px; margin:clamp(1rem,7vh,5rem) auto; }
.auth-copy .lede { max-width:40ch; font-size:1.08rem; }
.auth-copy h1 { font-size:clamp(2.5rem,4vw,4rem); max-width:14ch; }
.auth-form { display:grid; gap:1.25rem; padding:clamp(1.5rem,3vw,2.5rem); border-top:3px solid var(--green); }
.auth-form h2 { margin:0; }
.auth-form .form-errors { margin:0; }
.form-foot { display:flex; flex-wrap:wrap; gap:.75rem; justify-content:space-between; padding-top:1rem; border-top:1px solid var(--line-soft); font-size:.85rem; }
.center-column,.center-message { max-width:520px; margin:clamp(1rem,8vh,5rem) auto; }
.center-message { text-align:center; }
.success-mark { font-size:3rem; color:var(--green); }
.form-layout { gap:1.25rem; }
.form-layout > section { display:grid; gap:1rem; }
.form-layout > section > .section-title { margin-bottom:.25rem; }
.page-content form:not(.inline-form):not(.button-row) > label + :is(label,.field-grid,.button,.check-row),.page-content form > .field-grid + :is(label,.button) { margin-top:.75rem; }
.auth-form > label + label,.form-layout > label + label { margin-top:0!important; }
.form-layout.inset { padding:1rem; border-radius:8px; }
.inline-form { min-width:0; }
.inline-form label { flex:1 1 160px; min-width:0; }
.inline-form input,.inline-form select { min-width:0; }
.compact-buttons,.compact-buttons form { flex-wrap:wrap; }
.sticky-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem; border-top:1px solid var(--line); background:var(--panel); padding:1.1rem 0 .25rem; }
.sticky-actions > span { flex:1 1 180px; color:var(--muted); font-size:.85rem; }
.module-editor-list,.module-fields { display:grid; gap:1rem; }
.module-handle { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; margin-bottom:1rem; }
.module-handle strong { flex:1; }
.module-number { font:700 .75rem var(--mono); color:var(--muted); }
.module-move { display:flex; gap:.4rem; margin-left:auto; }
.module-move button,.drag-handle { min-width:38px; min-height:38px; border:1px solid var(--line); border-radius:6px; background:var(--panel); color:var(--ink); }
.module-editor .module-delete { margin-top:.75rem; }
.editor-state { border-radius:8px; flex:none; }
.editor-tabs,.settings-nav { border-radius:10px; }
.editor-tabs a,.settings-nav a { border-radius:6px; }
.section-title { align-items:flex-start; }
.section-title > span { border-radius:10px; flex:none; }
.section-title p:last-child { margin:0; color:var(--muted); font-size:.88rem; }
.page-content details > summary:not(.button) { padding:.6rem 0; cursor:pointer; font-weight:650; color:var(--green); }
.page-content details > summary:not(.button)::before { content:'＋'; display:inline-block; width:1.4em; color:var(--muted); }
.page-content details[open] > summary:not(.button)::before { content:'−'; }
.page-content details[open] > summary { margin-bottom:.8rem; }
.add-panel > summary { width:fit-content; max-width:100%; }

/* Projects, research tools, and operations */
.project-hero { padding:0; overflow:hidden; margin-bottom:var(--space); }
.project-hero-copy { padding:clamp(1.25rem,3vw,2rem); }
.project-hero h1 { max-width:25ch; }
.project-hero .project-cover { max-height:380px; overflow:hidden; }
.project-cover img { display:block; width:100%; max-height:380px; object-fit:cover; }
.project-actions { display:flex; flex-wrap:wrap; gap:.65rem; align-items:center; margin-top:1.5rem; padding-top:1.25rem; border-top:1px solid var(--line-soft); }
.project-actions .inline-form { margin:0; }
.project-layout { grid-template-columns:minmax(0,1fr) 300px; gap:var(--space); }
.project-main,.project-aside { min-width:0; gap:var(--space); }
.project-main > .split-grid:empty { display:none; }
.project-aside h2 { font-size:1.2rem; }
.project-aside .person-row { flex-wrap:wrap; }
.media-gallery { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:1rem; }
.media-gallery img { display:block; width:100%; border-radius:8px; }
.media-gallery figcaption { color:var(--muted); font-size:.78rem; margin:.5rem 0 1rem; }
.file-list a { border-radius:8px; flex-wrap:wrap; }
.project-updates .update-list { margin-top:1rem; }
.tool-card-grid .tool-card { margin:0; padding:var(--space); display:flex; flex-direction:column; gap:.65rem; }
.tool-card-grid .tool-card h2,.tool-card-grid .tool-card p { margin:0; }
.tool-card-grid .tool-card p { color:var(--muted); font-size:.9rem; }
.tool-card-grid .tool-card > small { margin-top:auto; padding-top:1rem; border-top:1px solid var(--line-soft); }
.tool-detail-grid,.tool-grid { gap:var(--space); align-items:start; }
.tool-row { padding:1.1rem 0; border-color:var(--line-soft); }
.tool-row:last-child { border-bottom:0; }
.tool-row p { color:var(--muted); font-size:.9rem; }
.tool-row > a,.tool-row > h3 a { font-weight:700; }
.record-facts > div { border-color:var(--line-soft); }
.record-facts dt { line-height:1.5; }
.metric-grid.security-metrics { grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr)); gap:1rem; }
.metric { border-top:2px solid var(--green); }
.security-metrics .metric strong { font-size:2.1rem; }
.record-table-wrap,.table-wrap,.table-scroll { max-width:100%; min-width:0; border-radius:10px; }
.record-table th,.record-table td,th,td { padding:1rem; border-color:var(--line-soft); }
.record-table td small,.compact-record small,.mini-metrics dt { opacity:1; }
tbody tr:hover { background:var(--panel-2); }
.table-scroll .inline-form { margin:0; }
.table-scroll .button { white-space:nowrap; }
.task-board { gap:1rem; align-items:start; }
.task-board > .panel { background:var(--bg-2); border-top:3px solid var(--line); }
.task-board > .panel:last-child { border-top-color:var(--green); }
.task-board .tool-card { margin:1rem 0 0; }
.map-toolbar { align-items:center; }
.map-help { padding-top:.8rem; }
.map-shell.panel { padding:0; }
.authorization-banner { border-radius:10px; }
.event-log li { min-width:0; }
.operations-links { display:flex; flex-wrap:wrap; gap:.65rem; }

/* Personal Bench: honor the saved layout instead of stacking bare modules. */
.bench-page { --bench-gap:1.25rem; --bench-radius:8px; border-radius:14px; }
.bench-header { border-radius:var(--bench-radius); justify-content:space-between; align-items:flex-end; background-size:cover; background-position:center; }
.bench-owner { display:flex; gap:1.25rem; align-items:center; min-width:0; }
.bench-owner > div { min-width:0; }
.bench-owner p:last-child { margin:0; }
.bench-shop-sign,.module-label { font:700 .68rem/1.5 var(--mono); letter-spacing:.12em; text-transform:uppercase; color:var(--bench-primary); margin-bottom:.65rem; }
.bench-header-actions { display:flex; flex-wrap:wrap; gap:.5rem; justify-content:flex-end; max-width:340px; }
.bench-modules { display:grid; grid-template-columns:minmax(0,1fr); gap:var(--bench-gap); margin-block:var(--bench-gap); }
.layout-two-column .bench-modules { grid-template-columns:repeat(2,minmax(0,1fr)); }
.layout-asymmetrical .bench-modules { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); }
.bench-panel { padding:var(--bench-gap); border:1px solid var(--bench-border); border-radius:var(--bench-radius); background:var(--bench-panel); color:var(--bench-text); min-width:0; }
.bench-module h2 { color:var(--bench-text); font-size:1.4rem; }
.bench-module.width-full,.bench-module.width-wide { grid-column:1/-1; }
.bench-module.width-narrow { max-width:none; }
.module-heading { padding-bottom:.85rem; margin-bottom:1rem; border-bottom:1px solid var(--bench-border); }
.module-heading h2 { margin:.3rem 0 0; }
.bench-status { display:flex; gap:.75rem; flex-wrap:wrap; align-items:baseline; padding:1rem; margin-top:var(--bench-gap); border:1px solid var(--bench-border); border-radius:var(--bench-radius); }
.bench-status span { color:var(--bench-primary); font:700 .65rem var(--mono); }
.bench-audio,.guestbook,.guestbook-form { display:grid; gap:1rem; }
.bench-audio { margin-top:var(--bench-gap); }
.bench-audio small { display:block; }
.bench-contact { display:grid; gap:1rem; }
.contact-actions { display:flex; flex-wrap:wrap; align-items:start; gap:.65rem; }
.contact-actions details { flex:1 1 230px; }
.contact-actions form { display:grid; gap:1rem; }
.guest-note { padding:1rem; border:1px solid var(--bench-border); border-radius:var(--bench-radius); }
.guest-note.pinned { border-left:3px solid var(--bench-primary); }
.guest-note > div:first-child { display:flex; flex-wrap:wrap; gap:.5rem 1rem; margin-bottom:.75rem; }
.guest-note time { font-size:.75rem; color:var(--bench-muted); }
.circle-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr)); gap:1rem; }
.circle-grid a { display:grid; justify-items:start; gap:.4rem; text-decoration:none; }
.mini-project { display:grid; gap:.9rem; min-width:0; border:1px solid var(--bench-border); border-radius:var(--bench-radius); padding:1rem; color:var(--bench-text); text-decoration:none; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.mini-project:hover { border-color:var(--bench-primary); box-shadow:0 6px 18px rgba(0,0,0,.14); transform:translateY(-1px); }
.mini-project:hover .mini-project-title { color:var(--bench-primary); }
.mini-project:focus-visible { outline:3px solid var(--bench-primary); outline-offset:3px; }
.mini-project > img { display:block; width:100%; max-height:220px; object-fit:cover; border-radius:max(2px,calc(var(--bench-radius) - 3px)); }
.mini-project-copy { display:grid; gap:.4rem; min-width:0; }
.mini-project-stage { justify-self:start; color:var(--bench-primary); font:700 .68rem/1.35 var(--mono); letter-spacing:.09em; text-transform:uppercase; }
.mini-project-title { color:var(--bench-text); font-size:clamp(1rem,2vw,1.2rem); line-height:1.25; overflow-wrap:anywhere; }
.mini-project-summary { color:var(--bench-muted); font-size:.9rem; line-height:1.55; overflow-wrap:anywhere; }
.availability-row { display:flex; flex-wrap:wrap; gap:.5rem; }
.plain-list { padding-left:1.2rem; }
.big-note { font-size:1.2rem; }
.spacing-compact { --bench-gap:.8rem; }
.spacing-expansive { --bench-gap:2rem; }
.corners-none { --bench-radius:0; }
.corners-round { --bench-radius:18px; }
.corners-cut { --bench-radius:0 14px 0 14px; }
.shadow-soft .bench-panel { box-shadow:0 4px 16px rgba(0,0,0,.1); }
.shadow-workbench .bench-panel { box-shadow:0 4px 0 var(--bench-border); }
.shadow-hard .bench-panel { box-shadow:4px 4px 0 var(--bench-border); }
.bench-page.mobile-preview .bench-modules { grid-template-columns:minmax(0,1fr); }
.bench-page.mobile-preview .bench-owner { flex-wrap:wrap; }
.bench-page.mobile-preview .bench-header-actions { max-width:none; justify-content:flex-start; }

/* Welcome, supporting pages, and smaller screens */
.landing-hero { gap:clamp(2rem,4vw,4rem); min-height:0; padding-block:clamp(1.5rem,4vw,4rem); }
.landing-hero h1 { font-size:clamp(2.5rem,4.5vw,4.7rem); }
.landing-intro { grid-template-columns:minmax(0,1fr); padding-block:clamp(1rem,3vw,2.5rem); }
.landing-intro h1 { max-width:23ch; }
.landing-intro .lede { max-width:58ch; }
.landing-intro .fine-print { max-width:75ch; }
.landing-section { margin-block:clamp(1.8rem,4vw,3rem); }
.landing-section .section-head { margin-bottom:1rem; }
.landing-section-copy { margin-top:0; color:var(--muted); max-width:80ch; }
.landing-section-link { display:inline-flex; align-items:center; gap:.35rem; min-height:44px; font-weight:700; }
.landing-news-grid,.landing-card-grid,.landing-benches-grid { display:grid; gap:1rem; grid-template-columns:repeat(3,minmax(0,1fr)); }
.landing-news-grid,.landing-benches-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.landing-news-card,.landing-project-card,.landing-note-card { display:flex; flex-direction:column; align-items:flex-start; gap:.7rem; }
.landing-news-card h3,.landing-project-card h3 { font-size:1.15rem; margin:0; }
.landing-news-card h3 a,.landing-project-card h3 a { text-decoration:none; }
.landing-news-card h3 a:hover,.landing-project-card h3 a:hover { text-decoration:underline; }
.landing-news-card p,.landing-project-card p,.landing-note-card p { margin:0; }
.landing-project-card p,.landing-note-card > p { color:var(--muted); }
.landing-card-foot { margin-top:auto!important; padding-top:.25rem; font-size:.9rem; }
.landing-empty p { margin:0; color:var(--muted); }
.landing-cores { grid-template-columns:repeat(2,minmax(0,1fr)); }
.registration-fields { border:0; padding:0; margin:0; display:grid; gap:1rem; }
.registration-fields:disabled { opacity:.6; }
@media(max-width:1000px) { .landing-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) {
  .landing-card-grid,.landing-news-grid,.landing-benches-grid,.landing-cores { grid-template-columns:minmax(0,1fr); }
  .landing-intro .button-row > .button { flex:1 1 100%; }
  .landing-section .section-head { gap:.5rem; }
}
.dual-core { transform:none; padding:0; gap:0; overflow:hidden; border-radius:16px; }
.dual-core article { padding:1.8rem; border-top-width:3px; }
.dual-core p { font-size:.93rem; }
.landing-lists { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space); }
.callout-band { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; padding:2rem; margin-block:2rem; border:1px solid var(--green); border-radius:14px; background:var(--panel); }
.question-row { display:grid; gap:.35rem; padding:1rem 0; border-bottom:1px solid var(--line-soft); text-decoration:none; }
.prose-page { max-width:850px; margin:auto; line-height:1.8; }
.prose-page h2 { margin-top:2rem; }
.error-panel { max-width:620px; margin:4rem auto; text-align:center; }
.error-code { font:800 3rem var(--mono); color:var(--amber); }
.error-panel .button-row { justify-content:center; }
.repair-hero { margin-bottom:var(--space); }

@media(max-width:1200px) {
  .home-layout,.project-layout,.question-layout,.thread-layout { grid-template-columns:minmax(0,1fr) 260px; }
  .home-workbench-switch { flex-wrap:wrap; }
  .dashboard-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-grid .wide-span { grid-column:auto; }
  .bench-header { flex-wrap:wrap; }
  .bench-header-actions { max-width:none; }
}
@media(max-width:1000px) {
  .home-layout,.project-layout,.question-layout,.thread-layout { grid-template-columns:minmax(0,1fr); }
  .side-stack { grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); }
  .auth-layout { grid-template-columns:minmax(0,1fr); max-width:560px; gap:1.5rem; margin-block:1rem; }
  .auth-copy h1 { font-size:2.6rem; }
  .auth-copy .lede { max-width:none; }
  .page-heading,.page-title-row { flex-wrap:wrap; }
  .page-heading > div:first-child,.page-title-row > div:first-child { flex-basis:100%; }
  .hero { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:860px) {
  .balanced-product .page-content { padding:1.25rem 1rem 6rem; }
  .site-rail { height:100dvh; padding-bottom:env(safe-area-inset-bottom); }
  .topbar { padding:0 .8rem; }
  .editor-tabs { gap:.25rem; }
  .editor-tabs a { font-size:.83rem; }
  .layout-two-column .bench-modules,.layout-asymmetrical .bench-modules { grid-template-columns:minmax(0,1fr); }
  .bench-owner { flex-wrap:wrap; }
  .bench-header-actions { justify-content:flex-start; }
  .mobile-dock { padding:.35rem .3rem max(.35rem,env(safe-area-inset-bottom)); }
}
@media(max-width:650px) {
  .page-heading,.page-title-row { gap:1rem; margin-bottom:1.4rem; }
  .page-heading h1,.page-title-row h1 { font-size:2rem; }
  .page-heading p,.page-title-row p { font-size:.93rem; }
  .page-heading > .button,.page-title-row > .button { width:100%; }
  .social-heading,.workbench-heading { padding-left:1rem; }
  .top-actions .appearance-menu > .button { display:inline-flex; }
  .top-actions .appearance-popover .button { display:inline-flex; }
  .appearance-menu > summary { min-height:36px; }
  .filter-strip,.filter-tabs { gap:.3rem; }
  .filter-strip a,.filter-tabs a { flex:1 1 auto; padding:.5rem .65rem; min-height:42px; font-size:.79rem; }
  .dashboard-grid,.landing-lists,.dossier-layer-grid,.dossier-impact-grid { grid-template-columns:minmax(0,1fr); }
  .wide-span { grid-column:auto; }
  .home-workbench-switch > .button { width:100%; }
  .search-panel,.tool-search { align-items:stretch; }
  .search-panel label,.search-panel .grow,.tool-search label { flex-basis:100%; }
  .search-panel .button,.tool-search .button { width:100%; }
  .field-grid.two,.field-grid.three { grid-template-columns:minmax(0,1fr); }
  .form-layout .button { width:auto; }
  .form-layout > .button { width:100%; }
  .inline-form > * { width:auto; }
  .inline-form > label { flex-basis:100%; }
  .sticky-actions > span { flex-basis:100%; }
  .sticky-actions .button { flex:1 1 120px; }
  .module-actions { flex-wrap:wrap; gap:.6rem; }
  .module-handle .status-tag { max-width:100%; }
  .section-title > span { width:32px; height:32px; }
  .bench-header { padding:1rem; }
  .bench-header h1 { font-size:2rem; }
  .bench-header .avatar,.bench-header .avatar-fallback { width:72px; height:72px; }
  .bench-modules { gap:1rem; }
  .project-actions { align-items:stretch; }
  .project-actions > :is(a,form) { flex:1 1 160px; }
  .project-actions form .button { width:100%; }
  .authorization-banner { grid-template-columns:minmax(0,1fr); }
  .member-table > div { grid-template-columns:minmax(0,1fr); }
  .file-list a strong { flex-basis:75%; }
  .file-list a small { flex-basis:100%; }
  .note-reply-form { display:grid; }
  .note-reply-form label { min-width:0; }
  .home-note-composer .composer-head > span { flex-basis:auto; text-align:left; }
  .home-note-composer .composer-controls { grid-template-columns:minmax(0,1fr); justify-content:stretch; }
  .home-note-composer .composer-controls :is(label,.button) { width:100%; }
  .home-note-composer .composer-controls .check-row { min-height:44px; }
  .home-note-card .note-head { align-items:flex-start; }
  .help-request-actions { align-items:stretch; }
  .help-request-actions > :is(form,a,details) { flex:1 1 180px; }
  .help-request-actions form .button,.help-request-actions > a.button,.help-request-complete > summary { width:100%; }
  .help-request-complete { min-width:0; }
  .record-stamps { max-width:100%; }
  .record-row { grid-template-columns:minmax(0,1fr); gap:.5rem; }
  .record-row small { grid-column:1; }
  .callout-band { padding:1.25rem; }
}
@media(max-width:430px) {
  .timeline-note-entry { grid-template-columns:minmax(0,1fr); gap:0; }
  .timeline-note-entry > .timeline-rail { display:none; }
  .home-note-card { padding:.95rem; }
  .home-note-card .note-person { width:100%; }
  .home-note-card .note-head .status-tag { max-width:100%; }
  .note-replies-head,.home-note-foot { align-items:flex-start; flex-direction:column; }
  .help-request-facts { grid-template-columns:minmax(0,1fr); }
  .help-request-head { display:grid; grid-template-columns:minmax(0,1fr); }
  .help-request-actions > :is(form,a,details) { flex-basis:100%; width:100%; }
}
@media(prefers-reduced-motion:reduce) { a:hover { transform:none!important; } }
.reduce-motion a:hover { transform:none!important; }
:root[data-contrast=high] :is(.panel,.filter-strip,.filter-tabs,.maker-chip,.tool-card,.request-card,.connection-card) { border-color:var(--line); box-shadow:none; }
:root[data-contrast=high] :is(.home-note-composer,.home-note-card,.home-note-card .note-reply) { border-color:var(--line); box-shadow:none; }
:root[data-contrast=high] :is(.help-request-card,.help-request-facts > div,.help-request-form) { border-color:var(--line); box-shadow:none; }
:root[data-contrast=high] .rail-nav a.active { border-color:var(--green); }
:root[data-contrast=high] .bench-panel { box-shadow:none; }
:root[data-contrast=high] a:is(.settings-card,.create-choice,.create-card)::after { display:block; }
@media(forced-colors:active) {
  .filter-strip a.active,.filter-tabs a.active,.rail-nav a.active { border:2px solid Highlight; }
  .filter-strip,.filter-tabs,.maker-chip { border-color:CanvasText; }
  .help-request-card { border:2px solid CanvasText; }
}
@media print {
  .home-layout,.project-layout,.question-layout,.thread-layout,.dashboard-grid { display:block; }
  .panel,.bench-panel { box-shadow:none; margin-bottom:1rem; }
  a:is(.settings-card,.create-choice,.create-card)::after { display:none; }
}

/* Threat library and shared homepage soundtrack. Uses all appearance palettes. */
.threat-nav{margin-block:1rem 1.5rem}
.threat-filters{display:grid;grid-template-columns:minmax(180px,2fr) repeat(3,minmax(130px,1fr)) auto;gap:1rem;align-items:end}
.threat-filters label,.threat-add label{display:grid;gap:.4rem;min-width:0}
.threat-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))}
.threat-card{display:flex;flex-direction:column;gap:.65rem;min-width:0}
.threat-card h2{font-size:1.35rem;line-height:1.25;margin:0}
.threat-card p{margin:0}.threat-card h2 a{text-decoration:none}
.threat-card-link{margin-top:auto;padding-top:.75rem;font-weight:800;text-underline-offset:.25em}
.threat-card:hover,.threat-card:focus-within{border-color:var(--green)}
.threat-detail-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:1.25rem;align-items:start}
.threat-detail-layout h2{font-size:1.3rem}.threat-add{display:grid;gap:1rem}.threat-add form{display:grid;gap:1rem}
.threat-prose{white-space:pre-line;overflow-wrap:anywhere}.threat-references a,.threat-snapshot a{overflow-wrap:anywhere}
.threat-model-intro{display:flex;gap:1.5rem;align-items:center;justify-content:space-between}
.threat-model-intro>div{min-width:0}.threat-model-intro h2{margin-top:0}
.threat-review-list{display:grid;gap:1rem;margin-block:1rem}
.threat-review-item{min-width:0;scroll-margin-top:6rem}.threat-review-item h2{font-size:1.5rem;line-height:1.3}
.threat-review-item .button-row{flex-wrap:wrap}.threat-review-item .button-row form{margin:0}
.threat-snapshot,.threat-review-editor{border-top:1px solid var(--line);padding-block:1rem;margin-block:.75rem}
.threat-suggestions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:1rem;margin-top:1rem}
.threat-option{display:flex;align-items:flex-start;gap:.75rem;border:1px solid var(--line);border-radius:8px;padding:1rem;min-width:0}
.threat-option input{width:1.1rem;height:1.1rem;margin:.2rem 0;flex:0 0 auto}.threat-option span{display:grid;gap:.4rem;min-width:0}.threat-option small{color:var(--muted)}
.home-soundtrack{display:flex;gap:2rem;align-items:center;margin-block:1.5rem;min-width:0;overflow:hidden}
.home-soundtrack-copy{flex:1;min-width:0}.home-soundtrack-copy h2{font-size:clamp(1.65rem,2.8vw,2.7rem);line-height:1.12}
.home-spotify-player{display:block;flex:0 0 60%;width:60%;height:352px;min-width:0;border:0;border-radius:12px}
@media(max-width:1050px){.threat-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.threat-filters label:first-of-type{grid-column:1/-1}}
@media(max-width:800px){.threat-detail-layout{grid-template-columns:minmax(0,1fr)}.threat-model-intro,.home-soundtrack{flex-direction:column;align-items:stretch}.home-spotify-player{flex:auto;width:100%;height:352px}.home-soundtrack{gap:1rem}.threat-add{order:-1}}
@media(max-width:500px){.threat-filters{grid-template-columns:minmax(0,1fr)}.threat-filters label:first-of-type{grid-column:auto}}
html[data-contrast="high"] .threat-card,html[data-contrast="high"] .threat-option,html[data-contrast="high"] .home-soundtrack{border:2px solid var(--line)}

/* Keep the news toolbar aligned with the shared form spacing rules. */
.page-content form.threat-news-filters > label + :is(label,.button) { margin-top:0; }

.bench-page .preview-banner { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem 1rem; padding:1rem 1.25rem; margin-bottom:1rem; border:1px solid var(--line); border-radius:10px; background:var(--panel); color:var(--ink); }
.bench-page .preview-banner span { flex:1 1 18rem; color:var(--muted); }
.bench-page .preview-banner a { display:inline-flex; align-items:center; min-height:44px; font-weight:700; }

/* Account controls stay readable at narrow widths and with larger text. */
.account-status { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:1rem 2rem; margin-bottom:var(--space); }
.account-status strong { display:block; text-transform:capitalize; font-size:1.1rem; }
.account-status p { margin:.5rem 0 0; color:var(--muted); }
.settings-layout #email > form + form { margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid var(--line); }
.page-ident strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.page-ident { min-width:0; }
@media(max-width:860px) { .settings-nav,.editor-tabs { flex-wrap:wrap; overflow:visible; } }

/* v1.7 first-session signposts and v1.6.1 release evidence. */
.home-start-card{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;border-color:var(--green)}
.home-start-card h2,.home-start-card p{margin-block:.25rem}.home-start-card>div{min-width:0}
.start-progress{display:grid;gap:1rem}.start-step-grid,.starter-prompt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1rem}
.start-step{display:flex;align-items:flex-start;gap:1rem;padding:1rem}.start-step h3,.starter-prompt h3{margin:.1rem 0 .45rem}.start-step p,.starter-prompt p{margin:.25rem 0 1rem}
.start-step-number{display:grid;place-items:center;flex:0 0 2rem;width:2rem;height:2rem;border:1px solid var(--line);border-radius:50%;font-weight:800}
.start-step.complete .start-step-number{background:var(--green);border-color:var(--green);color:var(--green-ink,#07170d)}
.starter-prompt{display:flex;flex-direction:column;align-items:flex-start}.starter-prompt .text-link{margin-top:auto}
.empty-prompt{max-width:42rem;padding:.75rem 1rem;border-left:3px solid var(--green);text-align:left}
.release-check-list{display:grid;gap:1rem;margin-top:1rem}.release-check{padding:1rem}.release-check.complete{border-color:var(--green)}
.release-check-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;margin-top:1rem}.release-check-form label{min-width:0}
@media(max-width:700px){.home-start-card{align-items:stretch;flex-direction:column}.home-start-card .button{width:100%}.release-check-form{grid-template-columns:minmax(0,1fr)}}
