:root{
  --bg:#0b1220; --card:#121b2f; --muted:#8ea0c6; --text:#eaf0ff;
  --line:rgba(255,255,255,.12); --accent:#7aa7ff; --good:#3ddc97; --warn:#ffd166; --bad:#ff6b6b;
}

*{box-sizing:border-box;}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;background:var(--bg);color:var(--text);}
.wrap{padding:16px;max-width:1200px;margin:auto;}
h1,h2,h3{margin-top:0;}
.sub{color:var(--muted);}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:16px;transition:all .3s ease;}
.row{display:grid;gap:12px;margin-bottom:12px;}
.row.cols-1{grid-template-columns:1fr;}
.row.cols-3-desktop{grid-template-columns:1fr;}
@media(min-width:600px){.row.cols-3-desktop{grid-template-columns:repeat(3,1fr);}}
label{font-size:13px;color:var(--muted);}
input{width:100%;padding:14px;font-size:16px;border-radius:10px;border:1px solid var(--line);background:#0f1830;color:var(--text);transition:border .2s;}
input:focus{border-color:var(--accent);outline:none;}
button.big-button{width:100%;padding:16px;font-size:18px;border:none;border-radius:12px;background:var(--accent);color:#fff;font-weight:700;cursor:pointer;margin-top:8px;transition:transform .1s, background .2s;}
button.big-button:hover{background:#5a8ae0;transform:scale(1.02);}
.metric{padding:12px;border-radius:12px;background:#0f1830;border:1px solid var(--line);margin-top:8px;opacity:0;animation:fadeIn 0.5s forwards;}
@keyframes fadeIn{to{opacity:1;}}
.faq p{margin:6px 0;}
.calc-container{display:flex;flex-direction:column;gap:16px;}
@media(min-width:900px){.calc-container{flex-direction:row;}.calc-card{flex:1;}}
.hidden{display:none;}
.bar-container{height:16px;background:#0f1830;border-radius:12px;margin-top:8px;}
.bar{height:100%;border-radius:12px;transition:width .5s ease;}
.bar.good{background:var(--good);}
.bar.warn{background:var(--warn);}
.bar.bad{background:var(--bad);}
.footer{padding:16px;text-align:center;color:var(--muted);border-top:1px solid var(--line);margin-top:32px;font-size:14px;}
canvas{display:block;margin:16px auto;background:#0f1830;border-radius:50%;border:1px solid var(--line);}
