  @import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap');

  :root{
    --bg: #0a0a18;
    --bg-deep: #06060f;
    --bg-alt: #0f172a;
    --line: #1c2740;
    --accent: #ff007f;
    --accent-light: #ff66a3;
    --accent-dark: #cc0066;
    --accent-dim: #ff007f22;
    --yellow: #e8b93e;
    --yellow-dim: #e8b93e22;
    --purple: #6b21a8;
    --purple-light: #a855f7;
    --purple-dim: #6b21a822;
    --text: #f8fafc;
    --text-muted: #94a3b8;
    --font: 'Outfit', sans-serif;
    --radius: 14px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{ background:var(--bg); color-scheme: dark; }
  body{
    background:radial-gradient(ellipse 80% 55% at 50% -10%, var(--bg-alt) 0%, var(--bg) 55%);
    color:var(--text);
    font-family:var(--font);
    min-height:100vh;
    width:100%;
    position:relative;
    overflow-x:hidden;
  }
  .mono{ font-family:'IBM Plex Mono', monospace; }
  .display{ font-family:var(--font); }

  /* Topbar */
  .topbar{
    display:flex; align-items:center; justify-content:space-between;
    padding:20px 24px 0 24px;
    position:relative; z-index:20;
  }
  .logo{ font-family:var(--font); font-weight:700; font-size:15px; letter-spacing:0.02em;}
  .logo span{ color:var(--accent);}
  .topbar-right{ display:flex; align-items:center; gap:10px; }
  .burger{
    width:38px; height:38px; border-radius:10px; border:1px solid var(--line);
    background:var(--bg-alt);
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
    cursor:pointer;
  }
  .burger div{ width:16px; height:1.5px; background:var(--text); transition:.25s; }
  .burger.open div:nth-child(1){ transform:translateY(5.5px) rotate(45deg); }
  .burger.open div:nth-child(2){ opacity:0; }
  .burger.open div:nth-child(3){ transform:translateY(-5.5px) rotate(-45deg); }

  /* Hero */
  .hero{
    min-height:100vh;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    padding:60px 24px 40px 24px;
    position:relative;
    text-align:center;
    overflow:hidden;
  }
  .scanline{
    position:absolute; left:0; right:0; height:1px;
    background:linear-gradient(90deg, transparent, var(--accent), transparent);
    opacity:0; top:50%;
  }
  .scanline.active{
    animation: sweep 2.6s linear infinite;
    opacity:0.6;
  }
  @keyframes sweep{
    0%{ top:15%; opacity:0; }
    10%{ opacity:.6; }
    90%{ opacity:.6; }
    100%{ top:85%; opacity:0; }
  }
  .status-pill{
    font-family:'IBM Plex Mono',monospace;
    font-size:11px; letter-spacing:0.12em; text-transform:uppercase;
    color:var(--text-muted);
    border:1px solid var(--line);
    padding:6px 14px; border-radius:100px;
    margin-bottom:28px;
    display:flex; align-items:center; gap:8px;
  }
  .status-dot{ width:6px; height:6px; border-radius:50%; background:var(--text-muted); }
  .status-pill.running{ color:var(--accent); border-color:var(--accent-dim); background:var(--accent-dim); }
  .status-pill.running .status-dot{ background:var(--accent); box-shadow:0 0 0 0 var(--accent); animation:pulse 1.6s infinite; }
  @keyframes pulse{
    0%{ box-shadow:0 0 0 0 #FF007F66; }
    70%{ box-shadow:0 0 0 8px #FF007F00; }
    100%{ box-shadow:0 0 0 0 #FF007F00; }
  }

  .hero h1{
    font-size:30px; line-height:1.15; font-weight:700; margin-bottom:14px;
    letter-spacing:-0.01em;
  }
  .hero p{
    color:var(--text-muted); font-size:14px; max-width:280px; margin-bottom:40px; line-height:1.5;
  }

  .start-btn{
    width:168px; height:168px; border-radius:50%;
    background:radial-gradient(circle at 30% 30%, var(--accent-light), var(--accent));
    color:#141416;
    border:none;
    font-family:var(--font); font-weight:700; font-size:16px;
    cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    position:relative;
    box-shadow: 0 0 0 1px #FF007F22, 0 20px 60px -15px #FF007F55;
    transition: transform .15s ease;
  }
  .start-btn:active{ transform:scale(0.96); }
  .start-btn.running{
    background:radial-gradient(circle at 30% 30%, var(--purple-light), var(--purple));
    box-shadow: 0 0 0 1px #6B21A822, 0 20px 60px -15px #6B21A855;
  }
  .start-btn .ring{
    position:absolute; inset:-14px; border-radius:50%; border:1px solid var(--accent-dim);
    opacity:0;
  }
  .start-btn.running .ring{ opacity:1; animation: ringgrow 2s ease-out infinite; }
  @keyframes ringgrow{
    0%{ inset:-6px; opacity:.9; }
    100%{ inset:-32px; opacity:0; }
  }

  .last-run{
    margin-top:36px; font-size:12px; color:var(--text-muted);
    font-family:'IBM Plex Mono',monospace;
  }
  .last-run b{ color:var(--text); font-weight:500; }

  /* ===== Hero vezérlők: keresés szűrése + AI-költés, a gomb alatt ===== */
  .hero-controls{
    width:100%; max-width:460px; margin-top:auto; padding-top:64px;
    display:flex; flex-direction:column; gap:18px;
  }
  .control-card{
    background:var(--bg-alt); border:1px solid var(--line); border-radius:16px;
    padding:26px 28px; text-align:left;
  }
  .control-card-title{
    font-family:var(--font); font-size:17px; font-weight:700; margin-bottom:20px;
    color:var(--text);
  }

  /* Drawer */
  .overlay{
    position:fixed; inset:0; background:#0A0B0EAA; backdrop-filter:blur(2px);
    opacity:0; pointer-events:none; transition:.25s; z-index:30;
  }
  .overlay.open{ opacity:1; pointer-events:auto; }

  .drawer{
    position:fixed; top:0; right:0; bottom:0; width:88%; max-width:420px;
    background:var(--bg-alt); border-left:1px solid var(--line);
    transform:translateX(100%); transition:.3s cubic-bezier(.4,0,.2,1);
    z-index:40; display:flex; flex-direction:column;
  }
  .drawer.open{ transform:translateX(0); }
  .drawer-head{ padding:22px 20px; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; align-items:center;}
  .drawer-head h2{ font-family:var(--font); font-size:17px; }
  .drawer-close{ color:var(--text-muted); font-size:20px; cursor:pointer; }

  .tabs{ display:flex; gap:4px; padding:16px 20px 0 20px; }
  .tab{
    flex:1; text-align:center; padding:10px 0; font-size:13px; font-weight:500;
    color:var(--text-muted); border-bottom:2px solid var(--line); cursor:pointer;
  }
  .tab.active{ color:var(--text); border-color:var(--accent); }

  .panel{ display:none; padding:16px 20px 40px 20px; overflow-y:auto; flex:1; }
  .panel.active{ display:block; }

  .drawer-footer{ display:none; padding:14px 20px; border-top:1px solid var(--line); background:var(--bg-alt); }
  .drawer-footer.active{ display:block; }

  /* Result cards */
  .card{
    background:var(--bg); border:1px solid var(--line); border-radius:var(--radius);
    margin-bottom:12px; overflow:hidden;
  }
  .card-head{
    padding:14px 16px; display:flex; justify-content:space-between; align-items:center; cursor:pointer;
    gap:10px;
  }
  .card-title{ font-size:14px; font-weight:600; }
  .card-sub{ font-size:11.5px; color:var(--text-muted); margin-top:2px; font-family:'IBM Plex Mono',monospace;}
  .badge-slot{ display:flex; flex-direction:column; align-items:flex-end; gap:4px; margin-left:auto; }
  .badge{
    font-size:10px; font-family:'IBM Plex Mono',monospace; text-transform:uppercase;
    padding:3px 8px; border-radius:100px; white-space:nowrap; letter-spacing:.04em;
  }
  .badge.none{ background:var(--accent-dim); color:var(--accent); }
  .badge.old{ background:var(--yellow-dim); color:var(--yellow); }
  .badge.priority{ background:var(--purple-dim); color:var(--purple-light); }
  .card.priority{ border-color:var(--purple); box-shadow:0 0 0 1px var(--purple-dim); }
  .chev{ color:var(--text-muted); transition:.2s; font-size:12px; }
  .card.open .chev{ transform:rotate(180deg); }

  .card-body{
    max-height:0; overflow:hidden; transition:.25s ease;
    border-top:1px solid transparent;
  }
  .card.open .card-body{ max-height:560px; border-top:1px solid var(--line); }
  .card-body-in{ padding:14px 16px; display:grid; grid-template-columns:1fr; gap:9px; }
  .row{ display:flex; justify-content:space-between; gap:12px; font-size:12.5px; }
  .row .k{ color:var(--text-muted); }
  .row .v{ text-align:right; color:var(--text); }
  .price-note{
    margin-top:6px; padding:10px 12px; background:var(--accent-dim); border-radius:10px;
    font-size:12px; color:var(--text); line-height:1.5;
  }
  .price-note b{ color:var(--accent); }

  /* Prompt rows */
  .prow{
    background:var(--bg); border:1px solid var(--line); border-radius:var(--radius);
    margin-bottom:12px;
  }
  .prow-head{ display:flex; align-items:center; gap:10px; padding:14px 14px; }
  .prow-name{ flex:1; font-size:13.5px; font-weight:600; }
  .copy-btn{
    font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:.03em;
    background:var(--accent-dim); color:var(--accent); border:none; border-radius:8px;
    padding:7px 10px; cursor:pointer; white-space:nowrap;
  }
  .copy-btn.copied{ background:var(--yellow-dim); color:var(--yellow); }
  .generate-btn{
    font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:.03em;
    background:var(--purple-dim); color:var(--purple-light); border:1px solid var(--purple);
    border-radius:8px; padding:8px 14px; cursor:pointer; white-space:nowrap;
    margin-left:auto;
  }
  .generate-btn:disabled{ opacity:.6; cursor:default; }
  .prow-toggle{ color:var(--text-muted); font-size:12px; cursor:pointer; padding:4px; }
  .prow-body{ max-height:0; overflow:hidden; transition:.25s ease; }
  .prow.open .prow-body{ max-height:220px; border-top:1px solid var(--line); }
  .prow-body-in{
    padding:12px 14px; font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--text-muted);
    line-height:1.6; overflow-y:auto; max-height:196px;
  }

  .empty-hint{ font-size:12px; color:var(--text-muted); text-align:center; padding:30px 10px; }

  /* ===== Vezérlő kártyák (Keresés szűrése / AI-költés) a hero-ban ===== */
  .settings-label{ display:block; font-size:15px; font-weight:600; margin-bottom:12px; }
  .settings-label b{ color:var(--accent); font-size:16px; }
  .control-card input[type="range"]{
    display:block; width:100%; margin:0; accent-color: var(--accent);
  }
  .control-card input[type="text"]{
    display:block; width:100%; box-sizing:border-box;
    padding:14px 16px; border-radius:10px; border:1px solid var(--line);
    background:var(--bg); color:var(--text); font-family:var(--font); font-size:15px;
    margin-top:2px;
  }
  .settings-hint{ font-size:13px; color:var(--text-muted); margin:10px 0 20px 0; line-height:1.6; }
  .save-settings-btn{
    width:100%; padding:14px; border-radius:10px; border:none; background:var(--accent);
    color:#141416; font-weight:700; cursor:pointer; font-family:var(--font); font-size:15px;
    margin-top:4px;
  }
  .settings-saved{
    text-align:center; font-size:13px; color:var(--purple-light); margin-top:12px;
    opacity:0; transition:.2s;
  }
  .settings-saved.show{ opacity:1; }

  /* ===== iPhone-stílusú be/ki kapcsoló ===== */
  .toggle-field{
    display:flex; align-items:center; justify-content:space-between;
    margin:20px 0 4px 0; gap:12px;
  }
  .toggle-field-label{ font-size:15px; font-weight:600; }
  .toggle-field-hint{ font-size:13px; color:var(--text-muted); margin-top:4px; line-height:1.5; }
  .ios-switch{
    position:relative; display:inline-block; width:50px; height:30px; flex-shrink:0;
  }
  .ios-switch input{ opacity:0; width:0; height:0; }
  .ios-switch-track{
    position:absolute; cursor:pointer; inset:0; background:var(--line);
    border-radius:30px; transition:.2s;
  }
  .ios-switch-track::before{
    content:""; position:absolute; height:24px; width:24px; left:3px; bottom:3px;
    background:#fff; border-radius:50%; transition:.2s;
    box-shadow:0 1px 3px rgba(0,0,0,.4);
  }
  .ios-switch input:checked + .ios-switch-track{ background:var(--accent); }
  .ios-switch input:checked + .ios-switch-track::before{ transform:translateX(20px); }

  .usage-total{ font-size:30px; font-weight:700; color:var(--accent); font-family:'IBM Plex Mono',monospace; margin:8px 0 16px 0; }
  .usage-breakdown{ display:flex; flex-direction:column; gap:8px; margin-bottom:14px; }
  .usage-row{
    display:flex; justify-content:space-between; gap:10px; font-size:13px; color:var(--text-muted);
    background:var(--bg); border:1px solid var(--line); border-radius:8px; padding:10px 12px;
    font-family:'IBM Plex Mono',monospace;
  }
  .usage-row span:first-child{ color:var(--text); font-weight:600; font-family:var(--font); }

  /* ===== Profil menü ===== */
  .profile-menu{ position:relative; }
  .profile-icon{
    width:34px; height:34px; border-radius:50%; border:1px solid var(--line);
    background:var(--bg-alt); color:var(--text-muted);
    display:flex; align-items:center; justify-content:center; cursor:pointer;
  }
  .profile-icon:hover{ color:var(--text); border-color:var(--accent); }
  .profile-dropdown{
    position:absolute; top:calc(100% + 8px); right:0; min-width:240px;
    background:var(--bg-alt); border:1px solid var(--line); border-radius:12px;
    padding:6px; opacity:0; pointer-events:none; transform:translateY(-4px);
    transition:.15s ease; z-index:50;
  }
  .profile-menu:hover .profile-dropdown,
  .profile-menu.open .profile-dropdown{
    opacity:1; pointer-events:auto; transform:translateY(0);
  }
  .profile-email{
    font-size:11px; color:var(--text-muted); padding:8px 10px 6px 10px;
    border-bottom:1px solid var(--line); margin-bottom:4px;
    font-family:'IBM Plex Mono',monospace;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  }
  .profile-logout{
    width:100%; text-align:left; padding:9px 10px; border-radius:8px; border:none;
    background:transparent; color:var(--text); font-family:var(--font); font-size:13px;
    cursor:pointer; display:flex; align-items:center; gap:8px;
  }
  .profile-logout:hover{ background:var(--accent-dim); color:var(--accent); }

  /* ===== Ikonok ===== */
  .icon{ display:inline-block; vertical-align:-2px; flex-shrink:0; }
  .icon-bolt{ color:var(--purple-light); }
  .icon-star{ color:var(--yellow); }

  /* ===== Desktop ===== */
  @media (min-width: 880px){
    .topbar{
      max-width:1100px; margin:0 auto; padding:32px 40px 0 40px;
    }
    .logo{ font-size:16px; }

    .hero{
      display:grid;
      grid-template-columns: 1.15fr 0.85fr;
      grid-template-areas:
        "status button"
        "title  button"
        "desc   button"
        "last   button"
        "controls controls";
      align-items:center;
      column-gap:64px;
      max-width:1100px;
      margin:0 auto;
      min-height:100vh;
      padding:70px 40px 60px 40px;
      text-align:left;
    }
    .status-pill{ grid-area:status; justify-self:start; margin-bottom:22px; }
    .hero h1{ grid-area:title; font-size:46px; max-width:520px; margin-bottom:18px; }
    .hero p{ grid-area:desc; max-width:440px; font-size:15px; margin-bottom:0; }
    .last-run{ grid-area:last; margin-top:32px; }
    .start-btn{
      grid-area:button; justify-self:center;
      width:220px; height:220px; font-size:18px;
    }
    .hero-controls{ grid-area:controls; margin-top:90px; padding-top:0; max-width:100%; flex-direction:row; gap:24px; }
    .control-card{ flex:1; }
    .drawer{ width:440px; max-width:440px; }
    .panel{ padding:20px 26px 40px 26px; }
    .drawer-footer{ padding:16px 26px; }
    .page-wrap .card-body-in{ grid-template-columns: 1fr 1fr; }
    .price-note{ grid-column: 1 / -1; }
  }

  @media (min-width: 1280px){
    .hero{ max-width:1240px; }
    .topbar{ max-width:1240px; }
    .hero h1{ font-size:52px; }
  }

/* ===== "Tovább az oldalra" gomb a panel alján ===== */
.panel-footer{
  padding:14px 4px 4px 4px;
}
.goto-btn{
  display:flex; align-items:center; justify-content:center; gap:8px;
  width:100%; padding:12px; border-radius:10px; border:1px solid var(--line);
  background:var(--bg-alt); color:var(--text); text-decoration:none;
  font-family:var(--font); font-size:13px; font-weight:600;
  transition:.15s;
}
.goto-btn:hover{ border-color:var(--accent); color:var(--accent); }

/* ===== Teljes oldalak (találatok.html, parancsok.html) ===== */
.page-wrap{
  max-width:1100px; margin:0 auto; padding:20px 20px 60px 20px;
}
.page-topbar{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:20px;
}
.back-link{
  color:var(--text-muted); text-decoration:none; font-size:13px;
  display:flex; align-items:center; gap:6px;
}
.back-link:hover{ color:var(--text); }
.page-title{ font-size:20px; font-weight:700; margin:8px 0 20px 0; }

.filter-bar{
  display:flex; flex-wrap:wrap; gap:10px; margin-bottom:20px;
}
.filter-bar input[type="text"], .filter-bar input[type="date"], .filter-bar select{
  background:var(--bg-alt); border:1px solid var(--line); color:var(--text);
  border-radius:10px; padding:10px 14px; font-family:var(--font); font-size:13px;
}
.filter-bar input[type="text"]{ flex:1; min-width:180px; }
.filter-bar select{ cursor:pointer; }
.filter-chip{
  display:flex; align-items:center; gap:6px; font-size:12px; color:var(--text-muted);
  background:var(--bg-alt); border:1px solid var(--line); border-radius:100px; padding:8px 14px;
  cursor:pointer; user-select:none;
}
.filter-chip input{ accent-color: var(--accent); }
.result-count{ font-size:12px; color:var(--text-muted); margin-bottom:14px; font-family:'IBM Plex Mono',monospace; }

.usage-strip{
  font-size:12px; color:var(--text-muted); margin-bottom:16px; padding:10px 14px;
  background:var(--bg-alt); border:1px solid var(--line); border-radius:10px;
  font-family:'IBM Plex Mono',monospace;
}
.usage-strip b{ color:var(--accent); }

.page-grid{
  display:grid; grid-template-columns:1fr; gap:12px;
}
@media (min-width: 720px){
  .page-grid{ grid-template-columns:1fr 1fr; }
}
@media (min-width: 1080px){
  .page-grid{ grid-template-columns:1fr 1fr 1fr; }
}

.contact-toggle{
  display:flex; align-items:center; gap:8px; font-size:11.5px; color:var(--text-muted);
  padding:10px 16px;
}
.toggle-row{
  display:flex; flex-wrap:wrap; border-top:1px solid var(--line);
}
.toggle-row .contact-toggle{ flex:1; justify-content:center; }
.contact-toggle input{ accent-color: var(--accent); width:14px; height:14px; }

.page-grid.single-col{ grid-template-columns: 1fr; }
