/* Modern blue: mobile first, logical properties for Hebrew/Arabic and English/Russian. */
:root { --ink:#172b4d; --navy:#172b4d; --blue:#245bdb; --cyan:#245bdb; --mint:#eef4ff; --sky:#eef4ff; --paper:#fff; --warm:#f7f8fa; --muted:#53637a; --line:#dce3ed; --surface:#fff; --cream:#f7f8fa; --shadow:none; }
body { background:#fff; font-size:16px; }
html { scroll-behavior:auto; scroll-padding-block-start:90px; }
h1 { font-size:clamp(1.65rem,4vw,2.2rem); line-height:1.35; letter-spacing:-.025em; }
h2 { font-size:1.25rem; line-height:1.45; letter-spacing:0; }
h3 { line-height:1.5; }
a,button,summary,input,select,textarea { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
a { text-underline-offset:4px; }
p, h1,h2,h3,h4,a,button,summary,label { overflow-wrap:anywhere; }
button,.button,input,select { min-height:48px; border-radius:10px; }
button,.button { background:var(--blue); border-color:var(--blue); color:white; box-shadow:none; }
button:hover,.button:hover { background:#1949b8; color:#fff; transform:none; }
button:disabled { opacity:.5; cursor:not-allowed; }
button.ghost,.button.ghost { background:white; color:var(--blue); border:1px solid var(--line); }
input,select,textarea { font-size:1rem; background:white; color:var(--ink); min-width:0; max-width:100%; }
textarea { resize:vertical; }
input:focus,select:focus,textarea:focus { border-color:var(--blue); }
.ui-icon { display:inline-block; vertical-align:middle; flex-shrink:0; }
html[dir=ltr] .row-arrow, html[dir=ltr] .all-topics .ui-icon, html[dir=ltr] .more-links .ui-icon { transform:rotate(180deg); }
.site-header { background:#fff; backdrop-filter:none; box-shadow:none; min-height:68px; padding:.5rem max(1rem,calc((100vw - 1120px)/2)); gap:1rem; }
.brand { color:var(--blue); gap:.5rem; }
.brand-lockup strong {font-size:1.4rem;letter-spacing:-.04em;}
.brand-lockup small {display:none;}
.brand-mark {width:28px;height:28px;flex-basis:28px;border-radius:0;}
.language-picker select {min-height:44px;max-width:110px;}
.site-header nav a {border-radius:8px;font-weight:600;}
.site-header nav a[aria-current=page] {background:var(--sky);color:var(--blue);}
.demo-data-banner {padding:.4rem 1rem;background:#f7f8fa;border-bottom:1px solid var(--line);color:var(--muted);font-size:.8rem;font-weight:400;}
.demo-data-banner summary {min-height:28px;cursor:pointer;}
.demo-data-banner p {max-width:780px;margin:.4rem auto;}
.page-hero,.page-hero.compact {background:white; padding:2rem max(1rem,calc((100vw - 960px)/2)) 1rem;min-height:0;}
.page-hero h1 {font-size:clamp(1.65rem,4vw,2.2rem);line-height:1.35;}
.page-hero p {font-size:1rem;max-width:72ch;}
.section {padding:1.5rem max(1rem,calc((100vw - 960px)/2)) 3rem;}
.eyebrow,.dimension,h1 em,.text-link {color:var(--blue);letter-spacing:0;}
.category-badge,.confidence,.status,.self-badge {background:var(--sky);color:var(--navy);}
.auth-shell {padding:2rem 1rem; min-height:0;background:#fff;}
.auth-card,.profile-stack,.form-section {max-width:640px;}
.auth-card {border:1px solid var(--line);border-radius:14px;box-shadow:none;}
.auth-card h1 {font-size:1.8rem;}
.notice,.notice.success,.result-card {background:#f5f8ff;color:var(--ink);border-color:var(--line);}
.notice.error,.danger-button {color:#9c241c;background:#fff5f4;border-color:#eab6b2;}
.notice a {text-decoration:underline;}
.section-heading h2 {font-size:1.5rem;}
footer {font-size:.85rem;gap:1rem;flex-wrap:wrap;background:#fff;}
footer nav {display:flex;flex-wrap:wrap;gap:.5rem 1rem;}
footer a {display:inline-flex;align-items:center;min-height:44px;}
.discovery-shell {max-width:800px;margin:auto;padding:1.75rem 1.25rem 3rem;min-height:65vh;}
.discovery-heading {display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.discovery-heading h1 {margin:0;}
.discovery-heading p {font-size:.96rem;color:var(--muted);margin:.5rem 0 0;}
.icon-link,.icon-button {display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;flex-shrink:0;background:transparent;color:var(--ink);border:1px solid transparent;}
.icon-link:hover,.icon-button:hover,.icon-button[aria-pressed=true] {color:var(--blue);background:var(--sky);}
.icon-button[aria-pressed=true] svg {fill:#dbe7ff;}
.discovery-tools {display:flex;gap:1rem;align-items:center;justify-content:space-between;margin-block:1.25rem;}
.filter-link {border:1px solid var(--line);padding:.55rem .85rem;border-radius:8px;min-height:44px;}
.discovery-tools .text-link {font-size:.9rem;}
.topic-grid {display:block;border-top:1px solid var(--line);}
.topic-card {border:0;border-bottom:1px solid var(--line);border-radius:0;background:white;padding:0;min-height:0;box-shadow:none;display:block;}
.topic-card:hover {transform:none;box-shadow:none;border-color:var(--line);background:#f9fbff;}
.topic-row-link {display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.3rem .25rem;min-height:108px;}
.topic-row-link:focus-visible {outline-offset:-3px;}
.topic-card-copy {min-width:0;}
.topic-card h2 {font-size:1.15rem;line-height:1.45;margin:.1rem 0 .4rem;font-weight:700;}
.topic-category {color:var(--muted);font-size:.83rem;}
.row-meta {display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;color:var(--muted);font-size:.85rem;}
.row-state {color:var(--blue);}
.saved-marker .ui-icon {width:16px;height:16px;}
.row-arrow {color:var(--muted);}
.all-topics {display:flex;align-items:center;gap:.6rem;min-height:48px;color:var(--blue);width:max-content;max-width:100%;margin-block:1rem;}
.idea-strip {display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);margin-top:2.5rem;padding-block:1rem;font-size:.95rem;}
.idea-strip a {color:var(--blue);padding:.5rem 0;}
.filter-disclosure {margin-block:1.25rem;}
summary {cursor:pointer;min-height:44px;padding-block:.5rem;}
.filter-disclosure > summary {color:var(--blue);border-bottom:1px solid var(--line);}
.filter-bar {box-shadow:none;border:0;background:white;padding:.5rem 0;gap:.6rem;display:grid;grid-template-columns:minmax(0,1fr);}
.filter-bar label {min-width:0;max-width:100%;}
.filter-bar input,.filter-bar select {width:100%;}
.catalog-summary {display:block;border:0;background:none;margin:0;padding:0;box-shadow:none;border-radius:0;font-size:.85rem;color:var(--muted);flex-shrink:0;}
.results-heading {display:flex;flex-direction:row;align-items:center;gap:1rem;margin:1.2rem 0 .65rem;}
.results-heading h2 {font-size:1rem;margin:0;}
.results-heading span {font-size:.85rem;}
.category-disclosure {margin:.5rem 0;background:white;}
.category-directory {grid-template-columns:repeat(2,minmax(0,1fr));}
.category-tile {text-align:start;background:white;color:var(--ink);min-width:0;}
.category-tile:hover,.category-tile.selected {background:var(--sky);color:var(--blue);}
.category-icon {color:var(--blue);background:var(--sky);}
.category-tile small {font-size:.75rem;}
.pagination {flex-wrap:wrap;}
.pagination button {background:white;color:var(--blue);min-width:44px;}
.pagination button.active {background:var(--blue);color:white;}
.activity-section {margin-block:2rem;}
.secondary {color:var(--muted);font-size:.9rem;}
.more-links {display:grid;margin-top:1rem;}
.more-links a {display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:58px;padding:.65rem 0;border-bottom:1px solid var(--line);}
.mobile-dock {display:none;}
.topic-heading {max-width:800px;margin:auto;padding:1.5rem 1.25rem .5rem !important;}
.back-link {display:inline-flex;min-height:44px;align-items:center;color:var(--blue);font-size:.9rem;}
.topic-title-line {display:flex;align-items:center;justify-content:space-between;gap:.75rem;}
.topic-title-line h1 {font-size:clamp(1.4rem,4vw,1.9rem);margin:.5rem 0;}
.context-disclosure {border-bottom:1px solid var(--line);font-size:.95rem;}
.context-disclosure summary {color:var(--muted);}
.context-disclosure details {padding-inline-start:.75rem;}
.context-disclosure p {margin:.5rem 0 1rem;}
.topic-layout {max-width:800px;margin:auto;padding:1rem 1.25rem 2rem;display:flex;flex-direction:column;gap:1rem;}
.result-card {position:static;border:1px solid var(--line);border-radius:12px;box-shadow:none;}
.result-card h2 {font-size:1.5rem;}
.results-locked {order:2;font-size:.85rem;color:var(--muted);margin:.5rem 0;}
.questions {min-width:0;}
.ballot-meter {font-size:.83rem;color:var(--muted);padding:0;border:0;background:white;margin:.25rem 0;}
.wizard-header {margin:1rem 0;}
.wizard-header h2 {font-size:.95rem;font-weight:400;color:var(--muted);margin:0 0 .5rem;scroll-margin-block-start:100px;}
progress {display:block;width:100%;height:5px;border:0;border-radius:4px;overflow:hidden;accent-color:var(--blue);background:var(--line);}
progress::-webkit-progress-bar {background:var(--line);}
progress::-webkit-progress-value {background:var(--blue);}
progress::-moz-progress-bar {background:var(--blue);}
.question-card {display:block;position:relative;padding:1.25rem 0;border:0;border-bottom:1px solid var(--line);box-shadow:none;background:white;}
.question-number {display:none;}
.question-card h3 {font-size:clamp(1.25rem,3.5vw,1.6rem);line-height:1.5;margin:.65rem 0 1.5rem;}
.vote-actions {display:grid;grid-template-columns:1fr;gap:.7rem;}
.vote-button,.vote-button.no,.vote-button.undecided {width:100%;text-align:start;background:#fff;color:var(--ink);border:1px solid #aebbd0;border-radius:10px;min-height:54px;grid-column:auto;font-weight:500;padding:.8rem 1rem;}
.vote-button:before {content:'';display:inline-block;width:18px;height:18px;border:1.5px solid #697891;border-radius:50%;margin-inline-end:.8rem;vertical-align:middle;}
.vote-button:hover,.vote-button.no:hover,.vote-button.undecided:hover {background:#f5f8ff;color:var(--ink);border-color:var(--blue);}
.vote-button.selected,.vote-button.no.selected,.vote-button.undecided.selected {background:var(--sky);color:var(--navy);border:2px solid var(--blue);padding:calc(.8rem - 1px) calc(1rem - 1px);box-shadow:none;}
.vote-button.selected:before {background:var(--blue);border-color:var(--blue);box-shadow:inset 0 0 0 4px white;}
.choice-status {font-size:.8rem;color:var(--muted);}
.wizard-controls {position:sticky;bottom:0;padding:.75rem 0 calc(.75rem + env(safe-area-inset-bottom));background:#fff;z-index:8;margin-top:1rem;border-top:1px solid var(--line);}
.wizard-controls p {margin:0 0 .5rem;font-size:.8rem;}
.wizard-buttons {display:grid;grid-template-columns:1fr 2fr;gap:.75rem;}
.wizard-buttons button {width:100%;}
.draft-details {font-size:.8rem;color:var(--muted);margin-top:.5rem;}
.draft-details summary {font-size:.85rem;}
.text-button {background:transparent;border:0;color:var(--blue);min-width:44px;text-decoration:underline;padding:.5rem;}
.text-button:hover {background:var(--sky);color:var(--blue);}
.ballot-review {padding-top:1rem;}
.ballot-review h2 {font-size:1.65rem;scroll-margin-block-start:100px;}
.review-row {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;border-bottom:1px solid var(--line);padding:1rem 0;align-items:center;}
.review-row p {margin:.3rem 0;}
.review-row .text-button {align-self:center;}
.ballot-confirmation {display:flex;flex-direction:column;align-items:stretch;gap:.5rem;border:0;background:#fff;padding:1rem 0;position:sticky;bottom:0;z-index:8;margin-top:1rem;}
.ballot-confirmation p {font-size:.85rem;margin:.25rem 0;}
.ballot-confirmation button {width:100%;}
#ballotMessage:empty {display:none;}
#ballotMessage .notice {margin:.25rem 0;}
.vote-bar i {background:var(--blue);}
.question-geography-toggle {background:var(--sky);color:var(--blue);max-width:100%;white-space:normal;}
.question-geography-panel {max-width:100%;}
.question-geography-table-wrap {overflow:auto;}
.question-geography {overflow-wrap:anywhere;}
.queue-card,.user-card,.notification-card,.success-screen,.method-card {box-shadow:none;}
.steps article {box-shadow:none;border-top-color:var(--blue);}
.queue,.inline-editor,.profile-stack,.auth-card,.editor-form,.user-permissions {min-width:0;}
.audit-table th,.audit-table td {text-align:start;}
.audit-filters {display:flex;flex-wrap:wrap;}
.audit-filters label {flex:1 1 150px;min-width:0;}
@media(min-width:681px) { .filter-bar {grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);} .category-directory{grid-template-columns:repeat(3,minmax(0,1fr));} }
@media(max-width:1000px) { .site-header nav {gap:0;flex-wrap:wrap;} .site-header nav a{padding:.5rem;} .site-header{gap:.6rem;} }
@media(max-width:680px) {
 body {padding-bottom:calc(68px + env(safe-area-inset-bottom));}
 .site-header {grid-template-columns:minmax(0,1fr) auto auto;min-height:64px;padding:.5rem 1rem;gap:.5rem;}
 .brand-mark{display:none;}
 .brand-lockup strong{font-size:1.3rem;}
 .language-picker select{max-width:96px;font-size:.85rem;}
 .nav-toggle {font-size:.85rem;padding:.4rem;min-width:44px;min-height:44px;}
 .site-header nav {background:#fff;box-shadow:none;inset-block-start:64px;height:calc(100dvh - 64px);padding-bottom:calc(1rem + env(safe-area-inset-bottom));}
 .nav-account-actions {background:white;}
 .mobile-dock {position:fixed;bottom:0;inset-inline:0;z-index:19;display:grid;grid-template-columns:repeat(3,1fr);background:white;border-top:1px solid var(--line);padding:.25rem 1rem calc(.25rem + env(safe-area-inset-bottom));}
 .mobile-dock a {display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.2rem;min-height:56px;font-size:.75rem;color:var(--muted);}
 .mobile-dock a[aria-current=page] {color:var(--blue);font-weight:700;}
 .mobile-dock a[aria-current=page]:after {content:'';width:24px;height:2px;background:var(--blue);}
 .ballot-focus .mobile-dock, .nav-open .mobile-dock {display:none;}
 .ballot-focus {padding-bottom:0;}
 .discovery-shell {padding:1.2rem 1rem 2rem;}
 .discovery-heading p {max-width:30ch;font-size:.88rem;}
 .topic-heading {padding:1rem 1rem .25rem !important;}
 .topic-layout {padding:.5rem 1rem 1.5rem;}
 .topic-title-line h1 {font-size:1.4rem;}
 .topic-row-link {padding:1.15rem 0;}
 .topic-card h2 {font-size:1.08rem;}
 .row-meta {font-size:.8rem;}
 .topic-catalog .catalog-summary {font-size:.75rem;}
 .auth-card {padding:1.25rem;border:0;}
 .auth-shell {padding:1rem .25rem;}
 .auth-card h1 {font-size:1.65rem;}
 .section {padding:1rem 1rem 2rem;}
 .page-hero,.page-hero.compact {padding:1.5rem 1rem .5rem;}
 .page-hero h1 {font-size:1.75rem;}
 .editor-actions,.actions {flex-wrap:wrap;}
 .actions > * {max-width:100%;}
 .user-permissions {grid-template-columns:1fr;}
 .audit-detail-grid,.audit-change {grid-template-columns:1fr;}
 .question-geography-layout {grid-template-columns:1fr;}
 .ballot-confirmation {padding-bottom:calc(.75rem + env(safe-area-inset-bottom));}
 footer {padding:1.5rem 1rem;}
 footer>div {display:none;}
 .brand-lockup strong {white-space:nowrap;}
}
@media(prefers-reduced-motion:reduce) {*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important;}}

.vote-actions .vote-button {min-height:54px;}
.wizard-active .vote-bar,.wizard-active .vote-results,.wizard-active .question-geography {display:none;}
@media(max-width:680px){.category-directory{grid-template-columns:1fr;} .category-icon{width:44px;height:44px;flex-shrink:0;}}

/* Keep desktop navigation compact; secondary destinations remain under More. */
@media(min-width:681px){#nav>a[href="/suggest"],#nav>a[href="/how-it-works"],#mySuggestionsNavLink,#adminNavLink,#auditNavLink{display:none;} .site-header nav{min-width:0;flex-wrap:wrap;} .brand,.language-picker{flex-shrink:0;}}
input:focus,select:focus,textarea:focus{outline:3px solid #c8d9ff;border-color:var(--blue);}
.geography-region-card.active{border-color:var(--blue);box-shadow:0 0 0 3px #e4edff;}
.question-geography-toggle:hover,.question-geography-toggle:focus-visible{box-shadow:0 0 0 3px #e4edff;}
.geography-map-panel{background:#f8faff;}
.sort-help{margin:.5rem 0 1rem;}

/* r19: illustrated cards, blue and white. */
body {background:#f6f8fc;}
.brand {color:var(--navy);}
.brand-mark {width:38px;height:38px;flex-basis:38px;}
.discovery-shell {max-width:1160px;padding:2rem 1.5rem 3rem;}
.home-intro {text-align:center;margin:0 auto 1.2rem;max-width:760px;}
.home-intro h1 {font-size:clamp(1.6rem,3.4vw,2.5rem);margin:0 0 .45rem;color:var(--navy);}
.home-intro p {margin:0;color:var(--muted);font-size:1rem;}
.home-search {display:flex;align-items:center;gap:.25rem;background:white;border:1px solid #cdd8e8;border-radius:12px;max-width:720px;margin:0 auto;}
.home-search input {flex:1;width:100%;min-width:0;border:0;padding:.75rem 1rem;background:transparent;}
.home-search .icon-button {margin-inline-end:.2rem;}
.category-chips {display:flex;justify-content:center;gap:.5rem;margin:.9rem 0 1.5rem;overflow:auto;padding:3px;scrollbar-width:thin;}
.category-chips a {display:inline-flex;align-items:center;gap:.4rem;flex-shrink:0;min-height:44px;padding:.45rem .85rem;border:1px solid var(--line);border-radius:24px;background:white;font-size:.85rem;white-space:nowrap;}
.category-chips svg {width:18px;height:18px;color:var(--blue);}
.category-chips a:hover {border-color:var(--blue);}
.category-chips a.selected {background:var(--blue);border-color:var(--blue);color:white;}
.feed-heading {margin-block:0 .85rem;}
.feed-heading h2 {font-size:1.4rem;margin:0;}
.feed-heading .text-link {display:inline-flex;align-items:center;gap:.4rem;min-height:44px;font-size:.85rem;}
html[dir=ltr] .feed-heading .ui-icon {transform:rotate(180deg);}
.topic-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;border:0;}
.topic-card {border:1px solid #dde5f0;border-radius:16px;padding:0;background:#fff;overflow:hidden;box-shadow:0 3px 14px #17365b04;display:flex;min-width:0;}
.topic-card:hover {background:#fff;border-color:#9fbaf0;box-shadow:0 6px 22px #17365b0a;}
.topic-row-link {display:grid;grid-template-columns:minmax(0,1fr) 90px;align-items:start;gap:.2rem .5rem;padding:1.1rem;min-height:100%;width:100%;}
.topic-card-copy {grid-area:1/1;display:flex;flex-direction:column;min-width:0;height:100%;}
.topic-art {grid-area:1/2;align-self:start;width:90px;padding-top:.25rem;}
.topic-illustration {display:block;width:100%;height:auto;}
.topic-category {display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--muted);line-height:1.5;}
.topic-category svg {width:18px;height:18px;color:var(--blue);flex-shrink:0;}
.topic-card h2 {font-size:1.12rem;line-height:1.45;margin:.45rem 0;color:var(--navy);}
.topic-description {font-size:.87rem;line-height:1.6;margin:0 0 .9rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.row-meta {font-size:.77rem;margin-top:auto;gap:.4rem .6rem;}
.row-meta>span:first-child {display:inline-flex;align-items:center;gap:.3rem;}
.row-meta .ui-icon {width:16px;height:16px;}
.row-state {background:var(--sky);border-radius:6px;padding:.15rem .35rem;}
.card-action {display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-height:42px;margin-top:.85rem;color:var(--blue);font-size:.88rem;font-weight:700;}
.card-action .row-arrow {color:inherit;}
.card-action .ui-icon {width:18px;height:18px;}
.card-progress {height:5px;margin-top:.65rem;}
.topic-featured {grid-column:span 2;grid-row:span 2;background:#edf3ff;}
.topic-featured:hover {background:#edf3ff;}
.topic-featured .topic-row-link {grid-template-columns:minmax(0,1fr);padding:1.6rem 1.8rem;position:relative;isolation:isolate;min-height:320px;}
.topic-featured .topic-card-copy {grid-area:1/1;max-width:64%;height:100%;z-index:1;}
.topic-featured .topic-art {grid-area:1/1;align-self:end;justify-self:end;width:53%;padding:0;margin-inline-end:-1.4rem;margin-block-end:-.5rem;z-index:0;}
.topic-featured .topic-category {color:#38577f;}
.topic-featured h2 {font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.35;margin:.65rem 0;}
.topic-featured .topic-description {-webkit-line-clamp:3;max-width:34ch;font-size:.96rem;}
.topic-featured .row-meta {margin-top:1rem;}
.topic-featured .card-action {background:var(--blue);color:white;border-radius:10px;padding:.6rem .9rem;width:fit-content;min-width:130px;gap:1rem;margin-top:1rem;}
.home-topic-grid>.topic-card:nth-child(2) {grid-column:3;grid-row:1;}
.home-topic-grid>.topic-card:nth-child(3) {grid-column:3;grid-row:2;}
.home-topic-grid>.topic-card:nth-child(2) .topic-description,.home-topic-grid>.topic-card:nth-child(3) .topic-description {display:none;}
.home-topic-grid>.topic-card:nth-child(2) .topic-row-link,.home-topic-grid>.topic-card:nth-child(3) .topic-row-link {padding:.9rem 1rem;}
.home-topic-grid>.topic-card:nth-child(2) .card-action,.home-topic-grid>.topic-card:nth-child(3) .card-action {margin-top:.35rem;}
.all-topics {margin:1rem auto;justify-content:center;border:1px solid var(--line);border-radius:10px;background:white;padding:.5rem 1.1rem;font-size:.9rem;}
.how-strip {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;border:1px solid var(--line);border-radius:14px;background:white;padding:1.1rem;margin-top:1.5rem;}
.how-strip a {display:flex;align-items:center;gap:.85rem;min-width:0;}
.how-strip strong {display:block;font-size:.9rem;margin-bottom:.2rem;}
.how-strip small {display:block;color:var(--muted);font-size:.78rem;line-height:1.5;}
.step-art {position:relative;display:flex;align-items:center;justify-content:center;width:52px;height:52px;flex-shrink:0;background:var(--sky);border-radius:50%;color:var(--blue);}
.step-art small {position:absolute;inset-inline-start:-3px;top:-3px;border-radius:50%;background:var(--blue);color:white;width:19px;height:19px;font-size:11px;text-align:center;line-height:19px;}
.idea-strip {margin-top:1.5rem;}
.filter-disclosure {background:white;border:1px solid var(--line);border-radius:12px;padding:.5rem 1rem;}
.filter-disclosure>summary {border:0;font-size:.9rem;}
.filter-bar {padding:.4rem 0;}
.category-disclosure {font-size:.85rem;}
.topic-heading {background:transparent;max-width:850px;}
.topic-title-line {justify-content:flex-start;}
.topic-title-line h1 {flex:1;}
.topic-heading-icon {width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;flex-shrink:0;background:#e6efff;color:var(--blue);}
.topic-layout {max-width:850px;}
.context-disclosure {border:1px solid var(--line);border-radius:12px;padding:.2rem .85rem;background:white;margin-top:.5rem;}
.questions {background:white;border:1px solid var(--line);border-radius:16px;padding:1.25rem 1.5rem;}
.wizard-header {margin:.8rem 0;}
.wizard-header progress {height:7px;background:#e3eaf5;}
.question-card {padding:1rem 0;border:0;}
.dimension {display:inline-flex;background:var(--sky);padding:.25rem .7rem;border-radius:20px;font-size:.8rem;}
.question-card h3 {margin:1rem 0 1.5rem;}
.vote-button,.vote-button.no,.vote-button.undecided {border-color:#c5d0e0;}
.ballot-focus .questions {box-shadow:0 5px 24px #17365b05;}
.more-links {background:white;border:1px solid var(--line);border-radius:14px;padding:0 1.1rem;}
.more-links a:last-child {border-bottom:0;}
.activity-section>h2 {display:flex;align-items:center;gap:.6rem;}
.activity-section>h2:before {content:'';display:block;width:5px;height:22px;background:var(--blue);border-radius:3px;}
@media(min-width:681px){.vote-actions{grid-template-columns:repeat(3,minmax(0,1fr));}.choice-status{grid-column:1/-1;}.vote-button,.vote-button.no,.vote-button.undecided{text-align:center;padding:.8rem .4rem;}.vote-button:before{display:none;}.vote-button.selected,.vote-button.no.selected,.vote-button.undecided.selected{padding:calc(.8rem - 1px) calc(.4rem - 1px);}}
@media(min-width:681px) and (max-width:980px){
 .topic-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 .home-topic-grid>.topic-card:nth-child(2),.home-topic-grid>.topic-card:nth-child(3) {grid-column:auto;grid-row:auto;}
 .topic-featured {grid-row:auto;}
 .topic-featured .topic-row-link {min-height:280px;}
 .topic-featured .topic-art {width:42%;}
}
@media(max-width:680px){
 .site-header {min-height:60px;padding:.35rem 1rem;gap:.4rem;}
 .brand {gap:.35rem;}
 .brand-mark {display:block;width:30px;height:30px;flex-basis:30px;}
 .brand-lockup strong {font-size:1.2rem;}
 .site-header nav {inset-block-start:60px;height:calc(100dvh - 60px);}
 .language-picker select {font-size:.8rem;max-width:92px;}
 .nav-toggle {font-size:.8rem;}
 .demo-data-banner {font-size:.7rem;padding:.1rem .75rem;}
 .demo-data-banner summary {min-height:28px;padding-block:.3rem;}
 .discovery-shell {padding:1.1rem 1rem 2rem;}
 .home-intro {text-align:start;margin:0 0 .85rem;}
 .home-intro h1 {font-size:1.55rem;margin-bottom:.35rem;}
 .home-intro p {font-size:.85rem;line-height:1.55;}
 .home-search input {font-size:.88rem;min-height:46px;padding:.65rem .85rem;}
 .home-search .icon-button {min-height:44px;min-width:44px;}
 .category-chips {justify-content:flex-start;margin:.65rem 0 .65rem;gap:.4rem;}
 .category-chips a {font-size:.75rem;padding:.35rem .7rem;}
 .category-chips svg {display:none;}
 .feed-heading {margin:0 0 .6rem;}
 .feed-heading h2 {font-size:1.15rem;}
 .feed-heading .text-link {font-size:.78rem;}
 .topic-grid {grid-template-columns:1fr;gap:.7rem;}
 .topic-card {border-radius:13px;}
 .topic-row-link {grid-template-columns:minmax(0,1fr) 82px;gap:.2rem .5rem;padding:.85rem 1rem;}
 .topic-art {width:82px;align-self:center;}
 .topic-card h2 {font-size:1.02rem;margin:.3rem 0 .4rem;line-height:1.45;}
 .topic-category {font-size:.7rem;}
 .topic-category svg {width:16px;height:16px;}
 .topic-description {font-size:.8rem;margin-bottom:.6rem;-webkit-line-clamp:2;}
 .row-meta {font-size:.72rem;}
 .card-action {margin-top:.35rem;min-height:36px;font-size:.8rem;}
 .topic-featured {grid-column:auto;grid-row:auto;}
 .topic-featured .topic-row-link {padding:1rem;min-height:230px;}
 .topic-featured .topic-card-copy {max-width:71%;}
 .topic-featured .topic-art {width:43%;margin-inline-end:-.8rem;margin-block-end:0;}
 .topic-featured h2 {font-size:1.32rem;}
 .topic-featured .topic-description {font-size:.82rem;-webkit-line-clamp:2;max-width:29ch;}
 .topic-featured .row-meta {margin-top:.5rem;}
 .topic-featured .card-action {font-size:.82rem;min-width:110px;min-height:44px;margin-top:.7rem;padding:.4rem .7rem;}
 .home-topic-grid>.topic-card:nth-child(2),.home-topic-grid>.topic-card:nth-child(3) {grid-column:auto;grid-row:auto;}
 .home-topic-grid>.topic-card:nth-child(2) .topic-row-link,.home-topic-grid>.topic-card:nth-child(3) .topic-row-link {padding:.85rem 1rem;}
 .home-topic-grid .topic-card:not(.topic-featured) .topic-description {display:none;}
 .how-strip {grid-template-columns:1fr;padding:1rem;gap:1rem;}
 .how-strip a {min-height:52px;}
 .step-art {width:44px;height:44px;}
 .filter-disclosure {padding:.4rem .75rem;margin:.8rem 0;}
 .topic-catalog .discovery-heading {align-items:flex-start;}
 .topic-catalog .discovery-heading h1 {font-size:1.5rem;}
 .topic-catalog .catalog-summary {max-width:40%;font-size:.7rem;text-align:end;}
 .topic-heading {padding:.85rem 1rem .25rem!important;}
 .topic-title-line {gap:.5rem;}
 .topic-title-line h1 {font-size:1.2rem;line-height:1.5;}
 .topic-heading-icon {width:34px;height:34px;border-radius:10px;}
 .topic-heading-icon svg {width:21px;height:21px;}
 .topic-layout {padding:.6rem .7rem 1.25rem;}
 .questions {padding:1rem;border-radius:14px;}
 .question-card h3 {font-size:1.25rem;margin:.85rem 0 1.2rem;}
 .wizard-controls {padding-top:.65rem;}
 .wizard-header {margin:.6rem 0;}
 .context-disclosure {font-size:.85rem;}
 .mobile-dock {padding-top:.15rem;padding-bottom:calc(.15rem + env(safe-area-inset-bottom));}
 .mobile-dock a {min-height:53px;}
}
@media(max-width:350px){
 .site-header {padding-inline:.7rem;}
 .brand-mark {width:26px;height:26px;flex-basis:26px;}
 .brand-lockup strong {font-size:1.05rem;}
 .discovery-shell {padding-inline:.75rem;}
 .topic-row-link {grid-template-columns:minmax(0,1fr) 65px;padding:.8rem;}
 .topic-art {width:65px;}
 .topic-featured .topic-card-copy {max-width:77%;}
 .topic-featured .topic-art {width:38%;}
 .topic-featured h2 {font-size:1.17rem;}
}
/* Give the illustration its own column so long translated titles never overlap it. */
.topic-featured .topic-row-link {grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:.6rem;}
.topic-featured .topic-card-copy {max-width:none;}
.topic-featured .topic-art {grid-area:1/2;width:100%;margin:0;align-self:end;}
@media(max-width:680px){.topic-featured .topic-row-link{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:.3rem;}.topic-featured .topic-art{align-self:center;}}

/* r20: a compact participation feed and an illustrated category directory. */
.purpose-band{display:flex;align-items:center;gap:.65rem;margin:0 0 1.4rem;padding:.8rem 1rem;border-radius:12px;background:#eaf1ff;color:#234774;font-size:.95rem;line-height:1.55;font-weight:500;}
.purpose-band>.ui-icon{flex-shrink:0;width:22px;height:22px;color:var(--blue);}
.home-discovery{max-width:1000px;}
.home-discovery .feed-heading{margin:0 0 .4rem;}
.feed-heading h1{font-size:1.45rem;margin:0;}
.home-search-disclosure{margin:.25rem 0 .65rem;}
.home-search-disclosure>summary{display:flex;align-items:center;gap:.5rem;min-height:44px;width:fit-content;cursor:pointer;color:var(--muted);font-size:.88rem;list-style:none;}
.home-search-disclosure>summary::-webkit-details-marker{display:none;}
.home-search-disclosure[open]>summary{color:var(--blue);}
.home-search-disclosure .home-search{max-width:none;margin-top:.35rem;}
.home-discovery .category-chips{justify-content:flex-start;margin:.4rem 0 1rem;scrollbar-width:none;}
.home-discovery .category-chips::-webkit-scrollbar{display:none;}
.home-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.home-topic-grid>.topic-card:nth-child(n){grid-column:auto;grid-row:auto;}
.home-topic-grid>.topic-card:nth-child(n) .topic-row-link{padding:1rem;grid-template-columns:minmax(0,1fr) 88px;align-items:center;}
.home-topic-grid>.topic-card:nth-child(n) .topic-art{width:88px;align-self:center;}
.home-topic-grid>.topic-card:nth-child(n) .topic-description{display:-webkit-box;-webkit-line-clamp:1;margin-bottom:.55rem;}
.home-topic-grid>.topic-card:nth-child(n) .card-action{margin-top:.3rem;min-height:36px;}
.home-topic-grid .topic-card h2{font-size:1.1rem;margin:.35rem 0;}
.participation-guide{border-top:1px solid var(--line);margin-top:1.3rem;padding-top:.25rem;}
.participation-guide>summary{cursor:pointer;min-height:48px;align-content:center;color:var(--navy);font-size:.9rem;}
.participation-guide .how-strip{margin-top:.5rem;}
.guide-note{color:var(--muted);font-size:.8rem;line-height:1.6;}
.fields-page{max-width:1000px;}
.fields-heading{margin:0 0 1.2rem;}
.fields-heading h1{font-size:1.55rem;line-height:1.4;margin:0 0 .4rem;}
.fields-heading p{color:var(--muted);font-size:.95rem;line-height:1.6;margin:0;}
.fields-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;}
.field-card{position:relative;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:.5rem;min-width:0;min-height:174px;padding:1rem .7rem;background:#fff;border:1px solid #dbe4f1;border-radius:16px;color:var(--navy);text-align:center;transition:border-color .15s,box-shadow .15s;}
.field-card:hover{border-color:#8baef5;box-shadow:0 4px 16px #17365b0a;background:#fafdff;}
.field-art{width:116px;max-width:80%;}
.field-card strong{font-size:1rem;line-height:1.45;overflow-wrap:anywhere;}
.field-card>.ui-icon{position:absolute;inset-inline-end:.65rem;top:.65rem;width:16px;height:16px;color:#7290be;}
html[dir=ltr] .field-card>.ui-icon,html[dir=ltr] .fields-link>.ui-icon{transform:rotate(180deg);}
.fields-link{display:flex;align-items:center;gap:.4rem;width:fit-content;min-height:44px;font-size:.85rem;color:var(--blue);}
.home-search-disclosure summary:focus-visible,.participation-guide summary:focus-visible,.field-card:focus-visible{outline:3px solid #9abbff;outline-offset:3px;}
@media(max-width:980px){.fields-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:680px){
 .purpose-band{font-size:.87rem;gap:.5rem;padding:.7rem .75rem;margin-bottom:1rem;border-radius:10px;}
 .purpose-band>.ui-icon{width:20px;height:20px;}
 .feed-heading h1{font-size:1.2rem;}
 .home-search-disclosure{margin:0;}
 .home-search-disclosure>summary{font-size:.8rem;}
 .home-discovery .category-chips{margin:.3rem 0 .8rem;}
 .home-topic-grid{grid-template-columns:minmax(0,1fr);gap:.65rem;}
 .home-topic-grid>.topic-card:nth-child(n) .topic-row-link{grid-template-columns:minmax(0,1fr) 76px;padding:.8rem .85rem;gap:.45rem;}
 .home-topic-grid>.topic-card:nth-child(n) .topic-art{width:76px;}
 .home-topic-grid .topic-card h2{font-size:1rem;line-height:1.4;}
 .home-topic-grid>.topic-card:nth-child(n) .topic-description{font-size:.78rem;margin-bottom:.45rem;}
 .home-topic-grid .topic-category{font-size:.67rem;}
 .fields-heading h1{font-size:1.3rem;}
 .fields-heading p{font-size:.85rem;}
 .fields-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;}
 .field-card{min-height:150px;padding:.8rem .5rem;gap:.3rem;border-radius:13px;}
 .field-art{width:104px;}
 .field-card strong{font-size:.95rem;}
 .participation-guide{margin-top:1rem;}
}
@media(max-width:350px){
 .purpose-band{font-size:.8rem;}
 .home-topic-grid>.topic-card:nth-child(n) .topic-row-link{grid-template-columns:minmax(0,1fr) 60px;padding:.7rem;}
 .home-topic-grid>.topic-card:nth-child(n) .topic-art{width:60px;}
 .field-card{min-height:140px;}
 .field-card strong{font-size:.87rem;}
}
