/* Layout helpers */
.wrap{max-width:1100px;margin:0 auto;padding:2rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}
.card{background:#0f172a;border:1px solid #1f2937;border-radius:16px;padding:1rem;color:#e5e7eb}
body{background:#0b1220;color:#e5e7eb;font-family:system-ui,Segoe UI,Roboto,Ubuntu,Arial,sans-serif}
a{color:#22d3ee;text-decoration:none}
.btn{display:inline-block;padding:.6rem 1rem;border-radius:10px;background:#2563eb;color:#fff;border:0;cursor:pointer}

/* Forms */
input,select{padding:.55rem;border:1px solid #444;border-radius:10px;background:#0b1220;color:#e5e7eb}
.spring-toggle {
  margin: 1.2rem 0;
  border-top: 1px solid rgba(255,255,255,0.08);
  padding-top: 0.8rem;
}

.spring-toggle {
  margin: 0.55rem 0;
  border-top: 1px solid rgba(255,255,255,0.06);
  padding-top: 0.35rem;
}

.spring-toggle summary {
  list-style: none;
  cursor: pointer;
  text-align: center;
  font-weight: 700;
  font-size: 1.18rem;
  line-height: 1.25;
  letter-spacing: 0.01em;
  color: #4da3ff;
  padding: 0.55rem 0.9rem;
  border-radius: 10px;
  transition: color 0.2s ease, background-color 0.2s ease;
  user-select: none;
}

.spring-toggle summary::-webkit-details-marker {
  display: none;
}

.spring-toggle summary::marker {
  display: none;
}

.spring-toggle summary::before {
  content: "+";
  display: inline-block;
  margin-right: 0.45rem;
  color: #4da3ff;
  font-weight: 700;
  transition: color 0.2s ease;
}

.spring-toggle[open] summary {
  color: #f5f7fa;
}

.spring-toggle[open] summary::before {
  content: "–";
  color: #39b54a;
}

.spring-toggle summary:hover {
  background: rgba(255,255,255,0.04);
}

.spring-toggle .spring-toggle-content {
  padding: 0.7rem 0 0.15rem 0;
}

.spring-toggle .spring-toggle-content > *:first-child {
  margin-top: 0;
}

.spring-toggle .spring-toggle-content > *:last-child {
  margin-bottom: 0;
}

.spring-toggle .spring-toggle-content ul {
  margin-top: 0.4rem;
  margin-bottom: 0.4rem;
}