/* Mirath calculator. Its own design, separate from assets/site.css. */

/* ---------- webfonts, self-hosted (SIL Open Font License, see fonts/OFL-*.txt) ---------- */
/* arabic */
@font-face {
  font-family: 'Noto Nastaliq Urdu';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/noto-nastaliq-urdu-arabic.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
/* latin-ext */
@font-face {
  font-family: 'Noto Nastaliq Urdu';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/noto-nastaliq-urdu-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Noto Nastaliq Urdu';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/noto-nastaliq-urdu-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* arabic */
@font-face {
  font-family: 'Noto Nastaliq Urdu';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/noto-nastaliq-urdu-arabic.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
/* latin-ext */
@font-face {
  font-family: 'Noto Nastaliq Urdu';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/noto-nastaliq-urdu-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Noto Nastaliq Urdu';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/noto-nastaliq-urdu-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* arabic */
@font-face {
  font-family: 'Noto Nastaliq Urdu';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/noto-nastaliq-urdu-arabic.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
/* latin-ext */
@font-face {
  font-family: 'Noto Nastaliq Urdu';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/noto-nastaliq-urdu-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Noto Nastaliq Urdu';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/noto-nastaliq-urdu-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: 'Noto Serif Devanagari';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/noto-serif-devanagari-devanagari.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'Noto Serif Devanagari';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/noto-serif-devanagari-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Noto Serif Devanagari';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/noto-serif-devanagari-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: 'Noto Serif Devanagari';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/noto-serif-devanagari-devanagari.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'Noto Serif Devanagari';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/noto-serif-devanagari-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Noto Serif Devanagari';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/noto-serif-devanagari-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: 'Noto Serif Devanagari';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/noto-serif-devanagari-devanagari.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'Noto Serif Devanagari';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/noto-serif-devanagari-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Noto Serif Devanagari';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/noto-serif-devanagari-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{
  --lapis:#0E1428; --lapis2:#151C36; --lapis3:#1D2748; --line:#28325A; --line-soft:#1F2842;
  --bone:#EAE5D7; --dim:#98A0BC; --faint:#6C769B;
  --brass:#D9A93E; --verdigris:#5FA48D; --rubric:#CE5044; --indigo:#8290DA; --mauve:#A87FC0;
  --c-fard:var(--brass); --c-asabah:var(--verdigris); --c-radd:var(--indigo); --c-arham:var(--mauve);
  --serif:'Iowan Old Style','Palatino Linotype',Palatino,'Book Antiqua','URW Palladio L',Georgia,serif;
  --mono:ui-monospace,'SF Mono','Cascadia Mono','Roboto Mono',Menlo,Consolas,monospace;
  --ar:'Geeza Pro','Noto Naskh Arabic','Traditional Arabic','Segoe UI',serif;
  --ur:'Noto Nastaliq Urdu','Jameel Noori Nastaleeq','Awami Nastaliq','Noto Naskh Arabic','Segoe UI',serif;
  --hi:'Noto Serif Devanagari','Nirmala UI',Mangal,Georgia,serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--lapis);color:var(--bone);
  font-family:var(--serif);font-size:17px;line-height:1.6;
  background-image:radial-gradient(ellipse 90% 60% at 50% -10%,rgba(217,169,62,.09),transparent 70%);
  background-repeat:no-repeat;
}
.wrap{max-width:1060px;margin:0 auto;padding:0 22px}
h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.01em}
p{margin:0 0 1em}
a{color:var(--brass)}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}
.ar{font-family:var(--ar);font-size:.9em;color:var(--faint)}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums}

/* ---------- masthead ---------- */
.mast{padding:64px 0 40px;text-align:center}
.mast .eyebrow{margin-bottom:20px}
.mast h1{font-size:clamp(50px,11vw,92px);line-height:.95;letter-spacing:-.03em}
.mast h1 span{color:var(--brass)}
.mast .sub{max-width:52ch;margin:20px auto 0;color:var(--dim);font-size:17px}

/* ---------- madhhab bar ---------- */
.schools{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:32px auto 0}
.school{
  font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  padding:9px 16px;border:1px solid var(--line);background:transparent;color:var(--dim);
  border-radius:2px;cursor:pointer;transition:all .16s
}
.school:hover{border-color:var(--brass);color:var(--bone)}
.school[aria-pressed="true"]{background:var(--brass);border-color:var(--brass);color:#15100A;font-weight:600}
.school-note{margin:14px auto 0;max-width:60ch;text-align:center;color:var(--faint);font-size:14px;min-height:2.6em}

/* ---------- steps ---------- */
.step{padding:52px 0;border-top:1px solid var(--line-soft)}
.step__head{display:flex;align-items:baseline;gap:16px;margin-bottom:28px}
.marker{
  flex:none;width:38px;height:38px;display:grid;place-items:center;
  border:1px solid var(--brass);color:var(--brass);font-family:var(--ar);font-size:20px;
  align-self:center;border-radius:2px
}
.step__head h2{font-size:27px}
.step__head .hint{color:var(--faint);font-size:14px;margin-top:2px}

/* ---------- estate ---------- */
.estate{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.fields{display:grid;gap:14px}
.field{display:grid;grid-template-columns:1fr 160px;align-items:center;gap:12px}
.field label{font-size:15px;color:var(--bone)}
.field .sm{display:block;color:var(--faint);font-size:12.5px;line-height:1.4}
.field input{
  width:100%;padding:9px 11px;background:var(--lapis2);border:1px solid var(--line);
  color:var(--bone);font-family:var(--mono);font-size:14px;text-align:right;border-radius:2px
}
.field input:focus{outline:2px solid var(--brass);outline-offset:1px;border-color:var(--brass)}
select{
  padding:8px 10px;background:var(--lapis2);border:1px solid var(--line);color:var(--bone);
  font-family:var(--mono);font-size:13px;border-radius:2px
}
.ledger{border:1px solid var(--line);background:var(--lapis2);padding:22px;border-radius:2px;align-self:start}
.ledger .eyebrow{margin-bottom:16px}
.lrow{display:flex;justify-content:space-between;gap:14px;padding:7px 0;font-size:14.5px}
.lrow span:last-child{font-family:var(--mono);font-variant-numeric:tabular-nums}
.lrow.minus span:last-child{color:var(--rubric)}
.lrow.rule{border-top:1px solid var(--line);margin-top:8px;padding-top:12px}
.lrow.total{font-size:17px}
.lrow.total span:last-child{color:var(--brass);font-weight:600}
.lrow.muted span{color:var(--faint)}

/* ---------- heirs ---------- */
.spouse-pick{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.spouse-pick button{
  font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  padding:8px 15px;border:1px solid var(--line);background:transparent;color:var(--dim);cursor:pointer;border-radius:2px
}
.spouse-pick button[aria-pressed="true"]{border-color:var(--brass);color:var(--brass)}
.hgroup{margin-bottom:26px}
.hgroup > .eyebrow{display:block;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--line-soft)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:9px}
.stepper{
  display:flex;align-items:center;gap:10px;padding:7px 8px 7px 12px;
  border:1px solid var(--line-soft);background:var(--lapis2);border-radius:2px
}
.stepper.on{border-color:var(--brass);background:rgba(217,169,62,.07)}
.stepper .nm{flex:1;min-width:0;font-size:14.5px;line-height:1.25}
.stepper .nm .ar{display:block;font-size:12.5px}
.stepper button{
  width:27px;height:27px;flex:none;border:1px solid var(--line);background:transparent;color:var(--dim);
  font-family:var(--mono);font-size:15px;line-height:1;cursor:pointer;border-radius:2px
}
.stepper button:hover:not(:disabled){border-color:var(--brass);color:var(--brass)}
.stepper button:disabled{opacity:.3;cursor:default}
.stepper .ct{min-width:20px;text-align:center;font-family:var(--mono);font-size:15px;color:var(--faint)}
.stepper.on .ct{color:var(--brass);font-weight:600}
details.arham{border:1px solid var(--line-soft);border-radius:2px;padding:0}
details.arham summary{
  cursor:pointer;padding:13px 16px;font-family:var(--mono);font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--faint);list-style:none
}
details.arham summary::-webkit-details-marker{display:none}
details.arham summary::before{content:'+ ';color:var(--brass)}
details.arham[open] summary::before{content:'\2212 '}
details.arham .inner{padding:0 16px 16px}
details.arham .why{color:var(--faint);font-size:13.5px;margin-bottom:14px;max-width:70ch}

.presets{margin-top:26px;padding-top:20px;border-top:1px solid var(--line-soft)}
.presets .eyebrow{display:block;margin-bottom:11px}
.chips{display:flex;flex-wrap:wrap;gap:7px}
.chip{
  font-size:13px;padding:6px 13px;border:1px solid var(--line);background:transparent;
  color:var(--dim);cursor:pointer;border-radius:99px;font-family:var(--serif)
}
.chip:hover{border-color:var(--verdigris);color:var(--bone)}
.chip.clear{border-color:transparent;color:var(--faint)}
.chip.clear:hover{color:var(--rubric)}

/* ---------- jadwal (signature) ---------- */
.jadwal-top{display:flex;align-items:stretch;gap:0;border:1px solid var(--line);border-bottom:0;flex-wrap:wrap}
.basecell{
  flex:none;min-width:186px;padding:18px 22px;border-right:1px solid var(--line);background:var(--lapis2)
}
.basecell .eyebrow{display:block;margin-bottom:6px}
.basecell .val{font-family:var(--mono);font-size:40px;line-height:1;color:var(--brass);font-weight:600}
.basecell .val .old{color:var(--faint);text-decoration:line-through;font-size:26px;margin-right:9px;font-weight:400}
.basecell .val .arrow{color:var(--rubric);font-size:22px;margin-right:9px}
.basecell .val.awl{color:var(--rubric)}
.basecell .cap{display:block;margin-top:6px;font-size:12.5px;color:var(--faint)}
.statecell{flex:1;min-width:200px;padding:18px 22px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.tag{
  font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  padding:5px 10px;border:1px solid currentColor;border-radius:2px
}
.tag.awl{color:var(--rubric)} .tag.radd{color:var(--indigo)} .tag.case{color:var(--brass)}
.tag.arham{color:var(--mauve)} .tag.ok{color:var(--verdigris)}

table.jadwal{width:100%;border-collapse:collapse;border:1px solid var(--line);font-size:15px}
table.jadwal th{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--faint);font-weight:400;text-align:right;padding:11px 14px;
  border-bottom:1px solid var(--line);background:var(--lapis2)
}
table.jadwal th:first-child{text-align:left}
table.jadwal td{padding:13px 14px;border-bottom:1px solid var(--line-soft);text-align:right;vertical-align:top}
table.jadwal td:first-child{text-align:left}
table.jadwal tbody tr:last-child td{border-bottom:0}
.heirname{font-size:16px}
.heirname .ar{display:block;font-size:12.5px;margin-top:1px}
.cnt{font-family:var(--mono);color:var(--faint);font-size:13px}
.fard{font-family:var(--mono);font-size:14px}
.k-fard .fard{color:var(--c-fard)} .k-asabah .fard,.k-both .fard{color:var(--c-asabah)}
.k-radd .fard{color:var(--c-radd)} .k-arham .fard{color:var(--c-arham)}
.units{font-family:var(--mono);font-size:14px;color:var(--dim)}
.pct{font-family:var(--mono);font-size:14px;color:var(--dim)}
.amt{font-family:var(--mono);font-size:16px;font-variant-numeric:tabular-nums}
.amt .each{display:block;font-size:12px;color:var(--faint);margin-top:2px}
.whybtn{
  background:none;border:1px solid var(--line);color:var(--faint);cursor:pointer;
  font-family:var(--mono);font-size:10px;letter-spacing:.1em;padding:4px 8px;border-radius:2px
}
.whybtn:hover{border-color:var(--brass);color:var(--brass)}
tr.eviderow td{background:var(--lapis2);border-bottom:1px solid var(--line);text-align:left;padding:16px 14px}
.evid{max-width:78ch}
.evid .src{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--brass);display:block;margin-bottom:7px}
.evid p{margin:0;color:var(--dim);font-size:15px;font-style:italic}

/* ---------- ribbon ---------- */
.ribbon{display:flex;height:34px;margin-top:22px;border:1px solid var(--line);overflow:hidden;border-radius:2px}
.seg{position:relative;transition:width .45s cubic-bezier(.2,.7,.3,1);min-width:2px}
.seg + .seg{border-left:1px solid var(--lapis)}
.seg span{
  position:absolute;inset:0;display:grid;place-items:center;font-family:var(--mono);
  font-size:10.5px;color:#12182C;font-weight:600;overflow:hidden;white-space:nowrap
}
.riblegend{display:flex;flex-wrap:wrap;gap:16px;margin-top:11px;font-family:var(--mono);font-size:11px;color:var(--faint);letter-spacing:.06em}
.riblegend i{display:inline-block;width:9px;height:9px;margin-right:6px;vertical-align:baseline}

/* ---------- notes / blocked ---------- */
.notes{display:grid;gap:12px;margin-top:30px}
.note{border-left:2px solid var(--line);padding:2px 0 2px 18px}
.note.case{border-color:var(--brass)} .note.madhhab{border-color:var(--verdigris)} .note.rule{border-color:var(--indigo)}
.note h3{font-size:16.5px;margin-bottom:5px}
.note p{margin:0;color:var(--dim);font-size:15px;max-width:82ch}
.blocked{margin-top:30px;border:1px solid var(--line-soft);border-radius:2px;padding:18px 20px}
.blocked .eyebrow{display:block;margin-bottom:12px}
.blocked ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.blocked li{display:flex;flex-wrap:wrap;gap:10px;font-size:14.5px;align-items:baseline}
.blocked .who{color:var(--dim);text-decoration:line-through;text-decoration-color:var(--rubric)}
.blocked .rz{color:var(--faint);font-size:13.5px}

.empty{border:1px dashed var(--line);padding:44px 24px;text-align:center;border-radius:2px}
.empty h3{font-size:19px;margin-bottom:8px}
.empty p{color:var(--faint);margin:0;font-size:15px}

.actions{display:flex;gap:9px;margin-top:26px;flex-wrap:wrap}
.btn{
  font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  padding:10px 18px;border:1px solid var(--line);background:transparent;color:var(--dim);cursor:pointer;border-radius:2px
}
.btn:hover{border-color:var(--brass);color:var(--brass)}

footer{border-top:1px solid var(--line-soft);margin-top:20px;padding:38px 0 60px;color:var(--faint);font-size:14px}
footer .disc{border:1px solid var(--rubric);border-radius:2px;padding:16px 18px;margin-bottom:22px;color:var(--dim)}
footer .disc strong{color:var(--rubric);font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;display:block;margin-bottom:6px}
footer p{max-width:82ch}

:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
@media (max-width:820px){
  .estate{grid-template-columns:1fr}
  .field{grid-template-columns:1fr 130px}
  table.jadwal .col-units,table.jadwal .cell-units{display:none}
  .mast{padding:44px 0 30px}
  .step{padding:40px 0}
}
@media (max-width:560px){
  body{font-size:16px}
  table.jadwal .col-pct,table.jadwal .cell-pct{display:none}
  table.jadwal th,table.jadwal td{padding:10px 9px}
  .basecell{min-width:100%;border-right:0;border-bottom:1px solid var(--line)}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media print{
  body{background:#fff;color:#000}
  .schools,.presets,.actions,.step:nth-of-type(-n+2) .grid,.spouse-pick,details.arham{display:none}
  .seg span{color:#000}
}

/* ---------- language ---------- */
.langbar{display:flex;justify-content:center;gap:6px;margin-bottom:26px}
.mastmark{display:block;width:58px;height:58px;margin:0 auto 20px}
.langbtn{
  font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  padding:7px 14px;border:1px solid var(--line-soft);background:transparent;color:var(--faint);
  border-radius:2px;cursor:pointer;transition:all .16s;line-height:1.5
}
.langbtn:hover{border-color:var(--brass);color:var(--bone)}
.langbtn[aria-pressed="true"]{border-color:var(--brass);color:var(--brass)}
.langbtn[data-l="ur"]{font-family:var(--ur);font-size:15px;letter-spacing:normal;text-transform:none;padding:2px 16px 8px}
.langbtn[data-l="hi"]{font-family:var(--hi);font-size:13.5px;letter-spacing:normal;text-transform:none;padding:5px 15px}

/* ---------- urdu ---------- */
html[lang="ur"] body{font-family:var(--ur);font-size:15px;line-height:2.2}
html[lang="ur"] .eyebrow,html[lang="ur"] .school,html[lang="ur"] .tag,html[lang="ur"] .btn,
html[lang="ur"] .whybtn,html[lang="ur"] .spouse-pick button,html[lang="ur"] details.arham summary,
html[lang="ur"] table.jadwal th,html[lang="ur"] .evid .src,html[lang="ur"] .riblegend,
html[lang="ur"] footer .disc strong,html[lang="ur"] .fard,html[lang="ur"] .chip,
html[lang="ur"] select,html[lang="ur"] .field .sm{
  font-family:var(--ur);letter-spacing:normal;text-transform:none
}
html[lang="ur"] h1,html[lang="ur"] h2,html[lang="ur"] h3{letter-spacing:normal}
html[lang="ur"] .mast h1{font-size:clamp(44px,9vw,80px);line-height:1.5;padding-bottom:.1em}
html[lang="ur"] .mast .sub{font-size:16px}
html[lang="ur"] .eyebrow{font-size:13px;line-height:2}
html[lang="ur"] .step__head h2{font-size:26px;line-height:1.7}
html[lang="ur"] .step__head .hint{font-size:13.5px;line-height:2}
html[lang="ur"] table.jadwal th{font-size:12.5px;line-height:1.9}
html[lang="ur"] .tag,html[lang="ur"] .school,html[lang="ur"] .btn,
html[lang="ur"] .whybtn,html[lang="ur"] .spouse-pick button{font-size:12.5px;line-height:2}
html[lang="ur"] .whybtn{font-size:11.5px;padding:2px 9px 6px}
html[lang="ur"] .marker{font-size:21px;line-height:1}
html[lang="ur"] .stepper .nm{line-height:1.95;font-size:14px}
html[lang="ur"] .stepper .nm .ar{font-size:12px;line-height:1.5}
html[lang="ur"] .heirname{line-height:1.9}
html[lang="ur"] .fard{font-size:13px;line-height:1.9}
html[lang="ur"] .seg span{font-family:var(--ur);font-size:11px}
html[lang="ur"] .evid p{font-style:normal;line-height:2.1}
html[lang="ur"] .note h3{line-height:1.8}
html[lang="ur"] .blocked li{line-height:1.9}
html[lang="ur"] footer .disc strong{font-size:13px}

/* ---------- hindi ---------- */
html[lang="hi"] body{font-family:var(--hi);font-size:16px;line-height:1.8}
html[lang="hi"] .eyebrow,html[lang="hi"] .school,html[lang="hi"] .tag,html[lang="hi"] .btn,
html[lang="hi"] .whybtn,html[lang="hi"] .spouse-pick button,html[lang="hi"] details.arham summary,
html[lang="hi"] table.jadwal th,html[lang="hi"] .evid .src,html[lang="hi"] .riblegend,
html[lang="hi"] footer .disc strong,html[lang="hi"] .fard,html[lang="hi"] .chip{
  font-family:var(--hi);letter-spacing:.03em;text-transform:none
}
html[lang="hi"] h1,html[lang="hi"] h2,html[lang="hi"] h3{letter-spacing:normal}
html[lang="hi"] .mast h1{font-size:clamp(42px,9vw,78px);line-height:1.2}
html[lang="hi"] .eyebrow{font-size:12.5px}
html[lang="hi"] table.jadwal th{font-size:12px}
html[lang="hi"] .tag,html[lang="hi"] .whybtn{font-size:11.5px}
html[lang="hi"] .fard{font-size:13.5px}
html[lang="hi"] .marker{font-size:19px}
html[lang="hi"] .seg span{font-family:var(--hi);font-size:10px}

/* ---------- right-to-left ---------- */
html[dir="rtl"] table.jadwal th,html[dir="rtl"] table.jadwal td{text-align:left}
html[dir="rtl"] table.jadwal th:first-child,html[dir="rtl"] table.jadwal td:first-child{text-align:right}
html[dir="rtl"] tr.eviderow td{text-align:right}
html[dir="rtl"] .note{border-left:0;border-right:2px solid var(--line);padding:2px 18px 2px 0}
html[dir="rtl"] .note.case{border-right-color:var(--brass)}
html[dir="rtl"] .note.madhhab{border-right-color:var(--verdigris)}
html[dir="rtl"] .note.rule{border-right-color:var(--indigo)}
html[dir="rtl"] .basecell{border-right:0;border-left:1px solid var(--line)}
html[dir="rtl"] .stepper{padding:7px 12px 7px 8px}
html[dir="rtl"] .seg + .seg{border-left:0;border-right:1px solid var(--lapis)}
html[dir="rtl"] .riblegend i{margin-right:0;margin-left:6px}
html[dir="rtl"] .basecell .val .old,html[dir="rtl"] .basecell .val .arrow{margin-right:0;margin-left:9px}
html[dir="rtl"] .field input{direction:ltr;text-align:right}
html[dir="rtl"] .lrow span:last-child,html[dir="rtl"] .amt,html[dir="rtl"] .units,
html[dir="rtl"] .pct,html[dir="rtl"] .cnt,html[dir="rtl"] .basecell .val{direction:ltr}
html[dir="rtl"] .amt .each{direction:rtl;text-align:left}
@media (max-width:560px){
  html[dir="rtl"] .basecell{border-left:0;border-bottom:1px solid var(--line)}
}
@media print{.langbar,.mastmark{display:none}}
