@font-face{font-family:Bricolage;src:url('/assets/bricolage.woff2') format('woff2');font-weight:100 900;font-display:swap}@font-face{font-family:Figtree;src:url('/assets/figtree.woff2') format('woff2');font-weight:300 900;font-display:swap}
:root{--ink:#173820;--primary:#23753b;--highlight:#bde7a6;--background:#f3f8ef;--sand:#e0ecdf;--muted:#526b56;color:var(--ink);background:var(--background);font:15px/1.5 Figtree,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.3;cursor:default}a{color:var(--primary)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--primary);outline-offset:3px}button{border:0}h1,h2,p{margin:0}h1,h2,.display{font-family:Bricolage,sans-serif;font-weight:800}h1{font-size:30px;line-height:1.05;letter-spacing:-.8px}h2{font-size:24px;line-height:1.15}small,.hint{font-size:12.5px;color:var(--muted)}#app{max-width:390px;min-height:100dvh;margin:auto;padding:20px;display:flex;flex-direction:column;gap:14px}#app.home{padding:24px 20px;gap:20px}.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:10px}.grow{flex:1;min-width:0}.brand{font:800 22px Bricolage,sans-serif;letter-spacing:-.5px}.pill{padding:6px 10px;border-radius:100px;background:var(--ink);color:var(--highlight);font-size:12px;font-weight:600;white-space:nowrap}.hero{padding:24px;border-radius:28px;background:var(--primary);color:white;display:flex;flex-direction:column;gap:14px}.hero .pill{align-self:flex-start;color:white;background:#ffffff2e;font-size:13px}.hero h1{font-size:38px;line-height:1.02;letter-spacing:-1px}.hero p{font-size:16px;line-height:1.45}.primary{min-height:56px;border-radius:18px;background:var(--primary);color:white;font-size:17px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;padding:12px 16px}.primary.highlight{background:var(--highlight);color:var(--ink)}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.2px;color:var(--muted)}.card{padding:16px;border-radius:22px;background:white}.need{padding:14px 16px;border-radius:18px;background:white;display:flex;flex-direction:column;gap:10px}.number{width:28px;height:28px;flex-shrink:0;border-radius:9px;background:var(--sand);display:grid;place-items:center;font-size:13px;font-weight:800}.disclaimer{font-size:12px;line-height:1.45;color:var(--muted);margin-top:auto;padding-top:4px}.privacy{font-size:13px;color:var(--muted)}.icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:white;text-decoration:none;color:var(--ink);flex-shrink:0}.progress{display:flex;gap:4px;flex:1}.progress span{height:6px;flex:1;background:var(--sand);border-radius:99px}.progress span.active{background:var(--primary)}.step-name{font-size:13px;font-weight:600;color:var(--muted)}.step-title{margin-top:-8px;margin-bottom:2px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:44px;border:2px solid var(--ink);border-radius:14px;padding:8px 18px;background:white;font-weight:600}.chip.selected{background:var(--ink);color:white;font-weight:700}.badge{padding:5px 9px;border-radius:8px;background:var(--highlight);font-size:13px;font-weight:800;white-space:nowrap}.badge.sand{background:var(--sand)}.age{width:110px;height:56px;border:2px solid var(--primary);border-radius:14px;padding:0 14px;font:800 26px Bricolage,sans-serif;background:white}.question{font-weight:700}.toggle{display:flex;padding:3px;background:var(--sand);border-radius:12px;flex-shrink:0}.toggle button{border-radius:9px;background:transparent;height:36px;padding:0 16px;font-size:14px;font-weight:600}.toggle button.selected{background:var(--primary);color:white;font-weight:700}.choice{width:100%;display:flex;align-items:center;gap:10px;text-align:left;border:2px solid var(--sand);border-radius:16px;background:white;padding:10px 14px;min-height:52px;font-weight:600}.choice.selected{border-color:var(--ink);background:var(--ink);color:white}.choice.selected .value{color:var(--highlight)}.choice .value{margin-left:auto;font-size:13px;color:var(--muted)}.text-button{background:transparent;padding:6px 0;min-height:32px;color:var(--primary);font-size:13.5px;font-weight:700;text-align:left}.footer{position:sticky;bottom:0;margin:auto -20px -20px;padding:12px 20px 20px;background:var(--background);display:flex;flex-direction:column;align-items:flex-end;gap:8px;z-index:1}.footer .primary{width:100%;height:64px;justify-content:space-between;padding:8px 8px 8px 20px;border-radius:20px}.total{background:var(--ink);border-radius:14px;padding:9px 14px;font-size:12px}.total strong{font:800 22px Bricolage,sans-serif;color:var(--highlight);padding-right:4px}.field{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}.field select,.field input:not([type=range]),.search{width:100%;height:44px;border:2px solid var(--ink);border-radius:12px;background:white;padding:0 10px}.language-card{gap:14px;padding:16px 18px}.language-row{display:flex;flex-direction:column;gap:4px}.language-row input[type=range]{width:100%;accent-color:var(--primary);margin:2px 0;height:22px}.language-row output{font:800 18px Bricolage,sans-serif}.language-row .hint{color:var(--primary);font-weight:700}.dark{background:var(--ink);color:white;border-radius:18px;padding:14px}.dark strong{color:var(--highlight)}.counter{width:44px;height:44px;border:2px solid var(--ink);border-radius:14px;background:white;font-size:22px;font-weight:700}.counter.plus{background:var(--ink);color:white}.count{min-width:28px;text-align:center;font:800 28px Bricolage,sans-serif}.job{background:white;border-radius:18px;padding:12px;display:flex;flex-direction:column;gap:8px}.job-select{background:transparent;text-align:left;padding:0;min-height:40px;flex:1;min-width:0}.job-select strong{display:block}.job-select small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.year{font-size:12px;font-weight:700;color:var(--muted);white-space:nowrap}.score-card{padding:20px 16px;background:var(--ink);color:white;border-radius:20px;text-align:center;display:flex;flex-direction:column;gap:6px}.score-card .score{font:800 56px/1 Bricolage,sans-serif;letter-spacing:-1.5px;color:var(--highlight)}.score-card a{color:white;background:#ffffff24;align-self:center;padding:6px 14px;border-radius:50px;font-size:13px;text-decoration:none}.receipt{padding:12px 16px 2px;background:white;border-radius:22px}.receipt a{display:flex;align-items:center;gap:10px;min-height:58px;padding:5px 0;border-bottom:2px dashed var(--sand);text-decoration:none;color:var(--ink)}.receipt a:last-child{border:0}.receipt strong{font:800 19px Bricolage,sans-serif}.receipt b{font-size:15px}.receipt small{display:block;font-size:12px}.receipt .chevron{color:var(--primary)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.summary-score{font:800 34px Bricolage,sans-serif}.scenario{display:flex;align-items:center;gap:12px;min-height:72px}.scenario button{white-space:nowrap}.warning{border-left:3px solid #c15a36;padding:8px 12px;background:white;font-size:13px}.center{text-align:center}.topspace{margin-top:auto}dialog{border:0;padding:18px 20px 24px;max-width:390px;width:100%;height:min(720px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);margin:auto auto 0;background:var(--background);color:var(--ink);border-radius:28px 28px 0 0}dialog::backdrop{background:#173820c7}.dialog-body{height:100%;display:flex;flex-direction:column;gap:14px}.search{border-color:var(--primary);height:54px;font-size:16px}.job-results{overflow:auto;flex:1;display:flex;flex-direction:column;gap:10px}.job-result{background:white;padding:14px;border-radius:18px;display:flex;align-items:center;gap:10px;text-align:left;width:100%;flex-shrink:0}.job-result small{display:block}.handle{width:44px;height:5px;background:#adc5b0;border-radius:99px;align-self:center}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:20;border-radius:14px;background:var(--ink);color:white;padding:12px 18px;box-shadow:0 4px 30px #17382030;font-size:14px;display:none}#toast.visible{display:block}input[type=checkbox]{accent-color:var(--primary);width:20px;height:20px}svg{flex-shrink:0}@media(max-width:350px){#app{padding:16px}.hero{padding:20px}.hero h1{font-size:34px}.chip{padding:8px 12px}.footer{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.badge{font-size:11px}}@media(prefers-reduced-motion:no-preference){.hero,.card,.receipt,.score-card{animation:appear .18s ease-out}@keyframes appear{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:none}}}


/* Shared page structure: compact on phones, expanded into a workspace on desktop. */
.desktop-nav,.desktop-topbar,.score-sidebar{display:none}
#app.app-shell{gap:0}
.workspace,.workspace-grid,.page-content{min-width:0}
.workspace,.workspace-grid{display:flex;flex:1;flex-direction:column}
.page-content{display:flex;flex-direction:column;flex:1;gap:14px}
.home .page-content{gap:20px}
.page-content h1:focus{outline:none}
.field select{min-width:0;max-width:100%}
.job-result .grow,.receipt .grow{overflow-wrap:anywhere}
@media(min-width:600px) and (max-width:959px){
  #app.app-shell{max-width:680px;padding:28px}
  .page-content{gap:20px}
  .hero{padding:36px}
  .hero h1{font-size:46px;max-width:480px}
  .hero .primary{align-self:flex-start;min-width:240px}
  .card{padding:24px}
  .footer{margin-right:-28px;margin-left:-28px;margin-bottom:-28px;padding:16px 28px 28px}
  dialog{max-width:560px;border-radius:28px;margin:auto;height:min(720px,calc(100dvh - 48px))}
}
@media(min-width:960px){
  body{background:#f5f8f3}
  #app.app-shell,#app.app-shell.home{display:grid;grid-template-columns:216px minmax(0,1fr);width:100%;max-width:none;padding:0;margin:0 auto;min-height:100dvh;align-items:start}
  .desktop-nav{display:flex;flex-direction:column;position:sticky;top:0;min-height:100dvh;max-height:100dvh;overflow-y:auto;padding:30px 16px 22px;background:#fff;border-right:1px solid var(--sand);gap:8px}
  .desktop-brand{display:flex;gap:10px;align-items:center;padding:0 6px 32px;color:var(--ink);text-decoration:none;font:800 24px Bricolage,sans-serif;letter-spacing:-.5px}
  .brand-mark{width:40px;height:44px;display:grid;place-items:center;flex-shrink:0;border-radius:13px;background:var(--primary);color:var(--highlight);font-size:29px}
  .desktop-brand small{display:block;font:500 10px/1.6 Figtree,sans-serif;letter-spacing:0;color:var(--muted)}
  .nav-label{padding:24px 12px 8px;font-size:10px;font-weight:800;letter-spacing:1.5px;color:var(--muted)}
  .nav-group{display:flex;flex-direction:column;gap:5px}
  .nav-group a{display:flex;align-items:center;gap:11px;padding:12px;border-radius:12px;color:var(--muted);text-decoration:none;font-size:13px;font-weight:600;min-height:46px}
  .nav-group a:hover{background:var(--background);color:var(--primary)}
  .nav-group a[aria-current=page]{background:#e7f2e1;color:var(--primary);font-weight:800}
  .nav-symbol{width:24px;height:24px;display:grid;place-items:center;flex-shrink:0;font-size:11px;font-weight:700}
  .nav-group a[aria-current=page] .nav-symbol{background:var(--primary);color:white;border-radius:7px}
  .nav-privacy{margin-top:auto;padding:40px 10px 0;display:flex;gap:9px;color:var(--muted)}
  .nav-privacy b{font-size:12px}.nav-privacy p{font-size:11px;line-height:1.6;margin-top:4px}
  .workspace{min-height:100dvh;padding:0 32px}
  .desktop-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:60px;border-bottom:1px solid var(--sand);margin-bottom:16px}
  .desktop-topbar>div:first-child{display:flex;flex-direction:column;gap:4px}
  .desktop-topbar>div>span:first-child{font-size:10px;font-weight:700;letter-spacing:1.5px;color:var(--muted)}
  .desktop-topbar b{font-size:16px;font-weight:700}
  .live-label>span{width:7px;height:7px;border-radius:50%;background:#408743;box-shadow:0 0 0 4px #40874312}
  .workspace-grid{display:block;flex:1}
  .page-content{gap:20px;max-width:100%;min-height:0}
  .page-content h1{font-size:36px;line-height:1.12;letter-spacing:-1px}
  .page-content .card,.page-content .job{padding:24px;border:1px solid var(--sand);border-radius:20px}
  .page-content .hint{line-height:1.65}
  .home .page-content{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);grid-template-areas:'heading heading' 'hero checklist' 'hero privacy' 'note note';gap:24px;align-items:start}
  .home-heading{grid-area:heading}.home-heading .brand{font-size:28px}.home-heading .pill{background:var(--sand);color:var(--primary)}
  .home .hero{grid-area:hero;padding:36px;min-height:460px;gap:24px;border-radius:26px;background:linear-gradient(145deg,#287b3e,#19572c)}
  .home .hero h1{font-size:clamp(36px,3.3vw,52px);line-height:1.06;letter-spacing:-1.5px}
  .home .hero p{max-width:440px;font-size:16px;line-height:1.65}
  .home .hero .primary{margin-top:auto;align-self:flex-start;min-width:220px;padding:16px 24px}
  .home-checklist{grid-area:checklist;border:1px solid var(--sand);background:white;padding:28px 24px;border-radius:22px;gap:22px;align-self:stretch}
  .home-checklist .eyebrow{font-size:11px;letter-spacing:1.7px}.home-checklist .need{padding:0;gap:28px;font-size:15px;line-height:1.6}
  .home-checklist .number{width:34px;height:34px;border-radius:11px}.home-checklist .row{gap:14px;align-items:flex-start}
  .home .privacy{grid-area:privacy;background:#e7f2e1;padding:24px;border-radius:20px;align-items:flex-start;line-height:1.7;font-size:13px}
  .home .disclaimer{grid-area:note;max-width:640px;line-height:1.7}
  .questionnaire .page-content{max-width:none;margin:0 auto;gap:22px}
  .questionnaire .page-content>.row:first-child{max-width:440px}
  .questionnaire .progress{gap:7px}.questionnaire .progress span{height:5px}
  .questionnaire .page-content>.stack{background:white;border:1px solid var(--sand);padding:24px;border-radius:20px;gap:16px}
  .questionnaire .step-name{margin-top:6px}.questionnaire .step-title{margin-bottom:4px}
  .questionnaire .choice{padding:14px 18px;min-height:60px}
  .questionnaire .footer{position:sticky;bottom:16px;flex-direction:row;justify-content:space-between;align-items:center;margin:4px 0 0;padding:14px;border:1px solid var(--sand);border-radius:20px;background:#f5f8f3f5;box-shadow:0 8px 28px #1738200a;gap:12px}
  .questionnaire .footer .primary{width:auto;min-width:250px;gap:18px;height:58px;border-radius:14px;font-size:15px}
  .questionnaire .footer>.badge{background:transparent;padding:8px;font-size:12px}
  .results .page-content{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(0,1.15fr);grid-template-areas:'heading heading' 'eligibility eligibility' 'score receipt' 'compare receipt' 'boost receipt' 'actions receipt' 'note note';gap:18px 24px;align-items:start}
  .results .page-content>.row:first-child{grid-area:heading}
  .results .page-content>.card{grid-area:eligibility}
  .results .page-content>.score-card{grid-area:score;padding:28px;min-height:220px;justify-content:center;gap:10px}
  .results .score-card .score{font-size:72px}
  .results .page-content>.row.hint{grid-area:compare;font-size:12px;flex-wrap:wrap}
  .results .receipt{grid-area:receipt;padding:24px;border:1px solid var(--sand);border-radius:22px;align-self:stretch}
  .results .receipt a{min-height:68px}.results .receipt small{line-height:1.5;margin-top:3px}
  .results .page-content>.primary{grid-area:boost;margin-top:0}
  .results .page-content>.row:not(:first-child):not(.hint){grid-area:actions;flex-wrap:wrap;gap:8px}
  .results .page-content>.disclaimer{grid-area:note;text-align:left;padding-top:12px}
  .boost .page-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:20px}
  .boost .page-content>.row,.boost .page-content>h1,.boost .page-content>p,.boost .page-content>.score-card{grid-column:1/-1}
  .boost .page-content>.score-card{align-items:flex-start;text-align:left;padding:28px;gap:12px}
  .boost .page-content>.card{gap:14px}.boost .page-content>.card .text-button{margin-top:auto}
  dialog{width:calc(100vw - 64px);max-width:620px;border-radius:26px;margin:auto;padding:28px;height:min(720px,calc(100dvh - 64px));max-height:calc(100dvh - 64px);box-shadow:0 24px 100px #17382040}
  dialog .handle{display:none}
}
@media(min-width:1240px){
  #app.app-shell,#app.app-shell.home{grid-template-columns:232px minmax(0,1fr)}
  .workspace{padding:0 40px}.desktop-nav{padding-right:20px;padding-left:20px}
  .questionnaire .workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 264px;gap:28px;align-items:start}
  .questionnaire .page-content{width:100%}
  .score-sidebar{display:flex;flex-direction:column;gap:18px;position:sticky;top:24px}
  .sidebar-score{padding:24px;background:var(--ink);border-radius:22px;color:white}
  .sidebar-score .eyebrow{color:#d2e7cd;font-size:10px;letter-spacing:1.3px}
  .live-label{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--highlight)}
  .live-label>span{background:var(--highlight);box-shadow:none;width:5px;height:5px}
  .sidebar-total{display:flex;align-items:baseline;gap:10px;margin:22px 0 4px}
  .sidebar-total strong{font:800 56px/1 Bricolage,sans-serif;color:var(--highlight);letter-spacing:-2px}
  .sidebar-total>span{font-size:12px;color:#d2e7cd}
  .sidebar-score>p{font-size:11px;line-height:1.6;color:#d2e7cd}
  .sidebar-score dl{margin:22px 0 16px;padding:16px 0;border-top:1px solid #ffffff24;border-bottom:1px solid #ffffff24;display:flex;flex-direction:column;gap:12px}
  .sidebar-score dl>div{display:flex;justify-content:space-between;gap:10px;font-size:12px}
  .sidebar-score dt{color:#d2e7cd}.sidebar-score dd{margin:0;font-weight:700}
  .sidebar-score>a{display:flex;align-items:center;justify-content:space-between;gap:8px;text-decoration:none;color:var(--highlight);font-size:12px;font-weight:700}
  .sidebar-tip{background:#e7f2e1;border-radius:20px;padding:24px}
  .sidebar-tip .eyebrow{font-size:10px}.sidebar-tip h2{font-size:19px;line-height:1.2;margin:12px 0 10px;letter-spacing:-.3px}
  .sidebar-tip p,.sidebar-note{font-size:12px;line-height:1.7;color:var(--muted)}
  .sidebar-note{padding:0 8px;font-size:11px}
}
@media(prefers-reduced-motion:no-preference){.nav-group a,.primary,.chip,.choice{transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}.primary:hover{box-shadow:0 4px 16px #17382018}}


/* Application menus are separate from the calculator's own sections. */
.refresh-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--sand);border-radius:14px;background:#edf5e8;padding:16px 20px}
.refresh-copy{min-width:0}.refresh-copy>b{display:flex;align-items:center;gap:8px;font-size:13px}.refresh-copy .update-dot{margin:0}.refresh-copy small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.refresh-copy p{font-size:12px;color:var(--muted);margin-top:5px;line-height:1.5}
.refresh-button{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--primary);color:white;border:0;border-radius:10px;padding:12px 17px;min-height:44px;font-weight:700;font-size:12px;white-space:nowrap}.refresh-button>span{font-size:19px;line-height:1}.refresh-button:disabled{opacity:.6}.update-dot.offline{background:#a87b30}
.score-chart{padding:24px;min-width:0}.chart-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.chart-heading h2{font-size:21px;margin-top:6px}.chart-heading p{font-size:12px;color:var(--muted);margin-top:5px}.chart-heading .field{font-size:11px;min-width:160px}.chart-heading select{font-size:12px;min-height:42px}
.chart-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:22px 0 8px}.chart-summary>strong{font:700 28px Bricolage,sans-serif;color:var(--primary)}.chart-summary strong>small{font:500 11px Figtree,sans-serif;color:var(--muted);display:block;margin-top:5px}.chart-summary>span{font-size:11px;color:var(--muted);text-align:right}
.score-line-chart{display:block;width:100%;height:auto;overflow:visible}.score-line-chart text{fill:var(--muted);font:12px Figtree,sans-serif}.chart-grid{stroke:#e3ecdf;stroke-width:1}.chart-line{fill:none;stroke:var(--primary);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.chart-point{fill:var(--primary);stroke:#fff;stroke-width:1;cursor:crosshair}.chart-point:hover{fill:var(--ink);r:5}
.chart-caption{font-size:12px;color:var(--ink);line-height:1.5;min-height:18px;margin-top:6px}.chart-note{display:block;font-size:11px;color:var(--muted);line-height:1.6;margin-top:7px}.chart-empty{padding:40px 12px;text-align:center;font-size:13px;color:var(--muted)}
.news-filters{display:flex;align-items:flex-end;gap:20px;padding:20px}.news-filters .field{font-size:12px;min-width:170px}.news-filters .field:nth-child(2){flex:1}.news-filters input,.news-filters select{width:100%;min-height:44px;font-size:13px}.news-count{white-space:nowrap;font-size:12px;color:var(--muted);padding-bottom:13px}
.news-timeline{padding:8px 0}.news-month{margin-bottom:34px}.news-month-heading{display:flex;align-items:center;gap:12px;margin:0 0 22px}.news-month-heading>span{width:10px;height:10px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 6px #e0edda;margin-left:28px}.news-month-heading h2{font-size:21px;margin-left:22px}.news-month-heading small{margin-left:auto;font-size:11px;color:var(--muted)}
.news-month>ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:20px}.news-entry{display:grid;grid-template-columns:66px minmax(0,1fr);gap:24px;position:relative}.news-entry:before{content:'';position:absolute;left:32px;top:-20px;bottom:-20px;border-left:1px solid #ccdcca;z-index:0}.news-entry:last-child:before{bottom:30px}.news-date{z-index:1;align-self:start;background:var(--background);text-align:center;padding:12px 0;display:flex;flex-direction:column;color:var(--muted)}.news-date strong{font:700 26px Bricolage,sans-serif;color:var(--ink)}.news-date span{font-size:11px;text-transform:uppercase;letter-spacing:.8px}
.news-card{background:white;border:1px solid var(--sand);border-radius:18px;padding:24px 28px;box-shadow:0 3px 10px #17382004}.news-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}.news-meta>span:first-child{background:#e8f2e1;color:var(--primary);padding:4px 8px;border-radius:5px;font-weight:800}.news-card h3{font:700 22px/1.35 Bricolage,sans-serif;letter-spacing:-.3px;margin:14px 0 10px}.news-card h3 a{color:var(--ink);text-decoration:none}.news-card h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.news-card>p{font-size:13px;line-height:1.8;color:var(--muted);max-width:850px}.news-details{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;text-decoration:none;margin-top:16px;min-height:30px}
@media(min-width:960px){.pr-news .page-content{max-width:none;margin:0 auto;gap:22px}}
@media(max-width:700px){.refresh-panel{align-items:flex-start;padding:14px;gap:12px}.refresh-button{font-size:11px;padding:10px 12px}.refresh-copy small{line-height:1.6}.score-chart{padding:18px 14px}.chart-heading{align-items:flex-start;gap:10px}.chart-heading h2{font-size:18px}.chart-heading .field{min-width:105px;max-width:130px}.chart-heading select{width:100%;font-size:11px}.chart-summary{margin-top:16px}.chart-summary>span{max-width:160px;line-height:1.5}.chart-summary strong{font-size:25px}.news-filters{display:grid;grid-template-columns:1fr;gap:12px;padding:16px}.news-count{padding:0}.news-month-heading>span{margin-left:18px}.news-month-heading h2{font-size:19px;margin-left:12px}.news-entry{grid-template-columns:44px minmax(0,1fr);gap:12px}.news-entry:before{left:22px}.news-card{padding:18px;border-radius:14px}.news-card h3{font-size:19px}.news-card>p{font-size:12px}.news-date strong{font-size:23px}.news-date span{font-size:10px}}
@media(prefers-reduced-motion:no-preference){.refresh-spinning{animation:refresh-spin 1.5s linear infinite}@keyframes refresh-spin{to{transform:rotate(360deg)}}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.mobile-app-menu nav a[aria-current=page]{background:var(--highlight);color:var(--ink)}
.history-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin:16px 0 8px}
.history-heading h1{font-size:clamp(28px,3vw,40px);margin:8px 0 10px;letter-spacing:-1px}
.history-heading p,.history-explainer,.history-sources>p{color:var(--muted);font-size:13px;line-height:1.6}
.history-updated{display:flex;gap:10px;padding:14px 16px;border:1px solid var(--sand);border-radius:14px;background:#fff;flex-shrink:0;max-width:100%}
.update-dot{width:7px;height:7px;background:var(--primary);border-radius:50%;margin-top:5px;flex-shrink:0}
.history-updated b,.history-updated time,.history-updated small{display:block;font-size:11px;line-height:1.6}
.history-updated time{font-weight:600;font-size:12px}.history-updated small{color:var(--muted);margin-top:3px}
.history-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.history-stats section{border:1px solid var(--sand);border-radius:16px;background:#fff;padding:20px;display:flex;flex-direction:column;gap:10px}
.history-stats section:first-child{background:var(--ink);color:#fff;border-color:var(--ink)}
.history-stats span{font-size:12px;font-weight:600}.history-stats strong{font-family:Bricolage,sans-serif;font-size:28px;letter-spacing:-.8px}.history-stats small{font-size:11px;line-height:1.4;color:var(--muted)}
.history-stats section:first-child strong{color:var(--highlight)}.history-stats section:first-child small{color:#d2e7cd}
.history-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:20px}
.history-filters .field{min-width:0;font-size:12px;gap:8px}.history-filters select,.history-filters input{width:100%;min-width:0;font-size:13px;background:var(--background);min-height:44px}
.history-filters .text-button{justify-self:start;align-self:end;min-height:44px}
.history-search{grid-column:span 1}.history-explainer{padding:0 4px;font-size:12px}
.history-results{background:white;border:1px solid var(--sand);border-radius:18px;overflow:hidden;min-width:0}
.history-results-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px}
.history-results-heading h2{font-size:19px}.history-results-heading>span{font-size:12px;color:var(--muted)}
.history-table-wrap{overflow-x:auto}.history-table{border-collapse:collapse;width:100%;font-size:12px;line-height:1.5;text-align:left}
.history-table th{background:#edf4e9;color:var(--muted);padding:12px 16px;font-weight:600;font-size:11px;white-space:nowrap}
.history-table td{padding:18px 16px;vertical-align:top;border-top:1px solid #e7eee2}.history-table td:first-child{min-width:115px}.history-table td:nth-child(2){min-width:180px;max-width:300px}
.history-table td>small{display:block;margin-top:5px;font-size:10px;color:var(--muted)}.history-table td>a{font-size:11px;color:var(--primary);font-weight:700;white-space:nowrap}
.draw-score{display:inline-block;padding:3px 9px;background:#e7f2e1;border-radius:7px;color:var(--primary);font-size:14px}.score-unpublished{font-size:11px;font-weight:500;color:var(--muted)}
.draw-number{font-weight:700;font-variant-numeric:tabular-nums}.draw-notes{font-size:11px;color:var(--muted);margin-top:8px}.draw-notes summary{cursor:pointer}.draw-notes p{margin-top:8px;line-height:1.6}
.history-pagination{border-top:1px solid var(--sand);padding:16px 22px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.history-pagination .chip{font-size:12px;padding:10px 14px;min-height:42px}.history-pagination button:disabled{opacity:.45;cursor:not-allowed}
.history-empty{padding:40px 22px;text-align:center;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:16px}.history-empty p{font-size:13px;max-width:480px;line-height:1.6}
.history-sources{margin-top:8px;padding:20px;background:#eaf2e5;border:1px solid var(--sand);border-radius:16px}.history-sources>summary{font-size:14px;font-weight:700;cursor:pointer}.history-sources>summary>span{float:right;font-size:12px;color:var(--muted);font-weight:400}.history-sources>p{margin:18px 0}
.source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.source-card{background:white;padding:18px;border-radius:12px;display:flex;flex-direction:column;gap:9px;min-width:0}.source-card>a{font-weight:700;font-size:13px;color:var(--primary)}.source-card>p{font-size:12px;line-height:1.6;color:var(--muted)}.source-card>small,.source-status{font-size:11px;line-height:1.5;color:var(--muted)}
@media(min-width:960px){.draw-history .workspace-grid{max-width:none}.draw-history .page-content{display:flex;width:100%;max-width:none;gap:22px}.draw-history .workspace{min-width:0}.history-heading{margin-top:18px}}
@media(max-width:1150px){.history-heading{flex-direction:column;gap:16px}.history-updated{width:100%}.history-updated>div{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}.history-updated small{margin:0}}
@media(max-width:700px){.history-heading{margin-top:4px}.history-heading h1{font-size:30px}.history-stats{gap:8px;grid-template-columns:1fr 1fr}.history-stats section{padding:15px}.history-stats section:last-child{display:none}.history-stats strong{font-size:23px}.history-filters{grid-template-columns:1fr 1fr;padding:16px;gap:14px}.history-filters .field:nth-child(4),.history-search{grid-column:1/-1}.history-filters .text-button{grid-column:1/-1}.history-table thead{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.history-table,.history-table tbody{display:block}.history-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:20px;border-top:1px solid var(--sand)}.history-table td{display:block;border:0;padding:0;min-width:0!important;max-width:none!important;overflow-wrap:anywhere}.history-table td:before{content:attr(data-label);display:block;font-size:10px;color:var(--muted);font-weight:500;margin-bottom:5px}.history-table td:nth-child(2){grid-column:1/-1;grid-row:1}.history-table td:nth-child(2)>strong{font-size:15px}.history-table td:nth-child(3){grid-column:1/-1}.history-table td:last-child{grid-column:1/-1}.history-table td:last-child:before{display:none}.history-table td:last-child a{display:inline-block;padding:4px 0;min-height:28px}.history-results-heading{padding:18px}.history-results-heading h2{font-size:18px}.history-pagination{padding:14px}.source-grid{grid-template-columns:1fr}.history-sources{padding:16px}.history-sources>summary>span{float:none;display:block;margin:8px 0 0 16px}}
.mobile-app-menu{margin-bottom:16px;border:1px solid var(--sand);background:white;border-radius:14px}
.mobile-app-menu summary{display:flex;align-items:center;gap:10px;min-height:48px;padding:12px 14px;cursor:pointer;font-size:14px;font-weight:700;list-style:none}
.mobile-app-menu summary::-webkit-details-marker{display:none}
.mobile-app-menu summary:focus-visible{outline:3px solid var(--primary);outline-offset:3px;border-radius:14px}
.menu-chevron{margin-left:auto;color:var(--muted)}
.mobile-app-menu[open] .menu-chevron{transform:rotate(180deg)}
.mobile-app-menu nav{padding:0 8px 8px}
.mobile-app-menu nav a{display:flex;gap:10px;align-items:center;padding:12px;border-radius:10px;background:var(--background);text-decoration:none;font-size:14px;font-weight:700}
.mobile-app-menu .nav-symbol{display:flex}
.calculator-nav{display:flex;align-items:stretch;gap:20px;overflow-x:auto;border-bottom:1px solid var(--sand);margin-bottom:22px;flex-shrink:0;scrollbar-width:thin}
.calculator-nav a{display:flex;align-items:center;flex-shrink:0;padding:10px 0 13px;border-bottom:3px solid transparent;text-decoration:none;font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap}
.calculator-nav a[aria-current=page]{border-bottom-color:var(--primary);color:var(--primary);font-weight:800}
.calculator-nav a:focus-visible{outline-offset:-3px}
.calculator-steps{display:none}
@media(min-width:960px){
  .mobile-app-menu{display:none}
  .desktop-topbar{margin-bottom:12px}
  .calculator-nav{gap:32px;margin-bottom:28px}
  .calculator-nav a{font-size:14px;padding:14px 0 16px}
  .calculator-nav a:hover{color:var(--primary)}
  .calculator-steps{display:flex;flex-wrap:wrap;gap:10px 18px;margin:0 0 28px;padding:16px 20px;border:1px solid var(--sand);border-radius:16px;background:white}
  .calculator-steps a{display:flex;align-items:center;gap:7px;text-decoration:none;color:var(--muted);font-size:12px;font-weight:600;min-height:30px}
  .calculator-steps a>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--sand);font-size:11px;font-weight:700}
  .calculator-steps a[aria-current=step]{color:var(--primary);font-weight:800}
  .calculator-steps a[aria-current=step]>span{background:var(--primary);color:white}
  .calculator-steps a:hover{color:var(--primary)}
}

.score-line-chart .chart-score-label{fill:var(--primary);font-weight:700;font-variant-numeric:tabular-nums;paint-order:stroke;stroke:white;stroke-width:4px;stroke-linejoin:round;pointer-events:none}

.chart-legend{display:flex;flex-wrap:wrap;gap:10px 20px;margin:14px 0 12px;font-size:12px;color:var(--ink)}
.chart-legend span{display:inline-flex;align-items:center;gap:6px}.chart-legend i{width:20px;display:inline-block;border-top:3px solid var(--primary)}
.chart-legend .legend-personal{border-color:#2563eb;border-top-style:dashed}.chart-legend .legend-met{border-color:#a65a00}
.chart-personal-line{stroke:#2563eb;stroke-width:2;stroke-dasharray:7 5;vector-effect:non-scaling-stroke}
.chart-line.chart-met-line{stroke:#a65a00}.chart-point.chart-point-met{fill:#a65a00}
.score-line-chart .chart-label-met{fill:#a65a00}

.chart-eligible-area{fill:#86d79a;fill-opacity:.3;pointer-events:none}
.score-line-chart .chart-eligible-label{fill:#196b32;font-weight:700;pointer-events:none}
.chart-eligibility{display:flex;flex-wrap:wrap;gap:5px 14px;background:#e8f6ec;border:1px solid #b8dec2;border-radius:10px;padding:12px 14px;margin:12px 0;color:#196b32}
.chart-eligibility strong{font-size:13px}.chart-eligibility span{font-size:12px;line-height:1.5}

.prediction .page-content{max-width:none;width:100%;gap:22px}.prediction .workspace{min-width:0}
.prediction-warning{padding:18px 22px;background:#fff7de;border:1px solid #e6cc83;border-radius:14px;color:#63490f}
.prediction-warning strong{font-size:15px}.prediction-warning p{font-size:13px;line-height:1.65;margin-top:7px}
.prediction-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:22px}
.prediction-vote,.prediction-results{padding:26px;min-width:0}.prediction-vote h2,.prediction-results h2{font-size:24px;margin:10px 0}
.prediction-vote>p{margin:10px 0;line-height:1.6}.prediction-vote form{display:grid;gap:16px;margin:24px 0 16px}.prediction-vote .primary{justify-content:center}
.prediction-vote input{font-size:24px;font-weight:700}.prediction-message{color:var(--primary);min-height:20px}.prediction-message.is-error{color:#a12a22}
.prediction-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.prediction-stats>div{display:flex;flex-direction:column;gap:8px}.prediction-stats strong{font-size:28px;color:var(--primary)}.prediction-stats span{font-size:11px;color:var(--muted)}
.prediction-results h3{font-size:14px;margin-bottom:16px}.prediction-distribution{max-height:350px;overflow-y:auto}.prediction-band{display:grid;grid-template-columns:78px minmax(0,1fr) 32px;gap:10px;align-items:center;margin:12px 0;font-size:12px}.prediction-band meter{width:100%;height:18px;accent-color:var(--primary)}.prediction-band meter::-webkit-meter-optimum-value{background:var(--primary)}.prediction-band b{text-align:right}
.prediction-empty{padding:28px 0;color:var(--muted);font-size:14px;line-height:1.6}.prediction-search{display:flex;align-items:end;gap:8px}.prediction-search .field{flex:1;min-width:0}.prediction-search input{width:100%}.prediction-search button{min-height:44px}
.prediction-history-note{font-size:12px;color:var(--muted);line-height:1.6;padding:0 22px 18px}.prediction-history td:first-child strong{display:block;margin:6px 0}.prediction-history td:nth-child(2){min-width:0}
@media(max-width:800px){.prediction-grid{grid-template-columns:1fr}.prediction-vote,.prediction-results{padding:20px}.prediction-warning{padding:16px}.prediction .history-filters .prediction-search{grid-column:1/-1}}
@media(max-width:700px){.prediction-history .history-table td:nth-child(2){grid-column:auto;grid-row:auto}.prediction-history .history-table td:nth-child(3),.prediction-history .history-table td:last-child{grid-column:auto}.prediction-history .history-table td:first-child{grid-column:1/-1}.prediction-history .history-table td:last-child:before{display:block}}

.desktop-brand>span:last-child{min-width:0;line-height:1.15}.home-heading{flex-wrap:wrap}
@media(min-width:960px){.desktop-brand{font-size:23px}.brand-mark{font-size:21px;letter-spacing:-1px}.desktop-brand small{letter-spacing:0}}

.compare .page-content{max-width:none;width:100%;gap:22px}.compare .workspace{min-width:0}
.compare-controls{display:grid;grid-template-columns:1fr 1fr 1.3fr;align-items:end;gap:18px;padding:22px}.compare-controls p,.compare-note{font-size:12px;line-height:1.6;color:var(--muted)}
.compare-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.compare-stats section{padding:18px 22px;background:white;border:1px solid var(--sand);border-radius:16px;display:flex;flex-direction:column;gap:6px}.compare-stats strong{font:800 28px Bricolage,sans-serif;color:var(--primary)}.compare-stats span{font-size:12px;color:var(--muted)}
.compare-groups{margin:0;border:1px solid var(--sand);padding:18px 22px;min-width:0}.compare-groups legend{padding:0 8px;font-weight:700}.compare-groups>p{font-size:12px;color:var(--muted);margin-bottom:12px}.compare-groups>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;max-height:230px;overflow:auto}.compare-groups label{display:flex;align-items:start;gap:9px;font-size:13px;cursor:pointer}.compare-groups input{width:18px;height:18px;flex-shrink:0;accent-color:var(--primary);margin-top:2px}.compare-groups input:disabled+span{opacity:.5}
.compare-chart{padding:26px;min-width:0}.compare-chart h2{margin:8px 0 10px}.compare-line-chart{display:block;width:100%;height:auto;margin-top:16px;overflow:visible}.compare-line-chart text{font:12px Figtree,sans-serif;fill:var(--muted)}.compare-series-line{fill:none;stroke:var(--series-color);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.compare-point{fill:var(--series-color);stroke:white;stroke-width:1.5;cursor:crosshair}.compare-point:hover,.compare-point:focus{r:6;stroke:var(--ink);outline:none}.compare-personal{font-size:12px;color:#2563eb;margin-top:14px}
.compare-legend,.compare-pie-legend{list-style:none;padding:0;margin:18px 0 0}.compare-legend{display:flex;flex-wrap:wrap;gap:8px 20px}.compare-legend li{display:flex;align-items:center;gap:8px;font-size:12px}.compare-swatch{width:12px;height:12px;border-radius:3px;display:inline-block;flex-shrink:0}
.compare-pie-layout{display:grid;grid-template-columns:minmax(200px,300px) minmax(0,1fr);align-items:center;gap:32px}.compare-pie-chart{display:block;width:100%;max-width:300px;margin:auto}.compare-pie-chart g:focus{outline:none;stroke:var(--ink);stroke-width:3}.compare-pie-legend li{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--sand);font-size:13px}.compare-pie-legend li>span:nth-child(2){flex:1}.compare-pie-legend small{display:block;margin-top:3px}
.compare-records{list-style:none;padding:0;max-height:400px;overflow:auto}.compare-records li{display:grid;grid-template-columns:100px minmax(0,1fr) 120px 110px;gap:12px;padding:14px 0;border-top:1px solid var(--sand);font-size:12px}.compare-records a{text-align:right}
@media(max-width:800px){.compare-controls{grid-template-columns:1fr 1fr}.compare-controls p{grid-column:1/-1}.compare-groups>div{grid-template-columns:1fr}.compare-pie-layout{grid-template-columns:1fr;gap:0}.compare-chart{padding:20px 14px}.compare-stats{gap:8px}.compare-stats section{padding:14px 12px}.compare-stats strong{font-size:24px}.compare-records li{grid-template-columns:1fr 1fr}.compare-records li>span{grid-column:1/-1;grid-row:1}.compare-records a{text-align:left}}
@media(max-width:700px){.compare-summary .history-table td:nth-child(2){grid-column:auto;grid-row:auto}.compare-summary .history-table td:nth-child(3),.compare-summary .history-table td:last-child{grid-column:auto}.compare-summary .history-table td:first-child{grid-column:1/-1}.compare-summary .history-table td:last-child:before{display:block}}

.category-frequency{padding:24px;min-width:0}.category-frequency h2{margin:8px 0;font-size:22px}.category-frequency-summary{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:20px 0 8px}.category-frequency-summary strong{font:700 28px Bricolage,sans-serif;color:var(--primary)}.category-frequency-summary small{display:block;font:500 11px Figtree,sans-serif;margin-top:5px}.category-frequency-summary>span{font-size:12px;color:var(--muted);text-align:right}
.category-frequency-chart{display:block;width:100%;height:auto;overflow:visible}.category-frequency-chart text{font:12px Figtree,sans-serif;fill:var(--muted)}.category-frequency-line{fill:none;stroke:var(--category-color);stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round}.category-frequency-point{fill:var(--category-color);stroke:white;stroke-width:1.5;cursor:crosshair}.category-frequency-point:hover,.category-frequency-point:focus{r:5;stroke:var(--ink);outline:none}.category-frequency-chart .category-count-label{fill:var(--category-color);font-weight:700;paint-order:stroke;stroke:white;stroke-width:3px}
.category-count-table{margin-top:18px;font-size:12px}.category-count-table summary{cursor:pointer;font-weight:700;color:var(--primary);padding:8px 0}.category-count-table table{border-collapse:collapse;min-width:100%;text-align:left;margin-top:10px}.category-count-table th,.category-count-table td{padding:10px 12px;border-bottom:1px solid var(--sand)}.category-count-table thead th{white-space:nowrap;background:var(--background)}.category-count-table tbody th{min-width:180px;max-width:320px}.category-count-table td{font-variant-numeric:tabular-nums}
@media(max-width:700px){.category-frequency{padding:18px 14px}.category-frequency h2{font-size:19px}.category-frequency-summary>span{max-width:170px}.category-frequency .compare-legend{gap:10px}}

.community-notice{padding:18px 22px;border:1px solid var(--sand);background:#eaf4e6;border-radius:14px}.community-notice p{font-size:13px;line-height:1.6;margin-top:6px}
.community-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:22px}.community-filters form{display:flex;gap:10px;align-items:end;grid-column:span 2}.community-filters form .field{flex:1}.community-filters button{min-height:44px}.community-filters .text-button{align-self:end}
.community-contribution{padding:24px}.community-contribution h2{margin-bottom:12px;font-size:22px}.community-contribution form{display:flex;flex-direction:column;gap:16px}.community-current-score{margin:14px 0 0}.community-contribution-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.community-contribution .primary{align-self:start}.community-consent{display:flex;align-items:start;gap:10px;font-size:13px;line-height:1.6}.community-consent input{width:20px;height:20px;flex-shrink:0;accent-color:var(--primary);margin-top:2px}.community-message{color:var(--primary);font-size:13px;margin-top:12px}.community-message.is-error{color:#a12a22}
.community-pies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.community-chart{min-width:0;padding:24px}.community-chart h2{font-size:21px;margin-bottom:10px}.community-pie-layout{display:flex;flex-direction:column}.community-pie-layout .compare-pie-chart{max-width:250px}.community-pie-layout .compare-pie-legend{width:100%;margin-top:0}.community-all-counts{font-size:12px;margin-top:18px}.community-all-counts summary{font-weight:700;cursor:pointer;color:var(--primary)}.community-all-counts ul{list-style:none;padding:0;columns:2}.community-all-counts li{break-inside:avoid;padding:5px 0}.community-score-line text{paint-order:stroke;stroke:white;stroke-width:3px}
@media(max-width:800px){.community-pies{grid-template-columns:1fr}.community-filters{grid-template-columns:1fr 1fr}.community-filters>.field:nth-child(3){grid-column:1/-1}.community-filters form{grid-column:1/-1}.community-contribution-fields{grid-template-columns:1fr}.community-contribution,.community-chart{padding:18px}.community-contribution .primary{width:100%}}

.pool-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.pool-chart-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.pool-chart-heading h2{margin:8px 0}.pool-chart-heading .field{min-width:180px}
.pool-legend{display:flex;flex-wrap:wrap;gap:20px;margin:18px 0;font-size:13px}.pool-legend span{display:flex;align-items:center;gap:8px}.pool-legend i{width:12px;height:12px;border-radius:50%}
.pool-chart-scroll,.pool-table-scroll{overflow-x:auto;max-width:100%}.pool-comparison-chart{display:block;width:100%;min-width:650px}.pool-comparison-chart text{font-size:12px;fill:#52665a}.pool-comparison-chart circle:focus{outline:none;stroke:#102f1c;stroke-width:3px}
.pool-table{width:100%;border-collapse:collapse;min-width:540px;font-size:14px}.pool-table th,.pool-table td{padding:13px 16px;text-align:right;border-bottom:1px solid var(--sand);font-variant-numeric:tabular-nums}.pool-table th:first-child{text-align:left}.pool-table thead,.pool-table tfoot{background:#edf4e9}.pool-table .pool-summary{font-weight:700}.pool-table .pool-detail th{padding-left:36px;font-weight:400}.pool-table tfoot{font-weight:700}.pool-table small{font-weight:400;color:#52665a}
@media(max-width:700px){.pool-filters{grid-template-columns:1fr}.pool-chart-heading{align-items:stretch;flex-direction:column}.pool-table th,.pool-table td{padding:11px}.pool-table .pool-detail th{padding-left:25px}}

.annual-heading h2{margin:8px 0 20px}.annual-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.annual-metrics section{padding:18px;border:1px solid var(--sand);background:#f7faf4;border-radius:14px;display:flex;flex-direction:column;gap:10px}.annual-metrics span{font-weight:600;font-size:13px}.annual-metrics strong{font-size:28px;color:var(--green);line-height:1.2}.annual-metrics small{line-height:1.6;color:#52665a}.annual-scope{font-size:11px;font-weight:600;color:#705314}.annual-note{font-size:12px;line-height:1.65;color:#52665a;margin:16px 0 0}.annual-note a{font-weight:600}
@media(max-width:800px){.annual-metrics{grid-template-columns:1fr}.annual-metrics strong{font-size:25px}}

.topbar-actions{display:flex;align-items:center;gap:22px}.account-menu{position:relative;flex-shrink:0;z-index:30}.account-button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--sand);border-radius:50%;background:#edf5e9;color:var(--primary);cursor:pointer;padding:0}.account-button:hover,.account-button[aria-expanded=true]{background:#dcecd4;border-color:var(--primary)}.account-button:focus-visible,.account-options a:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.account-options{position:absolute;right:0;top:calc(100% + 10px);width:200px;max-width:calc(100vw - 40px);padding:10px;background:#fff;border:1px solid var(--sand);border-radius:16px;box-shadow:0 12px 36px #17382024}.account-options[hidden]{display:none}.account-menu-label{display:block;padding:9px 10px;font-size:10px;font-weight:700;letter-spacing:1.2px;color:var(--muted)}.account-options a{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:10px 12px;border-radius:9px;text-decoration:none;font-size:14px;font-weight:600;color:var(--ink)}.account-options a:hover{background:var(--background)}.account-options .account-signup{background:#e7f2e1;color:var(--primary);margin-top:4px}.account-page{max-width:560px;width:100%;align-self:center;margin:24px auto;display:flex;align-items:flex-start;flex-direction:column;gap:18px}.account-page h1,.account-page p{margin:0}.account-page p{line-height:1.7;color:var(--muted)}
@media(max-width:959px){.desktop-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;margin-bottom:16px}.desktop-topbar>div:first-child{display:flex;flex-direction:column;gap:3px}.desktop-topbar>div:first-child>span{font-size:9px;font-weight:700;letter-spacing:1.2px;color:var(--muted)}.desktop-topbar b{font-size:15px}.topbar-actions{gap:0}.account-page{margin:8px auto}}

.account-form{display:flex;flex-direction:column;gap:18px;width:100%}.account-form .primary{width:100%}.account-form input{background:white}.account-form input:focus{outline:3px solid #23753b33;outline-offset:2px;border-color:var(--primary)}#auth-code{font-size:26px;letter-spacing:.35em;text-align:center}.account-error{color:#a32929!important;font-size:13px}.account-error[hidden]{display:none}.account-code-actions{display:flex;justify-content:space-between;gap:16px;width:100%}.account-code-actions button:disabled{opacity:.55;cursor:default}.account-page .account-help,.account-page .account-test-notice,.account-page .account-switch{font-size:13px}.account-test-notice{padding:12px 14px;background:#edf5e9;border-radius:10px;width:100%}.account-identity{padding:8px 12px 14px;border-bottom:1px solid var(--sand);margin-bottom:6px;overflow-wrap:anywhere}.account-identity b,.account-identity small{display:block}.account-identity small{margin-top:5px;font-size:11px;color:var(--muted)}.account-options button{display:block;width:100%;min-height:44px;text-align:left;border:0;background:transparent;border-radius:9px;padding:10px 12px;font-size:14px;font-weight:600;color:var(--ink)}.account-options button:hover{background:var(--background)}.account-options button:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.account-initial{font-size:18px;font-weight:700}.account-form button:disabled{opacity:.65;cursor:wait}

.feedback-page{max-width:720px}.feedback-page textarea{width:100%;resize:vertical;min-height:160px;padding:12px 14px;border:2px solid var(--ink);border-radius:12px;font:inherit;color:var(--ink);background:white}.feedback-page textarea:focus{outline:3px solid #23753b33;outline-offset:2px;border-color:var(--primary)}

.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-heading h1{margin:12px 0}.admin-heading p{color:var(--muted);margin:0;line-height:1.6}.admin-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.admin-stat{display:flex;flex-direction:column;gap:14px}.admin-stat span{font-size:13px;color:var(--muted)}.admin-stat strong{font-size:34px;color:var(--primary);line-height:1}.admin-updates>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-updates h2,.admin-list h2{font-size:19px;margin:0}.admin-updates dl{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}.admin-updates dt{font-size:12px;color:var(--muted);margin-bottom:8px}.admin-updates dd{margin:0;font-size:14px}.admin-list{min-width:0}.admin-table-wrap{overflow-x:auto;margin-top:20px}.admin-list table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.admin-list th{background:#edf5e9;font-size:12px;font-weight:600}.admin-list th,.admin-list td{padding:14px 12px;border-bottom:1px solid var(--sand);overflow-wrap:anywhere}.admin-list td:last-child{white-space:nowrap}.admin-list .pill{font-size:11px}.admin .refresh-button{white-space:nowrap}
@media(max-width:680px){.admin-heading{align-items:flex-start;flex-direction:column}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-stat strong{font-size:28px}.admin-updates dl{grid-template-columns:1fr}.admin-list table{min-width:560px}.admin-updates>div{align-items:flex-start;flex-direction:column}}

.admin-filters{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.admin-filters .field{flex:1;min-width:180px}.admin-pagination{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;font-size:13px}.admin-pagination button:disabled{opacity:.45;cursor:default}.admin-feedback-detail{min-width:240px;max-width:660px}.admin-feedback-detail summary{cursor:pointer;font-weight:600;white-space:normal}.admin-feedback-detail p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.admin-list td{vertical-align:top}.admin-list td:last-child:has(details){white-space:normal}.admin-heading>.row{flex-wrap:wrap}

.admin-user-tabs{display:flex;gap:10px}.admin-user-tabs [aria-pressed=true]{background:var(--primary);color:white}.admin-agent{min-width:150px;max-width:320px}.admin-agent p{white-space:normal;overflow-wrap:anywhere;line-height:1.5;font-size:12px}.admin-agent summary{cursor:pointer;font-size:12px;margin-top:8px}.admin-signal{display:block;background:#fff3d8;color:#775400;border-radius:8px;padding:5px 8px;margin:4px 0;white-space:normal;min-width:130px}

.account-bot{min-width:0;max-width:100%}.account-bot small{display:block;color:var(--muted);margin-block:8px}.account-bot iframe{max-width:100%}

.site-footer{display:flex;flex-direction:column;gap:12px;margin-top:24px;padding:16px 0;border-top:1px solid var(--sand);color:var(--muted);font-size:12px}
.footer-support{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.coffee-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 14px;border:1px solid #c7dfbe;border-radius:12px;background:#e7f2e1;font-weight:700;text-decoration:none}
.coffee-link:hover{background:#d9edcf;border-color:var(--primary)}
.footer-made{white-space:nowrap}
@media(min-width:1024px){.site-footer{flex-direction:row;align-items:center;justify-content:space-between;gap:16px 24px;margin-top:28px;padding:16px 0}.footer-support{justify-content:flex-end}}

.community-filters .community-score-prompt{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,1fr);gap:24px;align-items:center;padding:24px;border:1px solid #d8b4fe;border-radius:18px;background:#faf5ff;color:#3b0764;box-shadow:0 5px 18px #6b21a80a}
.community-score-copy .eyebrow{color:#7e22ce;font-size:11px}.community-score-copy h2{margin-top:6px;font-size:22px;line-height:1.2}.community-score-copy p{margin-top:8px;max-width:46ch;font-size:14px;line-height:1.6;color:#6b527c}
.community-score-controls{display:flex;align-items:end;gap:12px;min-width:0}.community-score-controls .field{min-width:100px;color:#6b527c}.community-score-controls .field input{background:#fff;border-color:#9333ea;color:#3b0764;font-size:22px;font-weight:700;min-height:50px}
.community-score-submit{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px 18px;border-radius:12px;background:#7e22ce;color:#fff;font-weight:700;white-space:nowrap}.community-score-submit:hover{background:#6b21a8}.community-score-submit:focus-visible,.community-score-controls input:focus-visible{outline-color:#9333ea}
@media(max-width:1100px){.community-filters .community-score-prompt{grid-template-columns:1fr;gap:18px}.community-score-controls .field{max-width:280px}}
@media(max-width:540px){.community-filters .community-score-prompt{padding:20px}.community-score-controls{flex-direction:column;align-items:stretch}.community-score-controls .field{max-width:none}.community-score-submit{width:100%;white-space:normal}}

.desktop-topbar>.workspace-brand{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0}
@media(min-width:960px){.desktop-topbar>.workspace-brand:first-child{display:none}.desktop-topbar{justify-content:flex-end}}
.desktop-topbar .workspace-brand b{font-size:18px;letter-spacing:-.3px}
.desktop-topbar>.workspace-brand>.brand-tagline{font-size:14px;font-weight:500;letter-spacing:0;color:var(--muted)}
.desktop-topbar>.workspace-brand>.brand-divider{font-size:16px;font-weight:400;letter-spacing:0;color:#a0b5a3}
.mobile-app-menu{border-color:#93c5fd;background:#eff6ff;box-shadow:0 2px 8px #1d4ed008}
.mobile-app-menu summary{color:#1e3a8a;min-height:56px;gap:10px}
.mobile-app-menu summary>span:not(.menu-chevron){flex:1;min-width:0}
.mobile-app-menu summary:focus-visible{outline-color:#2563eb}
.mobile-app-menu .menu-chevron{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:6px 8px;border-radius:8px;background:#dbeafe;color:#1e40af;font-size:11px;font-weight:700}
.mobile-app-menu[open] .menu-chevron{transform:none}
.mobile-app-menu[open] .menu-chevron svg{transform:rotate(180deg)}
.mobile-app-menu nav{border-top:1px solid #bfdbfe;padding-top:8px}
.mobile-app-menu nav a{background:transparent;color:#1e3a8a}
.mobile-app-menu nav a:hover{background:#e0edff}
.mobile-app-menu nav a[aria-current=page]{background:#dbeafe;color:#1e40af}
@media(max-width:540px){.desktop-topbar>.workspace-brand{flex-direction:column;gap:2px}.desktop-topbar>.workspace-brand>.brand-divider{display:none}.desktop-topbar>.workspace-brand>.brand-tagline{font-size:12px}.desktop-topbar .workspace-brand b{font-size:17px}}

.draw-timeline{display:none}
@media(max-width:700px){
  .draw-results>.history-table-wrap{display:none}
  .draw-timeline{display:block;list-style:none;margin:0;padding:4px 16px 8px 38px}
  .draw-timeline-entry{position:relative;padding-bottom:24px;min-width:0}
  .draw-timeline-entry:not(:last-child)::before{content:"";position:absolute;left:-21px;top:10px;bottom:-10px;width:2px;background:#d6e6d0}
  .draw-timeline-entry::after{content:"";position:absolute;left:-25px;top:6px;width:10px;height:10px;border:2px solid white;border-radius:50%;background:var(--primary);box-shadow:0 0 0 3px #e4efdf}
  .draw-timeline-date{display:block;font-size:14px;font-weight:700;color:var(--ink);line-height:1.5;overflow-wrap:anywhere}
  .draw-timeline-card{margin-top:10px;padding:16px;border:1px solid #e0ecda;border-radius:16px;background:#f8fbf5;min-width:0}
  .draw-timeline-card h3{margin:0;font:800 17px/1.3 Bricolage,sans-serif;overflow-wrap:anywhere}
  .draw-timeline-location{display:flex;flex-direction:column;gap:3px;margin-top:8px;font-size:12px;color:var(--muted)}
  .draw-timeline-stats{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:16px 0 12px}
  .draw-timeline-stats>div{min-width:0;padding:10px;border:1px solid #e3eddd;background:white;border-radius:10px}
  .draw-timeline-stats dt{font-size:10px;line-height:1.5;color:var(--muted)}
  .draw-timeline-stats dd{margin:4px 0 0;font-size:23px;font-weight:800;line-height:1.25;color:var(--primary);overflow-wrap:anywhere}
  .draw-timeline-stats dd small{display:block;margin-top:4px;font-size:10px;font-weight:500;color:var(--muted)}
  .draw-timeline-stats .draw-timeline-unpublished{font-size:15px;color:var(--muted)}
  .draw-timeline-card .draw-notes{margin:8px 0}
  .draw-timeline-card .draw-notes summary{min-height:36px;align-content:center;font-size:12px}
  .draw-timeline-card .draw-notes p{overflow-wrap:anywhere}
  .draw-timeline-source{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 0;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
}
.nav-group a.invitation-menu-link,.mobile-app-menu nav a.invitation-menu-link{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe;line-height:1.4}
.nav-group a.invitation-menu-link:hover,.mobile-app-menu nav a.invitation-menu-link:hover{background:#dbeafe;color:#1e3a8a}
.nav-group a.invitation-menu-link[aria-current=page],.mobile-app-menu nav a.invitation-menu-link[aria-current=page]{background:#1e40af;color:white;border-color:#1e40af}
.nav-group a.invitation-menu-link[aria-current=page] .nav-symbol{background:#3b82f6;color:white}
.invitation-progress .workspace{background:#f4f8ff}
.invitation-module{--primary:#1d4ed8;--ink:#172f55;--muted:#4b6281;--sand:#cfdef4;--background:#f4f8ff;--highlight:#dbeafe;color:var(--ink);display:flex;flex-direction:column;gap:22px;width:100%;max-width:none;margin:0 auto}
.invitation-module h2,.invitation-module h3,.invitation-module p{margin:0}
.invitation-module p{line-height:1.65}
.invitation-module a{color:#1d4ed8}
.invitation-hero{border-radius:24px;padding:32px;background:linear-gradient(115deg,#1e3a8a,#1d4ed8);color:white;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.invitation-hero h1{color:white;margin:0;max-width:720px}
.invitation-hero .eyebrow{color:#dbeafe}
.invitation-tag{background:#ffffff20;border:1px solid #ffffff50;border-radius:24px;padding:8px 14px;font-size:13px}
.invitation-grid,.invitation-step-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.invitation-module .field{min-width:0}
.invitation-module input,.invitation-module select{width:100%;min-width:0;border-color:#90abd0;accent-color:#1d4ed8;color:#172f55}
.invitation-module :focus-visible{outline:3px solid #2563eb;outline-offset:3px}
.invitation-module input:disabled,.invitation-module select:disabled{opacity:.7;background:#f4f8ff}
.invitation-module progress{display:block;appearance:none;width:100%;height:12px;border:0;border-radius:10px;overflow:hidden;background:#dbeafe;accent-color:#2563eb}
.invitation-module progress::-webkit-progress-bar{background:#dbeafe}
.invitation-module progress::-webkit-progress-value{background:#2563eb;border-radius:10px}
.invitation-module progress::-moz-progress-bar{background:#2563eb}
.invitation-module form{display:flex;flex-direction:column;gap:22px}
.invitation-notice,.invitation-next{padding:22px;border:1px solid #b5cef3;border-radius:18px;background:#eaf2ff;display:flex;flex-direction:column;gap:10px}
.invitation-next{border-left:5px solid #2563eb}
.invitation-next h2{font-size:23px}
.invitation-timeline{margin:0;padding:0 0 0 18px;list-style:none}
.invitation-step{position:relative;border-left:2px solid #bfd3f2;padding:0 0 24px 30px}
.invitation-step:last-child{padding-bottom:0;border-color:transparent}
.invitation-marker{position:absolute;left:-18px;top:22px;display:grid;place-items:center;width:34px;height:34px;border:2px solid #a7c4ee;border-radius:50%;background:#eff6ff;color:#1e40af;font-weight:800}
.is-complete .invitation-marker{background:#1d4ed8;color:white;border-color:#1d4ed8}
.invitation-step-body{display:flex;flex-direction:column;gap:12px;padding:22px;background:white;border:1px solid #cfdef4;border-radius:18px}
.invitation-step-body h3{font-size:19px;line-height:1.4}
.invitation-source{align-self:flex-start;font-size:13px}
.invitation-step-controls{padding-top:6px}
.invitation-save{display:flex;align-items:center;justify-content:space-between;gap:20px}
.invitation-module .primary{background:#1d4ed8;color:white;white-space:nowrap}
.invitation-module .primary:hover{background:#1e40af}
.invitation-module .primary:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:700px){.invitation-hero{padding:24px 20px}.invitation-hero h1{font-size:30px}.invitation-grid,.invitation-step-controls{grid-template-columns:minmax(0,1fr)}.invitation-step{padding-left:23px}.invitation-step-body{padding:18px 15px}.invitation-save{align-items:stretch;flex-direction:column}.invitation-module .row.between{flex-wrap:wrap;gap:12px}.invitation-module .card{padding:20px}.invitation-module select{font-size:14px}}

/* Daily invitation check-in: one primary action, expandable details. */
.invitation-daily{gap:14px}
.invitation-daily-heading{display:flex;align-items:center;justify-content:space-between;gap:28px;width:100%}
.invitation-daily-heading>div:first-child{min-width:0;display:flex;flex-direction:column;gap:12px}
.invitation-daily-heading h1{font-size:32px;line-height:1.15;overflow-wrap:anywhere}
.journey-ring{position:relative;flex:0 0 120px;width:120px;height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.journey-ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.journey-ring circle{fill:none;stroke:#ffffff30;stroke-width:6}
.journey-ring circle.journey-ring-fill{stroke:#bfdbfe;stroke-linecap:round}
.journey-ring strong{font-size:29px;line-height:1.15}
.journey-ring span{font-size:12px;color:#dbeafe}
.journey-progress-caption{display:flex;justify-content:space-between;gap:12px;width:100%;flex-wrap:wrap;font-size:14px}
.journey-progress-caption>span{color:#dbeafe}
.invitation-module .invitation-daily progress{height:6px;background:#ffffff30}
.invitation-module .invitation-daily progress::-webkit-progress-bar{background:#ffffff30}
.invitation-module .invitation-daily progress::-webkit-progress-value{background:#bfdbfe}
.invitation-module .invitation-daily progress::-moz-progress-bar{background:#bfdbfe}
.invitation-daily small{color:#dbeafe;font-size:12px}
.journey-badges{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.journey-badge{display:flex;align-items:center;gap:9px;padding:12px;border:1px dashed #b6c9e4;border-radius:12px;color:#506581;background:#f6f9ff;font-size:12px}
.journey-badge small{display:block;font-size:11px;margin-top:3px}
.journey-badge.earned{border-style:solid;border-color:#9dbbed;background:#e2edff;color:#1e40af}
.invitation-module details>summary{cursor:pointer;min-height:44px;font-weight:700;position:relative;padding:6px 100px 6px 0;list-style:none}
.invitation-module details>summary::-webkit-details-marker{display:none}
.invitation-module details>summary:after{content:'Show details';position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:12px;font-weight:700;color:#1d4ed8}
.invitation-module details[open]>summary:after{content:'Hide details'}
.invitation-module details>summary>span{display:block;font-weight:400;font-size:12px;line-height:1.5;color:#4b6281;margin-top:3px}
.invitation-module details[open]>summary{margin-bottom:16px}
.invitation-filters .hint{margin-top:12px}
.invitation-module .invitation-filters,.invitation-module .invitation-application-details{padding:18px 22px}
.invitation-next-title{display:flex;gap:12px;align-items:center}
.invitation-next .primary{align-self:flex-start;min-width:180px;min-height:48px}
.invitation-checklist>summary{background:#1d4ed8;color:white;padding:15px 115px 15px 20px!important;border:1px solid #1e40af;border-radius:14px;box-shadow:0 3px 10px #1e3a8a18}
.invitation-module .invitation-checklist>summary>span{color:#dbeafe}
.invitation-module details.invitation-checklist>summary:after{content:'Show steps';color:white}
.invitation-module details.invitation-checklist[open]>summary:after{content:'Hide steps'}
.invitation-checklist>summary:hover{background:#1e40af}
.invitation-checklist>summary:focus-visible{outline:3px solid #1d4ed8;outline-offset:3px}
.invitation-checklist>summary:after{right:18px!important;top:50%!important}
.invitation-marker svg{width:18px;height:18px}
.invitation-sharing-note{font-size:12px;color:#4b6281;line-height:1.5}
.timeline-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.timeline-metrics>div{padding:16px;background:#eff5ff;border-radius:14px;display:flex;flex-direction:column;gap:6px}
.timeline-metrics strong{font-size:24px;line-height:1.2;color:#1e40af;overflow-wrap:anywhere}
.timeline-metrics span{font-size:12px;color:#4b6281}
.timeline-comparison{display:flex;flex-direction:column;gap:14px}
.timeline-bar>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-bottom:6px}
.timeline-track{height:12px;background:#e8eef8;border-radius:8px;overflow:hidden}
.timeline-track>span{display:block;height:100%;background:#2563eb;border-radius:8px}
.timeline-bar.community .timeline-track>span{background:#a16207}
.timeline-empty{padding:14px;border:1px dashed #b7ccec;border-radius:12px;font-size:13px}
.timeline-method{font-size:13px}
.timeline-method p+p{margin-top:10px}
.invitation-insights h2{font-size:24px;margin-top:6px}
.invitation-insights .text-button{min-height:44px}
@media(max-width:700px){
 .invitation-module{gap:14px}
 .invitation-daily{padding:22px 18px}
 .invitation-daily-heading{gap:12px;align-items:flex-start}
 .invitation-daily-heading h1{font-size:24px;letter-spacing:-.5px}
 .invitation-daily-heading p{font-size:13px}
 .journey-ring{flex-basis:86px;width:86px;height:86px}
 .journey-ring strong{font-size:23px}.journey-ring span{font-size:10px}
 .journey-progress-caption{font-size:13px;gap:4px}
 .journey-badges{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .journey-badge{padding:9px;font-size:11px}.journey-badge svg{width:18px;height:18px}
 .invitation-next{padding:18px}.invitation-next h2{font-size:20px}
 .invitation-next .primary{width:100%}
 .invitation-module .invitation-filters,.invitation-module .invitation-application-details{padding:12px 16px}
 .invitation-module input,.invitation-module select{font-size:16px}
 .invitation-module .invitation-save{position:sticky;bottom:10px;z-index:2;padding:12px;gap:8px;box-shadow:0 4px 20px #172f5520;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
 .invitation-save .hint,.invitation-save p[role=status]:empty{display:none}
 .invitation-save b,.invitation-save p[role=status]{font-size:12px}
 .invitation-save .primary{padding:12px 14px;min-height:48px;font-size:14px}
 .timeline-metrics strong{font-size:20px}.timeline-metrics>div{padding:12px}
 .invitation-insights .hint{font-size:12px}
 .invitation-insights h2{font-size:22px}
}

/* Purple accents for community prediction cards. */
.prediction-grid{--primary:#7e22ce;--ink:#3b0764;--muted:#6b527c}
.prediction-grid .prediction-vote{background:#faf5ff;border-color:#d8b4fe;box-shadow:0 5px 18px #6b21a80a}
.prediction-grid .prediction-results{background:#fdfaff;border-color:#e9d5ff}
.prediction-grid .eyebrow,.prediction-grid h2,.prediction-grid h3{color:#581c87}
.prediction-vote .field input{border-color:#9333ea;color:#3b0764;background:white}
.prediction-vote .primary{background:#7e22ce;color:white}
.prediction-vote .primary:hover{background:#6b21a8}
.prediction-vote :focus-visible{outline:3px solid #9333ea;outline-offset:3px}
.prediction-vote a{color:#6b21a8}.prediction-vote a.primary{color:white}
.prediction-band meter::-moz-meter-bar{background:#7e22ce}

.invitation-step.is-active .invitation-step-body{border:2px solid #2563eb;background:#f7faff}

.invitation-step-save{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px}
.invitation-step-save .primary{min-height:44px;padding:12px 20px}
.invitation-step-save-message{font-size:13px;color:#1e40af}
.invitation-step-save-message.is-error{color:#a12a22}
.invitation-checklist>.invitation-sharing-note{margin:12px 0 18px}
@media(max-width:700px){.invitation-step-save{flex-direction:column;align-items:stretch;gap:8px}.invitation-step-save .primary{width:100%}.invitation-step-save .hint{font-size:12px}}

.invitation-community-link{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;min-height:44px;padding:8px 0;font-size:14px;font-weight:700;text-underline-offset:4px}
.invitation-back-link{align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;font-size:14px;text-underline-offset:4px}
.invitation-community-page header h1{margin:0}
@media(max-width:700px){.invitation-community-page header h1{font-size:28px}.invitation-community-page header p{font-size:14px}}

.invitation-step-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.invitation-step-heading>.eyebrow{flex-shrink:0;padding-top:3px}
.invitation-autosave{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px;font-size:12px;line-height:1.5;color:#506581;text-align:right;min-height:22px}
.autosave-dot{width:7px;height:7px;border-radius:50%;background:#7488a6;flex-shrink:0}
.invitation-autosave.is-saved{color:#1e40af}.invitation-autosave.is-saved .autosave-dot{background:#2563eb}
.invitation-autosave.is-saving,.invitation-autosave.is-pending{color:#76560b}.invitation-autosave.is-saving .autosave-dot,.invitation-autosave.is-pending .autosave-dot{background:#a16207}
.invitation-autosave.is-error{color:#a12a22}.invitation-autosave.is-error .autosave-dot{background:#a12a22}
.autosave-error{flex-basis:100%;max-width:360px}
.invitation-autosave .text-button{min-height:44px;padding:4px 8px}
@media(max-width:700px){.invitation-step-heading{gap:8px}.invitation-autosave{font-size:11px}.invitation-step-heading>.eyebrow{font-size:10px}.autosave-error{max-width:100%}}

.invitation-setup-section{min-width:0}
.invitation-setup-section h4{font-size:15px;margin:0;color:#172f55}
.invitation-setup-section+.invitation-setup-section{border-top:1px solid #cfdef4;padding-top:18px;margin-top:6px}
.invitation-setup-step .invitation-marker{font-size:15px}

.noc-page{display:flex;flex-direction:column;gap:24px;min-width:0}
.noc-page header h1{font-size:36px;line-height:1.15}
.noc-filters{display:grid;grid-template-columns:2fr 1fr 1.3fr;gap:18px;border:1px solid var(--sand);padding:24px}
.noc-filters .field{min-width:0}.noc-filters input,.noc-filters select{width:100%;min-width:0}.noc-filters>button{justify-self:start}
.noc-guidance{padding:20px 24px;border:1px solid #c9dcc6;border-left:4px solid var(--primary);border-radius:16px;background:#eaf3e5;font-size:14px;line-height:1.6}
.noc-guidance p{margin:8px 0}.noc-guidance>a{font-weight:700}
.noc-results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.noc-result{display:flex;flex-direction:column;gap:14px;border:1px solid var(--sand);padding:24px;min-width:0}
.noc-result h2{font-size:21px;line-height:1.3;overflow-wrap:anywhere}
.noc-result-meta{display:flex;justify-content:space-between;align-items:center;gap:10px}.noc-code{font-weight:800;letter-spacing:.4px}
.noc-eligibility{align-self:flex-start;border-radius:8px;padding:5px 9px;background:#f0f2f0;color:#526056;font-size:12px;font-weight:700}
.noc-eligibility.is-eligible{background:#e7f3e2;color:#1b6531}
.noc-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:16px;background:#f5f8f2;border-radius:12px}
.noc-points dt{font-size:12px;color:var(--muted)}.noc-points dd{margin:4px 0 0;font-size:28px;font-weight:800;color:var(--primary)}.noc-points small{display:block;font-size:11px;font-weight:400;line-height:1.5}
.noc-result-links{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:auto;padding-top:4px;font-size:13px;font-weight:700}
.noc-pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:20px;font-size:13px}.noc-pagination .chip{background:white}
.noc-sources{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted);line-height:1.6}
@media(max-width:850px){.noc-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.noc-query{grid-column:1/-1}}
@media(max-width:600px){.noc-page{gap:18px}.noc-page header h1{font-size:29px}.noc-filters{grid-template-columns:minmax(0,1fr);padding:18px}.noc-results-grid{grid-template-columns:minmax(0,1fr)}.noc-result{padding:18px}.noc-guidance{padding:18px}.noc-pagination{gap:10px}.noc-pagination .chip{padding:8px 14px}}

.application-logo{display:block;position:relative;width:128px;height:84px;overflow:hidden;flex-shrink:0;background:#fff;border-radius:12px}
.application-logo img{position:absolute;display:block;max-width:none;width:128px;height:128px;top:-17px;left:0}
.desktop-brand{justify-content:center;padding-bottom:20px}.desktop-topbar .workspace-brand{text-decoration:none}
.home-heading .application-logo{width:128px;height:84px}
.dashboard-page{display:flex;flex-direction:column;gap:24px;min-width:0}
.dashboard-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.dashboard-heading h1{font-size:34px;line-height:1.15;margin:8px 0}.dashboard-heading>button{white-space:nowrap;background:white}
.dashboard-overview,.dashboard-updates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.dashboard-page .card{border:1px solid var(--sand);padding:26px;min-width:0}
.dashboard-score,.dashboard-progress{display:flex;flex-direction:column;gap:14px}.dashboard-score{background:#edf6e8}.dashboard-score h2,.dashboard-progress h2{font-size:25px;line-height:1.25}
.dashboard-score-value{font:800 64px/1 Bricolage,sans-serif;color:var(--primary)}.dashboard-score-value>span{font:500 15px Figtree,sans-serif;margin-left:10px;color:var(--muted)}
.dashboard-score .primary,.dashboard-progress .primary{margin-top:auto;min-height:48px;font-size:15px}.dashboard-save-status{font-size:12px;color:var(--muted)}
.dashboard-page .dashboard-progress{background:#edf3ff;border-color:#c5d8f7;color:#173b71}.dashboard-progress .eyebrow,.dashboard-progress small,.dashboard-progress .hint{color:#486489}.dashboard-progress .primary{background:#1d4ed8;color:#fff}
.dashboard-progress-label{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.dashboard-progress-label strong{font-size:32px;color:#1d4ed8}.dashboard-progress-label span{font-size:13px}
.dashboard-progress progress{width:100%;height:10px;appearance:none;border:0;border-radius:10px;overflow:hidden;background:#dbeafe}.dashboard-progress progress::-webkit-progress-bar{background:#dbeafe}.dashboard-progress progress::-webkit-progress-value{background:#1d4ed8}.dashboard-progress progress::-moz-progress-bar{background:#1d4ed8}
.dashboard-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dashboard-shortcuts a{display:flex;align-items:center;justify-content:space-between;gap:12px;background:white;border:1px solid var(--sand);border-radius:14px;padding:18px;text-decoration:none;font-weight:700;font-size:14px}
.dashboard-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.dashboard-section-heading h2{font-size:23px}.dashboard-section-heading>a{font-size:13px;white-space:nowrap;font-weight:700}
.dashboard-list{padding:0;margin:16px 0 0;list-style:none}.dashboard-list li{padding:20px 0;border-top:1px solid var(--sand);display:flex;flex-direction:column;gap:10px}.dashboard-list li:last-child{padding-bottom:0}.dashboard-list time{color:var(--muted);font-size:12px}.dashboard-list h3{font-size:17px;line-height:1.4;margin:0}.dashboard-list h3>a{color:var(--ink);text-decoration:none}.dashboard-list p{font-size:13px;line-height:1.6}.dashboard-list li>a{font-size:12px;align-self:flex-start}.dashboard-draw-numbers{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;font-size:13px}.dashboard-empty{padding:22px 0;color:var(--muted);font-size:14px}
.dashboard-guest{max-width:720px;width:100%;align-self:center;margin:24px auto;padding:36px!important;display:flex;align-items:center;flex-direction:column;gap:22px;text-align:center;border:1px solid var(--sand)}.dashboard-guest h1{font-size:36px;line-height:1.15}.dashboard-guest>p{max-width:46ch}.dashboard-guest-actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}.dashboard-guest-actions .chip{text-decoration:none;display:flex;align-items:center;justify-content:center}
@media(max-width:700px){.dashboard-heading{align-items:flex-start;flex-direction:column;gap:14px}.dashboard-heading h1{font-size:28px}.dashboard-heading>button{padding:8px 12px;font-size:13px}.dashboard-overview,.dashboard-updates{grid-template-columns:minmax(0,1fr);gap:16px}.dashboard-page{gap:18px}.dashboard-page .card{padding:20px}.dashboard-score-value{font-size:54px}.dashboard-shortcuts{grid-template-columns:minmax(0,1fr);gap:10px}.dashboard-shortcuts a{padding:14px 18px}.dashboard-guest{margin:0;padding:24px 18px!important}.dashboard-guest h1{font-size:28px}.dashboard-guest-actions{width:100%;flex-direction:column}.dashboard-score h2,.dashboard-progress h2{font-size:22px}.desktop-topbar .application-logo{width:104px;height:68px}.desktop-topbar .application-logo img{width:104px;height:104px;top:-14px}}

@media(max-width:959px){.desktop-topbar{min-height:56px;margin-bottom:12px}.desktop-topbar .application-logo{width:86px;height:56px}.desktop-topbar .application-logo img{width:86px;height:86px;top:-12px}}

.site-footer{flex-wrap:wrap}
.footer-legal{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;font-size:12px}
.footer-legal a{display:inline-flex;align-items:center;min-height:32px;text-underline-offset:3px}
.legal-page{width:100%;max-width:960px;margin:0 auto;display:flex;flex-direction:column;gap:28px;line-height:1.75;overflow-wrap:anywhere}
.legal-page header h1{line-height:1.2}.legal-page section h2{font-size:22px;line-height:1.3;margin-bottom:12px}.legal-page section p+p{margin-top:14px}.legal-page ul{padding-left:22px;margin:0}.legal-page li+li{margin-top:12px}.legal-page code{font-size:.9em;background:#edf3e9;padding:2px 5px;border-radius:4px;word-break:break-word}.legal-page a{text-underline-offset:3px}.legal-page-nav{display:flex;flex-wrap:wrap;gap:10px;border-bottom:1px solid var(--sand);padding-bottom:20px}.legal-page-nav a{padding:8px 12px;border-radius:10px;background:var(--background);font-size:13px;font-weight:600;text-decoration:none}.legal-page-nav a[aria-current=page]{background:var(--primary);color:white}
@media(max-width:600px){.legal-page{padding:20px!important;gap:24px;font-size:14px}.legal-page header h1{font-size:28px}.legal-page section h2{font-size:20px}.footer-legal{gap:4px 16px}}
