/* Assembly record (views/assembly*.js). Tokens only, so dark mode follows. Party colours are data colours (--pc). */
.asm { display: flex; flex-direction: column; gap: 16px; padding: 20px 24px 48px; max-width: 1560px; margin: 0 auto; }
.asm .grow { flex: 1; }
.lang-kn { font-family: 'Noto Sans Kannada', 'Noto Sans Tamil', 'Nirmala UI', 'Tunga', var(--font); line-height: 1.6; }
.asm-top { display: flex; align-items: flex-end; gap: 20px; flex-wrap: wrap; }
.asm-top > div:first-child { flex: 1 1 420px; min-width: 0; }
.asm-top h1 { margin: 4px 0 0; font-size: 28px; font-weight: 600; letter-spacing: -.02em; line-height: 1.15; }
.asm-top p { margin: 6px 0 0; max-width: 92ch; font-size: 13.5px; line-height: 1.5; color: var(--text-2); }
.asm-top-a { display: flex; gap: 8px; align-items: center; }
.asm-kicker { font-size: 12px; color: var(--accent-ink); font-weight: 500; }
.asm-card { background: var(--surface); border: 1px solid var(--line); border-radius: 16px; padding: 18px; box-shadow: var(--shadow); min-width: 0; }
.asm-h { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 14px; }
.asm-h > div { flex: 1; min-width: 0; }
.asm-h h3 { margin: 0; font-size: 15.5px; font-weight: 600; letter-spacing: -.01em; }
.asm-h p { margin: 2px 0 0; font-size: 12.5px; color: var(--text-3); line-height: 1.45; }
.asm-h-ic { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 10px; background: color-mix(in srgb, var(--accent) 18%, transparent); color: var(--accent-ink); flex: none; }
.asm-muted, .asm-foot { font-size: 12.5px; color: var(--text-3); line-height: 1.5; margin: 6px 0 0; }
.asm-foot { display: flex; gap: 6px; align-items: flex-start; }
.asm-foot a, .asm-card p a, .asm-warn a { color: var(--accent-ink); text-decoration: underline; text-underline-offset: 2px; }
.asm-warn { display: flex; gap: 8px; align-items: flex-start; margin: 0; padding: 10px 14px; border-radius: 12px; background: var(--warn-soft); color: var(--warn); font-size: 13px; line-height: 1.45; }
.asm-warn.soft { background: var(--surface-2); color: var(--text-2); border: 1px solid var(--line); }
.asm-back { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; color: var(--text-2); width: max-content; }
.asm-back:hover { color: var(--text); }
.asm-credit { font-size: 11.5px; color: var(--text-3); margin: 0; }
.asm-credit a { text-decoration: underline; }

/* small parts */
.asm-party { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 600; padding: 1px 7px 1px 6px; border-radius: 7px; color: var(--text); background: color-mix(in srgb, var(--pc) 16%, var(--surface)); border: 1px solid color-mix(in srgb, var(--pc) 42%, transparent); white-space: nowrap; vertical-align: middle; }
.asm-party::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--pc); }
.asm-face { display: inline-grid; place-items: center; width: var(--s); height: var(--s); border-radius: 50%; overflow: hidden; flex: none; background: color-mix(in srgb, var(--pc, var(--neu)) 20%, var(--surface-2)); box-shadow: 0 0 0 2px var(--surface), 0 0 0 3.5px color-mix(in srgb, var(--pc, var(--neu)) 75%, transparent); vertical-align: middle; }
.asm-face img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; }
.asm-face i { font-style: normal; font-weight: 600; font-size: calc(var(--s) * .36); color: var(--text-2); letter-spacing: -.02em; }
.asm-face.none { color: var(--text-3); box-shadow: 0 0 0 2px var(--surface), 0 0 0 3.5px var(--line); }
.asm-conf { display: inline-flex; align-items: center; font-style: normal; font-size: 10.5px; font-weight: 600; padding: 2px 7px; border-radius: 7px; white-space: nowrap; background: var(--surface-3); color: var(--text-3); }
.asm-conf.ok { background: var(--ok-soft); color: var(--ok); }
.asm-conf.mid { background: var(--accent-soft); color: var(--accent-ink); }
.asm-conf.low { background: var(--warn-soft); color: var(--warn); }
.asm-chair { font-style: normal; font-size: 10.5px; font-weight: 600; padding: 2px 7px; border-radius: 7px; background: var(--primary); color: var(--on-primary); }
.asm-role { color: var(--accent-ink) !important; font-weight: 500; }
.asm-seg { display: inline-flex; padding: 3px; border-radius: 11px; background: var(--surface-3); gap: 2px; flex-wrap: wrap; }
.asm-seg button { border: 0; background: transparent; font: inherit; font-size: 12.5px; font-weight: 500; color: var(--text-2); padding: 5px 11px; border-radius: 8px; cursor: pointer; }
.asm-seg button.on { background: var(--surface); color: var(--text); box-shadow: var(--shadow); }
.asm-tool { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--line); background: var(--surface); color: var(--text-2); font: inherit; font-size: 12.5px; font-weight: 500; padding: 6px 10px; border-radius: 10px; cursor: pointer; transition: background .15s, color .15s, border-color .15s; }
.asm-tool:hover { color: var(--text); border-color: var(--text-3); }
.asm-tool.on { background: var(--accent-soft); border-color: color-mix(in srgb, var(--accent) 55%, transparent); color: var(--accent-ink); }
.asm-tool b { font-family: var(--font-mono); font-weight: 500; }
.asm-select { font: inherit; font-size: 13px; padding: 7px 10px; border-radius: 10px; border: 1px solid var(--line); background: var(--surface); color: var(--text); }
.asm-check { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--text-2); cursor: pointer; white-space: nowrap; }
.asm-filter { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 14px; }
.asm-search { display: inline-flex; align-items: center; gap: 8px; padding: 0 12px; height: 36px; border-radius: 11px; border: 1px solid var(--line); background: var(--surface-2); color: var(--text-3); min-width: 280px; }
.asm-search.grow { flex: 1; }
.asm-search input { border: 0; outline: 0; background: transparent; font: inherit; font-size: 13.5px; color: var(--text); flex: 1; min-width: 0; }
.asm-search:focus-within { box-shadow: var(--ring); border-color: var(--accent); }
.asm-legend { display: flex; gap: 14px; flex-wrap: wrap; font-size: 12px; color: var(--text-2); margin-bottom: 12px; }
.asm-legend span { display: inline-flex; align-items: center; gap: 6px; }
.asm-legend i { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }
.asm-legend i.hollow { border: 1.5px solid var(--text-3); }
.asm-count { font-size: 13px; color: var(--text-3); } .asm-count b { font-size: 22px; font-weight: 600; color: var(--text); margin-right: 4px; }
.asm-linkbtn { border: 0; background: none; font: inherit; font-size: 12.5px; color: var(--text-3); text-decoration: underline; text-underline-offset: 2px; cursor: pointer; padding: 0; }
.asm-linkbtn:hover { color: var(--text); }
.asm-bars { display: flex; flex-direction: column; gap: 7px; }
.asm-bar { display: grid; grid-template-columns: minmax(120px, 1.1fr) minmax(60px, 1fr) max-content; gap: 10px; align-items: center; font-size: 12.5px; padding: 2px 4px; border-radius: 8px; }
.asm-bar[data-href] { cursor: pointer; } .asm-bar[data-href]:hover { background: var(--surface-2); }
.asm-bar-l { display: flex; align-items: center; gap: 8px; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.asm-bar-l small { color: var(--text-3); }
.asm-bar-t { height: 8px; border-radius: 5px; background: var(--surface-3); overflow: hidden; } .asm-bar-t i { display: block; height: 100%; border-radius: 5px; }
.asm-bar b { font-weight: 500; font-variant-numeric: tabular-nums; color: var(--text-2); }

/* jobs */
.asm-job { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: 14px; background: var(--accent-soft); border: 1px solid color-mix(in srgb, var(--accent) 40%, transparent); }
.asm-job > div { flex: 1; min-width: 0; } .asm-job b { display: block; font-size: 13px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .asm-job small { font-size: 12px; color: var(--text-2); }
.asm-job-bar { width: 160px; height: 6px; border-radius: 4px; background: color-mix(in srgb, var(--accent) 22%, transparent); overflow: hidden; } .asm-job-bar i { display: block; height: 100%; background: var(--accent-strong); transition: width .4s; }
.asm .spin { animation: asmSpin 1.2s linear infinite; } @keyframes asmSpin { to { transform: rotate(360deg); } }

/* sittings */
.asm-table-wrap { overflow-x: auto; }
.asm-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.asm-table th { text-align: left; font-weight: 500; font-size: 12px; color: var(--text-3); padding: 8px 10px; border-bottom: 1px solid var(--line); white-space: nowrap; }
.asm-table td { padding: 10px; border-bottom: 1px solid var(--line-2); vertical-align: middle; }
.asm-table .r { text-align: right; font-variant-numeric: tabular-nums; }
.asm-table tbody tr { cursor: pointer; } .asm-table tbody tr:hover td:not(.asm-date) { background: var(--surface-2); }
.asm-date b { display: block; font-weight: 600; } .asm-date small, .asm-table td small { color: var(--text-3); font-size: 11.5px; }
.asm-split { display: flex; height: 10px; min-width: 160px; border-radius: 5px; overflow: hidden; background: var(--surface-3); } .asm-split i { display: block; }
.asm-paste { display: flex; gap: 8px; margin-bottom: 14px; } .asm-paste input { flex: 1; font: inherit; font-size: 13px; padding: 8px 12px; border-radius: 10px; border: 1px solid var(--line); background: var(--surface-2); color: var(--text); min-width: 0; }
.asm-found { display: flex; flex-direction: column; gap: 6px; max-height: 420px; overflow: auto; }
.asm-found-day { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 12.5px; } .asm-found-day > b { width: 150px; font-weight: 500; color: var(--text-2); }
.asm-found-v { border: 1px solid var(--line); background: var(--surface); color: var(--text-2); font: inherit; font-size: 12px; padding: 4px 10px; border-radius: 9px; cursor: pointer; } .asm-found-v:hover { border-color: var(--accent); color: var(--accent-ink); background: var(--accent-soft); }

/* members */
.asm-seatbar { display: flex; gap: 4px; margin-bottom: 16px; }
.asm-seat-p { display: flex; flex-direction: column; align-items: flex-start; gap: 1px; min-width: 44px; padding: 8px 10px; border-radius: 11px; border: 1px solid color-mix(in srgb, var(--pc, var(--neu)) 45%, transparent); background: color-mix(in srgb, var(--pc, var(--neu)) 14%, var(--surface)); color: var(--text); font: inherit; cursor: pointer; overflow: hidden; }
.asm-seat-p b { font-size: 18px; font-weight: 600; line-height: 1; } .asm-seat-p span { font-size: 11px; color: var(--text-2); white-space: nowrap; }
.asm-seat-p.on { box-shadow: inset 0 0 0 2px var(--pc); } .asm-seat-p.vacant { cursor: default; border-style: dashed; }
.asm-members { display: grid; grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)); gap: 8px; }
.asm-member { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 13px; border: 1px solid var(--line-2); transition: border-color .15s, transform .15s, box-shadow .15s; min-width: 0; }
.asm-member:hover { border-color: var(--line); box-shadow: var(--shadow-md); transform: translateY(-1px); }
.asm-member-b { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; } .asm-member-b b { font-size: 13.5px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .asm-member-b small { font-size: 11.5px; color: var(--text-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.asm-member-n { display: flex; gap: 12px; } .asm-member-n span { display: flex; flex-direction: column; align-items: flex-end; } .asm-member-n small { font-size: 10.5px; color: var(--text-3); } .asm-member-n b { font-size: 12.5px; font-weight: 500; font-variant-numeric: tabular-nums; white-space: nowrap; }
.asm-mhero { display: flex; gap: 22px; align-items: center; flex-wrap: wrap; background: linear-gradient(120deg, color-mix(in srgb, var(--pc) 12%, var(--surface)), var(--surface) 55%); }
.asm-mhero > div:nth-child(2) { flex: 1 1 320px; min-width: 0; } .asm-mhero h1 { margin: 4px 0; font-size: 30px; font-weight: 600; letter-spacing: -.02em; } .asm-mhero p { margin: 3px 0; font-size: 13.5px; color: var(--text-2); }
.asm-port { font-size: 12.5px !important; color: var(--text-3) !important; } .asm-note { display: flex; gap: 6px; align-items: flex-start; font-size: 12px !important; color: var(--text-3) !important; }
.asm-kpis, .asm-house { display: flex; gap: 22px; flex-wrap: wrap; } .asm-kpis span, .asm-house span { display: flex; flex-direction: column; } .asm-kpis b { font-size: 24px; font-weight: 500; letter-spacing: -.02em; } .asm-kpis small, .asm-house small { font-size: 11.5px; color: var(--text-3); }
.asm-house { margin: 12px 0; } .asm-house b { font-size: 18px; font-weight: 500; }
.asm-day { margin-top: 14px; } .asm-day > b { display: block; font-size: 12.5px; font-weight: 600; color: var(--text-2); margin-bottom: 4px; }
.asm-turn { display: grid; grid-template-columns: 64px 1fr max-content; gap: 12px; align-items: start; padding: 9px 8px; border-radius: 10px; border-bottom: 1px solid var(--line-2); font-size: 13.5px; }
.asm-turn:hover { background: var(--surface-2); }
.asm-t { font-family: var(--font-mono); font-size: 11.5px; color: var(--text-3); padding-top: 3px; white-space: nowrap; }
.asm-turn-b { min-width: 0; display: flex; flex-direction: column; gap: 2px; } .asm-turn-b small { color: var(--text-2); font-size: 12.5px; } .asm-turn mark { background: color-mix(in srgb, var(--accent) 35%, transparent); color: inherit; border-radius: 3px; padding: 0 1px; }
.asm-turn-m { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; color: var(--text-3); white-space: nowrap; }

.asm-facts { color: var(--text-2) !important; } .asm-facts i.c { font-style: normal; color: var(--neg-ink); }
.asm-kpis.tight { gap: 26px; margin-bottom: 8px; } .asm-kpis.tight b { font-size: 21px; }
.asm-charges { display: flex; flex-direction: column; gap: 4px; max-height: 300px; overflow: auto; } .asm-charges > div { display: grid; grid-template-columns: 28px 1fr max-content; gap: 10px; align-items: baseline; font-size: 12.5px; padding: 5px 6px; border-radius: 8px; } .asm-charges > div:nth-child(odd) { background: var(--surface-2); } .asm-charges b { text-align: right; font-weight: 600; } .asm-charges small { color: var(--text-3); font-family: var(--font-mono); font-size: 11px; }
.asm-wins { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; } .asm-wins > span { display: flex; flex-direction: column; gap: 1px; padding: 8px 12px; border-radius: 12px; border: 1px solid var(--line); background: var(--surface-2); min-width: 86px; } .asm-wins b { font-size: 16px; font-weight: 600; } .asm-wins b i { font-style: normal; font-size: 10px; font-weight: 500; margin-left: 4px; padding: 1px 5px; border-radius: 6px; background: var(--accent-soft); color: var(--accent-ink); } .asm-wins small { font-size: 11.5px; color: var(--accent-ink); font-weight: 500; } .asm-wins em { font-style: normal; font-size: 11px; color: var(--text-3); }
.asm-stories { display: flex; flex-direction: column; } .asm-story { display: grid; grid-template-columns: 56px 1fr max-content; gap: 12px; align-items: start; padding: 9px 6px; border-bottom: 1px solid var(--line-2); font-size: 13.5px; border-radius: 8px; } a.asm-story:hover, .asm-story a:hover { color: var(--accent-ink); } .asm-story small { color: var(--text-3); font-size: 11.5px; }
.asm-story-m { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 3px; } .asm-story-m a { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--text-2); }
.asm-cats { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 10px; }
.asm-cat { display: inline-flex; align-items: center; font: inherit; font-style: normal; font-size: 11px; font-weight: 600; padding: 3px 9px; border-radius: 8px; border: 1px solid transparent; background: var(--surface-3); color: var(--text-2); white-space: nowrap; } button.asm-cat { cursor: pointer; } .asm-cat.on { border-color: var(--text); color: var(--text); }
.asm-cat.k-case { background: color-mix(in srgb, var(--neg) 28%, var(--surface)); color: var(--neg-ink); } .asm-cat.k-works { background: color-mix(in srgb, var(--pos) 28%, var(--surface)); color: var(--pos-ink); } .asm-cat.k-party { background: var(--accent-soft); color: var(--accent-ink); } .asm-cat.k-house { background: var(--primary-soft); color: var(--text); }
.asm-issue { padding: 10px 0; border-bottom: 1px solid var(--line-2); display: flex; flex-direction: column; gap: 4px; } .asm-issue > div { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; } .asm-issue b { font-size: 13.5px; font-weight: 600; } .asm-issue small { color: var(--text-3); font-size: 11.5px; } .asm-issue a { font-size: 13px; color: var(--text-2); } .asm-issue a:hover { color: var(--accent-ink); }
.asm-ask { display: block; font-size: 13px; padding: 6px 0; color: var(--text-2); border-bottom: 1px solid var(--line-2); } .asm-ask small { color: var(--text-3); }

.asm-socs { display: flex !important; gap: 6px; flex-wrap: wrap; margin-top: 6px !important; } .asm-socs.sm { margin-top: 3px !important; }
.asm-soc { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; font-weight: 500; padding: 2px 8px; border-radius: 8px; border: 1px solid var(--line); background: var(--surface); color: var(--text-2); white-space: nowrap; } .asm-soc:hover { border-color: var(--accent); color: var(--accent-ink); } .asm-soc.unsure { border-style: dashed; } .asm-soc i { font-style: normal; font-weight: 700; color: var(--warn); }
.asm-contests { display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px; } .asm-contests > div { display: grid; grid-template-columns: 74px 1fr 130px 130px; gap: 12px; align-items: center; padding: 8px 12px; border-radius: 11px; border-left: 3px solid var(--pos); background: var(--surface-2); } .asm-contests > div.lost { border-left-color: var(--neg); }
.asm-contests b { font-size: 15px; font-weight: 600; } .asm-contests b i { font-style: normal; font-size: 10px; margin-left: 4px; padding: 1px 5px; border-radius: 6px; background: var(--accent-soft); color: var(--accent-ink); } .asm-contests span { display: flex; flex-direction: column; } .asm-contests em { font-style: normal; font-weight: 600; font-size: 13px; color: var(--pos-ink); } .asm-contests .lost em { color: var(--neg-ink); } .asm-contests small { font-size: 11.5px; color: var(--text-3); } .asm-contests .n { align-items: flex-end; } .asm-contests .n b { font-size: 13px; font-weight: 500; font-variant-numeric: tabular-nums; }
.asm-socq { display: flex; flex-direction: column; gap: 4px; } .asm-socq > div { display: grid; grid-template-columns: 34px minmax(140px, 1.2fr) max-content minmax(0, 2fr) max-content max-content; gap: 10px; align-items: center; padding: 7px 8px; border-radius: 10px; } .asm-socq > div:nth-child(odd) { background: var(--surface-2); } .asm-socq span { display: flex; flex-direction: column; min-width: 0; } .asm-socq b { font-size: 13px; font-weight: 500; } .asm-socq small { font-size: 11.5px; color: var(--text-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.asm-soctable { display: flex; flex-direction: column; } .asm-soctable > div { display: grid; grid-template-columns: minmax(220px, 1fr) 2fr max-content; gap: 12px; align-items: center; padding: 7px 6px; border-bottom: 1px solid var(--line-2); } .asm-soctable a:first-child { display: flex; align-items: center; gap: 10px; min-width: 0; } .asm-soctable a:first-child span { display: flex; flex-direction: column; min-width: 0; } .asm-soctable b { font-size: 13px; font-weight: 500; } .asm-soctable small { font-size: 11.5px; color: var(--text-3); } .asm-soctable .asm-socs { margin-top: 0 !important; }

/* insights */
.asm-kpi-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; }
.asm-kpi { display: flex; flex-direction: column; gap: 2px; } .asm-kpi b { font-size: 34px; font-weight: 400; letter-spacing: -.03em; line-height: 1.1; } .asm-kpi span { font-size: 13px; font-weight: 500; } .asm-kpi small { font-size: 12px; color: var(--text-3); }
.asm-two { display: grid; grid-template-columns: repeat(auto-fit, minmax(380px, 1fr)); gap: 16px; }
.asm-vs { display: flex; flex-direction: column; gap: 10px; }
.asm-vs-row { display: grid; grid-template-columns: 70px 1fr 110px 140px; gap: 12px; align-items: center; font-size: 12.5px; } .asm-vs-row > div { display: flex; flex-direction: column; gap: 3px; } .asm-vs-row i { display: block; border-radius: 4px; min-width: 2px; } .asm-vs-row i.thin { height: 4px; opacity: .55; } .asm-vs-row i.thick { height: 12px; } .asm-vs-row small { color: var(--text-3); } .asm-vs-row b { font-weight: 600; }
.asm-cols { display: flex; align-items: flex-end; gap: 6px; height: 200px; overflow-x: auto; padding-bottom: 2px; }
.asm-col { display: flex; flex-direction: column; align-items: center; gap: 6px; flex: 1 0 34px; max-width: 64px; height: 100%; } .asm-col span { flex: 1; width: 100%; display: flex; flex-direction: column-reverse; border-radius: 6px 6px 2px 2px; overflow: hidden; background: var(--surface-2); } .asm-col i { display: block; width: 100%; } .asm-col small { font-size: 10.5px; color: var(--text-3); white-space: nowrap; } .asm-col:hover span { outline: 2px solid var(--accent); }

.asm-vs-row.sub { grid-template-columns: minmax(150px, 220px) 1fr 80px 190px; } .asm-vs-row.sub > span:first-child { display: flex; align-items: center; gap: 8px; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.asm-sub-h { display: block; font-size: 12.5px; font-weight: 600; color: var(--text-2); margin-bottom: 8px; }

/* how this works */
.asm-step { display: flex; gap: 16px; align-items: flex-start; } .asm-step h3 { margin: 2px 0 6px; font-size: 16px; font-weight: 600; } .asm-step p { margin: 0 0 8px; font-size: 13.5px; line-height: 1.6; color: var(--text-2); max-width: 96ch; } .asm-step p:last-child { margin-bottom: 0; }
.asm-step-n { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--primary); color: var(--on-primary); font-weight: 600; flex: none; }
.asm-care { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 8px; font-size: 13.5px; line-height: 1.55; color: var(--text-2); max-width: 100ch; }

/* watch */
.asm-watch { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 16px; align-items: start; }
.asm-watch-main, .asm-watch-side { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.asm-player { position: relative; aspect-ratio: 16 / 9; border-radius: 16px; overflow: hidden; background: #000; box-shadow: var(--shadow-md); }
.asm-player iframe, .asm-player #asm-yt { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.asm-tags { position: absolute; inset: 0; pointer-events: none; }
.asm-tag { position: absolute; transform: translate(-50%, calc(-100% - 6px)); max-width: 46%; padding: 3px 9px 3px 8px; border-radius: 8px; font-size: 12px; font-weight: 600; line-height: 1.25; color: #fff; background: rgba(15, 17, 21, .78); border-left: 3px solid var(--pc); backdrop-filter: blur(6px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; pointer-events: auto; box-shadow: 0 2px 8px rgba(0, 0, 0, .35); animation: asmTag .25s var(--ease) both; }
@keyframes asmTag { from { opacity: 0; transform: translate(-50%, calc(-100% - 1px)); } }
.asm-tools { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.asm-react { display: inline-flex; gap: 4px; } .asm-react .asm-tool { padding: 6px 8px; }
.asm-line { position: relative; height: 46px; cursor: pointer; user-select: none; }
.asm-line-turns { position: absolute; left: 0; right: 0; top: 8px; height: 16px; border-radius: 5px; background: var(--surface-3); overflow: hidden; } .asm-line-turns i { position: absolute; top: 0; bottom: 0; min-width: 1px; }
.asm-line-pins { position: absolute; left: 0; right: 0; top: 0; height: 8px; } .asm-line-pins i { position: absolute; top: 0; width: 7px; height: 7px; margin-left: -3.5px; border-radius: 50%; background: var(--accent-strong); } .asm-line-pins i.k-disputed, .asm-line-pins i.k-conduct { background: var(--danger); } .asm-line-pins i.k-applause { background: var(--ok); }
.asm-line-head { position: absolute; top: 3px; width: 2px; height: 26px; margin-left: -1px; background: var(--text); border-radius: 2px; pointer-events: none; transition: left .3s linear; }
.asm-line-ticks { position: absolute; left: 0; right: 0; top: 28px; height: 16px; } .asm-line-ticks span { position: absolute; font-size: 10.5px; color: var(--text-3); font-family: var(--font-mono); transform: translateX(-2px); white-space: nowrap; }
.asm-script { padding: 0; overflow: hidden; }
.asm-script-h { display: flex; gap: 12px; align-items: center; padding: 14px 18px; border-bottom: 1px solid var(--line-2); } .asm-script-h > div { flex: 1; min-width: 0; } .asm-script-h h3 { margin: 0; font-size: 15px; font-weight: 600; } .asm-script-h p { margin: 2px 0 0; font-size: 12px; color: var(--text-3); }
.asm-lines { max-height: 560px; overflow-y: auto; padding: 6px 10px 14px; position: relative; scroll-behavior: auto; }
.asm-lines[data-lang="kn"] .asm-en { display: none; }
.asm-who { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 10px 8px 6px; margin-top: 6px; background: linear-gradient(var(--surface) 78%, transparent); font-size: 13px; }
.asm-who a { display: inline-flex; align-items: center; gap: 8px; } .asm-who b { font-weight: 600; } .asm-who small { color: var(--text-3); font-size: 12px; } .asm-who .asm-conf { margin-left: auto; }
.asm-unk { color: var(--text-3); font-weight: 500 !important; } .asm-fix { font-size: 12px; color: var(--accent-ink); text-decoration: underline; text-underline-offset: 2px; margin-left: auto; }
.asm-l { display: grid; grid-template-columns: 54px 1fr; gap: 10px; margin: 0; padding: 5px 8px; border-radius: 9px; font-size: 14px; cursor: pointer; border-left: 2px solid transparent; }
.asm-l:hover { background: var(--surface-2); } .asm-l.on { background: var(--accent-soft); border-left-color: var(--accent); } .asm-l.noise { color: var(--text-3); font-size: 12.5px; font-style: italic; }
.asm-l > span:last-child { display: flex; flex-direction: column; gap: 1px; min-width: 0; } .asm-en { font-size: 12.5px; color: var(--text-2); }
.asm-more { display: flex; align-items: center; gap: 6px; margin: 8px auto; border: 1px solid var(--line); background: var(--surface); color: var(--text-2); font: inherit; font-size: 12px; padding: 5px 12px; border-radius: 9px; cursor: pointer; }
.asm-mini-h { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-bottom: 12px; } .asm-mini-h b { font-size: 13px; font-weight: 600; } .asm-mini-h small { font-size: 11.5px; color: var(--text-3); font-family: var(--font-mono); }
.asm-nowcard { background: linear-gradient(160deg, var(--accent-soft), var(--surface) 60%); }
.asm-now-m { display: flex; gap: 14px; align-items: center; } .asm-now-m h3 { margin: 0; font-size: 18px; font-weight: 600; letter-spacing: -.01em; line-height: 1.2; } .asm-now-m p { margin: 3px 0 0; font-size: 12.5px; color: var(--text-2); }
.asm-now-f { display: flex; align-items: center; gap: 8px; margin-top: 12px; flex-wrap: wrap; } .asm-now-f small { font-size: 11.5px; color: var(--text-3); }
.asm-now-none { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; } .asm-now-none p { margin: 0; font-size: 12.5px; color: var(--text-3); line-height: 1.5; }
.asm-oncam { display: flex; flex-direction: column; gap: 8px; min-height: 40px; } .asm-oncam a { display: flex; align-items: center; gap: 10px; } .asm-oncam span { display: flex; flex-direction: column; min-width: 0; } .asm-oncam b { font-size: 13px; font-weight: 500; } .asm-oncam small { font-size: 11px; color: var(--text-3); }
.asm-mark { display: flex; gap: 10px; align-items: flex-start; width: 100%; text-align: left; border: 0; background: transparent; color: var(--text-2); font: inherit; padding: 7px 6px; border-radius: 9px; cursor: pointer; } .asm-mark:hover { background: var(--surface-2); } .asm-mark span { display: flex; flex-direction: column; } .asm-mark b { font-size: 12.5px; font-weight: 500; color: var(--text); } .asm-mark small { font-size: 12px; color: var(--text-3); } .asm-mark.k-disputed .ic, .asm-mark.k-conduct .ic { color: var(--danger); } .asm-mark.k-applause .ic { color: var(--ok); }
.asm-pick-ov { position: fixed; inset: 0; z-index: 400; display: grid; place-items: center; background: rgba(10, 12, 16, .45); backdrop-filter: blur(4px); }
.asm-pick { width: min(440px, 92vw); max-height: 78vh; display: flex; flex-direction: column; gap: 10px; padding: 18px; border-radius: 16px; background: var(--surface); box-shadow: var(--shadow-lg); } .asm-pick h3 { margin: 0; font-size: 16px; font-weight: 600; } .asm-pick input { font: inherit; padding: 9px 12px; border-radius: 10px; border: 1px solid var(--line); background: var(--surface-2); color: var(--text); }
.asm-pick-l { overflow-y: auto; display: flex; flex-direction: column; gap: 2px; min-height: 60px; } .asm-pick-l button { display: flex; align-items: center; gap: 10px; text-align: left; border: 0; background: transparent; color: var(--text); font: inherit; padding: 7px 8px; border-radius: 10px; cursor: pointer; } .asm-pick-l button:hover { background: var(--surface-2); } .asm-pick-l span { display: flex; flex-direction: column; } .asm-pick-l b { font-size: 13.5px; font-weight: 500; } .asm-pick-l small { font-size: 11.5px; color: var(--text-3); }

/* verify, faces, claims */
.asm-verify { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, 1fr); gap: 16px; align-items: start; }
.asm-verify-v { aspect-ratio: 16 / 9; border-radius: 16px; overflow: hidden; background: #000; } .asm-verify-v iframe { width: 100%; height: 100%; border: 0; }
.asm-verify-c { display: flex; flex-direction: column; gap: 14px; border-top: 3px solid var(--pc); }
.asm-verify-q { display: flex; align-items: center; gap: 14px; } .asm-verify-q > span:first-child { font-size: 13px; color: var(--text-3); } .asm-verify-q h2 { margin: 0; font-size: 22px; font-weight: 600; letter-spacing: -.02em; } .asm-verify-q p { margin: 4px 0 0; font-size: 12.5px; color: var(--text-2); }
.asm-why { display: flex; gap: 6px; align-items: flex-start; margin: 0; font-size: 12.5px; color: var(--text-3); line-height: 1.45; } .asm-said { margin: 0; font-size: 14px; color: var(--text-2); padding: 10px 12px; border-radius: 10px; background: var(--surface-2); }
.asm-verify-b { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; } .asm-verify-b .btn { justify-content: center; padding: 12px; font-size: 14px; } .asm-b-right { background: var(--ok-soft) !important; color: var(--ok) !important; border-color: color-mix(in srgb, var(--ok) 40%, transparent) !important; } .asm-b-wrong { background: var(--danger-soft, var(--warn-soft)) !important; color: var(--danger) !important; border-color: color-mix(in srgb, var(--danger) 40%, transparent) !important; }
.asm-verify-f { display: flex; gap: 16px; flex-wrap: wrap; } .asm-keys { font-size: 11.5px; color: var(--text-3); }
.asm-fq { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 10px; }
.asm-fqc { display: flex; gap: 12px; padding: 10px; border-radius: 14px; border: 1px solid var(--line-2); min-width: 0; } .asm-fqc.done { opacity: .5; }
.asm-fq-img { width: 112px; height: 112px; border-radius: 12px; overflow: hidden; flex: none; background: var(--surface-3); } .asm-fq-img img { width: 100%; height: 100%; object-fit: cover; }
.asm-fq-b { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 8px; } .asm-fq-b > small { font-size: 11.5px; color: var(--text-3); } .asm-fq-a { display: flex; gap: 6px; flex-wrap: wrap; } .asm-fq-a em { font-size: 12px; color: var(--ok); font-style: normal; font-weight: 500; }
.asm-fq-near { display: flex; gap: 6px; } .asm-fq-near button { display: flex; flex-direction: column; align-items: center; gap: 4px; border: 1px solid var(--line-2); background: var(--surface); color: var(--text); font: inherit; padding: 6px 8px; border-radius: 10px; cursor: pointer; min-width: 62px; } .asm-fq-near button:hover { border-color: var(--accent); background: var(--accent-soft); } .asm-fq-near span { font-size: 11px; display: flex; flex-direction: column; align-items: center; max-width: 72px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .asm-fq-near small { font-size: 10px; color: var(--text-3); }
.asm-missing { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 6px; max-height: 360px; overflow: auto; }
.asm-miss { display: flex; align-items: center; gap: 10px; padding: 6px 10px; border-radius: 10px; border: 1px dashed var(--line); cursor: pointer; color: var(--text-3); } .asm-miss:hover { border-color: var(--accent); color: var(--accent-ink); } .asm-miss span { flex: 1; min-width: 0; display: flex; flex-direction: column; } .asm-miss b { font-size: 12.5px; font-weight: 500; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .asm-miss small { font-size: 11px; }
.asm-labels { display: flex; gap: 6px; flex-wrap: wrap; } .asm-labels > span { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; padding: 4px 6px 4px 8px; border-radius: 9px; background: var(--surface-2); } .asm-labels small { color: var(--text-3); } .asm-labels button { border: 0; background: none; color: var(--text-3); cursor: pointer; display: grid; place-items: center; }
.asm-claim { padding: 14px 4px; border-bottom: 1px solid var(--line-2); display: flex; flex-direction: column; gap: 8px; } .asm-claim:last-child { border-bottom: 0; } .asm-claim p { margin: 0; font-size: 14px; line-height: 1.55; }
.asm-claim-h { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 13px; } .asm-claim-h a { display: inline-flex; align-items: center; gap: 4px; font-family: var(--font-mono); font-size: 12px; color: var(--accent-ink); } .asm-claim-h .asm-conf { margin-left: auto; }
.asm-claim-n { color: var(--text-2); font-size: 13px !important; } .asm-claim-s { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: var(--accent-ink); } .asm-claim-a { display: flex; align-items: center; gap: 10px; } .asm-claim-a small { font-size: 11.5px; color: var(--text-3); }

.asm-tc { display: flex; flex-direction: column; gap: 14px; } .asm-tc > div { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; } .asm-tc span { display: flex; flex-direction: column; min-width: 200px; } .asm-tc b { font-size: 14px; font-weight: 600; } .asm-tc small { font-size: 12px; color: var(--text-3); } .asm-tc > div > div { display: flex; gap: 8px; } .asm-tc button { width: 96px; height: 96px; padding: 0; border-radius: 12px; overflow: hidden; border: 2px solid var(--line); background: var(--surface-3); cursor: pointer; } .asm-tc button:hover { border-color: var(--accent); } .asm-tc img { width: 100%; height: 100%; object-fit: cover; }

.asm-checks { list-style: none; margin: 4px 0 10px; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: var(--text-2); } .asm-checks li { display: flex; align-items: center; gap: 8px; } .asm-checks li.is-off { color: var(--neg-ink); } .asm-checks img { width: 40px; height: 40px; border-radius: 8px; object-fit: cover; flex: none; } .asm-checks-pic { align-items: flex-end !important; } .asm-checks .asm-checks-pic img { width: 96px; height: 116px; border-radius: 12px; object-position: top; } .asm-checks-pic span { font-size: 12px; color: var(--text-3); }

/* chamber */
.asm-chamber { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 16px; align-items: start; }
.asm-chamber-stage { padding: 14px; } .asm-chamber-bar { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 10px; }
.asm-stage { position: relative; height: min(68vh, 720px); min-height: 420px; border-radius: 14px; overflow: hidden; background: radial-gradient(ellipse at 50% 30%, color-mix(in srgb, var(--accent) 9%, var(--surface-2)), var(--surface-2) 70%); }
.asm-gl { width: 100%; height: 100%; display: block; cursor: grab; touch-action: none; } .asm-gl:active { cursor: grabbing; }
.asm-gl-tip { position: absolute; z-index: 2; pointer-events: none; padding: 6px 10px; border-radius: 9px; background: var(--primary); color: var(--on-primary); font-size: 12px; display: flex; flex-direction: column; gap: 1px; max-width: 260px; box-shadow: var(--shadow-md); } .asm-gl-tip small { opacity: .75; font-size: 11px; }
.asm-plan { width: 100%; height: 100%; } .asm-plan circle { cursor: pointer; stroke: var(--surface); stroke-width: .07; transition: r .15s; } .asm-plan circle:hover { r: .62; } .asm-plan circle.vacant { fill: transparent; stroke: var(--text-3); stroke-width: .06; stroke-dasharray: .16 .12; } .asm-plan circle.on { stroke: var(--text); stroke-width: .16; r: .66; }
.asm-plan .dais { fill: color-mix(in srgb, var(--accent) 30%, var(--surface-3)); } .asm-plan .table { fill: var(--surface-3); } .asm-plan .lbl { font-size: .62px; fill: var(--text-3); text-anchor: middle; font-family: var(--font); } .asm-plan .lbl.side { text-anchor: start; font-size: .7px; } .asm-plan .lbl.end { text-anchor: end; }
.asm-seatcard { position: sticky; top: 12px; display: flex; flex-direction: column; gap: 4px; }

@media (max-width: 1180px) { .asm-watch, .asm-chamber, .asm-verify { grid-template-columns: 1fr; } .asm-seatcard { position: static; } .asm-vs-row { grid-template-columns: 60px 1fr 90px; } .asm-vs-row b { grid-column: 2 / -1; } }
@media (max-width: 700px) { .asm { padding: 14px 12px 40px; } .asm-top h1 { font-size: 22px; } .asm-members { grid-template-columns: 1fr; } .asm-member-n { display: none; } .asm-turn { grid-template-columns: 52px 1fr; } .asm-turn-m { grid-column: 2; } .asm-search { min-width: 0; flex: 1; } }
@media (prefers-reduced-motion: reduce) { .asm-tag, .asm .spin { animation: none; } .asm-line-head { transition: none; } }

/* Watch: the lower third on the video (who has the floor, a warning, the words in both languages), 14 Oct 2026. The
   video is always dark, so these use a dark glass like the name tags rather than the page's tokens. */
.asm-ov { position: absolute; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 0 4% 3.5%; pointer-events: none; }
.asm-ov[hidden] { display: none; }
.asm-ov-who { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.asm-ov-card { display: flex; align-items: center; gap: 10px; padding: 6px 8px 6px 6px; border-radius: 12px; background: rgba(15, 17, 21, .78); backdrop-filter: blur(6px); color: #fff; border-left: 4px solid var(--pc, #888); pointer-events: auto; max-width: 100%; }
.asm-ov-card b { display: block; font-size: 15px; font-weight: 650; line-height: 1.2; }
.asm-ov-card small { display: block; font-size: 10.5px; letter-spacing: .02em; color: rgba(255, 255, 255, .78); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 42ch; }
.asm-ov-card .asm-conf { background: rgba(255, 255, 255, .14); color: #fff; }
.asm-ov-btn { display: inline-flex; align-items: center; gap: 5px; padding: 4px 9px; border: 0; border-radius: 8px; background: rgba(255, 255, 255, .92); color: #111; font: 600 11.5px/1 var(--font); cursor: pointer; }
.asm-ov-warn { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 8px; background: rgba(250, 204, 21, .92); color: #1f1a00; font-size: 11.5px; font-weight: 500; }
.asm-ov-sub { display: flex; flex-direction: column; align-items: center; gap: 2px; max-width: 92%; text-align: center; }
.asm-ov-sub span { padding: 2px 10px; border-radius: 6px; background: rgba(0, 0, 0, .72); color: #fff; font-size: clamp(12px, 1.5vw, 17px); line-height: 1.35; }
.asm-ov-sub .asm-ov-en { font-size: clamp(11px, 1.25vw, 14.5px); color: #f4f4f5; }
@media (max-width: 700px) { .asm-ov-card small, .asm-ov-btn { display: none; } }

/* Watch: what the speech is, under "Has the floor". */
.asm-sp { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--border); display: flex; flex-direction: column; gap: 8px; }
.asm-sp-area { font-size: 13px; font-weight: 600; color: var(--text); } .asm-sp-area span { color: var(--text-3); margin: 0 2px; }
.asm-sp-acts, .asm-sp-foot, .asm-sp-tags { display: flex; flex-wrap: wrap; gap: 5px; margin: 0; }
.asm-act, .asm-flag, .asm-q, .asm-sp-tags span { display: inline-flex; align-items: center; gap: 4px; padding: 3px 8px; border-radius: 999px; font-size: 11.5px; background: var(--surface-2); color: var(--text-2); border: 1px solid var(--border); }
.asm-act.k-felicitation, .asm-act.k-maiden_thanks, .asm-flag.k-praises_leader { background: color-mix(in srgb, var(--accent) 16%, var(--surface)); border-color: color-mix(in srgb, var(--accent) 35%, var(--border)); color: var(--accent-ink); }
.asm-act.k-demand_constituency, .asm-act.k-demand_policy, .asm-act.k-calling_attention, .asm-flag.k-constituency_issue, .asm-flag.k-concrete_ask { background: color-mix(in srgb, var(--pos) 26%, var(--surface)); color: var(--pos-ink); border-color: color-mix(in srgb, var(--pos) 45%, var(--border)); }
.asm-act.k-attack_rival, .asm-act.k-criticism, .asm-flag.k-personal_attack { background: color-mix(in srgb, var(--neg) 24%, var(--surface)); color: var(--neg-ink); border-color: color-mix(in srgb, var(--neg) 45%, var(--border)); }
.asm-act.biz { background: transparent; border-style: dashed; }
.asm-q { margin-left: auto; font-weight: 600; color: var(--text); }
.asm-sp h4 { margin: 2px 0 0; font-size: 15px; font-weight: 600; line-height: 1.35; letter-spacing: -.005em; }
.asm-sp > p { margin: 0; font-size: 13px; line-height: 1.5; color: var(--text-2); }
.asm-sp h5 { margin: 6px 0 0; font-size: 11.5px; font-weight: 600; color: var(--text-3); letter-spacing: .02em; }
.asm-sp-pts { margin: 0; padding-left: 18px; font-size: 13px; line-height: 1.5; color: var(--text-2); }
.asm-sp-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.asm-sp-list li { position: relative; padding-left: 14px; font-size: 13px; line-height: 1.4; }
.asm-sp-list li::before { content: ''; position: absolute; left: 0; top: .5em; width: 7px; height: 7px; border-radius: 50%; background: var(--accent); }
.asm-sp-list.com li::before { border-radius: 2px; background: var(--pos-ink); }
.asm-sp-list small { display: block; font-size: 11px; color: var(--text-3); }
.asm-sp blockquote { margin: 2px 0; padding: 6px 10px; border-left: 3px solid var(--accent); background: var(--surface-2); border-radius: 0 8px 8px 0; font-size: 13px; }
.asm-sp-src { font-size: 11px; color: var(--text-3); line-height: 1.4; }

/* A party's symbol beside its colour (owner, 14 Oct 2026), on a small white disc so dark symbols read in dark mode. */
.asm-plogo { display: inline-block; width: 14px; height: 14px; margin-right: 4px; vertical-align: -3px; border-radius: 50%; background: #fff; object-fit: contain; padding: 1px; box-shadow: 0 0 0 1px rgba(0, 0, 0, .08); }
.asm-tag .asm-plogo, .asm-ov-card .asm-plogo { width: 13px; height: 13px; margin-right: 5px; }

/* What was said, by category: Speeches, Topics, Asks & promises, Questions & answers, Schemes, the member page. */
.asm-kstrip { display: flex; height: 12px; border-radius: 999px; overflow: hidden; gap: 2px; margin: 10px 0 8px; }
.asm-kstrip i { min-width: 3px; }
.asm-klegend { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 12px; color: var(--text-2); }
.asm-klegend i { display: inline-block; width: 9px; height: 9px; border-radius: 3px; margin-right: 5px; vertical-align: -1px; }
.asm-klegend b { color: var(--text); font-weight: 600; }
.asm-filters { display: flex; flex-direction: column; gap: 12px; }
.asm-kinds { display: flex; flex-wrap: wrap; gap: 6px; }
.asm-kinds button { padding: 6px 12px; border-radius: 999px; border: 1px solid var(--border); background: var(--surface); color: var(--text-2); font: 500 12.5px/1 var(--font); cursor: pointer; }
.asm-kinds button.on { background: var(--primary); color: var(--on-primary); border-color: var(--primary); }
.asm-sel { display: inline-flex; flex-direction: column; gap: 3px; font-size: 11px; color: var(--text-3); }
.asm-sel select { min-width: 150px; max-width: 220px; padding: 6px 8px; border-radius: 8px; border: 1px solid var(--border); background: var(--surface); color: var(--text); font: 13px var(--font); }
.asm-sum .asm-h { margin-bottom: 0; }
.asm-spcs, #asm-sp-list { display: flex; flex-direction: column; gap: 10px; }
.asm-spc { padding: 14px 16px; border-radius: 14px; background: var(--surface); border: 1px solid var(--border); display: flex; flex-direction: column; gap: 7px; }
.asm-spc-h { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.asm-spc-t { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: var(--accent-ink); text-decoration: none; white-space: nowrap; }
.asm-spc-area { font-size: 12px; color: var(--text-3); }
.asm-spc h4 { margin: 0; font-size: 15px; font-weight: 600; line-height: 1.35; }
.asm-spc p { margin: 0; font-size: 13px; line-height: 1.5; color: var(--text-2); }
.asm-mlink { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; color: inherit; min-width: 0; }
.asm-mlink b { display: block; font-size: 13px; font-weight: 600; } .asm-mlink small { display: block; font-size: 11px; color: var(--text-3); }
.asm-more-btn { display: block; margin: 12px auto 0; }
.asm-asks { display: flex; flex-direction: column; }
.asm-ask-r { padding: 12px 0; border-top: 1px solid var(--border); display: flex; flex-direction: column; gap: 7px; } .asm-ask-r:first-child { border-top: 0; }
.asm-ask-t b { display: block; font-size: 13.5px; font-weight: 500; line-height: 1.4; } .asm-ask-t small { display: block; font-size: 11.5px; color: var(--text-3); margin-top: 2px; }
.asm-ask-m { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.asm-ans { display: flex; flex-direction: column; gap: 6px; margin-left: 14px; padding-left: 12px; border-left: 2px solid color-mix(in srgb, var(--pos) 60%, var(--border)); }
.asm-ans > div { display: flex; gap: 6px; align-items: flex-start; font-size: 13px; } .asm-ans b { font-weight: 500; } .asm-ans small { display: block; font-size: 11px; color: var(--text-3); }
.asm-qa { display: flex; flex-direction: column; gap: 10px; }
.asm-qa-h { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; flex-wrap: wrap; } .asm-qa-h b { font-size: 15px; } .asm-qa-h small { font-size: 12px; color: var(--text-3); } .asm-qa-h a { color: inherit; text-decoration: none; }
.asm-qa-t { padding: 10px 12px; border-radius: 12px; background: var(--surface-2); display: flex; flex-direction: column; gap: 6px; }
.asm-qa-t.ans { background: color-mix(in srgb, var(--pos) 12%, var(--surface)); margin-left: 18px; }
.asm-qa-t h4 { margin: 0; font-size: 14px; font-weight: 600; } .asm-qa-t p { margin: 0; font-size: 13px; color: var(--text-2); line-height: 1.5; }
.asm-schemes, .asm-topics { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 14px; }
.asm-scheme, .asm-topic { display: flex; flex-direction: column; gap: 8px; }
.asm-rename { margin: 0; font-size: 12.5px; color: var(--text-2); display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.asm-scheme-l { display: flex; flex-direction: column; gap: 4px; } .asm-scheme-l a { font-size: 12.5px; color: var(--accent-ink); text-decoration: none; }
.asm-two.tight { gap: 18px; margin-top: 12px; }
@media (max-width: 700px) { .asm-sel select { min-width: 0; width: 100%; } .asm-sel { flex: 1 1 45%; } .asm-qa-t.ans { margin-left: 8px; } }

/* Members grid: the card is a box (not a link); the figures sit on their own row so names have room */
.asm-member { cursor: pointer; display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "face body" "nums nums"; align-items: center; column-gap: 12px; row-gap: 8px; }
.asm-member > :first-child { grid-area: face; }
.asm-member-b { grid-area: body; }
.asm-member-n { grid-area: nums; justify-content: space-between; padding-top: 8px; border-top: 1px solid var(--line-2); }
.asm-member-n span { align-items: flex-start; }
.asm-member:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
/* bars and colours that open the speeches behind them */
.asm-bar[data-mf], .asm-kstrip i[data-mf], .asm-klegend span[data-mf] { cursor: pointer; }
.asm-bar[data-mf]:hover .asm-bar-l, .asm-klegend span[data-mf]:hover { color: var(--accent-ink); text-decoration: underline; text-underline-offset: 3px; }
.asm-kstrip i[data-mf]:hover { filter: brightness(1.08) saturate(1.2); }
.asm-mf-hint { margin: 6px 0 2px; }
/* the side panel with a member's speeches */
.asm-drawer { position: fixed; inset: 0; z-index: 1000; background: rgba(15, 23, 42, .32); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); display: flex; justify-content: flex-end; }
.asm-drawer-p { width: min(640px, 100%); height: 100%; background: var(--surface); box-shadow: -18px 0 48px rgba(15, 23, 42, .22); display: flex; flex-direction: column; animation: asm-drawer-in .22s ease-out; }
@keyframes asm-drawer-in { from { transform: translateX(32px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .asm-drawer-p { animation: none; } }
.asm-drawer-p header { display: flex; justify-content: space-between; gap: 12px; padding: 18px 20px 14px; border-bottom: 1px solid var(--line); }
.asm-drawer-p header small { color: var(--text-3); font-size: 12px; }
.asm-drawer-p header h3 { margin: 2px 0 4px; font-size: 18px; }
.asm-drawer-p header p { margin: 0; color: var(--text-2); font-size: 12.5px; }
.asm-drawer-b { overflow-y: auto; padding: 14px 20px 28px; display: grid; gap: 12px; align-content: start; }
.asm-drawer-b .asm-sp-list { margin: -4px 0 4px; }
.asm-drawer-b .asm-sp-list li.h { font-size: 11.5px; color: var(--text-3); font-weight: 600; list-style: none; }
