/* ── Hard mode indicator ──────────────────────────────────────────────────── */
#hard-indicator{position:fixed;top:51px;left:50%;transform:translateX(-50%);z-index:31;font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--rd);letter-spacing:.18em;text-transform:uppercase;padding:2px 12px;border:1px solid rgba(255,71,87,.28);border-radius:4px;background:rgba(255,71,87,.07);display:none;}
#hard-indicator.show{display:block}

/* ── System warning overlay ───────────────────────────────────────────────── */
.ff-system-warning-overlay{position:fixed;inset:0;display:grid;place-items:center;pointer-events:none;opacity:0;z-index:40;font-size:clamp(5rem,16vw,15rem);line-height:.85;font-weight:950;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,70,70,.34);text-shadow:0 0 22px rgba(255,70,70,.75),0 0 70px rgba(255,40,40,.45),0 0 150px rgba(255,20,20,.25);transform:scale(.92);transition:opacity 180ms ease,transform 220ms ease;}
.ff-system-warning-overlay.is-visible{opacity:0.10;transform:scale(1);}
.ff-system-warning-overlay::before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 50%,rgba(239,68,68,.13),transparent 42%),radial-gradient(circle at 80% 50%,rgba(239,68,68,.16),transparent 34%),linear-gradient(90deg,transparent 0%,rgba(239,68,68,.08) 100%);opacity:0;transition:opacity 180ms ease;}
.ff-system-warning-overlay.is-visible::before{opacity:1;}
.ff-system-warning-overlay::after{position:fixed;right:clamp(1rem,4vw,4rem);top:50%;transform:translateY(-50%);width:min(34vw,420px);pointer-events:none;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:clamp(.72rem,1.15vw,1rem);line-height:1.7;letter-spacing:.04em;text-align:left;white-space:pre-line;color:rgba(255,190,190,.64);text-shadow:0 0 18px rgba(255,40,40,.28);opacity:0;transition:opacity 180ms ease,transform 220ms ease;}
.ff-system-warning-overlay.is-visible::after{opacity:1;transform:translateY(-50%) translateX(0);}
.ff-system-warning-overlay.level-1::after{content:"[warn] focus integrity compromised\A[penalty] discipline breach logged\A[system] return to focus";}
.ff-system-warning-overlay.level-2::after{content:"[error] build context unstable\A[rollback] checkpoint recovery started\A[system] further breach may crash";}
.ff-system-warning-overlay.level-3::after{content:"[signal] SIGSEGV\A[core] dumped\A[rollback] main.cpp\A[system] rebuild required";}
.ff-system-warning-overlay.level-1{color:rgba(255,100,80,.32);}
.ff-system-warning-overlay.level-2{color:rgba(255,55,55,.46);text-shadow:0 0 26px rgba(255,60,60,.85),0 0 84px rgba(255,30,30,.55),0 0 160px rgba(255,0,0,.30);}
.ff-system-warning-overlay.level-3{color:rgba(255,35,35,.58);text-shadow:0 0 34px rgba(255,70,70,1),0 0 110px rgba(255,20,20,.72),0 0 210px rgba(255,0,0,.42);}

/* ── Accessibility toggles ────────────────────────────────────────────────── */
.ff-access-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px;}
.ff-access-btn{padding:8px 10px;border:1px solid var(--br);border-radius:6px;color:var(--mu);font-family:'JetBrains Mono',monospace;font-size:10px;transition:all .2s ease;}
.ff-access-btn:hover{border-color:var(--mu);color:var(--tx);background:rgba(255,255,255,.03);}
.ff-access-btn.on{border-color:var(--ac);color:var(--ac);background:rgba(0,212,255,.08);box-shadow:0 0 14px rgba(0,212,255,.08);}
