/* 2026-10-05 場景 acronis-lens：上方一列是切換鈕與現況清單，下方三個問題卡，每張卡底部是答案欄。
   只有防毒（data-mode="av"）：答案欄虛線框、弱字「防毒看不到」，結論句以左線框標出；加上 EDR：答案欄改實線、強調色小標。
   現況清單不只靠顏色：有＝✓、沒有＝✕ 加虛線框。沒有 JS：data-mode="edr"，全部答案與結論句列出。 */
.page-blocks .al { display: grid; gap: clamp(1.25rem, 3vw, 2rem); margin-top: clamp(2rem, 5vw, 3rem); }
.page-blocks .al [hidden] { display: none; }
.page-blocks .al-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; }
.page-blocks .al-tog { display: inline-flex; gap: .25rem; padding: .25rem; border: 1px solid var(--on-dark-line); border-radius: var(--r-pill); }
.page-blocks .al-tog:not([hidden]) { display: inline-flex; }
.page-blocks .al-tog button { min-height: 2.75rem; padding: 0 1.125rem; border: 0; border-radius: var(--r-pill); background: none; color: var(--muted-on-dark); font: inherit; font-size: .9375rem; font-weight: 600; cursor: pointer; }
.page-blocks .al-tog button[aria-pressed="true"] { background: var(--accent); color: var(--accent-on); font-weight: 800; }
.page-blocks .al-tog button:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.page-blocks .al-now { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; }
.page-blocks .al-now-h { margin: 0; color: var(--muted-on-dark); font-size: .875rem; }
.page-blocks .al-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.page-blocks .al-chips li { display: inline-flex; gap: .5rem; align-items: center; padding: .375rem .875rem; border: 1px solid var(--on-dark-line); border-radius: var(--r-pill); font-size: .875rem; }
.page-blocks .al-chips li.has { border-color: var(--accent); }
.page-blocks .al-chips li.has b::before { content: "✓ " / ""; color: var(--accent); }
.page-blocks .al-chips li.no { border-style: dashed; color: var(--muted-on-dark); }
.page-blocks .al-chips li.no b::before { content: "✕ " / ""; }
.page-blocks .al-qs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2.4vw, 1.5rem); margin: 0; padding: 0; list-style: none; }
.page-blocks .al-q { display: flex; flex-direction: column; gap: .75rem; padding: clamp(1.25rem, 2.6vw, 2rem); border: 1px solid var(--on-dark-line); border-radius: var(--r-card); background: color-mix(in srgb, var(--paper) 4%, var(--deeper)); }
.page-blocks .al-n { color: var(--accent); font-family: "Inter Tight", var(--font-body); font-size: .8125rem; font-weight: 800; letter-spacing: .12em; }
.page-blocks .al-qh { margin: 0; color: var(--paper); font-size: clamp(1.5rem, 2.6vw, 2.125rem); font-weight: 900; line-height: 1.2; }
.page-blocks .al-qb { margin: 0; color: var(--muted-on-dark); }
/* 每題的迷你圖：EDR 看得到的東西（攻擊鏈節點、事件欄位、處置動作）。只有防毒時虛線、弱字、加 ✕；加上 EDR 時逐一亮起。 */
.page-blocks .al-viz { display: flex; flex-wrap: wrap; gap: .375rem; margin: .25rem 0 0; padding: 0; list-style: none; }
.page-blocks .al-viz li { padding: .375rem .75rem; border: 1px solid var(--accent); border-radius: var(--radius-s); background: color-mix(in srgb, var(--accent) 12%, transparent); color: var(--paper); font-size: .8125rem; font-weight: 700; transition: border-color .3s var(--ease), background-color .3s var(--ease), color .3s var(--ease); }
.page-blocks .q-chain .al-viz li:not(:last-child)::after { content: " →" / ""; color: var(--accent); }
.page-blocks .al.is-live .al-viz li:not(.on) { border-style: dashed; border-color: var(--on-dark-line); background: none; color: var(--muted-on-dark); font-weight: 500; }
.page-blocks .al.is-live .al-viz li:not(.on)::before { content: "✕ " / ""; }
.page-blocks .al-ans { display: grid; gap: .25rem; margin: auto 0 0; padding: .875rem 1rem; border: 1px solid var(--accent); border-radius: var(--radius-m); color: var(--paper); font-weight: 700; transition: border-color .35s var(--ease), background-color .35s var(--ease), color .35s var(--ease); }
.page-blocks .al-ans b { color: var(--accent); font-family: "Inter Tight", var(--font-body); font-size: .8125rem; letter-spacing: .12em; }
.page-blocks .al.is-live .al-ans.on { background: color-mix(in srgb, var(--accent) 10%, transparent); }
.page-blocks .al[data-mode="av"] .al-ans { border-style: dashed; border-color: var(--on-dark-line); color: var(--muted-on-dark); font-weight: 500; }
.page-blocks .al[data-mode="av"] .al-ans b { color: var(--muted-on-dark); }
.page-blocks .al-say { margin: 0; padding: 1rem 1.25rem; border-left: 3px solid var(--accent-spark, var(--accent)); background: color-mix(in srgb, var(--accent-spark, var(--accent)) 8%, transparent); color: var(--paper); font-size: 1.0625rem; }
.page-blocks .al-say:empty { display: none; }
.page-blocks .al-say.is-sr { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.page-blocks .pp-section:not(.pp-section--band, .pp-section--image) .al-q { background: var(--paper); border-color: var(--line); }
.page-blocks .pp-section:not(.pp-section--band, .pp-section--image) :is(.al-qh, .al-ans, .al-say) { color: var(--ink); }
.page-blocks .pp-section:not(.pp-section--band, .pp-section--image) :is(.al-qb, .al-now-h) { color: var(--muted); }
.page-blocks .pp-section:not(.pp-section--band, .pp-section--image) :is(.al-n, .al-ans b) { color: var(--accent-ink); }
@media (max-width: 61.99rem) { .page-blocks .al-qs { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { html .page-blocks :is(.al-ans, .al-viz li) { transition: none; } }
html[data-motion="off"] .page-blocks :is(.al-ans, .al-viz li) { transition: none; }

/* 段落換行更平均，窄螢幕不留一兩個字的短尾行。 */
.page-blocks [data-scene] p { text-wrap: pretty; }

/* issue 371：泡泡放在切換鈕下方，才不會壓到上面的提示行。 */
.page-blocks .al-tog .cfh-tip { bottom: auto; top: calc(100% + .625rem); }
.page-blocks .al-tog .cfh-tip::after { top: auto; bottom: 100%; border-width: 0 .4375rem .4375rem; border-top-color: transparent; border-bottom-color: var(--accent-dark); }
