/* AntiManager. Inter self-hosted, нуль сторонніх запитів. Тёмная тема по умолчанию. */

@font-face{font-family:Inter;src:url(/fonts/inter-cyrillic-400.woff2)format("woff2");font-weight:400;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Inter;src:url(/fonts/inter-latin-400.woff2)format("woff2");font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:Inter;src:url(/fonts/inter-cyrillic-500.woff2)format("woff2");font-weight:500;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Inter;src:url(/fonts/inter-latin-500.woff2)format("woff2");font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:Inter;src:url(/fonts/inter-cyrillic-600.woff2)format("woff2");font-weight:600;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Inter;src:url(/fonts/inter-latin-600.woff2)format("woff2");font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}

:root,[data-theme="dark"]{
  --bg:#06070a; --bg-2:#0b0d12;
  --ink:#f4f6f8; --text:#a8b0bd; --muted:#737d8c;
  --glass:rgba(255,255,255,.045); --glass-2:rgba(255,255,255,.07);
  --line:rgba(255,255,255,.09); --line-2:rgba(255,255,255,.055);
  --mint:#5fe3b3; --viol:#7b6cf0; --cyan:#52b8f2;
  --accent:#5fe3b3; --on-accent:#04120d;
  --shadow:0 1px 2px rgba(0,0,0,.5),0 30px 60px -30px rgba(0,0,0,.9);
  color-scheme:dark;
}
[data-theme="light"]{
  --bg:#fbfbfa; --bg-2:#f3f4f2;
  --ink:#0b0d11; --text:#434b56; --muted:#6d7581;
  --glass:rgba(255,255,255,.72); --glass-2:rgba(255,255,255,.9);
  --line:rgba(11,13,17,.10); --line-2:rgba(11,13,17,.06);
  --accent:#0f6b50; --on-accent:#fff;
  --shadow:0 1px 2px rgba(13,15,18,.05),0 26px 50px -26px rgba(13,15,18,.22);
  color-scheme:light;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:16.5px;line-height:1.6;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
.wrap{width:min(100% - 3rem,76rem);margin-inline:auto}

h1,h2,h3{color:var(--ink);font-weight:600;margin:0 0 .5em;line-height:1.05;letter-spacing:-.035em}
h1{font-size:clamp(2.9rem,1.6rem+5.6vw,6.2rem);letter-spacing:-.045em}
h2{font-size:clamp(2rem,1.3rem+2.8vw,3.4rem);letter-spacing:-.04em}
h3{font-size:1.05rem;letter-spacing:-.015em;line-height:1.3}
p{margin:0 0 1.05em;max-width:36rem}
a{color:var(--ink);text-decoration:none}
a:hover{color:var(--mint)}
:focus-visible{outline:2px solid var(--mint);outline-offset:3px;border-radius:6px}

.skip{position:absolute;left:-9999px}
.skip:focus{position:fixed;left:1rem;top:1rem;z-index:40;background:var(--ink);color:var(--bg);padding:.65rem 1rem;border-radius:8px}

/* ---------- поява ---------- */
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
[data-reveal].in{opacity:1;transform:none}

/* ---------- шапка ---------- */
.head{position:sticky;top:0;z-index:20;backdrop-filter:blur(14px) saturate(140%);background:color-mix(in srgb,var(--bg) 72%,transparent);border-bottom:1px solid var(--line-2)}
.top{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:4rem}
.mark{display:inline-flex;align-items:center;gap:.6rem;font-size:1rem;font-weight:600;letter-spacing:-.03em;color:var(--ink)}
.mark:hover{color:var(--ink)}
.dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--mint);box-shadow:0 0 12px 2px color-mix(in srgb,var(--mint) 55%,transparent)}
.top nav{display:flex;align-items:center;gap:.35rem;font-size:.88rem}
.top nav>a{color:var(--muted);padding:.42rem .8rem;border-radius:999px;transition:background .18s,color .18s}
.top nav>a:hover{color:var(--ink);background:var(--glass)}
.top nav>a[aria-current]{color:var(--ink);background:var(--glass)}
.lang-switch{display:inline-flex;gap:.3rem;font-size:.8rem;color:var(--muted);margin-left:.5rem}
.lang-switch a{color:var(--muted)}
.lang-switch [aria-current]{color:var(--ink);font-weight:500}
@media (max-width:52rem){.top nav>a:not(.nav-keep){display:none}}

.theme-btn{width:2.1rem;height:2.1rem;border-radius:999px;border:1px solid var(--line);background:var(--glass);color:var(--muted);cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;transition:color .18s,border-color .18s}
.theme-btn:hover{color:var(--ink);border-color:var(--mint)}
.theme-btn svg{width:1rem;height:1rem}
.theme-btn .sun{display:none}
[data-theme="light"] .theme-btn .sun{display:block}
[data-theme="light"] .theme-btn .moon{display:none}

/* ---------- герой ---------- */
.hero-wrap{position:relative;min-height:min(92svh,52rem);display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line-2)}
#core{position:absolute;top:50%;left:50%;transform:translate(-50%,-52%);width:min(150vw,120rem);height:min(150vh,70rem);pointer-events:none;z-index:0;opacity:.95}
.hero-wrap::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(60% 50% at 50% 40%,transparent,var(--bg) 78%),
             linear-gradient(180deg,transparent 60%,var(--bg) 100%)}
.hero{position:relative;z-index:2;padding-block:clamp(4rem,10vw,7rem);width:100%}
.hero h1{max-width:16ch}
.hero .lede{font-size:clamp(1.05rem,.98rem+.5vw,1.32rem);color:var(--text);max-width:34rem;margin:1.5rem 0 2.25rem}
.pill{display:inline-flex;align-items:center;gap:.55rem;font-size:.78rem;color:var(--text);background:var(--glass);border:1px solid var(--line);border-radius:999px;padding:.4rem .9rem .4rem .65rem;margin-bottom:2rem;backdrop-filter:blur(8px)}
.pill i{width:.4rem;height:.4rem;border-radius:50%;background:var(--mint);box-shadow:0 0 10px 2px color-mix(in srgb,var(--mint) 60%,transparent)}
.grad{background:linear-gradient(100deg,var(--mint) 0%,var(--cyan) 48%,var(--viol) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.cta-row{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}
.btn{display:inline-flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:500;padding:.85rem 1.5rem;border-radius:999px;background:var(--accent);color:var(--on-accent);border:1px solid transparent;transition:transform .15s,filter .18s}
.btn:hover{filter:brightness(1.08);color:var(--on-accent)}
.btn:active{transform:translateY(1px)}
.btn-ghost{background:var(--glass);color:var(--ink);border-color:var(--line);backdrop-filter:blur(8px)}
.btn-ghost:hover{background:var(--glass-2);color:var(--ink)}

/* стенограма — скляна панель */
.thread{margin-top:clamp(2.5rem,5vw,4rem);max-width:44rem;background:var(--glass);border:1px solid var(--line);border-radius:18px;backdrop-filter:blur(18px) saturate(140%);box-shadow:var(--shadow);overflow:hidden}
.thread-bar{display:flex;align-items:center;gap:.55rem;padding:.8rem 1.15rem;border-bottom:1px solid var(--line-2);font-size:.79rem;color:var(--muted)}
.thread-bar i{width:.4rem;height:.4rem;border-radius:50%;background:var(--mint)}
.thread-body{padding:1.1rem;display:flex;flex-direction:column;gap:.7rem}
.turn{max-width:86%}
.turn .who{font-size:.72rem;color:var(--muted);margin:0 0 .25rem .15rem;display:flex;gap:.5rem}
.turn p{margin:0;font-size:.93rem;line-height:1.55;padding:.6rem .85rem;border-radius:12px;max-width:none}
.turn.lead{align-self:flex-end}.turn.lead .who{justify-content:flex-end}
.turn.lead p{background:var(--glass-2);color:var(--text);border-bottom-right-radius:4px}
.turn.bot{align-self:flex-start}
.turn.bot p{background:linear-gradient(135deg,color-mix(in srgb,var(--mint) 16%,transparent),color-mix(in srgb,var(--viol) 14%,transparent));border:1px solid var(--line);color:var(--ink);border-bottom-left-radius:4px}
.turn em{font-style:normal;color:var(--mint)}

/* ---------- секції ---------- */
section{padding-block:clamp(4rem,9vw,8rem);position:relative}
.head-block{max-width:40rem;margin-bottom:clamp(2rem,4vw,3.5rem)}
.head-block p{color:var(--muted);margin:0}
.eyebrow{font-size:.8rem;color:var(--mint);margin:0 0 .9rem}

.grid{display:grid;gap:1rem}
@media (min-width:46rem){.grid{grid-template-columns:1fr 1fr}}
@media (min-width:64rem){.grid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:46rem){.grid.pairs{grid-template-columns:1fr 1fr}}
.cell{background:var(--glass);border:1px solid var(--line);border-radius:16px;padding:1.75rem 1.6rem;backdrop-filter:blur(12px);transition:border-color .22s,transform .22s,background .22s}
.cell:hover{border-color:color-mix(in srgb,var(--mint) 45%,transparent);transform:translateY(-3px);background:var(--glass-2)}
.cell h3{margin-bottom:.45rem}
.cell p{margin:0;font-size:.93rem;color:var(--muted);line-height:1.6}

.rows{margin:0;padding:0;list-style:none;background:var(--glass);border:1px solid var(--line);border-radius:16px;overflow:hidden;backdrop-filter:blur(12px)}
.rows li{display:flex;justify-content:space-between;gap:1.5rem;align-items:center;padding:1rem 1.35rem;border-top:1px solid var(--line-2);font-size:.96rem;color:var(--ink);transition:background .18s}
.rows li:first-child{border-top:0}
.rows li:hover{background:var(--glass-2)}
.state{font-size:.83rem;color:var(--muted);text-align:right}
.state.live{color:var(--mint);display:inline-flex;align-items:center;gap:.45rem}
.state.live::before{content:"";width:.4rem;height:.4rem;border-radius:50%;background:var(--mint);box-shadow:0 0 10px 2px color-mix(in srgb,var(--mint) 55%,transparent)}

/* ---------- чат ---------- */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.chat{max-width:46rem;background:var(--glass);border:1px solid var(--line);border-radius:18px;overflow:hidden;backdrop-filter:blur(18px) saturate(140%);box-shadow:var(--shadow)}
.chat-bar{display:flex;align-items:center;gap:.55rem;padding:.85rem 1.15rem;border-bottom:1px solid var(--line-2);font-size:.8rem;color:var(--muted)}
.chat-bar i{width:.4rem;height:.4rem;border-radius:50%;background:var(--mint);box-shadow:0 0 10px 2px color-mix(in srgb,var(--mint) 55%,transparent)}
.chat-log{padding:1.15rem;min-height:14rem;max-height:24rem;overflow-y:auto;display:flex;flex-direction:column;gap:.65rem}
.msg{max-width:85%}
.msg p{margin:0;padding:.6rem .85rem;border-radius:12px;font-size:.92rem;line-height:1.55;max-width:none}
.msg.bot{align-self:flex-start}
.msg.bot p{background:linear-gradient(135deg,color-mix(in srgb,var(--mint) 16%,transparent),color-mix(in srgb,var(--viol) 14%,transparent));border:1px solid var(--line);color:var(--ink);border-bottom-left-radius:4px}
.msg.lead{align-self:flex-end}
.msg.lead p{background:var(--glass-2);color:var(--text);border-bottom-right-radius:4px}
.msg.typing p{display:flex;align-items:center;gap:.28rem;padding:.75rem .95rem;font-size:0;letter-spacing:0}
.msg.typing p span{width:.4rem;height:.4rem;border-radius:50%;background:var(--mint);opacity:.45;animation:bounce 1.1s infinite ease-in-out}
.msg.typing p span:nth-child(2){animation-delay:.16s}
.msg.typing p span:nth-child(3){animation-delay:.32s}
@keyframes bounce{0%,72%,100%{transform:translateY(0);opacity:.4}36%{transform:translateY(-.32rem);opacity:1}}
.msg.system{align-self:stretch;max-width:100%}
.msg.system p{background:color-mix(in srgb,#e0b45a 16%,transparent);border:1px solid var(--line);color:var(--ink);font-size:.88rem}
.chat-gate{padding:1.1rem;border-top:1px solid var(--line-2);font-size:.9rem;color:var(--text)}
.chat-gate .hint{font-size:.84rem;color:var(--muted);margin:.65rem 0 0}
.chat-form{display:flex;gap:.55rem;padding:.8rem;border-top:1px solid var(--line-2)}
.chat-form input{flex:1;min-width:0;font:inherit;font-size:.93rem;padding:.7rem .9rem;border:1px solid var(--line);border-radius:999px;background:var(--bg-2);color:var(--ink)}
.chat-form input::placeholder{color:var(--muted)}
.chat-form button{font:inherit;font-weight:500;font-size:.9rem;padding:.7rem 1.3rem;border:0;border-radius:999px;background:var(--accent);color:var(--on-accent);cursor:pointer}
.chat-form button:disabled{background:var(--muted);cursor:default}
.chat-note{margin:0;padding:.75rem 1.15rem 1.05rem;font-size:.8rem;color:var(--muted);max-width:none}

/* ---------- підвал ---------- */
footer{border-top:1px solid var(--line-2);padding-block:3rem 3.5rem;font-size:.86rem;color:var(--muted);background:var(--bg-2)}
footer nav{display:flex;flex-wrap:wrap;gap:1.4rem;margin-bottom:1.2rem}
footer a{color:var(--text)}
footer a:hover{color:var(--mint)}
footer p{max-width:46rem;margin-bottom:.4rem;font-size:.82rem}

/* ---------- правові ---------- */
.legal{padding-block:clamp(2.5rem,6vw,4rem) clamp(3.5rem,8vw,5rem);max-width:44rem}
.legal h1{font-size:clamp(2rem,1.5rem+2vw,2.9rem);letter-spacing:-.03em}
.legal h2{margin-top:2.6rem;font-size:1.35rem;letter-spacing:-.02em}
.legal h3{margin-top:1.7rem}
.legal ul{padding-left:1.15rem}.legal li{margin-bottom:.45rem}
.legal .updated{color:var(--muted);font-size:.88rem}
.legal table{border-collapse:collapse;width:100%;font-size:.9rem}
.legal th,.legal td{text-align:left;padding:.7rem .9rem .7rem 0;border-bottom:1px solid var(--line-2);vertical-align:top}
.legal th{font-weight:600;color:var(--ink)}
.lang{margin-top:3.5rem;padding-top:2rem;border-top:1px solid var(--line)}
.todo{background:color-mix(in srgb,#e0b45a 22%,transparent);border-bottom:1.5px solid #c9973c;padding:.05rem .35rem;font-size:.9em;font-weight:500;color:var(--ink);border-radius:3px}

html.theming,html.theming *{transition:background-color .35s ease,color .35s ease,border-color .35s ease!important}
