/* Heapbyte — shared styles (generated by build.py; edit build.py, not this file) */
:root{
  --accent:#7B1FE0;
  --accent-deep:#5A12B3;
  --accent-tint:#F4ECFE;
  --accent-border:#E7D6FB;
  --ink:#17131F;
  --muted-ink:#565061;
  --muted:#8B8494;
  --hairline:#ECEAF0;
  --bg:#ffffff;
  --bg-soft:#F8F7FB;
  --dark:#141019;
  --dark-2:#1B1526;
  --dark-card:#241D31;
  --on-dark:#F5F2F9;
  --on-dark-muted:#A79FB4;
  --pos:#17A673;
  --glow:#A868FF;
}
*{box-sizing:border-box;}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth;}
body{margin:0;background:var(--bg);font-family:'IBM Plex Sans',sans-serif;color:var(--muted-ink);min-height:100vh;overflow-x:hidden;}
a{color:var(--accent);text-decoration:none;}
a:hover{color:var(--accent-deep);}
::selection{background:var(--accent);color:#fff;}
input,textarea,button{font-family:inherit;}
input:focus,textarea:focus{outline:none;}
@keyframes hb-floaty{0%,100%{transform:translateY(0);}50%{transform:translateY(-9px);}}
@keyframes hb-floaty2{0%,100%{transform:translateY(0);}50%{transform:translateY(8px);}}
@keyframes hb-grid{from{background-position:0 0;}to{background-position:0 44px;}}
@keyframes hb-rise{from{transform:scaleY(.12);opacity:.4;}to{transform:scaleY(1);opacity:1;}}
@keyframes hb-marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes hb-pulse{0%,100%{opacity:.55;}50%{opacity:1;}}
html[data-rm="true"] *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;}

/* Top navigation */
.topnav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--hairline);}
.nav-inner{max-width:1240px;margin:0 auto;padding:15px 32px;display:flex;align-items:center;gap:26px;}
.brand{display:flex;align-items:center;gap:11px;}
.brand-mark{width:34px;height:34px;border-radius:9px;background:var(--accent);display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk',sans-serif;font-weight:700;color:#fff;font-size:20px;box-shadow:0 8px 20px -8px var(--accent);}
.brand-word{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:21px;letter-spacing:-.02em;color:var(--ink);}
.nav-desktop{margin-left:auto;display:flex;align-items:center;gap:2px;}
.navlink{position:relative;padding:9px 14px;font-size:15px;font-weight:500;color:var(--ink);}
.navlink:hover{color:var(--accent);}
.navlink.active::after{content:"";position:absolute;left:14px;right:14px;bottom:1px;height:2px;border-radius:2px;background:var(--accent);}
.nav-cta{display:inline-flex;align-items:center;gap:8px;margin-left:12px;background:var(--accent);color:#fff;border-radius:999px;padding:11px 20px;font-size:14.5px;font-weight:600;box-shadow:0 10px 24px -12px var(--accent);}
.nav-cta:hover{background:var(--accent-deep);color:#fff;}
.nav-burger{display:none;}
.nav-mobile{border-top:1px solid var(--hairline);padding:14px 32px 22px;flex-direction:column;gap:2px;background:#fff;display:flex;}
.nav-mobile[hidden]{display:none;}
.nav-mobile a{text-align:left;padding:12px 4px;font-size:17px;font-weight:500;color:var(--ink);border-bottom:1px solid var(--hairline);}
.nav-cta-m{margin-top:12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#fff!important;border-radius:999px;padding:14px 20px;font-size:15px;font-weight:600;border-bottom:0!important;}
@media(max-width:879px){
  .nav-desktop{display:none;}
  .nav-burger{margin-left:auto;display:flex;flex-direction:column;gap:5px;background:none;border:0;padding:8px;cursor:pointer;}
  .nav-burger span{width:22px;height:2px;background:var(--ink);border-radius:2px;}
}
@media(min-width:880px){
  .nav-mobile{display:none;}
}

/* Footer */
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;}
@media(max-width:860px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.footer-grid{grid-template-columns:1fr;}}
.flink{color:var(--on-dark-muted);font-size:14px;}
.flink:hover{color:#fff;}
.nl-input:focus{border-color:var(--glow)!important;}
.nl-btn:hover{background:var(--accent-deep)!important;}

/* Decision-phase chooser */
.pick-card{display:block;background:#fff;border:1px solid var(--hairline);border-radius:18px;padding:30px;transition:transform .3s,box-shadow .3s,border-color .3s;}
.pick-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -34px rgba(23,19,31,.28);border-color:var(--accent-border);}

/* Generated hover/focus states (from prototype style-hover / style-focus) */
.hv0:hover{background:var(--accent-deep) !important;}
.hv1:hover{border-color:var(--accent) !important;color:var(--accent) !important;}
.hv2:hover{transform:translateY(-6px) !important;box-shadow:0 30px 60px -34px rgba(23,19,31,.28) !important;border-color:var(--accent-border) !important;}
.hv3:hover{background:var(--accent) !important;color:#fff !important;}
.hv4:hover{background:rgba(255,255,255,.16) !important;}
.hv5:hover{border-color:var(--accent-border) !important;}
.hv6:hover{transform:translateY(-6px) !important;box-shadow:0 30px 60px -34px rgba(23,19,31,.3) !important;}
.hv7:hover{background:rgba(255,255,255,.14) !important;}
.fc0:focus{border-color:var(--accent) !important;background:#fff !important;}
