*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;font-size:16px;scroll-behavior:smooth;background:#0b1220}
body{background:#0b1220;color:#e6edf3;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;min-height:100vh}
:root{
  --bg:#0b1220;--surface:rgba(255,255,255,.03);--surface2:rgba(255,255,255,.05);
  --border:#243246;--border2:#334155;
  --text:#e6edf3;--text-muted:#9fb2c9;--text-dim:#9fb2c9;
  --blue2:#60a5fa;--mono:'IBM Plex Mono',monospace;
  --font-humanist:'Nunito Sans','Segoe UI',Arial,sans-serif;
}
a{text-decoration:none}

/* PAGE */
.page{max-width:1200px;margin:0 auto;padding:32px 24px 96px}

/* PAGE HEADER */
.page-header{margin-bottom:40px}
.page-header-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-bottom:28px;border-bottom:1px solid var(--border)}
.page-header-eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue2);margin-bottom:10px;opacity:.9}
.page-header h1{font-family:var(--font-humanist);font-size:clamp(30px,4.2vw,48px);font-weight:800;color:var(--text);letter-spacing:-.02em;line-height:1.1}
.page-header p{font-size:16px;color:var(--text-muted);margin-top:8px;font-weight:500;max-width:520px}


.page-header-inner{
  align-items:center;
}

.page-header-copy{
  max-width:560px;
}

.header-quote-box{
  flex:0 0 clamp(320px, 38vw, 500px);
  min-height:102px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--border);
  border-radius:10px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.015)),
    radial-gradient(circle at 50% 50%, rgba(96,165,250,.06), transparent 68%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
  padding:18px 22px;
}

.header-quote-inner{
  width:100%;
}

#tools-quote-text{
  display:block;
  color:var(--text-muted);
  font-size:15px;
  line-height:1.6;
  font-weight:700;
  text-align:left;
  transition:opacity .28s ease, transform .28s ease;
}

#tools-quote-text.quote-fade-out{
  opacity:0;
  transform:translateY(4px);
}

#tools-quote-text.quote-fade-in{
  opacity:1;
  transform:translateY(0);
}

@media (max-width: 900px){
  .page-header-inner{
    align-items:flex-start;
  }

  .header-quote-box{
    flex:1 1 100%;
    width:100%;
    min-height:84px;
  }

  #tools-quote-text{
    font-size:14px;
  }
}

/* SECTION */
.section{margin-top:40px}
.section:first-of-type{margin-top:0}
.section-title{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:var(--text-dim);margin-bottom:14px}
.section-title::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--border) 0%,transparent 100%)}

/* TOOLS GRID — 2 col */
.tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media(max-width:720px){.tools-grid{grid-template-columns:1fr}}

/* CARD */
.card{
  background:var(--surface);border:1px solid var(--border);border-radius:10px;
  padding:22px 22px 20px 26px;
  display:flex;flex-direction:column;gap:14px;
  position:relative;overflow:hidden;
  transition:transform .2s,box-shadow .2s,border-color .2s,background .2s;
  color:var(--text);
  opacity:0;animation:cardIn .4s ease forwards;
}
@keyframes cardIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.card:nth-child(1){animation-delay:.04s}.card:nth-child(2){animation-delay:.08s}
.card:nth-child(3){animation-delay:.12s}.card:nth-child(4){animation-delay:.16s}
.card:nth-child(5){animation-delay:.2s}.card:nth-child(6){animation-delay:.24s}
.card::before{content:'';position:absolute;top:14px;left:0;bottom:14px;width:3px;border-radius:0 2px 2px 0}
.card::after{content:'';position:absolute;inset:0;opacity:0;transition:opacity .25s;pointer-events:none;border-radius:10px}
.card:hover{transform:translateY(-3px);border-color:var(--border2);background:var(--surface2)}
.card:hover::after{opacity:1}

/* Section color bars */
.card.s-market::before{background:linear-gradient(180deg,#93c5fd,#60a5fa)}
.card.s-market:hover{box-shadow:0 10px 36px rgba(0,0,0,.4),0 0 0 1px rgba(96,165,250,.1) inset}
.card.s-market::after{box-shadow:inset 0 1px 0 rgba(96,165,250,.14)}

.card.s-news::before{background:linear-gradient(180deg,#fdba74,#fb923c)}
.card.s-news:hover{box-shadow:0 10px 36px rgba(0,0,0,.4),0 0 0 1px rgba(251,146,60,.1) inset}
.card.s-news::after{box-shadow:inset 0 1px 0 rgba(251,146,60,.14)}

.card.s-calc::before{background:linear-gradient(180deg,#6ee7b7,#34d399)}
.card.s-calc:hover{box-shadow:0 10px 36px rgba(0,0,0,.4),0 0 0 1px rgba(52,211,153,.1) inset}
.card.s-calc::after{box-shadow:inset 0 1px 0 rgba(52,211,153,.14)}

.card.s-ref::before{background:linear-gradient(180deg,#c4b5fd,#a78bfa)}
.card.s-ref:hover{box-shadow:0 10px 36px rgba(0,0,0,.4),0 0 0 1px rgba(167,139,250,.1) inset}
.card.s-ref::after{box-shadow:inset 0 1px 0 rgba(167,139,250,.14)}

/* Card content */
.card h3{font-size:15px;font-weight:700;color:var(--text);line-height:1.3}
.card p{font-size:13px;color:var(--text-muted);line-height:1.65;flex:1}
.card-tags{display:flex;flex-wrap:wrap;gap:6px}
.card-tag{font-size:11px;padding:3px 9px;border-radius:6px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:var(--text-muted)}
.card-footer{display:flex;align-items:center;justify-content:space-between}
.card-status{font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.25);color:#34d399}
.card-status.updated{background:rgba(251,191,36,.1);border-color:rgba(251,191,36,.25);color:#fbbf24}
.card-open{font-size:13px;font-weight:700;padding:7px 18px;border-radius:9px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.11);color:var(--text)}
.card:hover .card-open{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18)}

/* FOOTER */
footer{
  max-width:1200px;
  margin:44px auto 12px;
  color:var(--text-muted);
  font-size:14px;
  border-top:1px solid var(--border);
  padding-top:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
footer a{color:var(--text-muted);text-decoration:none;transition:color .2s}
footer a:hover{color:var(--blue2)}
.footer-left{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.footer-right{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
@media(max-width:640px){
  footer{justify-content:center;text-align:center}
  .footer-left,.footer-right{justify-content:center}
}

@media(max-width:640px){.page{padding:24px 16px 72px}}

/* INTERACTIVE CARD GUIDE */
.card-guide{
  border-top:1px solid rgba(255,255,255,.07);
  margin-top:-2px;
  padding-top:12px;
}
.card-guide summary{
  list-style:none;
  display:inline-flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  user-select:none;
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
  color:var(--text);
  padding:8px 12px;
  border-radius:9px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  transition:background .2s,border-color .2s,color .2s;
}
.card-guide summary::-webkit-details-marker{display:none}
.card-guide summary::after{
  content:'+';
  font-size:15px;
  line-height:1;
  color:var(--blue2);
}
.card-guide[open] summary{
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.16);
}
.card-guide[open] summary::after{content:'−'}
.card-guide-body{
  margin-top:12px;
  padding:14px 14px 4px;
  border-radius:10px;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.07);
}
.guide-item{margin-bottom:12px}
.guide-item:last-child{margin-bottom:0}
.guide-item strong{
  display:block;
  margin-bottom:4px;
  font-size:11px;
  font-family:var(--mono);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--blue2);
}
.guide-item p{
  font-size:12px;
  line-height:1.62;
  color:var(--text-muted);
}
.card-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.card-open{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}
