/* Compact first screens, distinct design systems, and shared alignment rules. */
/* Girly type is a separate preference so changing modes changes the font too. */
:root{--body-font:'DM Sans',system-ui,sans-serif;--heading-font:'Lora',Georgia,serif;--header-offset:114px}
html[data-layout=editorial]{--heading-font:'Lora',Georgia,serif;--body-font:'DM Sans',system-ui,sans-serif}
html[data-layout=civic]{--heading-font:'Manrope',system-ui,sans-serif;--body-font:'Manrope',system-ui,sans-serif}
html[data-layout=community]{--heading-font:'Nunito',system-ui,sans-serif;--body-font:'DM Sans',system-ui,sans-serif}
html[data-layout=bold]{--heading-font:'Bricolage Grotesque',system-ui,sans-serif;--body-font:'DM Sans',system-ui,sans-serif}
html[data-layout=bloom]{--heading-font:'Playfair Display',Georgia,serif;--body-font:'Nunito',system-ui,sans-serif}
html[data-typeface=sans]{--heading-font:'DM Sans',system-ui,sans-serif;--body-font:'DM Sans',system-ui,sans-serif}
html[data-typeface=serif]{--heading-font:'Lora',Georgia,serif;--body-font:'DM Sans',system-ui,sans-serif}
html[data-typeface=rounded]{--heading-font:'Nunito',system-ui,sans-serif;--body-font:'Nunito',system-ui,sans-serif}
html[data-typeface=editorial]{--heading-font:'Lora',Georgia,serif;--body-font:'Lora',Georgia,serif}
html[data-typeface=geometric]{--heading-font:'Manrope',system-ui,sans-serif;--body-font:'Manrope',system-ui,sans-serif}
html[data-typeface=display]{--heading-font:'Playfair Display',Georgia,serif;--body-font:'DM Sans',system-ui,sans-serif}
html[data-typeface=campaign]{--heading-font:'Bricolage Grotesque',system-ui,sans-serif;--body-font:'DM Sans',system-ui,sans-serif}
body{font-family:var(--body-font)}h1,h2,h3,.resource-card h3,.article-body h3,.agenda-event h3,.calc-art-card strong{font-family:var(--heading-font)}
html[data-mode=girly][data-layout]{--ink:#481b32;--plum:#8e2458;--red:#b71862;--paper:#fff4f9;--surface:#fffafd;--cream:#ffe1ed;--surface-2:#ffe1ed;--line:#edb2cc;--muted:#78445d;--rose:#ffcadd;--sage:#ffdfed;--soft-accent:#ffcadd;--positive:#ffdfed;--dark-surface:#861f52;--on-dark:#fff9fc;--on-accent:#fff;--sea:#ffe8f2;--shadow:0 6px 22px #a5235910}
html[data-mode=girly][data-layout=editorial]{--paper:#fff5f7;--surface:#fffafb;--cream:#ffe0e5;--surface-2:#ffe0e5;--soft-accent:#ffd0d9;--positive:#ffe8ed}
html[data-mode=girly][data-layout=civic]{--paper:#fff5fa;--surface:#fffaff;--cream:#ffe0f1;--surface-2:#ffe0f1;--soft-accent:#ffd0e9;--positive:#ffe4f3}
html[data-mode=girly][data-layout=community]{--paper:#fff4f5;--surface:#fffaf9;--cream:#ffdedf;--surface-2:#ffdedf;--soft-accent:#ffc9d1;--positive:#ffe1e8}
html[data-mode=girly][data-layout=bold]{--paper:#fff0f7;--cream:#ffd4e7;--surface-2:#ffd4e7;--soft-accent:#ffbfdc;--positive:#ffd4e7;--line:#e996bc}
html[data-mode=girly][data-layout=bloom]{--paper:#fff3fa;--cream:#ffdfef;--surface-2:#ffdfef;--soft-accent:#ffcde2;--positive:#ffe3f1}
html[data-mode=girly][data-palette=ocean]{--plum:#123e59;--red:#125e70}html[data-mode=girly][data-palette=forest]{--plum:#193f35;--red:#386327}html[data-mode=girly][data-palette=rose]{--plum:#8e2458;--red:#b71862}html[data-mode=girly][data-palette=terracotta]{--plum:#743719;--red:#8d391c}html[data-mode=girly][data-palette=indigo]{--plum:#37366f;--red:#66379c}
html[data-mode=girly] body:not([data-page]){--ink:#481b32;--surface:#fffafd;--surface-2:#ffe1ed;--paper:#fff4f9;--line:#edb2cc;--plum:#8e2458;--red:#b71862;--blue:#b71862;--muted:#78445d;--on-accent:#fff}
html[data-mode=girly] :is(.button.primary,.quick-modes button[aria-pressed=true],.mode-controls button[aria-pressed=true]){background:linear-gradient(135deg,#c51d69,#95244f);color:#fff;box-shadow:0 4px 12px #ad1e5b20}
html[data-mode=girly] .home-hero{background-image:radial-gradient(circle at 90% 16%,#ffb8d350 0 10%,transparent 10.2%),radial-gradient(circle at 7% 90%,#ffc7e34d 0 8%,transparent 8.2%)}
/* A consistent center line for controls and badges, regardless of font or shape. */
:is(.button,.appearance-strip button,.mode-controls button,.workspace-tabs button,.tool-tabs button,.calc-period button,.calc-pay-frequency button,.view-switch button,.icon-button,.small-button,.menu-button){display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.25;text-align:center;vertical-align:middle}
:is(.status-pill,.status-badge,.platform-badge,.workspace-badge,.placeholder-tag,.event-state){display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1.3;vertical-align:middle}
.button>span,.mode-controls button>span{margin:0;line-height:inherit}.calc-submit{justify-content:space-between}.calc-art-plus{display:grid;place-items:center;padding:0;line-height:1}.since-badge{gap:2px}.hero-label{transform:none}.hero-label strong,.hero-label small{margin:0;line-height:1.3}.hero-label>span{display:grid;place-items:center;align-self:center}
.site-nav a{display:inline-flex;align-items:center;justify-content:center;line-height:1.25;text-decoration:none}.panel-heading label{display:flex;align-items:center;gap:10px;line-height:1.3}.panel-heading label select{margin:0}
#managedEvents>.empty-events{margin:0 24px 24px;padding:18px 20px;border:1px dashed var(--line);border-radius:10px;background:var(--paper)}
#managedEvents>.managed-event{padding:16px 24px}#managedEvents>p{margin:0;padding:16px 24px 24px}
/* The utility row stays small; frequently used tools never hide in Explore. */
body[data-page] .utility{min-height:44px;padding:4px 32px;gap:10px;font-size:11px;flex-wrap:wrap}
body[data-page] .utility .appearance-strip{font-size:12px;gap:8px;margin-left:auto}
body[data-page] .utility .appearance-strip button{min-height:34px;padding:6px 10px}
body[data-page] .utility .language-select{margin-left:auto}
body[data-page] .site-header{min-height:66px;padding:8px 32px;gap:18px;flex-direction:row;width:100%;margin:0;border-radius:0;top:0;box-shadow:none}
body[data-page] .site-brand img{width:165px;max-height:54px;object-fit:contain}
body[data-page] .menu-button{display:none}
body[data-page] #primaryNav{gap:18px;font-size:13px}
.site-header .nav-dropdown{max-height:65vh;overflow:auto}.site-header details summary{line-height:1.3;justify-content:center}
.tool-nav{position:sticky;top:var(--site-header-height,70px);z-index:29;padding:5px 32px;display:flex;align-items:center;justify-content:center;gap:5px;background:var(--surface-2);border-bottom:1px solid var(--line);font-size:12px;line-height:1.25;overflow-x:auto;scrollbar-width:thin}
.tool-nav a{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:7px 12px;text-decoration:none;white-space:nowrap;border:1px solid transparent;border-radius:8px;font-weight:650;flex-shrink:0}
.tool-nav a[aria-current=page]{background:var(--surface);color:var(--red);border-color:var(--line)}.tool-nav a:hover{background:var(--surface);color:var(--red)}
/* Every page begins with a short heading and reaches its main content quickly. */
body[data-page] :is(.page-hero,.tool-hero,.calc-intro){display:block;padding-block:22px 18px;margin-top:0;margin-bottom:18px;min-height:0;border-radius:0;background:transparent;max-width:calc(100% - 64px);width:min(1220px,calc(100% - 64px));text-align:left}
body[data-page] :is(.page-hero,.tool-hero,.calc-intro) h1{font-size:clamp(30px,3.2vw,44px)!important;line-height:1.16;letter-spacing:-.035em;margin:0 0 10px;max-width:1100px;overflow-wrap:anywhere}
body[data-page] :is(.page-hero,.tool-hero,.calc-intro) h1 br{display:none}
body[data-page] :is(.page-hero,.tool-hero,.calc-intro) h1 em{margin-left:.18em}
body[data-page] :is(.page-hero,.tool-hero,.calc-intro) p{font-size:15px;line-height:1.55;max-width:850px;margin:0}
body[data-page] :is(.page-hero,.tool-hero,.calc-intro) .eyebrow{font-size:10px;margin-bottom:7px}
body[data-page] :is(.calc-illustration,.action-art,.hub-art,.story-art){display:none}
body[data-page] .page-hero>p:empty{display:none}
body[data-page] .tool-hero .button,body[data-page] .page-hero .button{margin-top:12px;padding:9px 14px;min-height:38px}
body[data-page] .article-layout{gap:36px;padding-bottom:40px}
body[data-page] .article-body{font-size:17px!important;line-height:1.8!important;color:var(--ink)}
body[data-page] .article-body .reading-meta{margin-bottom:12px}.article-contents{margin-bottom:18px;padding:12px 16px}
.article-aside{top:calc(var(--header-offset) + 14px)}.article-body .archive-notice{margin-bottom:18px;padding:12px 16px}
body[data-page] .article-body img{height:auto}body[data-page] .article-body .video{position:relative;aspect-ratio:16/9;height:auto;padding:0;margin-block:20px;background:#090909}
body[data-page] .article-body .video iframe{display:block;width:100%;height:100%!important;position:absolute;inset:0;border:0;max-width:100%;aspect-ratio:auto}
body[data-page] .article-body video{display:block;width:100%;height:auto;object-fit:contain}
body[data-page] .campaign-split{gap:22px;margin-bottom:36px}body[data-page] .campaign-card{padding:20px}
body[data-page] .campaign-card h2{font-size:26px;margin-bottom:12px}body[data-page] .campaign-card p{line-height:1.6;margin-bottom:12px}
body[data-page] .campaign-card label{margin-bottom:14px;gap:6px}
body[data-page] .campaign-card :is(input:not([type=checkbox]),select,textarea){padding:10px 12px}
body[data-page] .tracker-intro{gap:18px;margin-bottom:14px}.tracker-intro .campaign-card h2{font-size:22px}.tracker-intro .campaign-card p{font-size:14px}
.tracker-quicklinks{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:10px}.tracker-quicklinks .button{padding:9px 14px;font-size:12px;min-height:38px}.tracker-quicklinks .text-link{font-size:12px}.tracker-context{font-size:12px;margin-bottom:16px}.tracker-context>summary{cursor:pointer;padding-block:6px;font-weight:650}.tracker-context .tracker-intro{width:100%;max-width:100%;margin-top:10px}
body[data-page] .campaign-filters{margin-top:0;gap:12px}.campaign-filters label{margin-bottom:10px}
body[data-page] .calc-selector{padding:14px 20px;gap:8px 24px;margin-bottom:16px;border-radius:var(--card-radius)}
.calc-selector label{font-size:17px}.calc-selector .eyebrow{font-size:9px;margin-bottom:4px}.calc-selector select{padding:11px;font-size:14px}.calc-selector p{font-size:13px;line-height:1.5}
body[data-page] .calc-intro{padding-block:16px 12px;margin-bottom:12px}body[data-page] .calc-intro h1{font-size:34px!important}body[data-page] .calc-intro p{max-width:none;font-size:14px}
.calc-intro .eyebrow,.calc-selector .eyebrow,.calc-panel-heading .eyebrow,.calc-result-header .eyebrow{display:none}
.calc-panel-heading h2,.calc-result-header h2{margin-bottom:6px}.calc-private{font-size:9px}.calc-mode{padding:6px 10px;font-size:11px;line-height:1.5}
body[data-page] .calc-input-panel,body[data-page] .calc-result-panel{padding:20px}.calc-panel-heading h2,.calc-result-header h2{font-size:26px;margin-bottom:10px}.calc-actions{margin-bottom:10px}.calc-input-panel fieldset{padding-top:16px}.calc-field{margin-bottom:16px}
body[data-page] .calc-workspace{gap:20px}.calc-result-panel{top:calc(var(--header-offset) + 12px)}
body[data-page] .calendar-toolbar{margin-bottom:8px;gap:12px}.calendar-status{margin-bottom:10px}.calendar-day{min-height:96px}.weekday{padding:9px}.calendar-subscribe{padding:18px 22px;margin-top:18px}
body[data-page] .resource-controls,body[data-page] .hub-controls{padding:16px 20px;gap:14px}.resource-controls input,.resource-controls select{padding:10px 12px}.resource-card{padding:22px}.resource-card .card-mark{margin-bottom:14px}.resource-card h3{font-size:23px}
body[data-page] .hub-map-layout{margin-block:16px 28px;gap:20px}.hub-map-panel{padding:14px}.hub-detail{padding:20px}.hub-detail h2{font-size:26px}
body[data-page] .campaign-snapshot{padding:16px 20px;gap:20px;margin-bottom:20px}.campaign-snapshot h2{font-size:25px}
.campaign-snapshot .eyebrow{margin-bottom:5px}.bill-history{margin:6px 0;font-size:12px;line-height:1.5}.bill-history summary{cursor:pointer;font-weight:650}.bill-history p{margin:10px 0 0!important}.campaign-snapshot small{display:block;margin-top:8px}
body[data-page=tool-action-center] .section-heading{margin-bottom:14px}body[data-page=tool-action-center] .section-heading .eyebrow{margin-bottom:6px}body[data-page=tool-action-center] .section-heading h2{font-size:30px}
body[data-page] .script-section,body[data-page] .story-submit{padding-block:28px;gap:28px}.script-section h2,.story-submit h2{font-size:30px}
body[data-page] .learning-progress{padding:14px 20px;gap:18px;margin-bottom:16px}.learning-cards{gap:18px}.learning-glossary{margin-block:30px}
body[data-page] .graphics-layout{gap:22px}.graphic-preview{top:calc(var(--header-offset) + 12px);padding:16px}
.graphic-preview canvas{max-height:calc(100dvh - 340px);min-height:160px;box-shadow:none}
.graphic-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.graphic-preview-toolbar strong{font-size:14px}.graphic-preview-toolbar .button{font-size:12px;padding:9px 12px;min-height:38px}
#enlargeGraphicPreview{display:none}
#graphicsForm{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}#graphicsForm>*{grid-column:1/-1}#graphicsForm>label:nth-of-type(-n+2){grid-column:auto}#graphicsForm select{font-size:13px}
body[data-page] .compare-section{margin-block:20px}.compare-section .section-heading{margin-bottom:10px}.compare-section h2{font-size:30px}.compare-section>p{font-size:14px;margin-bottom:14px}.compare-toolbar{margin-block:14px;gap:16px}.compare-controls{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.compare-controls select{padding:9px 8px;font-size:12px}.comparison-column{padding:16px}.compare-pair{gap:18px}
/* Home retains a visual identity, with practical shortcuts in its first screen. */
body[data-page] .home-hero{grid-template-columns:1.2fr .8fr;gap:32px;padding:30px 0;margin-top:0;min-height:0;width:min(1220px,calc(100% - 64px));max-width:calc(100% - 64px);border-radius:0}
body[data-page] .hero-copy{display:block;max-width:none;text-align:left;margin:0}
body[data-page] .hero-copy h1{font-size:clamp(34px,4.2vw,54px);line-height:1.1;margin-bottom:14px;letter-spacing:-.04em}
.hero-copy h1 br{display:none}.hero-copy h1 em{margin-left:.18em}.hero-copy .eyebrow{margin-bottom:10px}
body[data-page] .hero-copy>p{font-size:15px;line-height:1.65;margin:0 0 18px;max-width:580px}
body[data-page] .hero-art{min-height:280px;height:280px;max-width:none;order:0;margin:0;align-self:center}
body[data-page] .hero-photo{position:relative;inset:auto;width:100%;height:260px;border-radius:100px 16px 16px 16px;transform:none}
.hero-label{left:12px;bottom:0;padding:12px 16px;grid-template-columns:25px auto;gap:5px 10px}.hero-label>span{font-size:30px}.hero-label strong{font-size:21px}.hero-label small{font-size:10px}
.hero-caption,.since-badge,.graphic-ring{display:none}.hero-actions{gap:14px}.hero-actions .button{padding:11px 16px}
.home-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:20px}
.home-shortcuts a{padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--card-radius);text-decoration:none;display:flex;flex-direction:column;gap:3px;min-width:0}.home-shortcuts strong{font-size:14px;line-height:1.3}.home-shortcuts span{font-size:11px;color:var(--muted);line-height:1.45}
.values-bar{padding-block:12px}.mission-section,.ways-section,.news-section{padding-block:40px}.campaign-section{padding-block:40px}.section-heading{margin-bottom:22px}.campaign-graphic{min-height:250px}.join-strip{padding-block:28px}.join-strip h2{font-size:32px}
/* More than color: each layout has its own title treatment, navigation and cards. */
html[data-layout=editorial] body[data-page] .page-hero{border-block:1px solid var(--line);padding-block:18px;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr);column-gap:30px}
html[data-layout=editorial] .page-hero .eyebrow{grid-column:1/-1}html[data-layout=editorial] .page-hero h1{grid-column:1}html[data-layout=editorial] .page-hero>p{grid-column:2;align-self:center}
html[data-layout=editorial] body[data-page] .home-hero{grid-template-columns:1.4fr .6fr;border-bottom:2px solid var(--plum)}html[data-layout=editorial] .hero-photo{border-radius:0}
html[data-layout=editorial] .tool-nav a{border-radius:0;border-bottom:2px solid transparent}html[data-layout=editorial] .tool-nav a[aria-current=page]{border-bottom-color:var(--red)}
html[data-layout=civic] body[data-page] .page-hero{border-left:5px solid var(--red);padding:16px 22px;background:var(--surface-2);margin-block:18px}
html[data-layout=civic] body[data-page] .home-hero{grid-template-columns:.8fr 1.2fr}html[data-layout=civic] .hero-art{order:-1!important}html[data-layout=civic] .hero-photo{border-radius:12px}
html[data-layout=civic] .campaign-card{border-top:4px solid var(--red)}html[data-layout=civic] .tool-nav a{border-radius:6px}.tool-nav a[aria-current=page]{font-weight:800}
html[data-layout=community] body[data-page] .page-hero{text-align:center;background:var(--surface-2);border:0;border-radius:22px;padding:18px 24px;margin-block:18px}
html[data-layout=community] .page-hero :is(h1,p){margin-inline:auto!important}html[data-layout=community] body[data-page] .home-hero{padding:24px;background-color:var(--surface-2);margin-block:18px;border-radius:30px}
html[data-layout=community] .tool-nav a{border-radius:30px}.community .hero-photo,html[data-layout=community] .hero-photo{border-radius:45% 45% 16px 16px}
html[data-layout=community] .three-cards>.resource-card:nth-child(2){transform:none}
html[data-layout=bold] body[data-page] .page-hero{border-bottom:4px solid var(--red);padding-block:18px}.page-hero .eyebrow{color:var(--red)}
html[data-layout=bold] .page-hero h1{font-weight:850;text-transform:uppercase;letter-spacing:-.025em}
html[data-layout=bold] .tool-nav{border-bottom:2px solid var(--plum)}html[data-layout=bold] .tool-nav a{border-radius:0;text-transform:uppercase;font-size:11px}
html[data-layout=bold] body[data-page] .home-hero{padding:24px;background-color:var(--positive);grid-template-columns:1.2fr .8fr}html[data-layout=bold] .hero-copy{padding:0!important}html[data-layout=bold] .hero-photo{border-radius:0}
html[data-layout=bold] .button{border-radius:0}.button{touch-action:manipulation}html[data-layout=bold] .campaign-card{border:2px solid var(--plum);box-shadow:4px 4px 0 var(--soft-accent)}
html[data-layout=bloom] body[data-page] .page-hero{text-align:center;border:0;padding-block:20px 14px}html[data-layout=bloom] .page-hero :is(h1,p){margin-inline:auto!important}
html[data-layout=bloom] .tool-nav a{border-radius:30px}html[data-layout=bloom] .hero-photo{border-radius:48% 48% 22px 22px}html[data-layout=bloom] .hero-copy{text-align:center!important}
html[data-layout=bloom] .hero-actions{justify-content:center}html[data-layout=bloom] .home-shortcuts a{border-radius:20px;text-align:center}
html[data-layout=bloom] .campaign-card{box-shadow:var(--shadow)}html[data-layout=bloom] .button{border-radius:30px}
/* The admin screen uses the same type, colors and comfortable control alignment. */
body:not([data-page]){font-family:var(--body-font)}body:not([data-page]) :is(.topbar,.site-nav){padding-block:12px}
body:not([data-page]) .topbar{gap:24px}body:not([data-page]) .brand img{width:190px;max-height:62px;object-fit:contain}
body:not([data-page])>.appearance-strip{padding-block:6px}.appearance-strip button{min-height:36px}
body:not([data-page]) main{padding-top:24px}body:not([data-page]) .heading{margin-bottom:20px;padding-block:0}body:not([data-page]) h1{font-size:32px;font-weight:700;line-height:1.2}
body:not([data-page]) .site-nav{gap:5px}.site-nav a{padding:8px 12px}.site-nav .quiet{min-height:36px}
body:not([data-page]) .heading p{line-height:1.55}body:not([data-page]) .panel-heading{padding:18px 24px 14px}
body:not([data-page]) .metric{min-height:156px;padding:18px 20px}.workspace-summary{margin-block:18px;gap:14px}.workspace-summary>div{padding:16px}.workspace-summary strong{margin-bottom:5px}.workspace-tabs{margin-block:18px}
html[data-layout=bold] body:not([data-page]) :is(.panel,.metric,.workspace-record,.workspace-summary>div){border-radius:0;border-width:2px}
html[data-layout=bloom] body:not([data-page]) :is(.panel,.metric,.workspace-record,.workspace-summary>div){border-radius:22px}
html[data-layout=editorial] body:not([data-page]) :is(.panel,.workspace-record){border-radius:2px;border-top:3px solid var(--plum)}
html[data-layout=community] body:not([data-page]) :is(.panel,.metric,.workspace-record){border-radius:20px}
.appearance-options h3{font-family:var(--heading-font)}.appearance-strip,.appearance-options{font-family:var(--body-font)}
.font-preview{padding:18px 20px;margin-top:20px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;text-align:left}.font-preview strong{display:block;font-family:var(--heading-font);font-size:26px;line-height:1.3;margin-bottom:8px}.font-preview p{font-size:14px;line-height:1.65;margin:0;color:var(--muted)}
.resource-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}
.resource-shortcuts a{display:flex;flex-direction:column;gap:3px;padding:12px 16px;border:1px solid var(--line);background:var(--surface-2);border-radius:var(--card-radius);text-decoration:none;min-width:0}
.resource-shortcuts strong{font-size:14px;line-height:1.3}.resource-shortcuts span{font-size:11px;line-height:1.4;color:var(--muted)}.resource-shortcuts a:hover{border-color:var(--red)}
.original-calculator-resources{margin-block:12px 28px;font-size:14px;line-height:1.7}.original-calculator-resources details{padding:14px 18px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--card-radius)}.original-calculator-resources summary{cursor:pointer;font-weight:700}.original-calculator-resources p{margin-top:12px}.original-calculator-resources ul{padding-left:20px}.original-calculator-resources li{margin-block:10px}
.calendar-archive-link{text-align:right;font-size:12px;margin-bottom:12px}
.original-calculator-resources img{display:block;width:100%;height:auto;margin-block:16px}.original-calculator-resources figcaption{font-size:12px;line-height:1.6;color:var(--muted)}
@media(max-width:1000px){body[data-page] #primaryNav{gap:12px}.tool-nav{justify-content:flex-start;padding-inline:24px}.compare-controls{grid-template-columns:1fr 1fr}.compare-controls h3{grid-column:1/-1}.graphic-preview-toolbar{flex-wrap:wrap}}
@media(max-width:930px){body[data-page] .menu-button{display:inline-flex}}
@media(max-width:760px){
 :root,html[data-layout=civic],html[data-layout=bloom]{--header-offset:74px}
 body[data-page] .utility{padding:5px 16px!important;gap:5px 10px;min-height:0}.utility>span:first-child{display:none}.utility>a{font-size:10px}.utility .content-editor-link{font-size:10px}
 body[data-page] .utility .language-select{margin:0;gap:5px}.utility .language-select>span{font-size:10px}.utility .language-select select{max-width:125px;font-size:11px}
 body[data-page] .utility .language-select>span{display:none}.utility .language-select{order:0}.utility>a{order:1;white-space:nowrap}.utility .content-editor-link{order:2}.utility .appearance-strip{order:3}
 body[data-page] .utility .appearance-strip{width:100%;margin:0;justify-content:space-between;gap:8px}.utility .appearance-strip button{min-height:36px!important;padding:6px 10px}
 body[data-page] .site-header{padding:7px 16px;min-height:58px;border-radius:0;width:100%;margin:0;top:0;gap:10px;flex-wrap:wrap}.site-header .site-brand img{width:145px;max-height:46px}
 body[data-page] .menu-button{display:inline-flex}
 body[data-page] #primaryNav{width:100%;gap:5px}.site-header #primaryNav.open{display:grid!important;grid-template-columns:1fr 1fr;padding:8px 0;align-items:stretch!important}.site-header #primaryNav.open>a{display:flex;align-items:center;justify-content:flex-start;padding:10px}.site-header #primaryNav.open details{grid-column:1/-1}.site-header .nav-dropdown{display:grid;grid-template-columns:1fr 1fr;position:static;width:100%;padding:8px;max-height:none}.site-header .nav-dropdown a{font-size:12px}
 .tool-nav{padding:3px 12px;gap:3px;justify-content:flex-start;scroll-padding:12px}.tool-nav a{padding:7px 10px;min-height:36px;font-size:11px;line-height:1.25}
 body[data-page] :is(.page-hero,.tool-hero,.calc-intro){padding-block:16px 12px!important;margin-block:0 12px!important;max-width:calc(100% - 32px)!important;width:calc(100% - 32px);display:block!important}
 body[data-page] :is(.page-hero,.tool-hero,.calc-intro) h1{font-size:30px!important;line-height:1.17;margin-bottom:8px}body[data-page] :is(.page-hero,.tool-hero,.calc-intro) p{font-size:14px;line-height:1.55}
 html[data-layout=civic] body[data-page] .page-hero,html[data-layout=community] body[data-page] .page-hero{padding:14px 16px!important;margin-block:12px!important}
 body[data-page] .article-layout{gap:18px}.article-aside{position:static}.article-body :is(h2,h3){line-height:1.3}body[data-page] .article-body{font-size:16px!important}
 body[data-page] .campaign-split:has(#volunteerForm){display:flex;flex-direction:column}.campaign-split #volunteerForm{order:-1;width:100%}
 body[data-page] .campaign-snapshot{display:grid;grid-template-columns:minmax(0,1fr) 115px;gap:12px;padding:14px 16px}.campaign-snapshot>a{white-space:normal;font-size:11px;padding:9px 10px;line-height:1.4}.campaign-snapshot p{font-size:12px;line-height:1.55}.campaign-snapshot h2{font-size:24px;margin-bottom:6px}.campaign-snapshot .eyebrow{font-size:9px}
 body[data-page] .tracker-intro{display:flex;flex-direction:column;gap:10px}.tracker-intro .campaign-card{padding:14px 16px}.tracker-intro h2,.tracker-intro h3{font-size:20px!important;margin-bottom:6px}.tracker-intro .campaign-card p{font-size:13px;margin-bottom:8px}
 body[data-page] .tracker-intro .campaign-card:nth-child(2){display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center}.tracker-intro .campaign-card:nth-child(2) p{grid-column:1;font-size:12px}.tracker-intro .campaign-card:nth-child(2) a{grid-column:2;grid-row:1/3;font-size:11px;max-width:110px}.campaign-filters{grid-template-columns:1fr 1fr;gap:10px}.campaign-filters :is(input,select){padding:9px 10px;font-size:13px}.campaign-filters label{gap:5px;font-size:12px}
 body[data-page] .calc-selector{padding:12px 16px;display:block}.calc-selector label{display:block;font-size:16px;margin-bottom:8px}.calc-selector .eyebrow{display:none}.calc-selector select{padding:10px;margin-bottom:7px}.calc-selector p{font-size:12px}
 body[data-page] .calc-input-panel,body[data-page] .calc-result-panel{padding:16px}.calc-mode{font-size:11px;padding:8px 10px}.calc-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.calc-actions button{min-height:36px;padding:4px 0;font-size:11px;line-height:1.3}.calc-panel-heading h2{font-size:24px}
 body[data-page] .calendar-toolbar{gap:12px;align-items:flex-start}.calendar-month{gap:10px;flex-wrap:wrap}.calendar-month h2{font-size:22px;min-width:165px}.calendar-filters{gap:10px;justify-content:space-between;width:100%}.calendar-day{min-height:76px;padding:6px 4px}.weekday{padding:7px 2px;font-size:9px}.calendar-event{font-size:9px;padding:5px 3px}.day-number{margin-bottom:6px}.icon-button{min-width:36px;min-height:36px}
 body[data-page] .graphics-layout{gap:14px}.graphic-preview{padding:12px}.graphic-preview canvas{max-height:145px;min-height:0}.graphic-preview.preview-expanded canvas{max-height:65dvh}.graphic-preview-toolbar{margin-bottom:8px;gap:8px}.graphic-preview-toolbar .button{min-height:36px}.graphic-preview-toolbar strong{font-size:12px}#enlargeGraphicPreview{display:inline-flex;font-size:11px;min-height:36px;align-items:center}.graphic-preview #graphicSize{font-size:11px;margin:8px 0 0}#graphicsForm{padding:16px}#graphicsForm h2{font-size:24px}#graphicsForm label{font-size:13px}#graphicsForm :is(select,input){padding:9px 10px}
 body[data-page] .home-hero{display:block!important;width:calc(100% - 32px)!important;max-width:calc(100% - 32px)!important;padding:20px 0!important;margin:0 auto!important}
 body[data-page] .hero-copy h1{font-size:34px!important;line-height:1.1}.hero-copy .eyebrow{font-size:9px}.hero-actions .button{font-size:12px;padding:10px 13px}.hero-actions .text-link{font-size:12px}.hero-art{display:none!important}.home-shortcuts{margin-top:16px;gap:7px}.home-shortcuts a{padding:10px 9px}.home-shortcuts strong{font-size:12px}.home-shortcuts span{font-size:10px}.values-bar .wrap{flex-wrap:wrap;font-size:10px;gap:6px}.values-bar b{font-size:13px;margin-right:5px}
 html[data-layout=community] body[data-page] .home-hero,html[data-layout=bold] body[data-page] .home-hero{padding:18px!important;margin:12px auto!important}.mission-section{gap:20px!important;grid-template-columns:1fr}.mission-section p{padding-top:0;font-size:14px}.mission-section,.ways-section,.news-section{padding-block:28px}.join-strip{padding:24px 16px}.join-strip h2{font-size:28px}
 body[data-page] .hub-map-layout{gap:12px;margin-top:14px}.hub-map-panel{padding:10px}.hub-map-panel .tool-note{font-size:11px;margin-top:8px}.hub-detail{padding:16px}.hub-controls{gap:10px!important}.hub-controls label{font-size:12px}.hub-controls :is(input,select){padding:9px 10px}.hub-controls{padding:14px!important}
 body[data-page] .learning-progress{gap:10px;padding:12px 16px;font-size:13px}.learning-cards{gap:12px}.resource-card{padding:18px}.resource-card .card-mark{margin-bottom:10px}.resource-card h3{font-size:22px}
 .compare-section .section-heading h2{font-size:26px}.compare-toolbar{gap:10px}.compare-toolbar label{width:auto;flex:1;font-size:12px}.compare-toolbar select{padding:9px;font-size:12px}.compare-toolbar .compare-sync{flex-basis:100%;padding-bottom:0}.compare-controls{grid-template-columns:1fr 1fr!important}.comparison-column{padding:12px}.comparison-window{height:450px!important}
 .resource-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:14px}.resource-shortcuts a{padding:10px 12px}.resource-shortcuts span{font-size:10px}.resource-shortcuts strong{font-size:13px}
 body:not([data-page]) .topbar{padding:10px 16px;flex-direction:row;align-items:center;gap:12px}.topbar .top-right{gap:8px!important;margin-top:0;align-items:flex-end;flex-direction:column}.top-right .host-tag{font-size:10px}.topbar .workspace{display:none}.topbar .brand img{width:155px}
 body:not([data-page])>.appearance-strip{padding:6px 16px;justify-content:space-between}body:not([data-page]) .site-nav{padding:6px 16px;gap:4px}.site-nav a{font-size:12px;min-height:36px!important;padding:7px 10px}.site-nav .quiet{width:auto!important;min-height:36px!important;font-size:11px!important}
 body:not([data-page]) main{padding-top:18px}body:not([data-page]) h1{font-size:28px}body:not([data-page]) .heading p{font-size:13px}.panel-heading label{font-size:13px}.panel-heading select{padding:9px 12px}.workspace-tabs{gap:6px}.workspace-tabs button{font-size:12px;padding:10px 12px;min-width:115px}
}
@media(max-width:380px){.home-shortcuts a{padding:9px 7px}.quick-modes button{font-size:11px}.appearance-strip{flex-direction:row!important}.appearance-strip button{padding-inline:8px!important}}
/* Explicit accessibility and appearance choices take priority over layout defaults. */
html[data-text-size=large] body[data-page] .article-body{font-size:20px!important}
html[data-text-size=larger] body[data-page] .article-body{font-size:22px!important}
html[data-contrast=high][data-mode] {--muted:var(--ink);--line:var(--ink);--shadow:none}
html[data-contrast=high][data-mode] body:not([data-page]){--muted:var(--ink);--line:var(--ink)}
html[data-palette=ocean][data-mode=girly] body:not([data-page]){--plum:#123e59;--red:#125e70;--blue:#125e70}
html[data-palette=forest][data-mode=girly] body:not([data-page]){--plum:#193f35;--red:#386327;--blue:#386327}
html[data-palette=terracotta][data-mode=girly] body:not([data-page]){--plum:#743719;--red:#8d391c;--blue:#8d391c}
html[data-palette=indigo][data-mode=girly] body:not([data-page]){--plum:#37366f;--red:#66379c;--blue:#66379c}
html[data-corners=square] body[data-page] :is(.campaign-card,.resource-card,.home-shortcuts a){border-radius:0}
html[data-corners=soft] body[data-page] :is(.campaign-card,.resource-card,.home-shortcuts a){border-radius:12px}
html[data-corners=round] body[data-page] :is(.campaign-card,.resource-card,.home-shortcuts a){border-radius:32px}
@media print{.tool-nav,.home-shortcuts,.graphic-preview-toolbar{display:none!important}.article-body .video{display:none}}

html[data-mode=girly][data-girly-typeface=cute]{--heading-font:"Delius","Nunito",sans-serif;--body-font:"Nunito",system-ui,sans-serif}
html[data-mode=girly][data-girly-typeface=handwritten]{--heading-font:"Pacifico","Delius",cursive;--body-font:"Nunito",system-ui,sans-serif}
html[data-mode=girly][data-girly-typeface]:not([data-girly-typeface=same]) :is(h1,h2,h3,.font-preview strong){font-weight:400;letter-spacing:0;line-height:1.35;text-transform:none}

/* Light defaults follow the actual logo blue (#52a9ff), with readable blue text. */
html[data-mode=light][data-palette=layout],html[data-mode=light][data-palette=layout] body:not([data-page]){
 --brand-blue:#52a9ff;--brand-label:#092d4f;--ink:#14314b;--plum:#134f88;--red:#1763b1;--blue:#1763b1;
 --paper:#f7fbff;--surface:#fff;--cream:#eaf4ff;--surface-2:#eaf4ff;--line:#c6def3;--muted:#4b647b;
 --rose:#d7eaff;--sage:#e4f2ff;--soft-accent:#d7eaff;--positive:#e4f2ff;--sea:#edf6ff;
 --dark-surface:#154e83;--on-dark:#fff;--on-accent:#fff;--shadow:0 6px 22px #1763b10c;color-scheme:light;
}
html[data-mode=light][data-palette=layout] :is(.button.primary,.support-donate),html[data-mode=light][data-palette=layout] body:not([data-page]) .primary{
 background:var(--brand-blue);color:var(--brand-label);border-color:var(--brand-blue);
}
html[data-mode=light][data-palette=layout] .support-shop{border-color:var(--brand-blue);color:var(--red)}
html[data-mode=light][data-palette=layout][data-contrast=high],html[data-mode=light][data-palette=layout][data-contrast=high] body:not([data-page]){--muted:var(--ink);--line:var(--ink);--shadow:none}
