/* Tokens. light-dark() follows color-scheme: OS setting by default, [data-theme] overrides (set by /theme.js). */
:root{color-scheme:light dark;
--bg:light-dark(#f4f6fb,#0c1220);--surface:light-dark(#fff,#141c2e);--ink:light-dark(#0e1a2b,#e8edf8);--muted:light-dark(#44526b,#a9b6ce);
--accent:light-dark(#1b36a8,#8fa8ff);--primary:light-dark(#2447d6,#8fa8ff);--on-primary:light-dark(#fff,#0c1220);--line:light-dark(#d8deeb,#26324a);--soft:light-dark(#edf0f8,#1c2740);--field:light-dark(#7f8cab,#6b7894);
--hero:light-dark(#14297f,#0d1a4a);--warn-bg:light-dark(#fff4e0,#2b2112);--warn-ink:light-dark(#5c3300,#f3cf91);--warn-line:light-dark(#e7c98f,#6b5128);
--tracking:-.05em;--heading:"Space Grotesk",system-ui,sans-serif;--column:180px;--category:145px;
color:var(--ink);background:var(--bg);font:16px/1.55 system-ui,-apple-system,"Segoe UI","Noto Sans","Noto Sans SC","Noto Sans Tamil",sans-serif}
:root[data-theme=light]{color-scheme:light}
:root[data-theme=dark]{color-scheme:dark}
:lang(zh){--tracking:0;--heading:system-ui,"Noto Serif SC",serif}
:lang(ta){--tracking:0;--heading:system-ui,"Noto Serif Tamil",serif}
:lang(ta) body{line-height:1.7}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink)}
a{color:var(--accent);text-underline-offset:.23em}
.skip{position:absolute;left:12px;top:-80px;z-index:10;background:var(--surface);color:var(--ink);padding:12px 16px;border:2px solid var(--accent);border-radius:8px}
.skip:focus{top:12px}
.top,main,footer{width:min(1240px,calc(100% - 72px));margin:auto}
.top{display:grid;grid-template-columns:1fr auto;grid-template-areas:"brand tools" "nav nav";gap:6px 24px;align-items:center;padding:16px 0 8px}
.brand{grid-area:brand;display:flex;align-items:center;gap:11px;color:inherit;font-weight:750;text-decoration:none}
.brand img{width:36px;height:36px;border-radius:8px}
.top>nav{grid-area:nav;display:flex;gap:4px;flex-wrap:wrap;font-size:.92rem;border-top:1px solid var(--line);padding-top:8px}
.top>nav a{color:var(--ink);text-decoration:none;padding:10px 14px;border-radius:8px;min-height:44px;display:inline-flex;align-items:center}
.top>nav a:hover{background:var(--soft)}
.top>nav a[aria-current=page]{background:var(--ink);color:var(--bg)}
.tools{grid-area:tools;display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:.85rem;justify-content:flex-end}
.lang{position:relative}
.lang summary{list-style:none;cursor:pointer;min-height:44px;padding:4px 14px;border:1px solid var(--line);border-radius:10px;display:inline-flex;align-items:center;gap:6px;color:var(--ink)}
.lang summary::-webkit-details-marker{display:none}
.lang summary::before{content:none}
.lang summary::after{content:"▾";font-size:.75rem}
.lang summary:hover{background:var(--soft)}
.lang ul{position:absolute;right:0;top:calc(100% + 6px);z-index:10;margin:0;padding:4px;list-style:none;min-width:11rem;background:var(--bg);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgb(0 0 0/.18)}
.lang li a{display:flex;align-items:center;min-height:44px;padding:6px 12px;border-radius:8px;color:var(--ink);text-decoration:none}
.lang li a:hover{background:var(--soft)}
.lang li a[aria-current=true]{background:var(--ink);color:var(--bg);font-weight:700}
.tools button{min-height:44px;padding:4px 14px;font-size:.85rem;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--ink);cursor:pointer}
.tools button:hover{background:var(--soft)}
.tools button[aria-pressed=true]{background:var(--ink);color:var(--bg)}
.eyebrow,.result-head{font-size:.71rem;letter-spacing:.12em;font-weight:750}
.eyebrow{color:var(--accent);margin:0 0 12px}
.intro{background:var(--hero);color:#fff;border-radius:20px;padding:clamp(24px,5vw,68px);display:grid;grid-template-columns:1.5fr 1fr;gap:36px;align-items:end}
.intro .eyebrow{color:#aadfc9}
h1,h2{margin:0;font-family:var(--heading);font-weight:500;letter-spacing:var(--tracking);line-height:1.08}
:lang(zh) :is(h1,h2){line-height:1.25}
:lang(ta) :is(h1,h2){line-height:1.35}
h1{font-size:clamp(2.4rem,6.5vw,6rem);overflow-wrap:anywhere}
.lede{max-width:44ch;color:#d5e8df;margin:20px 0 0}
.metrics{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;margin:0}
.metrics div{display:flex;flex-direction:column-reverse;border-top:1px solid #608278;padding-top:10px}
.metrics dt{font-size:.84rem;color:#d5e8df}
.metrics dd{font:2.6rem/1.12 var(--heading);margin:0 0 5px}
.catalogue{padding:42px 0 60px}
.section-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:18px}
.section-top h2{font-size:clamp(2rem,5vw,3.6rem)}
.section-top>p{margin:0;color:var(--muted);max-width:40ch;font-size:.92rem}
.filters{display:grid;grid-template-columns:1.7fr repeat(3,1fr);gap:12px;margin-top:22px}
label{font-weight:700;font-size:.82rem}
input,select{display:block;width:100%;min-height:44px;margin-top:5px;padding:9px 10px;color:inherit;background:var(--surface);border:1px solid var(--field);border-radius:7px;font:inherit;font-size:.95rem}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
#status,.meta{color:var(--muted);font-size:.85rem}
#status{margin:16px 0 8px}
.result-head{display:grid;grid-template-columns:1fr var(--category) var(--column);padding:9px 14px;color:var(--muted);background:var(--soft);border-radius:6px 6px 0 0;text-transform:uppercase}
.product-row{position:relative;border-bottom:1px solid var(--line);background:var(--surface)}
summary{position:relative;cursor:pointer;min-height:66px;display:grid;grid-template-columns:1fr var(--category);align-items:center;gap:0;list-style:none;padding:10px calc(var(--column) + 14px) 10px 36px;transition:background .16s}
summary::-webkit-details-marker{display:none}
summary:before{content:"+";position:absolute;left:14px;color:var(--accent);font-size:1rem}
details[open]>summary:before{content:"−"}
summary:hover,details[open]>summary{background:var(--soft)}
summary strong,summary small{display:block}
summary small,.label{color:var(--muted);font-size:.82rem}
.shortcut{position:absolute;top:0;right:14px;width:var(--column);height:66px;display:flex;align-items:center;font-size:.85rem}
.source-link{font-weight:650}
.panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:26px;padding:20px 24px 26px;border-top:1px solid var(--line);overflow-wrap:anywhere}
.references{padding-right:20px;border-right:1px solid var(--line)}
.panel h3{margin:0 0 10px;font-size:.95rem}
.panel ul{padding-left:18px;margin:0 0 16px}
.panel li{margin-bottom:10px}
.references ul{list-style:none;padding:0}
.references li{padding:7px 0;margin:0;border-top:1px solid var(--line)}
.evidence>p{margin:0 0 8px}
.evidence h3{margin-top:18px}
footer{border-top:1px solid var(--line);color:var(--muted);display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;font-size:.85rem;padding:20px 0 28px}
footer p{margin:0}footer ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 20px}
footer a{display:inline-block;padding:4px 0}
.workspace{padding:36px 0 50px}.workspace h1{font-size:clamp(2.2rem,5vw,4.4rem)}.workspace>.lede{color:var(--muted);max-width:75ch}
.method{border:1px solid var(--line);border-radius:8px;background:var(--surface);margin:25px 0}
.method>summary{padding:13px 18px 13px 36px;min-height:48px;display:block}
.record-body{padding:12px 18px 20px;overflow-wrap:anywhere}
.choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}
.family{display:block;max-width:300px}
.notice{padding:14px 18px;background:var(--warn-bg);color:var(--warn-ink);border:1px solid var(--warn-line);font-size:.9rem;border-radius:8px}
.table-scroll{overflow:auto;border:1px solid var(--line);background:var(--surface)}
.comparison-table{border-collapse:collapse;width:100%;font-size:.9rem;min-width:780px}
.comparison-table th,.comparison-table td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:15px;vertical-align:top;min-width:210px;max-width:340px}
.comparison-table th{background:var(--soft);text-align:left}
.comparison-table thead th{position:sticky;top:0;z-index:1}
.comparison-table tbody th{min-width:150px}
.comparison-table p{margin:0 0 10px}
.review-list{list-style:none;padding:0}
.review-list>li{padding:16px 0;border-bottom:1px solid var(--line)}
.review-list p{margin:5px 0}
.comparison-table .review-list{font-size:.85rem}
.research-record{border-bottom:1px solid var(--line);background:var(--surface)}
.research-record summary{display:block;padding:13px 16px 13px 36px;min-height:48px}
.record-body pre{white-space:pre-wrap;font-size:.8rem;background:var(--soft);padding:12px;overflow-wrap:anywhere}
.hash{display:block;overflow-wrap:anywhere;font-size:.75rem}
.pagination{display:flex;gap:12px;margin-top:20px}
button{font:inherit;min-height:44px;padding:9px 16px;border:1px solid var(--field);border-radius:6px;background:var(--surface);color:var(--accent);cursor:pointer}
button:hover{background:var(--soft)}
button:disabled{opacity:.5;cursor:default}
.two{grid-template-columns:1fr 1fr}
#reviews{background:var(--surface);padding:0 20px}
#comparison-status,#review-status,#research-status{font-size:.88rem;color:var(--muted)}
.research-checklist ul{list-style:none;padding:0;margin:0 0 10px}.research-checklist li{margin:0;padding:6px 0;border-bottom:1px solid var(--line)}
.references details>summary{display:block;min-height:0;padding:5px 0 5px 20px;font-size:.8rem;color:var(--muted)}.references details>summary:before{left:1px}.references>div{margin:12px 0}.references .hash{margin-top:6px}
@media(max-width:850px){.choices{grid-template-columns:1fr 1fr}.filters{grid-template-columns:1fr 1fr}}
@media(max-width:720px){:root{--column:128px;--category:105px}.top,main,footer{width:calc(100% - 28px)}.intro{grid-template-columns:1fr;gap:25px}.panel{grid-template-columns:1fr;gap:16px;padding:16px}.references{border-right:0;border-bottom:1px solid var(--line);padding-right:0;padding-bottom:12px}.top{grid-template-columns:1fr auto;grid-template-areas:"brand tools" "nav nav";gap:0 10px;padding:8px 0 0}.brand{font-size:.95rem;min-width:0}.brand img{width:30px;height:30px}.tools{flex-wrap:nowrap;gap:6px}.tools button,.lang summary{min-height:40px;padding:2px 10px}.top>nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:2px;margin-top:6px;padding-top:4px;font-size:.88rem}.top>nav a{padding:8px 11px;min-height:40px;white-space:nowrap;flex:none}.lang ul{right:auto;left:0}}
@media(max-width:475px){:root{--column:104px}.choices,.filters,.two{grid-template-columns:1fr}.result-head{grid-template-columns:1fr var(--column);font-size:.62rem}.result-head span:nth-child(2){display:none}summary{grid-template-columns:1fr;gap:2px}.shortcut{font-size:.78rem}.label{font-size:.78rem}.comparison-table{min-width:700px}.metrics dd{font-size:2rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@media(forced-colors:active){.skip,button,input,select{border:1px solid CanvasText}}

/* Home redesign: cards, chips, plain hero */
.intro{background:none;color:var(--ink);border-radius:0;padding:40px 0 8px;grid-template-columns:1.4fr 1fr;align-items:end}
.intro .eyebrow{color:var(--accent)}
.intro h1{font-size:clamp(2.2rem,5vw,3.75rem);line-height:1.06}
.intro .lede{color:var(--muted);max-width:60ch}
.metrics{gap:12px}
.metrics div{flex-direction:column-reverse;justify-content:flex-end;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px}
.metrics dt{color:var(--muted);margin-top:8px}.metrics dd{font-size:2.75rem;line-height:1;margin:0}
.metrics .warn{background:var(--warn-bg);border-color:var(--warn-line)}.metrics .warn dd,.metrics .warn dt{color:var(--warn-ink)}
.catalogue{padding:32px 0 24px}.catalogue>h2{font-size:1.9rem;margin-bottom:16px}
.catalogue .filters{grid-template-columns:2fr 1fr 1fr;align-items:end}
.catalogue .chips{grid-column:1/-1;order:5}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border-radius:999px;padding:9px 16px;color:var(--ink);font-weight:500;font-size:.88rem}
.chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.cards>ul{grid-column:1/-1}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:14px;min-width:0}
.card h3{margin:0;font:500 1.5rem/1.2 var(--heading)}.card p{margin:0}
.badges{display:flex;flex-wrap:wrap;gap:8px}
.badge{font-size:.78rem;font-weight:650;background:var(--soft);border-radius:6px;padding:4px 8px}
.badge.warn{background:var(--warn-bg);color:var(--warn-ink)}
.note{color:var(--muted);font-size:.92rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.topics{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.topics li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.88rem}
.topics .ok{color:var(--accent);font-weight:650}.topics .todo{color:var(--warn-ink);font-weight:650}
.actions{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:auto;font-size:.92rem;font-weight:650}
.actions a,.actions span{display:inline-flex;align-items:center;min-height:44px}
.more>summary{display:flex;min-height:44px;padding:0;align-items:center;color:var(--accent);font-weight:650;font-size:.92rem;background:none}
.more>summary:before{position:static;margin-right:8px}
.more>summary:hover,.more[open]>summary{background:none}
.card .panel{grid-template-columns:1fr;padding:12px 0 0;gap:14px}.card .references{border:0;padding:0}
.howto{margin:40px 0 24px;background:var(--ink);color:var(--bg);border-radius:14px;padding:28px;display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between}
.howto>div{flex:1 1 420px}.howto h2{font-size:1.6rem;margin-bottom:8px}.howto p{margin:0;color:inherit;opacity:.85}
.howto .cta{background:var(--bg);color:var(--ink);text-decoration:none;font-weight:650;border-radius:8px;padding:14px 20px;display:inline-flex;align-items:center;min-height:44px}
@media(max-width:1000px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.intro{grid-template-columns:1fr}.catalogue .filters{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.cards{grid-template-columns:1fr}.catalogue .filters{grid-template-columns:1fr}}

/* Inner pages share the directory intro. Saved copies stay distinct from insurer links. */
.page-intro{grid-template-columns:1fr;padding-bottom:0}
.page-body{padding-top:8px}
.page-body>.method{margin-top:0}
.selector-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px;margin:18px 0}
.selector-card .choices{margin-bottom:0}
.download{font-weight:650}
.table-scroll{border-radius:14px}
#reviews{background:none;padding:0}
#reviews>.review-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#reviews>.review-list>li{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px}
#records .research-record{border:1px solid var(--line);border-radius:14px;margin:0 0 12px;overflow:hidden}
.fact>p,.fact-links{margin:0 0 8px}
.fact-label{margin:14px 0 4px;font-weight:700}
.fact-links .meta{margin-left:10px}
.saved-copy{margin:0 0 8px;font-size:.85rem}
.saved-copy .meta{display:block;margin-top:4px}
.quote>summary{display:inline-flex;min-height:44px;padding:0;align-items:center;color:var(--accent);font-weight:650;font-size:.85rem;background:none}
.quote>summary:before{position:static;margin-right:8px}
.quote>summary:hover,.quote[open]>summary{background:none}
.pagination button{border-radius:999px}
@media(max-width:640px){#reviews>.review-list{grid-template-columns:1fr}}

.fact .parts{margin:6px 0 0;border:1px solid var(--line);border-radius:10px;padding:0 12px}
.fact .parts>summary{min-height:44px;display:flex;align-items:center;color:var(--accent);font-weight:650;font-size:.85rem}
.fact .parts .fact{padding:10px 0;border-top:1px solid var(--line)}
.glossary{margin:18px 0}.glossary li{margin:6px 0}
@media(max-width:720px){
.table-scroll{overflow:visible;border:0;background:none}
.comparison-table,.comparison-table thead,.comparison-table tbody,.comparison-table tr,.comparison-table th,.comparison-table td{display:block;min-width:0;max-width:none;width:auto}
.comparison-table thead th{position:static;border-right:0}
.comparison-table thead th:first-child{display:none}
.comparison-table tbody tr{margin:0 0 14px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}
.comparison-table tbody th{border-right:0}
.comparison-table td{border-right:0}
.comparison-table td::before{content:attr(data-product);display:block;font-weight:700;margin-bottom:6px}
}

/* Design audit: tabular figures, balanced wrapping, 44px footer links */
td,th{font-variant-numeric:tabular-nums}
p,li,td{text-wrap:pretty}
h1,h2,h3{text-wrap:balance}
footer a{display:inline-flex;align-items:center;min-height:44px}

.keyfacts{margin:0;border-top:1px solid var(--line)}
.keyfacts div{padding:9px 0;border-bottom:1px solid var(--line)}
.keyfacts dt{font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.keyfacts dd{margin:3px 0 0;font-size:.9rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.keyfacts .missing dd{color:var(--muted);font-style:italic}

/* Task-first redesign: icon buttons, task cards, indigo primary */
.brand img{width:32px;height:32px}
.top>nav a[aria-current=page]{background:light-dark(#e6ecff,#1c2a52);color:var(--accent);font-weight:600}
.tools{flex-wrap:nowrap}
.tools button,.lang summary{width:44px;padding:0;justify-content:center;border-color:var(--field)}
.lang summary::after{content:none}
.tools svg,.lang svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tools button[aria-pressed=true]{background:transparent;color:var(--ink)}
.i-sun,.tools button[aria-pressed=true] .i-moon{display:none}
.tools button[aria-pressed=true] .i-sun{display:block}
.tasks{padding:8px 0 0}.tasks h2{font-size:1.4rem;margin-bottom:14px}
.task-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.task{display:flex;flex-direction:column;gap:4px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:14px;color:var(--ink);text-decoration:none}
.task:hover{border-color:var(--primary)}
.task span{color:var(--muted);font-size:.92rem;line-height:1.45}
.chip[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}
.card .actions a:first-child{border:1.5px solid var(--primary);border-radius:10px;padding:0 14px;color:var(--accent)}
.howto{background:var(--hero);color:#fff}.howto .cta{background:#fff;color:#14297f}
.intro{grid-template-columns:1fr}.intro .metrics{display:none}
@media(max-width:1000px){.task-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.task-grid{grid-template-columns:1fr}}
