*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;background:#0f172a;color:#e2e8f0}
.container{max-width:1100px;margin:0 auto;padding:16px}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:20px}
.brand{display:flex;align-items:center;gap:12px}
.logo{width:40px;height:40px}
.sub{margin:4px 0 0;font-weight:500;opacity:.8}
.contact{display:flex;gap:8px;flex-wrap:wrap}
.cta{background:#22c55e;color:#0b1220;padding:10px 14px;border-radius:10px;text-decoration:none;font-weight:600;border:2px solid transparent;display:inline-block}
.cta:hover{filter:brightness(1.1)}
.cta.outline{background:transparent;color:#e2e8f0;border-color:#334155}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.card{background:#111827;border:1px solid #1f2937;border-radius:14px;padding:16px}
label{display:block;margin:10px 0}
input{width:100%;padding:12px;border-radius:10px;border:1px solid #334155;background:#0b1220;color:#e2e8f0}
.hint{font-size:.9rem;opacity:.8}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
button{padding:10px 14px;border-radius:10px;border:0;background:#22c55e;color:#0b1220;font-weight:700;cursor:pointer}
button.ghost{background:transparent;border:2px solid #334155;color:#e2e8f0}
button:disabled{opacity:.5;cursor:not-allowed}
.results{background:#0b1220;border:1px dashed #334155;border-radius:12px;padding:12px;white-space:pre-wrap}
.muted{opacity:.85}
.ticks{list-style:none;padding-left:18px}
.ticks li{position:relative;margin:6px 0;padding-left:18px}
.ticks li:before{content:"✓";position:absolute;left:0;top:0;opacity:.8}
.info{margin-top:8px}
.footer{opacity:.8;text-align:center;margin:24px 0}
@media (max-width: 840px){.grid{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start}}
