:root {
  --bg:          #080808;
  --bg2:         #0d0d0d;
  --page-bg:     #090b09;
  --glass:       rgba(255,255,255,0.042);
  --glass-h:     rgba(255,255,255,0.072);
  --glass-b:     rgba(255,255,255,0.09);
  --shine:       rgba(255,255,255,0.12);
  --shadow:      0 12px 48px rgba(0,0,0,0.65), inset 0 1px 0 var(--shine);
  --text:        #f0f0f0;
  --sub:         rgba(240,240,240,0.50);
  --muted:       rgba(240,240,240,0.28);
  --accent:      #ffd166;
  --accent-dim:  rgba(255,209,102,0.15);
  --accent-glow: rgba(255,209,102,0.28);
  --teal:        #00e5c0;
  --teal-dim:    rgba(0,229,192,0.12);
  --teal-glow:   rgba(0,229,192,0.22);
  --ok:          #00e5a0;
  --ok-dim:      rgba(0,229,160,0.12);
  --warn:        #ffb800;
  --warn-dim:    rgba(255,184,0,0.12);
  --danger:      #ff3b5c;
  --danger-dim:  rgba(255,59,92,0.12);
  --r:           14px;
  --r-sm:        8px;
  --nav-h:       68px;
  --t:           0.25s cubic-bezier(0.4,0,0.2,1);
}

[data-theme="light"] {
  --bg:          #e8edf8;
  --bg2:         #dce3f5;
  --page-bg:     #edf1f3;
  --glass:       rgba(255,255,255,0.72);
  --glass-h:     rgba(255,255,255,0.92);
  --glass-b:     rgba(0,0,0,0.10);
  --shine:       rgba(255,255,255,1.0);
  --shadow:      0 4px 28px rgba(80,80,180,0.10), 0 1px 4px rgba(0,0,0,0.06), inset 0 1px 0 var(--shine);
  --text:        #0f0f1a;
  --sub:         rgba(15,15,26,0.75);
  --muted:       rgba(15,15,26,0.52);
  --accent:      #f0ad32;
  --accent-dim:  rgba(240,173,50,0.18);
  --accent-glow: rgba(180,120,0,0.32);
  --teal:        #0099a0;
  --teal-dim:    rgba(0,153,160,0.12);
  --teal-glow:   rgba(0,153,160,0.25);
  --ok:          #00a878;
  --ok-dim:      rgba(0,168,120,0.12);
  --warn:        #cc8800;
  --warn-dim:    rgba(204,136,0,0.12);
  --danger:      #d42040;
  --danger-dim:  rgba(212,32,64,0.10);
}

[data-theme="light"] .grad {
  background: linear-gradient(135deg, #b86f00 0%, #007f86 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.18));
}

[data-theme="light"] .badge {
  color: #704300;
  background: rgba(240,173,50,0.20);
  border-color: rgba(168,108,0,0.38);
  font-weight: 800;
}
[data-theme="light"] .badge-dot { background: #b86f00; }

[data-theme="light"] .logo-mark { box-shadow: 0 0 18px rgba(180,120,0,0.36); }

[data-theme="light"] .slider-info span:last-child { color: #704300; font-weight: 800; }

[data-theme="light"] .th-icon { background: rgba(240,173,50,0.18); border: 1px solid rgba(168,108,0,0.28); }
[data-theme="light"] .th-icon img { color: #704300; filter: drop-shadow(0 1px 2px rgba(0,0,0,0.35)); }

[data-theme="light"] .tog { border: 1.5px solid rgba(0,0,0,0.12); }
[data-theme="light"] .tog.on { background: rgba(240,173,50,0.18); border-color: #b86f00; color: #5e3900; font-weight: 700; }
[data-theme="light"] .tog.on .tog-box { background: #b86f00; border-color: #b86f00; color: #fff; }

[data-theme="light"] .q-opt { border: 1.5px solid rgba(0,0,0,0.13); box-shadow: 0 1px 4px rgba(0,0,0,0.05); }
[data-theme="light"] .q-opt:hover:not(:disabled) { background: rgba(240,173,50,0.14); border-color: #b86f00; }
[data-theme="light"] .q-opt-letter { background: rgba(0,0,0,0.08); color: var(--text); }

[data-theme="light"] .pill { background: rgba(255,255,255,0.80); border-color: rgba(0,0,0,0.13); }
[data-theme="light"] .pill img,
[data-theme="light"] .icon-inline,
[data-theme="light"] .file-drop-icon img {
  filter: drop-shadow(0 1px 2px rgba(0,0,0,0.45)) saturate(1.05) contrast(1.08);
}

[data-theme="light"] .glass {
  background: rgba(255,255,255,0.90);
  border-color: rgba(80,80,160,0.20);
  box-shadow: 0 6px 32px rgba(60,60,160,0.13), 0 2px 8px rgba(0,0,0,0.07), inset 0 1px 0 rgba(255,255,255,0.95);
}
[data-theme="light"] .quiz-card,
[data-theme="light"] .feat-card,
[data-theme="light"] .th-card,
[data-theme="light"] .pw-ctrl,
[data-theme="light"] .pw-out,
[data-theme="light"] .ch-in-wrap,
[data-theme="light"] .result-wrap,
[data-theme="light"] .loading-wrap {
  border: 1.5px solid rgba(70,70,180,0.24);
  box-shadow: 0 6px 28px rgba(40,40,160,0.12), 0 2px 6px rgba(0,0,0,0.08);
}

[data-theme="light"] .score-ring .ring-bg { stroke: rgba(0,0,0,0.12); }
[data-theme="light"] .str-seg { background: rgba(0,0,0,0.10); }
[data-theme="light"] .meta-tag { background: rgba(255,255,255,0.65); border-color: rgba(0,0,0,0.12); }
[data-theme="light"] .feat-icon { box-shadow: 0 4px 14px rgba(150,120,0,0.35); }
[data-theme="light"] .engine-row { background: rgba(255,255,255,0.65); border-color: rgba(0,0,0,0.08); }
[data-theme="light"] .engine-cat.harmless { background: rgba(0,168,120,0.15); color: var(--ok); }
[data-theme="light"] .engine-cat.undetected { background: rgba(0,0,0,0.07); color: var(--muted); }
[data-theme="light"] .pw-display { background: rgba(255,255,255,0.7); border-color: rgba(0,0,0,0.12); }
[data-theme="light"] .ch-input, [data-theme="light"] .pw-check-in { background: rgba(255,255,255,0.7); border-color: rgba(0,0,0,0.12); }
[data-theme="light"] .file-drop { border-color: rgba(0,0,0,0.18); background: rgba(255,255,255,0.5); }
[data-theme="light"] .checker-tabs { background: rgba(255,255,255,0.75); border-color: rgba(0,0,0,0.12); }
[data-theme="light"] .stat-box { background: rgba(255,255,255,0.7); border-color: rgba(0,0,0,0.10); }
[data-theme="light"] .toast.info { color: #6a4000; }

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html {
  scroll-behavior:smooth;
  min-height:100%;
  background:#090b09;
}
body {
  font-family:'Manrope',sans-serif;
  background:transparent;
  color:var(--text);
  min-height:100vh;
  overflow-x:hidden;
  overscroll-behavior-y:none;
  position:relative;
  z-index:0;
}
[data-theme="dark"] body::before,
body::before {
  content:'';
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 5%, rgba(255,209,102,0.055) 0%, transparent 28%),
    radial-gradient(circle at 86% 18%, rgba(0,229,192,0.05) 0%, transparent 32%),
    linear-gradient(180deg, #0b0d0a 0%, #090b09 48%, #070908 100%);
}
html[data-theme="light"] { background:#edf1f3; }
[data-theme="light"] body {
  background:transparent;
}
[data-theme="light"] body::before {
  background:
    radial-gradient(circle at 16% 6%, rgba(195,170,40,0.10) 0%, transparent 30%),
    radial-gradient(circle at 86% 18%, rgba(0,130,150,0.085) 0%, transparent 34%),
    linear-gradient(180deg, #f3f6f5 0%, #edf1f3 52%, #e7ecef 100%);
}
.icon-png,.icon-inline { display:block; object-fit:contain; flex-shrink:0; }
.icon-inline { width:16px; height:16px; }
::selection { background:var(--accent); color:#000; }

.bg-orbs {
  position:fixed; inset:0; z-index:0;
  pointer-events:none; overflow:hidden;
  opacity:0.9;
}
.orb {
  position:absolute;
  border-radius:50%;
  transform:translateZ(0);
}
.orb1 {
  width:560px; height:560px;
  top:-170px; left:-190px;
  background:radial-gradient(circle at 40% 40%, rgba(255,209,102,0.105) 0%, rgba(255,209,102,0.035) 36%, transparent 68%);
  filter:blur(74px);
}
.orb2 {
  width:620px; height:620px;
  bottom:-230px; right:-210px;
  background:radial-gradient(circle at 55% 45%, rgba(0,229,192,0.09) 0%, rgba(0,229,192,0.035) 38%, transparent 70%);
  filter:blur(82px);
}
.orb3 {
  width:420px; height:420px;
  top:38%; left:35%;
  background:radial-gradient(circle at 50% 50%, rgba(110,135,170,0.045) 0%, transparent 70%);
  filter:blur(96px);
}
.orb4 {
  width:340px; height:340px;
  top:8%; right:9%;
  background:radial-gradient(circle at 50% 50%, rgba(0,229,192,0.048) 0%, transparent 68%);
  filter:blur(78px);
}
.orb5 {
  width:300px; height:300px;
  bottom:18%; left:4%;
  background:radial-gradient(circle at 50% 50%, rgba(255,209,102,0.04) 0%, transparent 70%);
  filter:blur(84px);
}

[data-theme="light"] .bg-orbs { opacity:0.72; }
[data-theme="light"] .orb1 { background:radial-gradient(circle at 40% 40%, rgba(205,170,40,0.16) 0%, rgba(205,170,40,0.045) 38%, transparent 68%); }
[data-theme="light"] .orb2 { background:radial-gradient(circle at 60% 60%, rgba(0,140,150,0.13) 0%, rgba(0,140,150,0.04) 38%, transparent 70%); }
[data-theme="light"] .orb3 { background:radial-gradient(circle at 50% 50%, rgba(95,105,140,0.06) 0%, transparent 70%); }
[data-theme="light"] .orb4 { background:radial-gradient(circle at 50% 50%, rgba(0,130,150,0.075) 0%, transparent 68%); }
[data-theme="light"] .orb5 { background:radial-gradient(circle at 50% 50%, rgba(205,170,40,0.065) 0%, transparent 70%); }

.glass {
  background:var(--glass);
  backdrop-filter:blur(28px) saturate(160%);
  -webkit-backdrop-filter:blur(28px) saturate(160%);
  border:1px solid var(--glass-b);
  border-radius:var(--r);
  box-shadow:var(--shadow);
  position:relative; overflow:hidden;
}
.glass::after {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--shine),transparent);
  pointer-events:none;
}
[data-theme="light"] .glass {
  background: rgba(255,255,255,0.90);
  border-color: rgba(80,80,160,0.20);
  box-shadow: 0 6px 32px rgba(60,60,160,0.13), 0 2px 8px rgba(0,0,0,0.07), inset 0 1px 0 rgba(255,255,255,0.95);
}

nav {
  position:fixed; top:16px; left:50%; transform:translateX(-50%);
  width:min(97%,1060px); height:var(--nav-h);
  z-index:1000;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 20px; border-radius:50px;
}
.logo {
  font-family:'Unbounded',sans-serif; font-weight:900;
  font-size:clamp(0.75rem,2.5vw,1.05rem);
  letter-spacing:-0.03em; color:var(--text);
  text-decoration:none; display:flex; align-items:center; gap:10px;
  white-space:nowrap; overflow:hidden; flex-shrink:1; min-width:0;
}
.logo-word { overflow:hidden; text-overflow:ellipsis; }
.logo-mark {
  width:34px; height:34px; background:var(--accent); border-radius:9px;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  box-shadow:0 0 18px var(--accent-glow);
}
.logo-mark img { width:18px; height:18px; }
.nav-links { display:flex; gap:2px; list-style:none; }
.nav-links a {
  font-size:0.82rem; font-weight:500; color:var(--sub); text-decoration:none;
  padding:8px 16px; border-radius:40px;
  transition:color var(--t), background var(--t); letter-spacing:0.01em;
}
.nav-links a:hover,.nav-links a.active { color:var(--text); background:var(--glass-h); }
.nav-right { display:flex; gap:8px; align-items:center; flex-shrink:0; }
.icon-btn {
  width:38px; height:38px; border-radius:10px;
  background:var(--glass); border:1px solid var(--glass-b);
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  color:var(--sub); transition:background 0.16s ease, border-color 0.16s ease, color 0.16s ease; backdrop-filter:blur(12px); flex-shrink:0;
  position:relative; z-index:10;
}
.icon-btn:hover { background:var(--glass-h); color:var(--text); }
.icon-btn img { width:16px; height:16px; }
.бургер-кнопка {
  display:none; width:38px; height:38px; border-radius:10px;
  background:var(--glass); border:1px solid var(--glass-b);
  cursor:pointer; align-items:center; justify-content:center;
  backdrop-filter:blur(12px); flex-shrink:0; z-index:1100;
  padding:0; outline:none; transition:background 0.2s, border-color 0.2s;
}
.бургер-кнопка:hover { background:var(--glass-h); }
.бургер-иконка {
  width:16px; height:12px; position:relative; display:flex;
  flex-direction:column; justify-content:space-between; pointer-events:none;
}
.бургер-иконка span {
  display:block; width:16px; height:2px; border-radius:2px; background:var(--text);
  transition: transform 0.32s cubic-bezier(0.4,0,0.2,1), opacity 0.22s ease;
  transform-origin: center;
}
.бургер-кнопка.открыт { background:var(--accent-dim); border-color:rgba(255,209,102,0.35); }
.бургер-кнопка.открыт .бургер-иконка span:nth-child(1) { transform: translateY(5px) rotate(45deg); }
.бургер-кнопка.открыт .бургер-иконка span:nth-child(2) { opacity:0; transform: scaleX(0); }
.бургер-кнопка.открыт .бургер-иконка span:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }
.бургер-кнопка.открыт .бургер-иконка span { background:var(--accent); }
@media(max-width:720px){ .nav-links{display:none;} .бургер-кнопка{display:flex;} .logo{font-size:0.82rem;} }
@media(max-width:520px){
  :root { --nav-h:58px; }
  nav {
    top:8px;
    width:calc(100% - 12px);
    height:var(--nav-h);
    padding:0 8px;
    border-radius:18px;
  }
  .logo { gap:7px; font-size:0.74rem; max-width:calc(100% - 112px); }
  .logo-word { font-size:0; }
  .logo-word::after { content:'КиберБез'; font-size:0.74rem; }
  .logo-mark { width:30px; height:30px; border-radius:8px; }
  .logo-mark img { width:16px; height:16px; }
  .nav-right { gap:4px; }
  .icon-btn,.бургер-кнопка { width:32px; height:32px; border-radius:8px; }
  .icon-btn img { width:14px; height:14px; }
  section { padding-left:16px; padding-right:16px; }
  section:first-child { padding-top:calc(var(--nav-h) + 86px); }
  .hero-h {
    font-size:clamp(1.95rem,9.4vw,2.42rem);
    line-height:1.05;
    letter-spacing:-0.06em;
  }
  .hero-desc { font-size:0.96rem; max-width:100%; }
}
@media(max-width:430px){
  .logo { max-width:calc(100% - 108px); }
  .hero-h { font-size:clamp(1.88rem,9.2vw,2.22rem); }
}
@media(max-width:360px){
  .logo-word::after { content:'КиберБез'; font-size:0.72rem; }
  .hero-h { font-size:1.82rem; }
  .btn { padding:11px 18px; }
}

.мобильное-меню {
  position:fixed; inset:0; z-index:1050;
  background:rgba(8,8,8,0.97); backdrop-filter:blur(28px) saturate(140%);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
  opacity:0; pointer-events:none;
  transition:opacity 0.28s ease;
}
[data-theme="light"] .мобильное-меню { background:rgba(238,242,255,0.97); }
.мобильное-меню.открыт { opacity:1; pointer-events:all; }

.мобильное-меню .меню-пункт {
  width:min(280px, 80vw); text-align:center; padding:14px 20px; border-radius:var(--r-sm);
  font-family:'Manrope',sans-serif; font-size:0.97rem; font-weight:600;
  color:var(--text); text-decoration:none;
  background:var(--glass); border:1px solid var(--glass-b);
  cursor:pointer; transition:background 0.2s, transform 0.18s;
  opacity:1; transform:none;
}
.мобильное-меню .меню-пункт:hover { background:var(--glass-h); transform:translateY(-1px); }
.мобильное-меню .меню-закрыть { background:var(--glass); color:var(--muted); border:1px solid var(--glass-b); }
.мобильное-меню .меню-закрыть:hover { color:var(--danger); border-color:var(--danger); background:var(--danger-dim); }

main { position:relative; z-index:1; }
section { padding:80px 24px; max-width:1120px; margin:0 auto; }
section:first-child { padding-top:calc(var(--nav-h) + 48px + 48px); }

.badge {
  display:inline-flex; align-items:center; gap:7px;
  background:var(--glass); border:1px solid var(--glass-b);
  border-radius:40px; padding:5px 14px;
  font-size:0.7rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--accent); margin-bottom:22px; backdrop-filter:blur(12px);
}
.badge-dot {
  width:5px; height:5px; border-radius:50%; background:var(--accent);
}

h1,h2,h3 { font-family:'Unbounded',sans-serif; line-height:1.1; }
.hero-h {
  font-size:clamp(2.4rem,6.5vw,5.2rem); font-weight:900;
  letter-spacing:-0.04em; margin-bottom:20px;
  overflow-wrap:normal; word-break:normal;
}
.hero-h .grad { white-space:nowrap; }
.grad {
  background:linear-gradient(135deg,#ffd166 0%,#ffb14a 45%,#00d0b4 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
[data-theme="light"] .grad {
  background:linear-gradient(135deg,#c8a800 0%,#1a9a40 45%,#006fa8 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.hero-desc { font-size:1.05rem; color:var(--sub); line-height:1.75; max-width:480px; margin-bottom:36px; font-weight:400; }
.hero-pills { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:40px; }
.pill {
  display:flex; align-items:center; gap:8px;
  background:var(--glass); border:1px solid var(--glass-b);
  border-radius:40px; padding:9px 16px;
  font-size:0.8rem; font-weight:500; color:var(--sub); backdrop-filter:blur(10px);
}
.pill img { width:14px; height:14px; color:var(--teal); flex-shrink:0; }
.pill strong { color:var(--text); }

.btn {
  display:inline-flex; align-items:center; gap:8px;
  padding:12px 24px; border-radius:var(--r-sm);
  font-family:'Manrope',sans-serif; font-size:0.88rem; font-weight:700;
  cursor:pointer; border:none; text-decoration:none;
  transition:background 0.16s ease, color 0.16s ease, box-shadow 0.16s ease; position:relative; letter-spacing:0.01em;
}
.btn:active { transform:scale(0.97); }
.btn-accent { background:var(--accent); color:#000; box-shadow:0 0 28px var(--accent-glow); }
.btn-accent:hover { transform:translateY(-2px); box-shadow:0 4px 36px var(--accent-glow); }
.btn-ghost { background:var(--glass); border:1px solid var(--glass-b); color:var(--text); backdrop-filter:blur(12px); }
.btn-ghost:hover { background:var(--glass-h); transform:translateY(-1px); }
.btn-sm { padding:8px 16px; font-size:0.8rem; }
.btn-wide { width:100%; justify-content:center; }
.btn-danger-line { background:var(--danger-dim); border:1px solid var(--danger); color:var(--danger); }
.btn-danger-line:hover { background:rgba(255,59,92,0.2); }

.cards-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:14px; margin-top:64px; }
.feat-card {
  padding:28px 24px; cursor:default;
  transition:transform 0.15s ease-out, box-shadow 0.15s ease-out;
}
.feat-icon {
  width:44px; height:44px; border-radius:11px;
  background:var(--accent); display:flex; align-items:center; justify-content:center;
  margin-bottom:18px; flex-shrink:0; box-shadow:0 4px 18px var(--accent-glow);
}
.feat-icon img { width:20px; height:20px; color:#000; }
.feat-card h3 { font-size:0.95rem; font-weight:700; margin-bottom:8px; font-family:'Unbounded',sans-serif; letter-spacing:-0.02em; }
.feat-card p  { font-size:0.84rem; color:var(--sub); line-height:1.7; }

[data-theme="light"] .feat-card { border-color:rgba(70,70,180,0.22); }
[data-theme="light"] .feat-icon { box-shadow:0 4px 14px rgba(150,130,0,0.30); }

.sec-title { font-size:clamp(1.7rem,4vw,2.6rem); font-weight:900; margin-bottom:10px; letter-spacing:-0.03em; }
.sec-desc  { color:var(--sub); line-height:1.75; max-width:540px; margin-bottom:36px; font-size:0.93rem; }

.progress-track { height:2px; background:var(--glass-b); border-radius:2px; margin-bottom:28px; overflow:hidden; }
.progress-fill  { height:100%; background:var(--accent); border-radius:2px; transition:width 0.18s ease; }
.quiz-wrap { max-width:680px; }
.quiz-card { padding:36px; }
[data-theme="light"] .quiz-card { border:1.5px solid rgba(70,70,180,0.22); }
.q-meta { font-family:'JetBrains Mono',monospace; font-size:0.7rem; color:var(--muted); letter-spacing:0.08em; margin-bottom:18px; }
.q-text { font-family:'Unbounded',sans-serif; font-size:1.05rem; font-weight:700; margin-bottom:24px; line-height:1.4; letter-spacing:-0.02em; }
.q-opts { display:flex; flex-direction:column; gap:8px; }
.q-opt {
  padding:14px 18px; border-radius:var(--r-sm);
  background:var(--glass); border:1px solid var(--glass-b);
  cursor:pointer; font-size:0.88rem; font-weight:500;
  color:var(--text); text-align:left; display:flex; align-items:center; gap:12px;
  transition:background 0.16s ease, border-color 0.16s ease, color 0.16s ease; backdrop-filter:blur(8px); width:100%;
}
[data-theme="light"] .q-opt { border:1.5px solid rgba(0,0,80,0.28); box-shadow:0 2px 8px rgba(0,0,100,0.10); background:rgba(255,255,255,0.85); }
.q-opt-letter {
  width:24px; height:24px; border-radius:6px;
  background:var(--glass-b); display:flex; align-items:center; justify-content:center;
  font-family:'JetBrains Mono',monospace; font-size:0.72rem; font-weight:600;
  flex-shrink:0; transition:background 0.16s ease, color 0.16s ease;
}
[data-theme="light"] .q-opt-letter { background:rgba(0,0,0,0.08); color:var(--text); }
.q-opt:hover:not(:disabled) { background:var(--glass-h); border-color:var(--accent); transform:translateX(3px); }
[data-theme="light"] .q-opt:hover:not(:disabled) { background:rgba(240,173,50,0.15); border-color:rgba(168,108,0,0.52); }
.q-opt.correct { background:var(--ok-dim); border-color:var(--ok); color:var(--ok); }
.q-opt.correct .q-opt-letter { background:var(--ok); color:#000; }
.q-opt.wrong   { background:var(--danger-dim); border-color:var(--danger); color:var(--danger); }
.q-opt.wrong   .q-opt-letter { background:var(--danger); color:#fff; }
.q-explain {
  margin-top:16px; padding:14px 18px; border-radius:var(--r-sm);
  background:var(--accent-dim); border:1px solid rgba(255,209,102,0.22);
  font-size:0.84rem; color:var(--sub); line-height:1.65; display:none;
}
.q-explain.show { display:block; }
.q-nav { margin-top:20px; display:flex; justify-content:flex-end; }

.score-wrap { text-align:center; padding:44px 36px; }
.score-ring { width:148px; height:148px; margin:0 auto 28px; position:relative; }
.score-ring svg { transform:rotate(-90deg); }
.ring-bg   { stroke:var(--glass-b); }
.ring-fill { stroke:url(#rg); stroke-linecap:round; transition:stroke-dashoffset 1.2s cubic-bezier(0.4,0,0.2,1); }
[data-theme="light"] .ring-bg { stroke:rgba(0,0,0,0.12); }
.score-num { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:'Unbounded',sans-serif; font-size:2.2rem; font-weight:900; }
.score-lbl { font-family:'Unbounded',sans-serif; font-size:1.3rem; font-weight:700; margin-bottom:10px; }
.score-msg { color:var(--sub); font-size:0.9rem; line-height:1.7; max-width:420px; margin:0 auto 28px; }
.score-btns { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }

.pwgen-grid { display:grid; grid-template-columns:300px 1fr; gap:14px; align-items:start; }
@media(max-width:740px){.pwgen-grid{grid-template-columns:1fr;}}
.pw-ctrl { padding:28px; }
[data-theme="light"] .pw-ctrl { border:1.5px solid rgba(70,70,180,0.22); }
.pw-ctrl-label { font-size:0.68rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); margin-bottom:16px; }
.slider-row { margin-bottom:22px; }
.slider-info { display:flex; justify-content:space-between; font-size:0.84rem; margin-bottom:8px; }
.slider-info span:last-child { font-family:'JetBrains Mono',monospace; font-weight:600; color:var(--accent); }
[data-theme="light"] .slider-info span:last-child { color:#7a6900; text-shadow:0 1px 2px rgba(0,0,0,0.2); }
input[type=range] {
  -webkit-appearance:none; width:100%; height:3px;
  background:var(--glass-b); border-radius:3px; outline:none; cursor:pointer;
}
input[type=range]::-webkit-slider-thumb {
  -webkit-appearance:none; width:16px; height:16px; border-radius:50%;
  background:var(--accent); box-shadow:0 2px 8px var(--accent-glow); cursor:pointer;
}
.toggle-grid { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin-bottom:20px; }
.tog {
  display:flex; align-items:center; gap:7px; padding:9px 11px; border-radius:var(--r-sm);
  background:var(--glass); border:1px solid var(--glass-b); cursor:pointer;
  font-size:0.8rem; font-weight:500; user-select:none; transition:background 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}
[data-theme="light"] .tog { border:1.5px solid rgba(0,0,0,0.12); }
.tog.on { background:var(--accent-dim); border-color:var(--accent); color:var(--accent); }
[data-theme="light"] .tog.on { color:#5a4d00; font-weight:700; }
.tog-box { width:13px; height:13px; border-radius:3px; border:1.5px solid var(--glass-b); flex-shrink:0; display:flex; align-items:center; justify-content:center; transition:background 0.16s ease, border-color 0.16s ease, color 0.16s ease; }
.tog.on .tog-box { background:var(--accent); border-color:var(--accent); color:#000; }
.tog-box img { width:8px; height:8px; }
.pw-out { padding:28px; }
[data-theme="light"] .pw-out { border:1.5px solid rgba(70,70,180,0.22); }
.pw-display {
  background:rgba(0,0,0,0.3); border:1px solid var(--glass-b);
  border-radius:var(--r-sm); padding:18px;
  font-family:'JetBrains Mono',monospace; font-size:1rem; font-weight:500;
  color:var(--teal); word-break:break-all; min-height:72px;
  display:flex; align-items:center; margin-bottom:18px; letter-spacing:0.04em;
}
[data-theme="light"] .pw-display { background:rgba(255,255,255,0.7); border-color:rgba(0,0,0,0.12); }
.pw-display.empty { color:var(--muted); font-size:0.85rem; font-weight:400; font-family:'Manrope',sans-serif; }
.strength-row { margin-bottom:16px; }
.strength-info { display:flex; justify-content:space-between; font-size:0.78rem; color:var(--muted); margin-bottom:6px; }
.strength-info strong { font-weight:600; }
.str-bar { display:flex; gap:3px; }
.str-seg { height:5px; flex:1; border-radius:3px; background:var(--glass-b); transition:background 0.4s, box-shadow 0.4s; }
[data-theme="light"] .str-seg { background:rgba(0,0,0,0.10); }
.str-seg.s1 { background:var(--danger); box-shadow:0 0 8px var(--danger-dim); }
.str-seg.s2 { background:var(--warn);   box-shadow:0 0 8px var(--warn-dim); }
.str-seg.s3 { background:#84cc16; }
.str-seg.s4 { background:var(--ok);     box-shadow:0 0 8px var(--ok-dim); }
.pw-meta { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:20px; }
.meta-tag { font-family:'JetBrains Mono',monospace; font-size:0.72rem; color:var(--muted); background:var(--glass); border:1px solid var(--glass-b); padding:4px 11px; border-radius:4px; }
[data-theme="light"] .meta-tag { background:rgba(255,255,255,0.6); border-color:rgba(0,0,0,0.12); }
.pw-btns { display:flex; gap:8px; flex-wrap:wrap; }
.pw-check-in {
  width:100%; background:rgba(0,0,0,0.3); border:1px solid var(--glass-b);
  border-radius:var(--r-sm); padding:14px 16px;
  font-family:'JetBrains Mono',monospace; font-size:0.9rem; color:var(--text);
  outline:none; margin-bottom:16px; transition:border-color var(--t), box-shadow var(--t);
}
[data-theme="light"] .pw-check-in { background:rgba(255,255,255,0.7); border-color:rgba(0,0,0,0.12); }
.pw-check-in:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-glow); }
.pw-check-in::placeholder { color:var(--muted); }

.checker-tabs {
  display:flex; gap:4px; margin-bottom:22px;
  background:var(--glass); border:1px solid var(--glass-b);
  border-radius:50px; padding:4px; width:fit-content; backdrop-filter:blur(14px);
}
[data-theme="light"] .checker-tabs { background:rgba(255,255,255,0.80); border-color:rgba(0,0,0,0.12); }
.ch-tab {
  padding:9px 24px; border-radius:50px;
  font-family:'Unbounded',sans-serif;
  font-size:0.68rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase;
  cursor:pointer; background:transparent; color:var(--sub); border:none;
  transition:background 0.16s ease, color 0.16s ease, box-shadow 0.16s ease; white-space:nowrap;
}
.ch-tab.active { background:var(--accent); color:#000; box-shadow:0 2px 16px var(--accent-glow); }

.ch-panel { max-width:760px; width:100%; margin-inline:auto; }
.ch-in-wrap { padding:28px; margin-bottom:14px; }
[data-theme="light"] .ch-in-wrap { border:1.5px solid rgba(70,70,180,0.22); }
.ch-input {
  width:100%; background:rgba(0,0,0,0.3); border:1px solid var(--glass-b);
  border-radius:var(--r-sm); padding:13px 16px; font-size:0.9rem;
  color:var(--text); font-family:'Manrope',sans-serif; outline:none; margin-bottom:14px;
  transition:border-color var(--t), box-shadow var(--t);
}
[data-theme="light"] .ch-input { background:rgba(255,255,255,0.7); border-color:rgba(0,0,0,0.12); }
.ch-input:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-glow); }
.ch-input::placeholder { color:var(--muted); }

.file-drop {
  width:100%; border:2px dashed var(--glass-b); border-radius:var(--r-sm);
  padding:32px 20px; text-align:center; cursor:pointer;
  transition:border-color 0.16s ease, background 0.16s ease; margin-bottom:14px; background:var(--glass);
}
[data-theme="light"] .file-drop { border-color:rgba(0,0,0,0.18); background:rgba(255,255,255,0.5); }
.file-drop:hover,.file-drop.over { border-color:var(--accent); background:var(--accent-dim); }
.file-drop p { font-size:0.84rem; color:var(--sub); margin-top:6px; }
.file-drop .big { font-size:0.95rem; font-weight:600; }
.file-drop-icon { width:40px; height:40px; margin:0 auto 10px; color:var(--muted); }
.file-drop-icon img { width:100%; height:100%; }
.fname { font-family:'JetBrains Mono',monospace; font-size:0.78rem; color:var(--teal); text-align:center; margin-bottom:14px; display:none; }

.loading-wrap { display:none; text-align:center; padding:36px; }
.loading-wrap.show { display:block; }
[data-theme="light"] .loading-wrap { border:1.5px solid rgba(100,100,180,0.13); }
.spinner { width:44px; height:44px; border:2.5px solid var(--glass-b); border-top-color:var(--accent); border-radius:50%; animation:spin 0.85s linear infinite; margin:0 auto 14px; }
@keyframes spin { to{transform:rotate(360deg)} }
.loading-wrap p { color:var(--sub); font-size:0.87rem; }
.progress-txt { font-family:'JetBrains Mono',monospace; font-size:0.72rem; color:var(--accent); margin-top:8px; }
[data-theme="light"] .progress-txt { color:#7a6900; }

.result-wrap { padding:24px; display:none; }
.result-wrap.show { display:block; }
[data-theme="light"] .result-wrap { border:1.5px solid rgba(70,70,180,0.22); }
.result-top { display:flex; align-items:center; gap:14px; margin-bottom:22px; }
.result-icon { width:50px; height:50px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.result-icon img { width:24px; height:24px; }
.result-icon.safe    { background:var(--ok-dim);     color:var(--ok); }
.result-icon.warning { background:var(--warn-dim);   color:var(--warn); }
.result-icon.danger  { background:var(--danger-dim); color:var(--danger); }
.result-title { font-family:'Unbounded',sans-serif; font-size:1.05rem; font-weight:700; letter-spacing:-0.02em; }
.result-sub   { font-size:0.82rem; color:var(--sub); margin-top:3px; }

.stat-row { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-bottom:20px; }
@media(max-width:480px){.stat-row{grid-template-columns:repeat(2,1fr);}}
.stat-box { background:var(--glass); border:1px solid var(--glass-b); border-radius:var(--r-sm); padding:12px; text-align:center; }
[data-theme="light"] .stat-box { background:rgba(255,255,255,0.7); border-color:rgba(0,0,0,0.10); }
.stat-box-num { font-family:'Unbounded',sans-serif; font-size:1.4rem; font-weight:900; margin-bottom:3px; }
.stat-box-num.bad  { color:var(--danger); }
.stat-box-num.warn { color:var(--warn); }
.stat-box-num.good { color:var(--ok); }
.stat-box-lbl { font-size:0.7rem; color:var(--muted); font-weight:500; }

.engines-title { font-size:0.72rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--muted); margin-bottom:10px; }
.engines-list { display:flex; flex-direction:column; gap:4px; max-height:320px; overflow-y:auto; border-radius:var(--r-sm); }
.engines-list::-webkit-scrollbar { width:4px; }
.engines-list::-webkit-scrollbar-track { background:transparent; }
.engines-list::-webkit-scrollbar-thumb { background:var(--glass-b); border-radius:2px; }
.engine-row {
  display:flex; align-items:center; gap:10px; padding:8px 12px;
  border-radius:6px; font-size:0.8rem; background:var(--glass); border:1px solid var(--glass-b);
}
[data-theme="light"] .engine-row { background:rgba(255,255,255,0.65); border-color:rgba(0,0,0,0.08); }
.engine-row.malicious  { background:var(--danger-dim); border-color:rgba(255,59,92,0.2); }
.engine-row.suspicious { background:var(--warn-dim);   border-color:rgba(255,184,0,0.2); }
.engine-name { font-weight:600; min-width:140px; }
.engine-cat { padding:2px 8px; border-radius:3px; font-size:0.68rem; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; }
.engine-cat.malicious  { background:var(--danger); color:#fff; }
.engine-cat.suspicious { background:var(--warn); color:#000; }
.engine-cat.harmless   { background:var(--ok-dim); color:var(--ok); border:1px solid var(--ok); }
.engine-cat.undetected { background:var(--glass-b); color:var(--muted); }
[data-theme="light"] .engine-cat.harmless { background:rgba(0,168,120,0.15); color:var(--ok); }
[data-theme="light"] .engine-cat.undetected { background:rgba(0,0,0,0.08); color:var(--muted); }
.engine-result { color:var(--sub); font-style:italic; font-size:0.76rem; margin-left:auto; }

.theory-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:14px; }
.th-card { padding:28px 24px; cursor:default; transition:transform 0.15s ease-out, box-shadow 0.15s ease-out; }
[data-theme="light"] .th-card { border:1.5px solid rgba(70,70,180,0.22); }
.th-icon { width:38px; height:38px; border-radius:9px; background:var(--glass-h); display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
[data-theme="light"] .th-icon { background:rgba(240,173,50,0.22); border:1px solid rgba(168,108,0,0.28); }
.th-icon img { width:18px; height:18px; color:var(--accent); }
[data-theme="light"] .th-icon img { color:#5a4d00; filter:drop-shadow(0 1px 2px rgba(0,0,0,0.25)); }
.th-card h3 { font-family:'Unbounded',sans-serif; font-size:0.9rem; font-weight:700; margin-bottom:10px; letter-spacing:-0.02em; display:flex; align-items:center; gap:8px; }
.th-card p  { font-size:0.84rem; color:var(--sub); line-height:1.7; }
.th-card ul { padding-left:16px; margin-top:8px; }
.th-card li { font-size:0.82rem; color:var(--sub); line-height:1.7; }

footer { position:relative; z-index:1; text-align:center; padding:36px 24px; border-top:1px solid var(--glass-b); color:var(--muted); font-size:0.78rem; }
footer a { color:var(--sub); text-decoration:none; }
footer a:hover { color:var(--text); }

.toasts { position:fixed; bottom:20px; right:20px; z-index:9999; display:flex; flex-direction:column; gap:7px; }
.toast { padding:11px 18px; border-radius:var(--r-sm); font-size:0.84rem; font-weight:600; backdrop-filter:blur(20px); border:1px solid var(--glass-b); box-shadow:var(--shadow); pointer-events:none; max-width:280px; }
.toast.ok   { background:var(--ok-dim);     border-color:var(--ok);     color:var(--ok); }
.toast.err  { background:var(--danger-dim); border-color:var(--danger); color:var(--danger); }
.toast.info { background:var(--accent-dim); border-color:var(--accent); color:var(--accent); }
[data-theme="light"] .toast.info { color:#5a4d00; }

.reveal { opacity:1; transform:none; transition:none; }
.reveal.d1,.reveal.d2,.reveal.d3 { transition-delay:0s; }
.reveal.vis { opacity:1; transform:none; }

.warn-notice { background:var(--warn-dim); border:1px solid rgba(255,184,0,0.25); border-radius:var(--r-sm); padding:10px 14px; font-size:0.8rem; color:var(--warn); margin-bottom:14px; display:none; }
.warn-notice.show { display:block; }

[data-a11y="on"] {
  --bg:          #ffffff !important;
  --bg2:         #f0f0f0 !important;
  --glass:       rgba(255,255,255,0.98) !important;
  --glass-h:     rgba(245,245,255,1.0)  !important;
  --glass-b:     rgba(0,0,80,0.30)      !important;
  --shine:       rgba(255,255,255,1.0)  !important;
  --shadow:      0 2px 16px rgba(0,0,0,0.18), 0 1px 4px rgba(0,0,0,0.12) !important;
  --text:        #000000 !important;
  --sub:         #1a1a1a !important;
  --muted:       #444444 !important;
  --accent:      #003f9e !important;
  --accent-dim:  rgba(0,63,158,0.12)  !important;
  --accent-glow: rgba(0,63,158,0.26)  !important;
  --teal:        #005c4a !important;
  --teal-dim:    rgba(0,92,74,0.12)   !important;
  --teal-glow:   rgba(0,92,74,0.22)   !important;
  --ok:          #005c2a !important;
  --ok-dim:      rgba(0,92,42,0.14)   !important;
  --danger:      #b80000 !important;
  --danger-dim:  rgba(184,0,0,0.12)   !important;
  --warn:        #7a4d00 !important;
  --warn-dim:    rgba(122,77,0,0.12)  !important;
  --r:           10px !important;
  --t:           0s   !important;
}

[data-a11y="on"] body {
  font-family: Arial, Verdana, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.7 !important;
  letter-spacing: 0.02em !important;
}

[data-a11y="on"] p, [data-a11y="on"] li, [data-a11y="on"] .feat-card p,
[data-a11y="on"] .th-card p, [data-a11y="on"] .th-card li,
[data-a11y="on"] .hero-desc, [data-a11y="on"] .sec-desc {
  font-size: 1.1rem !important;
  line-height: 1.75 !important;
  color: #000000 !important;
}

[data-a11y="on"] .hero-h {
  font-size: clamp(2.25rem, 7vw, 4.5rem) !important;
  letter-spacing: -0.02em !important;
  color: #000000 !important;
  -webkit-text-fill-color: unset !important;
  overflow-wrap:break-word !important;
}

[data-a11y="on"] .grad {
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  -webkit-text-fill-color: #0033bb !important;
  color: #0033bb !important;
}

[data-a11y="on"] .sec-title {
  font-size: clamp(2rem, 5vw, 3rem) !important;
  color: #000000 !important;
}

[data-a11y="on"] .feat-card h3, [data-a11y="on"] .th-card h3 {
  font-size: 1.15rem !important;
  color: #000000 !important;
}

[data-a11y="on"] .q-text {
  font-size: 1.15rem !important;
  color: #000000 !important;
  line-height: 1.6 !important;
}

[data-a11y="on"] .q-opt {
  font-size: 1.05rem !important;
  padding: 16px 20px !important;
}

[data-a11y="on"] .nav-links a {
  font-size: 1rem !important;
  color: #000000 !important;
}

[data-a11y="on"] .logo {
  font-size: 0.95rem !important;
  color: #000000 !important;
  min-width:0 !important;
}

[data-a11y="on"] .badge {
  font-size: 0.85rem !important;
  padding: 6px 16px !important;
}

[data-a11y="on"] .pill {
  font-size: 0.95rem !important;
}

[data-a11y="on"] .btn {
  font-size: 1rem !important;
  padding: 14px 28px !important;
}

[data-a11y="on"] .ch-tab {
  font-size: 0.85rem !important;
  padding: 10px 24px !important;
}

[data-a11y="on"] .ch-input, [data-a11y="on"] .pw-check-in {
  font-size: 1.05rem !important;
  padding: 15px 18px !important;
}

[data-a11y="on"] .btn,
[data-a11y="on"] .pill,
[data-a11y="on"] .ch-tab,
[data-a11y="on"] .tog,
[data-a11y="on"] .q-opt,
[data-a11y="on"] .pw-display,
[data-a11y="on"] .engine-row,
[data-a11y="on"] .meta-tag {
  overflow-wrap:anywhere !important;
}

[data-a11y="on"] .pw-display {
  font-size: 1.1rem !important;
  line-height: 1.8 !important;
}

[data-a11y="on"] .engine-name { font-size: 0.95rem !important; }
[data-a11y="on"] .engine-cat  { font-size: 0.82rem !important; }
[data-a11y="on"] .result-title { font-size: 1.2rem !important; }
[data-a11y="on"] .result-sub   { font-size: 0.95rem !important; }
[data-a11y="on"] .stat-box-num { font-size: 1.6rem !important; }
[data-a11y="on"] .stat-box-lbl { font-size: 0.85rem !important; }

[data-a11y="on"] .score-num { font-size: 2.5rem !important; }
[data-a11y="on"] .score-lbl { font-size: 1.5rem !important; }
[data-a11y="on"] .score-msg { font-size: 1.0rem !important; }

[data-a11y="on"] footer { font-size: 1rem !important; color: #333333 !important; }

[data-a11y="on"] .sub  { color: #111111 !important; }
[data-a11y="on"] .muted{ color: #444444 !important; }

[data-a11y="on"] .glass {
  background: rgba(255,255,255,0.98) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 2px solid rgba(0,0,80,0.28) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.15) !important;
  overflow: visible !important;
}

[data-a11y="on"] .feat-card,
[data-a11y="on"] .th-card,
[data-a11y="on"] .quiz-card,
[data-a11y="on"] .pw-ctrl,
[data-a11y="on"] .pw-out,
[data-a11y="on"] .ch-in-wrap,
[data-a11y="on"] .result-wrap,
[data-a11y="on"] .loading-wrap,
[data-a11y="on"] nav {
  border: 2px solid rgba(0,0,80,0.28) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.12) !important;
  transition: none !important;
}

[data-a11y="on"] nav {
  height:auto !important;
  min-height:var(--nav-h) !important;
}

[data-a11y="on"] .feat-card:hover,
[data-a11y="on"] .th-card:hover {
  box-shadow: 0 2px 12px rgba(0,0,0,0.12) !important;
  transform: none !important;
}

[data-a11y="on"] .feat-icon { background: #0044bb !important; box-shadow: none !important; }
[data-a11y="on"] .feat-icon img { filter: brightness(0) invert(1) !important; }
[data-a11y="on"] .logo-mark { background: #0044bb !important; box-shadow: none !important; }
[data-a11y="on"] .logo-mark img { filter: brightness(0) invert(1) !important; }

[data-a11y="on"] .badge {
  background: rgba(0,68,187,0.10) !important;
  color: #0033aa !important;
  border: 2px solid rgba(0,68,187,0.40) !important;
  font-weight: 800 !important;
}
[data-a11y="on"] .badge-dot { background: #0044bb !important; }
[data-a11y="on"] .badge-dot { animation: none !important; }

[data-a11y="on"] .th-icon {
  background: rgba(0,68,187,0.10) !important;
  border: 2px solid rgba(0,68,187,0.30) !important;
}
[data-a11y="on"] .th-icon img,
[data-a11y="on"] .pill img,
[data-a11y="on"] .file-drop-icon img,
[data-a11y="on"] .btn-ghost .icon-inline {
  filter: brightness(0) saturate(100%) invert(20%) sepia(82%) saturate(2664%) hue-rotate(211deg) brightness(85%) contrast(105%) !important;
}

[data-a11y="on"] .btn-accent .icon-inline {
  filter: brightness(0) invert(1) !important;
}

[data-a11y="on"] .btn-accent {
  background: #0044bb !important;
  color: #ffffff !important;
  box-shadow: 0 2px 8px rgba(0,68,187,0.35) !important;
}
[data-a11y="on"] .btn-accent:hover { transform: none !important; box-shadow: 0 2px 8px rgba(0,68,187,0.35) !important; }
[data-a11y="on"] .btn-ghost { border: 2px solid rgba(0,0,80,0.25) !important; }

[data-a11y="on"] .q-opt {
  border: 2px solid rgba(0,0,80,0.25) !important;
  font-size: 1rem !important;
  transition: none !important;
}
[data-a11y="on"] .q-opt:hover:not(:disabled) {
  border-color: #0044bb !important;
  background: rgba(0,68,187,0.08) !important;
  transform: none !important;
}
[data-a11y="on"] .q-opt-letter { background: rgba(0,0,80,0.10) !important; }
[data-a11y="on"] .q-opt.correct { border-color: #005c2a !important; background: rgba(0,92,42,0.10) !important; color: #005c2a !important; }
[data-a11y="on"] .q-opt.wrong   { border-color: #b80000 !important; background: rgba(184,0,0,0.10) !important; color: #b80000 !important; }

[data-a11y="on"] .ch-tab.active { background: #003f9e !important; color: #ffffff !important; box-shadow: none !important; }
[data-a11y="on"] .checker-tabs  { border: 2px solid rgba(0,0,80,0.25) !important; width:100% !important; max-width:520px !important; }

[data-a11y="on"] input, [data-a11y="on"] .ch-input, [data-a11y="on"] .pw-check-in {
  border: 2px solid rgba(0,0,80,0.30) !important;
  background: #ffffff !important;
  font-size: 1rem !important;
}
[data-a11y="on"] input:focus, [data-a11y="on"] .ch-input:focus, [data-a11y="on"] .pw-check-in:focus {
  border-color: #0044bb !important;
  box-shadow: 0 0 0 3px rgba(0,68,187,0.20) !important;
}

[data-a11y="on"] .tog { border: 2px solid rgba(0,0,80,0.22) !important; }
[data-a11y="on"] .tog.on { background: rgba(0,68,187,0.10) !important; border-color: #0044bb !important; color: #0033aa !important; }
[data-a11y="on"] .tog.on .tog-box { background: #0044bb !important; border-color: #0044bb !important; }
[data-a11y="on"] .tog.on .tog-box img { filter: brightness(0) invert(1) !important; }

[data-a11y="on"] .grad {
  background: none !important;
  -webkit-background-clip: unset !important;
  -webkit-text-fill-color: #003f9e !important;
  background-clip: unset !important;
  color:#003f9e !important;
}

[data-a11y="on"] .slider-info span:last-child { color: #0033aa !important; }
[data-a11y="on"] .pw-display { background: #f8f8ff !important; border: 2px solid rgba(0,0,80,0.25) !important; }
[data-a11y="on"] .meta-tag   { background: #f0f0f8 !important; border: 1px solid rgba(0,0,80,0.20) !important; }

[data-a11y="on"] .engine-row { border: 2px solid rgba(0,0,80,0.15) !important; }
[data-a11y="on"] .stat-box   { border: 2px solid rgba(0,0,80,0.15) !important; }

[data-a11y="on"] .bg-orbs { display:none !important; }
[data-a11y="on"] * { transition: none !important; animation: none !important; }
[data-a11y="on"] .reveal { opacity: 1 !important; transform: none !important; }
[data-a11y="on"] .badge-dot { animation: none !important; }

[data-a11y="on"] #a11yBtn { background: #0044bb !important; border-color: #0044bb !important; }
[data-a11y="on"] #a11yBtn img { filter: brightness(0) invert(1) !important; }
[data-a11y="on"] #themeBtn { opacity: 0.35 !important; pointer-events: none !important; cursor: not-allowed !important; }
[data-a11y="on"] .icon-btn { border: 2px solid rgba(0,0,80,0.22) !important; }
[data-a11y="on"] .бургер-кнопка { border: 2px solid rgba(0,0,80,0.22) !important; }
.пропустить-к-контенту {
  position:fixed; top:-100px; left:16px; z-index:9999;
  background:var(--accent); color:#000; padding:10px 20px;
  border-radius:var(--r-sm); font-weight:700; text-decoration:none;
  font-size:0.9rem; transition:top 0.2s;
}
.пропустить-к-контенту:focus { top:16px; }
[data-a11y="on"] .пропустить-к-контенту { background:#0044bb; color:#ffffff; }

.btn-accent:hover { transform:none; box-shadow:0 0 22px var(--accent-glow); }
.btn-ghost:hover { transform:none; }
.q-opt:hover:not(:disabled) { transform:none; }
.мобильное-меню .меню-пункт:hover { transform:none; }
.ring-fill { transition:stroke-dashoffset 0.25s ease; }
.str-seg { transition:background 0.16s ease; }
.file-drop { transition:border-color 0.16s ease, background 0.16s ease; }
.ch-tab,.tog,.tog-box,.icon-btn,.бургер-кнопка { transition:background 0.16s ease, border-color 0.16s ease, color 0.16s ease; }

@media(max-width:520px){
  section { padding-left:16px; padding-right:16px; }
  section:first-child { padding-top:calc(var(--nav-h) + 86px); }
  .checker-tabs {
    width:calc(100% - 8px);
    max-width:420px;
    margin-left:auto;
    margin-right:auto;
  }
  .ch-tab {
    flex:1 1 0;
    min-width:0;
    padding-left:10px;
    padding-right:10px;
    font-size:0.64rem;
  }
  .ch-panel,
  #pwCheckPanel .pw-out {
    width:100%;
    max-width:none !important;
    margin-left:auto;
    margin-right:auto;
  }
  .ch-in-wrap,
  .pw-ctrl,
  .pw-out,
  .quiz-card {
    padding:22px 16px;
  }
  .file-drop {
    padding:28px 16px;
  }
  .hero-pills {
    justify-content:center;
  }
  #passwords .sec-title,
  #passwords .sec-desc,
  #checker .sec-title,
  #checker .sec-desc {
    text-align:center;
    margin-left:auto;
    margin-right:auto;
  }
  .hero-h {
    font-size:clamp(1.95rem,9.4vw,2.42rem);
    line-height:1.05;
    letter-spacing:-0.06em;
  }
  .hero-desc { font-size:0.96rem; max-width:100%; }
  .bg-orbs { opacity:0.7; }
  .orb1 { width:420px; height:420px; top:-130px; left:-170px; filter:blur(70px); }
  .orb2 { width:440px; height:440px; bottom:-180px; right:-170px; filter:blur(78px); }
  .orb3 { display:none; }
  .orb4 { width:260px; height:260px; top:28%; right:-120px; filter:blur(82px); }
  .orb5 { width:240px; height:240px; bottom:24%; left:-120px; filter:blur(86px); }
}
@media(max-width:430px){
  .hero-h { font-size:clamp(1.88rem,9.2vw,2.22rem); }
  .toggle-grid { grid-template-columns:1fr; }
  .checker-tabs { width:calc(100% - 12px); }
  .ch-tab { font-size:0.62rem; padding-left:8px; padding-right:8px; }
}
@media(max-width:360px){
  .hero-h { font-size:1.82rem; }
  .logo-word::after { content:'КиберБез'; font-size:0.72rem; }
  .checker-tabs { width:calc(100% - 14px); }
  .ch-tab { font-size:0.6rem; }
}

@media(max-width:520px){
  [data-a11y="on"] nav {
    width:calc(100% - 12px) !important;
    padding:10px 8px !important;
    align-items:center !important;
  }
  [data-a11y="on"] .logo {
    font-size:0.86rem !important;
    max-width:calc(100% - 108px) !important;
  }
  [data-a11y="on"] .logo-word::after { content:'КиберБез'; font-size:0.86rem; }
  [data-a11y="on"] .icon-btn,
  [data-a11y="on"] .бургер-кнопка { width:34px; height:34px; }
  [data-a11y="on"] .hero-h { font-size:clamp(2.0rem,9vw,2.45rem) !important; }
  [data-a11y="on"] .sec-title { font-size:clamp(1.65rem,7vw,2.2rem) !important; }
  [data-a11y="on"] .ch-tab { font-size:0.78rem !important; white-space:normal; line-height:1.25; padding:11px 8px !important; }
  [data-a11y="on"] .checker-tabs { align-items:stretch; }
  [data-a11y="on"] .pill { width:100%; justify-content:center; }
}
