/* Input-driven route comparisons; unknown information stays visually distinct. */
.planner-section{padding-block:96px;background:var(--chalk);border-top:1px solid var(--line)}.planner-section .section-head{margin-bottom:35px}.planner-shell{min-width:0;border:2px solid var(--ink);background:var(--paper)}
.planner-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:2px solid var(--ink);background:var(--sand)}.planner-tab{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:64px;padding:16px 19px;border:0;border-right:1px solid var(--ink);background:transparent;color:var(--ink);font-size:13px;font-weight:600;line-height:1.5;text-align:center}.planner-tab:last-child{border-right:0}.planner-tab:hover{background:#eee7da}.planner-tab[aria-selected=true],.planner-tab.is-active{background:var(--orange);color:var(--ink)}.planner-tab[aria-selected=true]::after{content:'';position:absolute;bottom:6px;left:calc(50% - 14px);width:28px;height:2px;background:var(--ink)}.planner-tab:focus-visible{outline-offset:-6px}
#plannerForm{padding:32px}.planner-panel{min-width:0}.planner-panel>h3{font-family:var(--display);font-size:32px;font-weight:400;line-height:1.1;text-transform:uppercase;margin-bottom:16px}.planner-panel>p{font-size:15px;line-height:1.85;max-width:65ch;margin-bottom:24px;color:#575149}.planner-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}.field{display:flex;flex-direction:column;gap:9px;min-width:0;font-size:13px;font-weight:500;line-height:1.6}.field>span{display:block}.field input,.field select{display:block;width:100%;min-width:0;min-height:50px;padding:11px 13px;border:1px solid #8a8275;border-radius:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;font-weight:400;line-height:1.5;font-variant-numeric:tabular-nums;color-scheme:light}.field select{padding-right:30px}.field input:focus-visible,.field select:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-color:var(--ink)}.field input[aria-invalid=true],.field select[aria-invalid=true]{border-width:2px;border-color:#984021}.field-note{font-size:12px;font-weight:400;line-height:1.8;color:var(--muted);max-width:68ch;margin:10px 0 0}
.check-field{display:flex;align-items:flex-start;gap:11px;min-width:0;min-height:44px;padding-block:8px;font-size:14px;font-weight:400;line-height:1.75;cursor:pointer}.check-field input{flex:0 0 20px;width:20px;height:20px;margin:3px 0 0;accent-color:var(--ink)}.check-field>span{display:block;min-width:0}.planner-form-grid>.check-field{align-self:end}.planner-panel .check-field+.check-field{margin-top:7px}.preset-row{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:24px}.preset-row button{min-width:71px;min-height:44px;padding:9px 17px;border:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);font-size:13px;font-weight:600;line-height:1.5}.preset-row button:hover{background:var(--sand)}.preset-row button[aria-pressed=true],.preset-row button.is-active{background:var(--orange)}
.planner-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:27px;padding-top:25px;border-top:1px solid var(--line)}.planner-actions .button{min-width:170px}.planner-actions .fine{flex:1 1 280px;max-width:65ch;font-size:11px}.form-error{margin-top:20px;padding:16px 19px;border-left:4px solid #984021;background:#f4e5d8;color:#632d1c;font-size:14px;line-height:1.8}.form-error:empty{display:none}.form-error ul{padding-left:20px;margin:0}.form-error li+li{margin-top:7px}
.planner-summary{padding:24px 32px;border-top:2px solid var(--ink);background:var(--sand)}#plannerStatus{margin:0;font-size:14px;font-weight:500;line-height:1.8;overflow-wrap:anywhere}.planner-summary .fine{margin-top:10px}.results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0 32px;background:var(--paper)}
.result-card{min-width:0;padding:27px 0 30px;border-bottom:1px solid var(--line)}.result-card:nth-child(odd){padding-right:28px}.result-card:nth-child(even){padding-left:28px;border-left:1px solid var(--line)}.result-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:19px}.result-header h3{font-family:var(--display);font-size:clamp(27px,2.6vw,37px);font-weight:400;line-height:1.05;text-transform:uppercase;flex:1 1 150px;overflow-wrap:anywhere}.status-label{display:inline-flex;align-items:center;max-width:100%;min-height:27px;padding:5px 8px;border:1px solid #9f9585;background:var(--chalk);font-size:10px;font-weight:600;line-height:1.5;letter-spacing:.025em;text-transform:uppercase}.result-card[data-status=fits] .status-label{border-color:#758264;background:#e8eadd;color:#37412e}.result-card[data-status=tight] .status-label{border-color:#b4824d;background:#f1e1c9;color:#62411c}.result-card[data-status=over] .status-label{border-color:#a26d54;background:#eedbce;color:#643c29}.result-card[data-status=unknown] .status-label{border-color:#aaa292;background:#e9e5dc;color:#5a554b}
.result-time{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 14px;margin-bottom:18px}.result-time>strong{font-family:var(--display);font-size:clamp(43px,4.5vw,62px);font-weight:400;line-height:1.02;letter-spacing:-.015em;font-variant-numeric:tabular-nums}.result-time>small{font-size:11px;line-height:1.7;color:var(--muted)}.budget-track{position:relative;width:100%;height:15px;overflow:hidden;border:1px solid #b9ae9b;background:#eee9de}.budget-fill{display:block;height:100%;max-width:100%;background:var(--orange);transition:width .3s ease}.result-card[data-status=unknown] .budget-fill{background:repeating-linear-gradient(135deg,#8e8576 0 5px,#c4bcae 5px 8px)}.budget-labels{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-top:8px;font-size:10px;line-height:1.7;color:var(--muted);font-variant-numeric:tabular-nums}.budget-labels>*{min-width:0;overflow-wrap:anywhere}
.exposure-bar{display:flex;width:100%;min-height:11px;margin-top:23px;overflow:hidden;background:#eee9de;border:1px solid #b9ae9b}.exposure-bar>span{display:block;min-width:0;max-width:100%;height:11px;transition:width .3s ease}.exposure-bar .indoor{background:#57645e}.exposure-bar .outdoor{background:var(--orange)}.exposure-bar .covered{background:#b99669}.exposure-bar .unknown{background:repeating-linear-gradient(135deg,#c4bcae 0 4px,#eee9de 4px 8px)}.exposure-legend{display:flex;flex-wrap:wrap;gap:7px 15px;font-size:10px;line-height:1.7;color:var(--muted);margin-top:8px}.reason-list{margin:21px 0 0;padding-left:17px;font-size:12px;line-height:1.85;color:#5a544a}.reason-list li{padding-left:2px}.reason-list li+li{margin-top:7px}.result-card>.fine{margin-top:13px}.result-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 18px;margin-top:22px}.result-actions button{min-height:44px;padding:10px 13px;border:1px solid var(--ink);background:transparent;color:var(--ink);font-size:11px;font-weight:500;line-height:1.5}.result-actions button:hover{background:var(--sand)}.result-actions button[aria-pressed=true],.result-actions button.is-selected{background:var(--ink);color:var(--paper)}.result-actions a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;font-weight:500;text-decoration:underline;text-underline-offset:4px}
.compare-panel{margin:0;padding:32px;background:var(--chalk);border-top:2px solid var(--ink)}.compare-panel>h3{font-family:var(--display);font-size:36px;font-weight:400;line-height:1.05;text-transform:uppercase;margin:0 0 15px}#compareStatus{font-size:13px;line-height:1.8;margin-bottom:22px;color:var(--muted)}.compare-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.compare-column{min-width:0;border-top:3px solid var(--orange);padding:21px 0 0;font-size:13px;line-height:1.8}.compare-column h3,.compare-column h4{font-family:var(--display);font-size:29px;font-weight:400;line-height:1.08;text-transform:uppercase;margin-bottom:17px;overflow-wrap:anywhere}.compare-column dl{display:grid;gap:6px;margin:18px 0}.compare-column dt{font-size:10px;font-weight:600;letter-spacing:.035em;text-transform:uppercase;color:var(--muted)}.compare-column dd{margin:0 0 12px;font-size:13px;line-height:1.85;overflow-wrap:anywhere}.compare-column p+p{margin-top:13px}.compare-column button{min-height:44px;padding:9px 12px;border:1px solid #a59c8b;background:transparent;color:var(--ink);font-size:11px}.compare-column a{text-decoration:underline;text-underline-offset:4px}.compare-column .status-label{margin-bottom:15px}.empty-state{grid-column:1/-1;padding:26px 0;font-size:15px;line-height:1.85;color:var(--muted);max-width:68ch}.empty-state strong{color:var(--ink);font-weight:500}
@media(max-width:1000px){.planner-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.result-header h3{font-size:29px}.result-card:nth-child(odd){padding-right:22px}.result-card:nth-child(even){padding-left:22px}.compare-grid{gap:18px}.compare-column h3,.compare-column h4{font-size:26px}}
@media(max-width:760px){#plannerForm{padding:25px}.planner-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.planner-tab{min-height:59px;padding:13px 9px;font-size:11px}.planner-form-grid{grid-template-columns:minmax(0,1fr);gap:20px}.planner-summary{padding:23px 25px}.results-grid{grid-template-columns:minmax(0,1fr);padding:0 25px}.result-card:nth-child(odd),.result-card:nth-child(even){padding:26px 0;border-left:0}.result-header h3{font-size:32px}.result-time>strong{font-size:52px}.compare-panel{padding:28px 25px}.compare-grid{grid-template-columns:minmax(0,1fr);gap:29px}.compare-column h3,.compare-column h4{font-size:31px}.compare-column dl{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px}.compare-column dd{margin:0}.planner-actions{align-items:flex-start;gap:15px}.planner-actions .fine{flex-basis:100%}.reason-list{font-size:13px}.compare-column{font-size:14px}}
@media(max-width:600px){.planner-section{padding-block:62px}.planner-shell{border-width:1px}.planner-tabs{border-bottom-width:1px}#plannerForm{padding:23px 18px}.planner-tab{font-size:10px;padding-inline:7px}.planner-panel>h3{font-size:29px}.planner-panel>p{font-size:14px}.field{font-size:12px}.field input,.field select{font-size:16px;min-height:48px}.check-field{font-size:13px}.preset-row{gap:8px;margin-bottom:21px}.preset-row button{min-width:65px;font-size:12px;padding-inline:15px}.planner-actions .button{width:100%}.planner-actions .fine{font-size:10px}.planner-summary{padding:20px 18px;border-top-width:1px}#plannerStatus{font-size:13px}.results-grid{padding-inline:18px}.result-header{gap:12px}.result-header h3{font-size:30px}.result-time>strong{font-size:48px}.result-time>small{font-size:10px}.result-actions{gap:10px}.budget-labels{font-size:10px}.compare-panel{padding:25px 18px;border-top-width:1px}.compare-panel>h3{font-size:32px}.compare-column dl{grid-template-columns:minmax(0,1fr);gap:5px}.compare-column dd{margin-bottom:12px}.empty-state{font-size:14px;padding-block:15px}.form-error{padding:14px 15px;font-size:13px}}
body.motion-paused .budget-fill,body.motion-paused .exposure-bar>span,body.reduced-motion .budget-fill,body.reduced-motion .exposure-bar>span{transition:none}
@media(prefers-reduced-motion:reduce){.planner-section *, .planner-section *::before,.planner-section *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Tabs live inside the form in the generated template. */
#plannerForm>.planner-tabs{margin:-32px -32px 28px}
@media(max-width:760px){#plannerForm>.planner-tabs{margin:-25px -25px 26px}}
@media(max-width:600px){#plannerForm>.planner-tabs{margin:-23px -18px 23px}}
