:root {
  --ink: #172b3b;
  --muted: #627482;
  --paper: #f6f3eb;
  --panel: #fffdf8;
  --line: #cfdbe4;
  --green: #294f6c;
  --green-2: #356f98;
  --gold: #b6914c;
  --soft-green: #e5f1fa;
  --baby-blue: #8bc4ec;
  --baby-blue-deep: #6aaedc;
  --shadow: 0 14px 44px rgba(35, 70, 95, .09);
}
* { box-sizing: border-box; }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 1000; transform: translateY(-150%); border-radius: 7px; background: #fff; color: #10293b; padding: 11px 14px; font-weight: 800; box-shadow: 0 4px 14px rgba(0,0,0,.2); }
.skip-link:focus { transform: none; }
:focus-visible { outline: 3px solid #d39c2e; outline-offset: 3px; }
body { margin: 0; background: radial-gradient(circle at 78% 4%, rgba(139,196,236,.16), transparent 34%), var(--paper); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 246px 1fr; }
.sidebar { position: fixed; inset: 0 auto 0 0; width: 246px; background: linear-gradient(180deg, #294f6c 0%, #213f57 100%); color: #fff; padding: 28px 18px 22px; display: flex; flex-direction: column; z-index: 2; overflow-y: auto; box-shadow: 8px 0 28px rgba(35,70,95,.08); }
.brand { display: flex; justify-content: center; align-items: center; padding: 0 0 22px; border-bottom: 1px solid rgba(255,255,255,.12); }
.brand-home { width: 100%; border: 0; background: transparent; color: inherit; }
.brand-home:hover .brand-logo { transform: translateY(-1px); box-shadow: 0 11px 26px rgba(12,37,54,.34); }
.brand-home:active .brand-logo { transform: translateY(1px); box-shadow: 0 5px 14px rgba(12,37,54,.24); }
.brand-logo { display: block; width: min(180px, 100%); height: auto; border-radius: 7px; box-shadow: 0 8px 22px rgba(12,37,54,.28); }
.brand strong, .brand span { display: block; }
.brand strong { font-family: Georgia, serif; font-size: 17px; letter-spacing: .1px; }
.brand span { color: rgba(255,255,255,.57); font-size: 11px; margin-top: 3px; text-transform: uppercase; letter-spacing: .12em; }
.seal { width: 41px; height: 41px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; font-family: Georgia, serif; font-size: 14px; }
nav { padding-top: 26px; display: grid; gap: 7px; }
.mega-tabs { display: grid; gap: 6px; padding: 18px 0 2px; }
.mega-tab { border: 1px solid rgba(255,255,255,.14); border-radius: 8px; background: transparent; color: rgba(255,255,255,.65); padding: 10px 11px; text-align: left; font-size: 11px; font-weight: 750; letter-spacing: .02em; }
.mega-tab.active { background: #f8fbfd; border-color: #f8fbfd; color: var(--green); box-shadow: 0 3px 10px rgba(12,37,54,.16); }
.nav-group { display: grid; gap: 7px; }
.nav-group.hidden { display: none; }
.nav-divider { height: 1px; margin: 8px 10px; background: rgba(255,255,255,.16); }
.nav-item { width: 100%; border: 0; border-radius: 8px; background: transparent; color: rgba(255,255,255,.67); text-align: left; padding: 11px 10px; display: flex; gap: 9px; align-items: center; white-space: nowrap; font-size: 12px; }
.nav-item:hover, .nav-item.active { background: rgba(139,196,236,.2); color: #fff; }
.nav-item span { color: #d2bd87; flex: 0 0 18px; width: 18px; text-align: center; }
.nav-item-compact { font-size: 12px; gap: inherit; padding-left: 10px; padding-right: 10px; }
.nav-item-compact span { flex: 0 0 18px; width: 18px; }
.sidebar-disclosure { color: rgba(255,255,255,.72); }
.sidebar-disclosure summary { list-style: none; cursor: pointer; padding: 12px 10px; border-radius: 8px; display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700; }
.sidebar-disclosure summary::-webkit-details-marker { display: none; }
.sidebar-disclosure summary::after { content: "+"; margin-left: auto; color: #d2bd87; font-size: 16px; }
.sidebar-disclosure[open] summary::after { content: "−"; }
.sidebar-disclosure summary:hover { background: rgba(139,196,236,.2); color: #fff; }
.sidebar-disclosure summary > span { color: #d2bd87; flex: 0 0 18px; text-align: center; }
.sidebar-subnav { display: grid; padding: 3px 0 8px 25px; border-left: 1px solid rgba(255,255,255,.16); margin-left: 18px; }
.sidebar-subnav button { border: 0; border-radius: 6px; background: transparent; color: rgba(255,255,255,.7); padding: 7px 8px; text-align: left; font-size: 10.5px; line-height: 1.3; }
.sidebar-subnav button:hover, .sidebar-subnav button.active { color: #fff; background: rgba(139,196,236,.18); }
.persistent-settings { margin-top: 8px; border-top: 1px solid rgba(255,255,255,.13); border-radius: 0 0 8px 8px; }
.sidebar-foot { margin-top: auto; padding: 18px 8px 0; border-top: 1px solid rgba(255,255,255,.12); font-size: 11px; color: rgba(255,255,255,.55); }
.status-row { display: flex; gap: 8px; align-items: center; color: rgba(255,255,255,.8); }
.dot { width: 7px; height: 7px; border-radius: 50%; background: #d2a95f; box-shadow: 0 0 0 3px rgba(210,169,95,.13); }
.dot.ready { background: #79bd91; box-shadow: 0 0 0 3px rgba(121,189,145,.14); }
main { grid-column: 2; min-width: 0; }
.topbar { height: 76px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; padding: 0 42px; background: rgba(255,253,248,.84); backdrop-filter: blur(12px); }
.site-disclaimer { position: sticky; top: 0; z-index: 5; padding: 7px 28px; border-bottom: 1px solid #b9d5e5; background: rgba(229,244,252,.96); color: #405968; text-align: center; font-size: 10px; line-height: 1.42; box-shadow: 0 3px 12px rgba(35,70,95,.05); }
.site-disclaimer a { color: #215f88; font-weight: 800; }
.topbar .hidden { display: none; }
#ilga-context strong { font-family: Georgia, serif; font-weight: 500; }
.eyebrow { margin: 0 0 4px; color: var(--gold); font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.topbar select { border: 0; background: transparent; color: var(--ink); font-weight: 650; padding: 0 26px 0 0; }
.topbar-actions { display: flex; align-items: center; gap: 8px; }
.runtime-version { display: block; margin-top: 3px; color: var(--muted); font: 700 10px/1.2 var(--sans); letter-spacing: .08em; text-transform: uppercase; }
.view { display: none; padding: 42px 30px 70px; max-width: 1680px; margin: 0 auto; }
.view.active { display: block; }
.ilga-home-view { min-height: calc(100vh - 76px); padding-top: 20px; }
.ilga-home-heading { max-width: 880px; margin: 0 auto 14px; text-align: center; }
.ilga-home-heading h1 { font-size: clamp(48px, 7vw, 84px); line-height: .98; }
.ilga-home-logo { display: block; width: min(190px, 52vw); height: auto; margin: 0 auto; border-radius: 8px; box-shadow: 0 12px 32px rgba(35,70,95,.16); }
.ilga-home-heading > p:last-child { max-width: 630px; margin: 8px auto 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.ilga-home-options { width: min(1320px, 100%); margin: 0 auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ilga-home-option { min-height: 108px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); color: var(--ink); padding: 17px 19px; text-align: left; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; box-shadow: var(--shadow); transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.ilga-home-option:hover { transform: translateY(-3px); border-color: var(--baby-blue-deep); box-shadow: 0 20px 50px rgba(35,70,95,.14); }
.ilga-home-option-icon { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid #b8d6e9; border-radius: 50%; background: var(--soft-green); color: var(--green-2); font: 700 16px/1 Georgia, serif; box-shadow: inset 0 1px 0 rgba(255,255,255,.8); }
.ilga-home-option strong, .ilga-home-option small { display: block; }
.ilga-home-option strong { margin-bottom: 5px; font: 500 21px/1.15 Georgia, serif; }
.ilga-home-option small { color: var(--muted); font-size: 12px; line-height: 1.55; }
.ilga-home-arrow { color: var(--gold); font-size: 24px; }
.home-command-row { width: min(1580px, 100%); margin: 18px auto 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; align-items: stretch; }
.home-customize-intro { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 24px; border: 1px solid #b9d5e5; border-radius: 14px; background: linear-gradient(135deg,#294f6c,#356f98); color: #fff; box-shadow: var(--shadow); }
.home-customize-intro h1 { max-width: 470px; margin: 0; color: #fff; font: 600 clamp(25px,2.2vw,36px)/1.08 Georgia,serif; }
.home-customize-intro p:last-child { max-width: 470px; margin: 8px 0 0; color: rgba(255,255,255,.74); font-size: 12px; line-height: 1.5; }
.home-customize-intro .eyebrow { color: #e0c98e; }
.home-customize-button { flex: 0 0 auto; max-width: 180px; min-height: 50px; border-color: rgba(255,255,255,.5); background: #fff; color: var(--green-2); box-shadow: 0 5px 16px rgba(12,37,54,.22); }
.home-customize-button:hover { background: #edf7fc; }
.home-search { min-width: 0; display: grid; grid-template-columns: 1fr; gap: 14px; align-content: center; padding: 22px 24px; border: 1px solid #afcddd; border-radius: 14px; background: linear-gradient(125deg,#fdfcf8,#e7f3fa); box-shadow: var(--shadow); }
.home-search h1 { margin: 0; font: 600 clamp(27px,3vw,42px)/1.05 Georgia,serif; }
.home-search > div > p:last-child { margin: 8px 0 0; color: var(--muted); font-size: 12px; }
#unified-search-form { min-width: 0; }
.unified-search-controls { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.unified-search-controls input { min-width: 0; height: 52px; border: 2px solid #8dbbd5; border-radius: 10px; background: #fff; color: var(--ink); padding: 0 16px; font-size: 14px; box-shadow: inset 0 2px 5px rgba(35,70,95,.08); }
.unified-search-controls .primary-button { min-width: 110px; }
.search-examples { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; }
.search-examples button { border: 1px solid #bfd6e4; border-radius: 999px; background: rgba(255,255,255,.76); color: var(--green-2); padding: 6px 9px; font-size: 9px; font-weight: 800; }
.unified-search-results { border-top: 1px solid #c4d8e4; padding-top: 17px; }
.unified-search-results.hidden { display: none; }
.unified-search-summary { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.unified-search-summary > button { border: 0; background: transparent; color: var(--muted); font-size: 24px; }
.unified-search-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(230px,1fr)); gap: 12px; align-items: start; }
.unified-search-grid section { display: grid; gap: 6px; }
.unified-search-grid h2 { margin: 0 0 3px; color: var(--muted); font: 850 9px/1.2 var(--sans); letter-spacing: .11em; text-transform: uppercase; }
.unified-result { width: 100%; display: grid; gap: 3px; border: 1px solid #cadce7; border-radius: 8px; background: #fff; color: var(--ink); padding: 10px 11px; text-align: left; text-decoration: none; }
.unified-result:hover { border-color: var(--baby-blue-deep); background: #eef7fc; }
.unified-result strong { color: var(--green-2); font-size: 11px; }
.unified-result span { color: var(--muted); font-size: 9px; line-height: 1.35; }
.search-loading { padding: 16px; color: var(--muted); text-align: center; }
.home-module-grid { width: min(1580px,100%); margin: 14px auto 0; display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 14px; align-items: start; }
.home-module { grid-column: span 3; }
.home-module.home-module-compact { grid-column: span 3; }
.home-module.home-module-medium { grid-column: span 6; }
.home-module.home-module-wide { grid-column: span 9; }
.home-module.home-module-full { grid-column: 1 / -1; }
.home-module.hidden { display: none; }
.home-legislation, .home-committees, .home-members { min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); box-shadow: var(--shadow); }
.home-audio-video { min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); box-shadow: var(--shadow); }
.home-audio-video-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.home-audio-video-head h2 { margin: 0; font-size: 31px; }
.home-audio-video-actions { display: flex; align-items: center; gap: 10px; }
.home-audio-video-content { padding-top: 14px; }
.home-audio-video.collapsed { padding-block: 14px; }
.home-audio-video.collapsed .home-audio-video-content { display: none; }
#home-audio-video-expand { min-width: 112px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
#home-audio-video-expand span:last-child { color: var(--gold); font-size: 15px; line-height: 1; }
.home-audio-video-layout { display: grid; grid-template-columns: minmax(280px, .85fr) minmax(0, 1.65fr); gap: 14px; }
.home-audio-video-rooms { max-height: 520px; overflow: auto; display: grid; align-content: start; gap: 14px; }
.home-audio-video-rooms section h3 { margin: 0 0 7px; color: var(--muted); font: 800 9px/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; }
.home-audio-video-rooms section > div { display: grid; gap: 6px; }
.home-audio-video-rooms button { width: 100%; min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 10px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); padding: 10px 11px; text-align: left; cursor: pointer; }
.home-audio-video-rooms button:hover:not(:disabled), .home-audio-video-rooms button.active { border-color: var(--baby-blue-deep); background: #eef7fc; }
.home-audio-video-rooms button:disabled { cursor: default; opacity: .58; }
.home-audio-video-rooms button span { min-width: 0; display: grid; gap: 3px; }
.home-audio-video-rooms button strong { overflow-wrap: anywhere; font-size: 11px; }
.home-audio-video-rooms button small { color: var(--muted); font-size: 9px; }
.home-audio-video-rooms button em { flex: 0 0 auto; border-radius: 999px; background: #ece9e0; color: var(--muted); padding: 4px 7px; font-size: 8px; font-style: normal; font-weight: 850; text-transform: uppercase; }
.home-audio-video-rooms button em.live { background: #dcf2e6; color: #14713f; }
.home-audio-video-player { min-height: 320px; min-width: 0; border: 1px solid var(--line); border-radius: 10px; background: #f3f1eb; overflow: hidden; }
.home-audio-video-player.empty-state { display: grid; place-content: center; justify-items: center; gap: 7px; color: var(--muted); text-align: center; }
.home-audio-video-player-head { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; background: #fff; border-bottom: 1px solid var(--line); }
.home-audio-video-player-head div { display: grid; gap: 3px; }
.home-audio-video-player-head span { color: var(--gold); font-size: 8px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.home-audio-video-player-head strong { font-size: 12px; }
.home-audio-video-player-head a { color: var(--green-2); font-size: 9px; font-weight: 800; text-decoration: none; }
.home-audio-video-media { min-height: 260px; display: grid; place-items: center; background: #101820; }
.home-audio-video-media iframe, .home-audio-video-media video { width: 100%; min-height: 300px; border: 0; aspect-ratio: 16 / 9; background: #101820; }
.home-audio-video-media audio { width: min(560px, calc(100% - 32px)); }
.home-shortcut-module { min-width: 0; min-height: 220px; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding: 21px; border: 1px solid var(--line); border-radius: 14px; background: linear-gradient(145deg,#fffdf8,#f4f8fa); box-shadow: var(--shadow); }
.home-shortcut-symbol { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid #b8d6e9; border-radius: 50%; background: var(--soft-green); color: var(--green-2); font: 700 14px/1 Georgia,serif; }
.home-shortcut-module > div { flex: 1 1 auto; }
.home-shortcut-module h2 { margin: 0; font-size: 25px; }
.home-shortcut-module p:last-child { margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.home-shortcut-module .quiet-button { margin-top: auto; }

.home-customizer-view { min-height: calc(100vh - 76px); }
.customizer-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 26px; margin-bottom: 25px; }
.customizer-heading > div:first-child { max-width: 820px; }
.customizer-heading h1 { margin: 0; }
.customizer-heading p:last-child { max-width: 760px; margin: 9px 0 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.customizer-heading-actions { flex: 0 0 auto; display: flex; gap: 9px; }
.home-customizer-shell { display: grid; grid-template-columns: minmax(260px,.55fr) minmax(0,1.45fr); gap: 18px; align-items: start; }
.home-component-picker, .home-layout-worksheet { border: 1px solid var(--line); border-radius: 15px; background: var(--panel); box-shadow: var(--shadow); }
.home-component-picker { position: sticky; top: 18px; overflow: hidden; }
.home-component-picker-head { display: flex; gap: 12px; align-items: flex-start; padding: 20px; border-bottom: 1px solid var(--line); background: #f2f7fa; }
.home-component-picker h2, .home-layout-worksheet h2 { margin: 0; font-size: 24px; }
.home-component-picker p, .home-layout-worksheet-head p { margin: 5px 0 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.customizer-step { width: 27px; height: 27px; display: grid; place-items: center; flex: 0 0 27px; border-radius: 50%; background: var(--green); color: #fff; font-size: 12px; font-weight: 850; }
.home-component-options { display: grid; padding: 9px; }
.home-component-option-group { min-width: 0; }
.home-component-option-group + .home-component-option-group { border-top: 1px solid #ece9e1; }
.home-component-option { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 11px; align-items: start; border-radius: 9px; padding: 11px; cursor: pointer; }
.home-component-option:hover { background: #eef7fc; }
.home-component-option input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--green-2); }
.home-component-option strong, .home-component-option small { display: block; }
.home-component-option strong { font-size: 12px; }
.home-component-option small { margin-top: 3px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.home-legislation-options { display: grid; gap: 6px; margin: 0 10px 11px 40px; padding: 10px; border: 1px solid #cfe0e9; border-radius: 8px; background: #f6fafc; }
.home-legislation-options legend { padding: 0 5px; color: var(--muted); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.home-legislation-options label { display: grid; grid-template-columns: auto 1fr; gap: 7px; align-items: start; color: var(--ink); font-size: 10px; font-weight: 700; line-height: 1.3; cursor: pointer; }
.home-legislation-options input { width: 15px; height: 15px; margin: 0; accent-color: var(--green-2); }
.home-layout-worksheet { min-width: 0; padding: 18px; background: linear-gradient(145deg,#fffdf8,#f2f7fa); }
.home-layout-worksheet-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 15px; }
.home-layout-worksheet-head > div { display: flex; gap: 12px; align-items: flex-start; }
.home-layout-board { min-height: 430px; display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); grid-auto-flow: row dense; gap: 10px; align-content: start; padding: 13px; border: 1px dashed #a9c7d8; border-radius: 12px; background: rgba(255,255,255,.7); }
.home-layout-board.hidden { display: none; }
.home-layout-card { grid-column: span 3; min-width: 0; min-height: 150px; display: flex; flex-direction: column; border: 1px solid #bcd3e0; border-radius: 10px; background: #fff; box-shadow: 0 5px 0 rgba(35,70,95,.08),0 10px 25px rgba(35,70,95,.07); cursor: grab; transition: opacity .15s ease, transform .15s ease, box-shadow .15s ease; }
.home-layout-card[data-size="medium"] { grid-column: span 6; }
.home-layout-card[data-size="wide"] { grid-column: span 9; }
.home-layout-card[data-size="full"] { grid-column: 1 / -1; }
.home-layout-card.dragging { opacity: .42; cursor: grabbing; }
.home-layout-card.drag-target { transform: translateY(-2px); border-color: var(--baby-blue-deep); box-shadow: 0 8px 0 rgba(35,70,95,.1),0 16px 30px rgba(35,70,95,.11); }
.home-layout-card-main { flex: 1 1 auto; display: grid; grid-template-columns: auto 1fr; gap: 11px; align-items: start; padding: 15px; }
.home-layout-drag { color: #8aa1af; font-size: 17px; letter-spacing: -3px; line-height: 1; }
.home-layout-card strong, .home-layout-card small { display: block; }
.home-layout-card strong { font: 600 19px/1.15 Georgia,serif; }
.home-layout-card small { margin-top: 6px; color: var(--muted); font-size: 10px; line-height: 1.4; }
.home-layout-card-actions { display: flex; align-items: center; justify-content: space-between; gap: 7px; padding: 9px; border-top: 1px solid #e5e9e9; background: #f8faf9; }
.home-layout-card-actions > div { display: flex; gap: 5px; }
.home-layout-card-actions button { min-height: 32px; border: 1px solid #c8d8e1; border-radius: 6px; background: #fff; color: var(--green-2); padding: 6px 8px; font-size: 9px; font-weight: 800; }
.home-layout-card-actions button:hover { background: #eaf5fb; }
.home-layout-card-actions .remove-home-module { color: #8a4646; }
.home-layout-empty { min-height: 430px; margin: 0; padding: 40px; display: grid; border: 1px dashed #a9c7d8; border-radius: 12px; background: rgba(255,255,255,.7); color: var(--muted); text-align: center; place-content: center; font-size: 13px; line-height: 1.55; }
.home-layout-empty.hidden { display: none; }
.home-members { container: home-members / inline-size; }
.home-legislation { container: home-legislation / inline-size; }
.home-legislation-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 7px; }
.mobile-home-collapse { display: none; }
.copy-page-link { white-space: nowrap; }
.home-legislation-head h2 { margin: 0; font-size: 31px; }
.home-legislation-expand { width: 100%; min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 14px; border: 1px solid #b8d6e9; border-radius: 9px; background: #eef7fc; color: var(--green-2); font-size: 11px; font-weight: 850; cursor: pointer; }
.home-legislation-expand:hover { border-color: var(--gold); background: #fff; }
.home-legislation-expand span { font-size: 16px; line-height: 1; }
.home-legislation-selection-empty { margin: 8px 0 0; padding: 18px; border: 1px dashed #b8d6e9; border-radius: 9px; color: var(--muted); text-align: center; font-size: 12px; }
.home-bill-number-intro { margin: 3px 0 13px; color: var(--muted); font-size: 11px; }
.home-bill-number-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(118px,1fr)); gap: 8px; }
.home-bill-number-card { min-height: 72px; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 7px; border: 1px solid #c5dbe7; border-radius: 9px; background: linear-gradient(145deg,#fff,#f0f7fb); color: var(--green-2); padding: 12px; text-align: left; cursor: pointer; box-shadow: 0 3px 0 rgba(35,70,95,.06); }
.home-bill-number-card:hover { border-color: var(--gold); background: #fff; transform: translateY(-1px); }
.home-bill-number-card strong { color: #2f7199; font: 800 16px/1 var(--sans); }
.home-bill-number-card span { color: var(--muted); font-size: 9px; font-weight: 750; }
.home-committees-head h2 { margin: 0; font-size: 31px; }
.home-committee-toggle { margin: 15px 0 10px; }
.home-committee-toggle button { min-height: 36px; }
.home-member-controls { display: grid; grid-template-columns: minmax(0, 1fr) minmax(118px, 1fr); align-items: end; gap: 10px; margin: 15px 0 10px; }
.home-member-controls .home-committee-toggle { margin: 0; }
.home-member-sort { min-width: 0; display: grid; gap: 5px; color: var(--muted); font: 800 9px/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; }
.home-member-sort select { width: 100%; min-width: 0; height: 36px; border: 1px solid var(--line); border-radius: 7px; background: linear-gradient(to bottom, #fff, #f4f2ec); color: var(--ink); padding: 0 30px 0 10px; font: 700 10px/1 var(--sans); box-shadow: inset 0 1px 0 #fff, 0 2px 3px rgba(24,45,62,.08); cursor: pointer; }
@container home-members (max-width: 420px) {
  .home-member-controls { grid-template-columns: minmax(0, 1fr); }
  .home-member-controls .home-committee-toggle { width: 100%; }
  .home-member-controls .home-committee-toggle button { flex: 1 1 50%; }
}
.home-committees .committee-links { max-height: 760px; overflow: auto; border: 1px solid var(--line); border-radius: 10px; }
.home-committees .committee-entry:last-child .committee-row { border-bottom: 0; }
.home-legislation-status { margin: 0 0 18px; color: var(--muted); font-size: 12px; }
.home-legislation-category + .home-legislation-category { margin-top: 20px; }
.home-legislation-category h3 { margin: 0 0 8px; font: 650 18px/1.2 Georgia, serif; }
.home-range-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(116px, 1fr)); gap: 7px; }
.home-range-grid.appointment-ranges { grid-template-columns: repeat(auto-fit, minmax(205px, 1fr)); }
.home-range-button { min-width: 0; box-sizing: border-box; white-space: nowrap; overflow: hidden; border: 1px solid #b9d3e3; border-radius: 7px; background: linear-gradient(to bottom, #f8fcff, #e5f2f9); color: var(--green-2); padding: 8px 7px; font: 750 11px/1.2 var(--sans); cursor: pointer; box-shadow: inset 0 1px 0 #fff, 0 3px 0 #bdd4e1, 0 5px 9px rgba(35,70,95,.09); transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease; }
.home-directory-links { max-height: 760px; overflow: auto; border: 1px solid var(--line); border-radius: 10px; }
.home-directory-links .ilcs-link { font-size: 11px; font-weight: 700; }
.member-directory-link { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 24px; }
.member-directory-link > span:first-child { min-width: 0; }
.member-directory-identity { display: grid; gap: 3px; text-align: left; }
.member-directory-identity small { color: var(--muted); font-size: 9px; font-weight: 650; letter-spacing: .02em; }
.party-badge { display: inline-grid; place-items: center; width: 22px; height: 22px; flex: 0 0 22px; border: 1px solid; border-radius: 50%; font: 800 10px/1 var(--sans); box-shadow: inset 0 1px 0 rgba(255,255,255,.75), 0 1px 2px rgba(24,45,62,.1); }
.party-d { color: #245f8a; background: #e4f2fb; border-color: #a9cde3; }
.party-r { color: #934747; background: #f8e9e7; border-color: #ddb7b1; }
.party-i { color: #5d5f64; background: #f0f0ed; border-color: #c9c9c3; }
.home-range-button:hover { transform: translateY(-1px); border-color: var(--baby-blue-deep); background: linear-gradient(to bottom, #fff, #deeff8); box-shadow: inset 0 1px 0 #fff, 0 4px 0 #aecddd, 0 7px 12px rgba(35,70,95,.12); }
.home-range-button:active { transform: translateY(3px); box-shadow: inset 0 2px 4px rgba(35,70,95,.12), 0 1px 0 #aecddd; }
.home-legislation-list.hidden, .home-legislation-ranges.hidden { display: none; }
.home-bill-list-head { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.home-bill-list-head h3 { margin: 0; font-size: 24px; }
.home-bill-columns, .home-bill-row { display: grid; grid-template-columns: 110px minmax(240px, 1fr) minmax(170px, .55fr) minmax(170px, .55fr); gap: 14px; align-items: center; }
.home-bill-columns.single-chamber, .home-bill-row.single-chamber { grid-template-columns: 110px minmax(240px, 1fr) minmax(170px, .55fr); }
.home-bill-columns.subject-only, .home-bill-row.subject-only { grid-template-columns: 110px minmax(0, 1fr); }
.home-bill-columns { padding: 0 13px 8px; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.home-bill-row { width: 100%; border: 0; border-top: 1px solid var(--line); background: transparent; color: var(--ink); padding: 11px 13px; text-align: left; cursor: pointer; }
.home-bill-row:hover { background: #eef7fc; }
.home-bill-number { color: var(--green-2); font-weight: 800; }
.home-bill-title { font-weight: 650; }
.home-bill-title.loading { color: var(--muted); font-weight: 600; }
.home-bill-sponsor { min-width: 0; overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.home-bill-sponsor.loading { opacity: .65; }
.official-resource-footer { display: flex; align-items: center; justify-content: center; gap: clamp(34px, 7vw, 90px); margin: 26px -28px -28px; padding: 24px 28px; background: #08689b; border-top: 1px solid rgba(255,255,255,.24); }
.official-resource-footer a { display: grid; place-items: center; min-width: 150px; min-height: 62px; border-radius: 8px; transition: background .15s ease, transform .15s ease; }
.official-resource-footer a:hover, .official-resource-footer a:focus-visible { background: rgba(255,255,255,.1); transform: translateY(-1px); outline: none; }
.official-resource-footer img { display: block; width: auto; max-width: 170px; max-height: 66px; object-fit: contain; }
.budget-view .page-heading p:last-child { max-width: 760px; margin: 8px 0 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.budget-resource-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; margin-bottom: 18px; }
.budget-resource-card { min-width: 0; display: grid; gap: 7px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); color: var(--ink); padding: 18px; text-decoration: none; box-shadow: var(--shadow); }
.budget-resource-card:hover { border-color: var(--baby-blue-deep); background: #f4fafe; }
.budget-resource-card > span { color: var(--gold); font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.budget-resource-card strong { color: var(--green-2); font: 600 20px/1.2 Georgia,serif; }
.budget-resource-card small { color: var(--muted); font-size: 11px; line-height: 1.5; }
.budget-explorer-card { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); box-shadow: var(--shadow); }
.budget-explorer-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px 22px; }
.budget-explorer-head h2 { margin: 0; font-size: 28px; }
.budget-explorer-head p:last-child { max-width: 760px; margin: 7px 0 0; color: var(--muted); font-size: 12px; }
.budget-explorer-host { min-height: 660px; border-top: 1px solid var(--line); background: #fff; }
.budget-explorer-host.empty-state { min-height: 320px; display: grid; place-content: center; gap: 7px; border-width: 1px 0 0; border-style: solid; border-radius: 0; }
.budget-explorer-host iframe { display: block; width: 100%; height: 760px; border: 0; }
/* Keep both chamber sponsors whenever the legislation panel can actually fit
   its four columns.  This follows the panel width rather than the browser
   width because the homepage also contains the Members and Committees panels. */
@container home-legislation (max-width: 880px) {
  .home-bill-columns.two-chamber,
  .home-bill-row.two-chamber { grid-template-columns: 82px minmax(135px, 1fr) minmax(105px, .62fr) minmax(105px, .62fr); gap: 7px; }
  .home-bill-columns.two-chamber { padding-inline: 8px; font-size: 8.5px; }
  .home-bill-row.two-chamber { padding-inline: 8px; }
  .home-bill-row.two-chamber .home-bill-sponsor { font-size: 10.5px; }
}
@container home-legislation (max-width: 500px) {
  .home-bill-columns.two-chamber,
  .home-bill-row.two-chamber { grid-template-columns: 72px minmax(125px, 1fr) minmax(105px, .72fr); }
  .home-bill-columns.two-chamber > :last-child,
  .home-bill-row.two-chamber > :last-child { display: none; }
}
.category-home-layout { display: grid; grid-template-columns: minmax(270px, .65fr) minmax(0, 1.35fr); gap: 18px; align-items: start; }
.category-home-menu { overflow: hidden; box-shadow: none; }
.category-home-intro { min-height: 360px; padding: 42px; display: flex; flex-direction: column; justify-content: center; }
.category-home-intro h2 { margin-bottom: 14px; font-size: 32px; }
.category-home-intro p:last-child { max-width: 650px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.members-home-options { width: min(920px, 100%); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.page-heading { display: flex; justify-content: space-between; gap: 20px; align-items: end; margin-bottom: 30px; }
h1, h2, h3 { margin-top: 0; font-family: Georgia, "Times New Roman", serif; font-weight: 500; }
h1 { font-size: clamp(34px, 4vw, 49px); margin-bottom: 0; letter-spacing: -.025em; }
h2 { font-size: 25px; }
.source-pill { border: 1px solid var(--line); background: rgba(255,255,255,.65); color: var(--muted); padding: 9px 13px; border-radius: 99px; font-size: 12px; }
.official-link { text-decoration: none; }
.ilcs-notice { margin-bottom: 16px; border: 1px solid #b8d6e9; background: var(--soft-green); border-radius: 10px; padding: 14px 16px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; }
.ilcs-notice strong { display: block; font-size: 13px; }
.ilcs-notice p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }
.administrative-rule-text { white-space: pre-wrap; font-family: Georgia, "Times New Roman", serif; font-size: 14px; line-height: 1.55; }
.live-dot { width: 9px; height: 9px; border-radius: 50%; background: #b28a43; box-shadow: 0 0 0 4px rgba(178,138,67,.13); }
.live-dot.ready { background: #3f9562; box-shadow: 0 0 0 4px rgba(63,149,98,.13); }
.live-dot.error { background: #a9544a; box-shadow: 0 0 0 4px rgba(169,84,74,.13); }
.ilcs-toolbar { padding: 12px 14px; display: grid; grid-template-columns: auto minmax(240px, 430px); justify-content: space-between; align-items: end; margin-bottom: 16px; box-shadow: none; }
.ilcs-toolbar label { margin: 0; }
.ilcs-toolbar.back-only { grid-template-columns: auto; justify-content: start; }
.ilcs-toolbar label.hidden { display: none; }
.back-button { border: 1px solid var(--green-2); background: var(--green-2); color: #fff; border-radius: 8px; padding: 11px 16px; font-size: 13px; font-weight: 750; cursor: pointer; box-shadow: 0 4px 12px rgba(35,70,95,.18); }
.back-button:hover { background: var(--green); transform: translateY(-1px); }
.back-button.hidden { display: none; }
.bill-lookup { display: grid; grid-template-columns: minmax(210px, .8fr) minmax(360px, 1.2fr); gap: 22px; align-items: end; padding: 18px 20px; margin-bottom: 14px; box-shadow: none; }
.bill-lookup label { margin: 2px 0 0; font-weight: 700; }
.bill-lookup-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: end; }
.bill-lookup-controls input { margin: 0; text-transform: uppercase; }
.ilcs-layout { display: grid; grid-template-columns: minmax(270px, .72fr) minmax(0, 1.55fr); gap: 16px; align-items: start; }
.ilcs-layout.reading-only { grid-template-columns: minmax(0, 1fr); }
.ilcs-toolbar.hidden, .ilcs-links-panel.hidden { display: none; }
.ilcs-links-panel { overflow: hidden; box-shadow: none; }
.ilcs-links { max-height: 660px; overflow: auto; padding: 8px; }
.ilcs-links.empty-state { margin: 12px; }
.ilcs-link { display: block; width: 100%; border: 0; border-bottom: 1px solid #ece9e1; background: transparent; color: var(--ink); padding: 12px 10px; text-align: left; font-size: 12px; line-height: 1.45; }
.ilcs-link:hover { background: #f2f5f1; color: var(--green-2); }
.toc-link { display: grid; gap: 3px; }
.toc-link strong { font-size: 11px; color: var(--green-2); }
.toc-link span { color: var(--ink); line-height: 1.35; }
.article-link { padding-top: 14px; padding-bottom: 14px; }
.toc-context { margin: 2px 2px 8px; padding: 13px 10px; border-radius: 7px; background: var(--soft-green); display: grid; gap: 3px; }
.toc-context strong { color: var(--green-2); font-size: 12px; }
.toc-context span { color: var(--ink); font: 700 12px/1.35 Georgia, serif; }
.toc-context small { margin-top: 7px; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.statute-section-anchor { scroll-margin-top: 24px; font-weight: 700; }
.leg-link-group { border-bottom: 1px solid #ece9e1; }
.leg-link-group summary { cursor: pointer; list-style: none; padding: 13px 10px; font-size: 12px; font-weight: 750; color: var(--green-2); display: flex; justify-content: space-between; gap: 12px; }
.leg-link-group summary::-webkit-details-marker { display: none; }
.leg-link-group summary::after { content: "+"; color: var(--gold); font-size: 16px; line-height: 12px; }
.leg-link-group[open] summary::after { content: "−"; }
.leg-link-group .ilcs-link { padding-left: 20px; background: #faf9f5; }
.leg-link-group .ilcs-link.active-rule-link { background: #e8f0eb; color: var(--green); box-shadow: inset 3px 0 0 var(--green); }
.leg-range-group { border-top: 1px solid #ece9e1; background: #faf9f5; }
.leg-range-group > summary { padding-left: 20px; color: var(--ink); font-weight: 650; }
.leg-range-group:not([open]) > summary::after { content: "+"; }
.leg-range-group[open] > summary::after { content: "−"; }
.leg-range-items .ilcs-link { padding-left: 32px; background: #fff; font-size: 11px; }
.leg-range-message, .leg-range-retry { display: block; width: 100%; padding: 12px 20px 12px 32px; border: 0; background: #fff; color: var(--muted); text-align: left; font: inherit; font-size: 11px; line-height: 1.45; }
.leg-range-retry { cursor: pointer; color: var(--green-2); }
.leg-range-retry:hover { background: #f2f5f1; }
.ilcs-chapter-group { padding: 0; }
.ilcs-chapter-group + .ilcs-chapter-group { border-top: 3px solid #b8d6e9; }
.ilcs-chapter-group h3 { margin: 0; padding: 15px 12px; border-left: 4px solid var(--baby-blue-deep); background: #dceef9; color: #244f73; font: 900 13px/1.25 var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.leg-versions { margin: 16px 0 0; }
.leg-versions.hidden { display: none; }
.leg-version-menu { display: flex; align-items: end; gap: 10px; max-width: 620px; }
.leg-version-menu label { flex: 1 1 auto; margin: 0; }
.leg-version-menu label span { display: block; margin-bottom: 6px; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.leg-version-menu select { width: 100%; min-height: 42px; margin: 0; border: 1px solid var(--line); border-radius: 8px; background: #faf9f5; color: var(--green-2); padding: 9px 36px 9px 12px; font-size: 12px; font-weight: 750; cursor: pointer; }
.leg-version-menu select:hover, .leg-version-menu select:focus { border-color: var(--gold); background: #fff; }
.view-pdf { border: 1px solid var(--line); border-radius: 8px; background: #eef3ef; color: var(--green-2); padding: 11px 14px; font-size: 10px; font-weight: 800; }
.view-pdf:hover { background: var(--soft-green); }
.selected-version-pdf { min-height: 42px; flex: 0 0 auto; }
.selected-version-actions { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.printer-friendly-button { min-height: 42px; border: 1px solid var(--line); border-radius: 8px; background: #faf9f5; color: var(--green-2); padding: 10px 13px; font-size: 10px; font-weight: 800; cursor: pointer; }
.printer-friendly-button:hover { border-color: var(--gold); background: #fff; }
.ilcs-reader { padding: 24px; min-height: 500px; box-shadow: none; }
.ilcs-reader-head { display: flex; justify-content: space-between; align-items: start; gap: 16px; border-bottom: 1px solid var(--line); padding-bottom: 17px; }
.ilcs-reader-head h2 { margin: 0; }
.reader-actions { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.reader-expand-button { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--green-2); cursor: pointer; }
.reader-expand-button:hover { border-color: var(--gold); background: #faf9f5; }
.reader-expand-button:focus-visible { outline: 3px solid rgba(180,132,54,.28); outline-offset: 2px; }
.reader-expand-button svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
#leg-reader.reader-expanded { position: fixed; inset: 0; z-index: 2000; min-height: 0; height: 100vh; border: 0; border-radius: 0; padding: 28px clamp(24px,4vw,64px); display: flex; flex-direction: column; background: var(--paper); }
#leg-reader.reader-expanded #leg-text { flex: 1 1 auto; min-height: 0; max-height: none; }
#leg-reader.reader-expanded #leg-versions { flex: 0 0 auto; }
body.bill-reader-expanded { overflow: hidden; }
.selection-note { margin: 14px 0 0; padding: 10px 12px; border-radius: 7px; background: var(--soft-green); color: var(--green); font-size: 12px; }
.selection-note.hidden { display: none; }
.ilcs-text { max-height: 650px; overflow: auto; margin-top: 18px; padding: 0 4px; white-space: pre-wrap; font-family: Georgia, serif; font-size: 15px; line-height: 1.65; }
.ilcs-text.empty-state { font-family: inherit; font-size: 13px; }
.bill-document-text {
  width: min(100%, 900px);
  box-sizing: border-box;
  margin: 18px auto 0;
  padding: 30px clamp(22px, 5vw, 64px);
  border: 1px solid #d8d9d7;
  background: #fff;
  color: #151515;
  white-space: pre-wrap;
  overflow-wrap: normal;
  tab-size: 4;
  font-family: "Courier New", Courier, ui-monospace, monospace;
  font-size: 14px;
  font-variant-ligatures: none;
  line-height: 1.8;
  letter-spacing: .01em;
}
.legislation-record-reader { max-height: none; min-height: 560px; padding: 0; white-space: normal; font-family: inherit; overflow: hidden; }
.record-reader-controls, .witness-controls { padding: 16px; border-bottom: 1px solid var(--line); background: #faf9f5; display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 12px; }
.record-reader-controls label, .witness-controls label { margin: 0; }
.record-pdf-frame { display: block; width: 100%; height: 650px; border: 0; background: #e7e7e7; }
.bill-status-reader { padding: 0 4px 24px; white-space: normal; font-family: inherit; }
.bill-status-summary { display: grid; grid-template-columns: minmax(170px,.55fr) minmax(0,1.45fr); gap: 12px; margin-bottom: 22px; }
.bill-status-summary > div { padding: 15px 17px; border: 1px solid var(--line); border-radius: 9px; background: #f6f4ee; box-shadow: inset 0 1px 0 #fff, 0 2px 5px rgba(29,39,33,.06); }
.bill-status-summary span { display: block; margin-bottom: 7px; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.bill-status-summary strong { display: block; color: var(--ink); font-size: 12px; line-height: 1.55; }
.bill-status-section { padding: 20px 0; border-top: 1px solid var(--line); }
.bill-status-section h3 { margin: 0 0 13px; font: 700 17px/1.25 Georgia, serif; }
.bill-status-sponsors { margin: 0; color: var(--ink); font-size: 12px; line-height: 1.7; }
.status-member-link.chief-sponsor { font-weight: 850; text-decoration-thickness: 2px; text-decoration-color: var(--gold); }
.status-member-separator.chief { color: var(--gold); font-weight: 900; }
.status-member-link { appearance: none; border: 0; border-bottom: 1px solid rgba(25, 96, 75, .38); background: transparent; color: var(--green); font: inherit; font-weight: 650; padding: 0 1px; cursor: pointer; box-shadow: none; }
.status-member-link:hover { color: var(--green-2); border-bottom-color: currentColor; }
.status-member-link:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; border-radius: 2px; }
.status-member-link:active { transform: translateY(1px); }
.status-member-separator { color: var(--muted); }
.status-statute-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.status-statute-heading > span { color: var(--muted); font-size: 10px; font-weight: 750; }
.status-statutes { position: relative; display: flex; flex-wrap: wrap; gap: 6px; overflow: hidden; transition: max-height .2s ease; }
.status-statutes.collapsed { max-height: 70px; padding-bottom: 7px; }
.status-statutes.collapsed::after { content: ""; position: absolute; inset: auto 0 0; height: 22px; background: linear-gradient(transparent, var(--panel)); pointer-events: none; }
.status-statutes span, .status-statutes button { padding: 5px 8px; border: 1px solid #bfd5e3; border-radius: 6px; background: #e5f1fa; color: var(--green-2); font-size: 10px; font-weight: 750; line-height: 1.3; }
.status-statutes button { cursor: pointer; text-decoration: underline; text-decoration-color: rgba(53,111,152,.35); text-underline-offset: 2px; }
.status-statutes button:hover { border-color: var(--baby-blue-deep); background: #d9edf9; }
.status-statutes button:active { transform: translateY(1px); box-shadow: inset 0 2px 3px rgba(35,70,95,.12); }
.status-statutes-toggle { margin-top: 9px; border: 0; background: transparent; color: var(--green-2); padding: 3px 0; font-size: 10px; font-weight: 800; }
.status-synopses { display: grid; gap: 14px; }
.status-synopses article { padding: 17px 18px; border: 1px solid var(--line); border-radius: 9px; background: #fbfaf6; box-shadow: inset 0 1px 0 #fff, 0 2px 6px rgba(29,39,33,.05); }
.status-synopses article h3 { color: var(--green-2); }
.status-synopses article p { margin: 12px 0 0; padding: 12px 14px; border-radius: 7px; background: #eeece6; color: var(--ink); font: 12px/1.65 Inter,ui-sans-serif,system-ui,sans-serif; }
.status-references { margin: 10px 0; }
.status-references strong { display: block; margin-bottom: 7px; color: var(--muted); font-size: 10px; }
.status-references > div { display: flex; flex-wrap: wrap; gap: 7px; }
.status-references span { padding: 5px 8px; border-radius: 6px; background: #f0eee8; color: var(--green-2); font-size: 10px; font-weight: 700; }
.status-actions { overflow: auto; border: 1px solid var(--line); border-radius: 8px; }
.status-actions table { width: 100%; border-collapse: collapse; font-size: 11px; }
.status-actions th { position: sticky; top: 0; z-index: 1; padding: 10px 11px; background: #e9e7e1; color: var(--muted); text-align: left; font-size: 9px; letter-spacing: .09em; text-transform: uppercase; }
.status-actions td { padding: 9px 11px; border-top: 1px solid #e4e1d9; vertical-align: top; line-height: 1.45; }
.status-actions tbody tr:nth-child(odd) { background: #f2f0eb; }
.status-actions td:first-child { width: 92px; white-space: nowrap; font-weight: 700; }
.status-actions td:nth-child(2) { width: 84px; white-space: nowrap; }
.witness-position-toggle { display: inline-flex; margin: 18px 16px 12px; padding: 3px; border: 1px solid var(--line); border-radius: 9px; background: #f2f0e9; }
.witness-position-toggle button { border: 0; border-radius: 6px; background: transparent; color: var(--muted); padding: 9px 13px; font-size: 11px; font-weight: 750; }
.witness-position-toggle button[aria-pressed="true"] { background: #fff; color: var(--green); box-shadow: 0 1px 5px rgba(20,35,27,.1); }
.witness-results { margin: 0 16px 20px; overflow: auto; border: 1px solid var(--line); border-radius: 8px; }
.witness-results.empty-state { border-style: dashed; }
.witness-results table { width: 100%; border-collapse: collapse; font-size: 12px; }
.witness-results th { background: #f6f4ee; color: var(--muted); text-align: left; font-size: 9px; letter-spacing: .09em; text-transform: uppercase; }
.witness-results th, .witness-results td { padding: 11px 12px; border-bottom: 1px solid #ece9e1; vertical-align: top; }
.witness-results tbody tr:last-child td { border-bottom: 0; }
#leg-reader.reader-expanded .record-pdf-frame { flex: 1 1 auto; height: 100%; min-height: 0; }
.ilcs-guide { white-space: normal; font-family: inherit; max-width: 820px; padding: 12px 8px 24px; }
.ilcs-guide h3 { margin: 6px 0 12px; font: 700 25px/1.2 Georgia, serif; color: var(--ink); }
.ilcs-guide p { color: var(--muted); font-size: 13px; line-height: 1.65; }
.ilcs-guide ol { margin: 20px 0; padding-left: 22px; display: grid; gap: 12px; color: var(--ink); font-size: 13px; line-height: 1.55; }
.ilcs-guide .guide-note { margin-top: 22px; padding: 13px 15px; border-left: 3px solid var(--gold); background: #f8f5ed; color: var(--ink); }
.database-disclaimer { margin: 14px 0 0; padding: 10px 12px; border-left: 3px solid var(--gold); background: #f8f5ed; color: var(--muted); font-size: 11px; line-height: 1.5; }
.member-toolbar { padding: 12px 14px; display: grid; grid-template-columns: auto minmax(220px, 360px); justify-content: space-between; align-items: end; gap: 14px; margin-bottom: 16px; box-shadow: none; }
.member-toolbar label { margin: 0; }
.member-panel-heading { align-items: center; gap: 9px; }
.member-panel-heading .segmented-toggle { margin-left: auto; letter-spacing: 0; text-transform: none; }
.member-panel-heading .segmented-toggle button { padding: 6px 7px; font-size: 8px; }
.member-sidebar { display: grid; gap: 16px; min-width: 0; }
.member-committees-panel .ilcs-link { display: grid; gap: 3px; }
.member-committees-panel .ilcs-link small { color: var(--muted); font-size: 9px; }
.member-committees-panel .committee-link, .member-committees-panel .committee-child-link { grid-template-columns: 1fr auto; align-items: center; gap: 10px; }
.act-link { font-family: var(--sans); font-size: 12.5px; font-weight: 750; line-height: 1.42; letter-spacing: .005em; }
.segmented-toggle { display: inline-flex; padding: 3px; border: 1px solid var(--line); border-radius: 9px; background: #f2f0e9; }
.segmented-toggle.hidden { display: none; }
.segmented-toggle button { border: 0; border-radius: 6px; background: transparent; color: var(--muted); padding: 8px 10px; font-size: 10px; font-weight: 750; }
.segmented-toggle button.active { background: #fff; color: var(--green); box-shadow: 0 1px 5px rgba(20,35,27,.1); }
.member-bill { display: grid; grid-template-columns: minmax(0, 1fr) minmax(150px, auto); align-items: start; gap: 12px; padding: 0; }
.member-bill-main { display: grid; gap: 3px; min-width: 0; border: 0; background: transparent; color: inherit; padding: 11px 10px; text-align: left; cursor: pointer; }
.member-bill strong { color: var(--green-2); }
.member-bill-sponsors { display: grid; justify-items: end; gap: 5px; margin: 9px 10px 9px 0; }
.member-bill-other { max-width: 190px; margin: 0; border: 0; border-radius: 6px; background: #eaf5fb; color: var(--green-2); padding: 6px 8px; font-size: 9px; font-weight: 750; line-height: 1.3; text-align: right; cursor: pointer; }
.member-bill-other:not([data-member-sponsor-url]) { cursor: default; color: var(--muted); }
.member-bill-other[data-member-sponsor-url]:hover { background: #d9edf8; text-decoration: underline; }
.member-bill small { color: var(--muted); line-height: 1.35; }
.member-bill-group summary { padding: 13px 10px; font-size: 12px; font-weight: 750; color: var(--green-2); cursor: pointer; }
.member-empty { color: var(--muted); font-size: 12px; padding: 18px; }
.member-profile-shell { margin-top: 0; padding: 0; max-height: none; overflow: visible; }
.member-profile { display: grid; gap: 0; color: var(--ink); }
.member-profile-overview { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); align-items: start; margin: 0; }
.member-profile-information { min-width: 0; margin: 0; padding: 0; border-right: 1px solid var(--line); }
.member-profile-hero { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 15px; align-items: center; margin: 0; padding: 14px 16px; border-bottom: 1px solid var(--line); background: linear-gradient(135deg, rgba(210,235,250,.5), rgba(255,254,250,.72)); }
.member-portrait { width: 92px; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 10px; border: 1px solid #bdd5e4; box-shadow: 0 4px 0 rgba(28,74,103,.11), 0 9px 18px rgba(28,74,103,.09); }
.member-profile-heading h3 { margin: 3px 0 6px; font-size: clamp(25px, 2.35vw, 36px); line-height: 1.02; }
.member-profile-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 0; color: var(--muted); font-size: 12px; font-weight: 650; }
.member-profile-meta .party-badge { margin-left: 9px; }
.member-contact-list { margin: 0; padding: 0 16px; border-bottom: 1px solid var(--line); }
.member-contact-row { display: grid; grid-template-columns: 125px minmax(0, 1fr); gap: 12px; align-items: start; padding: 7px 0; border-bottom: 1px solid #e7ecef; }
.member-contact-row:last-child { border-bottom: 0; }
.member-contact-row p { margin: 0; }
.member-contact-value { display: grid; gap: 1px; font-family: var(--sans); font-size: 11.5px; line-height: 1.28; }
.member-biography, .member-related { margin: 0; padding: 11px 16px; border-bottom: 1px solid var(--line); }
.member-biography p:last-child { margin: 4px 0 0; font-family: var(--serif); font-size: 14px; line-height: 1.45; }
.member-district-map { min-width: 0; margin: 0; padding: 14px 16px; }
.member-map-heading { display: flex; align-items: start; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.member-map-heading h4 { margin: 3px 0 0; font: 600 20px/1.15 var(--serif); }
.map-expand-button { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; border: 1px solid #9fc5db; border-radius: 8px; background: linear-gradient(#fff, #eaf5fb); color: var(--green-2); padding: 9px 11px; font: 800 10px/1 var(--sans); box-shadow: 0 3px 0 rgba(28,74,103,.14); cursor: pointer; }
.map-expand-button svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; }
.map-expand-button:active { transform: translateY(2px); box-shadow: 0 1px 0 rgba(28,74,103,.14); }
.member-profile-shell.map-expanded .member-profile-overview { display: block; }
.member-profile-shell.map-expanded .member-profile-information { display: none; }
.member-profile-shell.map-expanded .member-district-map { padding: 18px; }
.member-profile-shell.map-expanded .district-map-canvas { height: min(78vh, 900px); }
.district-map-canvas { position: relative; height: 440px; overflow: auto; border: 1px solid var(--line); border-radius: 10px; background: #eef6fa; }
.district-map-static { display: block; width: 100%; height: 100%; object-fit: contain; background: #fff; }
.district-map-canvas path { fill: rgba(103,177,217,.2); stroke: #175c85; stroke-width: .004; vector-effect: non-scaling-stroke; }
.district-map-canvas text { fill: #173e59; font: 800 .025px/1 var(--sans); paint-order: stroke; stroke: rgba(255,255,255,.9); stroke-width: .006px; pointer-events: none; }
.district-map-controls { position: absolute; z-index: 2; top: 10px; left: 10px; display: grid; border: 1px solid #aac9db; border-radius: 8px; overflow: hidden; box-shadow: 0 3px 10px rgba(35,70,95,.15); }
.district-map-controls button { width: 34px; height: 32px; border: 0; border-bottom: 1px solid #c7dce8; background: rgba(255,255,255,.94); color: var(--green-2); font: 800 17px/1 var(--sans); }
.district-map-controls button:last-child { border-bottom: 0; }
.district-map-controls button:hover { background: #e5f3fb; }
.district-map-help { position: absolute; z-index: 2; left: 50%; bottom: 9px; transform: translateX(-50%); margin: 0; white-space: nowrap; border-radius: 14px; background: rgba(255,255,255,.88); color: var(--muted); padding: 5px 9px; font: 700 9px/1 var(--sans); }
.district-map-loading, .district-map-unavailable { height: 100%; display: grid; place-content: center; gap: 6px; padding: 20px; text-align: center; color: var(--muted); font: 650 12px/1.4 var(--sans); }
.district-map-unavailable strong { color: var(--ink); }
.member-district-map > p { margin: 8px 0 0; color: var(--muted); font-size: 10px; }
.member-contact-value { display: grid; gap: 1px; line-height: 1.25; }
.public-act-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 16px; }
.public-act-sponsors { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 20px; }
.public-act-sponsor { min-width: 0; padding: 13px 15px; border: 1px solid #b9d3e3; border-radius: 9px; background: linear-gradient(to bottom, #f9fcfe, #eaf4fa); color: var(--green-2); text-align: left; box-shadow: inset 0 1px 0 #fff, 0 3px 0 #c5d9e4; }
.public-act-sponsor span, .public-act-sponsor strong { display: block; }
.public-act-sponsor span { margin-bottom: 4px; color: var(--muted); font: 800 9px/1.2 var(--sans); letter-spacing: .1em; text-transform: uppercase; }
.public-act-sponsor strong { font-size: 13px; }
.public-act-sponsor:not(:disabled):hover { transform: translateY(-1px); border-color: var(--baby-blue-deep); }
.public-act-sponsor:not(:disabled):active { transform: translateY(2px); box-shadow: inset 0 2px 4px rgba(35,70,95,.12), 0 1px 0 #c5d9e4; }
.support-services-pdf { display: block; width: 100%; height: min(76vh, 900px); border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.support-service-official-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px; }
.support-service-official-links a { padding: 11px 13px; border: 1px solid #b9d3e3; border-radius: 8px; background: #eff7fb; color: var(--green-2); font: 750 11px/1.35 var(--sans); text-decoration: none; }
.support-service-official-links a:hover { border-color: var(--baby-blue-deep); background: #e3f2fa; }
.chamber-rules-toggle { margin: 12px; }
.chamber-rules-reader { overflow: hidden; }
.chamber-rules-frame { display: block; width: 100%; height: 760px; border: 0; background: #e7e7e7; }
.member-related-links { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 11px; }
.member-related-link { border: 1px solid #b9d5e6; border-radius: 9px; background: var(--soft-blue, #eaf5fb); color: var(--green-2); padding: 10px 13px; font: inherit; font-weight: 750; cursor: pointer; box-shadow: 0 2px 0 rgba(28,74,103,.12); }
.member-related-link:hover { background: #dceef8; border-color: #8dbbd5; }
.member-related-link:active { transform: translateY(2px); box-shadow: none; }
.committee-toolbar { padding: 12px 14px; display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 16px; box-shadow: none; }
.committee-toolbar label { width: min(430px, 100%); margin: 0; }
.committee-links .committee-link, .committee-links .committee-child-link { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px; }
.committee-links small { color: var(--muted); font-size: 9px; letter-spacing: .05em; }
.committee-entry { border-bottom: 1px solid var(--line); }
.committee-row { display: grid; grid-template-columns: minmax(0, 1fr) 38px; align-items: stretch; }
.committee-row .committee-link { border-bottom: 0; font-weight: 500; }
.committee-expand { border: 0; border-left: 1px solid #e1e8ed; background: transparent; color: var(--green-2); font-size: 19px; font-weight: 700; }
.committee-expand:hover { background: #e5f1fa; }
.committee-expand:active { transform: translateY(1px); box-shadow: inset 0 2px 3px rgba(35,70,95,.13); }
.committee-children { padding: 0 8px 8px 18px; border-top: 1px solid #eee9df; background: #faf8f2; }
.committee-children.hidden { display: none; }
.committee-child-link { border-left: 2px solid #d5c08e; }
.committee-member-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.committee-member-card, .committee-record-list button { border: 1px solid var(--line); border-radius: 10px; background: #fffefa; color: var(--ink); padding: 15px; text-align: left; box-shadow: 0 2px 0 rgba(29,39,33,.08); cursor: pointer; }
.committee-member-card:hover, .committee-record-list button:hover { border-color: #b9cbbf; background: var(--soft-green); }
.committee-member-card:active, .committee-record-list button:active { transform: translateY(2px); box-shadow: none; }
.committee-member-card strong, .committee-member-card span, .committee-member-card small { display: block; }
.committee-member-card strong { margin-bottom: 6px; color: var(--green-2); }
.committee-member-card span { font-size: 11px; font-weight: 700; }
.committee-member-card small { margin-top: 4px; color: var(--muted); }
.committee-record-list { display: grid; gap: 9px; }
.committee-record-list button { display: grid; grid-template-columns: minmax(110px, auto) 1fr; align-items: center; gap: 18px; }
.committee-record-list button strong { color: var(--green-2); }
.committee-record-list button span { color: var(--muted); font-size: 11px; line-height: 1.45; }
.committee-record-list .committee-bill-details { display: grid; gap: 3px; color: var(--ink); }
.committee-record-list .committee-bill-details b { color: var(--green-2); font: 750 11px/1.35 var(--sans); }
.committee-record-list .committee-bill-details > span { color: var(--ink); font-weight: 700; }
.committee-record-list .committee-bill-details small { color: var(--muted); font-size: 10px; line-height: 1.4; }
.committee-hearing-detail { line-height: 1.7; }
.hearing-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 28px; }
.hearing-facts > div { padding: 14px; border: 1px solid var(--line); border-radius: 9px; background: #fbfaf6; display: grid; gap: 5px; }
.hearing-facts span { color: var(--muted); font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.hearing-facts strong { font-size: 12px; line-height: 1.5; }
.hearing-bills h3 { margin-bottom: 12px; }
.hearing-bill-table { border: 1px solid var(--line); border-radius: 10px; overflow-x: auto; }
.hearing-bill-head, .hearing-bill-row { min-width: 1050px; display: grid; grid-template-columns: minmax(72px,.5fr) minmax(210px,1.5fr) minmax(145px,1fr) minmax(100px,.75fr) minmax(70px,.5fr) minmax(70px,.5fr) minmax(165px,1.1fr); gap: 10px; align-items: center; padding: 11px 12px; }
.hearing-bill-head { background: #e5f1fa; color: #244f73; font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.hearing-bill-row + .hearing-bill-row { border-top: 1px solid var(--line); }
.hearing-bill-row > span { font-size: 11px; line-height: 1.4; }
.hearing-bill-row .hearing-bill-short-title { color: var(--ink); font-weight: 700; }
.hearing-bill-row .hearing-bill-sponsor { color: var(--green-2); font-weight: 750; }
.hearing-bill-row > button, .hearing-record-actions button { border: 0; background: transparent; color: var(--green-2); padding: 5px 3px; text-align: left; font-size: 11px; font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }
.hearing-record-actions { display: flex; flex-wrap: wrap; gap: 5px 10px; }
.monitor-hero { padding: 25px; display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.monitor-hero h2 { margin: 0 0 8px; }
.monitor-hero p:not(.eyebrow) { margin: 0; max-width: 690px; color: var(--muted); font-size: 13px; line-height: 1.55; }
.monitor-actions { display: flex; gap: 9px; flex-shrink: 0; }
.monitor-message { margin: 14px 0 20px; padding: 12px 14px; border-radius: 8px; background: #eeeae0; color: var(--muted); font-size: 12px; }
.monitor-message.ready { background: var(--soft-green); color: var(--green); }
.monitor-message.error { background: #f3e5e2; color: #8b5149; }
.report-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.report-panel { overflow: hidden; box-shadow: none; }
.report-items { max-height: 610px; overflow: auto; padding: 8px; display: grid; gap: 7px; }
.report-items.empty-state { margin: 12px; display: block; }
.report-item { display: block; border: 1px solid #e5e1d8; border-radius: 8px; padding: 12px; color: var(--ink); text-decoration: none; font-size: 12px; line-height: 1.5; background: #fbfaf6; }
.report-item:hover { border-color: #9eb1a4; background: #f4f7f3; }
.report-item strong { display: block; margin-bottom: 4px; color: var(--green-2); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.monitor-footnote { color: var(--muted); font-size: 11px; line-height: 1.55; }
.mode-tabs { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--line); margin-bottom: 24px; }
.live-attachment { margin: -12px 0 22px; padding: 11px 13px; border: 1px solid #bed0c3; border-radius: 8px; background: var(--soft-green); display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; }
.live-attachment.hidden { display: none; }
.live-attachment > span { color: var(--green-2); font-family: Georgia, serif; font-size: 22px; }
.live-attachment strong, .live-attachment small { display: block; }
.live-attachment strong { font-size: 12px; }
.live-attachment small { margin-top: 2px; color: var(--muted); font-size: 10px; }
.mode-tabs button { border: 0; background: transparent; padding: 13px 4px 15px; color: var(--muted); border-bottom: 2px solid transparent; }
.mode-tabs button span { font-size: 10px; color: #a6aaa6; margin-right: 7px; }
.mode-tabs button.active { color: var(--green); border-bottom-color: var(--green-2); font-weight: 700; }
.card { background: var(--panel); border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); }
.work-grid { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 20px; }
.composer { overflow: hidden; }
.card-label { min-height: 42px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; padding: 0 18px; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .09em; font-weight: 700; }
.composer textarea { display: block; width: 100%; height: 265px; resize: vertical; border: 0; outline: 0; background: transparent; padding: 24px; font-family: Georgia, serif; font-size: 19px; line-height: 1.6; color: var(--ink); }
.composer textarea::placeholder { color: #a9aaa6; }
.composer-actions { display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; border-top: 1px solid var(--line); }
.lrb-tools { margin: 0 0 16px; padding: 18px 20px; display: flex; justify-content: space-between; align-items: center; gap: 24px; box-shadow: none; border-left: 4px solid var(--gold); }
.lrb-tools h3 { margin: 2px 0 5px; font: 700 18px/1.25 Georgia, serif; }
.lrb-tools p:not(.eyebrow) { margin: 0; max-width: 680px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.lrb-tool-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; min-width: 390px; }
.file-action { display: inline-flex; align-items: center; cursor: pointer; }
.file-action input { display: none; }
.file-action.disabled { opacity: .55; pointer-events: none; }
.lrb-draft-attachment > span { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: var(--gold); color: #fff; font-size: 9px; font-weight: 850; letter-spacing: .05em; }
.primary-button, .quiet-button, .text-button { border-radius: 7px; border: 0; }
.primary-button { background: var(--green); color: white; padding: 11px 17px; display: inline-flex; align-items: center; gap: 30px; }
.primary-button:hover { background: var(--green-2); }
.primary-button:disabled { opacity: .55; cursor: wait; }
.quiet-button { background: transparent; border: 1px solid var(--line); padding: 9px 13px; color: var(--ink); }
.text-button { background: transparent; color: var(--muted); padding: 8px; }
.checklist { padding: 0 22px 22px; box-shadow: none; }
.checklist .card-label { margin: 0 -22px 22px; }
.checklist h3 { font-size: 20px; }
.checklist ul { list-style: none; padding: 0; margin: 0; }
.checklist li { padding: 9px 0 9px 23px; border-bottom: 1px solid #ece9e1; font-size: 13px; position: relative; }
.checklist li::before { content: "◇"; position: absolute; left: 0; color: var(--gold); }
.checklist p, .form-note, .setting-card p { color: var(--muted); font-size: 12px; line-height: 1.55; }
.result-panel { margin-top: 22px; padding: 25px; }
.result-panel.hidden { display: none; }
.result-head { display: flex; justify-content: space-between; align-items: start; border-bottom: 1px solid var(--line); }
.result-head h2 { margin-bottom: 18px; }
.result-text { white-space: pre-wrap; line-height: 1.7; font-family: Georgia, serif; font-size: 17px; padding: 24px 0; }
.result-sources { display: grid; gap: 8px; }
.citation-card { background: #f4f2eb; padding: 11px 13px; border-radius: 7px; font-size: 12px; color: var(--muted); }
.recent-section { margin-top: 42px; }
.section-heading { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 14px; }
.section-heading h2 { margin: 0; font-size: 21px; }
.section-heading span { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }
.recent-heading-actions { display: flex; align-items: center; gap: 14px; }
.recent-list { display: grid; gap: 8px; }
.recent-item { display: grid; grid-template-columns: 100px minmax(0, 1fr) auto auto; align-items: center; gap: 14px; background: rgba(255,255,255,.55); border: 1px solid var(--line); padding: 13px 15px; border-radius: 8px; }
.recent-item strong { font-size: 11px; color: var(--green-2); text-transform: uppercase; letter-spacing: .08em; }
.recent-prompt { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.recent-item time { color: var(--muted); font-size: 11px; }
.recent-actions { display: flex; gap: 5px; }
.recent-actions button { border: 0; background: transparent; color: var(--muted); padding: 5px; cursor: pointer; font-size: 11px; }
.recent-actions button:hover { color: var(--green-2); }
.recent-actions .delete-run:hover { color: #a9544a; }
.source-layout { display: grid; grid-template-columns: minmax(360px, .8fr) 1.2fr; gap: 26px; align-items: start; }
.source-form { padding: 22px; display: grid; gap: 14px; }
.source-form .card-label { margin: -22px -22px 4px; }
label { display: grid; gap: 6px; color: var(--muted); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; }
input, select, .source-form textarea { width: 100%; border: 1px solid var(--line); border-radius: 7px; background: #fbfaf6; padding: 10px 11px; color: var(--ink); outline: none; text-transform: none; letter-spacing: normal; }
input:focus, select:focus, .source-form textarea:focus { border-color: #749080; box-shadow: 0 0 0 3px rgba(35,99,75,.08); }
.source-form textarea { height: 180px; resize: vertical; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.file-picker { border: 1px dashed #bcb9af; border-radius: 7px; padding: 12px; text-align: center; cursor: pointer; }
.file-picker input { display: none; }
.source-list { display: grid; gap: 10px; }
.source-card { border: 1px solid var(--line); background: var(--panel); border-radius: 9px; padding: 16px; display: grid; grid-template-columns: 1fr auto; gap: 12px; }
.source-card h3 { font-family: inherit; font-weight: 700; font-size: 14px; margin-bottom: 6px; }
.meta { color: var(--muted); font-size: 11px; display: flex; flex-wrap: wrap; gap: 6px 12px; }
.delete-button { align-self: start; border: 0; background: transparent; color: #8b5149; }
.matter-grid, .settings-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 16px; }
.matter-card, .setting-card { padding: 22px; }
.credential-form { margin-top: 18px; padding: 22px; display: grid; grid-template-columns: 1fr minmax(260px, .8fr) auto; gap: 18px; align-items: end; }
.credential-form.hidden { display: none; }
.credential-form h2 { margin-bottom: 6px; }
.credential-form p { margin: 0; color: var(--muted); font-size: 12px; }
.matter-card h3, .setting-card h3 { font-size: 20px; margin-bottom: 9px; }
.update-card { display: flex; flex-direction: column; align-items: flex-start; }
.update-card .quiet-button { margin-top: auto; }
.update-notes { margin: 4px 0 18px; padding-left: 18px; color: var(--muted); font-size: 12px; line-height: 1.55; }
.update-notes.hidden { display: none; }
.empty-state { padding: 24px; border: 1px dashed var(--line); border-radius: 9px; color: var(--muted); text-align: center; }
.toast { position: fixed; right: 24px; bottom: 24px; background: var(--ink); color: #fff; padding: 12px 16px; border-radius: 7px; transform: translateY(90px); opacity: 0; transition: .22s; z-index: 10; }
.toast.show { transform: none; opacity: 1; }
.modal-dialog { width: min(480px, calc(100vw - 36px)); border: 0; border-radius: 13px; padding: 0; color: var(--ink); background: var(--panel); box-shadow: 0 28px 90px rgba(14, 26, 20, .28); }
.modal-dialog::backdrop { background: rgba(12, 23, 17, .48); backdrop-filter: blur(3px); }
.modal-dialog form { padding: 24px; display: grid; gap: 18px; }
.civic-dialog { width: min(920px,calc(100vw - 36px)); }
.legislator-finder-dialog { width: min(1280px,calc(100vw - 28px)); max-width: none; height: min(92vh,960px); overflow: hidden; }
.legislator-finder-shell { height: 100%; display: grid; grid-template-rows: auto minmax(0,1fr); }
.legislator-finder-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; padding: 18px 22px; border-bottom: 1px solid var(--line); }
.legislator-finder-head h2 { margin: 0 0 5px; }
.legislator-finder-head p:not(.eyebrow) { max-width: 780px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.legislator-finder-actions { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; }
.legislator-finder-actions .quiet-button { white-space: nowrap; }
.legislator-finder-embed { position: relative; min-height: 0; background: #f2f4f5; }
.legislator-finder-embed iframe { position: relative; z-index: 1; width: 100%; height: 100%; border: 0; background: #fff; }
.legislator-finder-loading { position: absolute; inset: 0; display: grid; place-items: center; color: var(--muted); font-size: 12px; }
.legislator-finder-embed.loaded .legislator-finder-loading { display: none; }
.my-government-results { padding: 24px; }
.my-government-results.hidden { display: none; }
.my-government-result-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.my-government-result-head h3 { margin: 0 0 5px; font-size: 20px; }
.my-government-result-head small { color: var(--muted); }
.my-government-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 16px; }
.my-government-card { display: flex; flex-direction: column; gap: 14px; border: 1px solid var(--line); border-radius: 11px; background: #fbfaf6; padding: 18px; }
.my-government-card > div:first-child > span { color: var(--gold); font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.my-government-card h3 { margin: 4px 0; font: 600 24px/1.1 Georgia,serif; }
.my-government-card p { margin: 0; color: var(--muted); font-size: 11px; }
.my-government-card dl { display: grid; gap: 7px; margin: 0; }
.my-government-card dl > div { display: grid; grid-template-columns: 70px minmax(0,1fr); gap: 8px; }
.my-government-card dt { color: var(--muted); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.my-government-card dd { margin: 0; font-size: 11px; overflow-wrap: anywhere; }
.my-government-card a { color: var(--green-2); }
.my-government-card .primary-button { margin-top: auto; }
.my-government-assignments { display: grid; gap: 5px; }
.my-government-assignments strong { color: var(--muted); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.my-government-assignments span { font-size: 10px; line-height: 1.5; }
.my-government-source { margin: 16px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.my-government-source a { color: var(--green-2); }
.accessibility-dialog fieldset { margin: 0; border: 1px solid var(--line); border-radius: 9px; padding: 13px; }
.accessibility-dialog legend { padding: 0 5px; color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.accessibility-options { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; }
.accessibility-options label { display: flex; align-items: center; gap: 7px; border: 1px solid var(--line); border-radius: 7px; padding: 10px; }
.accessibility-switch { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: start; gap: 10px; }
.accessibility-switch input { margin-top: 4px; }
.accessibility-switch span { display: grid; gap: 3px; }
.accessibility-switch small { color: var(--muted); font-size: 10px; line-height: 1.4; }
.modal-head { display: flex; justify-content: space-between; align-items: start; border-bottom: 1px solid var(--line); padding-bottom: 16px; }
.modal-head h2 { margin: 0; }
.icon-button { border: 0; background: transparent; color: var(--muted); font-size: 27px; line-height: 1; padding: 0 4px; }
.modal-actions { display: flex; justify-content: flex-end; gap: 9px; }
.pdf-dialog { width: min(1120px, calc(100vw - 34px)); height: min(88vh, 900px); border: 0; border-radius: 13px; padding: 0; color: var(--ink); background: var(--panel); box-shadow: 0 28px 90px rgba(14,26,20,.32); overflow: hidden; }
.pdf-dialog::backdrop { background: rgba(12,23,17,.58); backdrop-filter: blur(3px); }
.pdf-dialog-head { height: 72px; display: flex; justify-content: space-between; align-items: center; padding: 14px 20px; border-bottom: 1px solid var(--line); }
.pdf-dialog-head h2 { margin: 0; font-size: 20px; }
.pdf-dialog iframe { display: block; width: 100%; height: calc(100% - 72px); border: 0; background: #e7e7e7; }
code { background: #ebe8df; border-radius: 4px; padding: 2px 5px; }

html[data-text-size="large"] body { zoom: 1.1; }
html[data-text-size="largest"] body { zoom: 1.22; }
html.high-contrast { --ink:#000; --muted:#25313a; --paper:#fff; --panel:#fff; --line:#43515c; --green:#002d4d; --green-2:#004d80; --gold:#765300; --soft-green:#e7f4ff; --baby-blue-deep:#006ca8; --shadow:0 0 0 1px rgba(0,0,0,.2); }
html.high-contrast body { background:#fff; }
html.high-contrast .sidebar { background:#082b42; }
html.high-contrast .site-disclaimer { background:#fff3b8; color:#000; border-color:#000; }
html.large-controls :where(button,input,select,textarea,summary,a.quiet-button) { min-height: 48px; }
html.reduce-motion *, html.reduce-motion *::before, html.reduce-motion *::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; }

/* Restrained physical depth: controls lift slightly at rest and settle when pressed. */
.primary-button, .back-button, .quiet-button, .view-pdf, .printer-friendly-button, .reader-expand-button, .file-picker {
  transition: transform .11s ease, box-shadow .11s ease, background-color .11s ease, border-color .11s ease;
}
.primary-button, .back-button {
  border: 1px solid rgba(5, 27, 19, .44);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 2px 0 #0f3024, 0 5px 10px rgba(18,56,42,.15);
}
.primary-button:hover, .back-button:hover {
  transform: translateY(-1px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 3px 0 #0f3024, 0 7px 13px rgba(18,56,42,.17);
}
.primary-button:active, .back-button:active {
  transform: translateY(2px);
  box-shadow: inset 0 2px 4px rgba(4,22,15,.24), 0 0 0 #0f3024, 0 2px 4px rgba(18,56,42,.12);
}
.quiet-button, .view-pdf, .printer-friendly-button, .reader-expand-button, .file-picker {
  background-image: linear-gradient(to bottom, rgba(255,255,255,.76), rgba(245,243,237,.5));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 2px 0 #d3d0c7, 0 4px 8px rgba(35,42,37,.08);
}
.quiet-button:hover, .view-pdf:hover, .printer-friendly-button:hover, .reader-expand-button:hover, .file-picker:hover {
  transform: translateY(-1px);
  box-shadow: inset 0 1px 0 #fff, 0 3px 0 #d0cdc4, 0 6px 11px rgba(35,42,37,.1);
}
.quiet-button:active, .view-pdf:active, .printer-friendly-button:active, .reader-expand-button:active, .file-picker:active {
  transform: translateY(2px);
  background-image: linear-gradient(to bottom, rgba(232,230,223,.72), rgba(250,249,245,.8));
  box-shadow: inset 0 2px 4px rgba(35,42,37,.14), 0 0 0 #d3d0c7;
}
.ilga-home-option {
  box-shadow: inset 0 1px 0 #fff, 0 3px 0 #d8d5cc, 0 15px 34px rgba(29,39,33,.08);
}
.ilga-home-option:hover {
  box-shadow: inset 0 1px 0 #fff, 0 4px 0 #d3c7ad, 0 21px 45px rgba(29,39,33,.12);
}
.ilga-home-option:active {
  transform: translateY(2px);
  box-shadow: inset 0 2px 5px rgba(29,39,33,.1), 0 1px 0 #d8d5cc, 0 7px 14px rgba(29,39,33,.08);
}
.mega-tab, .nav-item, .ilcs-link, .leg-link-group summary, .member-bill-group summary, .report-item {
  transition: transform .1s ease, box-shadow .1s ease, background-color .1s ease, color .1s ease;
}
.mega-tab.active, .nav-item.active {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 2px 4px rgba(4,24,16,.2);
}
.mega-tab:active, .nav-item:active, .ilcs-link:active, .leg-link-group summary:active, .member-bill-group summary:active, .report-item:active {
  transform: translateY(1px);
  box-shadow: inset 0 2px 4px rgba(19,45,34,.12);
}
.leg-link-group[open] > summary, .member-bill-group[open] > summary {
  background: #f7f5ef;
  box-shadow: inset 0 -1px 0 #dfdcd3, inset 0 1px 2px rgba(29,39,33,.05);
}
input, select, .source-form textarea {
  box-shadow: inset 0 1px 2px rgba(29,39,33,.07), 0 1px 0 rgba(255,255,255,.9);
}
select {
  background-image: linear-gradient(to bottom, #fffefa, #f5f3ed);
}
.segmented-toggle, .witness-position-toggle {
  box-shadow: inset 0 2px 4px rgba(29,39,33,.09), 0 1px 0 rgba(255,255,255,.85);
}
.segmented-toggle button.active, .witness-position-toggle button[aria-pressed="true"] {
  box-shadow: inset 0 1px 0 #fff, 0 2px 3px rgba(20,35,27,.16);
}
.segmented-toggle button:active, .witness-position-toggle button:active {
  transform: translateY(1px);
  box-shadow: inset 0 2px 3px rgba(20,35,27,.13);
}
@media (prefers-reduced-motion: reduce) {
  button, .file-picker, .report-item, summary { transition: none !important; }
}
@media (max-width: 1050px) {
  .app-shell { grid-template-columns: 82px 1fr; }
  .sidebar { width: 82px; }
  .brand > div:not(.seal), .nav-item:not(.active) { font-size: 0; }
  .brand-logo { width: 48px; }
  .nav-item { justify-content: center; }
  .nav-item.active { font-size: 0; }
  .nav-item span { font-size: 18px; }
  .sidebar-foot { display: none; }
  .work-grid, .source-layout, .ilcs-layout, .report-grid, .category-home-layout, .home-live-grid { grid-template-columns: 1fr; }
  .lrb-tools { align-items: flex-start; flex-direction: column; }
  .lrb-tool-actions { min-width: 0; justify-content: flex-start; }
  .ilga-home-options, .members-home-options { grid-template-columns: 1fr; max-width: 600px; }
  .member-profile-overview { grid-template-columns: 1fr; }
  .member-profile-information { border-right: 0; border-bottom: 1px solid var(--line); }
  .district-map-canvas { height: 390px; }
  .budget-resource-grid { grid-template-columns: 1fr; }
  .home-command-row { grid-template-columns: minmax(0,1fr); }
  .home-module.home-module-compact { grid-column: span 6; }
  .home-module.home-module-medium,
  .home-module.home-module-wide,
  .home-module.home-module-full { grid-column: 1 / -1; }
  .home-customizer-shell { grid-template-columns: minmax(0,1fr); }
  .home-component-picker { position: static; }
  .home-component-options { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-component-option + .home-component-option { border-top: 0; }
}
@media (max-width: 720px) {
  .view { padding: 30px 20px 60px; }
  .topbar { padding: 0 20px; }
  .mode-tabs { grid-template-columns: 1fr 1fr; }
  .field-row { grid-template-columns: 1fr; }
  .recent-item { grid-template-columns: 80px minmax(0, 1fr) auto; }
  .recent-item time { display: none; }
  .credential-form { grid-template-columns: 1fr; }
  .ilcs-toolbar { grid-template-columns: 1fr; gap: 10px; }
  .bill-lookup { grid-template-columns: 1fr; }
  .bill-lookup-controls { grid-template-columns: 1fr; }
  .member-toolbar { grid-template-columns: 1fr; }
  .member-profile-hero { grid-template-columns: 1fr; }
  .member-contact-row { grid-template-columns: 1fr; gap: 4px; }
  .committee-toolbar { align-items: stretch; flex-direction: column; }
  .committee-member-grid { grid-template-columns: 1fr; }
  .committee-record-list button { grid-template-columns: 1fr; gap: 6px; }
  .ilcs-notice { grid-template-columns: auto 1fr; }
  .ilcs-notice .quiet-button { grid-column: 1 / -1; }
  .ilcs-reader-head { display: grid; }
  .reader-actions { justify-content: space-between; }
  .monitor-hero { align-items: flex-start; flex-direction: column; }
  .lrb-tool-actions { width: 100%; display: grid; }
  .ilga-home-view { padding-top: 16px; }
  .ilga-home-option { min-height: 98px; padding: 16px; }
  .home-bill-columns { display: none; }
  .home-bill-row { grid-template-columns: 82px 1fr; }
  .home-bill-row .home-bill-sponsor { grid-column: 2; }
  .leg-version-menu { align-items: stretch; flex-direction: column; }
  .selected-version-actions { flex-wrap: wrap; }
  .bill-status-summary { grid-template-columns: 1fr; }
  .home-search { grid-template-columns: 1fr; gap: 16px; }
  .home-customize-intro { align-items: flex-start; flex-direction: column; }
  .home-customize-button { width: 100%; max-width: none; }
  .customizer-heading { align-items: stretch; flex-direction: column; }
  .customizer-heading-actions { justify-content: flex-end; }
  .home-layout-card { grid-column: span 6; }
  .home-layout-card[data-size="medium"],
  .home-layout-card[data-size="wide"],
  .home-layout-card[data-size="full"] { grid-column: 1 / -1; }
  .my-government-grid { grid-template-columns: 1fr; }
  .budget-explorer-head { align-items: stretch; flex-direction: column; }
}

/* Mobile-only application shell. Desktop presentation above 820px is unchanged. */
@media (max-width: 820px) {
  html { scroll-padding-top: 132px; }
  body { overflow-x: hidden; }

  .app-shell { display: block; min-width: 0; }
  .sidebar {
    position: sticky;
    inset: 0 0 auto;
    width: 100%;
    min-height: 0;
    padding: 8px 10px 7px;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 9px;
    row-gap: 6px;
    overflow: visible;
    box-shadow: 0 5px 18px rgba(20, 48, 68, .18);
    z-index: 100;
  }
  .brand {
    grid-column: 1;
    grid-row: 1;
    width: 58px;
    padding: 0;
    border: 0;
  }
  .brand-logo { width: 52px; border-radius: 5px; }
  .mega-tabs {
    grid-column: 2;
    grid-row: 1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-self: center;
    gap: 5px;
    padding: 0;
  }
  .mega-tab {
    min-height: 42px;
    padding: 8px 7px;
    text-align: center;
    font-size: 10px;
    line-height: 1.2;
  }
  nav {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    padding: 0 0 2px;
    display: flex;
    align-items: stretch;
    gap: 5px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  nav::-webkit-scrollbar { display: none; }
  .nav-group { display: flex; flex: 0 0 auto; gap: 5px; }
  .nav-group.hidden { display: none; }
  .nav-divider { display: none; }
  .nav-item,
  .nav-item.active,
  .nav-item:not(.active),
  .nav-item-compact {
    width: auto;
    min-height: 42px;
    flex: 0 0 auto;
    justify-content: center;
    gap: 6px;
    padding: 9px 11px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 8px;
    font-size: 10.5px;
    line-height: 1.15;
    white-space: nowrap;
  }
  .nav-item.active { background: rgba(139,196,236,.25); }
  .nav-item span,
  .nav-item-compact span { width: auto; flex: 0 0 auto; font-size: 12px; }
  .persistent-settings { margin: 0; border-top: 1px solid rgba(255,255,255,.12); }
  .sidebar-disclosure { position: static; flex: 0 0 auto; }
  .sidebar-disclosure summary {
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid rgba(255,255,255,.12);
    white-space: nowrap;
    font-size: 10.5px;
  }
  .sidebar-disclosure summary::after { margin-left: 6px; }
  .sidebar-subnav {
    position: fixed;
    top: 116px;
    left: 10px;
    right: 10px;
    z-index: 110;
    max-height: min(52vh, 420px);
    margin: 0;
    padding: 8px;
    overflow-y: auto;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 10px;
    background: #213f57;
    box-shadow: 0 14px 34px rgba(12,37,54,.34);
  }
  .sidebar-subnav button { min-height: 42px; font-size: 11px; }
  .sidebar-foot { display: none; }

  main { grid-column: auto; width: 100%; min-width: 0; }
  .topbar {
    height: auto;
    min-height: 58px;
    padding: 9px 13px;
    gap: 10px;
  }
  #ilga-context strong { font-size: 14px; }
  .runtime-version { font-size: 9px; }
  .topbar-actions { flex: 0 0 auto; }
  .topbar-actions .quiet-button { min-height: 42px; padding: 9px 10px; font-size: 11px; }
  .site-disclaimer {
    position: relative;
    padding: 7px 13px;
    font-size: 9px;
    line-height: 1.35;
  }
  .view,
  .ilga-home-view { padding: 18px 12px 48px; }
  .page-heading {
    align-items: stretch;
    flex-direction: column;
    gap: 13px;
    margin-bottom: 18px;
  }
  .page-heading h1 { font-size: clamp(30px, 10vw, 42px); line-height: 1.02; }
  .page-heading .official-link { align-self: flex-start; }

  .ilga-home-heading { margin-bottom: 12px; }
  .ilga-home-logo { width: min(145px, 40vw); }
  .ilga-home-heading > p:last-child { padding: 0 8px; font-size: 11px; }
  .home-live-grid,
  .home-command-row,
  .home-module-grid,
  .category-home-layout,
  .work-grid,
  .source-layout,
  .report-grid,
  .ilcs-layout { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .home-legislation,
  .home-members,
  .home-committees,
  .home-audio-video { padding: 14px; border-radius: 11px; }
  .home-search { padding: 17px; border-radius: 11px; }
  .home-customize-intro { padding: 17px; border-radius: 11px; }
  .home-module.home-module-compact,
  .home-module.home-module-medium,
  .home-module.home-module-wide,
  .home-module.home-module-full { grid-column: 1 / -1; }
  .home-component-options { grid-template-columns: minmax(0,1fr); }
  .customizer-heading-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .customizer-heading-actions button { min-height: 44px; }
  .home-layout-worksheet { padding: 12px; }
  .home-layout-worksheet-head { align-items: flex-start; flex-direction: column; }
  .home-layout-card,
  .home-layout-card[data-size="medium"],
  .home-layout-card[data-size="wide"],
  .home-layout-card[data-size="full"] { grid-column: 1 / -1; }
  .home-audio-video-layout { grid-template-columns: minmax(0, 1fr); }
  .home-audio-video-head { align-items: flex-end; }
  .home-audio-video-actions { align-items: stretch; flex-direction: column; }
  #home-audio-video-expand { width: 100%; }
  .home-audio-video-player { min-height: 260px; }
  .home-committees-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
  .mobile-home-collapse {
    min-width: 72px;
    min-height: 44px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid #b9d3e3;
    border-radius: 8px;
    background: linear-gradient(to bottom, #fff, #e7f3fa);
    color: var(--green-2);
    padding: 8px 10px;
    font-size: 11px;
    font-weight: 800;
    box-shadow: inset 0 1px 0 #fff, 0 3px 0 #bed6e3;
  }
  .mobile-home-collapse:active { transform: translateY(3px); box-shadow: inset 0 2px 4px rgba(35,70,95,.13); }
  .mobile-home-collapse > span:last-child { font-size: 17px; line-height: 1; transform: rotate(180deg); transition: transform .16s ease; }
  .mobile-collapsed .mobile-home-collapse > span:last-child { transform: none; }
  .home-legislation.mobile-collapsed > :not(.home-legislation-head),
  .home-members.mobile-collapsed > :not(.home-committees-head),
  .home-committees.mobile-collapsed > :not(.home-committees-head) { display: none; }
  .home-legislation.mobile-collapsed .home-legislation-head { margin-bottom: 0; }
  .home-legislation.mobile-collapsed,
  .home-members.mobile-collapsed,
  .home-committees.mobile-collapsed { box-shadow: 0 5px 0 rgba(35,70,95,.1), 0 12px 28px rgba(35,70,95,.08); }
  .home-legislation-head h2,
  .home-committees-head h2 { font-size: 25px; }
  .home-range-grid { grid-template-columns: repeat(auto-fit, minmax(108px, 1fr)); }
  .home-range-grid.appointment-ranges { grid-template-columns: repeat(auto-fit, minmax(175px, 1fr)); }
  .home-range-button { min-height: 44px; padding: 9px 6px; }
  .home-directory-links,
  .home-committees .committee-links { max-height: 470px; }

  .card { min-width: 0; }
  .ilcs-notice {
    grid-template-columns: auto minmax(0, 1fr);
    padding: 12px;
  }
  .ilcs-notice p { overflow-wrap: anywhere; }
  .ilcs-notice .quiet-button { grid-column: 1 / -1; width: 100%; min-height: 44px; }
  .ilcs-toolbar,
  .member-toolbar { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .ilcs-toolbar .back-button,
  .member-toolbar .back-button { width: 100%; min-height: 44px; }
  .bill-lookup { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 14px; }
  .bill-lookup-controls { grid-template-columns: minmax(0, 1fr); }
  .bill-lookup-controls button { min-height: 44px; }
  .ilcs-links { max-height: min(52vh, 520px); }
  .ilcs-reader { min-width: 0; padding: 15px; }
  .ilcs-reader-head { gap: 12px; }
  .ilcs-reader-head h2 { overflow-wrap: anywhere; }
  .reader-actions { width: 100%; }
  .ilcs-text,
  .result-text { overflow-wrap: anywhere; }
  .legislation-record-reader { min-height: 430px; }
  .bill-document-text { padding: 22px 16px; font-size: 12px; line-height: 1.72; }
  .record-pdf-frame,
  .chamber-rules-pdf { min-height: 65vh; }
  #leg-reader.reader-expanded { padding: 15px 12px; }

  .member-sidebar { gap: 12px; }
  .member-panel-heading { align-items: stretch; flex-direction: column; }
  .member-panel-heading .segmented-toggle { width: 100%; margin: 7px 0 0; }
  .member-panel-heading .segmented-toggle button { flex: 1 1 50%; min-height: 40px; }
  .member-profile-overview { grid-template-columns: minmax(0, 1fr); }
  .member-profile-information { border-right: 0; border-bottom: 1px solid var(--line); }
  .member-profile-hero {
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
  }
  .member-portrait { width: 76px; }
  .member-profile-heading h3 { font-size: clamp(25px, 8vw, 34px); }
  .member-contact-row { grid-template-columns: 105px minmax(0, 1fr); gap: 9px; }
  .member-district-map { padding: 14px; }
  .district-map-canvas { height: min(68vh, 560px); }
  .member-bill { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .member-bill-sponsors { justify-items: stretch; margin: 0 10px 10px; }
  .member-bill-other { max-width: none; text-align: left; }

  .committee-toolbar { align-items: stretch; flex-direction: column; }
  .committee-toolbar label { width: 100%; }
  .committee-member-grid { grid-template-columns: minmax(0, 1fr); }
  .committee-record-list button { grid-template-columns: minmax(0, 1fr); gap: 6px; }

  .home-bill-list-head { align-items: stretch; flex-direction: column; }
  .home-bill-list-head .quiet-button { align-self: flex-start; min-height: 44px; }
  .home-bill-columns { display: none; }
  .home-bill-row,
  .home-bill-row.single-chamber {
    grid-template-columns: 74px minmax(0, 1fr);
    gap: 8px;
    padding: 12px 9px;
  }
  .home-bill-row .home-bill-sponsor,
  .home-bill-row.single-chamber .home-bill-sponsor { display: block; grid-column: 2; }
  .home-bill-row.two-chamber > .home-bill-sponsor { display: block; grid-column: 2; }

  table { display: block; width: 100%; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  th, td { min-width: 105px; }
  input, select, textarea { max-width: 100%; font-size: 16px; }
  button, summary, a.quiet-button, .ilcs-link { touch-action: manipulation; }
}

@media (max-width: 480px) {
  .sidebar { grid-template-columns: 50px minmax(0, 1fr); padding-left: 7px; padding-right: 7px; }
  .brand { width: 50px; }
  .brand-logo { width: 46px; }
  .mega-tab { padding: 7px 5px; font-size: 9px; }
  .nav-item,
  .nav-item.active,
  .nav-item:not(.active),
  .nav-item-compact,
  .sidebar-disclosure summary { padding-left: 9px; padding-right: 9px; font-size: 10px; }
  .sidebar-subnav { top: 110px; left: 7px; right: 7px; }
  .topbar { padding: 8px 10px; }
  .topbar-actions .quiet-button { font-size: 0; width: 42px; padding: 0; }
  #global-settings::before { content: "⚙"; font-size: 15px; }
  #accessibility-button::before { content: "Aa"; font-size: 13px; font-weight: 850; }
  .unified-search-controls { grid-template-columns: 1fr; }
  .unified-search-controls .primary-button { min-height: 48px; }
  .accessibility-options { grid-template-columns: 1fr; }
  .legislator-finder-dialog { width: calc(100vw - 12px); height: calc(100dvh - 12px); border-radius: 8px; }
  .legislator-finder-head { padding: 12px; gap: 10px; }
  .legislator-finder-head .eyebrow { display: none; }
  .legislator-finder-head h2 { font-size: 19px; }
  .legislator-finder-head p:not(.eyebrow) { font-size: 9px; }
  .legislator-finder-actions { gap: 6px; }
  .legislator-finder-actions .quiet-button { padding: 8px; font-size: 9px; }
  .my-government-result-head { flex-direction: column; }
  .view,
  .ilga-home-view { padding-left: 9px; padding-right: 9px; }
  .home-legislation-head { align-items: flex-start; }
  .home-legislation-head .quiet-button { padding-left: 10px; padding-right: 10px; }
  .home-range-grid { grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); gap: 6px; }
  .home-range-grid.appointment-ranges { grid-template-columns: minmax(0, 1fr); }
  .member-profile-hero { grid-template-columns: 64px minmax(0, 1fr); }
  .member-portrait { width: 64px; }
  .member-profile-heading h3 { font-size: 25px; }
  .member-profile-meta { font-size: 10px; }
  .member-contact-row { grid-template-columns: minmax(0, 1fr); gap: 3px; }
  .member-contact-row .eyebrow { margin-bottom: 1px; }
  .member-map-heading { align-items: stretch; flex-direction: column; }
  .member-map-heading .quiet-button { width: 100%; }
  .ilcs-reader-head { align-items: stretch; }
  .reader-actions { justify-content: space-between; }
  .reader-actions .primary-button { flex: 1 1 auto; }
}
