/* Chagua Katiba 5.9 – the Constitution, in the same look as the election pages. Override --chk-* to restyle. */
.chk,.chk-seat,.chk-embed{
	--chk-green:#006b3c;--chk-green-2:#087f5b;--chk-deep:#04361f;--chk-red:#b51d2a;--chk-gold:#f2b705;
	--chk-ink:#14201a;--chk-text:#26332c;--chk-muted:#5b6b63;--chk-line:#e3e9e5;--chk-soft:#f4f8f5;--chk-card:#fff;
	--chk-mark:#fff1b8;--chk-r:16px;--chk-shadow:0 1px 2px rgba(4,54,31,.06),0 8px 24px rgba(4,54,31,.08);
	--chk-fs:1.06rem;
}
html.cht-night .chk,html.cht-night .chk-seat,html.cht-night .chk-embed{
	--chk-ink:#e6efe9;--chk-text:#cfdcd5;--chk-muted:#a9bab1;--chk-line:#24352c;--chk-soft:#14211b;--chk-card:#101a15;--chk-mark:#5a4a0f;
	--chk-shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.25);
}
.chk{max-width:1180px;margin:0 auto 56px;padding:14px 16px 0;color:var(--chk-ink);line-height:1.6;box-sizing:border-box}
.chk *,.chk *::before,.chk *::after{box-sizing:border-box}
.chk [hidden]{display:none!important}
.chk a{color:var(--chk-green)}
html.cht-night .chk a{color:#8fd9b1}
.chk-crumbs{display:flex;flex-wrap:wrap;gap:6px;font-size:.88rem;color:var(--chk-muted);margin:0 0 12px}
.chk-crumbs a{text-decoration:none}

/* ---------- Hero (same family as .chagua-el-hero) ---------- */
.chk-hero{position:relative;z-index:5;border-radius:22px;color:#fff;margin:0 0 22px;
	background:radial-gradient(900px 380px at 110% -20%,rgba(255,255,255,.14),transparent 60%),radial-gradient(600px 300px at -10% 120%,rgba(181,29,42,.35),transparent 60%),linear-gradient(135deg,var(--chk-deep) 0%,var(--chk-green) 55%,var(--chk-green-2) 100%);
	box-shadow:0 18px 40px rgba(4,54,31,.25)}
.chk-hero-bg{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none}
.chk-hero-bg::after{content:"";position:absolute;left:0;right:0;bottom:0;height:8px;background:linear-gradient(to bottom,#111 0 25%,#fff 25% 37%,var(--chk-red) 37% 63%,#fff 63% 75%,var(--chk-green) 75% 100%)}
.chk-hero-bg::before{content:"";position:absolute;inset:0;opacity:.08;pointer-events:none;background-image:radial-gradient(#fff 1px,transparent 1.4px);background-size:18px 18px;-webkit-mask-image:linear-gradient(to left,#000,transparent 70%);mask-image:linear-gradient(to left,#000,transparent 70%)}
.chk-hero-in{position:relative;z-index:1;padding:38px 40px 50px;max-width:900px}
.chk-hero--compact .chk-hero-in{padding:26px 32px 38px}
.chk-eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 10px;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.chk-eyebrow::before{content:"";width:22px;height:3px;border-radius:2px;background:var(--chk-red);box-shadow:0 -3px 0 #111,0 3px 0 #fff}
.chk-kicker{margin:0 0 4px;font-size:.95rem;font-weight:600;color:rgba(255,255,255,.88)}
.chk .chk-kicker a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35)}
.chk-title{margin:0 0 10px;font-size:clamp(1.8rem,4.2vw,2.9rem);line-height:1.1;font-weight:800;color:#fff!important;letter-spacing:-.01em}
.chk-hero--compact .chk-title{font-size:clamp(1.5rem,3.4vw,2.3rem)}
.chk-title--art{font-size:clamp(1.3rem,2.6vw,1.7rem)!important;opacity:.9}
.chk-intro{margin:0 0 18px;font-size:1.06rem;color:rgba(255,255,255,.9);max-width:60ch}
.chk-meta{margin:-6px 0 14px;font-size:.9rem;color:rgba(255,255,255,.8);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.chk-prog-inline:not(:empty){padding:2px 10px;border-radius:999px;background:rgba(255,255,255,.16);font-weight:700}

/* Search */
.chk-search{position:relative;display:flex;align-items:center;gap:8px;max-width:680px;padding:6px 6px 6px 16px;border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.chk-search-ic{color:var(--chk-muted);display:flex}
.chk-search input{flex:1;min-width:0;border:0!important;outline:0;background:transparent!important;box-shadow:none!important;font:inherit;font-size:1.05rem;color:#14201a!important;padding:10px 4px!important;height:auto!important;margin:0!important}
.chk-search input::-webkit-search-cancel-button{cursor:pointer}
.chk-kbd{font:600 .75rem/1 ui-monospace,monospace;color:#7a8a82;border:1px solid #d6dfda;border-radius:6px;padding:4px 7px}
.chk-search button[type=submit]{border:0;border-radius:12px;background:var(--chk-green);color:#fff;font-weight:700;padding:11px 18px;cursor:pointer;font-family:inherit;font-size:.98rem}
.chk-search button[type=submit]:hover{background:var(--chk-deep)}
.chk-suggest{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;background:#fff;color:#14201a;border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.22);padding:6px;max-height:min(60vh,480px);overflow:auto}
.chk-suggest a{display:block;padding:10px 12px;border-radius:10px;text-decoration:none;color:#14201a!important}
.chk-suggest a:hover,.chk-suggest a.is-active{background:#eef6f1}
.chk-suggest small{display:block;color:#5b6b63;font-size:.8rem}
.chk-suggest b{display:block;font-size:.98rem}
.chk-suggest .chk-sug-s{display:block;font-size:.85rem;color:#4a5a52;margin-top:2px}
.chk-suggest .chk-sug-all{font-weight:700;color:var(--chk-green)!important;border-top:1px solid #e3e9e5;border-radius:0 0 10px 10px}

.chk-hero-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:16px}
.chk-langs{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:rgba(0,0,0,.18)}
.chk .chk-pill{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:6px 14px;border-radius:999px;color:#fff;text-decoration:none;font-weight:600;font-size:.88rem}
.chk .chk-pill.is-on{background:#fff;color:var(--chk-deep)}
.chk .chk-pill--saved{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25)}
.chk-pill--saved b{min-width:20px;text-align:center;padding:0 6px;border-radius:999px;background:var(--chk-gold);color:#14201a;font-size:.78rem}
.chk-size{display:inline-flex;gap:4px}
.chk-size button{min-width:38px;min-height:34px;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;font-weight:700;cursor:pointer;font-family:inherit}
.chk-size button:hover{background:rgba(255,255,255,.12)}
.chk-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:640px;list-style:none;margin:20px 0 0;padding:0}
.chk-stats li{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16)}
.chk-stats b{display:block;font-size:1.4rem;line-height:1.1;font-weight:800}
.chk-stats span{display:block;font-size:.76rem;color:rgba(255,255,255,.82);margin-top:3px}

/* ---------- Sections and cards ---------- */
.chk-sec{margin:0 0 30px}
.chk-sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.chk-h2{font-size:1.35rem;margin:0 0 12px;font-weight:800;color:var(--chk-ink)}
.chk-link{font-weight:700;text-decoration:none}
.chk-note{color:var(--chk-muted);font-size:.86rem;margin:12px 0 0}
.chk-card{background:var(--chk-card);border:1px solid var(--chk-line);border-radius:var(--chk-r);box-shadow:var(--chk-shadow);padding:22px}
.chk-card h2{font-size:1.25rem;margin:0 0 8px;color:var(--chk-ink)}
.chk-card-k{margin:0 0 4px;font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--chk-red)}
.chk .chk-btn{display:inline-flex;align-items:center;gap:6px;padding:11px 18px;border-radius:999px;background:var(--chk-green);color:#fff!important;font-weight:700;text-decoration:none;border:0;cursor:pointer;font-family:inherit;font-size:.98rem}
.chk .chk-btn:hover{background:var(--chk-deep)}
.chk .chk-btn--soft{background:var(--chk-soft);color:var(--chk-green)!important;border:1px solid var(--chk-line)}
.chk-duo{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 30px;align-items:start}
.chk-quizcta{background:linear-gradient(160deg,#fffaf0,#fff 60%);border-color:#f1e2b8}
html.cht-night .chk-quizcta{background:linear-gradient(160deg,#211c0c,#101a15 60%);border-color:#3b3418}
.chk-best:empty{display:none}
.chk-best{font-weight:700;color:var(--chk-green)}
.chk-empty{padding:18px;border-radius:14px;background:var(--chk-soft);color:var(--chk-muted)}

/* Topics */
.chk-topics{display:flex;flex-wrap:wrap;gap:10px}
.chk .chk-topic{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:var(--chk-card);border:1px solid var(--chk-line);color:var(--chk-ink);text-decoration:none;font-weight:700;box-shadow:var(--chk-shadow);transition:transform .15s ease,border-color .15s ease}
.chk .chk-topic:hover{transform:translateY(-2px);border-color:var(--chk-green);color:var(--chk-green)}

/* Continue reading */
.chk-continue{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 26px;padding:16px 20px;border-radius:var(--chk-r);background:var(--chk-soft);border:1px solid var(--chk-line)}
.chk-continue .chk-cont-b{flex:1;min-width:200px}
.chk-continue small{display:block;color:var(--chk-muted);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}
.chk-continue b{font-size:1.05rem}

/* Chapters grid */
.chk-chapters{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:12px}
.chk .chk-ch{display:flex;gap:14px;height:100%;padding:16px;border-radius:var(--chk-r);background:var(--chk-card);border:1px solid var(--chk-line);color:var(--chk-ink);text-decoration:none;box-shadow:var(--chk-shadow);transition:transform .15s ease,border-color .15s ease}
.chk .chk-ch:hover{transform:translateY(-2px);border-color:var(--chk-green)}
.chk-ch-n{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-weight:800;font-size:1.1rem;color:#fff;background:linear-gradient(135deg,var(--chk-deep),var(--chk-green))}
.chk-ch-b{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.chk-ch-b b{font-size:1.02rem;line-height:1.3}
.chk-ch-g{font-size:.88rem;color:var(--chk-muted);line-height:1.45}
.chk-ch-m{font-size:.78rem;color:var(--chk-muted);font-weight:700;margin-top:auto;padding-top:6px}
.chk-bar{display:block;height:5px;border-radius:999px;background:var(--chk-line);overflow:hidden;margin-top:4px}
.chk-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--chk-green),var(--chk-gold));border-radius:inherit;transition:width .6s ease}
.chk-sched{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.chk .chk-sched a{display:flex;flex-direction:column;padding:9px 12px;border-radius:12px;background:var(--chk-soft);text-decoration:none;color:var(--chk-ink)}
.chk-sched span{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--chk-muted)}

/* Search results */
.chk-search-results{margin:0 0 28px}
.chk-res-n{font-weight:700;color:var(--chk-muted);margin:0 0 10px}
.chk-res{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.chk .chk-res a{display:block;padding:14px 18px;border-radius:14px;background:var(--chk-card);border:1px solid var(--chk-line);text-decoration:none;color:var(--chk-ink);box-shadow:var(--chk-shadow)}
.chk .chk-res a:hover{border-color:var(--chk-green)}
.chk-res-k{display:block;font-size:.78rem;font-weight:700;color:var(--chk-green);text-transform:uppercase;letter-spacing:.06em}
.chk-res b{display:block;font-size:1.05rem;margin:2px 0}
.chk-res-s{display:block;color:var(--chk-text);font-size:.92rem}
.chk mark{background:var(--chk-mark);color:inherit;border-radius:3px;padding:0 1px}

/* ---------- Reading layout ---------- */
.chk-read{display:grid;grid-template-columns:280px minmax(0,1fr);gap:28px;align-items:start}
.chk-rail{position:sticky;top:calc(var(--cp-top,0px) + 90px);max-height:calc(100vh - 110px);overflow:auto;padding:16px;border-radius:var(--chk-r);background:var(--chk-card);border:1px solid var(--chk-line);box-shadow:var(--chk-shadow);font-size:.9rem;scrollbar-width:thin}
.chk-rail-h{margin:0 0 8px;font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--chk-red)}
.chk-rail ol{list-style:none;margin:0;padding:0}
.chk .chk-rail a{display:flex;gap:8px;padding:6px 8px;border-radius:8px;color:var(--chk-text);text-decoration:none;line-height:1.35}
.chk .chk-rail a span{flex:none;min-width:26px;font-weight:800;color:var(--chk-muted);font-variant-numeric:tabular-nums}
.chk .chk-rail a:hover{background:var(--chk-soft);color:var(--chk-green)}
.chk .chk-rail a.is-here,.chk .chk-rail a[aria-current]{background:var(--chk-soft);color:var(--chk-green);font-weight:700;box-shadow:inset 3px 0 0 var(--chk-green)}
.chk .chk-rail a.is-read span{color:var(--chk-green)}
.chk-rail-part{margin:10px 0 4px;padding:0 8px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--chk-muted)}
.chk-rail-all{margin-top:12px;border-top:1px solid var(--chk-line);padding-top:10px}
.chk-rail-all summary{cursor:pointer;font-weight:700;color:var(--chk-green)}
.chk-rail-btn{display:none}
.chk-body{min-width:0}
.chk-part{display:flex;flex-direction:column;margin:26px 0 12px;font-size:1.15rem;color:var(--chk-ink)}
.chk-part:first-child{margin-top:0}
.chk-part span{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--chk-red)}

/* Articles */
.chk-art{background:var(--chk-card);border:1px solid var(--chk-line);border-radius:var(--chk-r);box-shadow:var(--chk-shadow);padding:20px 24px 16px;margin:0 0 14px;scroll-margin-top:calc(var(--cp-top,0px) + 90px);transition:box-shadow .3s ease,border-color .3s ease}
.chk-art.is-target{border-color:var(--chk-gold);box-shadow:0 0 0 3px rgba(242,183,5,.35),var(--chk-shadow)}
.chk-art--single{padding:26px 30px 20px}
.chk-art-h{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;margin:0 0 10px}
.chk .chk-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;color:#fff!important;text-decoration:none;font-weight:800;font-size:1.25rem;line-height:1;background:linear-gradient(135deg,var(--chk-deep),var(--chk-green));box-shadow:inset 0 -3px 0 rgba(0,0,0,.15)}
.chk-badge small{font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.85;margin-bottom:3px}
.chk-art-t{margin:0;font-size:1.2rem;line-height:1.3;color:var(--chk-ink)}
.chk-art--single .chk-art-t{font-size:clamp(1.35rem,2.6vw,1.8rem)}
.chk .chk-art-t a{color:var(--chk-ink);text-decoration:none}
.chk .chk-art-t a:hover{color:var(--chk-green)}
.chk-tools{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.chk-tool{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:5px 10px;border-radius:999px;border:1px solid var(--chk-line);background:var(--chk-card);color:var(--chk-muted);font-family:inherit;font-weight:600;font-size:.8rem;line-height:1;cursor:pointer;transition:all .15s ease}
.chk-tool:hover{color:var(--chk-green);border-color:var(--chk-green)}
.chk-save[aria-pressed=true]{background:#fff6d6;border-color:#e9c94a;color:#7a5a00}
html.cht-night .chk-save[aria-pressed=true]{background:#3a3010;color:#f6d77a}
.chk-text{font-size:var(--chk-fs);color:var(--chk-text)}
.chk-l{display:flex;gap:10px;margin:0 0 .55em;line-height:1.65;scroll-margin-top:calc(var(--cp-top,0px) + 100px)}
.chk-l1{padding-left:34px}.chk-l2{padding-left:68px}.chk-l3{padding-left:96px}
.chk-plain{display:block}
.chk-mk{flex:none;min-width:34px;font-weight:700;color:var(--chk-ink)}
.chk-l1 .chk-mk,.chk-l2 .chk-mk{min-width:30px;font-weight:600;color:var(--chk-muted)}
.chk .chk-cl{color:inherit;text-decoration:none;border-radius:6px;padding:0 2px}
.chk .chk-cl:hover{background:var(--chk-soft);color:var(--chk-green)}
.chk-l:target,.chk-l.is-target{background:linear-gradient(90deg,rgba(242,183,5,.22),transparent 80%);border-radius:8px;margin-left:-8px;padding-right:8px}
.chk-l:target.chk-l0,.chk-l.is-target.chk-l0{padding-left:8px}
.chk .chk-xref{font-weight:700;text-decoration:none;border-bottom:1px dotted currentColor}
.chk-tx{min-width:0}

.chk-both{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.chk-both>div+div{border-left:1px solid var(--chk-line);padding-left:22px}
.chk-both-l{margin:0 0 6px;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--chk-red)}
.chk-both-t{font-weight:700;margin:0 0 8px}

.chk-races{margin:0 0 16px}
.chk-races ul{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chk-pn{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}
.chk .chk-pn a{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:14px;background:var(--chk-card);border:1px solid var(--chk-line);color:var(--chk-ink);text-decoration:none;box-shadow:var(--chk-shadow)}
.chk .chk-pn a:hover{border-color:var(--chk-green)}
.chk-pn small{color:var(--chk-muted);font-weight:700}
.chk-pn .chk-pn-next{text-align:right;grid-column:2}
.chk-inchap{text-align:center}

/* Schedules, preamble */
.chk-plainbody{max-width:860px;margin:0 auto}
.chk-plainbody>.chk-text,.chk-plainbody .chk-text{background:var(--chk-card);border:1px solid var(--chk-line);border-radius:var(--chk-r);padding:18px 22px;margin:0 0 14px;box-shadow:var(--chk-shadow)}
.chk-sh{font-size:1.2rem;margin:24px 0 10px;color:var(--chk-ink)}
.chk-sh span{color:var(--chk-red)}
.chk-ss{font-size:1.05rem;margin:22px 0 8px;color:var(--chk-ink);scroll-margin-top:100px}
.chk-ss span{color:var(--chk-green)}
.chk-tablewrap{overflow-x:auto;margin:0 0 14px;border-radius:var(--chk-r);border:1px solid var(--chk-line);box-shadow:var(--chk-shadow);background:var(--chk-card)}
.chk-table{width:100%;border-collapse:collapse;font-size:.95rem;margin:0}
.chk-table th,.chk-table td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--chk-line);vertical-align:top}
.chk-table th{background:var(--chk-soft);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--chk-muted)}
.chk-table td:last-child{white-space:nowrap;font-weight:700}
.chk-anthem{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:18px 22px 18px 58px;margin:0 0 12px;border-radius:var(--chk-r);background:var(--chk-card);border:1px solid var(--chk-line);box-shadow:var(--chk-shadow);font-size:1.05rem}
.chk-anthem p{margin:0;line-height:1.7}
.chk-anthem p[lang=sw]{font-weight:600}
.chk-anthem-n{position:absolute;left:18px;top:18px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--chk-green);color:#fff;font-weight:800;font-size:.85rem}
.chk-fig{margin:0 0 16px;padding:16px;text-align:center;border-radius:var(--chk-r);background:#fff;border:1px solid var(--chk-line)}
.chk-fig img{max-width:100%;height:auto;display:inline-block}
.chk-fig--seal img{max-width:220px}.chk-fig--arms img{max-width:420px}
.chk-fig figcaption{font-size:.85rem;color:#5b6b63;margin-top:8px}
.chk-preamble{background:var(--chk-card);border:1px solid var(--chk-line);border-radius:var(--chk-r);box-shadow:var(--chk-shadow);padding:30px 36px;font-family:Georgia,"Times New Roman",serif;font-size:calc(var(--chk-fs) + .12rem);line-height:1.8;color:var(--chk-text);position:relative}
.chk-preamble p{margin:0 0 .9em}
.chk-preamble p:last-child{text-align:center;font-weight:800;letter-spacing:.14em;margin-top:1.2em;color:var(--chk-green)}
.chk-pre-first{font-size:1.2em;font-weight:700;color:var(--chk-ink)}

/* Quiz */
.chk-quiz{max-width:760px;margin:0 auto}
.chk-quiz-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.chk-quiz-set{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:18px;border-radius:var(--chk-r);border:1px solid var(--chk-line);background:var(--chk-card);color:var(--chk-ink);box-shadow:var(--chk-shadow);cursor:pointer;font-family:inherit;text-align:left;transition:transform .15s ease,border-color .15s ease}
.chk-quiz-set:hover{transform:translateY(-2px);border-color:var(--chk-green)}
.chk-quiz-ic{font-size:1.7rem}
.chk-quiz-set b{font-size:1.08rem}
.chk-quiz-set small{color:var(--chk-muted)}
.chk-quiz-best:not(:empty){margin-top:4px;padding:2px 10px;border-radius:999px;background:var(--chk-soft);color:var(--chk-green);font-weight:700;font-size:.8rem}
.chk-qcard{background:var(--chk-card);border:1px solid var(--chk-line);border-radius:20px;box-shadow:var(--chk-shadow);padding:24px 26px}
.chk-qtop{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 10px;font-size:.85rem;font-weight:700;color:var(--chk-muted)}
.chk-qtop button{border:0;background:none;color:var(--chk-green);font:700 .85rem inherit;cursor:pointer}
.chk-qbar{height:6px;border-radius:999px;background:var(--chk-line);overflow:hidden;margin:0 0 18px}
.chk-qbar i{display:block;height:100%;background:linear-gradient(90deg,var(--chk-green),var(--chk-gold));transition:width .4s ease}
.chk-qq{font-size:1.3rem;line-height:1.35;margin:0 0 16px;color:var(--chk-ink)}
.chk-qopts{display:grid;gap:10px;margin:0 0 14px;padding:0;list-style:none}
.chk-qopt{width:100%;display:flex;gap:12px;align-items:center;text-align:left;padding:14px 16px;border-radius:14px;border:2px solid var(--chk-line);background:var(--chk-card);color:var(--chk-ink);font-family:inherit;font-weight:600;font-size:1rem;line-height:1.4;cursor:pointer;transition:border-color .15s ease,background .15s ease}
.chk-qopt:hover:not([disabled]){border-color:var(--chk-green)}
.chk-qopt i{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--chk-soft);font-style:normal;font-weight:800;color:var(--chk-muted)}
.chk-qopt.is-right{border-color:#1f9d55;background:#e9f8ef}.chk-qopt.is-right i{background:#1f9d55;color:#fff}
.chk-qopt.is-wrong{border-color:var(--chk-red);background:#fdeced}.chk-qopt.is-wrong i{background:var(--chk-red);color:#fff}
html.cht-night .chk-qopt.is-right{background:#11301f}html.cht-night .chk-qopt.is-wrong{background:#3a1416}
.chk-qopt[disabled]{cursor:default}
.chk-qwhy{padding:14px 16px;border-radius:14px;background:var(--chk-soft);margin:0 0 14px;animation:chkIn .3s ease}
.chk-qwhy b{display:block;margin-bottom:4px}
.chk-qwhy a{font-weight:700}
.chk-qdone{text-align:center}
.chk-qscore{font-size:3.4rem;font-weight:800;line-height:1;color:var(--chk-green);margin:8px 0}
.chk-qdone .chk-btns{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:16px}
.chk-qreview{text-align:left;margin-top:20px;display:grid;gap:8px;list-style:none;padding:0}
.chk-qreview li{padding:10px 14px;border-radius:12px;background:var(--chk-soft);font-size:.92rem}
.chk-qreview li.ok::before{content:"✓ ";color:#1f9d55;font-weight:800}
.chk-qreview li.no::before{content:"✗ ";color:var(--chk-red);font-weight:800}

/* Saved */
.chk-saved-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.chk-saved-list li{display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:14px;background:var(--chk-card);border:1px solid var(--chk-line);box-shadow:var(--chk-shadow)}
.chk-saved-list a.chk-sv-a{flex:1;text-decoration:none;color:var(--chk-ink)}
.chk-saved-list small{display:block;color:var(--chk-muted);font-weight:700}
.chk-saved-list button{border:0;background:none;color:var(--chk-muted);font-size:1.2rem;cursor:pointer}
.chk-saved-top{display:flex;justify-content:flex-end;margin:0 0 10px}

/* Footer, toast, peek */
.chk-foot{margin:34px 0 0;padding:18px 0 0;border-top:1px solid var(--chk-line);color:var(--chk-muted);font-size:.85rem}
.chk-foot p{margin:0 0 6px}
.chk-toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:99999;padding:10px 18px;border-radius:999px;background:#14201a;color:#fff;font-weight:700;font-size:.92rem;box-shadow:0 10px 30px rgba(0,0,0,.3);animation:chkIn .2s ease}
.chk-peek{position:absolute;z-index:9999;width:min(420px,calc(100vw - 24px));max-height:320px;overflow:auto;padding:14px 16px;border-radius:14px;background:var(--chk-card);color:var(--chk-text);border:1px solid var(--chk-line);box-shadow:0 18px 40px rgba(0,0,0,.2);font-size:.92rem}
.chk-peek b{display:block;color:var(--chk-ink);margin-bottom:6px}
.chk-peek p{margin:0 0 .4em}
@keyframes chkIn{from{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%,0)}}
.chk-qwhy{animation-name:chkFade}
@keyframes chkFade{from{opacity:0}to{opacity:1}}

/* ---------- Race pages and embeds ---------- */
.chk-seat{margin:28px 0;padding:22px 24px;border-radius:var(--chk-r);background:var(--chk-card);border:1px solid var(--chk-line);box-shadow:var(--chk-shadow);color:var(--chk-ink);position:relative;overflow:hidden}
.chk-seat::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(to right,#111 0 25%,var(--chk-red) 25% 75%,var(--chk-green) 75%)}
.chk-seat-k{margin:0 0 4px;font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--chk-red)}
.chk-seat h2{margin:0 0 6px;font-size:1.3rem;color:var(--chk-ink)}
.chk-seat>p{color:var(--chk-muted);margin:0 0 12px}
.chk-seat ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
.chk-seat li a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--chk-soft);color:var(--chk-ink)!important;text-decoration:none!important;font-weight:600;font-size:.93rem;line-height:1.3}
.chk-seat li a:hover{box-shadow:inset 0 0 0 1px var(--chk-green)}
.chk-seat li a span:last-child{margin-left:auto;color:var(--chk-green)}
.chk-num{flex:none;min-width:38px;height:30px;padding:0 6px;border-radius:9px;display:grid;place-items:center;background:var(--chk-green);color:#fff;font-weight:800;font-size:.85rem}
.chk-seat-more{margin:12px 0 0!important}
.chk-seat-more a{font-weight:700;color:var(--chk-green)!important}
.chk-embed{margin:20px 0;padding:18px 20px;border-radius:var(--chk-r);background:var(--chk-card);border:1px solid var(--chk-line);box-shadow:var(--chk-shadow)}
.chk-embed figcaption a{font-weight:800;color:var(--chk-green)!important;text-decoration:none}
.chk-embed .chk-text{margin-top:10px}
.chk-embed .chk-l{display:flex;gap:10px;margin:0 0 .5em}
.chk-embed .chk-l1{padding-left:28px}.chk-embed .chk-l2{padding-left:56px}
.chk-embed .chk-mk{flex:none;min-width:30px;font-weight:700}
.chk-embed-src{margin:8px 0 0;font-size:.8rem;color:var(--chk-muted)}

/* ---------- Small screens ---------- */
@media (max-width:900px){
	.chk-read{grid-template-columns:1fr}
	.chk-rail-btn{display:inline-flex;align-items:center;gap:8px;position:sticky;top:calc(var(--cp-top,0px) + 70px);z-index:20;margin:0 0 12px;padding:10px 16px;border-radius:999px;border:1px solid var(--chk-line);background:var(--chk-card);color:var(--chk-ink);font:700 .95rem inherit;box-shadow:var(--chk-shadow);cursor:pointer}
	.chk-rail{display:none;position:fixed;inset:auto 0 0 0;top:auto;max-height:75vh;z-index:99998;border-radius:20px 20px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom))}
	.chk-rail.is-open{display:block;animation:chkUp .25s ease}
	.chk-duo{grid-template-columns:1fr}
	.chk-both{grid-template-columns:1fr}
	.chk-both>div+div{border-left:0;padding-left:0;border-top:1px solid var(--chk-line);padding-top:16px}
}
@keyframes chkUp{from{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}
@media (max-width:640px){
	.chk{padding:10px 10px 0}
	.chk-hero{border-radius:18px}
	.chk-hero-in,.chk-hero--compact .chk-hero-in{padding:22px 18px 34px}
	.chk-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
	.chk-kbd{display:none}
	.chk-search{padding-left:12px}
	.chk-search button[type=submit]{padding:10px 12px}
	.chk-art,.chk-art--single{padding:16px 14px 12px}
	.chk-art-h{grid-template-columns:auto minmax(0,1fr);gap:10px}
	.chk-tools{grid-column:1/-1;justify-content:flex-start}
	.chk-tool-l{display:none}
	.chk-tool{min-width:38px;justify-content:center}
	.chk .chk-badge{width:46px;height:46px;font-size:1.05rem}
	.chk-l1{padding-left:18px}.chk-l2{padding-left:36px}.chk-l3{padding-left:52px}
	.chk-mk{min-width:28px}
	.chk-anthem{grid-template-columns:1fr;padding:16px 16px 16px 50px}
	.chk-preamble{padding:20px 18px}
	.chk-pn{grid-template-columns:1fr}.chk-pn .chk-pn-next{grid-column:auto}
	.chk-chapters{grid-template-columns:1fr}
}
@media print{
	.chk-hero,.chk-rail,.chk-rail-btn,.chk-tools,.chk-pn,.chk-search,.chk-foot a,.chk-toast{display:none!important}
	.chk-read{display:block}.chk-art{box-shadow:none;border:0;padding:0}
}
@media (prefers-reduced-motion:reduce){.chk *{transition:none!important;animation:none!important}}

/* ===================== 5.9.4 look: green titles, a softer page, more colour ===================== */
.chk{--chk-tint:#eaf4ee;--chk-tint-2:#f6faf7;position:relative;padding-bottom:30px}
/* Full-width tinted backdrop behind the Constitution pages, whatever the theme wraps them in. */
.chk::before{content:"";position:absolute;z-index:-1;top:-14px;bottom:0;left:50%;width:100vw;transform:translateX(-50%);pointer-events:none;
	background:radial-gradient(1000px 420px at 85% 0,rgba(0,107,60,.10),transparent 60%),radial-gradient(800px 360px at 0 40%,rgba(242,183,5,.10),transparent 60%),linear-gradient(180deg,var(--chk-tint) 0,var(--chk-tint-2) 520px,var(--chk-tint-2) 100%)}
html.cht-night .chk{--chk-tint:#0d1813;--chk-tint-2:#0b130f}
body.chk-page{background-color:#f6faf7}
html.cht-night body.chk-page{background-color:#0b130f}

/* Section titles: green, rounded, white text */
.chk-h2,.chk-card h2,.chk-sh,.chk-ss,.chk-part{display:inline-flex;align-items:center;gap:10px;width:auto;max-width:100%;padding:9px 18px;border-radius:14px;color:#fff!important;
	background:linear-gradient(135deg,var(--chk-deep),var(--chk-green) 70%,var(--chk-green-2));box-shadow:0 6px 16px rgba(4,54,31,.18);line-height:1.3}
.chk-h2{font-size:1.15rem;margin:0 0 14px}
.chk-card h2{font-size:1.08rem;margin:4px 0 12px}
.chk-sh{font-size:1.08rem;margin:26px 0 12px}
.chk-sh span{color:var(--chk-gold)!important}
.chk-ss{font-size:.98rem;margin:22px 0 10px;padding:7px 14px;border-radius:12px}
.chk-ss span{color:var(--chk-gold)!important}
.chk-part{flex-direction:column;align-items:flex-start;gap:2px;font-size:1.05rem;margin:26px 0 14px;padding:12px 18px;border-radius:16px}
.chk-part span{color:var(--chk-gold)!important}
.chk-sec-h{align-items:center}
.chk-sec-h .chk-h2{margin-bottom:14px}

/* Article cards: green rounded title bar with white text, text on white below */
.chk-art{padding:0;overflow:hidden;border-radius:18px;border-color:rgba(0,107,60,.14)}
.chk-art-h{margin:0;padding:12px 14px 12px 12px;border-radius:18px 18px 0 0;background:linear-gradient(135deg,var(--chk-deep) 0%,var(--chk-green) 65%,var(--chk-green-2) 100%);position:relative}
.chk .chk-badge{background:#fff;color:var(--chk-green)!important;box-shadow:0 2px 6px rgba(0,0,0,.18);width:54px;height:54px}
.chk-badge small{color:var(--chk-muted)}
.chk-art-t,.chk .chk-art-t a{color:#fff!important}
.chk .chk-art-t a:hover{color:#fff!important;text-decoration:underline;text-underline-offset:3px}
.chk-tool{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28);color:#fff}
.chk-tool:hover{background:#fff;color:var(--chk-green);border-color:#fff}
.chk-save[aria-pressed=true]{background:var(--chk-gold);border-color:var(--chk-gold);color:#14201a}
.chk-art .chk-text,.chk-art .chk-both{padding:18px 24px 14px}
.chk-art--single .chk-art-h{padding:16px 18px}
.chk-art--single .chk-text,.chk-art--single .chk-both{padding:22px 30px 18px}
.chk-art.is-target{box-shadow:0 0 0 4px rgba(242,183,5,.55),var(--chk-shadow)}
.chk-mk{color:var(--chk-green)}
html.cht-night .chk-mk{color:#8fd9b1}
.chk-both-l{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--chk-soft);color:var(--chk-green)}
/* Rail and cards pick up the tint */
.chk-rail{background:rgba(255,255,255,.92);backdrop-filter:blur(6px)}
html.cht-night .chk-rail{background:rgba(16,26,21,.92)}
.chk-rail-h{display:inline-block;padding:5px 12px;border-radius:999px;background:var(--chk-green);color:#fff}
.chk .chk-ch{border-radius:18px}
.chk .chk-ch:hover{box-shadow:0 10px 26px rgba(4,54,31,.14)}
.chk-ch-n{border-radius:14px;box-shadow:inset 0 -3px 0 rgba(0,0,0,.15)}
.chk-chapters li:nth-child(3n+2) .chk-ch-n{background:linear-gradient(135deg,#7a1520,var(--chk-red))}
.chk-chapters li:nth-child(3n) .chk-ch-n{background:linear-gradient(135deg,#1c1c1c,#3a3a3a)}
.chk .chk-topic{background:#fff}
.chk .chk-topic:nth-child(4n+1){border-color:rgba(0,107,60,.35)}
.chk .chk-topic:nth-child(4n+2){border-color:rgba(181,29,42,.3)}
.chk .chk-topic:nth-child(4n+3){border-color:rgba(242,183,5,.6)}
html.cht-night .chk .chk-topic{background:var(--chk-card)}
.chk-quizcta{background:linear-gradient(150deg,#fff8e1 0%,#fff 55%,#eaf4ee 100%)}
.chk-steps{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:14px 0 4px;padding:0}
.chk-steps li{padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);font-weight:700;font-size:.9rem;color:#fff}
.chk-steps--dark li{background:var(--chk-soft);border-color:var(--chk-line);color:var(--chk-ink)}
.chk-preamble{border-radius:22px;background:linear-gradient(180deg,#fff,#fbfdfb);border:1px solid rgba(0,107,60,.15)}
.chk-preamble::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;border-radius:22px 22px 0 0;background:linear-gradient(to right,#111 0 25%,var(--chk-red) 25% 75%,var(--chk-green) 75%)}
html.cht-night .chk-preamble{background:var(--chk-card)}
.chk-anthem{border-color:rgba(0,107,60,.18)}
.chk-tablewrap{border-radius:18px}
.chk-table th{background:var(--chk-green);color:#fff}
.chk-plainbody>.chk-text,.chk-plainbody .chk-text{border-radius:18px}
.chk-foot{border-top:0;padding:18px 20px;border-radius:16px;background:rgba(255,255,255,.7)}
html.cht-night .chk-foot{background:rgba(16,26,21,.7)}
.chk .chk-pn a{border-radius:16px}
.chk .chk-pn a:hover{background:var(--chk-green);border-color:var(--chk-green);color:#fff}
.chk .chk-pn a:hover small{color:rgba(255,255,255,.85)}
@media (max-width:640px){
	.chk-art-h{padding:10px}
	.chk-art .chk-text,.chk-art .chk-both,.chk-art--single .chk-text{padding:14px 14px 10px}
	.chk-h2,.chk-card h2{font-size:1.02rem;padding:8px 14px}
	.chk .chk-badge{width:44px;height:44px}
}

/* ===================== 5.9.5 Civic education hub ===================== */
.chh-hero .chk-title{font-size:clamp(2.2rem,5vw,3.4rem)}
.chh-find{position:relative;display:flex;align-items:center;gap:8px;max-width:620px;padding:6px 6px 6px 16px;border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.chh-find input{flex:1;min-width:0;border:0!important;outline:0;background:transparent!important;box-shadow:none!important;font:inherit;font-size:1.05rem;color:#14201a!important;padding:11px 4px!important;margin:0!important;height:auto!important}
.chh-stats{max-width:720px}
.chh-stats li:first-child{background:rgba(242,183,5,.22);border-color:rgba(242,183,5,.5)}
.chh-date{margin:10px 0 0;font-size:.85rem;color:rgba(255,255,255,.8)}
.chh-kcv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 22px}
.chk .chh-step{position:relative;display:flex;flex-direction:column;gap:4px;padding:20px 20px 18px;border-radius:20px;color:#fff;text-decoration:none;overflow:hidden;box-shadow:0 12px 28px rgba(4,54,31,.2);transition:transform .15s ease}
.chk .chh-step:hover{transform:translateY(-3px)}
.chh-step::after{content:"";position:absolute;right:-26px;bottom:-26px;width:110px;height:110px;border-radius:50%;background:rgba(255,255,255,.09)}
.chh-step1{background:linear-gradient(150deg,#b51d2a,#6e0f17)}
.chh-step2{background:linear-gradient(150deg,#1f1f1f,#3b3b3b)}
.chh-step3{background:linear-gradient(150deg,#087f5b,#04361f)}
.chh-step-n{position:absolute;top:14px;right:16px;font-size:2.4rem;font-weight:900;opacity:.18;line-height:1}
.chh-step-ic{font-size:1.7rem}
.chh-step b{font-size:1.5rem;line-height:1.1}
.chh-step span:last-child{font-size:.92rem;opacity:.9;line-height:1.45}
.chh-jump{position:sticky;top:calc(var(--cp-top,0px) + 70px);z-index:6;display:flex;gap:8px;overflow-x:auto;padding:10px 4px;margin:0 -4px 18px;scrollbar-width:none}
.chh-jump::-webkit-scrollbar{display:none}
.chk .chh-jump a{flex:none;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.95);border:1px solid var(--chk-line);color:var(--chk-ink);font-weight:700;font-size:.88rem;text-decoration:none;box-shadow:0 4px 12px rgba(4,54,31,.08);backdrop-filter:blur(6px)}
.chk .chh-jump a:hover{background:var(--chk-green);border-color:var(--chk-green);color:#fff}
html.cht-night .chk .chh-jump a{background:rgba(16,26,21,.95)}
.chh-sec{margin:0 0 34px;scroll-margin-top:calc(var(--cp-top,0px) + 130px)}
.chh-sec-h{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin:0 0 14px}
.chh-sec-h .chk-h2{margin:0}
.chh-sec-h p{margin:0;color:var(--chk-muted);flex:1;min-width:240px}
.chh-ac-red .chk-h2{background:linear-gradient(135deg,#6e0f17,var(--chk-red))}
.chh-ac-dark .chk-h2{background:linear-gradient(135deg,#111,#3a3a3a)}
.chh-ac-gold .chk-h2{background:linear-gradient(135deg,#a77a00,#d9a400);color:#fff!important}
.chh-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px}
.chh-grid li{margin:0;padding:0}
.chh-grid li::before{display:none}
.chk .chh-card{display:flex;align-items:flex-start;gap:14px;height:100%;padding:16px 16px 16px 14px;border-radius:18px;background:var(--chk-card);border:1px solid var(--chk-line);color:var(--chk-ink);text-decoration:none;box-shadow:var(--chk-shadow);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.chk .chh-card:hover{transform:translateY(-3px);border-color:var(--chk-green);box-shadow:0 14px 30px rgba(4,54,31,.14)}
.chh-ic{flex:none;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:1.45rem;background:linear-gradient(135deg,#e6f4ec,#d3ecdf)}
.chh-ac-red .chh-ic{background:linear-gradient(135deg,#fde9eb,#f9d4d8)}
.chh-ac-dark .chh-ic{background:linear-gradient(135deg,#eef0ef,#dfe3e1)}
.chh-ac-gold .chh-ic{background:linear-gradient(135deg,#fff5d6,#ffe9a8)}
html.cht-night .chh-ic{background:var(--chk-soft)!important}
.chh-tx{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.chh-tx b{font-size:1.04rem;line-height:1.3}
.chh-tx>span:last-child{font-size:.9rem;color:var(--chk-muted);line-height:1.45}
.chh-kind{align-self:flex-start;padding:2px 9px;border-radius:999px;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:var(--chk-soft);color:var(--chk-green)}
.chh-kind--law{background:#fdecee;color:var(--chk-red)}
.chh-kind--official{background:#14201a;color:#fff}
.chh-kind--data{background:#fff4d1;color:#7a5a00}
.chh-kind--tool{background:#e7f1fb;color:#1d5c99}
html.cht-night .chh-kind{background:var(--chk-soft)!important;color:var(--chk-text)!important}
.chh-go{flex:none;align-self:center;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--chk-soft);color:var(--chk-green);font-weight:800;transition:background .15s ease,color .15s ease}
.chk .chh-card:hover .chh-go{background:var(--chk-green);color:#fff}
.chh-none{margin:0 0 20px}
.chk--hub .chq-daily{margin:6px 0 34px}
@media (max-width:760px){
	.chh-kcv{grid-template-columns:1fr}
	.chh-step{padding:16px}
	.chh-grid{grid-template-columns:1fr}
	.chh-jump{top:calc(var(--cp-top,0px) + 56px)}
}

/* ===================== 5.9.6 ===================== */
/* Hub: the section bar, pinned under the site header once you scroll past it */
.chh-jump--fixed{position:fixed!important;left:0;right:0;z-index:9980;margin:0!important;padding:8px max(16px,calc((100vw - 1180px)/2 + 16px))!important;background:rgba(246,250,247,.94);border-bottom:1px solid var(--chk-line);box-shadow:0 6px 18px rgba(4,54,31,.08);backdrop-filter:blur(8px)}
html.cht-night .chh-jump--fixed{background:rgba(11,19,15,.94)}
.chk .chh-jump--fixed a.is-on{background:var(--chk-green);border-color:var(--chk-green);color:#fff}
.chh-jump{position:static}
/* Listen */
.chk-listen.is-on{background:var(--chk-gold);border-color:var(--chk-gold);color:#14201a}

/* Homepage: Know your Constitution */
.chkh{--chk-green:#006b3c;--chk-green-2:#087f5b;--chk-deep:#04361f;--chk-red:#b51d2a;--chk-gold:#f2b705}
.chkh-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px}
.chkh-main{position:relative;overflow:hidden;border-radius:22px;padding:24px;color:#fff;background:radial-gradient(700px 300px at 110% -20%,rgba(255,255,255,.14),transparent 60%),linear-gradient(135deg,var(--chk-deep),var(--chk-green) 60%,var(--chk-green-2));box-shadow:0 14px 34px rgba(4,54,31,.22)}
.chkh-main-bg{position:absolute;inset:0;opacity:.08;pointer-events:none;background-image:radial-gradient(#fff 1px,transparent 1.4px);background-size:18px 18px;-webkit-mask-image:linear-gradient(to left,#000,transparent 70%);mask-image:linear-gradient(to left,#000,transparent 70%)}
.chkh-main::after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;background:linear-gradient(to bottom,#111 0 25%,#fff 25% 37%,var(--chk-red) 37% 63%,#fff 63% 75%,var(--chk-green) 75%)}
.chkh-k{position:relative;margin:0 0 12px;font-size:.8rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.chkh-search{position:relative;display:flex;gap:8px;padding:6px 6px 6px 16px;border-radius:14px;background:#fff;box-shadow:0 8px 22px rgba(0,0,0,.18)}
.chkh-search input{text-align:left;flex:1;min-width:0;border:0!important;outline:0;background:transparent!important;box-shadow:none!important;font:inherit;font-size:1rem;color:#14201a!important;padding:10px 2px!important;margin:0!important;height:auto!important}
.chkh-search button{border:0;border-radius:10px;background:var(--chk-green);color:#fff;font-weight:800;padding:10px 16px;cursor:pointer;font-family:inherit}
.chkh-chips{position:relative;display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.chkh-chips a{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);color:#fff!important;font-weight:700;font-size:.88rem;text-decoration:none!important}
.chkh-chips a:hover{background:#fff;color:var(--chk-green)!important}
.chkh-btns{position:relative;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}
.chkh-btn{display:inline-flex;align-items:center;padding:11px 18px;border-radius:999px;background:var(--chk-gold);color:#14201a!important;font-weight:800;text-decoration:none!important}
.chkh-btn--ghost{background:transparent;color:#fff!important;border:1px solid rgba(255,255,255,.5)}
.chkh-day{position:relative;display:flex;flex-direction:column;border-radius:22px;padding:22px;background:linear-gradient(160deg,#fffaf0,#fff 55%);border:1px solid #efe2bb;box-shadow:0 8px 24px rgba(4,54,31,.08)}
.chkh-day.is-flip{animation:chkhFlip .35s ease}
@keyframes chkhFlip{from{opacity:.2;transform:translateY(6px)}to{opacity:1;transform:none}}
.chkh-day-k{margin:0 0 10px;font-size:.75rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--chk-red)}
.chkh-day-a{display:flex;align-items:center;gap:12px;text-decoration:none!important;color:#14201a!important}
.chkh-day-n{flex:none;min-width:52px;height:52px;padding:0 6px;border-radius:14px;display:grid;place-items:center;font-weight:900;font-size:1.25rem;color:#fff;background:linear-gradient(135deg,var(--chk-deep),var(--chk-green))}
.chkh-day-a b{font-size:1.15rem;line-height:1.3}
.chkh-day-t{margin:12px 0;color:#3b4a43;line-height:1.6;font-size:.96rem;flex:1}
.chkh-day-f{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.chkh-day-f a{font-weight:800;color:var(--chk-green)!important}
.chkh-day-f button{border:1px solid #e3e9e5;background:#fff;border-radius:999px;padding:7px 12px;font-weight:700;color:#5b6b63;cursor:pointer;font-family:inherit}
.chkh-quiz{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:16px 18px;border-radius:18px;background:#f1f7f3;border:1px solid #e3e9e5}
.chkh-quiz p{margin:0;color:#5b6b63;font-size:.92rem}
.chkh-quiz .chkh-quiz-k{color:#14201a;font-weight:900;font-size:1.02rem}
.chkh-lvs{display:flex;flex-wrap:wrap;gap:8px}
.chkh-lv{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:8px;align-items:center;padding:8px 14px;border-radius:14px;color:#fff!important;text-decoration:none!important;box-shadow:0 6px 16px rgba(4,54,31,.18);transition:transform .15s ease}
.chkh-lv:hover{transform:translateY(-2px)}
.chkh-lv span{grid-row:1/3;font-size:1.4rem}
.chkh-lv b{font-size:.95rem;line-height:1.1}
.chkh-lv small{font-size:.72rem;opacity:.9}
.chkh-lv1{background:linear-gradient(135deg,#2f9e44,#087f5b)}
.chkh-lv2{background:linear-gradient(135deg,#006b3c,#04361f)}
.chkh-lv3{background:linear-gradient(135deg,#b51d2a,#5b0c13)}
.chkh-lv.is-locked{filter:grayscale(.8);opacity:.75}
.chkh-lv.is-passed{box-shadow:0 0 0 3px var(--chk-gold),0 6px 16px rgba(4,54,31,.18)}
html.cht-night .chkh-day{background:#101a15;border-color:#24352c}
html.cht-night .chkh-day-a,html.cht-night .chkh-day-a b{color:#e6efe9!important}
html.cht-night .chkh-day-t{color:#cfdcd5}
html.cht-night .chkh-quiz{background:#14211b;border-color:#24352c}
html.cht-night .chkh-quiz .chkh-quiz-k{color:#e6efe9}
@media (max-width:860px){.chkh-grid{grid-template-columns:1fr}.chkh-main{padding:18px}}

/* ---------- 5.10.2: Civic education search: whole-site results as you type ---------- */
.chh-find{position:relative}
.chh-find.is-busy::after{content:"";position:absolute;right:16px;top:50%;width:16px;height:16px;margin-top:-8px;border-radius:50%;border:2px solid rgba(0,107,60,.25);border-top-color:var(--chk-green);animation:chhspin .7s linear infinite}
@keyframes chhspin{to{transform:rotate(360deg)}}
.chh-live{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:30;background:var(--chk-card);color:var(--chk-ink);border:1px solid var(--chk-line);border-radius:18px;box-shadow:0 18px 40px rgba(4,54,31,.22);padding:8px;text-align:left}
.chh-live ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.chh-live li{margin:0}.chh-live li::before{display:none}
.chh-live a{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:12px;color:var(--chk-ink)!important;text-decoration:none!important}
.chh-live a:hover,.chh-live a:focus{background:var(--chk-soft)}
.chh-live img,.chh-live-ic{flex:none;width:38px;height:38px;border-radius:50%;object-fit:cover}
.chh-live-ic{display:grid;place-items:center;font-weight:800;color:#fff;background:linear-gradient(140deg,var(--chk-deep),var(--chk-green))}
.chh-live b{display:block;font-size:.95rem;line-height:1.3}
.chh-live small{display:block;color:var(--chk-muted);font-size:.8rem}
.chh-live-none{margin:6px 10px;color:var(--chk-muted);font-size:.9rem}
.chh-live-all{display:block;width:100%;margin-top:6px;padding:11px 12px;border:0;border-radius:12px;background:var(--chk-soft);color:var(--chk-green);font:inherit;font-weight:800;text-align:left;cursor:pointer}
.chh-live-all:hover{background:#e3f1e9}
.chh-hero:focus-within{z-index:40}

/* ---------- 5.11.1: share as a picture ---------- */
.chc-dlg{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:16px;background:rgba(4,20,12,.6);backdrop-filter:blur(3px)}
.chc-dlg[hidden]{display:none}
.chc-in{position:relative;width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#fff;border-radius:22px;padding:18px 18px 14px;box-shadow:0 30px 60px rgba(0,0,0,.35);color:#14201a;font-family:inherit}
.chc-x{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;border:0;background:#f1f5f2;font-size:16px;cursor:pointer}
.chc-h{margin:0 0 10px;font-weight:900;font-size:1.1rem}
.chc-opts{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin:0 0 12px}
.chc-part{flex:1;min-width:200px;display:flex;flex-direction:column;gap:4px;font-size:.8rem;font-weight:800;color:#5b6b63}
.chc-part select{padding:9px 10px;border-radius:12px;border:1.5px solid #e3e9e5;background:#f4f8f5;font:inherit;font-size:.92rem;color:#14201a}
.chc-size{display:inline-flex;padding:3px;border-radius:999px;background:#eef3f0}
.chc-size button{border:0;background:none;padding:8px 14px;border-radius:999px;font:inherit;font-weight:700;font-size:.85rem;cursor:pointer;color:#5b6b63}
.chc-size button.is-on{background:#006b3c;color:#fff}
.chc-prev{display:grid;place-items:center;background:#f4f8f5;border-radius:16px;padding:10px}
.chc-prev canvas{max-width:100%;max-height:58vh;width:auto;height:auto;border-radius:10px;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.chc-btns{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 6px}
.chc-b{flex:1;min-width:120px;border:1px solid #e3e9e5;background:#f4f8f5;border-radius:999px;padding:11px 14px;font:inherit;font-weight:800;cursor:pointer;color:#006b3c}
.chc-b--go{background:linear-gradient(135deg,#04361f,#006b3c 70%,#087f5b);color:#fff;border-color:transparent}
.chc-note{margin:4px 2px 0;font-size:.8rem;color:#5b6b63}
.chk-card-b span:first-child{filter:saturate(1.2)}
.chc-size{flex-wrap:wrap;justify-content:center}
