.proposal-page{background:#f6f4ef;min-height:75vh}.proposal-intro{color:var(--navy);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin-bottom:22px;display:flex}.proposal-intro h1{font-size:36px;line-height:1.15}.proposal-intro p{color:#596561;margin-top:7px;font-size:15px}.proposal-area-link{color:#596561;text-underline-offset:4px;flex-wrap:wrap;align-items:center;gap:4px;min-height:44px;font-size:13px;text-decoration:underline;display:inline-flex}.proposal-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.proposal-card{background:#fff;border:1px solid #dce0db;border-radius:12px;flex-direction:column;min-width:0;padding:20px;display:flex}.proposal-card-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:14px 0;display:flex}.proposal-status{color:#52635b;align-items:center;gap:7px;font-size:12px;font-weight:600;display:inline-flex}.proposal-status:before{content:"";background:#6f8e76;border-radius:50%;width:7px;height:7px}.proposal-status.is-review{color:#965018}.proposal-status.is-review:before{background:#c26a27}.proposal-match{color:#864015;background:#fff0e3;border-radius:999px;padding:4px 9px;font-size:11px}.proposal-card h2{font-family:var(--font-dm-sans),sans-serif;letter-spacing:-.6px;color:var(--navy);text-wrap:balance;font-size:24px;font-weight:650;line-height:1.25}.proposal-card h2 a:hover{text-underline-offset:4px;text-decoration:underline}.proposal-destination{color:#66706d;margin-top:6px;font-size:13px}.proposal-card .proposal-participation{padding-top:14px}.proposal-existing{text-align:right;color:#596561;margin-top:10px;font-size:13px}.proposal-existing a{text-underline-offset:4px;align-items:center;min-height:44px;text-decoration:underline;display:inline-flex}.proposal-support-total{flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:22px 0 20px;display:flex}.proposal-support-total strong{letter-spacing:-.6px;color:#344e42;font-size:27px;font-weight:650;line-height:1.1}.proposal-support-total span{color:#66706d;font-size:12px}.proposal-participation{border-top:1px solid #e5e8e3;margin-top:auto;padding-top:17px}.proposal-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.proposal-actions .portal-button,.proposal-actions .share-trigger{white-space:normal;border-radius:7px;min-height:46px;padding:11px 15px;font-size:14px}.proposal-actions .share-trigger{color:#8e461f;background:#fffaf3;border-color:#d6a683;font-weight:600}.proposal-actions .share-trigger:hover{background:#ffecd8}.proposal-details-link{color:#5c6763;text-underline-offset:3px;align-items:center;min-height:44px;margin-left:auto;font-size:13px;text-decoration:underline;display:inline-flex}.proposal-saved-link{text-underline-offset:3px;align-items:center;min-height:44px;font-size:14px;text-decoration:underline;display:inline-flex}.proposal-your-support{color:#365d48;margin-bottom:12px;font-size:13px;font-weight:600}.proposal-your-support span{color:#66706d;margin-top:3px;font-size:12px;font-weight:400;display:block}.is-supported .share-trigger{background:var(--accent);border-color:var(--accent);color:var(--navy)}.is-supported .share-trigger:hover{background:#f58b4d}.proposal-invite-note{color:#66706d;margin-top:10px;font-size:12px}.proposal-board-note{color:#67716d;max-width:740px;margin-top:4px;font-size:12px;line-height:1.65}.proposal-other{background:var(--warm-white);border-top:1px solid #e5e8e3;justify-content:space-between;align-items:center;gap:20px 28px;padding:26px 20px;display:flex}.proposal-other h2{color:var(--navy);font-size:28px;line-height:1.2}.proposal-other p{color:#596561;max-width:480px;margin-top:8px;font-size:13px;line-height:1.6}.proposal-other .portal-button{text-align:center;border-radius:7px;flex-shrink:0;min-height:46px;padding:13px 16px;font-size:14px}.proposal-local-note{color:#965018;margin-top:14px;font-weight:500}.proposal-detail-card .proposal-support-total{padding-top:0}.proposal-detail-followup{margin-top:20px}.proposal-detail-followup .proposal-participation{border:0;padding-top:0}.proposal-map{margin:0 0 22px}.proposal-detail-card+.proposal-map{margin-top:20px}.proposal-map-toggle{color:#485d52;cursor:pointer;align-items:center;gap:9px;min-height:44px;font-size:13px;font-weight:600;display:inline-flex}.proposal-map-toggle span{margin-left:4px;font-size:19px}.proposal-map-content{background:#fff;border:1px solid #dce0db;border-radius:12px;margin-top:8px;padding:20px}.proposal-map-note{color:#66706d;margin:12px 0;font-size:12px;line-height:1.5}.proposal-map-frame{background:#f2f4ef;border-radius:8px;position:relative;overflow:hidden}.proposal-map-canvas{width:100%;height:320px}.proposal-map-message{color:#52635b;padding:18px;font-size:13px}.proposal-pickup-map{background:#fff;border:1px solid #dce0db;border-radius:12px;margin-top:24px;overflow:hidden}.pickup-map-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:18px 20px;display:flex}.pickup-map-heading h2{color:var(--navy);font-size:20px;font-weight:650;line-height:1.25}.pickup-map-heading p{color:#66706d;margin-top:5px;font-size:12px}.pickup-map-heading button{color:#52635b;text-underline-offset:3px;cursor:pointer;min-height:44px;font-size:12px;text-decoration:underline}.pickup-map-views{background:var(--warm-white);border:1px solid #dce0db;border-radius:7px;gap:2px;padding:3px;display:flex}.pickup-map-views button{border-radius:4px;padding:8px 10px;font-weight:500;text-decoration:none}.pickup-map-views button[aria-pressed=true]{background:var(--navy);color:#fff}.proposal-pickup-map .proposal-map-frame{border-radius:0}.pickup-map-canvas{width:100%;height:380px}.pickup-map-stops{flex-wrap:wrap;gap:4px 22px;padding:14px 20px 0;list-style:none;display:flex}.pickup-map-stops li{align-items:center;gap:8px;min-height:44px;font-size:13px;display:flex}.pickup-map-stops li>span{background:var(--navy);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:24px;height:24px;font-size:12px;font-weight:600;display:grid}.pickup-map-stops a{color:var(--navy);text-underline-offset:3px;text-decoration:underline}.pickup-map-city-stops{color:#52635b;padding:8px 20px 18px;font-size:13px}.pickup-map-city-stops summary{cursor:pointer;align-content:center;min-height:44px;font-weight:600}.pickup-map-city-stops p{color:#66706d;margin-top:4px;font-size:12px;line-height:1.5}.pickup-map-city-stops .pickup-map-stops{padding:8px 0 0}.pickup-map-city-stops .pickup-map-stops li>span{background:#52635b}@media (max-width:700px){.pickup-map-canvas{height:340px}.pickup-map-heading{padding:16px}.pickup-map-stops{gap:2px 18px;padding-inline:16px}.pickup-map-city-stops{padding-inline:16px}}.proposal-map-legend{flex-wrap:wrap;gap:10px 24px;padding:12px 0 0;font-size:13px;list-style:none;display:flex}.proposal-map-legend li{align-items:center;gap:8px;min-height:44px;display:flex}.proposal-map-legend li>span{border:1px solid #ccd5cc;border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:grid}.proposal-map-legend a{text-underline-offset:3px;text-decoration:underline}.proposal-page :is(a,button,select):focus-visible,.proposal-map :is(button,a,select):focus-visible,.proposal-pickup-map :is(button,a,summary):focus-visible{outline-offset:3px;outline:3px solid #24658d}@media (max-width:700px){.proposal-intro h1{font-size:32px}.proposal-intro{margin-bottom:18px}.proposal-board{grid-template-columns:minmax(0,1fr)}.proposal-card{padding:20px}.proposal-card h2{font-size:24px}.proposal-map-content{padding:14px}.proposal-map-canvas{height:280px}.proposal-support-total{padding:18px 0}.proposal-other h2{font-size:26px}}@media (max-width:360px){.proposal-actions .portal-button,.proposal-actions .share-trigger{padding:10px 12px;font-size:13px}.proposal-details-link{margin-left:0}.proposal-card{padding:17px}}.route-race-board{--race-bus-width:112px;background:#fff;border:1px solid #dce0db;border-radius:12px;overflow:hidden}.race-board-heading{background:var(--warm-white);border-bottom:1px solid #e5e8e3;grid-template-columns:28% 72%;padding:13px 0;display:grid}.race-board-heading>span{color:#66706d;letter-spacing:.09em;padding-inline:20px;font-size:10px}.race-board-heading>span:last-child{justify-content:space-between;display:flex}.race-board-body,.race-lanes{min-width:0}.race-lane{border-bottom:1px solid #e5e8e3;grid-template-columns:minmax(0,28fr) minmax(0,72fr);min-height:144px;transition:background-color .18s;display:grid}.race-lane:last-child{border-bottom:0}.race-lane:hover,.race-lane:focus-within{background:#f4f1ea80}.race-info{align-self:center;min-width:0;padding:17px 12px 17px 20px}.race-info h2{letter-spacing:-.35px;color:var(--navy);text-wrap:balance;font-size:19px;font-weight:650;line-height:1.25}.race-info h2 a:hover{text-underline-offset:4px;text-decoration:underline}.race-info>.proposal-status{margin-top:7px;font-size:11px;line-height:1.45}.race-match{color:#965018;margin-top:4px;font-size:10px;display:block}.race-info .proposal-participation{border:0;margin-top:0;padding-top:10px}.race-info .proposal-actions{gap:6px 10px}.race-info .proposal-actions .portal-button{border-radius:7px;min-height:44px;padding:12px 10px;font-size:12px}.race-info .proposal-actions .share-trigger{color:#8e461f;background:0 0;border:0;gap:4px;min-height:44px;padding:6px 0;font-size:12px}.race-info .proposal-actions .share-trigger svg{width:14px;height:14px}.race-info .proposal-actions .share-trigger:hover{text-underline-offset:4px;text-decoration:underline}.race-info .is-supported .share-trigger{background:var(--accent);color:var(--navy);border:1px solid var(--accent);padding:10px}.race-info .proposal-saved-link{font-size:12px}.race-info .proposal-your-support{margin-bottom:0;font-size:11px}.race-info .proposal-your-support span,.race-info .proposal-invite-note{display:none}.race-journey{grid-template-columns:20% minmax(0,1fr) 20%;gap:8px;min-width:0;padding:0 16px 0 8px;display:grid}.race-endpoint{color:#66706d;min-width:0;position:relative}.race-origin{grid-column:1}.race-destination{grid-column:3}.race-town-art,.race-skyline{width:100%;height:96px;position:absolute;bottom:calc(50% - 23px);left:0;overflow:visible}.race-town-art :is(path,circle),.race-skyline path{vector-effect:non-scaling-stroke;stroke-width:1.15px}.town-fine-detail{opacity:.65}.town-background-detail{opacity:.55}.town-ground{opacity:.45}.race-destination-label{text-align:center;font-family:var(--font-plex-mono),monospace;letter-spacing:.1em;text-transform:uppercase;color:#66706d;font-size:9px;position:absolute;top:calc(50% + 31px);left:0;right:0}.race-track{grid-column:2;align-self:stretch;min-width:0;position:relative}.race-track-line{background:repeating-linear-gradient(90deg,#dce0db 0 12px,#0000 12px 25px) 0/100% 1px no-repeat;border-top:1px solid #dce0db;border-bottom:1px solid #e5e8e3;height:14px;position:absolute;top:calc(50% + 19px);left:0;right:0}.race-bus-travel{top:calc(50% + 19px);left:0;right:var(--race-bus-width);height:0;position:absolute}.race-bus{left:var(--bus-position);bottom:calc(var(--race-bus-width) / -24);width:var(--race-bus-width);border-radius:4px;align-items:flex-end;height:52px;transition:left .75s cubic-bezier(.22,.61,.36,1);display:flex;position:absolute}.race-bus-art{width:100%;height:auto;color:var(--navy);display:block}.race-bus-support{text-align:center;color:#52635b;width:max-content;max-width:130px;padding-bottom:3px;font-size:11px;font-weight:600;line-height:1.35;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.race-bus-confirmed .race-bus-art{animation:.75s cubic-bezier(.22,.61,.36,1) both race-confirmed}@keyframes race-confirmed{0%{transform:translate(-10px)}to{transform:translate(0)}}.race-board-caption{color:#66706d;border-top:1px solid #e5e8e3;padding:13px 20px;font-size:11px;line-height:1.5}.race-refresh-note,.race-empty{color:#66706d;padding:12px 20px;font-size:12px}@media (min-width:701px) and (max-width:1000px){.race-board-heading{grid-template-columns:34% 66%}.race-lane{grid-template-columns:minmax(0,34fr) minmax(0,66fr)}.race-info h2{font-size:18px}.race-info{padding-left:16px}.race-journey{gap:6px;padding-right:12px}.route-race-board{--race-bus-width:98px}}@media (max-width:700px){.proposal-other{flex-direction:column;align-items:stretch;gap:16px;padding:22px 16px}.proposal-other .portal-button{width:100%}.route-race-board{--race-bus-width:74px}.race-board-heading{grid-template-columns:1fr;padding:12px 0}.race-board-heading>span:first-child{display:none}.race-board-heading>span:last-child{padding-inline:16px}.race-lane{grid-template-columns:minmax(0,1fr);min-height:0}.race-info{padding:16px 16px 0}.race-info h2{text-wrap:initial;font-size:19px}.race-info>.proposal-status{margin-top:7px}.race-info .proposal-participation{padding-top:8px}.race-info .proposal-actions .portal-button{padding:11px 12px;font-size:13px}.race-journey{grid-template-columns:25% minmax(0,1fr) 25%;gap:6px;height:120px;padding:0 16px}.race-bus-support{max-width:var(--race-bus-width);font-size:10px}.race-town-art,.race-skyline{height:76px}.race-town-art :is(path,circle),.race-skyline path{stroke-width:1px}.race-board-caption{padding:12px 16px;font-size:10px}}@media (max-width:360px){.route-race-board{--race-bus-width:62px}.race-journey{gap:4px;padding-inline:12px}.race-info{padding-inline:12px}}@media (prefers-reduced-motion:reduce){.race-bus,.race-lane{transition:none}.race-bus-confirmed .race-bus-art{animation:none}}
