:root{
  --bg:#070a12;
  --surface:rgba(255,255,255,0.06);
  --border:rgba(255,255,255,0.12);
  --text:rgba(255,255,255,0.92);
  --muted:rgba(255,255,255,0.65);
  --accent:#7aa7ff;
  --radius:18px;
}

*{box-sizing:border-box;}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto;
  background:radial-gradient(1200px 800px at 20% 10%,rgba(122,167,255,0.15),transparent),
             radial-gradient(900px 600px at 80% 20%,rgba(175,122,255,0.1),transparent),
             var(--bg);
  color:var(--text);
}

.container{
  max-width:1200px;
  margin:auto;
  padding:48px 24px 72px;
}

header h1{
  font-size:36px;
  margin:0;
}

.sub{
  color:var(--muted);
  font-size:14px;
  margin-top:8px;
}

.card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:18px;
  margin-top:16px;
}

.analysis{margin-bottom:32px;}

.grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}

.full{
  grid-column:1/-1;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

label{
  font-size:12px;
  color:var(--muted);
  display:block;
  margin-bottom:6px;
}

input{
  width:100%;
  padding:12px;
  border-radius:14px;
  border:1px solid var(--border);
  background:rgba(0,0,0,0.25);
  color:var(--text);
}

button{
  padding:12px 16px;
  border-radius:14px;
  border:1px solid rgba(122,167,255,0.4);
  background:rgba(122,167,255,0.2);
  color:var(--text);
  cursor:pointer;
  font-weight:600;
}

button.secondary{
  background:rgba(255,255,255,0.08);
  border-color:var(--border);
}

button:disabled{
  opacity:0.55;
  cursor:not-allowed;
}

.metrics{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}

.metric{
  background:rgba(0,0,0,0.2);
  border-radius:14px;
  padding:14px;
}

.metric .k{
  font-size:12px;
  color:var(--muted);
}

.metric .v{
  font-size:20px;
}

.scenario-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:10px;
}

.compare-title{
  font-weight:700;
  margin-top:8px;
}

.compare-sub{
  margin-top:6px;
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}

.compare-table{
  width:100%;
  border-collapse:collapse;
  font-size:13px;
  margin-top:10px;
}

.compare-table th,
.compare-table td{
  padding:10px;
  border-bottom:1px solid var(--border);
}

.compare-table th{
  color:rgba(255,255,255,0.80);
  font-weight:600;
}

/* Assumptions panel */
.assumptions{
  margin-top:10px;
}

.assumptions-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}

.assumption{
  background:rgba(0,0,0,0.18);
  border:1px solid rgba(255,255,255,0.10);
  border-radius:14px;
  padding:12px;
}

.assumption .k{
  font-size:12px;
  color:var(--muted);
  margin-bottom:6px;
}

.assumption .v{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size:13px;
}

/* Context blocks */
.context{
  font-size:13.5px;
  font-family:Inter,ui-monospace,Menlo,monospace;
  background:rgba(255,255,255,0.04);
}

footer{
  margin-top:32px;
  font-size:12px;
  color:var(--muted);
}

@media(max-width:900px){
  .grid,.metrics,.assumptions-grid{grid-template-columns:1fr 1fr;}
}

@media(max-width:520px){
  .grid,.metrics,.assumptions-grid{grid-template-columns:1fr;}
}
