:root{
  --kb-bg:#06101f;
  --kb-panel:#0b1b31;
  --kb-border:#24496b;
  --kb-gold:#ffd76a;
  --kb-text:#eaf2ff;
  --kb-muted:#9fb3c8;
  --kb-green:#5cff8d;
}
*{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
body{background:var(--kb-bg);color:var(--kb-text)}
img,video,canvas,svg{max-width:100%;height:auto}
a{word-break:break-word}
.card,.panel,section,article{
  max-width:100%;
}
.grid,.cards,.modules,.features,.route-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:16px;
}
nav,.nav,.navbar,.topbar,.menu{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  max-width:100%;
  overflow-x:auto;
}
button,.btn,a.btn,.nav a{
  min-height:42px;
  touch-action:manipulation;
}
pre,code{
  white-space:pre-wrap;
  word-break:break-word;
  max-width:100%;
  overflow:auto;
}
#kebunate-runtime-widget{
  max-width:calc(100vw - 24px);
}
@media(max-width:768px){
  body{font-size:15px}
  h1{font-size:28px!important;line-height:1.15}
  h2{font-size:22px!important}
  .wrap,.container,main{
    width:100%!important;
    max-width:100%!important;
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .grid,.cards,.modules,.features,.route-grid{
    grid-template-columns:1fr!important;
  }
  .card,.panel,section,article{
    margin-left:0!important;
    margin-right:0!important;
  }
}
