*{box-sizing:border-box}html{scroll-behavior:smooth}:root{--red:#ef233c;--red2:#b70d20;--white:#fff;--muted:#a5a5a5;--panel:#101010;--line:#292929;--soft:#171717}body{margin:0;background:#050505;color:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 82% 8%,rgba(239,35,60,.18),transparent 28%),linear-gradient(rgba(255,255,255,.014) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.014) 1px,transparent 1px);background-size:auto,44px 44px,44px 44px}.wrap{position:relative;z-index:1;width:min(1180px,calc(100% - 32px));margin:auto}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px;border-bottom:1px solid rgba(255,255,255,.08)}.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;font-weight:950;letter-spacing:-.03em}.brand img{width:36px;height:36px;object-fit:contain}.brand b{color:var(--red)}.nav{display:flex;align-items:center;gap:24px}.nav a{color:#bdbdbd;text-decoration:none;font-size:14px;font-weight:750}.nav a:hover,.nav a.active{color:#fff}.nav .dash{padding:11px 16px;border-radius:10px;background:#171717;border:1px solid #303030;color:#fff}.hero{min-height:650px;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:52px;padding:60px 0}.badge{display:inline-flex;gap:8px;align-items:center;border:1px solid #572127;background:rgba(239,35,60,.08);padding:8px 12px;border-radius:999px;color:#ff8f9d;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.badge i{display:block;width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 15px var(--red)}h1{font-size:clamp(48px,6.3vw,80px);line-height:.98;letter-spacing:-.055em;margin:24px 0 20px}.grad{background:linear-gradient(90deg,#fff 0%,#fff 22%,#ff485b 62%,#ef233c);-webkit-background-clip:text;background-clip:text;color:transparent}.lead{font-size:18px;line-height:1.7;color:#aaa;max-width:680px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:0 21px;border-radius:12px;text-decoration:none;font-weight:900;font-size:15px;transition:.18s}.btn-red{color:#fff;background:linear-gradient(180deg,#f32d45,#b60e22);border:1px solid #f45063;box-shadow:0 14px 34px rgba(239,35,60,.17)}.btn-red:hover{transform:translateY(-2px);filter:brightness(1.08)}.btn-dark{color:#eee;background:#111;border:1px solid #303030}.btn-dark:hover{background:#181818}.hero-art{position:relative;min-height:520px;display:flex;align-items:center;justify-content:center}.hero-art:before{content:"";position:absolute;width:82%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(239,35,60,.24),rgba(239,35,60,.06) 44%,transparent 70%)}.hero-art img{position:relative;width:min(520px,100%);max-height:580px;object-fit:contain;filter:drop-shadow(0 30px 42px rgba(0,0,0,.7))}.section{padding:20px 0 86px}.eyebrow{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.13em;color:#ff7685}.section h2,.pagehead h1{font-size:clamp(34px,4.2vw,52px);letter-spacing:-.045em;margin:10px 0 14px}.section-intro,.pagehead p{max-width:760px;color:#999;line-height:1.7}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:30px}.feature-link{display:block;color:inherit;text-decoration:none;background:linear-gradient(150deg,#141414,#0b0b0b);border:1px solid #292929;border-radius:20px;padding:24px;min-height:235px;transition:.2s}.feature-link:hover{transform:translateY(-4px);border-color:#6b2832;background:linear-gradient(150deg,#181111,#0d0d0d)}.feature-link .icon{font-size:31px;margin-bottom:20px}.feature-link h3{font-size:19px;margin:0 0 9px}.feature-link p{font-size:14px;color:#929292;line-height:1.62;margin:0 0 18px}.more{font-size:13px;color:#ff7383;font-weight:850}.split{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}.box{background:#0f0f0f;border:1px solid #272727;border-radius:22px;padding:29px}.box h3{margin:0 0 12px;font-size:23px}.box p{color:#999;line-height:1.72}.mini-list{display:grid;gap:11px;margin-top:20px}.mini{background:#151515;border:1px solid #2c2c2c;border-radius:12px;padding:14px 16px;color:#d0d0d0}.cta{margin:0 0 80px;padding:38px;border-radius:24px;border:1px solid #55242a;background:linear-gradient(105deg,rgba(239,35,60,.16),rgba(255,255,255,.025));display:flex;align-items:center;justify-content:space-between;gap:25px}.cta h2{font-size:clamp(28px,4vw,42px);margin:0 0 8px;letter-spacing:-.04em}.cta p{margin:0;color:#999}.footer{border-top:1px solid #222;padding:30px 0 44px;color:#707070;font-size:13px;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-links{display:flex;gap:18px}.footer a{color:#888;text-decoration:none}.pagehead{padding:78px 0 40px}.pagehead h1{margin-top:16px}.content-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;padding-bottom:80px}.content-card{background:#0f0f0f;border:1px solid #282828;border-radius:20px;padding:26px}.content-card h2,.content-card h3{margin-top:0}.content-card p,.content-card li{color:#999;line-height:1.7}.content-card a{color:#ff7483}.faq{display:grid;gap:12px;padding:0 0 80px}.faq details{background:#101010;border:1px solid #292929;border-radius:15px;padding:18px 20px}.faq summary{font-weight:850;cursor:pointer}.faq p{color:#999;line-height:1.7}.back{display:inline-flex;color:#aaa;text-decoration:none;font-weight:800;margin-bottom:10px}.back:hover{color:#fff}@media(max-width:950px){.nav a:not(.dash){display:none}.hero{grid-template-columns:1fr}.hero-art{min-height:390px}.hero-art img{max-height:440px}.cards{grid-template-columns:repeat(2,1fr)}.split,.content-grid{grid-template-columns:1fr}}@media(max-width:560px){.topbar{height:68px}.brand img{width:30px;height:30px}.hero{min-height:auto;padding:44px 0 52px;gap:14px}.lead{font-size:16px}.hero-art{min-height:310px}.cards{grid-template-columns:1fr}.actions .btn{width:100%}.cta{align-items:flex-start;flex-direction:column;padding:25px}.footer{flex-direction:column;align-items:flex-start}.footer-links{flex-wrap:wrap}.pagehead{padding-top:50px}}

/* Public website: never show the Dashboard custom GIF/background. */
html, body {
  min-height: 100%;
  background-color: #050505 !important;
  background-image: none !important;
  background-attachment: initial !important;
}
body { overflow-x: hidden; }
.wrap { min-height: 100vh; }
.footer { background: #050505; }


/* ===== RealheatBot Responsive – PC / Tablet / Smartphone ===== */
html,body{
  max-width:100%;
  overflow-x:hidden;
}
img,video,canvas,svg{
  max-width:100%;
  height:auto;
}
input,select,textarea,button{
  max-width:100%;
}
table{
  max-width:100%;
}

/* Tablet */
@media (max-width: 1100px){
  .main,.content,main{
    max-width:100% !important;
  }
  .grid{
    grid-template-columns:1fr !important;
  }
  .row{
    grid-template-columns:1fr 1fr !important;
  }
  .panel,.card{
    min-width:0 !important;
  }
}

/* Smartphone / iPhone / Samsung */
@media (max-width: 760px){
  html{
    font-size:15px;
  }

  body{
    min-width:0 !important;
  }

  .main,
  main.main,
  .content{
    width:100% !important;
    max-width:100% !important;
    padding:14px !important;
    margin:0 !important;
  }

  h1{
    font-size:clamp(27px,8vw,38px) !important;
    line-height:1.08 !important;
  }
  h2{
    font-size:20px !important;
  }

  .grid,
  .row,
  .image-tools,
  .hotkeys,
  .quick-actions,
  .found-shiny-grid,
  .multi-hunt-grid{
    grid-template-columns:1fr !important;
  }

  .panel,
  .card,
  section{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  input,
  select,
  textarea{
    width:100% !important;
    min-height:44px;
    font-size:16px !important; /* verhindert iOS-Autozoom */
  }

  textarea{
    min-height:110px;
  }

  button,
  .btn{
    min-height:44px;
    touch-action:manipulation;
  }

  .btns,
  .obs-url,
  .pair-row,
  .found-shiny-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
  }

  .obs-url input{
    width:100% !important;
  }

  .pokemon-search-wrap{
    width:100%;
  }

  .pokemon-results{
    max-height:55vh !important;
  }

  .pokemon-preview{
    display:grid !important;
    grid-template-columns:110px 1fr !important;
    gap:12px !important;
    align-items:center !important;
  }
  .pokemon-preview img{
    max-width:100px !important;
    max-height:100px !important;
  }

  .counter{
    grid-template-columns:48px 1fr 48px !important;
  }
  .counter-number{
    font-size:38px !important;
    min-width:0 !important;
  }

  .hunt{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .hunt-left{
    min-width:0 !important;
  }

  .multi-hunt-card{
    min-width:0 !important;
  }

  .found-shiny-slot{
    grid-template-columns:92px 1fr !important;
    min-height:140px !important;
  }
  .found-shiny-slot img{
    width:88px !important;
    height:88px !important;
  }

  .pair-code{
    min-width:0 !important;
    width:100% !important;
    word-break:break-all !important;
    font-size:15px !important;
  }

  /* Mehr Luft unten für iPhone/Samsung Browserleisten */
  .main,.content,main{
    padding-bottom:calc(28px + env(safe-area-inset-bottom)) !important;
  }

  /* Safe Areas bei Notch / Dynamic Island */
  body{
    padding-left:env(safe-area-inset-left);
    padding-right:env(safe-area-inset-right);
  }
}

/* Kleine Smartphones */
@media (max-width: 430px){
  .main,
  main.main,
  .content{
    padding:10px !important;
  }

  .panel,.card{
    padding:12px !important;
    border-radius:13px !important;
  }

  .pokemon-preview{
    grid-template-columns:82px 1fr !important;
  }
  .pokemon-preview img{
    max-width:78px !important;
    max-height:78px !important;
  }

  .counter-number{
    font-size:32px !important;
  }

  .pokemon-gen-chips{
    gap:4px !important;
  }
  .pokemon-gen-chips button{
    padding:5px 7px !important;
    font-size:9px !important;
  }
}



/* =========================================================
   REALHEATBOT – FULL VIEW MOBILE / TABLET V2
   Ziel: komplette Seite auf iPhone/Samsung/iPad sichtbar
   ========================================================= */

:root{
  --rh-mobile-gap:12px;
  --rh-mobile-radius:14px;
}

html{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
}

body{
  width:100%;
  max-width:100%;
  min-width:0 !important;
  overflow-x:hidden !important;
}

*,
*::before,
*::after{
  box-sizing:border-box;
  min-width:0;
}

img,
video,
canvas,
svg,
iframe{
  max-width:100% !important;
}

table{
  width:100%;
  max-width:100%;
  display:block;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

/* Große Tablets / kleine Laptops */
@media (max-width: 1180px){
  .main,
  main.main,
  .content,
  .page,
  .page-content,
  .dashboard-main,
  .dashboard-content{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .grid,
  .dashboard-grid,
  .stats-grid,
  .cards-grid{
    grid-template-columns:1fr !important;
  }

  .panel,
  .card,
  .box,
  section{
    max-width:100% !important;
  }
}

/* iPad / Tablet */
@media (max-width: 900px){
  body{
    padding:0 !important;
  }

  .main,
  main.main,
  .content,
  .page,
  .page-content{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:74px 16px 28px !important;
  }

  .grid,
  .row,
  .image-tools,
  .hotkeys,
  .quick-actions,
  .multi-hunt-grid,
  .found-shiny-grid,
  .dashboard-grid,
  .cards-grid{
    grid-template-columns:1fr !important;
  }

  .panel,
  .card,
  section,
  .obs-box,
  .pair-card{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  input,
  select,
  textarea{
    width:100% !important;
  }

  .btns,
  .obs-url,
  .pair-row,
  .found-shiny-actions{
    flex-wrap:wrap !important;
  }
}

/* Smartphones */
@media (max-width: 640px){
  html{
    font-size:15px !important;
  }

  body{
    width:100vw !important;
    max-width:100vw !important;
    overflow-x:hidden !important;
  }

  .main,
  main.main,
  .content,
  .page,
  .page-content{
    width:100% !important;
    max-width:100% !important;
    padding:
      calc(68px + env(safe-area-inset-top))
      max(10px, env(safe-area-inset-right))
      calc(24px + env(safe-area-inset-bottom))
      max(10px, env(safe-area-inset-left)) !important;
    margin:0 !important;
  }

  h1{
    font-size:clamp(27px,9vw,38px) !important;
    line-height:1.05 !important;
    overflow-wrap:anywhere;
  }

  h2{
    font-size:20px !important;
    line-height:1.15 !important;
  }

  h3{
    font-size:17px !important;
  }

  p,
  .lead,
  .meta,
  .hint{
    overflow-wrap:anywhere;
  }

  .panel,
  .card,
  .obs-box,
  .pair-card,
  section{
    padding:12px !important;
    border-radius:var(--rh-mobile-radius) !important;
  }

  .row,
  .grid,
  .image-tools,
  .hotkeys,
  .quick-actions,
  .multi-hunt-grid,
  .found-shiny-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:var(--rh-mobile-gap) !important;
  }

  input,
  select,
  textarea{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    font-size:16px !important;
    min-height:46px !important;
  }

  textarea{
    min-height:110px !important;
  }

  button,
  .btn,
  a.btn{
    min-height:44px !important;
    max-width:100% !important;
    white-space:normal !important;
    overflow-wrap:anywhere;
    touch-action:manipulation;
  }

  .btns,
  .obs-url,
  .pair-row,
  .found-shiny-actions{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:8px !important;
  }

  .btns > *,
  .obs-url > *,
  .pair-row > *,
  .found-shiny-actions > *{
    width:100% !important;
  }

  /* Pokémon */
  .pokemon-search-wrap{
    width:100% !important;
  }

  .pokemon-results{
    position:fixed !important;
    left:10px !important;
    right:10px !important;
    top:90px !important;
    width:auto !important;
    max-width:none !important;
    max-height:65vh !important;
    z-index:20000 !important;
  }

  .pokemon-gen-chips{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:5px !important;
  }

  .pokemon-gen-chips button{
    flex:0 0 auto !important;
    min-height:32px !important;
    padding:5px 8px !important;
  }

  .pokemon-preview{
    display:grid !important;
    grid-template-columns:86px minmax(0,1fr) !important;
    gap:10px !important;
    align-items:center !important;
    width:100% !important;
  }

  .pokemon-preview img{
    width:80px !important;
    height:80px !important;
    max-width:80px !important;
    max-height:80px !important;
    object-fit:contain !important;
  }

  /* Counter */
  .counter{
    width:100% !important;
    display:grid !important;
    grid-template-columns:46px minmax(0,1fr) 46px !important;
    gap:7px !important;
  }

  .counter-number{
    width:100% !important;
    min-width:0 !important;
    font-size:34px !important;
  }

  .quick-actions{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .custom-step{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:8px !important;
  }

  /* Hunts */
  .hunt{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:10px !important;
    width:100% !important;
  }

  .hunt-left{
    width:100% !important;
  }

  .hunt-thumb{
    width:58px !important;
    height:58px !important;
  }

  .multi-hunt-card,
  .found-shiny-slot{
    width:100% !important;
    min-width:0 !important;
  }

  .found-shiny-slot{
    grid-template-columns:78px minmax(0,1fr) !important;
  }

  .found-shiny-slot img{
    width:72px !important;
    height:72px !important;
  }

  /* Lange Codes / Links */
  .pair-code,
  .obs-url input,
  #obsPath{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    white-space:normal !important;
    word-break:break-all !important;
    overflow-wrap:anywhere !important;
  }

  /* Modals / Dialoge */
  .modal,
  .dialog,
  .popup{
    width:calc(100vw - 20px) !important;
    max-width:calc(100vw - 20px) !important;
    left:10px !important;
    right:10px !important;
    margin:0 !important;
  }
}

/* Sehr kleine Handys */
@media (max-width: 390px){
  .main,
  main.main,
  .content,
  .page,
  .page-content{
    padding-left:8px !important;
    padding-right:8px !important;
  }

  .panel,
  .card,
  .obs-box,
  .pair-card,
  section{
    padding:10px !important;
  }

  .quick-actions{
    grid-template-columns:1fr !important;
  }

  .pokemon-preview{
    grid-template-columns:70px minmax(0,1fr) !important;
  }

  .pokemon-preview img{
    width:64px !important;
    height:64px !important;
  }
}
