/* ====================================================================
   AiqynAI • Stable build (Dark theme contrast improved + Mobile Burger)
   - Consistent header height across pages
   - Stronger dark glass contrast (menus, chat, modals, drawer)
   - Smoother background gradient
   - Chat input gap fix
   - Two-column AI page (chat left, letter right)
   - Glass UI, iOS-like theme switch, centered modals
   - FAB AI (hidden on ai.html)
   - Mobile burger menu with drawer + backdrop
   ==================================================================== */

/* -------- Base (light default) -------- */
:root{
  --brand:#1aa9e6; --brand-2:#12c4b3;
  --sand:#e7d3a1; --accent:#f2c14e;

  --ink:#0f172a; --muted:#5f6b85; --bg:#eef3f7;

  /* Стекло/границы по умолчанию (светлая тема) */
  --surface:rgba(255,255,255,.66);
  --surface-2:rgba(255,255,255,.28);
  --border:rgba(15,23,42,.10);

  --shadow-1:0 10px 28px rgba(15,23,42,.10);
  --shadow-2:0 18px 48px rgba(15,23,42,.12);

  --radius:16px; --radius-sm:12px;
  --focus:0 0 0 3px rgba(26,169,230,.35);
  --glass-blur:12px;

  --header-h:64px;         /* единая высота контента хедера */
  --nav-link-h:44px;       /* высота кнопок меню */

  /* Пузыри чата (светлая) */
  --bubble-bg: linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,255,255,.50));
  --bubble-bot: linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.62));
  --bubble-border: rgba(15,23,42,.10);

  /* Фон мобильного drawer */
  --drawer-bg: linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.66));
}

/* -------- System-pref dark fallback -------- */
@media (prefers-color-scheme: dark){
  :root{
    --brand:#42b8f0; --brand-2:#27e1d1; --sand:#a78b56; --accent:#f5cf6f;

    --ink:#e8edf6; --muted:#a9b3c8; --bg:#0b1220;

    /* Темнее стекло и ярче границы для контраста */
    --surface:rgba(20,26,40,.70);        /* было ~.45 — сделали темнее */
    --surface-2:rgba(14,18,28,.44);
    --border:rgba(232,237,246,.18);      /* чуть плотнее граница */

    --shadow-1:0 12px 30px rgba(0,0,0,.55);
    --shadow-2:0 20px 56px rgba(0,0,0,.65);

    --focus:0 0 0 3px rgba(66,184,240,.45);
    --glass-blur:14px;

    /* Пузыри чата (тёмная) — более тёмные фоны */
    --bubble-bg: linear-gradient(180deg,rgba(34,42,62,.82),rgba(28,36,54,.72));
    --bubble-bot: linear-gradient(180deg,rgba(38,48,72,.90),rgba(32,40,62,.78));
    --bubble-border: rgba(190,210,240,.16);

    /* Тёмный фон drawer */
    --drawer-bg: linear-gradient(180deg,rgba(18,24,38,.92),rgba(14,18,28,.82));
  }
}

/* -------- Manual theme overrides -------- */
body.theme-light{
  color-scheme:light;
  --brand:#1aa9e6; --brand-2:#12c4b3; --sand:#e7d3a1; --accent:#f2c14e;
  --ink:#0f172a; --muted:#5f6b85; --bg:#eef3f7;
  --surface:rgba(255,255,255,.66); --surface-2:rgba(255,255,255,.28);
  --border:rgba(15,23,42,.10);
  --shadow-1:0 10px 28px rgba(15,23,42,.10);
  --shadow-2:0 18px 48px rgba(15,23,42,.12);
  --focus:0 0 0 3px rgba(26,169,230,.35);
  --glass-blur:12px;
  --bubble-bg: linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,255,255,.50));
  --bubble-bot: linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.62));
  --bubble-border: rgba(15,23,42,.10);
  --drawer-bg: linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.66));
}
body.theme-dark{
  color-scheme:dark;
  --brand:#42b8f0; --brand-2:#27e1d1; --sand:#a78b56; --accent:#f5cf6f;
  --ink:#e8edf6; --muted:#a9b3c8; --bg:#0b1220;
  --surface:rgba(20,26,40,.70);
  --surface-2:rgba(14,18,28,.44);
  --border:rgba(232,237,246,.18);
  --shadow-1:0 12px 30px rgba(0,0,0,.55);
  --shadow-2:0 20px 56px rgba(0,0,0,.65);
  --focus:0 0 0 3px rgba(66,184,240,.45);
  --glass-blur:14px;
  --bubble-bg: linear-gradient(180deg,rgba(34,42,62,.82),rgba(28,36,54,.72));
  --bubble-bot: linear-gradient(180deg,rgba(38,48,72,.90),rgba(32,40,62,.78));
  --bubble-border: rgba(190,210,240,.16);
  --drawer-bg: linear-gradient(180deg,rgba(18,24,38,.92),rgba(14,18,28,.82));
}

/* -------- Reset + global layout -------- */
*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{
  min-height:100%;display:flex;flex-direction:column;color:var(--ink);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.65;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;

  /* более плавный фон */
  background:
    radial-gradient(1200px 800px at -10% -20%, rgba(26,169,230,.16), transparent 60%),
    radial-gradient(1200px 800px at 110% 120%, rgba(18,196,179,.14), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.20), rgba(255,255,255,0) 45%),
    var(--bg);
}
main{flex:1}
.container{max-width:1140px;margin:28px auto;padding:0 18px}

/* -------- Type -------- */
h1{font-size:30px;line-height:1.2;margin:0 0 12px}
h2{font-size:22px;margin:24px 0 12px}
h3{font-size:18px;margin:18px 0 8px}
p{color:var(--muted);margin:10px 0}
a{color:var(--brand);text-decoration:none}
a:hover{color:var(--brand)} /* подчёркиваний нет */

/* -------- Glass helpers -------- */
.glass,.card,.panel,.chat-window,.ai-panel{
  background:linear-gradient(to bottom right,var(--surface),var(--surface-2));
  border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow-1);backdrop-filter:blur(var(--glass-blur));
}

/* -------- Header (strict consistent height) -------- */
.site-header{
  position:sticky;top:0;z-index:50;
  padding:10px 14px;
  min-height:calc(var(--header-h) + 20px);  /* 84px стабильно везде */
  margin:10px; border-radius:calc(var(--radius) + 6px);
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  background:linear-gradient(to right,var(--surface),var(--surface-2));
  border:1px solid var(--border); box-shadow:var(--shadow-1); backdrop-filter:blur(var(--glass-blur));
  overflow:hidden;
}
.brand,.header-right{height:var(--nav-link-h);display:flex;align-items:center}
.nav{display:flex;align-items:center;gap:6px;overflow-x:auto;padding:4px 0;flex:1 1 auto;justify-content:center}
.nav a{
  display:inline-flex;align-items:center;justify-content:center;
  height:var(--nav-link-h);
  white-space:nowrap;color:var(--ink);padding:0 14px;border-radius:999px;border:1px solid transparent;
  transition:background .15s,color .15s,border-color .15s,transform .05s;
  line-height:1;
}
.site-header:after{
  content:""; position:absolute; inset:auto 0 0 0; height:48px; opacity:.05; pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg width='220' height='56' viewBox='0 0 220 56' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 28l8-8 8 8-8 8-8-8zm48 0l8-8 8 8-8 8-8-8zm48 0l8-8 8 8-8 8-8-8z' fill='%231aa9e6' fill-opacity='.9'/%3E%3C/svg%3E") center/220px 56px repeat-x;
}
.brand{gap:10px;font-weight:900;cursor:pointer;flex:0 0 auto}
.logo{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;color:#fff;font-size:16px;
  background:radial-gradient(60% 60% at 30% 30%, rgba(255,255,255,.35), transparent 60%),linear-gradient(135deg,var(--brand),var(--brand-2));
  box-shadow:0 8px 22px rgba(26,169,230,.35);border:1px solid rgba(255,255,255,.25)}
.title{font-size:18px;letter-spacing:.2px}
.nav a:hover{background:linear-gradient(0deg,rgba(26,169,230,.08),rgba(26,169,230,0));border-color:rgba(26,169,230,.20)}
.nav a.active{
  color:#0b1726;background:linear-gradient(180deg,rgba(255,255,255,.65),rgba(255,255,255,.35)),linear-gradient(135deg,var(--brand),var(--brand-2));
  border-color:rgba(255,255,255,.45);box-shadow:0 6px 18px rgba(26,169,230,.25);
}
.header-right{gap:8px;flex:0 0 auto}
.points{
  display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-weight:800;color:#0b1726;
  background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,255,255,.35)),linear-gradient(135deg,var(--brand),var(--brand-2));
  border:1px solid rgba(255,255,255,.5);padding:10px 14px;border-radius:999px;box-shadow:0 8px 20px rgba(18,196,179,.22);
}
body.theme-dark .points,
@media (prefers-color-scheme: dark){
  body:not(.theme-light) .points{
    color:#07111f;
  }
}
.icon-btn{
  width:38px;height:38px;border-radius:999px;border:1px solid rgba(255,255,255,.45);
  display:grid;place-items:center;cursor:pointer;background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(255,255,255,.3));
  box-shadow:0 8px 18px rgba(26,169,230,.22);
}
.icon-btn svg{width:18px;height:18px;fill:#0b1726}
body.theme-dark .icon-btn svg,
@media (prefers-color-scheme: dark){
  body:not(.theme-light) .icon-btn svg{fill:#e8edf6}
}

/* -------- Buttons -------- */
.btn{
  display:inline-block;cursor:pointer;border:1px solid rgba(255,255,255,.35);border-radius:14px;padding:12px 18px;
  font-weight:800;letter-spacing:.2px;color:#0b1726;text-decoration:none;
  background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,255,255,.35)),linear-gradient(135deg,var(--brand),var(--brand-2));
  box-shadow:0 10px 28px rgba(26,169,230,.26);transition:transform .06s,box-shadow .12s,filter .12s;
}
body.theme-dark .btn,
@media (prefers-color-scheme: dark){
  body:not(.theme-light) .btn{color:#07111f}
}
.btn:hover{filter:brightness(1.03);box-shadow:0 12px 34px rgba(26,169,230,.32)}
.btn:active{transform:translateY(1px)}
.btn.ghost{background:linear-gradient(180deg,rgba(255,255,255,.45),rgba(255,255,255,.18));color:var(--brand);border-color:rgba(26,169,230,.45);box-shadow:0 6px 16px rgba(26,169,230,.16)}

/* -------- Cards / lists -------- */
.grid{margin-top:16px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{position:relative;overflow:hidden;color:var(--ink);text-decoration:none;padding:20px;transition:transform .08s,box-shadow .12s,border-color .12s}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-2);border-color:rgba(26,169,230,.30)}
.card h3{margin:0 0 8px}

/* -------- Panels / Forms -------- */
.panel{padding:22px}
.panel .row{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}
input[type="text"],input[type="email"],input[type="password"],select,textarea{
  width:100%;color:var(--ink);
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,.42));
  border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;outline:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4);transition:border-color .12s,box-shadow .12s,background .12s;
}
body.theme-dark input[type="text"], body.theme-dark textarea,
@media (prefers-color-scheme: dark){
  body:not(.theme-light) input[type="text"], body:not(.theme-light) textarea{
    background:linear-gradient(180deg,rgba(30,38,58,.82),rgba(24,30,48,.72));
    color:#e8edf6;
  }
}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:var(--focus), inset 0 1px 0 rgba(255,255,255,.5);background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.58))}

/* -------- Chat (ai.html) -------- */
.chat{ border:1px solid var(--border); box-shadow:var(--shadow-1); }
.chat-window{
  height:440px; overflow-y:auto; padding:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.60), rgba(255,255,255,.32));
  border-bottom:1px solid var(--border);
}
body.theme-dark .chat-window,
@media (prefers-color-scheme: dark){
  body:not(.theme-light) .chat-window{
    background:linear-gradient(180deg, rgba(24,30,48,.85), rgba(18,24,38,.70));
  }
}
.chat--xl .chat-window{height:min(70vh,640px)}
.msg{margin:10px 0;display:flex;gap:10px}
.msg.me{justify-content:flex-end}
.bubble{
  max-width:72%;padding:12px 14px;border-radius:12px;border:1px solid var(--bubble-border);
  background:var(--bubble-bg);
  box-shadow:0 2px 10px rgba(15,23,42,.08);
}
.bubble.bot{ background:var(--bubble-bot); }

/* Подсказки */
.chat .chips{
  display:flex; gap:8px; flex-wrap:wrap; margin:10px 0 0 0; padding:10px 12px;
  border-top:1px solid var(--border);
}
.chat .chips .chip{
  cursor:pointer; user-select:none;
  border-radius:14px; border:1px solid rgba(26,169,230,.35);
  background:linear-gradient(180deg,rgba(255,255,255,.65),rgba(255,255,255,.30));
  padding:8px 12px; font-weight:700; color:var(--brand);
  box-shadow:0 4px 12px rgba(26,169,230,.15);
}
body.theme-dark .chat .chips .chip,
@media (prefers-color-scheme: dark){
  body:not(.theme-light) .chat .chips .chip{
    background:linear-gradient(180deg,rgba(34,42,62,.80),rgba(28,36,54,.62));
    border-color:rgba(66,184,240,.28);
  }
}
.chat .chips .chip:hover{filter:brightness(1.04)}

/* Везде одинаковый отступ между инпутом и кнопкой */
.inputbar{ display:flex; gap:10px; padding:12px }

/* -------- Footer -------- */
.site-footer{
  position:relative;text-align:center;color:var(--muted);font-size:14px;padding:38px 18px;overflow:hidden;
  background:linear-gradient(to right,var(--surface),var(--surface-2));border-top:1px solid var(--border);
}

/* -------- FAB + Panel (mini chat, НЕТ на странице AI) -------- */
.ai-fab{
  position:fixed;right:20px;bottom:20px;z-index:60;width:60px;height:60px;border-radius:50%;
  display:none;place-items:center;cursor:pointer;color:#0b1726;font-weight:900;font-size:18px;
  border:1px solid rgba(255,255,255,.45);
  background:radial-gradient(60% 60% at 30% 30%, rgba(255,255,255,.40), transparent 60%),linear-gradient(135deg,var(--brand),var(--brand-2));
  box-shadow:0 16px 36px rgba(18,196,179,.35);
}
body.ai-ready .ai-fab{display:grid}
.ai-fab.has-notif::after{content:"";position:absolute;top:-2px;right:-2px;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 rgba(242,193,78,.45);animation:ping 1.6s cubic-bezier(0,0,.2,1) infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(242,193,78,.45)}70%{box-shadow:0 0 0 12px rgba(242,193,78,0)}100%{box-shadow:0 0 0 0 rgba(242,193,78,0)}}

.ai-panel{
  position:fixed;z-index:60;width:380px;max-width:calc(100vw - 32px);height:480px;border-radius:18px;overflow:hidden;
  opacity:0;transform:translateY(8px) scale(.985);pointer-events:none;transition:opacity .18s,transform .18s;
  background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,255,255,.38)),linear-gradient(135deg,rgba(26,169,230,.10),rgba(18,196,179,.10));
  border:1px solid var(--border);box-shadow:var(--shadow-2);
}
body.theme-dark .ai-panel,
@media (prefers-color-scheme: dark){
  body:not(.theme-light) .ai-panel{
    background:linear-gradient(180deg,rgba(24,30,48,.88),rgba(18,24,38,.70)),linear-gradient(135deg,rgba(66,184,240,.10),rgba(39,225,209,.08));
  }
}
.ai-panel header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border)}
.ai-panel .body{height:calc(100% - 54px);display:flex;flex-direction:column;padding:12px}
.ai-panel .scroll{flex:1;overflow:auto;padding-right:4px}
.ai-panel .inputbar{display:flex;gap:8px;margin-top:10px}
body.ai-open .ai-panel{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}

/* -------- Theme switch (iOS) -------- */
.theme-switch{position:relative;width:72px;height:34px;border-radius:999px;border:1px solid rgba(255,255,255,.35);
  background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,255,255,.35)),linear-gradient(135deg,var(--brand),var(--brand-2));
  display:inline-flex;align-items:center;justify-content:space-between;padding:0 8px;cursor:pointer;user-select:none}
.theme-switch .icon{font-size:14px;line-height:1;opacity:.85}
.theme-switch .thumb{position:absolute;top:3px;left:3px;width:28px;height:28px;border-radius:50%;background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.55));border:1px solid rgba(255,255,255,.65);box-shadow:0 6px 14px rgba(15,23,42,.18);transition:transform .18s}
.theme-switch[data-mode="light"] .thumb{transform:translateX(0)}
.theme-switch[data-mode="dark"] .thumb{transform:translateX(38px)}
@media (max-width:680px){.theme-switch{width:64px;height:32px}.theme-switch .thumb{width:26px;height:26px}.theme-switch[data-mode="dark"] .thumb{transform:translateX(34px)}}

/* -------- Modals -------- */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.28);backdrop-filter:blur(3px);display:none;z-index:70}
.modal{
  position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(760px,calc(100% - 32px));
  max-height:70vh; overflow:auto;
  background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,255,255,.40));
  border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-2);padding:22px;display:none;z-index:71
}
body.theme-dark .modal,
@media (prefers-color-scheme: dark){
  body:not(.theme-light) .modal{
    background:linear-gradient(180deg,rgba(24,30,48,.88),rgba(18,24,38,.70));
  }
}
.modal header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.modal .close{border:1px solid rgba(255,255,255,.45);border-radius:10px;background:linear-gradient(180deg,rgba(255,255,255,.6),rgba(255,255,255,.3));padding:6px 10px;cursor:pointer}
.modal.open,.modal-backdrop.open{display:block}
.rewards-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.badge{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(255,255,255,.35))}
body.theme-dark .badge,
@media (prefers-color-scheme: dark){
  body:not(.theme-light) .badge{
    background:linear-gradient(180deg,rgba(28,36,54,.80),rgba(22,30,48,.64));
  }
}
.profile-form .row{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}

/* -------- AI page layout -------- */
.split{
  display:grid; gap:18px;
  grid-template-columns: 1.25fr 1fr;          /* чат слева шире */
}
@media (max-width: 980px){
  .split{ grid-template-columns: 1fr; }
}

/* =======================
   Mobile Burger Menu
   ======================= */
.burger{
  display:none; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:10px;
  border:1px solid rgba(255,255,255,.45);
  background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(255,255,255,.3));
  box-shadow:0 8px 18px rgba(26,169,230,.22);
  cursor:pointer;
}
.burger svg{width:20px;height:20px;fill:#0b1726}
body.theme-dark .burger svg,
@media (prefers-color-scheme: dark){
  body:not(.theme-light) .burger svg{fill:#e8edf6}
}

.mobile-backdrop{
  position:fixed; inset:0; background:rgba(0,0,0,.28); backdrop-filter:blur(3px);
  opacity:0; pointer-events:none; transition:opacity .18s; z-index:80;
}
.mobile-drawer{
  position:fixed; top:0; right:0; height:100vh; width:min(88vw,360px);
  background:var(--drawer-bg);
  border-left:1px solid var(--border); box-shadow:0 18px 48px rgba(0,0,0,.22);
  transform:translateX(100%); transition:transform .22s ease; z-index:81;
  display:flex; flex-direction:column; padding:14px;
  backdrop-filter:blur(10px);
}
.mobile-drawer header{display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px}
.mobile-drawer .close{
  border:1px solid rgba(255,255,255,.45); border-radius:10px;
  background:linear-gradient(180deg,rgba(255,255,255,.6),rgba(255,255,255,.3));
  padding:6px 10px; cursor:pointer;
}
.mobile-drawer nav{display:flex; flex-direction:column; gap:8px; margin-top:8px}
.mobile-drawer a{
  display:flex; align-items:center; height:40px; border-radius:10px; padding:0 12px;
  color:var(--ink); text-decoration:none; border:1px solid transparent;
  background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,255,255,.35));
}
body.theme-dark .mobile-drawer a,
@media (prefers-color-scheme: dark){
  body:not(.theme-light) .mobile-drawer a{
    background:linear-gradient(180deg,rgba(34,42,62,.82),rgba(28,36,54,.66));
  }
}
.mobile-drawer a.active{
  border-color:rgba(26,169,230,.35);
  background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.55));
}
body.theme-dark .mobile-drawer a.active,
@media (prefers-color-scheme: dark){
  body:not(.theme-light) .mobile-drawer a.active{
    background:linear-gradient(180deg,rgba(38,48,72,.92),rgba(32,40,62,.78));
  }
}

.mobile-open .mobile-backdrop{opacity:1; pointer-events:auto}
.mobile-open .mobile-drawer{transform:translateX(0)}

/* Порог для включения бургера */
@media (max-width: 900px){
  .nav{display:none}           /* прячем большую навигацию */
  .burger{display:flex}        /* показываем кнопку */
}
