:root{--bg-deep: #0b1510;--bg-mid: #122018;--bg-soft: #1a2c22;--line: rgba(196, 230, 170, .14);--text: #eef6e8;--muted: #9db3a2;--brand: #b8f06c;--brand-dim: #7cb83a;--warn: #f0b35a;--danger: #ef7a6a;--safe: #6fd3a2;--value: #f3d36b;--balanced: #8ec8ff;--shadow: 0 24px 60px rgba(0, 0, 0, .35);--radius: 18px;--font-display: "Barlow Condensed", "Arial Narrow", sans-serif;--font-body: "Manrope", sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(1200px 600px at 10% -10%,rgba(184,240,108,.16),transparent 55%),radial-gradient(900px 500px at 90% 0%,rgba(142,200,255,.08),transparent 50%),linear-gradient(180deg,var(--bg-deep),#08110d 70%,#060c09);color:var(--text);font-family:var(--font-body);letter-spacing:.01em}body{background-attachment:fixed}a{color:inherit;text-decoration:none}button,input,select{font:inherit}img{max-width:100%;display:block}.container{width:min(1120px,100% - 2rem);margin-inline:auto}.eyebrow{color:var(--brand);text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:700}.section-title{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);line-height:.95;margin:.35rem 0 .6rem;text-transform:uppercase}.section-lead{color:var(--muted);max-width:48ch;margin:0;line-height:1.55}.btn{appearance:none;border:1px solid transparent;border-radius:999px;padding:.85rem 1.35rem;font-weight:700;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--brand);color:#102014}.btn-primary:hover{background:#c8f78a}.btn-ghost{background:transparent;border-color:var(--line);color:var(--text)}.btn-ghost:hover{border-color:#b8f06c73}.chip{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .7rem;border-radius:999px;border:1px solid var(--line);color:var(--muted);font-size:.78rem;font-weight:600}.chip-safe{color:var(--safe);border-color:#6fd3a259}.chip-balanced{color:var(--balanced);border-color:#8ec8ff59}.chip-value{color:var(--value);border-color:#f3d36b66}.state-box{padding:2rem;border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);text-align:center}.state-box.error{border-color:#ef7a6a73;color:#ffc2b8}@keyframes rise-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-line{0%,to{opacity:.35}50%{opacity:.9}}
