:root{
  --background:#0e1724; --foreground:#f8fbff; --muted:#162235; --muted-foreground:#a8b5c7;
  --border:rgba(255,255,255,.14);
  --brand-start:#00E5FF; --brand-end:#007BFF;         /* фирменный синий */
  --alert-start:#FF9900; --alert-end:#FF0033;         /* оранжево-красный при совпадениях */
  --btn-fg:#0a0a0a;
  --nav: color-mix(in oklab, var(--background) 82%, transparent);
  --about-bg:#0a1220; --about-pattern:rgba(255,255,255,.035);
}
html[data-theme="light"]{
  --background:#fff; --foreground:#0a0a0a; --muted:#f2f5f8; --muted-foreground:#4b5563;
  --border:rgba(0,0,0,.10); --nav:#ffffffc8; --btn-fg:#0a0a0a;
  --about-bg:#f7fafc; --about-pattern:rgba(0,0,0,.035);
}

/* base */
*{box-sizing:border-box} html,body{height:100%}
body{margin:0;background:var(--background);color:var(--foreground);
  font-family:Inter,system-ui,Segoe UI,Roboto,Arial;-webkit-font-smoothing:antialiased}
.container{max-width:1100px;margin:0 auto;padding:0 16px}
a{color:inherit;text-decoration:none}
.text-muted{color:var(--muted-foreground)}

/* header */
header{position:sticky;top:0;z-index:10;background:var(--nav);backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--border)}
.header-inner{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:14px 0}
.brand{display:flex;gap:10px;align-items:center}
.brand__title{font-weight:900;font-size:28px;letter-spacing:-.01em}
.grad{
  background-image:linear-gradient(90deg,var(--brand-start),var(--brand-end));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  transition:background 420ms ease;
}
/* Лого Taigan через CSS-маску (путь задаём инлайном в base.html) */
.brand__logo-mask{
  inline-size:clamp(36px,5vw,56px);
  block-size:clamp(36px,5vw,56px);
  flex:none;
  background:linear-gradient(90deg,var(--brand-start),var(--brand-end));
  -webkit-mask:var(--logo-url) no-repeat center / contain;
  mask:var(--logo-url) no-repeat center / contain;
  transition:background 420ms ease;
}
nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.icon-btn,.theme-toggle{display:inline-flex;gap:8px;align-items:center;justify-content:center;height:34px;padding:0 14px;
  border-radius:999px;border:1px solid var(--border);background:color-mix(in oklab,var(--muted) 60%, transparent);
  color:var(--foreground);font-size:13px;line-height:1}
html[data-theme="light"] .icon-btn,html[data-theme="light"] .theme-toggle{color:#0a0a0a}

/* hero */
main{min-height:calc(100dvh - 64px)}
.hero{min-height:68dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative}
.glow{position:absolute;inset:auto 0 auto 0;top:96px;width:36rem;height:18rem;margin:0 auto;filter:blur(46px);
  opacity:.38;background-image:radial-gradient(closest-side,color-mix(in oklab,var(--brand-start),transparent 40%),transparent 70%);
  border-radius:999px;pointer-events:none;transition:opacity 300ms ease,filter 300ms ease}
h1{font-size:clamp(36px,5.8vw,60px);line-height:1.08;margin:0 0 14px;font-weight:900;letter-spacing:-.01em}
.lead{margin:0 auto;max-width:780px;color:var(--muted-foreground);font-size:clamp(18px,2.2vw,20px)}
.search{margin-top:28px;display:flex;gap:8px;max-width:720px;width:100%}
.input{flex:1;height:50px;padding:0 16px;border-radius:10px;border:1px solid var(--border);
  background:color-mix(in oklab,var(--muted) 40%, transparent);color:var(--foreground);font-size:16px}
html[data-theme="light"] .input{background:#fff}
.btn{
  height:50px;padding:0 24px;border:0;border-radius:10px;font-weight:800;color:var(--btn-fg);
  background-image:linear-gradient(90deg,var(--brand-start),var(--brand-end));
  transition:background-image 420ms ease,filter .2s ease;
}

/* sections */
.section{padding:82px 0;border-top:1px solid var(--border)}
.section--band{position:relative;background:var(--about-bg)}
.section--band::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.9;background:
  radial-gradient(1200px 400px at 10% -10%, color-mix(in oklab,var(--brand-start), transparent 70%), transparent 70%),
  radial-gradient(900px 300px at 90% 110%, color-mix(in oklab,var(--brand-end), transparent 75%), transparent 75%),
  repeating-linear-gradient(0deg, var(--about-pattern), var(--about-pattern) 1px, transparent 1px, transparent 12px)}

/* about — мелкий кегль по просьбе */
.about{display:grid;gap:24px}
.about-eyebrow{display:inline-block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-foreground);
  border:1px solid var(--border);padding:6px 10px;border-radius:999px;margin-bottom:12px;background:color-mix(in oklab,var(--muted)35%,transparent)}
.about-card{position:relative;padding:32px;border:1px solid var(--border);border-radius:16px;
  background:color-mix(in oklab,var(--muted)22%,transparent);max-width:1000px}
html[data-theme="light"] .about-card{background:#fff}
.about-accent{background-image:linear-gradient(90deg,var(--brand-start),var(--brand-end));height:3px;border-radius:999px;margin:10px 0 18px}
.about-lead{font-size:clamp(18px,2.4vw,20px);line-height:1.68;margin:0 0 14px}
.about-sub{font-size:clamp(18px,2.4vw,20px);line-height:1.75;color:var(--foreground);margin:0}

/* results / timeline */
.card{width:100%;padding:18px;border:1px solid var(--border);border-radius:12px;background:color-mix(in oklab,var(--muted) 30%, transparent)}
html[data-theme="light"] .card{background:#fff}
.result-header{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:clamp(20px,2.2vw,22px);font-weight:800}
.badges{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 6px}
.badge{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:999px;
  border:1px solid var(--border);background:color-mix(in oklab,var(--muted) 45%, transparent);font-size:13px}
.timeline{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.item{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:10px;border-radius:12px;
  background:color-mix(in oklab,var(--muted) 20%, transparent);border:1px solid var(--border);opacity:0;transform:translateY(12px)}
.item.show{opacity:1;transform:translateY(0);transition:opacity 260ms ease, transform 260ms ease}
.dot{inline-size:8px;block-size:8px;border-radius:999px;background:var(--muted-foreground)}
.item .src{font-weight:700}
.item .date{color:var(--muted-foreground);font-size:13px}
.tags{display:flex;gap:6px;flex-wrap:wrap}
.tag{font-size:12px;padding:2px 8px;border-radius:999px;border:1px solid var(--border);color:var(--muted-foreground)}
.ok{color:#15d18d}.warn{color:#ffb000}.danger{color:#ff4d4d}

/* scanline (декор) */
@keyframes scan{from{transform:translateX(-20%)}to{transform:translateX(20%)}}
.scanline{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--brand-start),transparent);opacity:.6;animation:scan 5.5s ease-in-out infinite alternate}

/* Modal (диалог плотнее, прозрачный бэкдроп) */
.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:50}
.modal[open]{display:flex}
.modal__backdrop{position:absolute;inset:0;background:color-mix(in oklab, var(--background) 30%, transparent);backdrop-filter:blur(1px)}
.modal__dialog{position:relative;max-width:620px;width:calc(100% - 32px);border-radius:16px;
  border:1px solid color-mix(in oklab, var(--foreground) 14%, transparent);
  background:color-mix(in oklab,var(--muted) 85%, transparent); /* плотный фон (читабельно) */
  padding:28px 24px;text-align:center;box-shadow:0 18px 80px rgba(0,0,0,.45)}
html[data-theme="light"] .modal__dialog{background:#fff}
.modal__title{font-size:clamp(24px,3.4vw,32px);margin:8px 0 12px;font-weight:900}
.modal__text{color:var(--muted-foreground);margin:0 0 18px;font-size:clamp(16px,2vw,18px)}
.modal__btn{height:44px;padding:0 20px;border:0;border-radius:12px;font-weight:800;color:var(--btn-fg);
  background-image:linear-gradient(90deg,var(--brand-start),var(--brand-end));cursor:pointer}
.modal__close{position:absolute;top:10px;right:10px;border:1px solid var(--border);border-radius:10px;background:transparent;color:var(--foreground);height:34px;padding:0 10px}

/* alert mode: перекраска всех брендовых градиентов и мягкий фон */
.alert-on .brand__logo-mask{background:linear-gradient(90deg,var(--alert-start),var(--alert-end))}
.alert-on .grad,.alert-on .brand__title{
  background:linear-gradient(90deg,var(--alert-start),var(--alert-end));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.alert-on .btn{background-image:linear-gradient(90deg,var(--alert-start),var(--alert-end));color:var(--btn-fg)}
.alert-bg{
  position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity 300ms ease;
  background:radial-gradient(80% 40% at 50% 0%,color-mix(in oklab,var(--alert-end) 15%,transparent),transparent);
}
.alert-on .alert-bg{opacity:1}
.alert-on .card{box-shadow:0 0 0 2px color-mix(in oklab,var(--alert-end) 40%, transparent)}

/* Confetti canvas поверх всего */
.confetti{position:fixed;inset:0;pointer-events:none;z-index:10000}

/* misc */
html{scroll-behavior:smooth}
