/* ZEKASTRA Cyber pages. Built on fx-pages.css; only the accent and the Cyber-specific layouts are defined here. */
:root{--cyber:#4fd1a5}
:root[data-theme=light]{--cyber:#0b7a55}
.cy-page{--forensic:var(--cyber)}
.cy-page .fx-pill-ok{color:var(--cyber);background:color-mix(in srgb,var(--cyber) 14%,transparent);border-color:color-mix(in srgb,var(--cyber) 40%,transparent)}
.cy-hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:18px;margin:0 0 36px;padding:0;list-style:none}
.cy-hub-grid>li{display:flex}
.cy-hub-grid .fx-hub-card{width:100%}
.cy-group{margin:40px 0 0}
.cy-group h2{margin:0 0 18px;font-size:1.35rem}
.cy-start{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:24px}
.cy-start h3{margin:0 0 8px;font-size:1.05rem}
.cy-start p{margin:0 0 10px;color:var(--muted);line-height:1.65}
.cy-article{max-width:78ch;padding-top:36px}
.cy-article section{margin:0 0 34px}
.cy-article h2{margin:0 0 12px;font-size:1.3rem}
.cy-article p,.cy-article li{line-height:1.7}
.cy-principles li{margin:0 0 8px}
.cy-checks{margin:0 0 16px;padding:0;border:0;display:grid;gap:8px}
.cy-checks legend{margin:0 0 6px;padding:0;font-weight:600}
.cy-checks label{display:flex;align-items:center;gap:8px}
.cy-output{margin:14px 0 0;padding:12px 14px;min-height:3em;border:1px solid var(--fx-line-strong);border-radius:8px;background:var(--fx-code-bg);overflow-wrap:anywhere;font-size:1.05rem}
.cy-findings{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.cy-finding{display:flex;gap:12px;align-items:baseline;padding:10px 12px;border:1px solid var(--fx-line);border-radius:8px;background:var(--fx-surface);line-height:1.55}
.cy-badge{flex:none;min-width:5.5em;padding:1px 8px;border-radius:999px;font-size:.72rem;font-weight:700;text-align:center;border:1px solid currentColor}
.cy-ok .cy-badge{color:var(--fx-ok)}
.cy-warn .cy-badge{color:var(--fx-amber)}
.cy-bad .cy-badge{color:var(--fx-bad)}
.cy-info .cy-badge{color:var(--muted)}
.cy-toc ul{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 28px;padding:0;list-style:none}
.cy-check{margin:0 0 40px;padding-top:8px;scroll-margin-top:96px}
.cy-check-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 20px}
.cy-check-head h2{margin:0}
.cy-progress{margin:0;color:var(--muted);font-size:.9rem}
.cy-items{margin:16px 0;padding:0;list-style:none;display:grid;gap:10px}
.cy-items label{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--fx-line);border-radius:8px;background:var(--fx-surface);line-height:1.6;cursor:pointer}
.cy-items input{margin-top:.3em;flex:none}
.cy-glossary{margin:0;display:grid;gap:0;max-width:78ch}
.cy-glossary>div{padding:14px 0;border-bottom:1px solid var(--fx-line);scroll-margin-top:96px}
.cy-glossary dt{font-weight:700;margin:0 0 4px}
.cy-glossary dd{margin:0;color:var(--muted);line-height:1.65}
.cy-sources{margin:0;padding:0;list-style:none;display:grid;gap:16px}
.cy-sources p{margin:4px 0 0;color:var(--muted);line-height:1.65}
@media print{
 .site-header,.site-footer,.fx-secnav,.cy-toc,.fx-row-actions,.skip-link{display:none!important}
 .cy-page{color:#000}
 .cy-check{break-inside:avoid}
 .cy-items label{border-color:#999;background:none}
}
.cy-meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0 0 20px;color:var(--muted);font-size:.9rem}
.cy-modules{list-style:none;padding:0}
.cy-modules .fx-hub-meta{display:flex;flex-wrap:wrap;gap:4px 14px}
.cy-opts{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.cy-opt{display:block;width:100%;padding:12px 14px;border:1px solid var(--fx-line-strong);border-radius:8px;background:transparent;color:inherit;font:inherit;line-height:1.55;text-align:left;cursor:pointer}
.cy-opt:hover:not(:disabled){border-color:var(--cyber)}
.cy-opt:focus-visible{outline:2px solid var(--cyber);outline-offset:2px}
.cy-opt:disabled{cursor:default;color:inherit;opacity:1}
.cy-opt.cy-right{border-color:var(--fx-ok);box-shadow:inset 4px 0 0 var(--fx-ok)}
.cy-opt.cy-wrong{border-color:var(--fx-bad);box-shadow:inset 4px 0 0 var(--fx-bad)}
.cy-opt.cy-picked{border-color:var(--cyber)}
.cy-q{margin:0 0 28px;padding:0}
.cy-q-text{margin:0 0 4px}
.cy-why,.cy-fb{margin:10px 0 0;padding:10px 14px;border-left:3px solid var(--fx-line-strong);color:var(--muted);line-height:1.65}
.cy-v-best{border-left-color:var(--fx-ok)}
.cy-v-partial{border-left-color:var(--fx-amber)}
.cy-v-risky{border-left-color:var(--fx-bad)}
.cy-score{margin:0 0 12px;font-weight:700}
.cy-sc{margin:0 0 44px;padding-top:8px;scroll-margin-top:96px}
.cy-sc-q{margin:16px 0 0}
.cy-debrief{margin:20px 0 0;padding-top:4px}
.cy-debrief h3{margin:16px 0 8px;font-size:1.05rem}
.cy-modnav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin:28px 0}
.cy-quiz{margin:0 0 34px}
.cy-service{margin:0 0 40px;padding-top:8px;scroll-margin-top:96px}
.cy-service h3{margin:18px 0 8px;font-size:1.05rem}
