:root{
  --paper:#F3E9D2;
  --paper-dark:#E9DBB8;
  --ledger-line:#C9B88A;
  --ink:#3B2A1E;
  --ink-soft:#6B5744;
  --red:#8B1E3F;
  --red-dark:#6E1631;
  --gold:#B8862B;
  --principal:#2F5D50;
  --interest:#B8862B;
}
*{box-sizing:border-box;}
body{
  margin:0;
  background:var(--paper);
  background-image:linear-gradient(var(--ledger-line) 1px, transparent 1px);
  background-size:100% 34px;
  background-position:0 92px;
  font-family:"Noto Sans Devanagari","Nirmala UI","Kohinoor Devanagari",system-ui,sans-serif;
  color:var(--ink);
  min-height:100vh;
  padding:0 0 40px 0;
}
.wrap{max-width:480px;margin:0 auto;padding:0 18px;}

header{
  padding:26px 18px 16px 18px;
  text-align:center;
  background:var(--paper-dark);
  border-bottom:3px double var(--red);
  margin-bottom:6px;
}
header .eyebrow{
  font-size:12px;
  letter-spacing:2px;
  color:var(--red);
  font-weight:600;
}
header h1{
  font-size:27px;
  margin:6px 0 4px 0;
  color:var(--ink);
  font-weight:700;
}
header p{margin:0;font-size:14px;color:var(--ink-soft);}

nav.crumbs{
  max-width:480px;
  margin:10px auto 0 auto;
  padding:0 18px;
  font-size:13px;
  color:var(--ink-soft);
}
nav.crumbs a{color:var(--red);text-decoration:none;}

.intro{
  max-width:480px;
  margin:14px auto 0 auto;
  padding:0 18px;
  font-size:14px;
  line-height:1.6;
  color:var(--ink-soft);
}

.card{
  background:rgba(255,252,244,0.55);
  border:1px solid var(--ledger-line);
  border-radius:4px;
  padding:16px;
  margin-top:18px;
}

.field{margin-bottom:22px;}
.field label{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  font-size:14px;
  color:var(--ink-soft);
  margin-bottom:6px;
}
.field label span.val{font-size:17px;font-weight:700;color:var(--red);}
input[type="range"]{width:100%;accent-color:var(--red);height:4px;}
.numrow{display:flex;gap:10px;margin-top:8px;}
.numrow input[type="number"]{
  flex:1;
  font-family:inherit;
  font-size:15px;
  padding:8px 10px;
  border:1px solid var(--ledger-line);
  border-radius:3px;
  background:#FFFCF4;
  color:var(--ink);
}
.unit-toggle{display:flex;border:1px solid var(--red);border-radius:3px;overflow:hidden;}
.unit-toggle button{
  flex:1;background:transparent;border:none;padding:8px 6px;
  font-family:inherit;font-size:13px;color:var(--red);cursor:pointer;
}
.unit-toggle button.active{background:var(--red);color:#FFF7EA;}

.result{
  background:var(--red);
  color:#FFF7EA;
  border-radius:6px;
  padding:20px 18px;
  text-align:center;
  margin-top:20px;
}
.result .label{font-size:13px;letter-spacing:1px;opacity:0.85;}
.result .amount{font-size:38px;font-weight:700;margin:4px 0 2px 0;}
.result .per-month{font-size:13px;opacity:0.85;}

.breakdown{margin-top:18px;}
.breakdown-title{font-size:13px;color:var(--ink-soft);margin-bottom:8px;}
.bar{display:flex;height:14px;border-radius:7px;overflow:hidden;border:1px solid var(--ledger-line);}
.bar .p{background:var(--principal);}
.bar .i{background:var(--interest);}
.legend{display:flex;justify-content:space-between;font-size:13px;margin-top:10px;}
.legend div{display:flex;align-items:center;gap:6px;}
.dot{width:9px;height:9px;border-radius:50%;display:inline-block;}
.legend .amt{font-weight:700;}

.summary-rows{margin-top:16px;}
.summary-rows .row{
  display:flex;justify-content:space-between;padding:8px 0;
  border-bottom:1px dashed var(--ledger-line);font-size:14px;
}
.summary-rows .row:last-child{border-bottom:none;}
.summary-rows .row .k{color:var(--ink-soft);}
.summary-rows .row .v{font-weight:700;}

.related{
  max-width:480px;margin:26px auto 0 auto;padding:0 18px;
}
.related h2{font-size:15px;color:var(--ink);margin-bottom:10px;}
.related ul{list-style:none;padding:0;margin:0;}
.related li{
  border-bottom:1px dashed var(--ledger-line);
}
.related a{
  display:block;padding:10px 4px;color:var(--red);text-decoration:none;font-size:14px;font-weight:600;
}

footer{
  text-align:center;font-size:12px;color:var(--ink-soft);
  margin-top:26px;padding:0 18px;
}

/* index / hub page */
.hub-grid{
  max-width:480px;margin:20px auto 0 auto;padding:0 18px;
  display:flex;flex-direction:column;gap:12px;
}
.hub-card{
  display:block;
  background:rgba(255,252,244,0.6);
  border:1px solid var(--ledger-line);
  border-left:4px solid var(--red);
  border-radius:4px;
  padding:14px 16px;
  text-decoration:none;
  color:var(--ink);
}
.hub-card .t{font-size:16px;font-weight:700;color:var(--red);}
.hub-card .d{font-size:13px;color:var(--ink-soft);margin-top:3px;}
