/* ZEKASTRA OSINT Center. Loaded after fx-pages.css; uses its tokens (--fx-*) and the site palette. No inline styles anywhere. */
.osint-page{--osint-gap:18px}
.osint-main{min-width:0;display:grid;gap:44px}
.osint-section{min-width:0}
.osint-section>h2{display:flex;align-items:center;gap:12px;margin:0 0 8px;font-size:1.35rem}
.osint-section>p{max-width:72ch;color:var(--muted);margin:0 0 18px}
.osint-section .fx-tool-grid{margin-top:18px}
.osint-layout{padding-top:40px}

/* Search */
.osint-search{display:grid;gap:10px;max-width:760px;margin:26px 0 0}
.osint-search>label{font-weight:700;font-size:.9rem}
.osint-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.osint-search input{width:100%;min-height:48px;padding:11px 14px;border:1px solid var(--fx-line-strong);border-radius:10px;background:var(--fx-code-bg);color:var(--ink);font-family:var(--fx-mono);font-size:.95rem}
.osint-search input:focus{outline:2px solid var(--focus);outline-offset:1px;border-color:transparent}
.osint-search-compact{margin-top:20px}
.osint-search-compact .fx-hint{display:none}
.osint-candidates{display:grid;gap:8px}
.osint-candidates:empty{display:none}
.osint-candidates ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.osint-candidate{display:grid;gap:2px;padding:12px 16px;border:1px solid var(--fx-line-strong);border-radius:12px;background:var(--fx-surface);text-decoration:none;color:var(--ink)}
.osint-page a.osint-candidate:not(.button){color:var(--ink);text-decoration:none}
.osint-candidate:hover{border-color:var(--fx-blue)}
.osint-candidate:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.osint-candidate strong{font-size:.95rem}
.osint-candidate .fx-mono{overflow-wrap:anywhere;color:var(--muted)}
.osint-candidate span.osint-cand-where{color:var(--fx-blue);font-size:.84rem;font-weight:650}
.osint-candidate-note{color:var(--muted);font-size:.82rem}
.osint-session{margin:18px 0 0;color:var(--muted);font-size:.84rem}
.osint-session a{font-weight:650}

/* Notices */
.osint-notice{margin:20px 0 0;max-width:74ch;padding:14px 18px;border-radius:12px;border:1px solid var(--fx-line-strong);background:var(--fx-surface);font-size:.92rem;line-height:1.6}
.osint-notice p{margin:0}
.osint-notice-warn{border-color:color-mix(in srgb,var(--fx-amber) 55%,transparent);background:color-mix(in srgb,var(--fx-amber) 11%,transparent)}
.osint-notice-fixed{border-color:color-mix(in srgb,var(--fx-amber) 70%,transparent);background:color-mix(in srgb,var(--fx-amber) 14%,transparent);padding:20px 22px;font-size:1.02rem;font-weight:600}
.osint-notice-info{border-color:color-mix(in srgb,var(--fx-blue) 40%,transparent)}
.osint-section .osint-notice:first-of-type{margin-top:0}

/* Principles, steps, lists */
.osint-principles,.osint-steps{display:grid;gap:12px;margin:0;padding:0;list-style:none;counter-reset:osint}
.osint-principles li,.osint-steps li{display:grid;gap:4px;padding:16px 18px 16px 56px;position:relative;border:1px solid var(--fx-line);border-radius:12px;background:var(--fx-surface);counter-increment:osint}
.osint-principles li::before,.osint-steps li::before{content:counter(osint);position:absolute;left:16px;top:16px;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;border:1px solid color-mix(in srgb,var(--fx-blue) 40%,transparent);color:var(--fx-blue);font-family:var(--fx-mono);font-size:.8rem;font-weight:700}
.osint-principles span,.osint-steps span{color:var(--muted);font-size:.92rem}
.osint-bullets{display:grid;gap:12px;margin:0;padding-left:20px;max-width:78ch}
.osint-bullets li{line-height:1.65}
.osint-bullets li::marker{color:var(--fx-blue)}

/* Tool cards */
.osint-tools{display:grid;gap:26px;min-width:0}
.osint-tool{min-width:0;display:grid;gap:14px;padding:26px;border:1px solid var(--fx-line);border-radius:16px;background:linear-gradient(170deg,color-mix(in srgb,var(--fx-blue) 5%,var(--panel)),var(--panel) 55%);scroll-margin-top:24px}
.osint-tool:target{border-color:var(--fx-blue)}
.osint-tool-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.osint-tool-head h3{margin:0;font-size:1.15rem}
.osint-badge{padding:2px 10px;border-radius:999px;border:1px solid var(--fx-line-strong);color:var(--muted);font-size:.72rem;font-weight:700;white-space:nowrap}
.osint-badge[data-kind=net]{color:var(--fx-amber);border-color:color-mix(in srgb,var(--fx-amber) 45%,transparent)}
.osint-badge[data-kind=local]{color:var(--fx-ok);border-color:color-mix(in srgb,var(--fx-ok) 45%,transparent)}
.osint-what{margin:0;color:var(--ink);max-width:74ch}
.osint-leaves{padding:12px 14px;border-left:3px solid var(--fx-line-strong);background:var(--fx-code-bg);border-radius:0 10px 10px 0;font-size:.86rem;color:var(--muted)}
.osint-leaves p{margin:0}
.osint-leaves p+p{margin-top:6px}
.osint-tool-net .osint-leaves{border-left-color:var(--fx-amber)}
.osint-tool-local .osint-leaves,.osint-tool-links .osint-leaves{border-left-color:var(--fx-ok)}
.osint-form{display:grid;gap:14px}
.osint-form .fx-field-wide{grid-column:1/-1}
.osint-form input[type=checkbox]{width:auto;min-height:0}
.osint-form input[type=file]{padding:10px}
.osint-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.osint-manual{border-top:1px solid var(--fx-line);padding-top:12px}
.osint-manual-title{margin:0 0 6px;color:var(--muted);font-size:.78rem;font-family:var(--fx-mono);letter-spacing:.08em;text-transform:uppercase}
.osint-manual ul,.osint-link-list{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;list-style:none}
.osint-note{max-width:72ch}

/* Results */
.osint-result{display:grid;gap:16px;min-width:0}
.osint-result[hidden]{display:none}
.osint-res-block{display:grid;gap:10px;padding:16px 18px;border:1px solid var(--fx-line-strong);border-radius:12px;background:var(--fx-surface);min-width:0}
.osint-res-block>h4{margin:0;font-size:.78rem;font-family:var(--fx-mono);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.osint-res-assess{border-color:color-mix(in srgb,var(--fx-blue) 45%,transparent)}
.osint-res-assess>h4{color:var(--fx-blue)}
.osint-res-assess .osint-label{margin:0;color:var(--muted);font-size:.8rem}
.osint-kv{display:grid;grid-template-columns:minmax(120px,max-content) minmax(0,1fr);gap:6px 18px;margin:0}
.osint-kv dt{color:var(--muted);font-size:.86rem}
.osint-kv dd{margin:0;overflow-wrap:anywhere;font-size:.92rem}
.osint-kv dd.fx-mono{font-size:.86rem}
.osint-findings{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.osint-finding{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;font-size:.92rem;line-height:1.55}
.osint-level{padding:1px 9px;border-radius:999px;font-size:.7rem;font-weight:800;border:1px solid var(--fx-line-strong);color:var(--muted);white-space:nowrap}
.osint-level[data-level=ok]{color:var(--fx-ok);border-color:color-mix(in srgb,var(--fx-ok) 50%,transparent)}
.osint-level[data-level=warn]{color:var(--fx-amber);border-color:color-mix(in srgb,var(--fx-amber) 55%,transparent)}
.osint-level[data-level=bad]{color:var(--fx-bad);border-color:color-mix(in srgb,var(--fx-bad) 55%,transparent)}
.osint-raw{border:1px solid var(--fx-line);border-radius:10px;background:var(--fx-code-bg)}
.osint-raw>summary{cursor:pointer;padding:10px 14px;font-weight:650;font-size:.88rem;min-height:44px;display:flex;align-items:center}
.osint-raw>summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.osint-raw pre{margin:0;padding:12px 14px;max-height:380px;overflow:auto;font-family:var(--fx-mono);font-size:.8rem;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;border-top:1px solid var(--fx-line)}
.osint-error{border-color:color-mix(in srgb,var(--fx-bad) 55%,transparent);background:color-mix(in srgb,var(--fx-bad) 9%,transparent)}
.osint-error p{margin:0}
.osint-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.osint-actions .fx-status{flex:1 1 220px}
.osint-table-wrap{overflow-x:auto}
.osint-pivots{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0;padding:0;list-style:none;font-size:.88rem}
.osint-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.osint-chip{padding:3px 10px;border-radius:8px;border:1px solid var(--fx-line-strong);font-family:var(--fx-mono);font-size:.8rem;overflow-wrap:anywhere}
.osint-chip[data-state=yes]{border-color:color-mix(in srgb,var(--fx-amber) 55%,transparent);color:var(--fx-amber)}
.osint-chip[data-state=no]{color:var(--muted)}

/* Link groups, channels */
.osint-links{display:grid;gap:12px;padding:24px;border:1px solid var(--fx-line);border-radius:16px;background:var(--fx-surface)}
.osint-links h3{margin:0;font-size:1.1rem}
.osint-links p{margin:0;color:var(--muted)}
.osint-links .osint-notice{margin:0}
.osint-link-list{display:grid;gap:8px}
.osint-channels{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin:0;padding:0;list-style:none}
.osint-channel{display:grid;align-content:start;gap:8px;padding:20px;border:1px solid var(--fx-line);border-radius:14px;background:var(--fx-surface)}
.osint-channel h3{margin:0;font-size:1.02rem}
.osint-channel p{margin:0}
.osint-channel-org{color:var(--fx-blue);font-size:.84rem;font-weight:650}

/* Research file */
.osint-case-bar{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin:18px 0 8px}
.osint-tabs,.osint-case-add{display:flex;flex-wrap:wrap;gap:8px}
.osint-tabs .button[aria-selected=true]{background:var(--panel-soft);border-color:var(--fx-blue)}
.osint-case-item{display:grid;gap:12px;padding:18px;border:1px solid var(--fx-line);border-radius:14px;background:var(--fx-surface);min-width:0}
.osint-case-item+.osint-case-item{margin-top:14px}
.osint-case-item h3{margin:0;font-size:1rem;overflow-wrap:anywhere}
.osint-case-meta{display:flex;flex-wrap:wrap;gap:4px 16px;color:var(--muted);font-size:.8rem}
.osint-case-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.osint-case-item textarea,.osint-case-item input,.osint-case-item select{width:100%;min-height:42px;padding:8px 12px;border:1px solid var(--fx-line-strong);border-radius:10px;background:var(--fx-code-bg);color:var(--ink);font:inherit;font-size:.9rem}
.osint-case-item textarea{font-family:var(--fx-mono);font-size:.84rem}
.osint-case-item label{display:grid;gap:4px;font-size:.8rem;font-weight:650}
.osint-timeline{display:grid;gap:0;margin:0;padding:0;list-style:none;border-left:2px solid var(--fx-line-strong)}
.osint-timeline li{position:relative;padding:0 0 18px 22px}
.osint-timeline li::before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--fx-blue)}
.osint-timeline time{display:block;font-family:var(--fx-mono);font-size:.8rem;color:var(--muted)}
.osint-graph{overflow-x:auto;border:1px solid var(--fx-line);border-radius:14px;background:var(--fx-code-bg)}
.osint-graph svg{display:block;max-width:none}
.osint-graph .g-edge{stroke:var(--fx-line-strong);stroke-width:1.4}
.osint-graph .g-node{fill:var(--panel);stroke:var(--fx-blue);stroke-width:1.6}
.osint-graph .g-label{fill:var(--ink);font-family:var(--fx-mono);font-size:11px}
.osint-graph .g-type{fill:var(--muted);font-size:9px;font-family:var(--fx-mono)}
.osint-exports{display:grid;gap:8px;margin-top:14px}
.osint-export-line{font-size:.86rem;color:var(--muted);overflow-wrap:anywhere}
.osint-report-sheet{display:none}

/* File examiner */
.osint-drop{display:grid;gap:6px;padding:22px;border:2px dashed var(--fx-line-strong);border-radius:14px;text-align:center}

@media (max-width:720px){
 .osint-search-row{grid-template-columns:minmax(0,1fr)}
 .osint-tool{padding:18px}
 .osint-kv{grid-template-columns:minmax(0,1fr)}
 .osint-kv dt{margin-top:6px}
 .osint-case-bar{align-items:stretch}
}
@media (prefers-reduced-motion:reduce){.osint-candidate{transition:none}}

@media print{
 :root[data-print=osint] .site-header,:root[data-print=osint] .site-footer,:root[data-print=osint] .fx-secnav,:root[data-print=osint] .fx-page-head,:root[data-print=osint] .osint-aside,:root[data-print=osint] .osint-main>*:not(.osint-report-sheet){display:none!important}
 :root[data-print=osint] .osint-layout{display:block;padding:0}
 :root[data-print=osint] .osint-report-sheet{display:block;color:#000;font-size:10.5pt;line-height:1.45}
 .osint-report-sheet h1,.osint-report-sheet h2{color:#000;margin:0 0 6pt}
 .osint-report-sheet h2{font-size:12pt;margin-top:12pt}
 .osint-report-sheet table{width:100%;border-collapse:collapse;margin:6pt 0}
 .osint-report-sheet th,.osint-report-sheet td{border:1px solid #444;padding:3pt 5pt;text-align:left;vertical-align:top;font-size:9pt;overflow-wrap:anywhere}
 .osint-report-sheet .osint-item{break-inside:avoid;margin:0 0 10pt}
 .osint-report-sheet p{margin:0 0 4pt}
 .osint-report-sheet .fx-mono{font-size:8.5pt}
}
.fx-check label{display:flex;gap:10px;align-items:center;font-weight:500;min-height:32px}
.fx-check input[type=checkbox]{width:18px;height:18px;flex:none}
.osint-bullets{display:grid;gap:6px;margin:0;padding-left:1.1rem}
.osint-res-block h5{margin:6px 0 0;font-size:.92rem}
