*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#f6f8fa;
  --card:#ffffff;
  --glass:rgba(0,0,0,0.04);
  --accent:#0b6cff;
  --muted:#556174;
}
html,body,#canvas{height:100%}
body{
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
  background:linear-gradient(180deg,#fbfdff 0%, #f1f6fb 100%);
  color:#0b1a2b;
  height:100vh;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
#canvas{position:fixed;inset:0;z-index:0}
.container{position:relative;z-index:2;padding:2rem;width:100%;max-width:900px}
.card{
  backdrop-filter: blur(6px) saturate(110%);
  background: linear-gradient(180deg, rgba(255,255,255,0.9), rgba(255,255,255,0.75));
  border:1px solid rgba(11,28,44,0.06);
  border-radius:16px;
  padding:2.2rem;
  box-shadow: 0 8px 26px rgba(15,23,42,0.08);
}
/* hero */
.hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem 1rem}
.domain{font-size:2.4rem;font-weight:700;letter-spacing:1px;margin-bottom:0.4rem;color:#061425}
.tagline{color:var(--muted);margin-bottom:1rem;font-size:1.05rem}
.actions{display:flex;gap:0.8rem;flex-wrap:wrap;justify-content:center;margin-top:0.6rem}
.cta{background:var(--accent);color:#fff;padding:0.6rem 1rem;border-radius:8px;text-decoration:none;font-weight:600;box-shadow:0 6px 18px rgba(11,108,255,0.16)}
.cta:hover{transform:translateY(-2px)}
.secondary{color:var(--accent);text-decoration:none;padding:0.6rem 1rem;border-radius:8px;border:1px solid rgba(11,108,255,0.08)}

.info{padding:0 1.2rem;margin-top:0.8rem}
.info-text{color:var(--muted);line-height:1.6}

/* footer brand */
.provider-footer{display:flex;align-items:center;justify-content:center;margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid rgba(11,28,44,0.03)}
.footer-brand{display:flex;align-items:center;gap:0.9rem}
.footer-text{display:flex;flex-direction:column}
.powered{font-size:0.9rem;color:var(--muted)}
.borndata-logo{color:var(--accent);font-weight:700;text-decoration:none}
.borndata-logo:hover{text-decoration:underline}

/* adjusted logo */
.logo-wrap{display:flex;align-items:center;justify-content:center;border-radius:12px}
.brand-logo{width:124px;height:auto;max-width:100%;object-fit:contain;transition:transform .25s ease}
.logo-wrap:hover .brand-logo{transform:scale(1.03)}

@media (max-width:520px){.logo-wrap{width:auto}.brand-logo{width:72px;height:auto}}

@media (max-width:520px){.domain{font-size:1.6rem}.cta{padding:0.5rem 0.8rem}}

/* small info box */
.provider-footer p{color:var(--muted);font-size:0.9rem}

/* controls */
.controls{position:fixed;right:18px;top:18px;background:rgba(255,255,255,0.92);padding:10px;border-radius:10px;box-shadow:0 8px 20px rgba(11,28,44,0.06);z-index:3;font-size:13px;color:#0b1a2b}
/* hide controls by default in production unless ?dev=1 or localhost */
:root[data-show-controls="false"] .controls{display:none !important}
.control-row{display:flex;align-items:center;gap:8px;margin:6px 0}
.control-btn{background:#0b6cff;color:#fff;border:none;padding:8px 10px;border-radius:8px;cursor:pointer}
.control-btn.off{background:#d1d7e3;color:#0b1a2b}
#seasonSelect{padding:6px;border-radius:6px;border:1px solid rgba(11,28,44,0.06)}
#intensity{width:120px}

/* responsive */
@media (max-width:520px){.card{padding:1.2rem}.brand-logo{width:48px;height:48px}.logo{font-size:1.2rem}}

/* subtle hover lift */
.card:hover{transform:translateY(-4px);transition:transform .25s ease}

/* accent pulse */
.borndata-logo::after{content:"";display:inline-block;width:8px;height:8px;margin-left:8px;background:var(--accent);border-radius:50%;box-shadow:0 0 12px var(--accent);opacity:0;transform:scale(0.6);transition:opacity .25s ease, transform .25s ease}
.borndata-logo:hover::after{opacity:1;transform:scale(1)}

/* small copyright line */
.card::after{content:""}