:root {
  --bg: #0f1115; --panel: #171a21; --text: #e8eaf0; --muted: #9aa3b2;
  --brand: #2fb16a; --brand-2: #23a35d; --border: #202431;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}

/* Disclaimer banner */
.disclaimer-banner{position:sticky;top:0;z-index:200;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 16px;background:#2a1e00;border-bottom:1px solid #5a3c00;color:#ffdca8}
.disclaimer-text{ line-height:1.35; }
.btn.small{ padding:6px 10px; font-size:.9rem }

/* Nav */
.navbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#141823,#121520);position:sticky;top:0;z-index:100}
.navbar .brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-weight:700;letter-spacing:.2px}
.brand-logo{height:28px;width:28px;border-radius:6px;background:#2fb16a;display:inline-block}
.navbar ul{list-style:none;margin:0;padding:0;display:flex;gap:18px}
.navbar ul li a{color:var(--text);text-decoration:none;opacity:.9}
.navbar ul li a:hover,.navbar ul li a.active{opacity:1;text-decoration:underline}

.container{max-width:1100px;margin:0 auto;padding:24px}
.hero{text-align:center;padding:40px 0 10px}
.sub{color:var(--muted)}
.cta-row{margin-top:16px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:22px}
.card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:16px}
.card.disabled{opacity:.6}
.btn{display:inline-block;padding:10px 14px;border-radius:8px;background:#2a2f3c;color:var(--text);text-decoration:none;border:1px solid var(--border);cursor:pointer}
.btn.primary{background:var(--brand);border-color:var(--brand-2);color:#07140d;font-weight:700}
.footer{border-top:1px solid var(--border);color:var(--muted);text-align:center;padding:28px 0 40px;margin-top:30px}

/* Layout blocks */
.page-header{margin-bottom:14px}
.grid{display:grid;grid-template-columns:1fr 1.2fr;gap:16px}
@media (max-width:900px){.grid{grid-template-columns:1fr}}
.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:16px}

/* Forms */
label{display:block;margin:10px 0 8px}
input[type=number],input[type=text],select{width:100%;padding:10px 12px;background:#0f1219;border:1px solid var(--border);color:var(--text);border-radius:8px}
.slider-row{margin:12px 0;display:grid;grid-template-columns:1fr 2fr 1fr;gap:10px;align-items:center}
@media (max-width:520px){.slider-row{grid-template-columns:1fr}}

/* Tables */
.results{width:100%;border-collapse:collapse;overflow:hidden;border-radius:10px;margin-top:6px}
.results th,.results td{border:1px solid var(--border);padding:10px 12px;text-align:left}
.results thead th{background:#141a26}

/* Helpers */
.alert{background:#2e1a1a;border:1px solid #522;color:#f6c9c9;padding:10px 12px;border-radius:8px;margin-bottom:10px}
.hidden{display:none}
.hint{color:var(--muted);margin-top:10px}

/* Survey extras */
.form-grid{display:grid;gap:12px;grid-template-columns:1fr 1fr}
@media (max-width:900px){.form-grid{grid-template-columns:1fr}}
.out-box{margin-top:14px}
.kv{display:grid;grid-template-columns:1fr auto;gap:8px}
.kv div{padding:8px 0;border-bottom:1px dashed var(--border)}
.kv div:nth-child(odd){color:var(--muted)}
