/* swr.css — Safe Withdrawal Rate Lab */

#swrSim {
  margin-bottom: 1.75rem;
}

/* header icon */
.swr-icon img{
  width: 40px;
  height: 40px;
  border-radius: 10px;
  object-fit: contain;
  background: radial-gradient(circle at 20% 20%, #22c55e33, #0f172a);
  padding: 6px;
}

/* minimize behaviour */
.swr-body{
  transition: max-height .2s ease, opacity .2s ease;
}
#swrSim.min .swr-body{
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  padding-bottom: 0;
}
#swrSim.min .swr-status{
  display:none;
}

.swr-toggle{
  font-size: .8rem;
}

/* left panel */
.swr-panel{
  background: radial-gradient(circle at top left, #1e293b, #020617);
  border-radius: 12px;
  padding: 12px 14px;
  border: 1px solid rgba(148,163,184,.6);
}

.swr-heading{
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: #e5e7eb;
}

.swr-status{
  font-size:.85rem;
  color:#93c5fd;
}

.swr-hint{
  font-size:.7rem;
  color:#9ca3af;
}

.swr-small-note{
  font-size:.75rem;
  color:#9ca3af;
}

/* metrics */
.swr-metric{
  background: rgba(15,23,42,.9);
  border-radius: 10px;
  padding: 10px 12px;
  border:1px solid rgba(148,163,184,.4);
  min-height:78px;
}
.swr-label{
  font-size:.75rem;
  color:#9ca3af;
}
.swr-value{
  font-size:1.1rem;
  font-weight:600;
  margin-top:2px;
}
.swr-value.good{ color:#4ade80; }
.swr-value.warn{ color:#facc15; }
.swr-value.bad{  color:#fb7185; }
.swr-sub{
  font-size:.7rem;
  color:#6b7280;
}

/* chart */
.swr-chart-wrap{
  background: radial-gradient(circle at top, #1e293b, #020617);
  border-radius:12px;
  padding:8px 10px 4px;
  border:1px solid rgba(148,163,184,.4);
}

/* insight */
.swr-insight{
  background: rgba(15,23,42,.9);
  border-radius:10px;
  border:1px dashed rgba(148,163,184,.6);
  padding:8px 10px;
  font-size:.8rem;
  color:#e5e7eb;
}

/* table */
.swr-table-wrap{
  background:#020617;
  border-radius:12px;
  border:1px solid rgba(148,163,184,.4);
  padding:8px 10px;
}
.swr-table-scroll{
  max-height:230px;
  overflow:auto;
}
#swrTable th{
  font-size:.75rem;
  white-space:nowrap;
}
#swrTable td{
  font-size:.75rem;
  white-space:nowrap;
}

/* disclaimer */
.swr-disclaimer{
  font-size:.7rem;
  color:#9ca3af;
}

/* mobile tweaks */
@media (max-width: 768px){
  .swr-panel{ margin-bottom: .5rem; }
  .swr-chart-wrap{ margin-top:.5rem; }
  .swr-metric{ min-height:auto; }
  .swr-value{ font-size:1rem; }
}

@media (max-width: 576px){
  .swr-metric{
    padding:8px 9px;
  }
  .swr-table-scroll{
    max-height:200px;
  }
}
