:root{
  --bg:#050508;
  --card:rgba(15,15,20,0.88);
  --text:#f5f5f7;
  --muted:#9aa0a6;
  --line:rgba(255,255,255,0.09);
  --glow:#00d4aa;
  --warm:#ff6b4a;
  --ok:#34c759;

  --r:18px;
  --shadow:0 14px 40px rgba(0,0,0,0.45);
  --shadow2:0 10px 22px rgba(0,0,0,0.35);

  --mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --sans:"Sora", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

*{box-sizing:border-box}
html,
.muted{color:var(--muted,#9aa3ad);font-size:13px;line-height:1.35}
body{height:100%}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--text);
  background:
    radial-gradient(1200px 600px at 70% 10%, rgba(0,212,170,0.10), transparent 55%),
    radial-gradient(900px 500px at 20% 30%, rgba(255,107,74,0.08), transparent 60%),
    var(--bg);
  overflow-x:hidden;
}

.wrap{max-width:1200px;margin:0 auto;padding:22px 18px 60px;}
a{color:inherit}

.card{
  border:1px solid var(--line);
  background:var(--card);
  border-radius:var(--r);
  box-shadow:var(--shadow);
  overflow:hidden;
}
.pad{padding:18px}

.topbar{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:8px 0 16px;
  flex-wrap:wrap;
}
.brand{display:flex;align-items:center;gap:12px;min-width:240px;}
.brandtext .title{font-weight:800;font-size:14px;letter-spacing:0.2px;}
.brandtext .subtitle{margin-top:2px;font-size:12px;color:var(--muted);}

.mark{
  width:44px;height:44px;border-radius:14px;
  background:linear-gradient(135deg, rgba(0,212,170,0.20), rgba(255,107,74,0.14));
  border:1px solid var(--line);
  box-shadow:var(--shadow2);
  position:relative;overflow:hidden;
}
.mark:before{
  content:"";
  position:absolute;inset:-30%;
  background:conic-gradient(from 180deg, rgba(0,212,170,0.78), rgba(255,107,74,0.70), rgba(0,212,170,0.78));
  filter:blur(18px);opacity:0.35;transform:rotate(12deg);
}

.nav{display:flex;gap:10px;flex-wrap:wrap}
.navlink{
  border:1px solid var(--line);
  padding:8px 10px;border-radius:999px;
  background:rgba(0,0,0,0.18);
  text-decoration:none;color:rgba(255,255,255,0.85);
  font-weight:800;font-size:12px;
}
.navlink.active{
  border-color:rgba(0,212,170,0.28);
  background:rgba(0,212,170,0.10);
}

.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end;}

.btn{
  appearance:none;
  border:1px solid var(--line);
  background:rgba(255,255,255,0.03);
  color:var(--text);
  padding:10px 14px;
  border-radius:14px;
  font-weight:800;
  letter-spacing:0.2px;
  cursor:pointer;
  transition:transform .08s ease, border-color .15s ease, background .15s ease;
  box-shadow:var(--shadow2);
}
.btn:hover{transform:translateY(-1px);border-color:rgba(255,255,255,0.15)}
.btn:active{transform:translateY(0px) scale(0.99)}
.btn.primary{
  background:linear-gradient(135deg, rgba(0,212,170,0.18), rgba(0,212,170,0.10));
  border-color:rgba(0,212,170,0.28);
}
.btn.ghost{background:transparent;box-shadow:none}

.select,.input{
  width:100%;
  padding:12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,0.10);
  background:rgba(0,0,0,0.30);
  color:var(--text);
  outline:none;
  font-family:var(--sans);
  font-size:14px;
}
.input::placeholder{color:rgba(255,255,255,0.35)}
.input:focus,.select:focus{border-color:rgba(0,212,170,0.35);box-shadow:0 0 0 4px rgba(0,212,170,0.10);}

.grid{display:grid;grid-template-columns: 1.1fr 0.9fr;gap:18px;align-items:start;}
.h1{margin:0;font-size:38px;line-height:1.05;letter-spacing:-0.6px;}
.h2{margin:0;font-size:18px;letter-spacing:-0.2px;}
.p{margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.6;}
.mono{font-family:var(--mono)}

.pill{
  display:inline-flex;
  padding:6px 10px;border-radius:999px;
  border:1px solid rgba(255,107,74,0.28);
  background:rgba(255,107,74,0.10);
  font-family:var(--mono);
  font-size:12px;
  margin-bottom:12px;
}

.stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:16px;}
.stat{padding:12px;border-radius:14px;border:1px solid var(--line);background:rgba(0,0,0,0.18);}
.stat .k{font-size:11px;color:var(--muted);letter-spacing:0.25px;text-transform:uppercase;}
.stat .v{font-size:20px;margin-top:6px;letter-spacing:0.5px;}

.tiles{display:grid;grid-template-columns:1fr;gap:10px;margin-top:12px;}
.tile{padding:14px;border-radius:14px;border:1px solid var(--line);background:rgba(0,0,0,0.18);}
.tile .t{font-weight:800;margin:0 0 6px;font-size:13px;letter-spacing:0.1px;}
.tile .b{margin:0;color:var(--muted);font-size:13px;line-height:1.55;}

.divider{height:1px;background:var(--line);margin:18px 0;}

.form{display:flex;flex-direction:column;gap:10px;margin-top:10px;}
.label{font-size:12px;color:rgba(255,255,255,0.80);letter-spacing:0.2px;display:flex;flex-direction:column;gap:6px;}
.row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.fine{font-size:12px;color:var(--muted);line-height:1.5;margin-top:10px;}
.footer{margin-top:18px;}
.footlinks{display:flex;gap:10px;flex-wrap:wrap;}
.link{
  border:1px solid var(--line);
  padding:8px 10px;border-radius:999px;
  background:rgba(0,0,0,0.18);
  text-decoration:none;color:rgba(255,255,255,0.85);
}
.sr{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}

.table{margin-top:14px;display:flex;flex-direction:column;gap:8px;}
.tr{
  display:flex;justify-content:space-between;gap:10px;align-items:center;
  padding:12px;border-radius:14px;border:1px solid var(--line);background:rgba(0,0,0,0.18);
}
.tr .l{min-width:0}
.tr .l .a{font-weight:800;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tr .l .b{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tr .r{font-family:var(--mono);font-size:12px;color:rgba(255,255,255,0.75);}

@media (max-width: 980px){
  .grid{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr}
  .row{grid-template-columns:1fr}
  .h1{font-size:34px}
}


/* --- Additions for Pillars + Globe --- */
.heroGrid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;align-items:stretch}
@media (max-width: 860px){.heroGrid{grid-template-columns:1fr}}
.globeCard{position:relative;overflow:hidden}
#globeCanvas{width:100%;height:260px;display:block;opacity:.95}
.globeOverlay{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 45%, rgba(255,255,255,.08), rgba(0,0,0,0) 60%)}
.kicker{opacity:.85;font-size:14px}
.reading{max-width: 920px}
.reading h2{margin-top:28px}
.reading h3{margin-top:18px}
.reading p{line-height:1.55}
.reading ul{margin:10px 0 14px 18px}
.reading li{margin:6px 0}
.pillarCard{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02);border-radius:14px;padding:14px;margin:12px 0}
.pillarCard summary{cursor:pointer;font-weight:700}
.note{opacity:.8;font-size:13px}
.badgeMini{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:6px 10px;font-size:13px;opacity:.95}

.tip{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1px solid rgba(255,255,255,.18);border-radius:999px;font-size:11px;line-height:1;opacity:.85;margin-left:6px;cursor:help;user-select:none}
.tip:hover{opacity:1}


/* ---------- Global Preview Anchor ---------- */
.preview-banner{
  position: sticky;
  top: 0;
  z-index: 50;
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 10px 14px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  background: rgba(0,0,0,0.65);
  backdrop-filter: blur(10px);
}
.preview-banner strong{ font-weight: 700; letter-spacing: .02em; }
.preview-banner span{ opacity: .9; font-size: 14px; }

/* ---------- Nav gating ---------- */
.nav{ display:flex; align-items:center; justify-content:space-between; gap: 14px; }
.nav .nav-links{ display:flex; flex-wrap:wrap; gap: 10px; align-items:center; }
.nav .nav-sep{ width: 1px; height: 18px; background: rgba(255,255,255,0.12); margin: 0 6px; }
.nav a.locked{
  opacity: .45;
  pointer-events: none;
}
.lock-pill{
  display: none;
  margin-left: 8px;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.12);
  font-size: 11px;
  opacity: .75;
}
html[data-wall-state="unsigned"] a[data-requires="signed"] .lock-pill{ display:inline-block; }

/* ---------- Signed panel ---------- */
.signed-panel .next{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  margin-top: 10px;
}
.signed-panel .btn{ text-decoration:none; }

/* ---------- Locked page intro ---------- */
.locked-card .locked-hint{ margin-top: 10px; font-size: 13px; opacity: .8; }

/* ---------- Toast ---------- */
.toast{
  position: fixed;
  left: 50%;
  bottom: 22px;
  transform: translateX(-50%) translateY(12px);
  opacity: 0;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.78);
  backdrop-filter: blur(10px);
  font-size: 14px;
  z-index: 80;
  transition: opacity .18s ease, transform .18s ease;
}
.toast.show{
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
