:root{
  --ink:#0f172a;
  --muted:#475569;
  --bg:#f8fafc;
  --accent:#2563eb;
  --accent2:#22c55e;
  --border:#e2e8f0;
  --shadow: 0 10px 20px rgba(2,6,23,.08);
  --anchor-offset: 100px;
}
html{
  scroll-padding-top:var(--anchor-offset);
}
header[id],
section[id]{
  scroll-margin-top:var(--anchor-offset);
}
body{
  background:var(--bg);
  color:var(--ink);
}
.nav-blur{
  background:rgba(248,250,252,.85);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
}
.template-menu .mod-menu,
.template-menu ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  gap:.25rem;
}
.template-menu li{
  margin:0;
}
.template-menu a{
  display:inline-block;
  padding:.5rem .75rem;
  color:rgba(15,23,42,.8);
  text-decoration:none;
  border-radius:.5rem;
}
.template-menu a:hover,
.template-menu .current > a,
.template-menu .active > a{
  color:var(--ink);
  background:rgba(37,99,235,.08);
}
.template-footer-menu .mod-menu,
.template-footer-menu ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  justify-content:flex-end;
  gap:1rem;
}
.template-footer-menu a{
  color:rgba(15,23,42,.8);
  text-decoration:none;
}
.template-footer-menu a:hover{
  color:var(--ink);
}
.ptn-nav-actions{
  flex-wrap:wrap;
}
.ptn-login-btn{
  color:#fff !important;
  font-weight:700;
  letter-spacing:.01em;
  box-shadow:0 8px 18px rgba(15,23,42,.22);
  transition:all .15s ease;
}
.ptn-login-btn:hover{
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 12px 22px rgba(15,23,42,.3);
}
.ptn-auth-edge{
  position:absolute;
  top:50%;
  right:28px;
  transform:translateY(-50%);
  z-index:1050;
}
.ptn-brand-shift{
  margin-left:.4rem;
}
.hero{
  padding:5.5rem 0 3rem;
  background:
    radial-gradient(1200px 520px at 15% 15%, rgba(37,99,235,.18), transparent 60%),
    radial-gradient(1000px 520px at 85% 25%, rgba(34,197,94,.14), transparent 55%);
}
.badge-soft{
  background:rgba(37,99,235,.10);
  color:var(--accent);
  border:1px solid rgba(37,99,235,.18);
}
.brand-logo{
  height:34px;
  width:auto;
  display:block;
}
.hero-logo{
  height:44px;
  width:auto;
  display:block;
}
.signaldock-logo{
  height:88px;
  width:auto;
  display:block;
}
.card{
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  border-radius:1.25rem;
}
.feature-icon{
  width:46px;
  height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:rgba(37,99,235,.10);
  border:1px solid rgba(37,99,235,.18);
  color:var(--accent);
  font-weight:800;
}
.mono{
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.section{
  padding:3.5rem 0;
}
.cta{
  background:linear-gradient(135deg, rgba(37,99,235,.10), rgba(34,197,94,.10));
  border:1px solid rgba(2,6,23,.06);
}
.pill{
  border:1px solid var(--border);
  border-radius:999px;
  padding:.45rem .75rem;
  background:rgba(255,255,255,.85);
}
.muted{
  color:var(--muted);
}
.list-check{
  padding-left:0;
  margin:0;
}
.list-check li{
  list-style:none;
  margin-bottom:.45rem;
}
.list-check li:before{
  content:"\2713";
  color:var(--accent2);
  font-weight:900;
  margin-right:.55rem;
}
.screenshot-thumb{
  cursor:zoom-in;
}
.signaldock-media-card{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.92));
}
.signaldock-shot-wrap{
  border:1px solid var(--border);
  border-radius:1rem;
  padding:.75rem;
  background:#fff;
}
.signaldock-shot-image{
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 10px 24px rgba(2,6,23,.12);
}
.signaldock-modal .modal-dialog{
  max-width:min(96vw, 1841px);
}
.modal-click-close{
  cursor:zoom-out;
  overflow:hidden;
  max-height:95vh;
  display:flex;
  align-items:center;
  justify-content:center;
}
.modal-image{
  display:block;
  margin:0;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:90vh;
  image-rendering:-webkit-optimize-contrast;
  image-rendering:auto;
}
.signaldock-video-pop{
  border:1px solid var(--border);
  border-radius:1rem;
  padding:.7rem;
  background:#fff;
}
.signaldock-video-player{
  width:100%;
  border-radius:.75rem;
  display:block;
  background:#0f172a;
  border:1px solid rgba(15,23,42,.12);
}
.template-component{
  padding:3.5rem 0;
}
footer{
  border-top:1px solid var(--border);
  background:rgba(255,255,255,.55);
}
@media (max-width:991.98px){
  :root{
    --anchor-offset: 88px;
  }
  .ptn-nav-actions{
    margin-top:.6rem;
  }
  .template-menu .mod-menu,
  .template-menu ul{
    flex-direction:column;
    align-items:flex-start;
  }
  .modal-image{
    max-width:100%;
    max-height:86vh;
  }
  .template-footer-menu .mod-menu,
  .template-footer-menu ul{
    justify-content:flex-start;
    flex-wrap:wrap;
  }
}
