/* ai.impulsweb.uz — AI konsultatsiya voronkasi.
   Vizual tizim: BREND-IMPULS.md
   qora 70% · oq 25% · sariq 4% · qizil <1%
   Tema almashtirilmaydi — brend bitta olamda: studiya qorasi. */

:root{
  --qora:#0B0B0C;
  --qora-2:#131315;
  --qora-3:#1C1C1F;
  --qora-4:#2A2A2E;
  --oq:#F2F1EC;
  --kul:#8E8E86;
  --kul-2:#5C5C56;
  --sariq:#E4FF1A;
  --qizil:#FF3B25;
  --yashil:#3DDC84;

  --display:"Archivo","Helvetica Neue",Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SF Mono",monospace;

  --chekka:clamp(20px,5vw,72px);
  --tez:.3s;
  --chiq:cubic-bezier(.16,1,.3,1);
}

*{box-sizing:border-box}
html{background:var(--qora);-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(--qora);color:var(--oq);
  font-family:var(--display);font-size:16px;line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img,video{max-width:100%;display:block}
a{color:inherit}
::selection{background:var(--sariq);color:var(--qora)}
:focus-visible{outline:2px solid var(--sariq);outline-offset:3px}

.wrap{max-width:1080px;margin:0 auto;
  padding-left:var(--chekka);padding-right:var(--chekka)}

/* ---------- yozuv ---------- */
.mono{font-family:var(--mono)}
.eyebrow{
  font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.18em;
  text-transform:uppercase;color:var(--kul);margin:0 0 16px;
}
h1,h2,h3{margin:0;text-transform:uppercase;letter-spacing:-.02em;
  line-height:.95;font-weight:800;text-wrap:balance}
h1{font-size:clamp(34px,7.2vw,74px)}
h2{font-size:clamp(26px,5vw,50px)}
h3{font-size:clamp(17px,2.2vw,22px);letter-spacing:-.01em}
p{margin:0}
.lead{color:var(--kul);font-size:clamp(16px,1.9vw,19px);line-height:1.6;
  max-width:56ch;text-transform:none;letter-spacing:0;font-weight:400}
.sariq{color:var(--sariq)}
.qizil{color:var(--qizil)}

/* ---------- nav ---------- */
header.nav{position:sticky;top:0;z-index:50;background:rgba(11,11,12,.9);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--qora-3)}
.nav .ich{display:flex;align-items:center;justify-content:space-between;
  gap:16px;height:58px}
.logo{font-weight:800;text-transform:uppercase;letter-spacing:-.02em;
  font-size:19px;text-decoration:none}
.logo i{color:var(--qizil);font-style:normal}
.nav .rec{font-family:var(--mono);font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--kul);display:flex;align-items:center;gap:7px}
.nav .rec::before{content:"";width:7px;height:7px;border-radius:50%;
  background:var(--qizil);animation:puls 1.8s infinite}
@keyframes puls{0%,100%{opacity:1}50%{opacity:.25}}

/* ---------- tugma ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--display);font-weight:800;text-transform:uppercase;
  letter-spacing:.01em;font-size:15px;padding:16px 26px;border:0;
  border-radius:2px;background:var(--sariq);color:var(--qora);
  text-decoration:none;cursor:pointer;transition:transform var(--tez) var(--chiq),
  filter var(--tez)}
.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;filter:none}
.btn.ochiq{background:transparent;color:var(--oq);
  box-shadow:inset 0 0 0 1px var(--qora-4)}
.btn.ochiq:hover{box-shadow:inset 0 0 0 1px var(--kul-2)}
.btn.katta{width:100%;padding:19px 26px;font-size:16px}

/* ---------- bo'limlar ---------- */
section{padding:clamp(56px,9vw,110px) 0;border-top:1px solid var(--qora-3)}
section:first-of-type{border-top:0}
.bosh{margin-bottom:clamp(30px,5vw,54px)}
.bosh h2{margin-bottom:16px}

/* ---------- hero ---------- */
.hero{padding:clamp(52px,9vw,104px) 0 clamp(44px,7vw,84px);position:relative;
  overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(70% 60% at 78% 0%,rgba(228,255,26,.10),transparent 62%)}
.hero .ich{position:relative}
.hero h1{margin-bottom:22px}
.hero .lead{margin-bottom:30px}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.tag{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sariq);
  border:1px solid rgba(228,255,26,.32);border-radius:100px;padding:7px 15px;
  margin-bottom:24px}

/* ---------- qatorlar ---------- */
.qatorlar{display:grid;gap:1px;background:var(--qora-3);
  border-top:1px solid var(--qora-3);border-bottom:1px solid var(--qora-3)}
.qator{background:var(--qora);display:grid;grid-template-columns:56px 1fr;
  gap:18px;padding:26px 0}
.qator .n{font-family:var(--mono);font-size:12px;color:var(--kul-2);
  padding-top:5px;letter-spacing:.1em}
.qator h3{margin-bottom:9px}
.qator p{color:var(--kul);max-width:60ch}

/* ---------- jadval ---------- */
.jadval{display:grid;gap:14px}
.kun{background:var(--qora-2);border:1px solid var(--qora-3);border-radius:3px;
  padding:18px 18px 16px}
.kun.bugun{border-color:rgba(228,255,26,.30)}
.kun .sarlavha{display:flex;align-items:baseline;justify-content:space-between;
  gap:12px;margin-bottom:14px}
.kun .sana{font-weight:800;text-transform:uppercase;letter-spacing:-.01em;
  font-size:17px}
.kun .qoldi{font-family:var(--mono);font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--kul)}
.kun .qoldi.yoq{color:var(--kul-2)}
.slotlar{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));
  gap:9px}
/* Slot — haqiqiy radio tugma (klaviaturadan ham tanlanadi), ustiga uslub. */
.slot{position:relative;display:block;font-family:var(--mono);font-size:14px;
  font-weight:500;padding:13px 6px;text-align:center;border-radius:2px;
  border:1px solid var(--qora-4);background:var(--qora);color:var(--oq);
  cursor:pointer;transition:all var(--tez) var(--chiq)}
.slot input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.slot:hover{border-color:var(--sariq);color:var(--sariq)}
.slot:has(input:focus-visible){outline:2px solid var(--sariq);outline-offset:3px}
.slot:has(input:checked){background:var(--sariq);border-color:var(--sariq);
  color:var(--qora);font-weight:600}
.slot.band{cursor:not-allowed;color:var(--kul-2);border-color:var(--qora-3);
  background:var(--qora-2);text-decoration:line-through;
  text-decoration-color:var(--kul-2)}
.slot.band:hover{border-color:var(--qora-3);color:var(--kul-2)}
.slot .holat{display:block;font-size:9px;letter-spacing:.1em;
  text-transform:uppercase;margin-top:4px;opacity:.75;text-decoration:none}

/* ---------- forma ---------- */
.forma{background:var(--qora-2);border:1px solid var(--qora-3);border-radius:3px;
  padding:clamp(20px,4vw,34px);max-width:620px}
.maydon{margin-bottom:18px}
.maydon label{display:block;font-family:var(--mono);font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--kul);margin-bottom:8px}
.maydon label .yulduz{color:var(--qizil)}
.maydon input,.maydon select,.maydon textarea{
  width:100%;background:var(--qora);color:var(--oq);border:1px solid var(--qora-4);
  border-radius:2px;padding:14px 15px;font-family:var(--display);font-size:16px;
  transition:border-color var(--tez)}
.maydon textarea{min-height:92px;resize:vertical;line-height:1.5}
.maydon input:focus,.maydon select:focus,.maydon textarea:focus{
  outline:none;border-color:var(--sariq)}
.maydon .yordam{font-size:13px;color:var(--kul-2);margin-top:7px}
.maydon .xato{font-size:13px;color:var(--qizil);margin-top:7px;display:none}
.maydon.xatoli input,.maydon.xatoli select,.maydon.xatoli textarea{
  border-color:var(--qizil)}
.maydon.xatoli .xato{display:block}
.rozilik{display:flex;gap:11px;align-items:flex-start;margin-bottom:22px}
.rozilik input{width:19px;height:19px;flex:0 0 19px;margin-top:2px;
  accent-color:var(--sariq)}
.rozilik span{font-size:14px;color:var(--kul);line-height:1.5}
.asal{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.tanlangan{font-family:var(--mono);font-size:13px;color:var(--sariq);
  border:1px dashed rgba(228,255,26,.35);border-radius:2px;padding:12px 14px;
  margin-bottom:20px}
.tanlangan.bosh{color:var(--kul-2);border-color:var(--qora-4)}
.javob{margin-top:16px;font-size:14px;line-height:1.5;padding:13px 15px;
  border-radius:2px;display:none}
.javob.xato{display:block;background:rgba(255,59,37,.10);
  border:1px solid rgba(255,59,37,.35);color:#FF8C7D}

/* ---------- tasdiq sahifasi ---------- */
.chek{background:var(--qora-2);border:1px solid var(--qora-3);border-radius:3px;
  max-width:560px;overflow:hidden}
.chek .tepa{background:var(--sariq);color:var(--qora);padding:22px 26px}
.chek .tepa .kod{font-family:var(--mono);font-size:12px;letter-spacing:.16em;
  text-transform:uppercase}
.chek .tepa h2{font-size:clamp(24px,4.4vw,36px);margin-top:7px}
.chek .ich{padding:26px}
.chek dl{display:grid;grid-template-columns:auto 1fr;gap:11px 20px;margin:0 0 24px}
.chek dt{font-family:var(--mono);font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--kul);padding-top:3px}
.chek dd{margin:0;font-weight:600}
.qadamlar{counter-reset:q;margin:0 0 24px;padding:0;list-style:none}
.qadamlar li{counter-increment:q;position:relative;padding-left:38px;
  margin-bottom:15px;color:var(--kul);font-size:15px;line-height:1.55}
.qadamlar li::before{content:counter(q);position:absolute;left:0;top:0;
  width:25px;height:25px;border-radius:50%;background:var(--qora-4);
  color:var(--oq);font-family:var(--mono);font-size:12px;display:flex;
  align-items:center;justify-content:center}
.qadamlar li b{color:var(--oq);font-weight:600}
.ogoh{background:rgba(255,59,37,.08);border:1px solid rgba(255,59,37,.28);
  border-radius:2px;padding:14px 16px;font-size:14px;color:#FFB3A8;line-height:1.55}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--qora-3);padding:34px 0;color:var(--kul-2);
  font-size:13px}
footer .ich{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}
footer a{color:var(--kul);text-decoration:none}
footer a:hover{color:var(--sariq)}

/* ---------- admin ---------- */
.panel{padding:26px 0 70px}
.kartalar{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
  gap:11px;margin-bottom:28px}
.karta{background:var(--qora-2);border:1px solid var(--qora-3);border-radius:3px;
  padding:16px 18px}
.karta b{display:block;font-size:30px;font-weight:800;line-height:1}
.karta span{font-family:var(--mono);font-size:10px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--kul);margin-top:7px;display:block}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:11px 10px;border-bottom:1px solid var(--qora-3);
  vertical-align:top}
th{font-family:var(--mono);font-size:10px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--kul);font-weight:500}
.jadval-quti{overflow-x:auto;-webkit-overflow-scrolling:touch}
.belgi{display:inline-block;font-family:var(--mono);font-size:10px;
  letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:2px;
  background:var(--qora-4);color:var(--kul)}
.belgi.yangi{background:rgba(228,255,26,.15);color:var(--sariq)}
.belgi.keldi{background:rgba(61,220,132,.14);color:var(--yashil)}
.belgi.kelmadi{background:rgba(255,59,37,.14);color:#FF8C7D}
.belgi.mijoz{background:var(--sariq);color:var(--qora)}
.belgi.past{background:rgba(255,59,37,.12);color:#FF8C7D}
.amal{display:flex;gap:5px;flex-wrap:wrap}
.amal button{font-family:var(--mono);font-size:11px;padding:6px 9px;
  background:var(--qora-3);color:var(--kul);border:1px solid var(--qora-4);
  border-radius:2px;cursor:pointer}
.amal button:hover{color:var(--oq);border-color:var(--kul-2)}

@media (max-width:640px){
  .qator{grid-template-columns:40px 1fr;gap:12px}
  .slotlar{grid-template-columns:repeat(auto-fill,minmax(84px,1fr))}
  .chek dl{grid-template-columns:1fr;gap:3px 0}
  .chek dd{margin-bottom:11px}
}
