/* ── DonutSMP base finder pages ────────────────────────────── */
.dm-hero{
  padding:156px 0 84px;position:relative;border-bottom:1px solid var(--line);
  background:
    radial-gradient(900px 520px at 78% 8%,rgba(111,212,75,.15),transparent 65%),
    radial-gradient(700px 420px at 8% 92%,rgba(126,200,240,.08),transparent 70%);
}
.dm-hero h1{
  font-family:var(--font-d);font-weight:600;font-size:clamp(2.3rem,5.2vw,4.1rem);
  line-height:1.05;letter-spacing:.01em;margin:0 0 20px;max-width:22ch;
}
.dm-lede{max-width:66ch;margin:0 0 28px;color:var(--muted);font-size:1.06rem;line-height:1.7}
.dm-actions{display:flex;flex-wrap:wrap;gap:12px}
.dm-meta{margin:22px 0 0;font:400 11px/1.6 var(--font-m);color:var(--dim);letter-spacing:.04em}
.dm-meta a{color:var(--ember2);text-decoration:none;border-bottom:1px solid rgba(111,212,75,.3)}
.dm-meta a:hover{color:#e2ffc4}

.dm-split-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:52px;align-items:start}
.dm-prose p{margin:0 0 16px;color:var(--muted);font-size:.98rem;line-height:1.75}
.dm-prose p:last-child{margin-bottom:0}

.dm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.dm-grid--hub{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.dm-card{
  position:relative;padding:24px;border:1px solid var(--line);border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.012));
  transition:border-color .22s,transform .22s,background .22s;
}
.dm-card h3{font-family:var(--font-d);font-size:1.14rem;font-weight:600;line-height:1.3;margin:0 0 9px;color:#fff}
.dm-card p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.65}
.dm-card-link{display:flex;flex-direction:column;text-decoration:none;gap:2px}
.dm-card-link:hover{transform:translateY(-3px);border-color:rgba(168,242,106,.45);background:linear-gradient(180deg,rgba(111,212,75,.1),rgba(111,212,75,.02))}
.dm-tag{
  align-self:flex-start;margin-bottom:12px;padding:5px 9px;border:1px solid color-mix(in srgb,var(--c,#b8f26a) 45%,transparent);
  border-radius:999px;background:color-mix(in srgb,var(--c,#b8f26a) 12%,transparent);
  font:600 9px/1 var(--font-m);letter-spacing:.14em;text-transform:uppercase;color:var(--c,#b8f26a);
}
.dm-go{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font:600 12px/1 var(--font-b);color:var(--ember2)}
.dm-go .icon{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dm-card-link:hover .dm-go{color:#e2ffc4}

.dm-steps{list-style:none;margin:0;padding:0;display:grid;gap:14px;max-width:860px}
.dm-step{display:grid;grid-template-columns:34px 1fr;gap:16px;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.02)}
.dm-step-num{
  display:grid;place-items:center;width:30px;height:30px;border-radius:50%;
  border:1px solid rgba(111,212,75,.35);background:rgba(111,212,75,.1);
  font:600 12px/1 var(--font-m);color:var(--ember2);
}
.dm-step b{display:block;margin-bottom:4px;font-family:var(--font-b);font-size:.98rem;color:#fff}
.dm-step p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.6}
.dm-note{margin:24px 0 0;padding:16px 18px;border-left:2px solid rgba(255,207,92,.55);background:rgba(255,207,92,.05);border-radius:0 10px 10px 0;color:var(--muted);font-size:.9rem;line-height:1.65;max-width:860px}

.dm-risk-wrap{padding-top:0}
.dm-risk{
  padding:32px;border:1px solid rgba(255,138,92,.32);border-radius:18px;
  background:linear-gradient(180deg,rgba(255,138,92,.09),rgba(255,138,92,.02));
}
.dm-risk h2{font-family:var(--font-d);font-size:1.6rem;font-weight:600;margin:0 0 16px;color:#ffd9c9}
.dm-risk ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.dm-risk li{position:relative;padding-left:20px;color:#e7cfc6;font-size:.93rem;line-height:1.65}
.dm-risk li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:50%;background:#ff8a5c;box-shadow:0 0 10px rgba(255,138,92,.6)}
.dm-risk b{color:#fff}
.dm-risk code{font-family:var(--font-m);font-size:.86em;padding:1px 4px;border-radius:4px;background:rgba(255,255,255,.07);color:#ffe3d6}

.faq-item{border-bottom:1px solid var(--line)}
.faq-item.is-open .faq-a{grid-template-rows:1fr}
.faq-item.is-open .plus::after{transform:rotate(90deg)}

@media (max-width:900px){
  .dm-hero{padding:128px 0 62px}
  .dm-split-grid{grid-template-columns:1fr;gap:26px}
}
@media (max-width:720px){
  .dm-actions .btn{width:100%}
  .dm-risk{padding:24px}
}

/* ── per-page accent themes ────────────────────────────────── */
body.theme-purple{--ember:#a97bff;--ember2:#cbb0ff;--magma:#7c3aed;--th1:#d8c2ff;--th2:#a97bff;--th3:#6d3fd6;--th-ink:#180a33;--th-rgb:169,123,255}
body.theme-blue{--ember:#5aa9ff;--ember2:#9fd2ff;--magma:#2563eb;--th1:#b7e0ff;--th2:#5aa9ff;--th3:#2467d6;--th-ink:#04182e;--th-rgb:90,169,255}
body.theme-red{--ember:#ff6b6b;--ember2:#ffb3b3;--magma:#d92b2b;--th1:#ffc2c2;--th2:#ff6b6b;--th3:#cf2f2f;--th-ink:#2a0606;--th-rgb:255,107,107}
body.theme-yellow{--ember:#ffd24a;--ember2:#ffe89a;--magma:#d9a406;--th1:#ffeeb0;--th2:#ffd24a;--th3:#d9a406;--th-ink:#2a1e00;--th-rgb:255,210,74}
body.theme-cyan{--ember:#4fd8e8;--ember2:#a5f0f8;--magma:#0e9fb5;--th1:#c6f6fd;--th2:#4fd8e8;--th3:#0e8fa5;--th-ink:#03232a;--th-rgb:79,216,232}
body[class*="theme-"] .btn-primary{
  background:linear-gradient(180deg,var(--th1) 0%,var(--th2) 55%,var(--th3) 100%);
  border-color:var(--th1);color:var(--th-ink);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -3px 0 rgba(0,0,0,.28),0 12px 34px -14px rgba(var(--th-rgb),.85);
}
body[class*="theme-"] .btn-primary:hover{filter:brightness(1.06);background:linear-gradient(180deg,var(--th1),var(--th2),var(--th3))}
body[class*="theme-"] .loader-icon,
body[class*="theme-"] .jar-icon{background:linear-gradient(160deg,var(--th1),var(--th3));color:var(--th-ink)}
body[class*="theme-"] .pill{
  border-color:rgba(var(--th-rgb),.34);
  background:linear-gradient(90deg,rgba(var(--th-rgb),.16),rgba(var(--th-rgb),.02));
  color:#f2ebff;
}
body[class*="theme-"] .pill-dot{background:var(--th2);box-shadow:0 0 0 4px rgba(var(--th-rgb),.16),0 0 14px var(--th2)}
body[class*="theme-"] .dm-hero{
  background:
    radial-gradient(900px 520px at 78% 8%,rgba(var(--th-rgb),.17),transparent 65%),
    radial-gradient(700px 420px at 8% 92%,rgba(var(--th-rgb),.07),transparent 70%);
}
body[class*="theme-"] .dm-card-link:hover{
  border-color:rgba(var(--th-rgb),.5);
  background:linear-gradient(180deg,rgba(var(--th-rgb),.1),rgba(var(--th-rgb),.02));
}
body[class*="theme-"] .dm-step-num{
  border-color:rgba(var(--th-rgb),.42);
  background:rgba(var(--th-rgb),.12);
  color:var(--th1);
}
body[class*="theme-"] .jar-hero{
  border-color:rgba(var(--th-rgb),.45);
  background:linear-gradient(120deg,rgba(var(--th-rgb),.18),rgba(var(--th-rgb),.04));
}
body[class*="theme-"] .jar-hero:hover{
  border-color:rgba(var(--th-rgb),.78);
  background:linear-gradient(120deg,rgba(var(--th-rgb),.28),rgba(var(--th-rgb),.07));
}
body[class*="theme-"] .modal-card{
  box-shadow:0 60px 140px -50px rgba(var(--th-rgb),.55),inset 0 1px 0 rgba(255,255,255,.08);
}
body[class*="theme-"] .modal-rift{background:radial-gradient(ellipse at 50% 30%,var(--th1),var(--th2) 40%,var(--th3) 80%)}
body[class*="theme-"] h1 .grad{
  background:linear-gradient(100deg,#ffffff 0%,var(--th1) 38%,var(--th2) 68%,var(--th3) 100%);
  -webkit-background-clip:text;background-clip:text;
}
body[class*="theme-"] .dm-meta a{border-bottom-color:rgba(var(--th-rgb),.35)}
body[class*="theme-"] .dm-tag{border-color:rgba(var(--th-rgb),.5);background:rgba(var(--th-rgb),.12);color:var(--th1)}

/* vouch wall + activity toast follow the page theme */
body[class*="theme-"] .vouch-shell{
  background:
    radial-gradient(ellipse at 80% -12%,rgba(var(--th-rgb),.16),transparent 56%),
    linear-gradient(180deg,#0c1418,#070b0e);
}
body[class*="theme-"] .vouch-live{
  border-color:rgba(var(--th-rgb),.34);
  background:rgba(var(--th-rgb),.09);
  color:var(--th1);
}
body[class*="theme-"] .live-dot{
  background:var(--th2);
  box-shadow:0 0 0 4px rgba(var(--th-rgb),.16),0 0 10px var(--th2);
}
body[class*="theme-"] .activity-toast{border-color:rgba(var(--th-rgb),.3)}
body[class*="theme-"] .activity-avatar{
  background:linear-gradient(160deg,var(--c,var(--th2)),var(--th3));
  color:var(--th-ink);
}
body[class*="theme-"] .activity-ping{
  background:var(--th2);
  box-shadow:0 0 0 4px rgba(var(--th-rgb),.12),0 0 10px rgba(var(--th-rgb),.7);
}
