/* ROOTSIGIL™ MASTER CSS — holographic Sankofa spectrum */
:root{
  --bg:#070712;
  --ink:#e7e9ef;
  --muted:#9aa3b2;
  --glass: rgba(255,255,255,.08);
  --stroke: rgba(255,255,255,.20);
  --shadow: 0 10px 30px rgba(0,0,0,.45);

  /* Sankofa spectrum ring */
  --holo: conic-gradient(
    from 210deg,
    #8a2be2, #6a5acd, #00ffff, #00e6b8, #39ff14, #8a2be2
  );
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  color:var(--ink);
  background: radial-gradient(1200px 800px at 70% -10%, #121231 0%, transparent 60%), var(--bg);
  overflow-x:hidden;
}

#stars{ position:fixed; inset:0; z-index:-1; }

.site-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:20px clamp(16px,4vw,40px);
}
.brand{display:flex; gap:14px; align-items:center}
.logo{width:48px;height:48px;object-fit:contain;filter: drop-shadow(0 0 12px rgba(57,255,20,.35));}
.titles h1{margin:0; letter-spacing:.05em; font-size:clamp(18px,3.2vw,28px);}
.titles .tag{margin:2px 0 0; color:var(--muted); font-size:.92rem}
.tm{font-size:.7em; vertical-align:super; opacity:.8}

.top-actions{display:flex; gap:10px}
.btn{
  padding:10px 16px; border-radius:12px; text-decoration:none; color:var(--ink);
  border:1px solid var(--stroke); backdrop-filter: blur(6px); background:var(--glass); font-weight:600;
}
.btn.holo{
  border: 1px solid transparent;
  background: linear-gradient(var(--glass),var(--glass)) padding-box, var(--holo) border-box;
}
.btn.ghost:hover{ background: rgba(255,255,255,.12); }

.wrap{padding:10px clamp(14px,4vw,40px) 60px;}

.glass{
  background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.03));
  border:1px solid var(--stroke); border-radius:20px; padding:24px; box-shadow:var(--shadow); backdrop-filter: blur(8px);
}
.hero{ margin: 10px 0 20px; text-align:center; }
.hero h2{ margin:0 0 8px; font-size: clamp(22px, 4vw, 36px); }
.shine{ background: var(--holo); -webkit-background-clip:text; background-clip:text; color: transparent; filter: drop-shadow(0 0 8px rgba(138,43,226,.35)); }
.shine.sm{ font-size: clamp(18px, 3vw, 24px); }

.qr-card{ text-align:center; margin: 10px auto 22px; max-width: 520px; }
.qr-img{
  width:100%;
  border-radius:18px;
  box-shadow: 0 0 25px rgba(0,255,255,.28), inset 0 0 0 1px rgba(255,255,255,.2);
  transition: transform .3s ease, box-shadow .3s ease;
}
.qr-img:hover{
  transform: scale(1.02);
  box-shadow: 0 0 40px rgba(57,255,20,.45), 0 0 80px rgba(0,255,255,.3);
}
.muted{ color: var(--muted); margin: 10px 0 0; }

.card-grid{
  display:grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap:18px; margin-top:18px;
}
.card{
  position:relative; overflow:hidden; text-decoration:none; color:var(--ink);
  border-radius:20px; padding:18px; min-height:150px;
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  border:1px solid transparent; box-shadow:var(--shadow); background-clip: padding-box;
}
.card::before{
  content:""; position:absolute; inset:0; border-radius:20px; padding:1px;
  background: var(--holo);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
}
.card:hover{ transform: translateY(-4px); transition: transform .25s ease; }
.card .meta h3{ margin:0 0 6px; font-size:1.08rem; }
.card .meta .url{ margin:0; color:var(--muted); font-size:.92rem; }
.card.diy .meta .url{ color:#9ef5c6; }

.orb{
  width:72px; height:72px; border-radius:50%;
  display:grid; place-items:center; margin-bottom:12px;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.22), rgba(0,0,0,.0) 60%), var(--holo);
  box-shadow: 0 0 30px rgba(57,255,20,.25), inset 0 0 30px rgba(0,0,0,.35);
}
.orb span{ font-weight:800; letter-spacing:.04em; }
.sigil{ position:absolute; width:70px; height:70px; opacity:.18; }
.sigil circle, .sigil rect{ fill:none; stroke:#fff; stroke-width:3; }

.floating{ animation: floaty 6s ease-in-out infinite; }
@keyframes floaty{ 0%,100%{transform: translateY(0)} 50%{transform: translateY(-8px)} }

.explainer{ margin:22px 0 0; text-align:center; }
.holo-text{ background: var(--holo); -webkit-background-clip:text; background-clip:text; color: transparent; }

.site-footer{ text-align:center; padding:26px 16px 60px; color:var(--muted); font-size:.92rem; }

/* Small screens */
@media (max-width:520px){
  .orb{ width:64px; height:64px }
}
