:root{
  --bg:#071018; --panel:#101b25; --panel2:#0d1720; --text:#eef8ff; --muted:#a9c1d3; --line:#244152;
  --cyan:#55d9ff; --green:#68f0a7; --yellow:#ffd166; --orange:#ff9f4a; --red:#ff5c7a; --violet:#b997ff;
}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(circle at 20% 0%,#15324b 0,#071018 38%,#03070b 100%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.5}
.hero{padding:64px 24px 44px;max-width:1180px;margin:0 auto;text-align:left}
.badge{display:inline-block;border:1px solid #2c5268;background:#0d2030;color:#bdefff;border-radius:999px;padding:7px 12px;font-size:13px;letter-spacing:.04em;text-transform:uppercase}
h1{font-size:clamp(40px,7vw,82px);line-height:.95;margin:18px 0 14px;letter-spacing:-.06em}
.subtitle{font-size:clamp(18px,2.5vw,25px);max-width:920px;color:#c6dff0;margin:0 0 22px}
.lockline{border-left:4px solid var(--yellow);background:rgba(255,209,102,.08);padding:14px 16px;border-radius:10px;color:#ffe9a6;max-width:980px;font-weight:700}
main{max-width:1180px;margin:0 auto;padding:0 24px 60px}.panel{background:linear-gradient(180deg,rgba(16,27,37,.96),rgba(11,18,26,.96));border:1px solid var(--line);border-radius:22px;padding:24px;margin:18px 0;box-shadow:0 18px 70px rgba(0,0,0,.28)}
.intro-grid,.sim-grid,.place-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.section-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}h2{margin:0 0 8px;font-size:26px;letter-spacing:-.03em}h3{margin:0 0 8px;color:#dff6ff}p{color:var(--muted)}
.gate-pill{min-width:125px;text-align:center;border-radius:999px;padding:11px 16px;font-weight:900;letter-spacing:.08em;background:#332a14;color:var(--yellow);border:1px solid rgba(255,209,102,.55)}
.gate-pill.GREEN{background:#0b2b20;color:var(--green);border-color:rgba(104,240,167,.55)}.gate-pill.YELLOW{background:#332a14;color:var(--yellow);border-color:rgba(255,209,102,.55)}.gate-pill.ORANGE{background:#3a2110;color:var(--orange);border-color:rgba(255,159,74,.55)}.gate-pill.RED_BLOCK{background:#3a1120;color:var(--red);border-color:rgba(255,92,122,.7)}
.controls{display:grid;gap:13px}.controls label{display:grid;gap:7px;color:#d8ecf8;font-weight:700}.controls span{float:right;color:#94dfff;font-weight:800}input[type=range]{width:100%;accent-color:var(--cyan)}select{background:#0a141d;color:var(--text);border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-weight:700}.readout{display:grid;grid-template-columns:280px 1fr;gap:18px}.globe-card{background:#071018;border:1px solid #1d3b4f;border-radius:18px;padding:18px;text-align:center}.globe{width:230px;height:230px;margin:4px auto 12px;border-radius:50%;position:relative;overflow:hidden;background:radial-gradient(circle at 35% 30%,#3178a6,#163b59 45%,#091b29 74%,#040a10);box-shadow:inset -20px -16px 40px rgba(0,0,0,.45),0 0 42px rgba(85,217,255,.16)}.lat-line,.lon-line,.field-line,.place-marker{position:absolute}.lat-line{left:12%;right:12%;height:1px;background:rgba(200,240,255,.28);border-radius:50%}.l1{top:31%}.l2{top:50%}.l3{top:69%}.lon-line{top:8%;bottom:8%;width:1px;left:50%;background:rgba(200,240,255,.24);transform-origin:center}.m1{transform:rotate(0deg)}.m2{transform:rotate(55deg)}.m3{transform:rotate(-55deg)}.field-line{border:2px solid rgba(104,240,167,.42);border-left-color:transparent;border-right-color:transparent;border-radius:50%;left:8%;right:8%;height:70%;top:15%;transform:rotate(24deg)}.f2{transform:rotate(-24deg);border-color:rgba(85,217,255,.36);border-left-color:transparent;border-right-color:transparent}.f3{height:92%;top:4%;left:22%;right:22%;border-color:rgba(255,209,102,.3);border-left-color:transparent;border-right-color:transparent;transform:rotate(90deg)}.place-marker{width:12px;height:12px;background:var(--yellow);border:2px solid #fff;border-radius:50%;box-shadow:0 0 16px var(--yellow);left:50%;top:50%;transform:translate(-50%,-50%)}.caption,.small{font-size:12px;color:#87a5b8}.metrics{display:grid;gap:10px}.metrics div{background:#0a141d;border:1px solid #1c3548;border-radius:14px;padding:12px}.metrics span{display:block;color:#8fb2c7;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.metrics strong{display:block;margin-top:4px;font-size:17px;word-break:break-all}.notice{margin-top:16px;background:#08131c;border:1px solid #234258;border-radius:16px;padding:14px;color:#cdefff}.place-card{background:#0a141d;border:1px solid #1c3548;border-radius:18px;padding:18px}.coord{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#bfeaff;background:#071018;border-radius:10px;padding:8px 10px;margin:12px 0}.topology-bars{display:grid;gap:9px}.bar-row{display:grid;grid-template-columns:130px 1fr 44px;gap:10px;align-items:center;font-size:13px;color:#b7d5e8}.bar{height:9px;background:#162838;border-radius:999px;overflow:hidden}.bar > i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--cyan),var(--yellow))}.token-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#8fb2c7}.token{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#061018;border:1px solid #1d3b4f;border-radius:12px;padding:12px;margin:8px 0 10px;color:#fff;word-break:break-all}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{background:#0a141d;border:1px solid #1c3548;border-radius:16px;padding:16px}.card h3{font-size:17px}.card ul{padding-left:18px;color:#bfd4e2}.red-grid{display:flex;flex-wrap:wrap;gap:8px}.red-grid span{background:rgba(255,92,122,.1);border:1px solid rgba(255,92,122,.35);color:#ffb3c1;border-radius:999px;padding:7px 10px;font-size:13px;font-weight:700}footer{border-top:1px solid #102638;color:#7ea0b6;text-align:center;padding:24px}.redblock-panel{border-color:rgba(255,92,122,.28)}
@media(max-width:900px){.intro-grid,.sim-grid,.place-grid,.readout{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.section-head{display:block}.gate-pill{display:inline-block;margin-top:8px}.globe{width:210px;height:210px}}

.validation-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.validation-table{display:grid;gap:8px;margin-top:8px}
.validation-table div{display:grid;grid-template-columns:1fr auto;gap:8px;background:#071018;border:1px solid #1c3548;border-radius:12px;padding:10px}
.validation-table span{color:#9fc3d8;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.validation-table strong{color:#fff;text-align:right}
.validation-table em{grid-column:1 / -1;color:#86a6ba;font-size:12px;font-style:normal}
.validation-panel{border-color:rgba(104,240,167,.24)}
@media(max-width:900px){.validation-grid{grid-template-columns:1fr}}
