/* BaseBenz Design System v0.6.0 — см. docs/DESIGN_SYSTEM_AUDIT.md,
   стили страниц базы DTC — в assets/css/dtc-db.css (docs/DTC_DATABASE_CONCEPT.md),
   айдентика Карла — секция KARL IDENTITY ниже (ADR-044) */

:root{
  color-scheme:dark;
  --carbon:#0A0E10;
  --carbon-2:#10161A;
  --carbon-3:#161E23;
  --teal:#00D2BE;
  --teal-deep:#00A19B;
  --teal-ink:#00716C;
  --ivory:#F4F4F0;
  --ivory-2:#ECECE6;
  --graphite:#1A1D1F;
  --slate:#4A5257;
  --steel:#616A70;
  --silver:#C8CDD2;
  --silver-dim:#A6AEB5;
  --line:rgba(200,205,210,.22);
  --line-strong:rgba(200,205,210,.32);
  --line-dark:rgba(26,29,31,.18);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'IBM Plex Sans',sans-serif;
  background:var(--carbon);
  color:var(--ivory);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
/* Astra вешает на body класс .ast-separate-container и красит его в светло-голубой
   var(--ast-global-color-5) с большей специфичностью (0,1,0), чем body (0,1,1 здесь) —
   перекрываем, чтобы карбоновый фон не пробивался светлым */
body.ast-separate-container{background:var(--carbon);}
::selection{background:var(--teal);color:var(--carbon);}
.mono{font-family:'IBM Plex Mono',monospace;}
.unbounded{font-family:'Oswald',sans-serif;text-transform:uppercase;}

/* ---------- HEADER ---------- */
header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 40px;
  background:rgba(10,14,16,.72);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ivory);}
.logo-mark{
  width:34px;height:34px;border:1px solid var(--teal);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Oswald';font-size:13px;font-weight:600;color:var(--teal);
  position:relative;
}
.logo-mark::after{content:"";position:absolute;inset:-5px;border:1px solid var(--line);border-radius:50%;}
.logo-text{font-family:'Oswald';font-size:15px;letter-spacing:.14em;font-weight:500;}
.logo-text span{color:var(--teal);}
nav{display:flex;gap:34px;}
nav a{
  color:var(--silver);text-decoration:none;font-size:13.5px;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;position:relative;transition:color .25s;
}
nav a::after{
  content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--teal);transition:width .3s;
}
nav a:hover{color:var(--ivory);}
nav a:hover::after{width:100%;}
nav a:focus-visible{outline:1px solid var(--teal);outline-offset:4px;}
.header-cta{
  font-family:'IBM Plex Mono';font-size:12px;color:var(--teal);
  border:1px solid rgba(0,210,190,.4);padding:9px 18px;text-decoration:none;
  letter-spacing:.1em;transition:.3s;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);
}
.header-cta:hover{background:rgba(0,210,190,.1);}

/* ---------- HERO ---------- */
.hero{
  position:relative;min-height:100vh;
  background:var(--carbon);
  display:flex;align-items:center;
  padding:140px 40px 80px;
  overflow:hidden;
}
.hero-beam{
  position:absolute;top:-10%;left:52%;width:140px;height:140%;
  background:linear-gradient(180deg,rgba(0,210,190,.0),rgba(0,210,190,.55) 30%,rgba(0,210,190,.55) 70%,rgba(0,210,190,0));
  transform:rotate(24deg);
  filter:blur(6px);
  pointer-events:none;
}
.hero-beam::after{
  content:"";position:absolute;inset:0 46px;
  background:rgba(0,210,190,.9);filter:blur(18px);
}
.hero-glow{
  position:absolute;bottom:-200px;left:-200px;width:700px;height:700px;border-radius:50%;
  background:radial-gradient(circle,rgba(0,161,155,.16),transparent 65%);
}
.hero-outline{
  position:absolute;top:110px;right:-30px;
  font-family:'Oswald';font-weight:500;font-size:clamp(80px,11vw,170px);
  color:transparent;-webkit-text-stroke:1px rgba(200,205,210,.22);
  letter-spacing:.02em;line-height:.95;text-align:right;user-select:none;pointer-events:none;
}
.hero-inner{position:relative;z-index:2;max-width:1200px;}
.hero-tag{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'IBM Plex Mono';font-size:12px;letter-spacing:.2em;color:var(--teal);
  border:1px solid rgba(0,210,190,.35);padding:8px 16px;margin-bottom:34px;
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
}
.hero-tag .dot{width:6px;height:6px;background:var(--teal);border-radius:50%;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.25;}}
h1{
  font-family:'Oswald';font-weight:600;text-transform:uppercase;
  font-size:clamp(44px,6.2vw,92px);line-height:1.02;letter-spacing:.015em;
  max-width:900px;
}
h1 em{font-style:normal;color:var(--teal);}
.hero-sub{
  margin-top:28px;max-width:560px;color:var(--ivory);
  font-size:19px;line-height:1.6;font-weight:400;
}
.hero-motto{
  margin-top:22px;display:inline-flex;align-items:center;gap:14px;
  font-family:'IBM Plex Mono';font-size:13px;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;color:var(--teal);
}
.hero-motto::before{content:"";width:28px;height:1px;background:var(--teal);}
.hero-actions{margin-top:44px;display:flex;gap:18px;flex-wrap:wrap;}
.btn-primary{
  background:var(--teal);color:var(--carbon);text-decoration:none;
  font-family:'Oswald';font-weight:500;font-size:15px;letter-spacing:.14em;text-transform:uppercase;
  padding:17px 34px;
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);
  transition:.3s;
}
.btn-primary:hover{background:#3AEDE0;}
.btn-ghost{
  border:1px solid rgba(244,244,240,.42);color:var(--ivory);text-decoration:none;
  font-family:'Oswald';font-weight:400;font-size:15px;letter-spacing:.14em;text-transform:uppercase;
  padding:17px 34px;transition:.3s;
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);
}
.btn-ghost:hover{border-color:var(--teal);color:var(--teal);}
.btn-primary:focus-visible,.btn-ghost:focus-visible{outline:2px solid var(--teal);outline-offset:3px;}
.hero-specs{
  margin-top:70px;display:flex;gap:0;border-top:1px solid var(--line);max-width:820px;flex-wrap:wrap;
}
.spec{padding:20px 34px 0 0;margin-right:34px;border-right:1px solid var(--line);padding-right:34px;}
.spec:last-child{border-right:none;}
.spec .num{font-family:'IBM Plex Mono';font-size:28px;font-weight:700;color:var(--ivory);}
.spec .num i{font-style:normal;color:var(--teal);}
.hero-specs .spec:last-child .num{color:var(--teal);}
.spec .lbl{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--silver);margin-top:6px;}
.hero-coord{
  position:absolute;bottom:26px;right:40px;
  font-family:'IBM Plex Mono';font-size:11.5px;color:var(--silver-dim);letter-spacing:.14em;
}
.hero-corner{position:absolute;width:26px;height:26px;border:1px solid rgba(0,210,190,.5);}
.hc-tl{top:110px;left:40px;border-right:none;border-bottom:none;}
.hc-br{bottom:26px;right:40px;border-left:none;border-top:none;}
.hc-bl{bottom:26px;left:40px;border-right:none;border-top:none;}

/* ---------- TOOLS (LIGHT ATELIER) ---------- */
.tools{
  background:var(--ivory);color:var(--graphite);
  padding:110px 40px 120px;position:relative;
}
.tools-outline{
  position:absolute;top:30px;left:40px;right:40px;overflow:hidden;
  font-family:'Oswald';font-weight:400;font-size:clamp(60px,9vw,140px);
  color:transparent;-webkit-text-stroke:1px rgba(26,29,31,.11);
  white-space:nowrap;user-select:none;pointer-events:none;
}
.section-head{max-width:1200px;margin:0 auto 70px;position:relative;padding-top:120px;}
.section-kicker{
  font-family:'IBM Plex Mono';font-size:12px;letter-spacing:.24em;
  color:var(--teal-ink);text-transform:uppercase;margin-bottom:18px;
  display:flex;align-items:center;gap:14px;
}
.section-kicker::before{content:"";width:40px;height:1px;background:var(--teal-ink);}
h2{
  font-family:'Oswald';font-weight:600;text-transform:uppercase;
  font-size:clamp(32px,4vw,56px);
  line-height:1.08;letter-spacing:.02em;color:var(--graphite);
}
.section-desc{margin-top:20px;max-width:560px;color:var(--slate);font-size:16px;line-height:1.65;}
.tools-grid{
  max-width:1200px;margin:0 auto;
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--line-dark);border:1px solid var(--line-dark);
}
.tool-card{
  background:var(--ivory);padding:44px 36px 40px;position:relative;
  transition:background .35s;cursor:pointer;text-decoration:none;color:inherit;display:block;
}
.tool-card:hover{background:#fff;}
.tool-card:focus-visible{outline:2px solid var(--teal-ink);outline-offset:-2px;}
.tool-num{
  font-family:'IBM Plex Mono';font-size:12px;color:var(--teal-ink);letter-spacing:.2em;
  display:flex;justify-content:space-between;align-items:center;margin-bottom:60px;
}
.tool-num svg{width:30px;height:30px;stroke:var(--graphite);opacity:.55;transition:.3s;}
.tool-card:hover .tool-num svg{opacity:1;stroke:var(--teal-ink);transform:translateX(4px);}
.tool-card h3{font-family:'Oswald';font-weight:500;font-size:26px;margin-bottom:16px;letter-spacing:.06em;text-transform:uppercase;}
.tool-card p{color:var(--slate);font-size:15px;line-height:1.65;margin-bottom:28px;}
.tool-meta{
  font-family:'IBM Plex Mono';font-size:12px;color:var(--steel);letter-spacing:.1em;
  border-top:1px solid var(--line-dark);padding-top:16px;
  display:flex;justify-content:space-between;
}
.tool-card::after{
  content:"";position:absolute;left:0;top:0;width:100%;height:3px;
  background:var(--teal);transform:scaleX(0);transform-origin:left;transition:transform .4s;
}
.tool-card:hover::after{transform:scaleX(1);}

/* Кнопка перехода в архив знаний (светлая секция — teal-ink вариант терминальной кнопки) */
.tools-cta{max-width:1200px;margin:34px auto 0;display:flex;justify-content:flex-end;}
.tools-archive-link{
  font-family:'IBM Plex Mono';font-size:12px;letter-spacing:.16em;
  color:var(--teal-ink);text-decoration:none;
  border:1px solid rgba(0,113,108,.4);padding:11px 20px;transition:.3s;
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);
}
.tools-archive-link:hover{background:rgba(0,113,108,.08);}
.tools-archive-link:focus-visible{outline:2px solid var(--teal-ink);outline-offset:3px;}

/* ---------- CHASSIS NAVIGATOR ---------- */
.chassis{background:var(--ivory-2);color:var(--graphite);padding:110px 40px;}
.chassis-inner{max-width:1200px;margin:0 auto;}
.chassis-list{margin-top:60px;border-top:1px solid var(--line-dark);}
.chassis-row{
  display:grid;grid-template-columns:110px 1fr 1fr 120px 40px;gap:20px;align-items:center;
  padding:26px 10px;border-bottom:1px solid var(--line-dark);
  text-decoration:none;color:inherit;transition:.3s;position:relative;
}
.chassis-row:hover{background:var(--ivory);padding-left:24px;}
.chassis-row:hover .ch-code{color:var(--teal-ink);}
.chassis-row:focus-visible{outline:2px solid var(--teal-ink);outline-offset:-2px;}
.ch-code{font-family:'Oswald';font-weight:500;font-size:24px;letter-spacing:.04em;text-transform:uppercase;transition:.3s;}
.ch-name{font-weight:700;font-size:15px;}
.ch-name small{display:block;font-weight:500;color:var(--slate);font-size:12.5px;margin-top:4px;}
.ch-engines{font-family:'IBM Plex Mono';font-size:12.5px;color:var(--steel);letter-spacing:.04em;}
.ch-count{font-family:'IBM Plex Mono';font-size:12.5px;color:var(--teal-ink);text-align:right;}
.ch-arrow{font-size:18px;color:#7A8388;transition:.3s;text-align:right;}
.chassis-row:hover .ch-arrow{color:var(--teal-ink);transform:translateX(6px);}
.chassis-note{
  margin-top:26px;font-family:'IBM Plex Mono';font-size:12.5px;color:var(--steel);letter-spacing:.08em;
}

/* ---------- DTC DIAGNOSTICS (DARK TELEMETRY) ---------- */
.dtc{background:var(--carbon);padding:120px 40px;position:relative;overflow:hidden;}
.dtc-glow{
  position:absolute;top:-150px;right:-150px;width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle,rgba(0,210,190,.09),transparent 65%);
}
.dtc-inner{max-width:1200px;margin:0 auto;position:relative;}
.dtc .section-kicker{color:var(--teal);}
.dtc .section-kicker::before{background:var(--teal);}
.dtc h2{color:var(--ivory);}
.dtc .section-desc{color:var(--silver-dim);}
.dtc-panel{
  margin-top:60px;border:1px solid var(--line);
  background:var(--carbon-2);position:relative;
  clip-path:polygon(24px 0,100% 0,100% calc(100% - 24px),calc(100% - 24px) 100%,0 100%,0 24px);
}
.dtc-panel-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 28px;border-bottom:1px solid var(--line);
  font-family:'IBM Plex Mono';font-size:11.5px;letter-spacing:.18em;color:var(--silver-dim);
}
.dtc-panel-head .status{display:flex;align-items:center;gap:8px;color:var(--teal);}
.dtc-panel-head .status::before{content:"";width:7px;height:7px;background:var(--teal);border-radius:50%;animation:pulse 2s infinite;}
.dtc-body{display:grid;grid-template-columns:1fr 1.2fr;min-height:340px;}
.dtc-input-side{padding:36px 32px;border-right:1px solid var(--line);}
.dtc-label{font-family:'IBM Plex Mono';font-size:11.5px;letter-spacing:.2em;color:var(--silver-dim);margin-bottom:14px;}
.dtc-field{display:flex;gap:12px;}
.dtc-field input{
  flex:1;background:var(--carbon);border:1px solid var(--line);color:var(--teal);
  font-family:'IBM Plex Mono';font-size:20px;font-weight:700;letter-spacing:.14em;
  padding:16px 18px;outline:none;text-transform:uppercase;transition:.3s;
}
.dtc-field input:focus{border-color:var(--teal);box-shadow:0 0 0 1px rgba(0,210,190,.3),0 0 24px rgba(0,210,190,.12);}
.dtc-field button{
  background:var(--teal);border:none;color:var(--carbon);font-family:'IBM Plex Mono';
  font-weight:700;font-size:13px;padding:0 26px;cursor:pointer;letter-spacing:.1em;transition:.3s;
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);
}
.dtc-field button:hover{background:#3AEDE0;}
.dtc-quick{margin-top:22px;display:flex;gap:10px;flex-wrap:wrap;}
.dtc-quick span{
  font-family:'IBM Plex Mono';font-size:12.5px;color:var(--silver);
  border:1px solid var(--line-strong);padding:7px 14px;cursor:pointer;transition:.25s;
}
.dtc-quick span:hover{border-color:var(--teal);color:var(--teal);background:rgba(0,210,190,.08);}
.dtc-hint{margin-top:26px;font-size:13.5px;color:var(--silver-dim);line-height:1.6;}
.dtc-output-side{padding:36px 32px;position:relative;}
.dtc-output-title{font-family:'IBM Plex Mono';font-size:11.5px;letter-spacing:.2em;color:var(--silver-dim);margin-bottom:20px;}
#dtc-result{min-height:200px;}
.dtc-placeholder{color:var(--silver-dim);font-size:14px;line-height:1.7;}
.dtc-found .code-line{
  font-family:'IBM Plex Mono';font-size:clamp(20px,2.4vw,28px);font-weight:700;color:var(--teal);
  letter-spacing:.1em;margin-bottom:8px;
}
.dtc-found .code-title{font-family:'Oswald';font-size:19px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--ivory);margin-bottom:18px;}
.dtc-found .code-desc{color:var(--silver);font-size:14px;line-height:1.7;margin-bottom:22px;}
.dtc-found .code-meta{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);}
.dtc-found .code-meta div{background:var(--carbon-2);padding:14px 16px;}
.dtc-found .code-meta .k{font-family:'IBM Plex Mono';font-size:11px;letter-spacing:.18em;color:var(--silver-dim);margin-bottom:6px;}
.dtc-found .code-meta .v{font-size:13.5px;font-weight:600;color:var(--ivory);}
.dtc-notfound{color:var(--silver);font-size:14px;line-height:1.7;}
.dtc-notfound b{color:var(--teal);font-family:'IBM Plex Mono';}
.dtc-db-link{
  display:inline-block;margin-top:22px;
  font-family:'IBM Plex Mono';font-size:12px;letter-spacing:.16em;
  color:var(--teal);text-decoration:none;
  border:1px solid rgba(0,210,190,.4);padding:11px 20px;transition:.3s;
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);
}
.dtc-db-link:hover{background:rgba(0,210,190,.1);}
.dtc-db-link:focus-visible{outline:2px solid var(--teal);outline-offset:3px;}

/* ---------- MANIFEST ---------- */
.manifest{background:var(--carbon-2);border-top:1px solid var(--line);padding:110px 40px;position:relative;overflow:hidden;}
.manifest-inner{max-width:900px;margin:0 auto;text-align:center;position:relative;}
.manifest-quote{
  font-family:'Playfair Display',serif;font-style:italic;font-weight:400;
  font-size:clamp(28px,3.6vw,46px);
  line-height:1.35;color:var(--ivory);
}
.manifest-quote em{font-style:italic;color:var(--teal);}
.manifest-sign{
  margin-top:30px;font-family:'IBM Plex Mono';font-size:12px;letter-spacing:.24em;color:var(--silver-dim);
}
.manifest-img{
  margin:70px auto 0;max-width:520px;position:relative;
  border:1px solid var(--line);padding:10px;
}
.manifest-img img{width:100%;display:block;filter:saturate(1.05);}
.manifest-img .cap{
  position:absolute;bottom:-1px;left:-1px;right:-1px;
  background:linear-gradient(transparent,rgba(10,14,16,.92));padding:60px 20px 18px;
  font-family:'IBM Plex Mono';font-size:11.5px;letter-spacing:.2em;color:var(--teal);text-align:left;
}

/* ---------- FOOTER ---------- */
footer{background:var(--carbon);border-top:1px solid var(--line);padding:70px 40px 34px;}
.footer-inner{max-width:1200px;margin:0 auto;}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px;border-bottom:1px solid var(--line);}
.footer-brand p{margin-top:18px;color:var(--silver-dim);font-size:13.5px;line-height:1.7;max-width:300px;}
.footer-col h4{font-family:'IBM Plex Mono';font-size:11.5px;letter-spacing:.2em;color:var(--teal);margin-bottom:20px;text-transform:uppercase;}
.footer-col a{display:block;color:var(--silver);text-decoration:none;font-size:13.5px;margin-bottom:12px;transition:.25s;}
.footer-col a:hover{color:var(--teal);}
.footer-bottom{display:flex;justify-content:space-between;padding-top:28px;font-family:'IBM Plex Mono';font-size:11.5px;color:var(--silver-dim);letter-spacing:.1em;flex-wrap:wrap;gap:12px;}

/* ---------- ASK KARL (HERO SEARCH) ---------- */
.ask{margin-top:46px;max-width:740px;position:relative;z-index:2;}
.ask-label{
  display:flex;align-items:center;gap:12px;
  font-family:'IBM Plex Mono';font-size:11.5px;letter-spacing:.22em;
  color:var(--teal);margin-bottom:14px;text-transform:uppercase;
}
.ask-avatar{
  width:28px;height:28px;border:1px solid var(--teal);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Oswald';font-size:12px;font-weight:500;color:var(--teal);
  position:relative;flex-shrink:0;
}
.ask-avatar::after{content:"";position:absolute;inset:-4px;border:1px solid rgba(0,210,190,.25);border-radius:50%;}
.ask-console{
  display:flex;align-items:stretch;
  border:1px solid rgba(0,210,190,.3);background:rgba(16,22,26,.88);
  box-shadow:0 0 44px rgba(0,210,190,.07);
  clip-path:polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px);
  transition:border-color .3s, box-shadow .3s;
}
.ask-console:focus-within{border-color:rgba(0,210,190,.65);box-shadow:0 0 54px rgba(0,210,190,.18);}
.ask-prompt{
  display:flex;align-items:center;padding:0 4px 0 22px;
  font-family:'IBM Plex Mono';color:var(--teal);font-size:17px;font-weight:700;
}
.ask-console input{
  flex:1;background:transparent;border:none;outline:none;
  color:var(--ivory);font-family:'IBM Plex Mono';font-size:15px;
  padding:20px 14px;caret-color:var(--teal);min-width:0;
}
.ask-console input::placeholder{color:var(--silver-dim);}
.ask-btn{
  background:var(--teal);color:var(--carbon);border:none;cursor:pointer;
  font-family:'Oswald';font-size:14px;font-weight:500;letter-spacing:.18em;
  text-transform:uppercase;padding:0 32px;transition:.3s;
  clip-path:polygon(14px 0,100% 0,100% 100%,0 100%);
}
.ask-btn:hover{background:#3AEDE0;}
.ask-chips{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap;}
.ask-chips span{
  font-family:'IBM Plex Mono';font-size:13px;color:var(--ivory);
  background:var(--carbon-2);
  border:1px solid rgba(200,205,210,.45);
  padding:9px 16px;cursor:pointer;
  letter-spacing:.06em;transition:.25s;
  clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);
}
.ask-chips span:not(.chips-label)::before{content:"▸";color:var(--teal);margin-right:9px;}
.ask-chips .chips-label{
  border:none;padding:0;background:none;cursor:default;clip-path:none;
  color:var(--silver);font-size:12px;letter-spacing:.14em;text-transform:uppercase;
}
.ask-chips .chips-label:hover{border:none;color:var(--silver);background:none;}
.ask-chips span:hover{border-color:var(--teal);color:var(--teal);background:rgba(0,210,190,.08);}
.ask-chips span:focus-visible,.dtc-quick span:focus-visible{outline:1px solid var(--teal);outline-offset:2px;}
.ask-answer{
  margin-top:22px;border:1px solid var(--line);background:var(--carbon-2);
  clip-path:polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px);
  display:none;
}
.ask-answer.show{display:block;animation:fadeUp .45s ease;}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
.aa-head{
  display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:14px 24px;border-bottom:1px solid var(--line);
  font-family:'IBM Plex Mono';font-size:11.5px;letter-spacing:.2em;color:var(--silver-dim);
}
.aa-head b{color:var(--teal);font-weight:500;}
.aa-body{padding:26px 24px;}
.aa-verdict{font-size:15px;line-height:1.7;color:var(--ivory);font-weight:600;margin-bottom:20px;}
.aa-causes{margin-bottom:20px;}
.aa-causes .k{font-family:'IBM Plex Mono';font-size:11px;letter-spacing:.2em;color:var(--silver-dim);margin-bottom:8px;}
.aa-cause{
  display:flex;justify-content:space-between;gap:16px;align-items:baseline;
  padding:10px 0;border-bottom:1px dashed var(--line);
  font-size:13.5px;color:var(--silver);
}
.aa-cause:last-child{border-bottom:none;}
.aa-cause .pct{font-family:'IBM Plex Mono';color:var(--teal);font-size:12px;flex-shrink:0;}
.aa-src{display:flex;gap:10px;flex-wrap:wrap;}
.aa-src span{
  font-family:'IBM Plex Mono';font-size:11.5px;color:var(--silver-dim);
  border:1px solid var(--line);padding:6px 12px;letter-spacing:.08em;
}
.aa-next{
  margin-top:18px;font-family:'IBM Plex Mono';font-size:11.5px;
  color:var(--teal);letter-spacing:.12em;cursor:pointer;text-decoration:none;display:inline-block;
}
.aa-next:hover{text-decoration:underline;}

/* --- Karl live: ответ RAG-агента (построчный рендер, секции […]) + лоадер --- */
.aa-answer{display:flex;flex-direction:column;gap:7px;margin-bottom:20px;}
.aa-line{font-size:14px;line-height:1.65;color:var(--ivory-2);}
.aa-sec{
  font-family:'IBM Plex Mono';font-size:11px;letter-spacing:.18em;color:var(--teal);
  text-transform:uppercase;margin-top:10px;
}
.aa-answer .aa-sec:first-child{margin-top:0;}
/* identity-lock: пара кузов×двигатель не подтверждена каноном */
.aa-warn{
  font-family:'IBM Plex Mono';font-size:11.5px;line-height:1.6;color:#E8C15A;
  border:1px dashed rgba(232,193,90,.4);padding:10px 14px;margin-bottom:18px;letter-spacing:.04em;
}
.aa-src-line{
  font-family:'IBM Plex Mono';font-size:11.5px;color:var(--silver-dim);
  padding:8px 0;border-bottom:1px dashed var(--line);letter-spacing:.06em;
}
.aa-src-line:last-child{border-bottom:none;}
.aa-loading{font-family:'IBM Plex Mono';font-size:12px;line-height:1.7;color:var(--silver-dim);letter-spacing:.06em;}
.aa-cursor{color:var(--teal);animation:bbBlink 1s steps(1) infinite;}
@keyframes bbBlink{50%{opacity:0;}}
/* демо-fallback при недоступности агента */
.aa-note{
  font-family:'IBM Plex Mono';font-size:11px;color:var(--silver-dim);letter-spacing:.1em;
  border:1px dashed var(--line);padding:8px 12px;margin-bottom:16px;
}

/* ---------- KARL MODAL — вопрос Карлу поверх страницы (DTC-карточки, статьи, моторы).
   Затемнение с блюром поверх контента, панель — карбон с срезом угла как
   терминалы базы; закрытие: ✕ / Escape / клик по фону. ---------- */
.karl-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;}
.karl-modal[hidden]{display:none;}
.karl-modal-backdrop{
  position:absolute;inset:0;background:rgba(7,10,12,.78);
  backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);
  animation:karlFade .25s ease;
}
.karl-modal-panel{
  position:relative;display:flex;flex-direction:column;
  width:min(780px,100%);max-height:min(86vh,100%);
  background:var(--carbon-2);border:1px solid var(--line-strong);
  clip-path:polygon(20px 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%,0 20px);
  animation:karlPop .3s cubic-bezier(.2,.8,.3,1);
  box-shadow:0 30px 80px rgba(0,0,0,.55);
}
@keyframes karlFade{from{opacity:0;}to{opacity:1;}}
@keyframes karlPop{from{opacity:0;transform:translateY(18px) scale(.985);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion: reduce){
  .karl-modal-backdrop,.karl-modal-panel{animation:none;}
}
.karl-modal-head{
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:20px 26px;border-bottom:1px solid var(--line);
  position:sticky;top:0;background:var(--carbon-2);z-index:1;
}
.karl-modal-close{
  width:38px;height:38px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  background:none;border:1px solid var(--line);color:var(--silver);cursor:pointer;
  font-family:'IBM Plex Mono';font-size:14px;transition:border-color .25s,color .25s;
}
.karl-modal-close:hover{border-color:var(--teal);color:var(--teal);}
.karl-modal-close:focus-visible{outline:1px solid var(--teal);outline-offset:2px;}
.karl-modal-body{padding:24px 26px 28px;overflow-y:auto;}
.karl-modal-body .ask-console{margin-bottom:20px;}
/* контейнер ответа внутри модалки: без собственной рамки (панель уже рамка),
   показывается по .show — как .ask-answer в hero */
.karl-modal-answer{display:none;}
.karl-modal-answer.show{display:block;animation:fadeUp .45s ease;}
body.karl-modal-open{overflow:hidden;}

/* ---------- KARL IDENTITY (ADR-044: «Das Beste» — знак K-звезда + подпись инженера;
   концепт: docs/design/karl_wordmark_concepts.html) ---------- */
.karl-mark{display:block;width:28px;height:28px;flex-shrink:0;}
.karl-mark circle,.karl-mark path{fill:none;stroke-linecap:square;}
.karl-mark .k-ring{stroke:var(--line-strong);}
.karl-mark .k-ring2{stroke:rgba(0,210,190,.35);}
.karl-mark .k-stem,.karl-mark .k-leg{stroke:var(--ivory);}
.karl-mark .k-spark{stroke:var(--teal);}
/* Hero-lockup: имя — Playfair Italic (рифма с манифестом «Das Beste oder nichts»),
   роль — служебный mono; базовый .ask-label даёт uppercase/teal — снимаем точечно */
.ask-label--karl{gap:13px;}
.ask-who{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;min-width:0;}
.ask-label--karl .karl-name{
  font-family:'Playfair Display';font-style:italic;font-weight:600;
  font-size:19px;letter-spacing:.01em;line-height:1.1;
  color:var(--ivory);text-transform:none;
}
.ask-label--karl .ask-rest{
  font-family:'IBM Plex Mono';font-size:10.5px;letter-spacing:.24em;
  color:var(--silver-dim);text-transform:uppercase;white-space:nowrap;
}
/* Подпись под ответом (template-parts/karl-sign.php): подписывается только
   финальный ответ; verified = есть источники (полная teal-подпись),
   draft = без источников (приглушённая, без росчерка) */
.karl-sign{margin-top:24px;padding-top:16px;border-top:1px dashed var(--line);}
.karl-sign-row{display:flex;justify-content:flex-end;align-items:flex-end;gap:15px;}
.karl-sign-right{text-align:right;}
.karl-sign-name{
  font-family:'Playfair Display';font-style:italic;font-weight:600;
  font-size:30px;line-height:1;color:var(--ivory);
}
.karl-sign--draft .karl-sign-name{color:var(--silver-dim);}
.karl-sign--draft .karl-mark .k-stem,
.karl-sign--draft .karl-mark .k-leg{stroke:var(--silver-dim);}
.karl-sign--draft .karl-mark .k-spark{stroke:var(--steel);}
.karl-sign--draft .karl-mark .k-ring{stroke:var(--line);}
.karl-swash{display:block;width:132px;height:14px;margin:3px 0 0 auto;}
.karl-swash path{
  stroke:var(--teal);stroke-width:3;stroke-linecap:round;fill:none;
  stroke-dasharray:400;stroke-dashoffset:400;
  animation:karlDraw .9s .35s cubic-bezier(.6,0,.2,1) forwards;
}
@keyframes karlDraw{to{stroke-dashoffset:0;}}
@media (prefers-reduced-motion: reduce){
  .karl-swash path{animation:none;stroke-dashoffset:0;}
}
.karl-sign-tag{
  margin-top:8px;font-family:'IBM Plex Mono';font-size:9.5px;
  letter-spacing:.26em;color:var(--teal);
}
.karl-sign--draft .karl-sign-tag{color:var(--steel);}


@media(max-width:980px){
  .tools-grid{grid-template-columns:1fr;}
  .dtc-body{grid-template-columns:1fr;}
  .dtc-input-side{border-right:none;border-bottom:1px solid var(--line);}
  .footer-top{grid-template-columns:1fr 1fr;}
  .chassis-row{grid-template-columns:90px 1fr 40px;}
  .ch-engines,.ch-count{display:none;}
  nav{display:none;}
  header{padding:16px 20px;}
  .hero,.tools,.chassis,.dtc,.manifest{padding-left:20px;padding-right:20px;}
  .hero-outline{top:90px;font-size:18vw;}
}
