#mpc-project-app { --mpc-ink:#15212c; --mpc-orange:#ff5a0a; --mpc-orange-dark:#d94a00; --mpc-cream:#f7f3ed; --mpc-line:#dce4e8; --mpc-muted:#52636e; --mpc-warn:#9a5a15; width:100%; max-width:none !important; color:var(--mpc-ink); font-family:Manrope,Arial,sans-serif; }
#mpc-project-app * { box-sizing:border-box; }
#mpc-project-app button, #mpc-project-app input, #mpc-project-app select { font:inherit; }
.mpc-project-public-page .wp-block-post-title { display:none; }
.mpc-project-public-page main.wp-block-group { padding-top:0 !important; }
.mpc-project-public-page #wp--skip-link--target > .wp-block-group { padding-top:18px !important; }
.mpc-project-prototype-page #wpcontent { padding-left:0; }
.mpc-project-prototype-page #wpbody-content { padding-bottom:0; }
.mpc-public-shell { max-width:1120px; margin:0 auto; padding:42px 16px 70px; }
.mpc-public-kicker { margin:0; color:var(--mpc-orange); font-size:.77rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.mpc-public-welcome { min-height:68vh; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; max-width:1120px; }
.mpc-public-welcome h1, .mpc-public-header h1 { color:var(--mpc-ink); font-weight:400; letter-spacing:-.055em; }
.mpc-public-welcome h1 { max-width:850px; margin:12px 0 18px; font-size:clamp(3rem,9vw,6rem); line-height:.98; }
.mpc-public-lead { max-width:720px; margin:0 0 28px; color:var(--mpc-muted); font-size:clamp(1.08rem,2vw,1.3rem); line-height:1.55; }
.mpc-welcome-actions { display:flex; flex-wrap:wrap; gap:10px; }
.mpc-device-note { max-width:650px; margin:18px 0 0; color:var(--mpc-muted); font-size:.88rem; }
.mpc-welcome-steps { display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:42px; padding-top:18px; border-top:1px solid var(--mpc-line); color:var(--mpc-muted); font-size:.9rem; }
.mpc-welcome-steps span::before { content:"✓"; margin-right:6px; color:var(--mpc-orange); font-weight:900; }
.mpc-public-button { min-height:48px; border:0; border-radius:9px; padding:13px 18px; background:var(--mpc-orange); color:#fff; font-weight:850; cursor:pointer; text-decoration:none; }
.mpc-public-button:hover, .mpc-public-button:focus-visible { background:var(--mpc-orange-dark); color:#fff; }
.mpc-public-button.is-secondary { background:var(--mpc-ink); color:#fff; }
.mpc-public-button.is-secondary:hover, .mpc-public-button.is-secondary:focus-visible { background:#263847; }
.mpc-public-button:disabled { opacity:.45; cursor:not-allowed; }
.mpc-public-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:28px; }
.mpc-public-header h1 { margin:5px 0 0; font-size:clamp(2.2rem,6vw,4.7rem); line-height:1; }
.mpc-save { display:inline-flex; align-items:center; gap:7px; flex-shrink:0; margin-top:12px; color:var(--mpc-muted); font-size:.82rem; }
.mpc-save::before { content:""; width:8px; height:8px; border-radius:50%; background:#2f8f68; }
.mpc-public-progress { margin-bottom:22px; padding:18px 0; border-top:1px solid var(--mpc-line); border-bottom:1px solid var(--mpc-line); }
.mpc-progress-copy { display:grid; grid-template-columns:auto 1fr auto; align-items:baseline; gap:8px 12px; }
.mpc-progress-copy span, .mpc-progress-copy small { color:var(--mpc-muted); font-size:.84rem; }
.mpc-progress-copy strong { font-size:1.08rem; }
.mpc-progress-track { height:4px; margin:12px 0 13px; overflow:hidden; border-radius:999px; background:#e8ecee; }
.mpc-progress-track span { display:block; height:100%; background:var(--mpc-orange); transition:width 250ms ease; }
.mpc-progress-nav { display:flex; gap:8px 22px; overflow-x:auto; scrollbar-width:thin; }
.mpc-progress-nav button { flex:0 0 auto; border:0; border-bottom:2px solid transparent; padding:5px 0; background:transparent; color:var(--mpc-muted); text-align:left; cursor:pointer; }
.mpc-progress-nav button span, .mpc-progress-nav button small { display:block; }
.mpc-progress-nav button span { color:var(--mpc-ink); font-weight:750; }
.mpc-progress-nav button small { margin-top:2px; font-size:.72rem; }
.mpc-progress-nav button.is-active { border-color:var(--mpc-orange); }
.mpc-progress-nav button.is-review small { color:var(--mpc-warn); font-weight:800; }
.mpc-progress-nav button.is-recommended small, .mpc-progress-nav button.is-confirmed small { color:#2f7a5b; font-weight:800; }
.mpc-public-layout { display:grid; gap:22px; }
.mpc-public-content { --mpc-panel-pad:22px; min-width:0; padding:var(--mpc-panel-pad); position:relative; overflow:hidden; border:1px solid var(--mpc-line); border-radius:16px; background:#fff; box-shadow:0 10px 32px rgba(21,33,44,.05); transition:height 300ms ease; }
.mpc-public-panel { display:none; }
.mpc-public-panel.is-active { display:block; }
.mpc-public-panel.is-transition-panel { display:block; position:absolute; z-index:1; top:var(--mpc-panel-pad); left:var(--mpc-panel-pad); width:calc(100% - (var(--mpc-panel-pad) * 2)); transition:transform 300ms cubic-bezier(.22,.61,.36,1),opacity 300ms ease; will-change:transform,opacity; }
.mpc-public-panel.is-enter-right { transform:translate3d(105%,0,0); opacity:.7; }
.mpc-public-panel.is-enter-left { transform:translate3d(-105%,0,0); opacity:.7; }
.mpc-public-panel.is-enter-active { transform:translate3d(0,0,0); opacity:1; }
.mpc-public-panel.is-exit-left.is-exit-active { transform:translate3d(-105%,0,0); opacity:.7; }
.mpc-public-panel.is-exit-right.is-exit-active { transform:translate3d(105%,0,0); opacity:.7; }
.is-phase-transitioning .mpc-progress-nav, .is-phase-transitioning .mpc-public-content { pointer-events:none; }
.mpc-panel-heading { margin-bottom:26px; }
.mpc-panel-heading h2 { max-width:760px; margin:7px 0 9px; color:var(--mpc-ink); font-size:clamp(2rem,5vw,3.55rem); font-weight:400; line-height:1.02; letter-spacing:-.045em; }
.mpc-panel-heading > p:last-child { max-width:640px; margin:0; color:var(--mpc-muted); }
#mpc-project-app fieldset { min-width:0; margin:0 0 30px; padding:0; border:0; }
#mpc-project-app legend { margin-bottom:12px; font-size:1rem; font-weight:800; }
.mpc-public-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.mpc-public-choice { position:relative; cursor:pointer; }
.mpc-public-choice input { position:absolute; opacity:0; pointer-events:none; }
.mpc-public-choice span { min-height:56px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; border:1px solid var(--mpc-line); border-radius:12px; background:#fff; line-height:1.2; transition:border-color 150ms ease,background 150ms ease; }
.mpc-public-choice b { font-weight:750; }
.mpc-public-choice i { width:22px; height:22px; display:grid; place-items:center; flex:0 0 auto; border:1px solid var(--mpc-line); border-radius:50%; color:transparent; font-style:normal; }
.mpc-public-choice input:checked + span { border-color:var(--mpc-orange); background:#fff7f2; box-shadow:inset 0 0 0 1px var(--mpc-orange); }
.mpc-public-choice input:checked + span i { border-color:var(--mpc-orange); background:var(--mpc-orange); color:#fff; }
.mpc-public-choice input:focus-visible + span { outline:3px solid rgba(255,90,10,.22); outline-offset:2px; }
.mpc-public-routes { display:grid; gap:10px; margin-bottom:20px; }
.mpc-route-card { position:relative; min-height:130px; display:flex; flex-direction:column; align-items:flex-start; padding:18px 46px 18px 18px; border:1px solid var(--mpc-line); border-radius:14px; background:var(--mpc-cream); color:var(--mpc-ink); text-align:left; cursor:pointer; }
.mpc-route-card:hover, .mpc-route-card:focus-visible, .mpc-route-card.is-selected { border-color:var(--mpc-orange); }
.mpc-route-card.is-selected { background:#fff7f2; box-shadow:inset 0 0 0 1px var(--mpc-orange); }
.mpc-route-number { color:var(--mpc-orange); font-size:.75rem; font-weight:850; letter-spacing:.12em; }
.mpc-route-card strong { margin-top:12px; font-size:1.08rem; }
.mpc-route-card small { margin-top:5px; color:var(--mpc-muted); }
.mpc-route-card i { position:absolute; right:17px; top:17px; width:24px; height:24px; display:grid; place-items:center; border:1px solid var(--mpc-line); border-radius:50%; color:transparent; font-style:normal; }
.mpc-route-card.is-selected i { border-color:var(--mpc-orange); background:var(--mpc-orange); color:#fff; }
.mpc-public-manual > p, .mpc-form-note { color:var(--mpc-muted); }
.mpc-public-fields { display:grid; gap:12px; margin:16px 0 20px; }
.mpc-public-field, .mpc-measure-grid label { display:flex; flex-direction:column; gap:7px; font-weight:750; }
.mpc-public-field > span small { color:var(--mpc-muted); font-weight:500; }
.mpc-public-field select, .mpc-public-field input, .mpc-measure-grid input { width:100%; min-height:52px; border:1px solid #aeb9c0; border-radius:9px; padding:10px 12px; background:#fff; color:var(--mpc-ink); }
.mpc-public-field select:focus, .mpc-public-field input:focus, .mpc-measure-grid input:focus { border-color:var(--mpc-orange); outline:3px solid rgba(255,90,10,.15); }
.mpc-field-suffix { position:relative; display:block; }
.mpc-field-suffix input { padding-right:56px; }
.mpc-field-suffix em { position:absolute; right:12px; top:50%; transform:translateY(-50%); color:var(--mpc-muted); font-style:normal; font-weight:650; }
.mpc-measure-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; margin-bottom:16px; }
.mpc-form-note { margin:0 0 19px; font-size:.88rem; }
.mpc-public-empty { padding:22px; border-radius:14px; background:var(--mpc-cream); }
.mpc-public-empty p { margin:5px 0 0; color:var(--mpc-muted); }
.mpc-public-notice { display:flex; flex-direction:column; gap:4px; margin-bottom:16px; padding:15px 17px; border-left:4px solid #d18a2f; border-radius:10px; background:#fff4e5; color:#77420a; }
.mpc-public-recommendation { margin-bottom:14px; padding:22px; border:1px solid var(--mpc-line); border-radius:15px; }
.mpc-public-recommendation > p { margin:15px 0 3px; color:var(--mpc-muted); }
.mpc-public-recommendation h3 { margin:0 0 15px; font-size:clamp(1.55rem,4vw,2.35rem); font-weight:500; line-height:1.08; }
.mpc-status { display:inline-block; padding:5px 9px; border-radius:999px; background:#edf0ee; font-size:.73rem; font-weight:850; }
.mpc-status.is-recommended, .mpc-status.is-confirmed { background:#e9f3ee; color:#245943; }
.mpc-status.is-review { background:#fff4e5; color:#874d0f; }
.mpc-public-recommendation dl, .mpc-project-summary dl, .mpc-result-summary dl { margin:0 0 18px; }
.mpc-public-recommendation dl > div, .mpc-project-summary dl > div, .mpc-result-summary dl > div { display:flex; justify-content:space-between; gap:18px; padding:9px 0; border-top:1px solid var(--mpc-line); }
.mpc-public-recommendation dt, .mpc-project-summary dt, .mpc-result-summary dt { color:var(--mpc-muted); }
.mpc-public-recommendation dd, .mpc-project-summary dd, .mpc-result-summary dd { margin:0; font-weight:750; text-align:right; }
.mpc-final-result { margin-bottom:14px; padding:26px; border-radius:16px; background:var(--mpc-ink); color:#fff; }
.mpc-final-result p { margin:0 0 4px; color:#dce5eb; }
.mpc-final-result strong { display:block; color:#fff; font-size:clamp(3.1rem,10vw,6.2rem); font-weight:400; letter-spacing:-.06em; line-height:.95; }
.mpc-final-result span { display:block; margin-top:12px; color:#dce5eb; }
.mpc-result-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.mpc-result-details > div { min-height:92px; display:flex; flex-direction:column; justify-content:space-between; padding:14px; border:1px solid var(--mpc-line); border-radius:12px; }
.mpc-result-details span { color:var(--mpc-muted); font-size:.84rem; }
.mpc-result-details strong { font-size:1.25rem; }
.mpc-result-summary { display:grid; gap:18px; margin:22px 0; padding:20px; border-radius:14px; background:var(--mpc-cream); }
.mpc-result-summary h3 { margin:0 0 7px; }
.mpc-result-summary ul { margin:0; padding-left:20px; }
.mpc-project-summary { align-self:start; padding:19px; border-radius:15px; background:var(--mpc-cream); }
.mpc-project-summary h2 { margin:6px 0 13px; font-size:1.35rem; }
.mpc-project-summary dl { margin-bottom:10px; }
.mpc-project-summary > small { color:var(--mpc-muted); }
.mpc-summary-mobile { display:block; margin-top:14px; }
.mpc-summary-mobile summary { cursor:pointer; font-weight:850; }
.mpc-summary-mobile dl { margin-top:14px; }
.mpc-summary-desktop { display:none; }
.mpc-public-footer { display:flex; justify-content:flex-end; padding-top:18px; }
.mpc-reset-link { border:0; padding:8px 2px; background:transparent; color:#9b3838; text-decoration:underline; cursor:pointer; }
.mpc-project-entry { max-width:1120px; margin:34px auto; padding:26px; border-radius:16px; background:#15212c; color:#fff; font-family:Manrope,Arial,sans-serif; }
.mpc-project-entry.is-home { margin-top:28px; }
.mpc-project-entry p { margin:0; color:#dce5eb; }
.mpc-project-entry h2 { margin:6px 0 10px; color:#fff; font-size:clamp(1.7rem,4vw,2.7rem); font-weight:400; letter-spacing:-.04em; }
.mpc-project-entry .mpc-entry-kicker { color:#ff7a3b; font-size:.76rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.mpc-project-entry a { display:inline-flex; margin-top:17px; padding:13px 18px; border-radius:9px; background:#ff5a0a; color:#fff; font-weight:850; text-decoration:none; }
.mpc-project-context-link { max-width:1120px; margin:36px auto; padding:20px 22px; border-left:4px solid #ff5a0a; border-radius:10px; background:#f7f3ed; font-family:Manrope,Arial,sans-serif; }
.mpc-project-context-link p { margin:0 0 6px; color:#15212c; font-weight:750; }
.mpc-project-context-link a { color:#c84808; font-weight:850; }
@media (min-width:700px) {
	.mpc-public-shell { padding:58px 28px 86px; }
	.mpc-public-content { --mpc-panel-pad:32px; }
	.mpc-public-choice-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.mpc-public-choice-grid.is-compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.mpc-public-routes, .mpc-public-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.mpc-measure-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
	.mpc-result-details { grid-template-columns:repeat(4,minmax(0,1fr)); }
	.mpc-result-summary { grid-template-columns:1.2fr .8fr; }
	.mpc-project-entry { padding:34px; }
}
@media (min-width:980px) {
	.mpc-public-layout { grid-template-columns:minmax(0,1fr) 270px; }
	.mpc-summary-mobile { display:none; }
	.mpc-summary-desktop { display:block; position:sticky; top:38px; }
}
@media (max-width:520px) {
	.mpc-public-shell { padding-top:34px; }
	.mpc-public-header { display:block; }
	.mpc-save { margin-top:10px; }
	.mpc-progress-copy { grid-template-columns:1fr auto; }
	.mpc-progress-copy span { grid-column:1/-1; }
	.mpc-progress-nav { gap:8px 18px; }
	.mpc-public-choice-grid { grid-template-columns:1fr; }
	.mpc-measure-grid { grid-template-columns:1fr 1fr; }
	.mpc-public-content { --mpc-panel-pad:17px; }
	.mpc-final-result { padding:22px 18px; }
}
@media (prefers-reduced-motion:reduce) {
	.mpc-public-content, .mpc-public-panel.is-transition-panel { transition:none; }
}
