
  :root{
    box-sizing:border-box;
    padding-top:env(safe-area-inset-top,0px);
    padding-bottom:env(safe-area-inset-bottom,0px);

    --paper:#EEF1EA;
    --surface:#FFFFFF;
    --surface-2:#F7F9F5;
    --ink:#12211C;
    --ink-soft:#4C5C55;
    --ink-faint:#7C8A83;
    --brand:#0F5A46;
    --brand-deep:#0A3D30;
    --brand-wash:#E2EDE7;
    --seal:#9B6B1E;
    --seal-wash:#F6EEDD;
    --line:#D6DED4;
    --line-soft:#E6EBE3;
    --danger:#8E2B20;
    --shadow:0 1px 0 rgba(18,33,28,.06);
    --radius:4px;
  }
  :root:not([data-theme="light"]){
    @media (prefers-color-scheme: dark){
      --paper:#0A130F;
      --surface:#101C17;
      --surface-2:#142219;
      --ink:#E8EFE9;
      --ink-soft:#A9BBB1;
      --ink-faint:#7B8C83;
      --brand:#6FC4A4;
      --brand-deep:#8FD9BC;
      --brand-wash:#152A22;
      --seal:#D6A755;
      --seal-wash:#241D0E;
      --line:#274038;
      --line-soft:#1D3029;
      --danger:#E08476;
      --shadow:none;
    }
  }
  :root[data-theme="dark"]{
    --paper:#0A130F; --surface:#101C17; --surface-2:#142219;
    --ink:#E8EFE9; --ink-soft:#A9BBB1; --ink-faint:#7B8C83;
    --brand:#6FC4A4; --brand-deep:#8FD9BC; --brand-wash:#152A22;
    --seal:#D6A755; --seal-wash:#241D0E;
    --line:#274038; --line-soft:#1D3029; --danger:#E08476; --shadow:none;
  }

  *,*::before,*::after{box-sizing:inherit}
  html{-webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:calc(72px + env(safe-area-inset-top,0px));}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'Hind Siliguri',system-ui,-apple-system,'Segoe UI',sans-serif;
    font-size:17px; line-height:1.75; font-weight:400;
    -webkit-font-smoothing:antialiased;
  }
  .num{font-family:'Archivo','Hind Siliguri',sans-serif; font-variant-numeric:tabular-nums; letter-spacing:-.01em}
  h1,h2,h3,h4{line-height:1.3; margin:0; font-weight:600; letter-spacing:-.01em}
  h1{font-size:clamp(1.85rem,5.2vw,3rem); font-weight:700}
  h2{font-size:clamp(1.4rem,3.6vw,2rem)}
  h3{font-size:clamp(1.12rem,2.6vw,1.35rem)}
  p{margin:0 0 1.05em}
  a{color:var(--brand); text-decoration:none; border-bottom:1px solid color-mix(in srgb,var(--brand) 35%,transparent)}
  a:hover{border-bottom-color:var(--brand)}
  :focus-visible{outline:2px solid var(--brand); outline-offset:3px; border-radius:2px}
  img{max-width:100%}

  .wrap{width:100%; max-width:1140px; margin-inline:auto; padding-inline:20px}
  .narrow{max-width:760px}
  .skip{position:absolute; left:-9999px}
  .skip:focus{left:12px; top:12px; z-index:99; background:var(--brand); color:#fff; padding:10px 16px; border-radius:var(--radius)}

  /* ---------- header ---------- */
  header.site{
    position:sticky; top:env(safe-area-inset-top,0px); z-index:40;
    background:color-mix(in srgb,var(--surface) 92%,transparent);
    backdrop-filter:saturate(1.4) blur(10px);
    border-bottom:1px solid var(--line);
  }
  .bar{display:flex; align-items:center; gap:16px; min-height:70px; padding-block:10px}
  .brand{display:flex; align-items:center; gap:12px; border:0}
  .seal{
    width:42px;height:42px;flex:none;border-radius:50%;
    border:1.5px solid var(--seal); color:var(--seal); background:var(--seal-wash);
    display:grid;place-items:center; font-size:19px; font-weight:700;
  }
  .brand b{display:block; font-size:1.18rem; font-weight:700; color:var(--ink); line-height:1.15; letter-spacing:-.02em}
  .brand span{display:block; font-size:.78rem; color:var(--ink-faint); line-height:1.35}
  nav.main{margin-left:auto; display:flex; align-items:center; gap:2px}
  nav.main a{
    border:0; padding:9px 13px; border-radius:var(--radius); font-size:.95rem; font-weight:500;
    color:var(--ink-soft); position:relative;
  }
  nav.main a:hover{background:var(--surface-2); color:var(--ink)}
  nav.main a[aria-current="page"]{color:var(--brand-deep); background:var(--brand-wash)}
  .icon-btn{
    display:grid;place-items:center; width:42px;height:42px; flex:none;
    background:transparent; border:1px solid var(--line); border-radius:var(--radius);
    color:var(--ink-soft); cursor:pointer; font-size:17px;
  }
  .icon-btn:hover{color:var(--ink); border-color:var(--ink-faint)}
  #menuBtn{display:none}
  @media (max-width:900px){
    nav.main{
      display:none; position:absolute; left:0; right:0; top:100%;
      flex-direction:column; align-items:stretch; gap:0;
      background:var(--surface); border-bottom:1px solid var(--line); padding:8px 14px 16px;
    }
    nav.main.open{display:flex}
    nav.main a{padding:13px 12px; border-bottom:1px solid var(--line-soft)}
    #menuBtn{display:grid; margin-left:auto}
    .brand span{display:none}
  }

  /* ---------- page system ---------- */
  .page{display:none}
  .page.active{display:block}
  main{padding-bottom:56px}

  /* ---------- hero / ledger ---------- */
  .hero{padding:44px 0 8px}
  .hero p.lede{max-width:62ch; color:var(--ink-soft); font-size:1.08rem; margin-top:14px}
  .hero-grid{display:grid; grid-template-columns:1.25fr .95fr; gap:34px; align-items:start; margin-top:30px}
  @media (max-width:940px){ .hero-grid{grid-template-columns:1fr; gap:26px} }

  .ledger{
    background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
    box-shadow:var(--shadow); overflow:hidden;
  }
  .ledger-head{
    display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
    padding:14px 18px; border-bottom:1px solid var(--line); background:var(--surface-2);
  }
  .ledger-head h2{font-size:1.05rem}
  .ledger-head .hint{font-size:.82rem; color:var(--ink-faint)}
  .row{
    display:grid; grid-template-columns:150px 1fr 118px; align-items:center; gap:14px;
    padding:11px 18px; border-bottom:1px solid var(--line-soft); position:relative;
  }
  .row:last-of-type{border-bottom:0}
  .row::before{
    content:""; position:absolute; inset-block:0; inset-inline-start:0; width:3px;
    background:var(--brand); opacity:0; transition:opacity .15s ease;
  }
  .row:focus-within::before{opacity:1}
  .row:focus-within{background:var(--brand-wash)}
  .row .label b{display:block; font-weight:600; font-size:1rem; line-height:1.3}
  .row .label span{display:block; font-size:.76rem; color:var(--ink-faint); line-height:1.3}
  .row input{
    width:100%; font-family:'Archivo',sans-serif; font-variant-numeric:tabular-nums;
    font-size:1.12rem; font-weight:600; padding:11px 12px; min-height:48px;
    color:var(--ink); background:var(--surface-2);
    border:1px solid var(--line); border-radius:var(--radius);
  }
  .row input:focus{background:var(--surface); border-color:var(--brand); outline:none; box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}
  .row .factor{font-size:.78rem; color:var(--ink-faint); text-align:right; line-height:1.35}
  @media (max-width:600px){
    .row{grid-template-columns:1fr 1fr; gap:8px 12px; padding:12px 14px}
    .row .factor{grid-column:1 / -1; text-align:left; padding-top:2px}
  }
  .ledger-foot{
    padding:14px 18px; border-top:1px solid var(--line); background:var(--surface-2);
    display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between;
  }
  .bn-summary{font-size:.95rem; color:var(--ink-soft)}
  .bn-summary strong{color:var(--ink); font-weight:600}
  .btn{
    display:inline-flex; align-items:center; gap:8px; justify-content:center;
    min-height:44px; padding:10px 18px; border-radius:var(--radius); cursor:pointer;
    font-family:inherit; font-size:.95rem; font-weight:600; border:1px solid transparent;
  }
  .btn-primary{background:var(--brand); color:#fff; border-color:var(--brand)}
  .btn-primary:hover{background:var(--brand-deep); border-color:var(--brand-deep)}
  .btn-ghost{background:var(--surface); color:var(--ink-soft); border-color:var(--line)}
  .btn-ghost:hover{color:var(--ink); border-color:var(--ink-faint)}
  :root[data-theme="dark"] .btn-primary{color:#07140F}
  @media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .btn-primary{color:#07140F}}

  .presets{display:flex; flex-wrap:wrap; gap:8px; margin-top:16px}
  .chip{
    background:var(--surface); border:1px solid var(--line); border-radius:999px;
    padding:8px 14px; min-height:40px; font-family:inherit; font-size:.88rem; color:var(--ink-soft); cursor:pointer;
  }
  .chip:hover{border-color:var(--brand); color:var(--brand-deep)}

  .formula-card{
    background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
    padding:20px 22px; box-shadow:var(--shadow);
  }
  .formula-card h3{margin-bottom:6px}
  .formula-card .sub{font-size:.86rem; color:var(--ink-faint); margin-bottom:14px}
  .flist{list-style:none; margin:0; padding:0}
  .flist li{
    display:flex; justify-content:space-between; gap:14px; align-items:baseline;
    padding:9px 0; border-bottom:1px dashed var(--line-soft); font-size:.97rem;
  }
  .flist li:last-child{border-bottom:0}
  .flist .v{font-family:'Archivo',sans-serif; font-variant-numeric:tabular-nums; font-weight:600; color:var(--brand-deep); white-space:nowrap}

  /* ---------- sections ---------- */
  section.block{padding:46px 0; border-top:1px solid var(--line); margin-top:46px}
  .block-head{max-width:70ch; margin-bottom:26px}
  .block-head p{color:var(--ink-soft); margin-top:10px; margin-bottom:0}

  /* ---------- table ---------- */
  .table-scroll{overflow-x:auto; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); -webkit-overflow-scrolling:touch}
  table{border-collapse:collapse; width:100%; min-width:640px; font-size:.95rem}
  caption{text-align:left; padding:14px 18px; color:var(--ink-faint); font-size:.85rem; border-bottom:1px solid var(--line); background:var(--surface-2)}
  th,td{padding:12px 16px; text-align:left; border-bottom:1px solid var(--line-soft); vertical-align:top}
  thead th{background:var(--surface-2); font-weight:600; font-size:.88rem; color:var(--ink-soft); position:sticky; top:0}
  tbody tr:last-child td{border-bottom:0}
  tbody tr:nth-child(even){background:color-mix(in srgb,var(--surface-2) 55%,transparent)}
  td.n,th.n{font-family:'Archivo',sans-serif; font-variant-numeric:tabular-nums; text-align:right; white-space:nowrap}
  td strong{font-weight:600}

  /* ---------- articles ---------- */
  .article-index{display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:14px; margin-bottom:40px}
  .article-index a{
    border:1px solid var(--line); border-radius:var(--radius); background:var(--surface);
    padding:16px 18px; color:var(--ink); display:block;
  }
  .article-index a:hover{border-color:var(--brand)}
  .article-index b{display:block; font-weight:600; line-height:1.4; margin-bottom:4px}
  .article-index span{font-size:.85rem; color:var(--ink-faint)}

  article.guide{
    background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
    padding:30px clamp(20px,4vw,44px); margin-bottom:26px; box-shadow:var(--shadow);
  }
  article.guide > h2{max-width:26ch; margin-bottom:10px}
  .meta{font-size:.84rem; color:var(--ink-faint); padding-bottom:18px; margin-bottom:22px; border-bottom:1px solid var(--line-soft)}
  article.guide h3{margin:30px 0 10px; color:var(--brand-deep)}
  article.guide p, article.guide li{max-width:74ch}
  article.guide ul,article.guide ol{padding-left:22px; margin:0 0 1.05em}
  article.guide li{margin-bottom:9px}
  article.guide li::marker{color:var(--seal)}
  .callout{
    border-left:3px solid var(--seal); background:var(--seal-wash);
    padding:16px 20px; border-radius:0 var(--radius) var(--radius) 0; margin:22px 0;
  }
  .callout p:last-child{margin-bottom:0}
  .callout b{color:var(--ink)}
  .kv{display:grid; grid-template-columns:auto 1fr; gap:6px 18px; margin:0 0 1.05em; font-size:.97rem}
  .kv dt{font-weight:600}
  .kv dd{margin:0; color:var(--ink-soft)}

  /* ---------- estimator ---------- */
  .est-grid{display:grid; grid-template-columns:1fr 1.1fr; gap:26px; align-items:start}
  @media (max-width:860px){.est-grid{grid-template-columns:1fr}}
  .field{margin-bottom:16px}
  .field label{display:block; font-weight:600; font-size:.95rem; margin-bottom:6px}
  .field .help{font-size:.8rem; color:var(--ink-faint); margin-top:5px; line-height:1.5}
  .field input,.field select,.field textarea{
    width:100%; min-height:48px; padding:11px 13px; font-family:inherit; font-size:1rem;
    color:var(--ink); background:var(--surface-2); border:1px solid var(--line); border-radius:var(--radius);
  }
  .field input.num{font-family:'Archivo',sans-serif; font-weight:600}
  .field textarea{min-height:130px; resize:vertical; line-height:1.6}
  .field input:focus,.field select:focus,.field textarea:focus{
    outline:none; border-color:var(--brand); background:var(--surface);
    box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent);
  }
  .result-line{display:flex; justify-content:space-between; gap:16px; padding:11px 0; border-bottom:1px solid var(--line-soft); font-size:.97rem}
  .result-line .amt{font-family:'Archivo',sans-serif; font-variant-numeric:tabular-nums; font-weight:600; white-space:nowrap}
  .result-total{display:flex; justify-content:space-between; align-items:baseline; gap:16px; padding-top:16px; margin-top:6px; border-top:2px solid var(--brand)}
  .result-total .amt{font-family:'Archivo',sans-serif; font-variant-numeric:tabular-nums; font-size:1.7rem; font-weight:700; color:var(--brand-deep)}

  .form-status{margin-top:14px; font-size:.95rem; color:var(--brand-deep); min-height:1.4em}
  .form-status.err{color:var(--danger)}

  /* ---------- footer ---------- */
  footer.site{border-top:1px solid var(--line); background:var(--surface); padding:40px 0 30px; margin-top:20px}
  .foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:30px}
  @media (max-width:760px){.foot-grid{grid-template-columns:1fr 1fr}}
  @media (max-width:480px){.foot-grid{grid-template-columns:1fr}}
  footer.site h4{font-size:.95rem; margin-bottom:12px}
  footer.site ul{list-style:none; margin:0; padding:0}
  footer.site li{margin-bottom:8px}
  footer.site a{color:var(--ink-soft); border:0; font-size:.94rem}
  footer.site a:hover{color:var(--brand)}
  .foot-note{margin-top:32px; padding-top:20px; border-top:1px solid var(--line-soft); font-size:.85rem; color:var(--ink-faint); display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between}
  .foot-note p{margin:0; max-width:70ch}

  @media (prefers-reduced-motion: reduce){
    *{transition:none !important; animation:none !important}
    html{scroll-behavior:auto}
  }

.crumbs{font-size:.85rem;color:var(--ink-faint);margin-bottom:18px}.crumbs a{color:var(--ink-soft);border:0}.crumbs i{margin:0 7px;font-style:normal}
article.guide > h1{font-size:clamp(1.5rem,4vw,2.2rem);max-width:30ch;margin-bottom:10px}
.share{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:28px 0 0;font-size:.92rem;color:var(--ink-soft)}
.share .btn{min-height:40px;padding:8px 14px;font-size:.88rem}
.related{margin-top:34px;padding-top:22px;border-top:1px solid var(--line-soft)}.related ul{list-style:none;padding:0;margin:12px 0 0}.related li{margin-bottom:9px}
:root{--brand:#006A4E;--brand-deep:#004D39;--brand-wash:#E0F0E9;--paper:#F3F5EE;--flag:#F42A41}
header.site::after,footer.site::before{content:"";display:block;height:10px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='10'%3E%3Cpath d='M12 1L21 5L12 9L3 5Z' fill='none' stroke='%239B6B1E' stroke-width='1'/%3E%3Ccircle cx='12' cy='5' r='1.6' fill='%23F42A41'/%3E%3Cpath d='M0 5h3M21 5h3' stroke='%23006A4E' stroke-width='1'/%3E%3C/svg%3E") repeat-x}
footer.site{border-top:0}
.seal{background:#006A4E;border-color:#006A4E;color:#fff;position:relative}
.seal::after{content:"";position:absolute;top:-2px;right:-2px;width:11px;height:11px;border-radius:50%;background:var(--flag);border:2px solid var(--surface)}
.hero{position:relative}.hero::before{content:"";position:absolute;right:20px;top:14px;width:230px;height:230px;border-radius:50%;background:var(--flag);opacity:.08;pointer-events:none}
.hero>*{position:relative}
.ledger{border-top:3px solid var(--flag)}.formula-card{border-top:3px solid var(--brand)}
.block-head h2::before{content:"";display:inline-block;width:.42em;height:.42em;border-radius:50%;background:var(--flag);margin-right:.5em;vertical-align:.12em}
nav.main{order:1}.lang{order:2}#themeBtn{order:3}#menuBtn{order:4}
.lang{min-height:42px;padding:0 8px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink-soft);font:inherit;font-size:.86rem;max-width:118px;cursor:pointer}
@media (max-width:900px){.lang{margin-left:auto}#menuBtn{margin-left:0}}
.goog-te-banner-frame,.goog-te-balloon-frame,#goog-gt-tt,.goog-tooltip,iframe.skiptranslate{display:none!important}
body{top:0!important;position:static!important}.goog-text-highlight{background:none!important;box-shadow:none!important}
