:root{--ink:#171a1f;--muted:#68727d;--line:#d9dee3;--soft:#f4f6f7;--blue:#1769e0;--future:#ef4938;--estate:#087f5b;--white:#fff;--panel:410px;--nav:76px;--context-filter-height:0px;font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--soft)}
html{-webkit-text-size-adjust:100%}
*{box-sizing:border-box}html,body,.app-shell{width:100%;height:100%;height:100lvh;margin:0;overflow:hidden}body{background:#fff}button,input,select{font:inherit;letter-spacing:0}.app-shell{position:relative;background:var(--soft)}button{cursor:pointer}.topbar{position:absolute;z-index:80;top:0;right:0;left:0;height:66px;padding:0 calc(var(--nav) + 14px) 0 18px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.97);display:flex;align-items:center;gap:16px}.brand{width:176px;height:42px;padding:0;border:0;background:transparent;display:flex;align-items:center}.brand-full{width:158px;max-height:34px}.brand-mark{display:none;width:34px;height:34px}.global-search{position:relative;width:min(480px,45vw);height:42px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:var(--soft);display:flex;align-items:center;gap:8px}.global-search:focus-within{border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px rgba(23,105,224,.1)}.global-search svg{width:17px;color:var(--muted)}.global-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--ink);font-size:13px}.global-search kbd{color:#89919a;font-size:10px}.global-results{position:absolute;z-index:90;top:58px;left:210px;width:min(480px,calc(100vw - 260px));max-height:480px;border:1px solid var(--line);border-radius:6px;background:#fff;box-shadow:0 12px 34px rgba(23,26,31,.16);overflow:auto}.global-result{width:100%;min-height:54px;padding:8px 12px;border:0;border-bottom:1px solid var(--line);background:#fff;display:grid;grid-template-columns:44px 1fr;align-items:center;gap:8px;text-align:left}.global-result:hover{background:var(--soft)}.global-result em{color:var(--blue);font-size:10px;font-style:normal;font-weight:800}.global-result strong,.global-result small{display:block}.global-result strong{font-size:12px}.global-result small{margin-top:3px;color:var(--muted);font-size:10px}.global-empty{padding:28px;color:var(--muted);font-size:11px;text-align:center}.data-health{margin-left:auto;padding:7px;border:0;background:transparent;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px}.data-health span{width:8px;height:8px;border-radius:50%;background:#d19b27}.data-health.is-ready span{background:var(--estate)}
.context-filter-bar{position:absolute;z-index:75;top:66px;right:var(--nav);left:0;min-height:48px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.98);display:flex;align-items:flex-start;gap:8px;padding:6px 14px;overflow:visible}
.context-filter-bar[hidden]{display:none}
.context-filter-bar [hidden]{display:none}
.app-shell.panel-open .context-filter-bar{right:calc(var(--panel) + var(--nav))}
.context-filter-bar>.map-line-scope-filter,.context-filter-bar>.estate-filters{flex:0 0 auto}
.context-filter-bar>.context-geo-filters{min-width:0;flex:1;border:0}
.context-filter-bar .geo-filter-strip{padding:0;min-height:36px}
.context-filter-bar .geo-filter-options{margin:6px -14px -6px;padding:10px 14px}
.app-shell.search-mode .context-filter-bar{display:none}
.map-workspace{position:absolute;inset:calc(66px + var(--context-filter-height)) calc(var(--panel) + var(--nav)) 0 0;background:#e9edef}.kakao-map{position:absolute;inset:0}.map-loading{position:absolute;z-index:40;inset:0;background:rgba(244,246,247,.92);display:grid;place-content:center;justify-items:center;gap:12px;color:var(--muted);font-size:12px}.map-loading[hidden]{display:none}.map-loading>.ui-spinner{width:26px;height:26px}@keyframes spin{to{transform:rotate(360deg)}}.map-toolbar{position:absolute;z-index:35;top:16px;left:16px;right:16px;display:flex;align-items:flex-start;gap:8px;pointer-events:none}.map-toolbar>*{pointer-events:auto}.line-filter{position:relative}.line-filter summary{height:38px;padding:0 9px;border:1px solid var(--line);border-radius:6px;background:#fff;box-shadow:0 2px 9px rgba(23,26,31,.1);display:flex;align-items:center;gap:7px;list-style:none;color:var(--ink);font-size:11px;font-weight:800}.line-filter summary::-webkit-details-marker{display:none}.line-filter summary>svg{width:15px;color:var(--muted)}.line-filter summary small{color:var(--muted);font-size:9px;font-weight:700}.line-filter .line-filter-chevron{width:13px;transition:transform .16s}.line-filter[open] .line-filter-chevron{transform:rotate(180deg)}.line-filter-menu{position:absolute;top:43px;left:0;width:148px;padding:6px;border:1px solid var(--line);border-radius:6px;background:#fff;box-shadow:0 8px 22px rgba(23,26,31,.15);display:grid;gap:2px}.line-filter-menu label{height:34px;padding:0 7px;border-radius:4px;display:flex;align-items:center;gap:8px;color:var(--ink);font-size:10px;font-weight:750;cursor:pointer}.line-filter-menu label:hover{background:var(--soft)}.line-filter-menu input{width:15px;height:15px;margin:0;accent-color:var(--blue)}.map-route-metric{width:194px}.map-route-metric[hidden]{display:none}.tool-toggle{height:38px;padding:0 11px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--muted);display:flex;align-items:center;gap:6px;box-shadow:0 2px 9px rgba(23,26,31,.1);font-size:11px;font-weight:800}.tool-toggle svg{width:15px}.tool-toggle.is-on{border-color:var(--estate);color:var(--estate)}.region-control{height:38px;padding:0 8px 0 10px;border:1px solid var(--line);border-radius:6px;background:#fff;display:flex;align-items:center;gap:7px;box-shadow:0 2px 9px rgba(23,26,31,.1)}.region-control span{color:var(--muted);font-size:9px;font-weight:750}.region-control select{border:0;outline:0;background:#fff;color:var(--ink);font-size:11px;font-weight:800}.radius-control{position:absolute;z-index:35;top:64px;left:16px;height:36px;padding:3px;border:1px solid var(--line);border-radius:6px;background:#fff;display:flex;align-items:center;gap:2px;box-shadow:0 2px 9px rgba(23,26,31,.1)}.radius-control[hidden]{display:none}.radius-control span{padding:0 7px;color:var(--muted);font-size:9px;font-weight:800}.radius-control button{height:28px;padding:0 7px;border:0;border-radius:4px;background:transparent;color:var(--muted);font-size:9px;font-weight:800}.radius-control button.is-active{background:#e5f4ef;color:var(--estate)}.focus-exit{position:absolute;z-index:35;top:112px;left:16px;height:38px;padding:0 11px;border:1px solid var(--line);border-radius:5px;background:#fff;display:flex;align-items:center;gap:7px;box-shadow:0 2px 9px rgba(23,26,31,.1);font-size:11px;font-weight:800}.focus-exit[hidden]{display:none}.focus-exit svg{width:16px}.location-button{position:absolute;z-index:35;right:16px;bottom:62px;width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:6px;background:#fff;display:grid;place-items:center;box-shadow:0 2px 9px rgba(23,26,31,.1)}.location-button svg{width:18px}.legend{position:absolute;z-index:34;right:16px;bottom:16px;padding:8px 10px;border:1px solid var(--line);border-radius:5px;background:rgba(255,255,255,.94);display:flex;gap:12px;color:var(--muted);font-size:9px}.legend span{display:flex;align-items:center;gap:5px}.legend i{display:block}.line-now{width:18px;border-top:3px solid #65717d}.line-future{width:18px;border-top:4px solid var(--future)}.dot-complex{width:9px;height:9px;border-radius:2px;background:var(--estate)}.coverage-note{position:absolute;z-index:34;bottom:16px;left:16px;margin:0;color:#5d6670;font-size:9px;text-shadow:0 1px 2px #fff}
.station-marker{position:relative;width:24px;height:24px;padding:0;border:3px solid #fff;border-radius:50%;background:var(--ink);color:#fff;box-shadow:0 2px 7px rgba(23,26,31,.28)}.station-marker.future{background:var(--future)}.station-marker span{position:absolute;top:22px;left:50%;padding:2px 4px;border-radius:3px;background:rgba(255,255,255,.95);color:var(--ink);font-size:9px;font-weight:800;white-space:nowrap;transform:translateX(-50%);box-shadow:0 1px 4px rgba(23,26,31,.12)}.station-marker.is-selected{transform:scale(1.25);background:var(--blue)}.complex-marker{min-width:54px;height:30px;padding:0 7px;border:2px solid #fff;border-radius:5px;background:var(--estate);color:#fff;box-shadow:0 3px 9px rgba(8,127,91,.3);font-size:10px;font-weight:850}.complex-marker.is-home{background:#c34631}.my-location-marker{width:18px;height:18px;border:4px solid #fff;border-radius:50%;background:var(--blue);box-shadow:0 0 0 2px rgba(23,105,224,.25)}
.detail-panel{position:absolute;z-index:60;top:66px;right:var(--nav);bottom:0;width:var(--panel);padding:25px 22px 38px;border-left:1px solid var(--line);background:rgba(255,255,255,.99);overflow:auto}.panel-eyebrow{margin:0 0 6px;color:var(--future);font-size:10px;font-weight:850}.panel-title{margin:0;font-size:24px;line-height:1.24}.panel-subtitle{margin:8px 0 0;color:var(--muted);font-size:11px;line-height:1.6}.panel-actions{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.command{height:42px;padding:0 10px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);font-size:11px;font-weight:800}.command.primary{border-color:var(--ink);background:var(--ink);color:#fff}.command.full{width:100%;margin-top:8px}.summary-grid{margin-top:22px;display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.summary-grid div{padding-top:10px;border-top:1px solid var(--line)}.summary-grid span,.summary-grid strong{display:block}.summary-grid span{color:var(--muted);font-size:9px}.summary-grid strong{margin-top:5px;font-size:15px}.section-title{margin:26px 0 10px;font-size:13px}.list{border-top:1px solid var(--line)}.list-row{width:100%;min-height:56px;padding:9px 2px;border:0;border-bottom:1px solid var(--line);background:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;text-align:left}.list-row:hover{background:var(--soft)}.list-row strong,.list-row span,.list-row small{display:block}.list-row strong{font-size:11px}.list-row span{color:var(--estate);font-size:11px;font-weight:850}.list-row small{grid-column:1/-1;color:var(--muted);font-size:9px}.context-back{margin:0 0 16px;padding:0;border:0;background:transparent;color:var(--blue);display:flex;align-items:center;gap:6px;font-size:10px;font-weight:800}.context-back svg{width:15px}.status-list{margin-top:18px;border-top:1px solid var(--line)}.status-list div{padding:10px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}.status-list span{color:var(--muted);font-size:9px}.status-list strong{font-size:10px;text-align:right}.notice{margin-top:18px;padding:13px;border-left:4px solid var(--future);background:var(--soft);font-size:10px;line-height:1.6}.empty-state{min-height:60vh;display:grid;align-content:center;justify-items:center;text-align:center}.empty-state svg{width:30px;color:var(--blue)}.empty-state h1{margin:14px 0 0;font-size:22px}.empty-state p{max-width:280px;color:var(--muted);font-size:11px;line-height:1.65}
.progress-block{margin-top:18px}.progress-block div{display:flex;justify-content:space-between;align-items:center}.progress-block span,.progress-block small{color:var(--muted);font-size:9px}.progress-block strong{font-size:12px}.progress-block progress{width:100%;height:8px;margin:8px 0 4px;border:0;border-radius:4px;overflow:hidden;background:var(--line);accent-color:var(--future)}.progress-block progress::-webkit-progress-bar{background:var(--line)}.progress-block progress::-webkit-progress-value{background:var(--future)}.source-link{min-height:58px;padding:10px 11px;border:1px solid var(--line);border-radius:5px;color:var(--ink);display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:10px;text-decoration:none}.source-link:hover{border-color:var(--blue)}.source-link strong,.source-link small{display:block}.source-link strong{font-size:10px}.source-link small{margin-top:4px;color:var(--muted);font-size:9px;line-height:1.45}.source-link svg{width:15px;color:var(--blue)}
.route-form{margin-top:20px;display:grid;gap:9px}.route-field{position:relative}.route-form label{display:grid;gap:5px;color:var(--muted);font-size:9px;font-weight:750}.route-form label.is-active{color:var(--blue)}.route-form input,.settings-form input,.compare-search input{width:100%;height:42px;padding:0 10px;border:1px solid var(--line);border-radius:5px;background:#fff;outline:0;color:var(--ink);font-size:11px}.route-form input:focus,.settings-form input:focus,.compare-search input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,105,224,.09)}.suggestions{position:absolute;z-index:100;top:calc(100% + 4px);right:0;left:0;max-height:248px;border:1px solid var(--line);border-radius:5px;background:#fff;box-shadow:0 9px 24px rgba(23,26,31,.15);overflow:auto}.suggestions[hidden]{display:none}.suggestions button{width:100%;min-height:46px;padding:7px 9px;border:0;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;gap:8px;text-align:left}.suggestions button:hover{background:var(--soft)}.suggestions svg{width:15px;color:var(--blue)}.suggestions strong,.suggestions small{display:block}.suggestions strong{font-size:10px}.suggestions small{margin-top:2px;color:var(--muted);font-size:8px}.route-report-header{display:grid;grid-template-columns:34px 1fr;gap:8px}.icon-button{width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:5px;background:#fff;display:grid;place-items:center}.icon-button svg{width:16px}.route-summary{margin-top:18px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.route-summary span,.route-summary strong{display:block}.route-summary span{color:var(--muted);font-size:9px}.route-summary strong{margin-top:4px;font-size:17px}.route-summary .improved{color:var(--estate)}.journey-card{margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:6px}.journey-card.current{border-top:4px solid #65717d}.journey-card.future{border-top:4px solid var(--future)}.journey-card header{display:flex;justify-content:space-between;align-items:center}.journey-card header span{color:var(--muted);font-size:10px;font-weight:800}.journey-card header strong{font-size:22px}.segment-row{margin-top:12px;padding-left:11px;border-left:4px solid var(--segment-color)}.segment-row strong,.segment-row small{display:block}.segment-row strong{font-size:10px}.segment-row small{margin-top:3px;color:var(--muted);font-size:8px;line-height:1.5}.report-insight{margin-top:14px;padding:13px;border-left:4px solid var(--future);background:var(--soft);font-size:10px;line-height:1.6}
.compare-search{margin-top:18px}.candidate{position:relative;padding-right:64px}.candidate-tools{position:absolute;right:2px;top:11px;display:flex}.candidate-tools button{width:28px;height:28px;padding:0;border:0;background:transparent;color:var(--muted)}.candidate-tools svg{width:14px}.district-toggles{display:flex;flex-wrap:wrap;gap:5px}.district-toggles button{height:31px;padding:0 9px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--muted);font-size:9px;font-weight:800}.district-toggles button.is-on{border-color:var(--blue);background:#edf4ff;color:var(--blue)}.compare-table{margin-top:12px;border-top:1px solid var(--line)}.compare-table div{padding:10px 0;border-bottom:1px solid var(--line)}.compare-table strong{display:block;font-size:10px}.compare-table span{display:flex;justify-content:space-between;padding-top:5px;color:var(--muted);font-size:9px}.compare-table b{color:var(--ink)}.settings-form{margin-top:20px;display:grid;gap:9px}.settings-form label{display:grid;gap:5px;color:var(--muted);font-size:9px;font-weight:750}.legal-links{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:7px}.legal-links a{height:38px;border:1px solid var(--line);border-radius:5px;color:var(--ink);display:grid;place-items:center;font-size:10px;font-weight:800;text-decoration:none}.legal-links a:hover{border-color:var(--blue);color:var(--blue)}
.primary-nav{position:absolute;z-index:70;top:66px;right:0;bottom:0;width:var(--nav);border-left:1px solid var(--line);background:#fff;display:flex;flex-direction:column}.primary-nav button{height:76px;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--muted);display:grid;place-content:center;justify-items:center;gap:5px;font-size:9px;font-weight:800}.primary-nav svg{width:20px}.primary-nav button.is-active{color:var(--blue);background:#edf4ff}.toast{position:fixed;z-index:150;left:50%;bottom:24px;max-width:min(420px,calc(100vw - 32px));padding:11px 15px;border-radius:5px;background:var(--ink);color:#fff;font-size:11px;transform:translate(-50%,20px);opacity:0;pointer-events:none;transition:.2s}.toast.is-on{transform:translate(-50%,0);opacity:1}
.primary-nav button[hidden]{display:none!important}
@media(max-width:900px){:root{--panel:0px;--nav:0px;--mobile-top:calc(58px + env(safe-area-inset-top));--mobile-bottom:calc(64px + min(env(safe-area-inset-bottom),24px))}.topbar{height:var(--mobile-top);padding:env(safe-area-inset-top) 12px 0;gap:9px}.brand{width:38px}.brand-full{display:none}.brand-mark{display:block}.global-search{width:auto;flex:1}.global-search kbd,.data-health{display:none}.global-results{top:calc(52px + env(safe-area-inset-top));left:56px;width:calc(100vw - 68px)}.map-workspace{inset:var(--mobile-top) 0 var(--mobile-bottom)}.map-toolbar{top:10px;right:10px;left:10px;overflow:visible}.region-control span{display:none}.coverage-note{display:none}.legend{right:10px;bottom:10px}.location-button{right:10px;bottom:54px}.detail-panel{top:auto;right:0;bottom:var(--mobile-bottom);left:0;width:auto;height:min(61vh,590px);padding:20px 17px 28px;border-top:1px solid var(--line);border-left:0;border-radius:8px 8px 0 0;box-shadow:0 -8px 28px rgba(23,26,31,.12)}.primary-nav{top:auto;right:0;bottom:0;left:0;width:auto;height:var(--mobile-bottom);padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);border-left:0;display:grid;grid-template-columns:repeat(4,1fr)}.primary-nav button{height:58px;border-right:1px solid var(--line);border-bottom:0}.primary-nav svg{width:18px}.focus-exit{top:58px;left:10px}.radius-control{top:58px;left:10px}.panel-title{font-size:21px}.summary-grid strong{font-size:14px}}
@media(max-width:520px){.tool-toggle span{display:none}.region-control{max-width:118px}.legend span:nth-child(1){display:none}.map-toolbar{gap:5px}.line-filter summary small{display:none}.map-route-metric{width:170px}.detail-panel{height:min(64vh,560px)}}

/* V1 transit-estate schematic map */
.map-workspace{overflow:hidden;background:#eef1f2}.abstract-viewport{position:absolute;inset:0;overflow:hidden;cursor:grab;background-color:#eef1f2;background-image:linear-gradient(rgba(91,103,113,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(91,103,113,.055) 1px,transparent 1px);background-size:40px 40px;user-select:none;-webkit-user-select:none}.abstract-viewport.is-dragging{cursor:grabbing}.abstract-scene{position:absolute;top:0;left:0;width:1900px;height:1450px;transform-origin:0 0;will-change:transform}.schematic-map-host,.rail-canvas,.abstract-station-layer,.abstract-estate-layer{position:absolute;inset:0;width:1900px;height:1450px}.schematic-map-host>svg{display:block;width:100%;height:100%;overflow:visible}.rail-canvas{overflow:visible;pointer-events:none}.abstract-station-layer,.abstract-estate-layer{pointer-events:none}.schematic-map-host .line:not(.future-casing),.schematic-map-host .line-hit,.schematic-map-host .station{cursor:pointer;transition:opacity .16s,stroke-width .16s}.schematic-map-host .future-casing{pointer-events:none}.schematic-map-host .line.is-muted,.schematic-map-host .station.is-muted{opacity:.1}.schematic-map-host .line.is-active{stroke-width:8;opacity:1}.schematic-map-host .station.is-selected{stroke:#1769e0;stroke-width:3;filter:drop-shadow(0 0 3px rgba(23,105,224,.55))}
.schematic-map-host .line-hit:focus,.schematic-map-host .station:focus{outline:none}.schematic-map-host .active-line-halo{fill:none;stroke:#fff;stroke-width:13;stroke-linecap:round;stroke-linejoin:round;opacity:.98;pointer-events:none}.schematic-map-host .active-line-overlay{stroke-width:8!important;opacity:1!important;pointer-events:none;filter:drop-shadow(0 1px 1px rgba(23,26,31,.24))}.schematic-map-host .transfer-complex{transition:opacity .16s}.schematic-map-host .transfer-complex.is-muted,.schematic-map-host .transfer-dot.is-muted{opacity:.1}.schematic-map-host .transfer-complex.is-selected .transfer-capsule{stroke:#1769e0;stroke-width:2.5;filter:drop-shadow(0 0 3px rgba(23,105,224,.5))}.schematic-map-host .transfer-complex .station-hit.is-selected{stroke:transparent;filter:none}
.station-marker{position:absolute;width:10px;height:10px;margin:-5px 0 0 -5px;padding:0;border:2px solid var(--station-color,#171a1f);border-radius:50%;background:transparent;color:var(--ink);pointer-events:auto;box-shadow:none;transform-origin:center;transition:transform .16s,opacity .16s}.station-marker.future{border-color:var(--future)}.station-marker.period-inactive{opacity:.32}.station-marker.transfer{width:14px;height:14px;margin:-7px 0 0 -7px;border-width:2.5px}.station-marker span{position:absolute;top:12px;left:50%;padding:2px 3px;border-radius:2px;background:rgba(255,255,255,.94);color:var(--ink);font-size:5px;font-weight:800;white-space:nowrap;transform:translateX(-50%);box-shadow:0 1px 2px rgba(23,26,31,.12)}.station-marker:not(.transfer):not(.future) span{opacity:0}.station-marker:hover span,.station-marker.is-selected span{opacity:1}.station-marker.is-selected{z-index:8;background:rgba(23,105,224,.28);box-shadow:0 0 0 3px rgba(23,105,224,.18);opacity:1}.station-marker.is-muted{opacity:.12}
.complex-marker{position:absolute;width:104px;height:38px;margin:0;padding:6px 8px;border:1px solid #fff;border-radius:5px;background:var(--estate);color:#fff;pointer-events:auto;box-shadow:0 2px 5px rgba(8,127,91,.28);text-align:left;transform:translate(-50%,-50%) scale(var(--marker-scale,1));transform-origin:center}.complex-marker strong,.complex-marker span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.complex-marker strong{font-size:8px;line-height:1.18}.complex-marker span{margin-top:3px;font-size:7px;font-weight:750;line-height:1.1}.complex-marker.distance-middle{opacity:.82}.complex-marker.distance-outer{opacity:.64}.complex-marker.is-home{background:#c34631;opacity:1}.complex-marker.is-selected{z-index:2;opacity:1;outline:2px solid #1769e0;outline-offset:1px}.distance-band{position:absolute;border:1px solid rgba(8,127,91,.13);border-radius:50%;background:rgba(8,127,91,.035);transform:translate(-50%,-50%);pointer-events:none}.distance-band.band-2{background:rgba(8,127,91,.045)}.distance-band.band-1{background:rgba(8,127,91,.06)}.my-location-marker{position:absolute;width:10px;height:10px;margin:-5px;border:2px solid #fff;border-radius:50%;background:var(--blue);box-shadow:0 0 0 2px rgba(23,105,224,.25);pointer-events:none}.zoom-tools{position:absolute;z-index:35;left:16px;bottom:62px;display:grid;gap:5px}.zoom-tools button{width:38px;height:38px;padding:0;border:1px solid var(--line);border-radius:5px;background:#fff;display:grid;place-items:center;box-shadow:0 2px 9px rgba(23,26,31,.1)}.zoom-tools svg{width:16px}
@media(max-width:900px){.zoom-tools{left:10px;bottom:calc(64vh + 68px)}.station-marker span{font-size:10px}.complex-marker{min-width:54px}}
@media(max-width:900px){.abstract-viewport{bottom:min(61vh,590px)}.legend,.location-button{display:none}}
@media(max-width:520px){.abstract-viewport{bottom:min(64vh,560px)}}
.schematic-map-host text{user-select:none;-webkit-user-select:none}
.abstract-station-layer{z-index:8}.abstract-estate-layer{z-index:7}.station-popup-layer{position:absolute;z-index:24;inset:0;overflow:hidden;pointer-events:none}.station-action-popup{position:absolute;width:272px;border:1px solid #cfd6dc;border-radius:6px;background:#fff;box-shadow:0 8px 22px rgba(23,26,31,.2);color:var(--ink);pointer-events:auto;transform:translate(-50%,calc(-100% - 12px));transform-origin:50% 100%}.station-action-popup:after{position:absolute;bottom:-5px;left:50%;width:9px;height:9px;border-right:1px solid #cfd6dc;border-bottom:1px solid #cfd6dc;background:#fff;content:"";transform:translateX(-50%) rotate(45deg)}.station-action-popup header{min-height:48px;padding:9px 12px 8px;border-bottom:1px solid var(--line)}.station-action-popup header strong,.station-action-popup header small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.station-action-popup header strong{font-size:13px}.station-action-popup header small{margin-top:3px;color:var(--muted);font-size:10px}.station-popup-actions{display:grid;grid-template-columns:repeat(4,1fr)}.station-popup-actions button{height:41px;padding:4px 2px;border:0;border-right:1px solid var(--line);background:#fff;color:var(--muted);display:grid;place-content:center;justify-items:center;gap:0}.station-popup-actions button:last-child{border-right:0;color:var(--estate)}.station-popup-actions button:hover{background:var(--soft);color:var(--blue)}.station-popup-actions svg{width:18px;height:18px}.station-popup-actions span{font-size:10px;font-weight:800}.panel-actions.three{grid-template-columns:repeat(3,1fr)}.route-field label small{display:inline;color:#89919a;font-size:8px;font-weight:650}.route-field-clear{position:absolute;z-index:2;right:7px;top:23px;width:28px;height:28px;padding:0;border:0;background:transparent;color:var(--muted);display:grid;place-items:center}.route-field-clear svg{width:13px}.route-field:has(.route-field-clear) input{padding-right:36px}.journey-via{margin:10px 0 0;padding:7px 9px;border-radius:4px;background:#edf4ff;color:var(--blue);display:flex;align-items:center;gap:5px;font-size:9px;font-weight:800}.journey-via svg{width:13px}
.line-action-popup{width:auto;border:0;border-radius:999px;background:transparent;box-shadow:0 5px 14px rgba(23,26,31,.24)}.line-action-popup:after{bottom:-4px;border:0;background:var(--popup-line-color)}.line-action-popup>button{height:38px;padding:0 10px 0 14px;border:0;border-radius:999px;background:var(--popup-line-color);color:var(--popup-line-text);display:flex;align-items:center;gap:7px;white-space:nowrap}.line-action-popup>button:hover{filter:brightness(.92)}.line-action-popup strong{font-size:11px}.line-action-popup span{padding-left:7px;border-left:1px solid color-mix(in srgb,var(--popup-line-text) 40%,transparent);font-size:10px;font-weight:750}.line-action-popup svg{width:14px;height:14px}
.schematic-map-host .line.route-muted,.schematic-map-host .segment-rendering.route-muted,.schematic-map-host .line-tag.route-muted,.schematic-map-host .station-label.route-muted,.schematic-map-host .station.route-muted,.schematic-map-host .transfer-complex.route-muted,.schematic-map-host .transfer-dot.route-muted{opacity:.1!important}.schematic-map-host .line.route-active-segment,.schematic-map-host .route-active-overlay{opacity:1!important}
.route-clear-map{position:absolute;z-index:36;top:16px;right:16px;width:38px;height:38px;padding:0;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);display:grid;place-items:center;box-shadow:0 2px 9px rgba(23,26,31,.12)}.route-clear-map[hidden]{display:none}.route-clear-map:hover,.route-clear-map:focus-visible{color:var(--future);outline:2px solid rgba(239,73,56,.18);outline-offset:1px}.route-clear-map svg{width:17px;height:17px}
.detail-panel{padding:0;overflow:hidden}.detail-panel-content{height:100%;padding:25px 22px 38px;overflow:auto}
@media(max-width:900px){.app-shell{--sheet-height:min(61vh,590px)}.detail-panel{height:var(--sheet-height);padding:0;transition:height .14s ease}.detail-panel.is-resizing{transition:none}.detail-panel-content{padding:28px 17px 28px;overscroll-behavior:contain}.abstract-viewport{bottom:var(--sheet-height)}.zoom-tools{bottom:calc(var(--sheet-height) + 68px)}}
@media(max-width:520px){.app-shell{--sheet-height:min(64vh,560px)}.abstract-viewport{bottom:var(--sheet-height)}}

/* Schematic interaction and contextual overlays */
.schematic-map-host .line,.schematic-map-host .future-casing{pointer-events:none;cursor:default}.schematic-map-host .line-hit{pointer-events:stroke;cursor:pointer}
.schematic-map-host .station,.schematic-map-host .station-label,.schematic-map-host .line-tag{cursor:pointer}
.schematic-map-host .station-label{pointer-events:visiblePainted;outline:none}
.schematic-map-host .station-label-hit{fill:transparent;pointer-events:all;cursor:pointer}
.schematic-map-host .station-label:focus-visible{paint-order:stroke;stroke:#1769e0;stroke-width:3px}
.schematic-map-host .line-tag{pointer-events:auto;outline:none;filter:drop-shadow(0 1px 1px rgba(23,26,31,.16))}
.schematic-map-host .line-tag:focus-visible{filter:drop-shadow(0 0 3px #1769e0)}
.layout-editor-active .schematic-map-host .station-label-hit{pointer-events:none}
.layout-editor-active .schematic-map-host .station,.layout-editor-active .schematic-map-host .transfer-complex,.layout-editor-active .schematic-map-host .station-label,.layout-editor-active .schematic-map-host .line-tag{pointer-events:all;cursor:move}
.layout-editor-active .schematic-map-host .layout-editor-selected{filter:drop-shadow(0 0 2px #1769e0) drop-shadow(0 0 4px #fff)}
.layout-editor-active .schematic-map-host .layout-editor-dragging{cursor:grabbing}
.layout-editor-active .schematic-map-host path.line.layout-editor-selected{stroke:#1769e0!important;opacity:1!important}
.layout-line-editor{pointer-events:none}.layout-line-handle{fill:#fff;stroke:#1769e0;stroke-width:1.4;vector-effect:non-scaling-stroke;pointer-events:all;cursor:move}
.layout-line-handle.is-control{fill:#d9e9ff;stroke-dasharray:2 1}.layout-snap-target{fill:none;stroke:#ff3b30;stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:none}
.layout-editor-toolbar{position:absolute;left:50%;bottom:68px;z-index:45;display:flex;align-items:center;gap:6px;min-height:40px;padding:5px 7px 5px 12px;transform:translateX(-50%);border:1px solid #303943;border-radius:6px;background:#171b20;color:#fff;box-shadow:0 4px 14px rgba(0,0,0,.24);font-size:12px}
.layout-editor-toolbar[hidden]{display:none}
.layout-editor-toolbar strong{white-space:nowrap}.layout-editor-toolbar span{min-width:132px;max-width:220px;padding:0 8px;color:#cbd2da;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.layout-editor-toolbar button{display:grid;width:30px;height:30px;place-items:center;border:0;border-radius:4px;background:transparent;color:#fff;cursor:pointer}
.layout-editor-toolbar button:hover{background:#303943}.layout-editor-toolbar button:focus-visible{outline:2px solid #6ca7ff;outline-offset:1px}.layout-editor-toolbar svg{width:16px;height:16px}
.layout-editor-toggle[hidden]{display:none}
.route-point-marker{position:absolute;z-index:9;width:15px;height:15px;margin:-19px 0 0 -7.5px;border:1.5px solid #fff;border-radius:50% 50% 50% 3px;background:#1769e0;color:#fff;display:grid;place-items:center;filter:drop-shadow(0 1px 2px rgba(23,26,31,.34));pointer-events:none;transform:rotate(-45deg)}
.route-point-marker strong{font-size:6px;line-height:1;transform:rotate(45deg)}
.route-point-marker span{position:absolute;left:19px;top:0;padding:2px 4px;border-radius:3px;background:rgba(255,255,255,.96);color:#171a1f;font-size:6px;font-weight:800;white-space:nowrap;transform:rotate(45deg);transform-origin:left center;box-shadow:0 1px 3px rgba(23,26,31,.15)}
.route-point-marker.via{background:#8759d1}.route-point-marker.end{background:#ef4938}
.route-via-control{height:30px;padding:0 7px 0 10px;border-left:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:9px;font-weight:750}
.route-via-toggle{width:28px;height:28px;padding:0;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--muted);display:grid;place-items:center}
.route-via-toggle:hover,.route-via-toggle:focus-visible{border-color:var(--blue);color:var(--blue);outline:none}
.route-via-toggle svg{width:14px;height:14px}
.route-field>.route-via-toggle.remove{position:absolute;z-index:2;right:7px;top:22px}
.route-field:has(.route-via-toggle.remove) input{padding-right:40px}

/* S1 map and S2 detail panel */
.map-workspace{right:var(--nav)}
.app-shell.panel-open .map-workspace{right:calc(var(--panel) + var(--nav))}
.detail-panel{visibility:hidden;pointer-events:none;transform:translateX(100%);transition:transform .2s ease,visibility 0s .2s}
.app-shell.panel-open .detail-panel{visibility:visible;pointer-events:auto;transform:translateX(0);transition:transform .2s ease}
@media(max-width:900px){
  .map-workspace,.app-shell.panel-open .map-workspace{right:0}
  .detail-panel{transform:translateY(100%)}
  .app-shell.panel-open .detail-panel{transform:translateY(0)}
  .abstract-viewport{bottom:0}
  .app-shell.panel-open .abstract-viewport{bottom:var(--sheet-height)}
  .zoom-tools{bottom:62px}
  .app-shell.panel-open .zoom-tools{bottom:calc(var(--sheet-height) + 68px)}
}

/* Geographic apartment picker */
.geo-estate-picker{position:fixed;z-index:220;inset:0;background:#fff;display:grid;grid-template-rows:66px auto minmax(0,1fr)}
.geo-estate-picker[hidden]{display:none}
.geo-estate-picker-header{position:relative;z-index:4;padding:12px 16px;border-bottom:1px solid var(--line);background:#fff;display:grid;grid-template-columns:42px minmax(0,560px);align-items:center;gap:10px}
.geo-estate-picker-header .icon-button{width:42px;height:42px;padding:0;border:1px solid var(--line);border-radius:6px;background:#fff;display:grid;place-items:center}
.geo-estate-picker-header .icon-button svg{width:19px}
.geo-estate-search{height:42px;padding:0 12px;border:1px solid var(--line);border-radius:6px;background:var(--soft);display:flex;align-items:center;gap:8px}
.geo-estate-search:focus-within{border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px rgba(23,105,224,.1)}
.geo-estate-search svg{width:18px;color:var(--muted)}
.geo-estate-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;font-size:14px}
.geo-estate-filters{position:relative;z-index:5;border-bottom:1px solid var(--line);background:#fff}
.geo-filter-strip{padding:8px 12px;display:flex;gap:7px;overflow-x:auto;scrollbar-width:none}.geo-filter-strip::-webkit-scrollbar{display:none}
.geo-filter-chip{height:36px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:11px;font-weight:800}.geo-filter-chip svg{width:13px}.geo-filter-chip.is-on{border-color:var(--blue);background:#edf4ff;color:var(--blue)}
.geo-filter-options{padding:10px 12px;border-top:1px solid #eef0f2;display:flex;flex-wrap:wrap;gap:7px}.geo-filter-options button{height:34px;padding:0 12px;border:0;border-radius:999px;background:var(--soft);font-size:11px;font-weight:800}.geo-filter-options button.is-selected{background:var(--blue);color:#fff}
.geo-filter-pending{margin:0;padding:5px 2px;color:var(--muted);font-size:11px}
.geo-estate-map{grid-row:3;min-height:0;background:#eef1f2}
.geo-estate-results{position:absolute;z-index:6;top:58px;left:68px;width:min(560px,calc(100vw - 84px));max-height:min(520px,calc(100dvh - 82px));border:1px solid var(--line);border-radius:6px;background:#fff;box-shadow:0 12px 30px rgba(23,26,31,.18);overflow:auto}
.geo-estate-results[hidden]{display:none}
.geo-estate-results>button{width:100%;min-height:62px;padding:9px 12px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:9px}
.geo-estate-results>button:hover,.geo-estate-results>button:focus-visible{background:#edf4ff;outline:0}
.geo-estate-results svg{width:18px;color:var(--estate)}
.geo-estate-results strong,.geo-estate-results small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.geo-estate-results strong{font-size:13px}.geo-estate-results small{margin-top:4px;color:var(--muted);font-size:11px}
.geo-estate-results>p{margin:0;padding:24px;color:var(--muted);font-size:13px;text-align:center}
.geo-estate-guide{position:absolute;z-index:5;right:50%;bottom:22px;min-width:280px;max-width:calc(100vw - 32px);padding:12px 16px;border:1px solid var(--line);border-radius:6px;background:rgba(255,255,255,.96);box-shadow:0 5px 18px rgba(23,26,31,.18);text-align:center;transform:translateX(50%);pointer-events:none}
.geo-estate-guide strong,.geo-estate-guide span{display:block}.geo-estate-guide strong{font-size:14px}.geo-estate-guide span{margin-top:4px;color:var(--muted);font-size:11px}
.geo-estate-marker{width:106px;min-height:40px;padding:6px 8px;border:1px solid #fff;border-radius:6px;background:var(--estate);color:#fff;box-shadow:0 3px 9px rgba(23,26,31,.28);text-align:left;transform:translateZ(0)}
.geo-estate-marker:hover,.geo-estate-marker:focus-visible{z-index:2;background:#05684a;outline:3px solid rgba(23,105,224,.3)}
.geo-estate-marker strong,.geo-estate-marker span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.geo-estate-marker strong{font-size:10px;line-height:1.25}.geo-estate-marker span{margin-top:3px;font-size:9px;font-weight:800}
@media(max-width:900px){
  .geo-estate-picker{grid-template-rows:calc(62px + env(safe-area-inset-top)) auto minmax(0,1fr)}
  .geo-estate-picker-header{padding:calc(10px + env(safe-area-inset-top)) 12px 10px;grid-template-columns:42px minmax(0,1fr)}
  .geo-estate-results{top:calc(58px + env(safe-area-inset-top));left:64px;width:calc(100vw - 76px);max-height:calc(100dvh - 82px - env(safe-area-inset-top))}
  .geo-estate-guide{bottom:calc(14px + env(safe-area-inset-bottom));min-width:0;width:calc(100vw - 28px)}
  .geo-estate-marker{width:94px;min-height:38px}
  .geo-estate-marker strong{font-size:10px}.geo-estate-marker span{font-size:9px}
  .geo-estate-picker.is-compare-canvas{z-index:40;top:var(--mobile-top);bottom:var(--mobile-bottom);grid-template-rows:62px auto minmax(0,1fr)}
  .geo-estate-picker.is-compare-canvas .geo-estate-picker-header{padding:10px 12px}
  .geo-estate-picker.is-compare-canvas .geo-estate-guide{display:none}
}

/* Selected-line context must override SVG period and project-stage opacity. */
.schematic-map-host .line.is-muted,
.schematic-map-host .segment-rendering.is-muted,
.schematic-map-host .future-casing.is-muted,
.schematic-map-host .station.is-muted,
.schematic-map-host .transfer-complex.is-muted,
.schematic-map-host .station-label.is-muted,
.schematic-map-host .line-tag.is-muted{opacity:.1!important}

.abstract-viewport{background:#fff;background-image:none}
.app-shell.panel-open.panel-compact .map-workspace{right:calc(300px + var(--nav))}
.app-shell.panel-compact .detail-panel{width:300px}
@media(max-width:900px){
  .app-shell.panel-open.panel-compact .map-workspace{right:0}
  .app-shell.panel-compact .detail-panel{width:auto}
}

.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.route-form{margin-top:0;display:grid;gap:0}
.route-input-card{position:relative;border:1px solid var(--line);border-radius:7px;background:#fff;display:grid;grid-template-columns:48px minmax(0,1fr) 42px;align-items:center;box-shadow:0 1px 3px rgba(23,26,31,.05)}
.route-input-rows{min-width:0}
.route-point-row{min-height:58px;display:grid;grid-template-columns:16px minmax(0,1fr) 34px;align-items:center}
.route-point-row+ .route-point-row{border-top:1px solid #edf0f2}
.route-point-dot{width:10px;height:10px;border:3px solid var(--blue);border-radius:50%;background:#fff;justify-self:start}
.route-point-row.via .route-point-dot{border-color:#8759d1}
.route-point-row.end .route-point-dot{border-color:var(--future)}
.route-form .route-point-row label{min-width:0;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:0;color:var(--muted);font-size:10px;font-weight:800}
.route-form .route-point-row label.is-active{color:var(--blue)}
.route-field-name{display:block}
.route-form .route-point-row input{height:56px;padding:0 4px;border:0;border-radius:0;background:transparent;font-size:14px;font-weight:650;box-shadow:none}
.route-form .route-point-row input:focus{border:0;box-shadow:none}
.route-form .route-point-row input::placeholder{color:#9aa3ac;font-weight:550}
.route-point-row .suggestions{top:calc(100% - 2px);left:0;right:-42px}
.route-field-clear{position:static;width:34px;height:42px;align-self:center}
.route-field:has(.route-field-clear) input{padding-right:4px}
.route-field-clear svg{width:16px;height:16px}
.route-metric{height:38px;padding:3px;border:1px solid var(--line);border-radius:6px;background:#f5f7f8;display:grid;grid-template-columns:repeat(2,1fr);gap:3px}.route-metric button{border:0;border-radius:4px;background:transparent;color:var(--muted);font-size:10px;font-weight:800}.route-metric button.is-active{background:#fff;color:var(--ink);box-shadow:0 1px 4px rgba(23,26,31,.12)}
.route-swap-button{width:42px;height:42px;padding:0;border:0;border-radius:0;background:#fff;color:var(--muted);display:grid;place-items:center;justify-self:center}
.route-swap-button:hover,.route-swap-button:focus-visible{border-color:var(--blue);color:var(--blue);outline:none}
.route-swap-button svg{width:17px;height:17px}
.route-input-card>.route-via-toggle.add{width:32px;height:32px;justify-self:center}
.route-point-row>.route-via-toggle.remove{position:static;width:34px;height:42px;border:0}
.route-field:has(.route-via-toggle.remove) input{padding-right:4px}
.access-legs{margin-top:12px;border-top:1px solid var(--line)}
.access-legs>div{padding:9px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:18px 1fr;gap:7px;align-items:start}
.access-legs svg{width:15px;color:var(--blue)}.access-legs strong,.access-legs small{display:block}
.access-legs strong{font-size:9px}.access-legs small{margin-top:3px;color:var(--muted);font-size:8px}
.journey-card footer{margin-top:6px;display:flex;gap:10px;color:var(--muted);font-size:8px;font-weight:750}
.journey-diagram{margin-top:8px;padding:4px 0 7px;border-bottom:1px solid var(--line)}
.journey-diagram svg{display:block;width:100%;height:auto;overflow:visible}
.journey-diagram text{fill:var(--muted);font-size:7px;font-weight:750;letter-spacing:0;paint-order:stroke;stroke:#fff;stroke-width:2px;stroke-linejoin:round}
.journey-diagram .journey-station-name{fill:var(--ink);font-size:8px;font-weight:800}
.journey-diagram .journey-edge.access.walk line{stroke-dasharray:3 4}
.journey-diagram .journey-edge.access.transit line{stroke-dasharray:none}
.journey-bus-icon rect{fill:#fff;stroke:#68727d;stroke-width:1.2}
.journey-bus-icon path{fill:none;stroke:#68727d;stroke-width:1.1;stroke-linecap:round}
.journey-bus-icon circle{fill:#68727d}
.journey-line-legend{margin-top:-2px;display:flex;gap:5px 10px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:7px;font-weight:750}
.journey-line-legend span{display:flex;align-items:center;gap:4px;white-space:nowrap}
.journey-line-legend i{width:12px;height:3px;border-radius:0;background:var(--line-color)}

.schematic-map-host .estate-focus #lines,
.schematic-map-host .estate-focus #line-hits,
.schematic-map-host .estate-focus #line-tags,
.schematic-map-host .estate-focus #selected-line-overlay{opacity:0!important;pointer-events:none}
.schematic-map-host .estate-focus .station-label:not(.is-selected),
.schematic-map-host .estate-focus #stations>.station:not(.is-selected),
.schematic-map-host .estate-focus #stations>.transfer-complex:not(.is-selected){opacity:0!important;pointer-events:none}
.schematic-map-host .estate-focus .station-label.is-selected,
.schematic-map-host .estate-focus #stations>.station.is-selected,
.schematic-map-host .estate-focus #stations>.transfer-complex.is-selected{opacity:1!important}

.area-control{position:absolute;z-index:35;top:108px;left:16px;height:36px;padding:3px;border:1px solid var(--line);border-radius:6px;background:#fff;display:flex;align-items:center;gap:2px;box-shadow:0 2px 9px rgba(23,26,31,.1)}
.area-control[hidden]{display:none}.area-control span{padding:0 7px;color:var(--muted);font-size:9px;font-weight:800}.area-control button{height:28px;padding:0 7px;border:0;border-radius:4px;background:transparent;color:var(--muted);font-size:9px;font-weight:800;white-space:nowrap}.area-control button.is-active{background:#e5f4ef;color:var(--estate)}

/* Route reset and decision-first comparison report */
.route-reset-button{min-height:34px;padding:0 8px;border:0;background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:6px;font-size:9px;font-weight:800}.route-reset-button:hover,.route-reset-button:focus-visible{color:var(--blue);outline:none}.route-reset-button svg{width:14px;height:14px}.route-reset-button.report{width:100%;margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.report-share-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;line-height:1}.report-share-button svg{width:16px;height:16px;flex:0 0 16px}
.focus-exit.close-focus{top:16px;right:16px;left:auto;width:38px;padding:0;justify-content:center}.focus-exit.close-focus svg{width:17px;height:17px}.focus-exit.close-focus:hover,.focus-exit.close-focus:focus-visible{color:var(--future);outline:2px solid rgba(239,73,56,.16);outline-offset:1px}
@media(max-width:900px){.focus-exit.close-focus,.route-clear-map{top:10px;right:10px;left:auto}}
.compare-search{display:grid;gap:5px;color:var(--muted);font-size:9px;font-weight:750}.compare-verdict{margin-top:18px;padding:15px 0;border-top:4px solid var(--future);border-bottom:1px solid var(--line)}.compare-verdict p{font-size:12px;font-weight:800;line-height:1.65}.compare-verdict strong{display:block;margin-top:8px;color:var(--estate);font-size:10px;line-height:1.6}.compare-key-metrics{margin-top:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.compare-key-metrics>div{min-width:0;padding:12px 8px;border-right:1px solid var(--line)}.compare-key-metrics>div:first-child{padding-left:0}.compare-key-metrics>div:last-child{padding-right:0;border-right:0}.compare-key-metrics span,.compare-key-metrics strong,.compare-key-metrics small{display:block}.compare-key-metrics span{color:var(--muted);font-size:8px}.compare-key-metrics strong{margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.compare-key-metrics small{margin-top:4px;color:var(--estate);font-size:9px;font-weight:800}.compare-candidate-summary{border-top:1px solid var(--line)}.compare-candidate-summary>section{padding:13px 0;border-bottom:1px solid var(--line)}.compare-candidate-summary header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.compare-candidate-summary header strong{font-size:11px;line-height:1.4}.compare-candidate-summary header b{flex:0 0 auto;color:var(--blue);font-size:13px}.compare-candidate-summary p{margin-top:4px;color:var(--muted);font-size:8px;line-height:1.5}.compare-candidate-summary dl{margin-top:9px;display:grid;gap:5px}.compare-candidate-summary dl div{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px}.compare-candidate-summary dt{color:var(--muted);font-size:8px}.compare-candidate-summary dd{margin:0;text-align:right;font-size:9px;font-weight:800}.compare-flow-legend{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:8px}.compare-flow-legend span{display:flex;align-items:center;gap:4px}.compare-flow-legend i{width:14px;height:3px;background:#69727d}.compare-flow-legend i.future{background:var(--future)}.compare-flow-legend small{margin-left:auto}.compare-story{padding:14px 0;border-bottom:1px solid var(--line)}.compare-story>header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:11px}.compare-story>header span{font-size:11px;font-weight:850}.compare-story>header small{color:var(--muted);font-size:7px;text-align:right}.compare-flow-row{margin-top:12px}.compare-flow-row>strong{display:block;margin-bottom:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.compare-flow-line{height:13px;display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:6px}.compare-flow-line>span{display:block;height:3px;border-radius:0;background:#69727d}.compare-flow-line.future>span{height:5px;background:var(--candidate)}.compare-flow-line b{font-size:8px;text-align:right}.compare-flow-row>small{display:block;margin-top:4px;color:var(--muted);font-size:7px;text-align:right}.compare-method{margin:18px 0 14px;padding:13px;border-left:4px solid var(--estate);background:var(--soft)}.compare-method strong{font-size:10px}.compare-method p{margin-top:6px;color:var(--muted);font-size:8px;line-height:1.55}
.compare-candidate{display:grid;gap:5px}.compare-area-select{display:grid;gap:4px;margin-top:4px;color:var(--muted);font-size:8px;font-weight:800}.compare-area-select select{width:100%;height:32px;padding:0 8px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);font-size:9px;font-weight:800}
.compare-candidate.candidate{padding-right:2px;grid-template-columns:1fr}.compare-candidate-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.compare-candidate-heading strong{min-width:0}.compare-candidate-heading span{flex:0 0 auto}.compare-candidate .candidate-tools{position:static;margin-top:5px;padding-top:7px;border-top:1px solid #eef0f2;display:flex;justify-content:flex-end;gap:6px}.compare-candidate .candidate-tools button{width:auto;min-width:44px;height:44px;padding:0 10px;border:1px solid var(--line);border-radius:6px;display:flex;align-items:center;justify-content:center;gap:5px;font-size:9px;font-weight:800}.compare-candidate .candidate-tools button.remove{color:#b9382b}.compare-candidate .candidate-tools svg{width:15px}
.map-line-scope-filter{display:flex;align-items:center;gap:7px}
.map-line-scope-button{height:38px;padding:0 11px;border:1px solid var(--line);border-radius:19px;background:#fff;color:var(--muted);box-shadow:0 2px 9px rgba(23,26,31,.1);display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:850}
.map-line-scope-button svg{width:15px;height:15px}
.map-line-scope-button.is-on{border-color:var(--blue);color:var(--blue);background:#edf4ff}
.map-line-scope-button.future.is-on{border-color:var(--future);color:var(--future);background:#fff1ee}
.map-line-scope-button:focus-visible{outline:2px solid color-mix(in srgb,var(--blue) 30%,transparent);outline-offset:2px}
.line-stage-group{margin-top:20px}.line-stage-group>header{margin-bottom:9px;display:flex;align-items:center;justify-content:space-between}.line-stage-group h2{margin:0;font-size:12px}.line-stage-group header span{color:var(--muted);font-size:9px}.line-stage-group.current{padding-top:18px;border-top:1px solid var(--line)}
@media(max-width:520px){.compare-key-metrics{grid-template-columns:1fr}.compare-key-metrics>div,.compare-key-metrics>div:first-child,.compare-key-metrics>div:last-child{padding:9px 0;border-right:0;border-bottom:1px solid var(--line)}.compare-key-metrics>div:last-child{border-bottom:0}.compare-key-metrics strong{white-space:normal}}

/* Report-first S2 content and contextual continuation */
.report-reading{margin-top:18px;padding:14px 0;border-top:3px solid var(--blue);border-bottom:1px solid var(--line)}.report-reading.market{border-top-color:var(--estate)}.report-reading>span{color:var(--muted);font-size:8px;font-weight:800}.report-reading>p{margin:7px 0 0;font-size:11px;font-weight:750;line-height:1.65}.report-reading>small{display:block;margin-top:7px;color:var(--muted);font-size:8px;line-height:1.55}.report-next{margin-top:26px;border-top:1px solid var(--line)}.report-next>header{padding:14px 0 8px;display:flex;align-items:baseline;justify-content:space-between;gap:10px}.report-next>header span{font-size:13px;font-weight:850}.report-next>header small{color:var(--muted);font-size:8px}.report-next>button{width:100%;min-height:58px;padding:9px 3px;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--ink);display:grid;grid-template-columns:28px minmax(0,1fr) 16px;align-items:center;gap:8px;text-align:left}.report-next>button:hover,.report-next>button:focus-visible{background:var(--soft);outline:none}.report-next>button>i:first-child{width:17px;color:var(--blue)}.report-next>button>i:last-child{width:14px;color:var(--muted)}.report-next strong,.report-next small{display:block}.report-next strong{font-size:10px}.report-next small{margin-top:4px;color:var(--muted);font-size:8px;line-height:1.45}

/* v1.1 decision detail and per-report data dates */
.business-access{margin-top:24px;border-top:4px solid var(--future)}
.business-access>header{padding:14px 0 11px;border-bottom:1px solid var(--line)}
.business-access>header>span{color:var(--muted);font-size:8px;font-weight:800}
.business-access>header>p{margin:7px 0 0;font-size:11px;font-weight:800;line-height:1.6}
.business-access-list article{padding:12px 0;border-bottom:1px solid var(--line)}
.business-access-list article>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.business-access-list strong{font-size:10px}
.business-access-list b{flex:0 0 auto;font-size:10px}
.business-access-list b i{margin:0 5px;color:var(--muted);font-style:normal}
.business-access-list p{margin:5px 0 0;color:var(--muted);font-size:8px;line-height:1.45}
.business-access-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 10px;margin-top:9px;padding:8px 0;border-top:1px solid var(--line)}
.business-access-details div{display:flex;justify-content:space-between;gap:6px;font-size:8px}
.business-access-details strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px}
.business-access-details span{flex:0 0 auto;color:var(--muted);font-weight:800}
.business-access-details i,.compare-flow-details i{margin:0 2px;color:var(--muted);font-style:normal}
.business-route-button{margin-top:8px;height:28px;padding:0 8px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);display:inline-flex;align-items:center;gap:5px;font-size:8px;font-weight:850}
.business-route-button:hover,.business-route-button:focus-visible{border-color:var(--blue);color:var(--blue);outline:none}
.business-route-button svg{width:12px;height:12px}
.impact-lines{margin-top:8px;display:flex;flex-wrap:wrap;gap:4px}
.impact-line{min-height:20px;padding:3px 8px;border-radius:999px;background:var(--line-color);color:var(--line-text);display:inline-flex;align-items:center;font-size:7px;font-weight:850;line-height:1.2}
.compare-flow-details{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:3px 7px;margin-top:5px;color:var(--muted);font-size:7px}.compare-flow-details span{white-space:nowrap}
.data-basis{margin-top:22px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.data-basis>strong{font-size:9px}
@media(max-width:520px){.business-access-details{grid-template-columns:1fr}}
.data-basis>div{margin-top:8px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.data-basis span,.data-basis b{display:block}
.data-basis span{color:var(--muted);font-size:7px}
.data-basis b{margin-top:3px;color:var(--ink);font-size:8px}
@media(max-width:520px){.data-basis>div{grid-template-columns:1fr}.data-basis span{display:flex;justify-content:space-between;gap:10px}.data-basis b{margin-top:0}}

/* Keep map action popups proportional to the current camera and inside the viewport. */
.station-action-popup{transform:translate(-50%,calc(-100% - 12px)) scale(var(--popup-scale,1));transform-origin:50% 100%}
.station-action-popup.is-below{transform:translate(-50%,12px) scale(var(--popup-scale,1));transform-origin:50% 0}
.station-action-popup:after{left:calc(50% + var(--popup-arrow-offset,0px))}
.station-action-popup.is-below:after{top:-5px;bottom:auto;border:0;border-top:1px solid #cfd6dc;border-left:1px solid #cfd6dc}

/* Mobile S1 map and three-stage S2 sheet. */
@media(max-width:900px){
  html,body,.app-shell{overscroll-behavior:none}
  .abstract-viewport{touch-action:none}
  .global-search input{font-size:16px}
  .detail-panel{max-width:100vw;overflow:hidden}
  .detail-panel-content{min-width:0;padding:44px 20px 32px;overflow-x:hidden;overflow-y:hidden;overscroll-behavior:contain}
  .detail-panel[data-sheet-stage="full"] .detail-panel-content{overflow-y:auto}
  .panel-title{font-size:25px;line-height:1.28}
  .panel-eyebrow{font-size:12px}
  .panel-subtitle{font-size:14px;line-height:1.55}
  .context-back{min-height:38px;margin-bottom:12px;font-size:13px}
  .consult-step-forward{font-size:13px}
  .command{height:48px;font-size:14px}
  .panel-actions{gap:10px}
  .summary-grid{gap:12px}
  .summary-grid span{font-size:12px}
  .summary-grid strong{font-size:18px}
  .section-title{font-size:16px}
  .list-row{min-height:66px;padding:11px 4px}
  .list-row strong{font-size:14px;line-height:1.35}
  .list-row span{font-size:13px}
  .list-row small{font-size:12px;line-height:1.45}
  .status-list span,.status-list strong{font-size:12px;line-height:1.45}
  .notice{font-size:13px;line-height:1.55}
  .route-form label,.settings-form label,.compare-search{font-size:12px}
  .route-form input,.settings-form input,.compare-search input{height:48px;font-size:16px}
  .route-field-clear{width:38px;height:48px}
  .route-metric{height:44px}
  .route-metric button{font-size:13px}
  .route-input-card{grid-template-columns:46px minmax(0,1fr) 42px;border-radius:8px}
  .route-point-row{min-height:60px;grid-template-columns:18px minmax(0,1fr) 38px}
  .route-form .route-point-row label{grid-template-columns:38px minmax(0,1fr);font-size:12px}
  .route-form .route-point-row input{height:58px;font-size:16px}
  .route-swap-button{width:44px;height:48px}
  .route-reset-button{min-height:42px;font-size:12px}
  .suggestions button{min-height:58px}
  .suggestions strong{font-size:14px}
  .suggestions small{font-size:12px}
  .report-reading>span{font-size:12px}
  .report-reading>p{font-size:14px;line-height:1.65}
  .report-reading>small{font-size:12px;line-height:1.5}
  .report-next>header span{font-size:16px}
  .report-next>header small{font-size:11px}
  .report-next>button{min-height:72px;grid-template-columns:32px minmax(0,1fr) 18px}
  .report-next strong{font-size:14px}
  .report-next small{font-size:12px;line-height:1.45}
  .data-basis>strong{font-size:12px}
  .data-basis span{font-size:11px}
  .data-basis b{font-size:12px}
  .route-summary span{font-size:12px}
  .route-summary strong{font-size:20px}
  .journey-card header span{font-size:13px}
  .journey-card header strong{font-size:14px}
  .segment-row strong{font-size:13px}
  .segment-row small,.journey-card footer{font-size:11px}
  .report-insight{font-size:13px}
  .primary-nav button{font-size:11px}
}

.mobile-search-back{display:none}

/* Mobile master search is a separate full-screen mode from the S2 detail sheet. */
@media(max-width:900px){
  html,body,.app-shell{height:100lvh}
  html.sheet-input-active,body.sheet-input-active{overflow:hidden;overscroll-behavior:none}
  .topbar{position:fixed;z-index:120}
  .context-filter-bar{position:fixed;z-index:110;top:var(--mobile-top);right:0;left:0;min-height:48px;padding:6px 10px;align-items:flex-start;overflow-x:auto;overflow-y:visible;scrollbar-width:none}
  .context-filter-bar::-webkit-scrollbar{display:none}
  .app-shell.panel-open .context-filter-bar{right:0}
  .context-filter-bar>.context-geo-filters{flex:0 0 auto;min-width:100%}
  .context-filter-bar .geo-filter-options{position:fixed;z-index:112;top:calc(var(--mobile-top) + 48px);right:0;left:0;margin:0;padding:10px;background:#fff;box-shadow:0 8px 18px rgba(23,26,31,.12)}
  .map-workspace,.app-shell.panel-open .map-workspace{inset:calc(var(--mobile-top) + var(--context-filter-height)) 0 var(--mobile-bottom)}
  .primary-nav{position:fixed;z-index:100;padding-bottom:0;transform:none}
  .primary-nav button{height:100%;min-height:var(--mobile-bottom);padding:0;align-content:center}
  .detail-panel{position:fixed}
  .detail-panel-content{min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}
  .detail-panel[data-sheet-stage="half"] .detail-panel-content,
  .detail-panel[data-sheet-stage="full"] .detail-panel-content{overflow-y:auto}

  .app-shell.sheet-input-mode .map-workspace,
  .app-shell.sheet-input-mode .primary-nav{visibility:hidden;pointer-events:none}
  .app-shell.sheet-input-mode .detail-panel{top:var(--sheet-input-top,var(--mobile-top));bottom:auto;height:var(--sheet-input-height,calc(100lvh - var(--mobile-top)));border-radius:0}

  .app-shell.search-mode .brand{display:none}
  .app-shell.search-mode .mobile-search-back{width:38px;height:42px;padding:0;border:0;background:#fff;color:var(--ink);display:grid;flex:0 0 38px;place-items:center}
  .app-shell.search-mode .mobile-search-back svg{width:21px;height:21px}
  .app-shell.search-mode .global-search{background:#fff}
  .app-shell.search-mode .global-results{position:fixed;z-index:115;top:var(--mobile-top);right:0;bottom:0;left:0;width:auto;max-height:none;border:0;border-top:1px solid var(--line);border-radius:0;background:#fff;box-shadow:none;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  .app-shell.search-mode .global-result{min-height:72px;padding:12px 20px;grid-template-columns:48px minmax(0,1fr)}
  .app-shell.search-mode .global-result em{font-size:12px}
  .app-shell.search-mode .global-result strong{font-size:16px;line-height:1.35}
  .app-shell.search-mode .global-result small{margin-top:5px;font-size:13px;line-height:1.4}
  .app-shell.search-mode .global-empty{padding:36px 20px;font-size:14px}
  .app-shell.search-mode .map-workspace,
  .app-shell.search-mode .context-filter-bar,
  .app-shell.search-mode .detail-panel,
  .app-shell.search-mode .primary-nav{visibility:hidden;pointer-events:none}
}

.geo-estate-picker.uses-master-search{z-index:40;top:calc(66px + var(--context-filter-height));right:calc(var(--panel) + var(--nav));bottom:0;left:0;grid-template-rows:minmax(0,1fr)}
.geo-estate-picker.uses-master-search .geo-estate-picker-header,
.geo-estate-picker.uses-master-search .geo-estate-results,
.geo-estate-picker.uses-master-search .geo-estate-guide{display:none}
@media(max-width:900px){
  .geo-estate-picker.is-compare-canvas.uses-master-search{z-index:40;top:calc(var(--mobile-top) + var(--context-filter-height));right:0;bottom:var(--mobile-bottom);left:0;grid-template-rows:minmax(0,1fr)}
  .app-shell.panel-open .geo-estate-picker.is-compare-canvas.uses-master-search{bottom:calc(var(--mobile-bottom) + var(--sheet-height))}
}

/* Compact estate filters */
.estate-filters{position:relative;z-index:36;width:max-content;max-width:calc(100vw - 150px)}
.estate-filters[hidden]{display:none}
.estate-filters summary{height:38px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:#fff;box-shadow:0 2px 9px rgba(23,26,31,.1);display:flex;align-items:center;gap:7px;list-style:none;cursor:pointer}
.estate-filters summary::-webkit-details-marker{display:none}
.estate-filters summary svg{width:14px;color:var(--muted)}
.estate-filters summary svg:last-child{width:13px;transition:transform .16s}
.estate-filters[open] summary svg:last-child{transform:rotate(180deg)}
.estate-filters summary span{font-size:10px;font-weight:800}
.estate-filters summary strong{color:var(--estate);font-size:10px}
.estate-filter-menu{position:absolute;top:43px;left:0;margin-top:0;padding:5px;border:1px solid var(--line);border-radius:6px;background:#fff;box-shadow:0 8px 22px rgba(23,26,31,.14);display:grid;gap:4px}
.estate-filters .radius-control,.estate-filters .area-control{position:static;height:34px;border:0;box-shadow:none}
.schematic-map-host .is-period-hidden{opacity:0!important;pointer-events:none!important}

/* Compare candidate search and vertical BD charts */
.compare-criteria-group{margin-top:12px}
.compare-criteria-group>strong{display:block;margin-bottom:7px;color:var(--muted);font-size:9px}
.compare-suggest-button{margin-top:12px;display:flex;align-items:center;justify-content:center;gap:7px;color:var(--blue)}
.compare-suggest-button svg{width:16px}
.ui-spinner{--spinner-stroke:2px;display:inline-block;width:18px;height:18px;flex:0 0 18px;border:0;border-radius:50%;background:conic-gradient(from -30deg,transparent 0 48%,currentColor 78% 100%);color:var(--blue);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - var(--spinner-stroke) - 1px),#000 calc(100% - var(--spinner-stroke)));mask:radial-gradient(farthest-side,transparent calc(100% - var(--spinner-stroke) - 1px),#000 calc(100% - var(--spinner-stroke)));transform-origin:50% 50%;animation:spin .72s linear infinite}
.command.primary .ui-spinner{color:#fff}
.command.is-loading{cursor:wait;opacity:.8}
.async-loading{min-height:128px;display:flex;align-items:center;gap:14px}
.async-loading .ui-spinner{--spinner-stroke:3px;width:28px;height:28px;flex-basis:28px}
.async-loading .panel-title,.async-loading .panel-subtitle{margin-top:0}
.app-loading-screen{--loading-accent:var(--blue);--loading-accent-soft:#eaf3ff;position:relative;width:100%;min-height:calc(100dvh - 176px);padding:0 18px;border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.app-loading-screen.is-future{--loading-accent:var(--future);--loading-accent-soft:#fff0ed}
.app-loading-screen-mark{position:relative;width:68px;height:68px;margin-bottom:20px;border-radius:50%;background:var(--loading-accent-soft);color:var(--loading-accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--loading-accent) 10%,transparent);display:grid;place-items:center}
.app-loading-screen-mark svg{width:27px;height:27px;stroke-width:1.9}
.app-loading-screen-kicker{margin:0 0 9px;color:var(--loading-accent);font-size:10px;font-weight:850;letter-spacing:.08em}
.app-loading-screen h1{margin:0;color:var(--ink);font-size:21px;font-weight:850;line-height:1.4;letter-spacing:-.045em}
.app-loading-screen-copy{max-width:360px;margin:12px 0 0;color:var(--muted);font-size:11px;font-weight:650;line-height:1.65;letter-spacing:-.015em}
.app-loading-screen-bar{position:relative;width:100%;max-width:284px;height:4px;margin-top:32px;overflow:hidden;border-radius:999px;background:#e7edf5}
.app-loading-screen-bar span{position:absolute;top:0;bottom:0;left:-38%;width:38%;border-radius:inherit;background:linear-gradient(90deg,transparent,var(--loading-accent),color-mix(in srgb,var(--loading-accent) 55%,#fff));animation:app-loading-progress 1.45s cubic-bezier(.45,0,.35,1) infinite}
.app-loading-screen-status{position:relative;width:100%;height:20px;margin-top:26px;color:var(--loading-accent);font-size:10px;font-weight:800;line-height:20px;text-align:center}
.app-loading-screen-status span{position:absolute;inset:0;opacity:0;transform:translateY(3px);animation:app-loading-status 6s ease-in-out infinite}
.app-loading-screen-status span:nth-child(2){animation-delay:2s}
.app-loading-screen-status span:nth-child(3){animation-delay:4s}
.map-loading{padding:0}
.map-loading.app-launch-loading{position:fixed;z-index:1000;inset:0;min-height:100vh;min-height:100svh;min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#185bf4;display:grid;place-items:center;color:#fff}
.map-loading.app-launch-loading[hidden]{display:none}
.app-launch-loader{position:relative;width:100%;min-height:100%;text-align:center}
.app-launch-loader-logo{position:absolute;top:50%;left:50%;display:block;width:52px;height:auto;filter:drop-shadow(0 2px 2.5px rgba(9,54,143,.28));transform:translate(-50%,-50%)}
.app-launch-loader-detail{position:absolute;top:calc(50% + 112px);left:50%;width:168px;margin:0;opacity:0;transform:translate(-50%,6px);transition:opacity .2s ease,transform .2s ease}
.app-launch-loader.is-detail .app-launch-loader-detail{opacity:1;transform:translate(-50%,0)}
.app-launch-loader-bar{position:relative;width:168px;height:4px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.24)}
.app-launch-loader-bar span{position:absolute;top:0;bottom:0;left:-60%;width:60%;border-radius:inherit;background:#fff;animation:app-launch-loader-progress 1.45s cubic-bezier(.45,0,.35,1) infinite}
.app-launch-loader-detail p{margin:20px -40px 0;color:rgba(220,233,255,.9);font-size:11px;font-weight:650;line-height:1.4;white-space:nowrap;animation:app-launch-loader-status 1.8s ease-in-out infinite}
.app-launch-loader-retry{min-height:36px;margin-top:18px;padding:0 18px;border:1px solid rgba(255,255,255,.56);border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-family:inherit;font-size:11px;font-weight:800}
.app-launch-loader-retry[hidden]{display:none}
.app-launch-loader-retry:disabled{opacity:.55}
@keyframes app-launch-loader-progress{0%{left:-60%}65%,100%{left:100%}}
@keyframes app-launch-loader-status{0%,100%{opacity:.62}50%{opacity:1}}
.map-loading .app-loading-screen{height:100%;min-height:0}
@keyframes app-loading-progress{0%{left:-38%}65%,100%{left:100%}}
@keyframes app-loading-status{0%{opacity:.2;transform:translateY(3px)}5%,29%{opacity:1;transform:translateY(0)}33.333%,100%{opacity:0;transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){
  .app-loading-screen-bar span{animation-duration:3s}
  .app-loading-screen-status span{animation:none;opacity:0;transform:none}
  .app-loading-screen-status span:first-child{opacity:1}
}
@media(max-width:900px){
  .app-loading-screen{min-height:calc(100dvh - var(--mobile-bottom) - 152px);padding:0 10px 64px}
  .map-loading .app-loading-screen{height:100%;min-height:0;padding-bottom:calc(var(--mobile-bottom) + 26px)}
  .app-loading-screen-mark{width:62px;height:62px;margin-bottom:17px}
  .app-loading-screen h1{font-size:20px}
  .app-loading-screen-status{position:absolute;right:0;bottom:64px;left:0;margin:0}
}
.support-card{padding:14px;border:1px solid var(--line);border-radius:6px;display:grid;gap:11px}.support-card strong{display:block;font-size:11px}.support-card p{margin:5px 0 0;color:var(--muted);font-size:9px;line-height:1.55}.support-card .command{margin:0;display:flex;align-items:center;justify-content:center;gap:7px}.support-card .command svg{width:16px}.feedback-form{margin-top:20px;display:grid;gap:13px}.feedback-form label{display:grid;gap:6px;color:var(--muted);font-size:9px;font-weight:800}.feedback-form select,.feedback-form textarea{width:100%;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);font:inherit;outline:0}.feedback-form select{height:44px;padding:0 10px}.feedback-form textarea{padding:10px;resize:vertical;line-height:1.6}.feedback-form select:focus,.feedback-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,105,224,.09)}.form-note{margin:0;color:var(--muted);font-size:8px;line-height:1.55}.feedback-form .command{display:flex;align-items:center;justify-content:center;gap:7px}.feedback-form .command svg{width:16px}
.explore-overview{padding-top:2px}.explore-counts{margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.explore-counts div{min-height:74px;padding:13px 14px;border:1px solid var(--line);border-radius:7px;background:var(--soft);display:flex;flex-direction:column;justify-content:space-between}.explore-counts span{color:var(--muted);font-size:9px;font-weight:750}.explore-counts strong{font-size:22px;line-height:1}.future-line-heading{margin-top:26px;display:flex;align-items:center;justify-content:space-between}.future-line-heading h2{margin:0;font-size:13px}.future-line-heading>span{color:var(--muted);font-size:9px;font-weight:750}.future-line-badges{margin-top:11px;display:flex;flex-wrap:wrap;gap:7px}.future-line-badge{min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);display:inline-flex;align-items:center;gap:7px;font-size:9px;font-weight:800;line-height:1.25;text-align:left}.future-line-badge>span{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--badge-line)}.future-line-badge:hover,.future-line-badge:focus-visible{border-color:var(--badge-line);background:var(--soft);outline:0;box-shadow:0 0 0 2px color-mix(in srgb,var(--badge-line) 16%,transparent)}
.compare-column-chart{min-height:210px;padding:18px 4px 0;border-bottom:1px solid var(--line);display:flex;align-items:stretch;gap:8px}
.compare-column-group{min-width:0;flex:1;display:grid;grid-template-rows:150px auto auto;gap:7px;text-align:center}
.compare-bars{height:150px;display:flex;align-items:flex-end;justify-content:center;gap:5px}
.compare-bar{position:relative;width:min(30px,42%);height:100%;display:flex;align-items:flex-end}
.compare-bar span{display:block;width:100%;height:var(--bar-height);min-height:8px;border-radius:3px 3px 0 0;background:#707983}
.compare-bar.future span{background:var(--candidate)}
.compare-bar b{position:absolute;right:50%;bottom:calc(var(--bar-height) + 5px);font-size:10px;white-space:nowrap;transform:translateX(50%)}
.compare-bar.is-empty span{height:2px;min-height:2px;background:var(--line)}
.compare-bar.is-empty b{bottom:7px;color:var(--muted)}
.compare-column-group>strong{overflow:hidden;font-size:10px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.compare-column-group>small{min-height:26px;color:var(--candidate);font-size:9px;font-weight:800;line-height:1.35}
.compare-station-details{padding-top:8px}
.compare-station-details details{border-bottom:1px solid var(--line)}
.compare-station-details summary{padding:10px 0;color:var(--candidate);font-size:10px;font-weight:800;cursor:pointer}
.compare-station-details details>div{padding:2px 0 12px;display:grid;gap:4px}
.compare-station-row{min-height:44px;padding:5px 0;border-bottom:1px solid #eef0f2;display:grid;grid-template-columns:minmax(76px,.8fr) minmax(112px,1.3fr) 36px;align-items:center;gap:10px}
.compare-station-row>b{overflow:hidden;color:var(--ink);font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.compare-station-times{display:flex;align-items:center;justify-content:flex-start;gap:7px;color:var(--muted);font-size:11px}
.compare-station-times strong{color:var(--muted);font-size:11px}
.compare-station-times i{font-style:normal}
.compare-station-row button{width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--blue);display:grid;place-items:center}
.compare-station-row button svg{width:17px}
.compare-station-empty{margin:8px 0;color:var(--muted);font-size:11px}

@media(max-width:900px){
  .estate-filters{max-width:calc(100vw - 132px)}
  .estate-filters summary{height:42px;padding:0 11px}
  .estate-filters summary span,.estate-filters summary strong{font-size:12px}
  .estate-filter-menu{max-width:calc(100vw - 20px);overflow-x:auto}
  .estate-filters .radius-control,.estate-filters .area-control{width:max-content}
  .compare-verdict p{font-size:16px;line-height:1.6}
  .compare-verdict strong{font-size:14px;line-height:1.55}
  .compare-key-metrics span{font-size:11px}
  .compare-key-metrics strong{font-size:13px;white-space:normal}
  .compare-key-metrics small{font-size:12px}
  .compare-candidate-summary header strong{font-size:14px}
  .compare-candidate-summary header b{font-size:16px}
  .compare-candidate-summary p,.compare-candidate-summary dt,.compare-candidate-summary dd{font-size:12px;line-height:1.45}
  .compare-story{padding:20px 0}
  .compare-story>header span{font-size:16px}
  .compare-story>header small{font-size:11px;line-height:1.35}
  .compare-column-group>strong{font-size:12px}
  .compare-column-group>small{font-size:11px}
  .compare-bar b{font-size:12px}
  .compare-station-details summary{font-size:13px}
  .compare-station-row{min-height:52px;grid-template-columns:minmax(80px,.8fr) minmax(126px,1.3fr) 40px;gap:11px}
  .compare-station-row>b,.compare-station-times,.compare-station-times strong{font-size:13px}
  .compare-station-row button{width:38px;height:38px}
  .compare-method strong{font-size:14px}
  .compare-method p{font-size:12px;line-height:1.6}
  .business-access>header>span{font-size:12px}
  .business-access>header>p{font-size:15px;line-height:1.55}
  .business-access-list strong,.business-access-list b{font-size:13px}
  .business-access-list p{font-size:11px;line-height:1.5}
  .business-access-details div,.business-access-details strong{font-size:11px}
  .business-route-button{height:36px;font-size:11px}
  .impact-line{min-height:25px;font-size:10px}
  .journey-card{padding:17px}
  .journey-diagram text{font-size:8px}
  .journey-diagram .journey-station-name{font-size:9px}
  .journey-line-legend{font-size:10px}
  .access-legs strong{font-size:12px}
  .access-legs small{font-size:11px;line-height:1.45}
}

/* Geographic station-price view */
.estate-geo-map{position:absolute;z-index:2;inset:0;background:#eef1f2}
.estate-geo-map[hidden]{display:none}
.map-workspace.estate-geo-active .abstract-viewport{display:none}
.map-workspace.estate-geo-active .legend,
.map-workspace.estate-geo-active .coverage-note,
.map-workspace.estate-geo-active .location-button,
.map-workspace.estate-geo-active .zoom-tools{display:none}
.estate-geo-price{width:98px;min-height:38px;padding:6px 8px;border:2px solid #fff;border-radius:6px;background:#07805b;color:#fff;box-shadow:0 3px 9px rgba(8,79,60,.28);text-align:left;cursor:pointer}
.estate-geo-price strong,.estate-geo-price span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:0}
.estate-geo-price strong{font-size:10px;line-height:1.2}
.estate-geo-price span{margin-top:3px;font-size:10px;font-weight:850;line-height:1.15}
.estate-geo-price.is-selected{border-color:#1769e0;box-shadow:0 0 0 3px rgba(23,105,224,.24),0 4px 12px rgba(8,79,60,.28)}
.estate-geo-station{display:flex;align-items:center;gap:7px;white-space:nowrap;pointer-events:none}
.estate-geo-station>span{width:42px;height:30px;border:4px solid #1769e0;border-radius:16px;background:#fff;box-shadow:0 2px 7px rgba(23,105,224,.28);display:flex;align-items:center;justify-content:center;gap:4px}
.estate-geo-station i{width:7px;height:7px;border-radius:50%;background:#07805b}
.estate-geo-station i+ i{background:#a51d39}
.estate-geo-station strong{padding:5px 8px;border-radius:4px;background:rgba(255,255,255,.94);color:#171a1f;font-size:13px;box-shadow:0 1px 4px rgba(23,26,31,.12)}

@media(max-width:900px){
  .app-shell.panel-open .estate-geo-map{bottom:var(--sheet-height)}
  .estate-geo-price{width:94px;min-height:38px;padding:6px 7px}
  .estate-geo-price strong,.estate-geo-price span{font-size:11px}
  .estate-geo-station strong{font-size:14px}
}

@media(max-width:900px){
  .compare-criteria-group>strong{font-size:12px}
}

/* V1.1.74 — single-screen tab architecture */
.context-filter-bar{display:none!important}

.topbar{
  z-index:210;
  right:var(--nav);
  width:max-content;
  height:78px;
  padding:14px 18px;
  border:0;
  background:transparent;
  pointer-events:none
}

/* V1.1.75 — guided search, route and comparison flows */
html,body{min-height:100%;height:100%;background:#fff}
.app-shell{position:fixed;inset:0;width:auto;height:auto;min-height:0}
.topbar{
  right:var(--nav);
  left:0;
  width:auto;
  height:78px;
  padding:12px 18px;
  display:flex;
  justify-content:center;
  pointer-events:none
}
.app-search-bar{
  width:min(620px,calc(100vw - var(--nav) - 36px));
  height:52px;
  border:1px solid rgba(207,214,220,.95);
  border-radius:18px;
  background:rgba(255,255,255,.96);
  box-shadow:0 7px 22px rgba(23,26,31,.15);
  backdrop-filter:blur(14px);
  display:flex;
  align-items:center;
  pointer-events:auto;
  overflow:hidden
}
.topbar .brand{
  width:54px;
  height:40px;
  padding:0 10px 0 12px;
  flex:0 0 54px;
  filter:none
}
.topbar .brand-mark{display:block;width:34px;height:34px}
.topbar .global-search{
  width:auto;
  height:100%;
  padding:0 14px 0 2px;
  border:0;
  border-radius:0;
  background:transparent;
  flex:1
}
.topbar .global-search:focus-within{border:0;background:transparent;box-shadow:none}
.topbar .global-search svg{width:19px}
.topbar .global-search input{font-size:14px}
.topbar .global-results{
  position:fixed;
  top:72px;
  left:50%;
  width:min(620px,calc(100vw - var(--nav) - 36px));
  transform:translateX(calc(-50% - var(--nav)/2));
  pointer-events:auto
}
.app-shell.panel-open[data-active-nav="route"] .topbar,
.app-shell.panel-open[data-active-nav="compare"] .topbar,
.app-shell[data-active-nav="settings"] .topbar{display:none}
.app-shell.panel-open[data-active-nav="route"] .detail-panel-content,
.app-shell.panel-open[data-active-nav="compare"] .detail-panel-content,
.app-shell[data-active-nav="settings"] .detail-panel-content{padding-top:34px}
.route-floating-card{display:none!important}

.route-input-card.no-swap{grid-template-columns:minmax(0,1fr) 42px}
.route-pick-tools{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.route-pick-tools button{
  min-height:48px;
  padding:0 12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  color:var(--ink);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  font-size:12px;
  font-weight:800
}
.route-pick-tools button:hover,.route-pick-tools button:focus-visible{border-color:var(--blue);color:var(--blue);outline:none}
.route-pick-tools svg{width:17px}

.compare-count-grid{margin-top:24px;display:grid;gap:10px}
.compare-count-grid button{
  min-height:76px;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  display:grid;
  grid-template-columns:70px minmax(0,1fr);
  align-items:center;
  text-align:left
}
.compare-count-grid button:hover,.compare-count-grid button:focus-visible{border-color:var(--blue);background:#f5f9ff;outline:none}
.compare-count-grid strong{font-size:18px;color:var(--blue)}
.compare-count-grid span{color:var(--muted);font-size:12px}
.compare-input-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.compare-input-heading>div{min-width:0}
.compare-input-heading>button{
  min-height:36px;
  padding:0 11px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  color:var(--muted);
  flex:0 0 auto;
  font-size:11px;
  font-weight:800
}
.compare-slot-list{margin-top:20px;display:grid;gap:10px}
.compare-slot-number{
  width:24px;
  height:24px;
  border-radius:50%;
  background:#edf4ff;
  color:var(--blue);
  display:grid;
  place-items:center;
  font-size:11px;
  font-weight:900
}
.compare-empty-slot{
  min-height:72px;
  padding:9px 10px;
  border:1px dashed #b8c0c8;
  border-radius:10px;
  display:grid;
  grid-template-columns:28px minmax(0,1fr) 46px;
  align-items:center;
  gap:8px
}
.compare-empty-slot>span{
  width:24px;height:24px;border-radius:50%;background:var(--soft);color:var(--muted);
  display:grid;place-items:center;font-size:11px;font-weight:900
}
.compare-empty-slot>button{
  height:48px;
  padding:0 10px;
  border:0;
  background:transparent;
  display:flex;
  align-items:center;
  gap:8px;
  text-align:left
}
.compare-empty-slot>button svg{width:18px;color:var(--blue)}
.compare-empty-slot>button strong{font-size:13px}
.compare-empty-slot>.compare-slot-map{border-left:1px solid var(--line);justify-content:center}
.compare-search-page>header{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px}
.compare-search-page>header .panel-eyebrow{margin-bottom:2px}
.compare-search-control{
  height:54px;
  margin-top:22px;
  padding-left:14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  display:grid;
  grid-template-columns:22px minmax(0,1fr) 52px;
  align-items:center
}
.compare-search-control:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,105,224,.1)}
.compare-search-control>svg{width:19px;color:var(--muted)}
.compare-search-control input{min-width:0;height:52px;border:0;outline:0;background:transparent;font-size:16px}
.compare-search-control button{height:38px;border:0;border-left:1px solid var(--line);background:transparent;color:var(--blue);display:grid;place-items:center}
.compare-search-control button svg{width:19px}
.compare-search-results{margin-top:14px;border-top:1px solid var(--line)}
.compare-search-result{width:100%;min-height:70px;padding:10px 4px;border:0;border-bottom:1px solid var(--line);background:#fff;display:grid;grid-template-columns:28px minmax(0,1fr) 20px;align-items:center;gap:9px;text-align:left}
.compare-search-result:hover,.compare-search-result:focus-visible{background:#edf4ff;outline:0}
.compare-search-result>svg{width:18px;color:var(--blue)}
.compare-search-result>svg:last-child{width:15px;color:var(--muted)}
.compare-search-result strong,.compare-search-result small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.compare-search-result strong{font-size:14px}
.compare-search-result small{margin-top:5px;color:var(--muted);font-size:11px}
.compare-search-empty{min-height:240px;color:var(--muted);display:grid;place-content:center;justify-items:center;gap:7px;text-align:center}
.compare-search-empty svg{width:26px;color:#9ca5ae}
.compare-search-empty strong{color:var(--ink);font-size:14px}
.compare-search-empty span{font-size:12px}

@media(max-width:900px){
  :root{
    --mobile-safe-bottom:env(safe-area-inset-bottom);
    --mobile-top:calc(72px + env(safe-area-inset-top));
    --mobile-bottom:calc(64px + var(--mobile-safe-bottom))
  }
  html,body{height:100%;min-height:100%;overflow:hidden}
  .app-shell{position:fixed;inset:0;height:auto;min-height:0}
  .topbar{
    right:0;
    height:var(--mobile-top);
    padding:calc(10px + env(safe-area-inset-top)) 12px 8px
  }
  .app-search-bar{width:100%;height:52px;border-radius:18px}
  .topbar .brand{width:48px;height:40px;flex-basis:48px;padding:0 7px 0 9px}
  .topbar .brand-mark{width:32px;height:32px}
  .topbar .global-search{padding-right:12px}
  .topbar .global-search input{font-size:16px}
  .topbar .global-results{
    top:var(--mobile-top);
    right:0;
    bottom:0;
    left:0;
    width:auto;
    max-height:none;
    transform:none
  }
  .app-shell.search-mode .topbar{display:flex!important}
  .app-shell.search-mode .app-search-bar{width:calc(100% - 46px)}
  .app-shell.search-mode .mobile-search-back{
    width:38px;height:52px;flex:0 0 38px;border:0;background:transparent;display:grid;place-items:center;pointer-events:auto
  }
  .app-shell.search-mode .brand{display:none}
  .primary-nav{
    position:fixed!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    height:var(--mobile-bottom)!important;
    padding:0 0 env(safe-area-inset-bottom)!important
  }
  .primary-nav button{height:64px!important;min-height:0!important;padding:0!important}
  .map-workspace,.app-shell.panel-open .map-workspace{bottom:var(--mobile-bottom)}
  .detail-panel,.app-shell.panel-compact .detail-panel{bottom:var(--mobile-bottom)}
  .app-shell.panel-open[data-active-nav="route"] .detail-panel-content,
  .app-shell.panel-open[data-active-nav="compare"] .detail-panel-content,
  .app-shell[data-active-nav="settings"] .detail-panel-content{
    padding-top:calc(24px + env(safe-area-inset-top))
  }
  .route-input-card.no-swap{grid-template-columns:minmax(0,1fr) 42px}
  .route-pick-tools button{min-height:52px;font-size:13px}
  .compare-count-grid button{min-height:82px;grid-template-columns:64px minmax(0,1fr)}
  .compare-empty-slot{min-height:76px}
}
.topbar .brand{
  width:auto;
  height:48px;
  pointer-events:auto;
  filter:drop-shadow(0 3px 5px rgba(23,26,31,.2))
}
.topbar .brand-full{width:164px;max-height:38px}
.topbar .brand-mark{filter:none}

.map-workspace,
.app-shell.panel-open .map-workspace{
  inset:0 var(--nav) 0 0;
  right:var(--nav)
}
.abstract-viewport,
.app-shell.panel-open .abstract-viewport{bottom:0}
.zoom-tools,
.app-shell.panel-open .zoom-tools{bottom:62px}

.detail-panel,
.app-shell.panel-compact .detail-panel{
  position:fixed;
  z-index:90;
  inset:0 var(--nav) 0 0;
  width:auto;
  height:auto;
  padding:0;
  border:0;
  border-radius:0;
  background:#fff;
  box-shadow:none;
  overflow:hidden;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transform:none;
  transition:opacity .16s ease,visibility 0s .16s
}
.app-shell.panel-open .detail-panel,
.app-shell.panel-open.panel-compact .detail-panel{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transform:none;
  transition:opacity .16s ease
}
.detail-panel-content{
  width:min(760px,100%);
  height:100%;
  margin:0 auto;
  padding:104px 28px 64px;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch
}
.detail-panel-content>.route-form{margin-top:24px}
.explore-overview{padding-bottom:30px}
.line-stage-group{margin-top:28px}
.line-stage-group>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-bottom:10px;
  border-bottom:1px solid var(--line)
}
.line-stage-group>header h2{margin:0;font-size:14px}
.line-stage-group>header span{color:var(--muted);font-size:11px;font-weight:800}
.line-stage-group.current{margin-top:38px}
.future-line-badges{gap:9px}
.future-line-badge{min-height:40px;padding:0 14px;font-size:11px}

.route-floating-card{
  position:fixed;
  z-index:75;
  top:84px;
  left:50%;
  width:min(560px,calc(100vw - var(--nav) - 40px));
  transform:translateX(calc(-50% - var(--nav)/2))
}
.route-floating-card[hidden]{display:none}
.route-floating-card>button{
  width:100%;
  min-height:76px;
  padding:12px 16px;
  border:1px solid rgba(207,214,220,.9);
  border-radius:14px;
  background:rgba(255,255,255,.96);
  color:var(--ink);
  box-shadow:0 8px 24px rgba(23,26,31,.16);
  backdrop-filter:blur(12px);
  display:grid;
  grid-template-columns:22px minmax(0,1fr) 20px;
  align-items:center;
  gap:12px;
  text-align:left
}
.route-floating-card>button>svg{width:18px;color:var(--muted)}
.route-floating-points{height:48px;display:grid;grid-template-rows:10px 1fr 10px;place-items:center}
.route-floating-points i{width:9px;height:9px;border:2px solid var(--blue);border-radius:50%;background:#fff}
.route-floating-points i:last-child{border-color:var(--future)}
.route-floating-points b{height:100%;border-left:1px dashed #9da6ae}
.route-floating-copy{min-width:0;display:grid;gap:8px}
.route-floating-copy strong,
.route-floating-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.route-floating-copy strong{font-size:14px}
.route-floating-copy small{color:var(--muted);font-size:13px}

.geo-estate-picker,
.geo-estate-picker.is-compare-canvas,
.geo-estate-picker.is-compare-canvas.uses-master-search{
  z-index:240;
  inset:0;
  grid-template-rows:66px auto minmax(0,1fr)
}
.geo-estate-picker.uses-master-search .geo-estate-picker-header,
.geo-estate-picker.uses-master-search .geo-estate-results,
.geo-estate-picker.uses-master-search .geo-estate-guide{display:grid}
.geo-estate-picker.uses-master-search .geo-estate-guide{display:block}
.geo-estate-picker .geo-estate-filters:not([hidden]){display:block}
.geo-estate-results{top:118px}

@media(max-width:900px){
  :root{--mobile-top:calc(66px + env(safe-area-inset-top))}
  html,body,.app-shell{height:100lvh;overscroll-behavior:none}
  .topbar{
    position:fixed;
    top:0;
    right:auto;
    left:0;
    width:auto;
    height:var(--mobile-top);
    padding:calc(12px + env(safe-area-inset-top)) 14px 8px
  }
  .topbar .brand{width:44px;height:44px}
  .topbar .brand-full{display:none}
  .topbar .brand-mark{display:block;width:38px;height:38px}
  .map-workspace,
  .app-shell.panel-open .map-workspace{inset:0 0 var(--mobile-bottom);right:0}
  .detail-panel,
  .app-shell.panel-compact .detail-panel,
  .app-shell.sheet-input-mode .detail-panel{
    position:fixed;
    inset:0 0 var(--mobile-bottom);
    width:auto;
    height:auto;
    max-width:none;
    border:0;
    border-radius:0;
    transform:none
  }
  .detail-panel-content{
    width:100%;
    min-height:0;
    padding:calc(82px + env(safe-area-inset-top)) 20px 40px;
    overflow-y:auto;
    touch-action:pan-y
  }
  .app-shell.sheet-input-mode .map-workspace,
  .app-shell.sheet-input-mode .primary-nav{visibility:visible;pointer-events:auto}
  .primary-nav{z-index:200}
  .route-floating-card{
    top:calc(72px + env(safe-area-inset-top));
    right:14px;
    left:14px;
    width:auto;
    transform:none
  }
  .route-floating-card>button{min-height:72px;padding:10px 14px;border-radius:12px}
  .route-floating-copy strong{font-size:15px}
  .route-floating-copy small{font-size:14px}
  .line-stage-group>header h2{font-size:16px}
  .line-stage-group>header span{font-size:13px}
  .future-line-badges{gap:8px}
  .future-line-badge{min-height:42px;padding:0 13px;font-size:13px}
  .geo-estate-picker,
  .geo-estate-picker.is-compare-canvas,
  .geo-estate-picker.is-compare-canvas.uses-master-search{
    inset:0;
    grid-template-rows:calc(62px + env(safe-area-inset-top)) auto minmax(0,1fr)
  }
  .geo-estate-picker.is-compare-canvas .geo-estate-picker-header{
    padding:calc(10px + env(safe-area-inset-top)) 12px 10px
  }
  .geo-estate-picker.is-compare-canvas .geo-estate-guide{display:block}
  .geo-estate-results{top:calc(114px + env(safe-area-inset-top))}
  .geo-filter-strip{padding:8px 10px}
  .geo-filter-options{padding:10px}
  .zoom-tools{bottom:70px}
}

/* V1.2.0 — full-canvas chrome and guided home exploration */
.topbar.search-overlay{
  position:fixed;
  z-index:260;
  top:12px;
  right:calc(var(--nav) + 18px);
  left:18px;
  width:auto;
  height:52px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  display:flex;
  justify-content:center;
  pointer-events:none
}
.topbar.search-overlay .app-search-bar{
  width:min(620px,100%);
  height:52px;
  border:1px solid rgba(207,214,220,.94);
  border-radius:26px;
  background:rgba(255,255,255,.97);
  box-shadow:0 7px 22px rgba(23,26,31,.15);
  backdrop-filter:blur(14px);
  display:flex;
  align-items:center;
  pointer-events:auto;
  overflow:hidden
}
.topbar.search-overlay .brand{
  width:52px;
  height:42px;
  padding:0 8px 0 11px;
  flex:0 0 52px;
  filter:none
}
.topbar.search-overlay .brand-mark{display:block;width:32px;height:32px}
.topbar.search-overlay .brand-full{display:none}
.topbar.search-overlay .global-search{
  width:auto;
  height:100%;
  padding:0 16px 0 2px;
  border:0;
  border-radius:0;
  background:transparent;
  flex:1
}
.topbar.search-overlay .global-search:focus-within{border:0;background:transparent;box-shadow:none}
.topbar.search-overlay .global-search input{font-size:15px}
.topbar.search-overlay .global-results{
  position:fixed;
  top:76px;
  left:50%;
  width:min(620px,calc(100vw - var(--nav) - 36px));
  transform:translateX(calc(-50% - var(--nav)/2));
  pointer-events:auto
}
.app-shell.panel-open .topbar.search-overlay,
.app-shell[data-active-nav="explore"] .topbar.search-overlay{
  display:flex!important;
  border:0;
  background:transparent;
  box-shadow:none
}
.app-shell:has(.geo-estate-picker:not([hidden])) .topbar.search-overlay{display:none!important}

.explore-home{
  width:min(760px,100%);
  margin:0 auto;
  padding-bottom:110px
}
.explore-intro{margin-bottom:22px}
.explore-intro .panel-subtitle{max-width:590px}
.explore-primary-filters{
  padding:16px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px
}
.explore-filter{
  min-width:0;
  display:grid;
  gap:7px;
  color:var(--muted);
  font-size:11px;
  font-weight:800
}
.explore-filter select{
  width:100%;
  height:46px;
  padding:0 34px 0 12px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  color:var(--ink);
  font-size:14px;
  font-weight:800
}
.explore-detail-filters{
  margin-top:12px;
  padding:0 2px;
  display:flex;
  gap:8px;
  overflow-x:auto;
  scrollbar-width:none
}
.explore-detail-filters::-webkit-scrollbar{display:none}
.explore-detail-filters label{
  flex:0 0 auto;
  min-width:132px;
  height:42px;
  padding:0 10px;
  border:1px solid var(--line);
  border-radius:21px;
  background:#fff;
  display:flex;
  align-items:center;
  gap:7px;
  color:var(--muted);
  font-size:11px;
  font-weight:800
}
.explore-detail-filters select{
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  color:var(--ink);
  font-size:12px;
  font-weight:800
}
.explore-results-heading{
  margin:28px 0 10px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px
}
.explore-results-heading h2{margin:0;font-size:18px}
.explore-results-heading span{color:var(--muted);font-size:12px}
.explore-candidate-list{border-top:1px solid var(--line)}
.explore-candidate{
  position:relative;
  min-height:116px;
  padding:16px 104px 16px 2px;
  border-bottom:1px solid var(--line)
}
.explore-candidate.is-selected{margin:0 -10px;padding-left:12px;padding-right:114px;background:#f3f7ff}
.explore-candidate header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.explore-candidate h3{margin:0;font-size:15px;line-height:1.4}
.explore-candidate .price{flex:0 0 auto;color:var(--estate);font-size:16px;font-weight:900}
.explore-candidate>p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.45}
.explore-candidate-meta{margin-top:10px;display:flex;flex-wrap:wrap;gap:5px 12px;color:var(--muted);font-size:11px}
.explore-badges{margin-top:9px;display:flex;flex-wrap:wrap;gap:6px}
.explore-badge{padding:5px 8px;border-radius:999px;background:#eaf6f1;color:var(--estate);font-size:10px;font-weight:850}
.explore-badge.transit{background:#fff0ee;color:#c43b2c}
.explore-select{
  position:absolute;
  top:18px;
  right:2px;
  width:88px;
  height:42px;
  border:1px solid var(--blue);
  border-radius:21px;
  background:#fff;
  color:var(--blue);
  font-size:12px;
  font-weight:850
}
.explore-candidate.is-selected .explore-select{background:var(--blue);color:#fff}
.primary-nav button:focus{outline:none}
.primary-nav button:focus-visible{outline:2px solid var(--blue);outline-offset:-3px}
.explore-loading,.explore-empty{
  min-height:240px;
  color:var(--muted);
  display:grid;
  place-content:center;
  justify-items:center;
  gap:10px;
  text-align:center
}
.explore-compare-fab{
  position:fixed;
  z-index:230;
  right:50%;
  bottom:calc(var(--mobile-bottom,64px) + 14px);
  min-width:220px;
  height:54px;
  padding:0 22px;
  border:0;
  border-radius:27px;
  background:var(--ink);
  color:#fff;
  box-shadow:0 8px 24px rgba(23,26,31,.28);
  transform:translateX(50%);
  font-size:14px;
  font-weight:850
}

@media(max-width:900px){
  :root{
    --mobile-safe-bottom:env(safe-area-inset-bottom);
    --mobile-bottom:calc(64px + var(--mobile-safe-bottom))
  }
  html,body,.app-shell{
    width:100%;
    height:100lvh;
    min-height:100lvh;
    overflow:hidden
  }
  .app-shell{position:fixed;inset:0;width:auto;height:auto;min-height:0}
  .topbar.search-overlay{
    top:calc(10px + env(safe-area-inset-top));
    right:12px;
    left:12px;
    width:auto;
    height:52px;
    padding:0
  }
  .topbar.search-overlay .app-search-bar{width:100%;height:52px;border-radius:26px}
  .topbar.search-overlay .brand{width:50px;height:42px;flex-basis:50px;padding:0 7px 0 10px}
  .topbar.search-overlay .brand-mark{width:32px;height:32px}
  .topbar.search-overlay .global-search{display:flex;padding-right:14px}
  .topbar.search-overlay .global-results{
    top:calc(72px + env(safe-area-inset-top));
    right:0;
    bottom:0;
    left:0;
    width:auto;
    max-height:none;
    transform:none
  }
  .app-shell.search-mode .topbar.search-overlay{display:flex!important}
  .app-shell.search-mode .topbar.search-overlay .app-search-bar{width:calc(100% - 46px)}
  .app-shell.search-mode .topbar.search-overlay .brand{display:none}
  .detail-panel,
  .app-shell.panel-compact .detail-panel,
  .app-shell.sheet-input-mode .detail-panel{
    inset:0 0 var(--mobile-bottom);
    background:#fff
  }
  .detail-panel-content,
  .app-shell.panel-open[data-active-nav="route"] .detail-panel-content,
  .app-shell.panel-open[data-active-nav="compare"] .detail-panel-content,
  .app-shell[data-active-nav="settings"] .detail-panel-content,
  .app-shell[data-active-nav="explore"] .detail-panel-content{
    width:100%;
    min-height:0;
    padding:calc(82px + env(safe-area-inset-top)) 20px 44px
  }
  .app-shell:not(.panel-open) .map-workspace,
  .app-shell:has(.geo-estate-picker:not([hidden])) .geo-estate-map{
    top:0
  }
  .route-floating-card{
    top:calc(76px + env(safe-area-inset-top));
    right:12px;
    left:12px
  }
  .route-floating-card>button{min-height:70px}
  .app-shell[data-active-nav="route"].panel-open .detail-panel-content{padding-top:calc(82px + env(safe-area-inset-top))}
  .app-shell[data-active-nav="route"] .route-form{margin-top:18px}
  .app-shell[data-active-nav="route"] .route-input-card{border-radius:14px}
  .app-shell[data-active-nav="route"] .route-pick-tools{grid-template-columns:1fr 1fr}
  .primary-nav{
    bottom:0!important;
    height:var(--mobile-bottom)!important;
    padding:0!important
  }
  .primary-nav button{
    height:100%!important;
    min-height:0!important;
    padding:0 0 var(--mobile-safe-bottom)!important;
    align-content:center
  }
  .explore-home{padding-bottom:100px}
  .explore-primary-filters{grid-template-columns:1fr;padding:14px;gap:11px}
  .explore-filter{grid-template-columns:90px minmax(0,1fr);align-items:center}
  .explore-filter select{height:44px}
  .explore-results-heading{margin-top:24px}
  .explore-candidate{padding-right:92px}
  .explore-candidate.is-selected{padding-right:102px}
  .explore-select{width:78px}
  .explore-compare-fab{bottom:calc(var(--mobile-bottom) + 12px)}
}

/* V1.1.86 final cascade overrides */
.topbar{
  right:var(--nav);
  left:0;
  width:auto;
  height:78px;
  padding:12px 18px;
  display:flex;
  justify-content:center
}
.topbar .brand{width:54px;height:40px;padding:0 10px 0 12px;flex:0 0 54px;filter:none}
.topbar .brand-mark{display:block;width:34px;height:34px;filter:none}
.app-shell.panel-open[data-active-nav="route"] .detail-panel-content,
.app-shell.panel-open[data-active-nav="compare"] .detail-panel-content,
.app-shell[data-active-nav="settings"] .detail-panel-content{padding-top:34px}
@media(max-width:900px){
  :root{
    --mobile-top:calc(72px + env(safe-area-inset-top));
    --mobile-bottom:calc(64px + var(--mobile-safe-bottom))
  }
  html,body{height:100%;min-height:100%}
  .app-shell{position:fixed;inset:0;width:auto;height:auto;min-height:0}
  .topbar{
    top:0;
    right:0;
    left:0;
    width:auto;
    height:var(--mobile-top);
    padding:calc(10px + env(safe-area-inset-top)) 12px 8px
  }
  .topbar .brand{width:48px;height:40px;flex-basis:48px;padding:0 7px 0 9px}
  .topbar .brand-mark{width:32px;height:32px}
  .app-search-bar{width:100%;height:52px}
  .app-shell.panel-open[data-active-nav="route"] .detail-panel-content,
  .app-shell.panel-open[data-active-nav="compare"] .detail-panel-content,
  .app-shell[data-active-nav="settings"] .detail-panel-content{padding-top:calc(24px + env(safe-area-inset-top))}
}

/* Content pages use app chrome; schematic and geographic canvases stay full bleed. */
.app-shell.panel-open .topbar{
  display:flex!important;
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.97);
  box-shadow:0 1px 8px rgba(23,26,31,.05)
}
.app-shell:not(.panel-open) .topbar{display:none}
.app-shell[data-active-nav="explore"] .topbar,
.app-shell:has(.geo-estate-picker:not([hidden])) .topbar{display:none!important}
.app-shell.panel-open .app-search-bar{
  width:auto;
  height:52px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  overflow:visible
}
.app-shell.panel-open .topbar .global-search,
.app-shell.panel-open .topbar .global-results{display:none}
.app-shell.panel-open .topbar .brand{
  width:164px;
  height:48px;
  padding:0;
  flex:0 0 164px;
  justify-content:center;
  filter:none
}
.app-shell.panel-open .topbar .brand-mark{display:none}
.app-shell.panel-open .topbar .brand-full{display:block;width:164px;max-height:38px}
.app-shell.panel-open[data-active-nav="route"] .detail-panel-content,
.app-shell.panel-open[data-active-nav="compare"] .detail-panel-content,
.app-shell[data-active-nav="settings"] .detail-panel-content{padding-top:104px}
.route-floating-card:not([hidden]){display:block!important}

.geo-estate-picker,
.geo-estate-picker.is-compare-canvas,
.geo-estate-picker.is-compare-canvas.uses-master-search{
  display:block;
  inset:0;
  overflow:hidden
}
.geo-estate-picker[hidden]{display:none}
.geo-estate-map{
  position:absolute;
  z-index:0;
  inset:0;
  width:100%;
  height:100%;
  min-height:100%
}
.geo-estate-picker-header{
  position:absolute;
  z-index:8;
  top:0;
  right:0;
  left:0;
  padding:12px 16px;
  border:0;
  background:transparent;
  pointer-events:none
}
.geo-estate-picker-header .icon-button,
.geo-estate-picker-header .geo-estate-search{pointer-events:auto;box-shadow:0 5px 18px rgba(23,26,31,.16)}
.geo-estate-picker-header .geo-estate-search{background:rgba(255,255,255,.97)}
.geo-estate-filters{
  position:absolute;
  z-index:7;
  top:72px;
  right:10px;
  left:10px;
  border:0;
  border-radius:12px;
  background:rgba(255,255,255,.97);
  box-shadow:0 5px 18px rgba(23,26,31,.14);
  overflow:hidden
}
.geo-estate-results{z-index:9;top:72px}

@media(max-width:900px){
  :root{--mobile-bottom:calc(64px + var(--mobile-safe-bottom))}
  .app-shell[data-active-nav="explore"] .detail-panel-content{
    padding-top:calc(24px + env(safe-area-inset-top))
  }
  .app-shell.panel-open .topbar{
    height:var(--mobile-top);
    padding:calc(10px + env(safe-area-inset-top)) 12px 8px
  }
  .app-shell.panel-open .topbar .brand{width:154px;flex-basis:154px}
  .app-shell.panel-open .topbar .brand-full{width:154px;max-height:36px}
  .app-shell.panel-open[data-active-nav="route"] .detail-panel-content,
  .app-shell.panel-open[data-active-nav="compare"] .detail-panel-content,
  .app-shell[data-active-nav="settings"] .detail-panel-content{
    padding-top:calc(var(--mobile-top) + 20px)
  }
  .geo-estate-picker-header,
  .geo-estate-picker.is-compare-canvas .geo-estate-picker-header{
    padding:calc(10px + env(safe-area-inset-top)) 12px 10px
  }
  .geo-estate-filters{
    top:calc(72px + env(safe-area-inset-top));
    right:8px;
    left:8px
  }
  .geo-estate-results{
    top:calc(72px + env(safe-area-inset-top));
    left:64px;
    width:calc(100vw - 76px)
  }

  /* Keep the pre-header-removal navigation geometry: the bar owns the safe area. */
  .primary-nav{
    bottom:0!important;
    height:var(--mobile-bottom)!important;
    padding:0 0 var(--mobile-safe-bottom)!important
  }
  .primary-nav button{
    height:64px!important;
    min-height:0!important;
    padding:0!important;
    align-content:center
  }
}

/* V1.2.0 must remain last: remove legacy header chrome without losing search. */
.topbar.search-overlay,
.app-shell.panel-open .topbar.search-overlay,
.app-shell[data-active-nav="explore"] .topbar.search-overlay{
  position:fixed;
  z-index:260;
  top:12px;
  right:calc(var(--nav) + 18px);
  left:18px;
  width:auto;
  height:52px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  display:flex!important;
  justify-content:center;
  pointer-events:none
}
.app-shell:has(.geo-estate-picker:not([hidden])) .topbar.search-overlay{display:none!important}
.topbar.search-overlay .app-search-bar,
.app-shell.panel-open .topbar.search-overlay .app-search-bar{
  width:min(620px,100%);
  height:52px;
  border:1px solid rgba(207,214,220,.94);
  border-radius:26px;
  background:rgba(255,255,255,.97);
  box-shadow:0 7px 22px rgba(23,26,31,.15);
  backdrop-filter:blur(14px);
  overflow:hidden
}
.topbar.search-overlay .brand,
.app-shell.panel-open .topbar.search-overlay .brand{
  width:52px;
  height:42px;
  padding:0 8px 0 11px;
  flex:0 0 52px;
  justify-content:flex-start;
  filter:none
}
.topbar.search-overlay .brand-mark,
.app-shell.panel-open .topbar.search-overlay .brand-mark{display:block;width:32px;height:32px}
.topbar.search-overlay .brand-full,
.app-shell.panel-open .topbar.search-overlay .brand-full{display:none}
.topbar.search-overlay .global-search,
.app-shell.panel-open .topbar.search-overlay .global-search{
  width:auto;
  height:100%;
  padding:0 16px 0 2px;
  border:0;
  border-radius:0;
  background:transparent;
  display:flex;
  flex:1
}
.topbar.search-overlay .global-results,
.app-shell.panel-open .topbar.search-overlay .global-results{display:block}
.topbar.search-overlay .global-results[hidden],
.app-shell.panel-open .topbar.search-overlay .global-results[hidden]{display:none}

@media(max-width:900px){
  html,body,.app-shell{
    width:100%;
    height:100lvh;
    min-height:100lvh;
    overflow:hidden
  }
  .app-shell{position:fixed;inset:0;width:auto;height:auto;min-height:0}
  .topbar.search-overlay,
  .app-shell.panel-open .topbar.search-overlay,
  .app-shell[data-active-nav="explore"] .topbar.search-overlay{
    top:calc(10px + env(safe-area-inset-top));
    right:12px;
    left:12px;
    width:auto;
    height:52px;
    padding:0
  }
  .topbar.search-overlay .app-search-bar,
  .app-shell.panel-open .topbar.search-overlay .app-search-bar{width:100%;height:52px}
  .topbar.search-overlay .brand,
  .app-shell.panel-open .topbar.search-overlay .brand{width:50px;flex-basis:50px;padding:0 7px 0 10px}
  .topbar.search-overlay .global-results,
  .app-shell.panel-open .topbar.search-overlay .global-results{
    top:calc(72px + env(safe-area-inset-top));
    right:0;
    bottom:0;
    left:0;
    width:auto;
    max-height:none;
    transform:none
  }
  .detail-panel-content,
  .app-shell.panel-open[data-active-nav="route"] .detail-panel-content,
  .app-shell.panel-open[data-active-nav="compare"] .detail-panel-content,
  .app-shell[data-active-nav="settings"] .detail-panel-content,
  .app-shell[data-active-nav="explore"] .detail-panel-content{
    padding-top:calc(82px + env(safe-area-inset-top))
  }
  .primary-nav{
    bottom:0!important;
    height:var(--mobile-bottom)!important;
    padding:0!important
  }
  .primary-nav button{
    height:100%!important;
    min-height:0!important;
    padding:0 0 var(--mobile-safe-bottom)!important;
    align-content:center
  }
}

/* V1.2.1 — single route search, deliberate exploration, floating mobile navigation */
.topbar.search-overlay,
.app-shell.panel-open .topbar.search-overlay,
.app-shell[data-active-nav="explore"] .topbar.search-overlay,
.app-shell[data-active-nav="compare"] .topbar.search-overlay,
.app-shell[data-active-nav="settings"] .topbar.search-overlay{
  display:none!important
}
.app-shell[data-active-nav="route"]:not(.panel-open) .topbar.search-overlay,
.app-shell.search-mode[data-active-nav="route"] .topbar.search-overlay{
  display:flex!important
}
.app-shell.panel-open[data-active-nav="route"] .detail-panel-content,
.app-shell.panel-open[data-active-nav="compare"] .detail-panel-content,
.app-shell[data-active-nav="settings"] .detail-panel-content,
.app-shell[data-active-nav="explore"] .detail-panel-content{padding-top:48px}

.route-floating-card{
  top:12px;
  width:min(620px,calc(100vw - var(--nav) - 36px))
}
.route-floating-card>button{
  min-height:76px;
  padding:9px 16px 9px 11px;
  border-radius:24px;
  grid-template-columns:42px 16px minmax(0,1fr) 20px;
  gap:10px
}
.route-floating-logo{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center
}
.route-floating-logo img{display:block;width:34px;height:34px}
.route-floating-points{height:44px}
.route-floating-points i{width:8px;height:8px}
.route-floating-copy{gap:6px}

.route-input-card,
.route-input-card.no-swap{
  display:block;
  grid-template-columns:none;
  border-radius:16px;
  box-shadow:0 8px 24px rgba(23,26,31,.07)
}
.route-input-rows{width:100%;min-width:0}
.route-point-row{
  position:relative;
  min-width:0;
  min-height:66px;
  padding:0 12px 0 15px;
  border-top:0;
  display:grid;
  grid-template-columns:14px minmax(0,1fr) 34px;
  align-items:center;
  gap:10px
}
.route-point-row+.route-point-row{border-top:1px solid #edf0f2}
.route-point-dot{justify-self:center}
.route-form .route-point-row label{
  min-width:0;
  grid-template-columns:44px minmax(0,1fr);
  font-size:12px
}
.route-form .route-point-row input{
  min-width:0;
  width:100%;
  height:64px;
  padding:0 2px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:16px
}
.route-field-clear,
.route-point-row>.route-via-toggle.remove{
  width:34px;
  height:40px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#707a84
}
.route-via-insert{
  position:relative;
  height:1px;
  margin:0 14px 0 39px;
  background:#edf0f2
}
.route-via-insert button{
  position:absolute;
  z-index:2;
  top:50%;
  right:-2px;
  height:30px;
  padding:0 9px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
  color:var(--muted);
  display:inline-flex;
  align-items:center;
  gap:4px;
  transform:translateY(-50%);
  font-size:10px
}
.route-via-insert button svg{width:14px;height:14px}
.route-via-insert button b{font-weight:800}
.route-point-row .suggestions{
  top:calc(100% - 1px);
  right:-1px;
  left:-1px;
  border-radius:0 0 14px 14px
}
.route-pick-tools{margin-top:12px;gap:9px}
.route-pick-tools button{
  min-height:50px;
  border-radius:12px;
  background:#fff;
  font-size:12px
}

.explore-home{width:min(720px,100%);padding-bottom:124px}
.explore-intro{margin-bottom:20px}
.explore-intro .panel-title{letter-spacing:-.035em}
.explore-condition-card{
  padding:18px;
  border:1px solid #dfe4e8;
  border-radius:20px;
  background:#fff;
  box-shadow:0 8px 28px rgba(23,26,31,.055)
}
.explore-budget>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px
}
.explore-budget label{color:var(--muted);font-size:11px;font-weight:850}
.explore-budget output{color:var(--ink);font-size:19px;font-weight:900;letter-spacing:-.03em}
.explore-budget input[type="range"]{
  width:100%;
  height:28px;
  margin:12px 0 0;
  padding:0;
  border:0;
  background:transparent;
  accent-color:var(--blue);
  cursor:pointer
}
.explore-budget input[type="range"]::-webkit-slider-runnable-track{
  height:6px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--blue) 0 var(--budget-progress),#dfe5eb var(--budget-progress) 100%)
}
.explore-budget input[type="range"]::-webkit-slider-thumb{
  width:24px;
  height:24px;
  margin-top:-9px;
  border:4px solid #fff;
  border-radius:50%;
  background:var(--blue);
  box-shadow:0 2px 8px rgba(23,105,224,.35);
  -webkit-appearance:none
}
.explore-budget input[type="range"]::-moz-range-track{
  height:6px;
  border:0;
  border-radius:999px;
  background:linear-gradient(90deg,var(--blue) 0 var(--budget-progress),#dfe5eb var(--budget-progress) 100%)
}
.explore-budget input[type="range"]::-moz-range-thumb{
  width:18px;
  height:18px;
  border:4px solid #fff;
  border-radius:50%;
  background:var(--blue);
  box-shadow:0 2px 8px rgba(23,105,224,.35)
}
.explore-budget-scale{
  margin-top:-2px;
  display:flex;
  justify-content:space-between;
  color:#98a1aa
}
.explore-budget-scale i{font-size:9px;font-style:normal}
.explore-filter-grid{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid #edf0f2;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px
}
.explore-filter{
  min-width:0;
  display:grid;
  gap:7px;
  color:var(--muted);
  font-size:10px;
  font-weight:850
}
.explore-filter select{
  min-width:0;
  width:100%;
  height:44px;
  padding:0 34px 0 12px;
  border:1px solid #dfe4e8;
  border-radius:12px;
  background:#f9fafb;
  color:var(--ink);
  outline:0;
  font-size:13px;
  font-weight:800
}
.explore-filter select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,105,224,.09)}
.explore-apply-button{
  width:100%;
  height:52px;
  margin-top:16px;
  border:0;
  border-radius:14px;
  background:var(--ink);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-size:14px;
  font-weight:850;
  transition:background .18s ease,transform .18s ease
}
.explore-condition-card.is-dirty .explore-apply-button{background:var(--blue)}
.explore-apply-button:active{transform:scale(.985)}
.explore-apply-button:disabled{opacity:.72}
.explore-apply-button svg{width:18px;height:18px}
.explore-login-notice{
  margin:-5px 0 15px;
  padding:11px 13px;
  border:1px solid #dce8f8;
  border-radius:12px;
  background:#f5f9ff;
  color:#596979;
  display:flex;
  align-items:flex-start;
  gap:9px;
  font-size:10px;
  line-height:1.55
}
.explore-login-notice[hidden]{display:none!important}
.explore-login-notice svg{width:16px;height:16px;flex:0 0 16px;margin-top:1px;color:var(--blue)}
.explore-login-notice strong{color:#273746}
.explore-results{margin-top:30px}
.explore-results-heading{margin:0 0 12px;align-items:flex-start}
.explore-results-heading>div{min-width:0}
.explore-results-heading h2{font-size:19px}
.explore-results-heading p{
  margin:6px 0 0;
  overflow:hidden;
  color:var(--muted);
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:10px
}
.explore-results-heading>span{padding-top:4px;white-space:nowrap}
.explore-selection-guide{
  min-height:44px;
  padding:9px 12px;
  border:1px solid #dce8f8;
  border-radius:12px;
  background:#f5f9ff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:#536273;
  font-size:11px
}
.explore-selection-guide span{display:flex;align-items:center;gap:6px;line-height:1.35}
.explore-selection-guide svg{width:15px;height:15px;color:var(--blue)}
.explore-selection-guide strong{flex:0 0 auto;color:var(--blue);font-size:12px}
.explore-selection-guide[hidden],.explore-sort-pills[hidden]{display:none!important}
.explore-candidate-list{margin-top:4px}
.explore-auth-gate{
  margin-top:8px;
  padding:20px;
  border:1px solid #dbe3ea;
  border-radius:18px;
  background:linear-gradient(145deg,#fff 0%,#f6f9fd 100%);
  box-shadow:0 12px 34px rgba(29,48,67,.07)
}
.explore-auth-gate-heading{display:flex;align-items:center;gap:11px}
.explore-auth-gate-heading>span{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border-radius:12px;
  background:#eaf3ff;
  color:var(--blue);
  display:grid;
  place-items:center
}
.explore-auth-gate-heading svg{width:19px;height:19px}
.explore-auth-gate-heading p{margin:0;color:var(--blue);font-size:9px;font-weight:900}
.explore-auth-gate-heading h3{margin:4px 0 0;font-size:17px;letter-spacing:-.025em}
.explore-blind-list{margin-top:17px;display:grid;gap:8px}
.explore-blind-card{
  position:relative;
  min-height:82px;
  padding:16px 94px 16px 54px;
  border:1px solid #e2e7ec;
  border-radius:13px;
  background:rgba(255,255,255,.92);
  overflow:hidden
}
.explore-blind-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.1),rgba(246,249,252,.52),rgba(255,255,255,.14));
  backdrop-filter:blur(3px);
  pointer-events:none
}
.explore-blind-rank{
  position:absolute;
  z-index:1;
  top:17px;
  left:15px;
  width:29px;
  height:29px;
  border-radius:50%;
  background:#273746;
  color:#fff;
  display:grid;
  place-items:center;
  font-size:9px;
  font-weight:900
}
.explore-blind-copy{display:grid;gap:8px;filter:blur(2px)}
.explore-blind-copy i,.explore-blind-price{
  display:block;
  height:9px;
  border-radius:999px;
  background:#cad2da
}
.explore-blind-copy i:first-child{width:48%;height:13px;background:#9eabb7}
.explore-blind-copy i:nth-child(2){width:78%}
.explore-blind-copy i:nth-child(3){width:61%}
.explore-blind-price{position:absolute;top:18px;right:16px;width:65px;height:14px;filter:blur(2px)}
.explore-auth-gate-action{
  margin-top:15px;
  padding-top:15px;
  border-top:1px solid #e1e7ec;
  display:grid;
  justify-items:center;
  gap:10px;
  text-align:center
}
.explore-auth-gate-action>p{max-width:410px;margin:0;color:#62717d;font-size:10px;line-height:1.6}
.explore-auth-gate-action .social-login{max-width:390px}
.explore-auth-gate-action>small{color:#8b969f;font-size:8px}
.explore-visible-alternatives{margin-top:24px}
.explore-visible-alternatives>header{
  padding:0 2px 11px;
  border-bottom:1px solid var(--line);
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px
}
.explore-visible-alternatives>header p{margin:0;color:var(--blue);font-size:9px;font-weight:850}
.explore-visible-alternatives>header h3{margin:4px 0 0;font-size:16px}
.explore-visible-alternatives>header>span{color:var(--muted);font-size:10px;font-weight:800}
.explore-visible-alternatives>div{border-bottom:1px solid var(--line)}
.explore-candidate{
  min-height:120px;
  padding:18px 54px 18px 2px
}
.explore-candidate.is-selected{
  margin:0 -10px;
  padding-left:12px;
  padding-right:64px;
  border-radius:14px;
  background:#f4f8ff;
  box-shadow:inset 3px 0 0 var(--blue)
}
.explore-candidate header{gap:12px}
.explore-candidate h3{min-width:0;font-size:15px;letter-spacing:-.02em}
.explore-candidate-rank{
  margin-right:7px;
  padding:3px 6px;
  border-radius:999px;
  background:#edf3fa;
  color:#456079;
  display:inline-block;
  vertical-align:2px;
  font-size:8px;
  font-weight:900;
  letter-spacing:0
}
.explore-candidate .price{font-size:16px}
.explore-candidate-meta{gap:5px 10px}
.explore-select{
  top:16px;
  right:2px;
  width:40px;
  height:40px;
  padding:0;
  border:1px solid #cfd8e2;
  border-radius:50%;
  background:#fff;
  color:var(--blue);
  display:grid;
  place-items:center;
  box-shadow:0 3px 10px rgba(23,26,31,.07)
}
.explore-select svg{width:19px;height:19px;stroke-width:2.4}
.explore-select:focus-visible{outline:2px solid rgba(23,105,224,.32);outline-offset:2px}
.explore-candidate.is-selected .explore-select{border-color:var(--blue);background:var(--blue);color:#fff}
.explore-compare-fab{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px
}
.explore-compare-fab[hidden]{display:none!important}
.explore-compare-fab svg{width:18px;height:18px}

@media(max-width:900px){
  :root{
    --mobile-safe-bottom:env(safe-area-inset-bottom);
    --mobile-nav-height:60px;
    --mobile-nav-gap:8px;
    --mobile-nav-reserve:calc(var(--mobile-nav-height) + var(--mobile-nav-gap) * 2 + var(--mobile-safe-bottom));
    --mobile-bottom:var(--mobile-nav-reserve)
  }
  .app-shell::after{
    content:"";
    position:fixed;
    z-index:190;
    right:0;
    bottom:0;
    left:0;
    height:var(--mobile-nav-reserve);
    background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.88) 24%,rgba(255,255,255,.97));
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    pointer-events:none
  }
  .app-shell.search-mode::after{display:none}
  .map-workspace,
  .app-shell.panel-open .map-workspace{
    inset:0!important;
    right:0!important;
    bottom:0!important
  }
  .detail-panel,
  .app-shell.panel-compact .detail-panel,
  .app-shell.sheet-input-mode .detail-panel{
    inset:0!important;
    right:0!important;
    bottom:0!important
  }
  .detail-panel-content,
  .app-shell.panel-open[data-active-nav="route"] .detail-panel-content,
  .app-shell.panel-open[data-active-nav="compare"] .detail-panel-content,
  .app-shell[data-active-nav="settings"] .detail-panel-content,
  .app-shell[data-active-nav="explore"] .detail-panel-content{
    padding:calc(26px + env(safe-area-inset-top)) 20px calc(34px + var(--mobile-nav-reserve))!important
  }
  .topbar.search-overlay,
  .app-shell.panel-open .topbar.search-overlay,
  .app-shell[data-active-nav="explore"] .topbar.search-overlay,
  .app-shell[data-active-nav="compare"] .topbar.search-overlay,
  .app-shell[data-active-nav="settings"] .topbar.search-overlay{
    display:none!important
  }
  .app-shell[data-active-nav="route"]:not(.panel-open):not(.route-has-points) .topbar.search-overlay,
  .app-shell.search-mode[data-active-nav="route"] .topbar.search-overlay{
    display:flex!important
  }
  .route-floating-card{
    top:calc(10px + env(safe-area-inset-top));
    right:12px;
    left:12px;
    width:auto
  }
  .route-floating-card>button{
    min-height:76px;
    padding:8px 13px 8px 9px;
    border-radius:24px;
    grid-template-columns:40px 15px minmax(0,1fr) 18px;
    gap:9px
  }
  .route-floating-logo{width:40px;height:40px}
  .route-floating-logo img{width:33px;height:33px}
  .route-floating-copy strong{font-size:14px}
  .route-floating-copy small{font-size:13px}
  .route-form{margin-top:18px!important}
  .route-input-card{border-radius:16px!important}
  .route-point-row{min-height:64px;padding-right:10px;padding-left:13px;grid-template-columns:14px minmax(0,1fr) 34px;gap:9px}
  .route-form .route-point-row label{grid-template-columns:42px minmax(0,1fr);font-size:12px}
  .route-form .route-point-row input{height:62px;font-size:16px}
  .route-pick-tools{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .route-pick-tools button{min-height:50px!important;font-size:12px}
  .primary-nav{
    position:fixed!important;
    z-index:300!important;
    top:auto!important;
    right:12px!important;
    bottom:calc(var(--mobile-safe-bottom) + var(--mobile-nav-gap))!important;
    left:12px!important;
    width:auto!important;
    height:var(--mobile-nav-height)!important;
    min-height:0!important;
    padding:4px!important;
    border:1px solid rgba(207,214,220,.9)!important;
    border-radius:32px!important;
    background:rgba(255,255,255,.94)!important;
    box-shadow:0 10px 30px rgba(23,26,31,.18)!important;
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    overflow:hidden
  }
  .primary-nav button{
    width:100%!important;
    height:52px!important;
    min-height:0!important;
    padding:0!important;
    border:0!important;
    border-radius:26px!important;
    background:transparent!important;
    color:#69737d;
    gap:3px!important;
    font-size:10px!important;
    transition:background .18s ease,color .18s ease
  }
  .primary-nav button.is-active{
    background:#eaf2ff!important;
    color:var(--blue)!important
  }
  .primary-nav button:focus-visible{outline:none!important}
  .primary-nav button svg{width:20px;height:20px;stroke-width:2}
  .zoom-tools,
  .app-shell.panel-open .zoom-tools{bottom:calc(var(--mobile-nav-reserve) + 10px)}
  .location-button{bottom:calc(var(--mobile-nav-reserve) + 12px)}
  .toast{z-index:330;bottom:calc(var(--mobile-nav-reserve) + 14px)}
  .explore-home{padding-bottom:116px}
  .explore-intro{margin-bottom:18px}
  .explore-condition-card{padding:16px;border-radius:18px}
  .explore-filter-grid{gap:10px}
  .explore-filter{display:grid;grid-template-columns:1fr;align-items:initial}
  .explore-filter select{height:43px;font-size:12px}
  .explore-results{margin-top:26px}
  .explore-login-notice{margin-top:-3px;font-size:10px}
  .explore-auth-gate{padding:16px 13px;border-radius:16px}
  .explore-auth-gate-heading h3{font-size:16px}
  .explore-blind-card{padding-right:76px;padding-left:50px}
  .explore-blind-price{right:12px;width:54px}
  .explore-visible-alternatives{margin-top:21px}
  .explore-candidate{padding-right:52px}
  .explore-candidate.is-selected{padding-right:62px}
  .explore-select{width:38px;height:38px}
  .explore-compare-fab{
    z-index:320;
    right:16px;
    bottom:calc(var(--mobile-safe-bottom) + var(--mobile-nav-height) + var(--mobile-nav-gap) * 2 + 4px);
    left:16px;
    width:auto;
    min-width:0;
    height:52px;
    transform:none
  }
}

@media(max-width:390px){
  .explore-filter-grid{grid-template-columns:1fr 1fr}
  .explore-condition-card{padding:15px}
  .explore-selection-guide{font-size:10px}
  .route-pick-tools button{padding:0 8px}
}

/* V1.2.2 — multiple commute destinations and automatic ranking signals */
.explore-destinations{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid #edf0f2
}
.explore-destinations>header{
  margin-bottom:10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px
}
.explore-destinations>header strong{
  color:var(--muted);
  font-size:11px;
  font-weight:850
}
.explore-destinations>header span{
  color:#8c97a2;
  font-size:10px;
  font-weight:700
}
.explore-destination-options{
  display:flex;
  flex-wrap:wrap;
  gap:8px
}
.explore-destination-options button{
  min-width:0;
  min-height:38px;
  padding:0 12px;
  border:1px solid #dfe4e8;
  border-radius:999px;
  background:#f9fafb;
  color:#626e7a;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  font-size:11px;
  font-weight:800;
  transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease
}
.explore-destination-options button:active{transform:scale(.97)}
.explore-destination-options button svg{width:14px;height:14px;stroke-width:2.4}
.explore-destination-options button.is-selected{
  border-color:#9fc2f2;
  background:#edf5ff;
  color:var(--blue);
  box-shadow:inset 0 0 0 1px rgba(23,105,224,.05)
}
.explore-destination-options button:focus-visible{
  outline:2px solid rgba(23,105,224,.25);
  outline-offset:2px
}
.explore-support-row{
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  align-items:end
}
.explore-support-row.is-single{grid-template-columns:minmax(0,1fr)}
.explore-commute-summary{
  margin-top:9px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:5px
}
.explore-commute-summary small{
  margin-right:2px;
  color:#7b8691;
  font-size:9px;
  font-weight:800
}
.explore-commute-summary span{
  min-height:23px;
  padding:4px 7px;
  border-radius:999px;
  background:#f1f4f7;
  color:#55616e;
  font-size:9px;
  font-weight:750
}
.explore-commute-summary b{
  margin-right:4px;
  color:#2d3945;
  font-weight:900
}

@media(max-width:900px){
  .explore-destination-options button{flex:1 1 138px}
  .explore-support-row{grid-template-columns:1fr}
  .explore-candidate{min-height:138px}
}

@media(max-width:390px){
  .explore-destination-options{gap:7px}
  .explore-destination-options button{flex-basis:132px;padding:0 9px;font-size:10px}
}

/* V1.2.3 — price range, solid footer, stable route search pill */
.explore-budget-range{
  position:relative;
  width:100%;
  height:34px;
  margin-top:10px
}
.explore-budget-range::before{
  content:"";
  position:absolute;
  top:50%;
  right:0;
  left:0;
  height:6px;
  border-radius:999px;
  background:linear-gradient(90deg,#dfe5eb 0 var(--budget-start),var(--blue) var(--budget-start) var(--budget-end),#dfe5eb var(--budget-end) 100%);
  transform:translateY(-50%)
}
.explore-budget-range input[type="range"]{
  position:absolute;
  z-index:3;
  inset:0;
  width:100%;
  height:34px;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  pointer-events:none;
  appearance:none;
  -webkit-appearance:none
}
.explore-budget-range input[type="range"]:last-child{z-index:4}
.explore-budget-range input[type="range"]::-webkit-slider-runnable-track{
  height:6px;
  border:0;
  background:transparent
}
.explore-budget-range input[type="range"]::-webkit-slider-thumb{
  width:24px;
  height:24px;
  margin-top:-9px;
  border:4px solid #fff;
  border-radius:50%;
  background:var(--blue);
  box-shadow:0 2px 8px rgba(23,105,224,.35);
  pointer-events:auto;
  -webkit-appearance:none
}
.explore-budget-range input[type="range"]::-moz-range-track{
  height:6px;
  border:0;
  background:transparent
}
.explore-budget-range input[type="range"]::-moz-range-thumb{
  width:18px;
  height:18px;
  border:4px solid #fff;
  border-radius:50%;
  background:var(--blue);
  box-shadow:0 2px 8px rgba(23,105,224,.35);
  pointer-events:auto
}
.explore-budget-range input[type="range"].is-active,
.explore-budget-range input[type="range"]:focus{z-index:6}
.explore-budget-range input[type="range"]:focus-visible{outline:0}
.explore-budget-range input[type="range"]:focus-visible::-webkit-slider-thumb{
  box-shadow:0 0 0 4px rgba(23,105,224,.16),0 2px 8px rgba(23,105,224,.35)
}
.explore-budget-range input[type="range"]:focus-visible::-moz-range-thumb{
  box-shadow:0 0 0 4px rgba(23,105,224,.16),0 2px 8px rgba(23,105,224,.35)
}
.explore-budget-scale{margin-top:-1px}

.route-floating-card>button{
  height:52px;
  min-height:52px;
  padding:4px 13px 4px 8px;
  border-radius:26px;
  background:#fff;
  box-shadow:0 7px 22px rgba(23,26,31,.15);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  grid-template-columns:40px 14px minmax(0,1fr) 18px;
  gap:8px
}
.route-floating-logo{width:40px;height:40px}
.route-floating-logo img{width:32px;height:32px}
.route-floating-points{height:32px}
.route-floating-points i{width:7px;height:7px}
.route-floating-copy{gap:1px}
.route-floating-copy strong{font-size:12px;line-height:1.2}
.route-floating-copy small{font-size:11px;line-height:1.2}

@media(max-width:900px){
  .app-shell::after{
    background:#fff!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important
  }
  .primary-nav{
    background:#fff!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important
  }
  .topbar.search-overlay .app-search-bar,
  .route-floating-card>button{
    height:52px!important;
    min-height:52px!important;
    border-radius:26px!important;
    background:#fff!important;
    box-shadow:0 7px 22px rgba(23,26,31,.15)!important
  }
  .route-floating-card>button{
    padding:4px 13px 4px 8px!important;
    grid-template-columns:40px 14px minmax(0,1fr) 18px!important;
    gap:8px!important
  }
  .route-floating-logo{width:40px;height:40px}
  .route-floating-logo img{width:32px;height:32px}
  .route-floating-copy strong{font-size:12px}
  .route-floating-copy small{font-size:11px}
}

/* V1.2.4 — fixed top safe area on every tab except route */
@media(max-width:900px){
  :root{--mobile-safe-top:env(safe-area-inset-top)}
  .app-shell:not([data-active-nav="route"])::before{
    content:"";
    position:fixed;
    z-index:295;
    top:0;
    right:0;
    left:0;
    height:var(--mobile-safe-top);
    background:#fff;
    pointer-events:none
  }
  .app-shell[data-active-nav="route"]::before{content:none}
}

/* V1.2.4 — station-only route flow and stable in-panel station results */
.station-popup-actions button.is-selected{
  background:#edf4ff;
  color:var(--blue);
  box-shadow:inset 0 -2px 0 var(--blue)
}
.route-station-search-hint{
  min-height:180px;
  display:grid;
  place-content:center;
  justify-items:center;
  gap:8px;
  color:var(--muted);
  text-align:center
}
.route-station-search-hint svg{width:24px;height:24px;color:var(--blue)}
.route-station-search-hint strong{color:var(--ink);font-size:15px}
.route-station-search-hint span{font-size:12px}
.app-shell.search-mode .route-floating-card{display:none!important}

.route-input-card{overflow:hidden}
.route-point-block{min-width:0;background:#fff}
.route-point-block.start{border-bottom:1px solid #edf0f2}
.route-point-block .route-point-row{border:0}
.route-point-row.via{border-bottom:1px solid #edf0f2}
.route-field-pickers{
  margin:-3px 12px 11px 39px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px
}
.route-field-pickers button{
  min-width:0;
  height:36px;
  padding:0 8px;
  border:1px solid #dfe4e8;
  border-radius:10px;
  background:#f8fafb;
  color:#626d77;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  font-size:10px;
  font-weight:800;
  white-space:nowrap
}
.route-field-pickers button:hover,
.route-field-pickers button:focus-visible{
  border-color:var(--blue);
  background:#f2f7ff;
  color:var(--blue);
  outline:0
}
.route-field-pickers svg{width:14px;height:14px;flex:0 0 auto}
.route-suggestion-list.suggestions{
  position:static;
  z-index:auto;
  top:auto;
  right:auto;
  left:auto;
  max-height:none;
  margin-top:14px;
  border:1px solid #dfe4e8;
  border-radius:14px;
  box-shadow:none;
  overflow:hidden
}
.route-suggestion-list.suggestions button{
  min-height:58px;
  padding:9px 12px;
  background:#fff
}
.route-suggestion-list.suggestions button:last-child{border-bottom:0}
.route-suggestion-list.suggestions svg{width:18px;height:18px}
.route-suggestion-list.suggestions strong{font-size:13px}
.route-suggestion-list.suggestions small{font-size:10px}

@media(max-width:900px){
  .route-field-pickers{margin-right:10px;margin-left:37px}
  .route-field-pickers button{height:38px;font-size:11px}
}

/* V1.2.8 — map-first route preview and shared contextual action surfaces */
.map-action-surface{
  --action-surface:#fff;
  --action-border:rgba(207,214,220,.82);
  --action-shadow:0 16px 44px rgba(24,31,39,.18),0 3px 10px rgba(24,31,39,.08);
  border:1px solid var(--action-border);
  background:var(--action-surface);
  box-shadow:var(--action-shadow)
}
.station-action-popup.map-action-surface{
  width:220px;
  border-radius:18px;
  overflow:visible
}
.station-action-popup.map-action-surface header{
  min-height:64px;
  padding:13px 12px 11px;
  border-bottom:1px solid #edf0f2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px
}
.station-action-popup.map-action-surface header>span{min-width:0;flex:1}
.station-action-popup.map-action-surface header strong{font-size:14px;line-height:1.25}
.station-action-popup.map-action-surface header small{margin-top:4px;font-size:10px}
.station-action-popup.map-action-surface .station-popup-actions{
  grid-template-columns:repeat(3,1fr);
  min-height:76px;
  padding:12px 16px 14px;
  gap:8px;
  background:#fff;
  border-radius:0 0 18px 18px
}
.station-action-popup.map-action-surface .station-popup-actions button{
  width:52px;
  height:52px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#1e2933;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:0;
  justify-self:center
}
.station-action-popup.map-action-surface .station-popup-actions button.is-route-primary{background:#287bd6;color:#fff}.station-action-popup.map-action-surface .station-popup-actions button.is-route-dark{background:#1e2933;color:#fff}.station-action-popup.map-action-surface .station-popup-actions button.is-route-muted{background:#1e2933;color:#fff}.station-action-popup.map-action-surface .station-popup-actions button:hover{filter:brightness(.96)}
.station-action-popup.map-action-surface .station-popup-actions svg{width:15px;height:15px}
.station-action-popup.map-action-surface .station-popup-actions span{font-size:10px}
.station-price-action{flex:0 0 auto;height:32px;padding:0 10px;border:1px solid #cfe2f7;border-radius:999px;background:#eef6ff;color:#287bd6;display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:850;white-space:nowrap}.station-price-action svg{width:14px;height:14px;stroke-width:2.2}.station-price-action:hover,.station-price-action:focus-visible{border-color:#287bd6;background:#e1efff;outline:none}
.line-action-popup.map-action-surface{
  --action-border:transparent;
  width:auto;
  border:0;
  border-radius:999px;
  overflow:visible;
  background:transparent;
  box-shadow:0 10px 28px rgba(23,26,31,.24)
}
.line-action-popup.map-action-surface>button{
  height:44px;
  padding:0 12px 0 16px;
  border:1px solid color-mix(in srgb,var(--popup-line-text) 16%,transparent);
  border-radius:999px;
  box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 20%,transparent);
  gap:8px
}
.line-action-popup.map-action-surface strong{font-size:12px}
.line-action-popup.map-action-surface span{font-size:11px}
.line-action-popup.map-action-surface:after{background:var(--popup-line-color)}

.route-preview-card{
  position:fixed;
  z-index:310;
  right:calc(var(--nav) + 24px);
  bottom:24px;
  width:min(440px,calc(100vw - var(--nav) - 48px));
  padding:15px;
  border-radius:22px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px 14px;
  color:var(--ink);
  pointer-events:auto;
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px)
}
.route-preview-card[hidden]{display:none!important}
.route-preview-heading{min-width:0;display:grid;align-content:start;gap:3px}
.route-preview-card[data-preview-kind="route"] .route-preview-heading{grid-column:1/-1}
.route-preview-card[data-preview-kind="route"] .route-preview-heading{padding-right:38px}
.route-preview-card[data-preview-kind="line"] .route-preview-heading{padding-right:38px}
.route-preview-close.icon-close-button{
  position:absolute;
  z-index:2;
  top:12px;
  right:12px;
  width:32px;
  height:32px;
  border:0;
  background:transparent;
  color:#7a848e;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none
}
.route-preview-close svg{width:16px;height:16px}
.route-preview-close.icon-close-button:hover,
.route-preview-close.icon-close-button:focus-visible{
  background:#f3f5f7;
  color:#5d6670;
  outline:none
}
.route-preview-kicker{
  color:var(--blue);
  display:flex;
  align-items:center;
  gap:5px;
  font-size:10px;
  font-weight:900
}
.route-preview-kicker svg{width:13px;height:13px}
.route-preview-heading>strong{font-size:16px;line-height:1.35;letter-spacing:-.02em}
.route-preview-heading>small{
  overflow:hidden;
  color:var(--muted);
  font-size:10px;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap
}
.route-preview-switches{
  grid-column:1/-1;
  width:100%;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px
}
.route-preview-metric,
.route-period-switch{
  width:100%;
  height:44px;
  padding:3px;
  border:1px solid #e0e5e9;
  border-radius:999px;
  background:#f3f5f7;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2px
}
.route-preview-metric button,
.route-period-switch button{
  padding:0;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#7a848e;
  font-size:10px;
  font-weight:850;
  display:grid;
  align-content:center;
  justify-content:center
}
.route-preview-metric button.is-active,
.route-period-switch button.is-active{
  background:#fff;
  color:var(--blue);
  box-shadow:0 2px 7px rgba(23,26,31,.11)
}
.route-period-switch{
  display:grid
}
.route-period-switch button{
  display:grid;
  grid-template-columns:auto auto;
  gap:2px 5px
}
.route-period-switch button span{color:#7a848e;font-size:9px}
.route-period-switch button strong{font-size:12px}
.route-period-switch button.is-active span{color:var(--blue)}
.route-period-switch button:disabled{opacity:.36}
.route-preview-detail{
  position:relative;
  grid-column:1/-1;
  min-width:0;
  height:44px;
  padding:0 14px 0 16px;
  border:0;
  border-radius:999px;
  background:var(--ink);
  color:#fff;
  display:grid;
  place-items:center;
  font-size:12px;
  font-weight:900
}
.route-preview-detail:hover{background:#303840}
.route-preview-detail svg{position:absolute;right:14px;width:16px;height:16px}
.route-preview-via{grid-column:1/-1;height:36px;padding:0 14px;border:1px solid #dfe4e8;border-radius:999px;background:#fff;color:#58636d;display:grid;grid-template-columns:16px minmax(0,1fr) 16px;align-items:center;gap:7px;text-align:left;font-size:10px;font-weight:850}.route-preview-via:hover,.route-preview-via:focus-visible{border-color:var(--blue);color:var(--blue);background:#f5f9ff;outline:none}.route-preview-via svg{width:15px;height:15px}.route-preview-via svg:last-child{justify-self:end}

.icon-close-button{
  padding:0;
  border:1px solid rgba(255,255,255,.75);
  border-radius:50%;
  background:rgba(25,31,37,.92);
  color:#fff;
  display:grid;
  place-items:center;
  box-shadow:0 8px 24px rgba(23,26,31,.26);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px)
}
.focus-exit.close-focus,
.route-clear-map{
  z-index:320;
  top:calc(14px + env(safe-area-inset-top));
  right:14px;
  left:auto;
  width:44px;
  height:44px
}
.focus-exit.close-focus[hidden],
.route-clear-map[hidden]{display:none!important}
.icon-close-button svg{width:19px;height:19px;stroke-width:2.4}
.icon-close-button:hover,
.icon-close-button:focus-visible{
  background:#11161b;
  color:#fff;
  outline:3px solid rgba(255,255,255,.7);
  outline-offset:2px
}

@media(max-width:900px){
  .route-preview-card{
    right:12px;
    bottom:calc(var(--mobile-safe-bottom) + var(--mobile-nav-height) + var(--mobile-nav-gap) * 2 + 8px);
    left:12px;
    width:auto;
    padding:14px;
    border-radius:22px;
    background:rgba(255,255,255,.96)
  }
  .focus-exit.close-focus,
  .route-clear-map{
    top:calc(14px + env(safe-area-inset-top))!important;
    right:14px!important;
    left:auto!important
  }
  .app-shell[data-active-nav="route"].route-has-points .route-clear-map{
    top:calc(72px + env(safe-area-inset-top))!important
  }
}

@media(max-width:390px){
  .route-preview-card{gap:10px 11px;padding:13px}
  .route-preview-heading>strong{font-size:15px}
  .route-preview-switches{gap:6px}
}

/* Keep the mobile search pill stable when the logo becomes a back button. */
@media(max-width:900px){
  .app-shell.search-mode[data-active-nav="route"] .topbar.search-overlay{
    position:absolute
  }
  .app-shell.search-mode[data-active-nav="route"] .topbar.search-overlay .app-search-bar{
    position:relative;
    width:100%
  }
  .app-shell.search-mode[data-active-nav="route"] .topbar.search-overlay .mobile-search-back{
    position:absolute;
    z-index:1;
    top:5px;
    left:0;
    width:50px;
    height:42px;
    background:transparent
  }
  .app-shell.search-mode[data-active-nav="route"] .topbar.search-overlay .global-search{
    margin-left:50px
  }
}

/* Report panels own their navigation; map-level close controls must never sit above them. */
.app-shell.panel-open .focus-exit.close-focus,
.app-shell.panel-open .route-clear-map{display:none!important}

.station-price-heading{
  margin:26px 0 10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px
}
.station-price-heading .section-title{margin:0}
.explore-badge.access{background:#edf4ff;color:var(--blue)}
.explore-area-filter{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid #edf0f2
}
.explore-household-filter{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid #edf0f2
}
.explore-filter-note{
  margin:7px 0 0;
  color:#7b8793;
  font-size:10px;
  line-height:1.45
}

@media(max-width:900px){
  .explore-budget>div:first-child{align-items:flex-start}
  .explore-budget output{
    max-width:64%;
    font-size:17px;
    line-height:1.25;
    text-align:right
  }
  .explore-budget-range{
    height:48px;
    margin-top:5px;
    touch-action:pan-y
  }
  .explore-budget-range::before{height:8px}
  .explore-budget-range input[type="range"]{
    height:48px;
    touch-action:pan-y
  }
  .explore-budget-range input[type="range"]::-webkit-slider-runnable-track{height:8px}
  .explore-budget-range input[type="range"]::-webkit-slider-thumb{
    width:40px;
    height:40px;
    margin-top:-16px;
    border-width:8px
  }
  .explore-budget-range input[type="range"]::-moz-range-track{height:8px}
  .explore-budget-range input[type="range"]::-moz-range-thumb{
    width:40px;
    height:40px;
    border-width:8px
  }
  .explore-budget-scale{margin-top:-5px}
}
.list-sort-pills{
  display:flex;
  gap:7px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch
}
.list-sort-pills::-webkit-scrollbar{display:none}
.list-sort-pills button{
  flex:0 0 auto;
  min-height:34px;
  padding:0 12px;
  border:1px solid #d9e0e7;
  border-radius:999px;
  background:#fff;
  color:#66727f;
  font-size:10px;
  font-weight:850;
  white-space:nowrap
}
.list-sort-pills button.is-active{
  border-color:var(--ink);
  background:var(--ink);
  color:#fff
}
.list-sort-pills button:focus-visible{
  outline:2px solid rgba(23,105,224,.25);
  outline-offset:2px
}
.explore-sort-pills{margin:0 0 12px}
.station-sort-pills{margin:0 0 10px}

@media(max-width:900px){
  .detail-panel-content:has(.station-price-list){
    padding-bottom:calc(72px + var(--mobile-nav-reserve))!important
  }
  .station-price-heading{align-items:flex-end}
  .station-price-heading .section-title{max-width:none}
  .list-sort-pills{
    margin-right:-17px;
    padding-right:17px
  }
  .explore-compare-fab{padding:0 14px;font-size:13px}
}

/* Report account */
.settings-section-label{margin:28px 0 9px;color:#6b7883;font-size:10px;font-weight:850;letter-spacing:.04em}
.settings-section-label-master{color:#4d6f98}
.settings-list{margin-top:0;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}
.settings-row{box-sizing:border-box;width:100%;min-width:0;min-height:56px;padding:9px 13px;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--ink);display:flex;align-items:center;gap:11px;text-align:left;font:inherit;text-decoration:none}
.settings-list>.settings-row:last-child,.settings-list>.settings-row-actions:last-child .settings-row:last-child{border-bottom:0}
.settings-row-button{cursor:pointer}
.settings-row-button:hover{background:#f7fafc}
.settings-row-button:focus-visible{outline:2px solid rgba(47,112,199,.35);outline-offset:-2px}
.settings-row-icon{width:22px;height:22px;flex:0 0 22px;color:#587089;display:grid;place-items:center}
.settings-row-icon svg{width:21px;height:21px}
.settings-row-copy{min-width:0;flex:1;display:block}
.settings-row-copy strong,.settings-row-copy small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.settings-row-copy strong{font-size:11px;line-height:1.35}
.settings-row-copy small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.35}
.settings-row-value{max-width:34%;overflow:hidden;color:#71808c;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:750}
.settings-row-chevron{width:17px;height:17px;flex:0 0 17px;color:#99a6b0}
.settings-row-actions{display:grid}
.settings-row-actions .settings-row{padding-left:46px}
.settings-row-danger{color:#ad433c}
.settings-row-danger .settings-row-chevron{color:#c58079}
.settings-row-master{background:#f8fbff}
.settings-row-master .settings-row-icon{color:#376da6}
.settings-master-badge{display:inline-flex;margin-left:5px;padding:2px 5px;border:1px solid #bdd3eb;border-radius:999px;background:#edf5fd;color:#33699f;font-size:7px;font-style:normal;font-weight:900;letter-spacing:.08em;line-height:1;vertical-align:2px}
.settings-master-review .report-order-history{padding:10px 13px;border-top:0;background:#f8fbff}
.settings-master-test-orders .report-order-history{padding:10px 13px;border-top:0;background:#f8fbff}
.settings-row-management-action{min-height:36px;padding:0 10px;border:1px solid #d9e3ed;border-radius:7px;background:#fff;color:#56708a;font:inherit;font-size:9px;font-weight:800;cursor:pointer}
.settings-row-management-action:hover{border-color:#b8cde2;background:#f5f9fd;color:#315f8d}
.settings-row-management-action:focus-visible{outline:2px solid rgba(47,112,199,.35);outline-offset:2px}
.settings-info-list .settings-row{min-height:52px}
.settings-home-list{margin-top:10px}
.settings-home-list+.settings-list{margin-top:10px}
.settings-detail-copy,.report-list-page,.customer-report-detail{padding-bottom:calc(28px + env(safe-area-inset-bottom));overflow-x:hidden}
.settings-detail-copy{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;color:#556572;font-size:11px;line-height:1.65}
.settings-detail-copy p{margin:0}
.settings-detail-copy .command{margin-top:14px;display:flex;align-items:center;justify-content:center;text-decoration:none}
.report-order-list{margin-top:18px;padding-top:0;border-top:0}
.report-order-list .report-order-item{border-radius:9px}
.customer-report-detail{margin-top:16px;display:grid;gap:10px;min-width:0}
.customer-report-actions{display:flex;justify-content:flex-end}
.customer-report-actions .consult-secondary{min-height:40px;margin:0;display:flex;align-items:center;gap:7px}
.customer-report-actions svg{width:16px}
.customer-report-status{margin:0;min-height:220px;display:grid;place-items:center;color:var(--muted);font-size:10px;text-align:center}
.customer-report-frame{display:block;width:100%;height:min(72vh,900px);min-height:420px;border:1px solid var(--line);border-radius:10px;background:#fff}
@media(max-width:900px){.app-shell[data-active-nav="settings"] .detail-panel-content{padding-top:calc(24px + env(safe-area-inset-top));padding-bottom:calc(24px + var(--mobile-nav-reserve) + env(safe-area-inset-bottom));overflow-x:hidden}.customer-report-frame{height:calc(100dvh - 250px);min-height:360px}.settings-row{min-height:52px}.settings-row-copy strong{font-size:12px}.settings-row-copy small{font-size:10px}}
@media(max-width:360px){.settings-row{padding-right:10px;padding-left:10px}.settings-row-copy small{font-size:9px}.customer-report-frame{min-height:320px}}
.account-card{margin-top:10px;padding:15px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;display:grid;gap:13px}
.account-card.is-loading{grid-template-columns:22px minmax(0,1fr);align-items:center}
.account-card strong{display:block;font-size:11px}
.account-card p{margin:5px 0 0;color:var(--muted);font-size:9px;line-height:1.6}
.consult-checkout-optional-row{min-height:44px;padding:10px 5px;display:flex;align-items:center;gap:10px;cursor:pointer}
.consult-checkout-optional-row input{width:18px;height:18px;margin:0;flex:0 0 18px;accent-color:var(--blue)}
.consult-checkout-optional-row strong,.consult-checkout-optional-row small{display:block}
.consult-checkout-optional-row strong{font-size:11px}
.consult-checkout-optional-row small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.5}
.account-setting-row{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}
.account-setting-switch{appearance:none;width:42px;height:24px;flex:0 0 42px;margin:0;border:1px solid var(--line);border-radius:999px;background:#d9e0e7;position:relative;cursor:pointer;transition:background .16s,border-color .16s}
.account-setting-switch::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(23,26,31,.2);transition:transform .16s}
.account-setting-switch:checked{border-color:var(--blue);background:var(--blue)}
.account-setting-switch:checked::after{transform:translateX(18px)}
.account-setting-switch:focus-visible{outline:2px solid rgba(47,112,199,.35);outline-offset:2px}
.account-setting-switch:disabled{opacity:.5;cursor:wait}
.report-order-item.is-ready{display:grid;gap:8px}
.report-order-item.is-ready>button:first-child{display:flex;width:100%;border:0;background:transparent;padding:0;text-align:left;align-items:center;justify-content:space-between;gap:10px;font:inherit;color:inherit}
.report-order-item.is-ready>.report-order-open{justify-self:start;min-height:36px;padding:0}
.account-heading{display:flex;align-items:flex-start;gap:10px}
.account-avatar{width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:#e9f2fd;color:var(--blue);display:grid;place-items:center}
.account-avatar svg{width:18px}
.account-report-benefits{padding:10px;border:1px solid #e2e8ee;border-radius:8px;background:#fff;display:grid;grid-template-columns:1fr;gap:8px}
.account-report-benefits button{min-height:40px;padding:0 12px;border:1px solid transparent;border-radius:7px;background:#f5f8fb;color:#5d6b76;display:flex;align-items:center;justify-content:center;gap:7px;font-size:9px;font-weight:800;line-height:1;cursor:pointer}
.account-report-benefits button:hover{border-color:#c9dbef;background:#edf4fb;color:#2f5f93}
.account-report-benefits button.is-active{border-color:#b9d2ed;background:#e8f2fd;color:#1f62ac;box-shadow:inset 0 0 0 1px rgba(47,112,199,.05)}
.account-report-benefits svg{width:15px;height:15px;flex:0 0 15px;color:#2f70c7}
.account-actions{display:grid;grid-template-columns:1fr;align-items:center;gap:8px}
.account-actions .command{margin:0}
.text-danger{padding:8px;border:0;background:transparent;color:#b44942;font-size:9px;font-weight:800}
.text-danger:disabled{opacity:.45}
.account-management-title{margin-top:32px}
.account-danger-zone{margin-top:10px;padding:15px;border:1px solid #eadfdd;border-radius:10px;background:#fffafa;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px}
.account-danger-zone strong{display:block;color:#4a3836;font-size:10px}
.account-danger-zone p{margin:5px 0 0;color:#8a706c;font-size:8px;line-height:1.55}
.account-danger-zone .text-danger{min-height:36px;padding:0 11px;border:1px solid #dfc5c1;border-radius:8px;background:#fff;color:#ad433c}
.social-login{width:100%;min-height:48px;padding:0 14px;border:1px solid transparent;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;font-weight:850}
.social-login small{font-size:8px;font-weight:750;opacity:.72}
.social-login.kakao{background:#fee500;color:rgba(0,0,0,.85);box-shadow:0 2px 8px rgba(23,26,31,.08)}
.social-login.kakao:hover{background:#fee500;box-shadow:0 3px 12px rgba(23,26,31,.14)}
.kakao-login-icon{width:19px;height:19px;flex:0 0 19px;fill:#000}
.social-login:disabled{filter:grayscale(.7);opacity:.48;cursor:not-allowed}

/* Consultation beta */
.app-shell[data-active-nav="consult"]{--panel:min(760px,calc(100vw - var(--nav)))}
.app-shell[data-active-nav="consult"] .detail-panel-content{padding:0 0 64px;background:#f6f8fa}
.consult-home,.consult-form-page{width:100%;max-width:680px;margin:0 auto}
.consult-result{width:100%;max-width:720px;margin:0 auto}
.consult-hero{padding:42px 42px 34px;background:linear-gradient(145deg,#fff 0%,#f5f9ff 62%,#edf4ff 100%);border-bottom:1px solid #dce4ec}
.consult-beta{display:flex;align-items:center;gap:7px;color:#3d6698;font-size:9px;font-weight:950;letter-spacing:.12em}
.consult-beta span{width:7px;height:7px;border-radius:50%;background:#2f7ae5;box-shadow:0 0 0 5px rgba(47,122,229,.1)}
.consult-hero .panel-eyebrow{margin-top:26px}
.consult-hero .panel-title{font-size:38px;line-height:1.08;letter-spacing:-.055em}
.consult-hero .panel-subtitle{max-width:500px;margin-top:15px;font-size:13px;line-height:1.72}
.consult-hero-answer{margin-top:18px;padding:11px 13px;border-radius:11px;background:rgba(255,255,255,.78);color:#526575;display:flex;align-items:flex-start;gap:8px;font-size:10px;line-height:1.55}
.consult-hero-answer svg{flex:0 0 auto;width:16px;height:16px;margin-top:1px;color:#238b57}
.consult-hero-answer strong{color:#1e2933}
.consult-order-flow{margin-top:16px;padding:13px;border:1px solid #d8e3ef;border-radius:13px;background:rgba(255,255,255,.82);display:grid;grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr) 12px minmax(0,1fr) 12px minmax(0,1fr);align-items:center;gap:5px}
.consult-order-flow>div{min-width:0;display:flex;align-items:center;gap:7px}
.consult-order-flow>div>b{width:22px;height:22px;flex:0 0 22px;border-radius:8px;background:#e8f1fc;color:#2f70c7;display:grid;place-items:center;font-size:8px}
.consult-order-flow>div>span,.consult-order-flow strong,.consult-order-flow small{display:block;min-width:0}
.consult-order-flow strong{font-size:9px;line-height:1.25;white-space:nowrap}
.consult-order-flow small{margin-top:2px;color:#7b8792;font-size:7px;line-height:1.25;white-space:nowrap}
.consult-order-flow>svg{width:12px;height:12px;color:#9aa9b7}
.consult-price{margin:26px 0 14px;padding:13px 15px;border:1px solid #d8e3ef;border-radius:12px;background:rgba(255,255,255,.82);display:flex;align-items:center;gap:8px}
.consult-price span{color:#788593;font-size:10px;font-weight:750}
.consult-price strong{font-size:18px;display:flex;align-items:baseline;gap:5px}
.consult-price strong small{color:#6f7d88;font-size:8px;font-weight:850;letter-spacing:0}
.consult-price-offer{min-width:0;display:flex;align-items:baseline;gap:16px;white-space:nowrap}
.consult-price-row{display:flex;align-items:baseline;gap:7px;white-space:nowrap}
.consult-price-row.is-list{padding-right:16px;border-right:1px solid #d8e3ef}
.consult-price-row>span{font-size:10px!important;font-weight:900!important;white-space:nowrap}
.consult-price-row>span small{font-size:8px;font-weight:800}
.consult-price-row.is-list>span{color:#65727d!important}
.consult-price-row.is-launch>span{color:#2f70c7!important}
.consult-price-offer del,.consult-price-offer strong{font-size:20px;line-height:1;letter-spacing:-.04em;white-space:nowrap}
.consult-price-offer del{color:#7c8790;text-decoration-thickness:1.5px}
.consult-price-offer strong{color:#18242e}
.consult-price-offer strong small{margin-left:4px;color:#6f7d88;font-size:8px;font-weight:850;letter-spacing:0}
.consult-price>.consult-price-offer{flex:1}
.consult-primary,.consult-secondary{width:100%;min-height:52px;padding:0 17px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:900}
.consult-primary{border:1px solid #16202a;background:#16202a;color:#fff;box-shadow:0 10px 24px rgba(22,32,42,.14)}
.consult-primary:hover{background:#27333e}
.consult-primary:disabled{opacity:.64}
.consult-primary svg,.consult-secondary svg{width:17px;height:17px}
.consult-secondary{margin-top:9px;border:1px solid #d3dce5;background:#fff;color:#26323d}
.consult-cta-note{margin:10px 0 0;color:#76838e;display:flex;align-items:center;justify-content:center;gap:6px;font-size:9px;line-height:1.45;text-align:center}
.consult-cta-note svg{width:13px;height:13px;flex:0 0 13px;color:#607487}
.consult-service-period{margin:10px 0 12px;padding:9px 12px;border:1px solid #d8e3ef;border-radius:11px;background:#f7faff;color:#536575;display:flex;align-items:center;justify-content:center;gap:7px;font-size:9px;line-height:1.45;text-align:center}
.consult-service-period svg{width:14px;height:14px;flex:0 0 14px;color:#2f70c7}
.consult-service-period strong{color:#172a3a}
.consult-proof{padding:0 42px;background:#fff;display:grid;grid-template-columns:repeat(2,1fr);border-bottom:1px solid #e1e7ec}
.consult-proof div{padding:21px 14px;border-right:1px solid #e7ebef;text-align:center}
.consult-proof div:first-child{padding-left:0}
.consult-proof div:last-child{padding-right:0;border-right:0}
.consult-proof strong,.consult-proof span{display:block}
.consult-proof strong{font-size:18px}
.consult-proof span{margin-top:4px;color:#7b8690;font-size:9px}
.consult-section{padding:38px 42px 12px}
.consult-kicker{margin:0;color:#2f70c7;font-size:10px;font-weight:900}
.consult-section h2{margin:7px 0 24px;font-size:24px;line-height:1.28;letter-spacing:-.035em}
.consult-pain-section{padding-bottom:34px;background:#fff}
.consult-pain-grid{display:grid;gap:9px}
.consult-pain-grid article{padding:15px;border:1px solid #e0e6eb;border-radius:13px;background:#fbfcfd;display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px}
.consult-pain-grid article>svg{width:19px;height:19px;margin:2px auto 0;color:#bf644f}
.consult-pain-grid strong{font-size:12px}
.consult-pain-grid p{margin:5px 0 0;color:#74808b;font-size:10px;line-height:1.58}
.consult-value-section{padding-top:38px}
.consult-decision-tension{margin:16px 0 14px;padding:16px;border:1px solid #cbdbea;border-radius:13px;background:#f2f7fc;display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px}
.consult-decision-tension>svg{width:21px;height:21px;color:#2f70c7}
.consult-decision-tension strong{font-size:11px;line-height:1.5}
.consult-decision-tension p{margin:5px 0 0;color:#677784;font-size:9px;line-height:1.6}
.consult-process{display:grid;gap:9px}
.consult-process article{padding:15px;border:1px solid #e0e6eb;border-radius:13px;background:#fff;display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px}
.consult-process article>b{width:27px;height:27px;border-radius:9px;background:#edf4ff;color:#2f70c7;display:grid;place-items:center;font-size:9px}
.consult-process strong{font-size:12px}
.consult-process p{margin:5px 0 0;color:#74808b;font-size:10px;line-height:1.55}
.consult-sample{margin:20px 42px 8px;padding:20px;border:1px solid #dbe2e8;border-radius:16px;background:#fff;box-shadow:0 12px 30px rgba(30,48,66,.06)}
.consult-sample>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.consult-sample>header div span,.consult-sample>header div strong{display:block}
.consult-sample>header div span{color:#2f70c7;font-size:8px;font-weight:950;letter-spacing:.11em}
.consult-sample>header div strong{margin-top:5px;font-size:17px}
.consult-sample>header>b{padding:5px 8px;border-radius:999px;background:#eff4f8;color:#64717d;font-size:9px}
.consult-sample>p{margin:13px 0 16px;color:#64717d;font-size:10px;line-height:1.65}
.consult-sample .consult-sample-condition{margin:15px 0 10px;padding:9px 11px;border-radius:9px;background:#f2f6fa;color:#647381;display:flex;align-items:center;gap:7px;font-size:9px}
.consult-sample-condition svg{width:14px;height:14px;flex:0 0 14px;color:#2f70c7}
.consult-sample-verdict{padding:15px;border:1px solid #cdddea;border-radius:12px;background:#f5f9fd}
.consult-sample-verdict>span{color:#2f70c7;font-size:8px;font-weight:900}
.consult-sample-verdict>strong{display:block;margin-top:6px;color:#21313e;font-size:12px;line-height:1.5}
.consult-sample-verdict>p{margin:7px 0 0;color:#627381;font-size:9px;line-height:1.6}
.consult-sample-candidates{margin-top:10px;border:1px solid #e0e6eb;border-radius:12px;background:#fff;overflow:hidden}
.consult-sample-candidates article{padding:13px;display:grid;grid-template-columns:25px minmax(0,1fr);gap:9px;border-bottom:1px solid #e7ebef}
.consult-sample-candidates article:last-child{border-bottom:0}
.consult-sample-candidates article>b{width:24px;height:24px;border-radius:8px;background:#1f3446;color:#fff;display:grid;place-items:center;font-size:8px}
.consult-sample-candidates article.is-hold{background:#fafbfc}
.consult-sample-candidates article.is-hold>b{background:#dfe5ea;color:#687681}
.consult-sample-candidates strong{font-size:10px}
.consult-sample-candidates em{margin-left:5px;padding:3px 5px;border-radius:999px;background:#e8f5ec;color:#168348;font-size:7px;font-style:normal;vertical-align:1px}
.consult-sample-candidates .is-hold em{background:#f0f2f4;color:#6d7882}
.consult-sample-candidates p{margin:4px 0 0;color:#63717c;font-size:9px;line-height:1.5}
.consult-sample-candidates small{display:block;margin-top:4px;color:#8a959e;font-size:8px;line-height:1.4}
.consult-deliverables{margin:16px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.consult-deliverables span{min-height:42px;padding:10px;border:1px solid #e2e7eb;border-radius:9px;background:#fafbfc;color:#4c5964;display:flex;align-items:center;gap:7px;font-size:9px}
.consult-deliverables svg{width:15px;height:15px;color:#2f70c7}
.consult-deliverables b{font-weight:850}
.consult-sample-metrics{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #e1e7ec;border-radius:10px;overflow:hidden}
.consult-sample-metrics span{padding:11px;border-right:1px solid #e1e7ec}
.consult-sample-metrics span:last-child{border-right:0}
.consult-sample-metrics small,.consult-sample-metrics strong{display:block}
.consult-sample-metrics small{color:#89939d;font-size:8px}
.consult-sample-metrics strong{margin-top:4px;font-size:10px}
.consult-sample-lock{margin-top:13px;padding:10px;border-radius:9px;background:#f5f7f9;color:#687580;display:flex;align-items:flex-start;gap:8px;font-size:9px;line-height:1.55}
.consult-sample-lock svg{flex:0 0 auto;width:14px;height:14px;margin-top:1px}
.consult-bottom-cta{margin-top:15px}
.consult-sample>.consult-cta-note{margin:10px 0 0;color:#76838e;font-size:9px;line-height:1.45}
.consult-preview-section{padding-bottom:0}
.consult-preview-section h2{margin-bottom:12px}
.consult-preview-lead{margin:0;color:#64717d;font-size:13px;line-height:1.72}
.consult-preview-chapter{margin:24px 0 10px;color:#21313e;font-size:14px;line-height:1.35}
.consult-preview-chapter span{color:#2f70c7}
.consult-preview-intro{margin:0 0 13px;color:#64717d;font-size:10px;line-height:1.65}
.consult-preview-candidates article>b{width:24px;height:24px;border-radius:8px;background:#16202a;color:#fff;display:grid;place-items:center;font-size:8px}
.consult-preview-candidates article>div{align-self:center}
.consult-form-page{min-height:100%;padding:34px 42px 60px;background:#fff}
.account-auth-gate{width:100%;max-width:none;min-height:100%;margin:0;padding:clamp(48px,10vh,112px) clamp(32px,6vw,72px) calc(clamp(48px,10vh,112px) + env(safe-area-inset-bottom));background:#fff;display:grid;place-items:center}
.account-auth-content{width:min(100%,420px);display:flex;flex-direction:column;align-items:center;text-align:center}
.account-auth-logo{width:56px;height:56px;margin:0;display:block}
.account-auth-wordmark{margin:14px 0 0;color:#17212b;font-size:20px;font-weight:900;letter-spacing:-.06em;line-height:1}
.account-auth-login-box{width:100%;margin-top:34px;display:grid}
.account-auth-login,.account-auth-loading{width:100%;margin:0}
.account-auth-loading{min-height:50px;display:grid;justify-items:center;align-content:center;gap:8px;color:#6f7e89;font-size:9px;font-weight:800}
.account-auth-loading .ui-spinner{width:20px;height:20px;min-width:20px;min-height:20px;flex:0 0 20px;aspect-ratio:1/1}
.account-auth-loading p{margin:0}
.consult-form-top-actions{margin:0 0 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.consult-form-top-actions .context-back{margin:0}
.consult-form-top-actions .context-back,.consult-form-top-actions .consult-step-forward{font-size:13px}
.consult-step-forward{min-height:34px;padding:0 4px;border:0;background:transparent;color:#2f70c7;display:flex;align-items:center;gap:6px;font-size:10px;font-weight:850;white-space:nowrap}
.consult-step-forward svg{width:15px;height:15px}
.consult-step-forward[hidden]{display:none}
.consult-survey-progress{margin-top:24px}
.consult-survey-progress>strong{display:block;color:#46627c;font-size:9px;font-weight:900}
.consult-survey-progress>span{height:5px;margin-top:9px;border-radius:999px;background:#e7edf2;display:block;overflow:hidden}
.consult-survey-progress>span>i{width:var(--consult-progress);height:100%;border-radius:inherit;background:#2f70c7;display:block;transition:width .25s ease}
.consult-form-heading{margin:8px 0 30px}
.consult-form-heading .panel-eyebrow{margin-top:24px}
.consult-form-heading .panel-title{font-size:31px;letter-spacing:-.045em}
.consult-form-heading .panel-subtitle{font-size:11px}
.consult-form{display:grid;gap:18px}
.consult-form [hidden]{display:none!important}
.consult-form fieldset{margin:0;padding:20px;border:1px solid #dee5ea;border-radius:15px;background:#fbfcfd}
.consult-form fieldset[hidden]{display:none}
.consult-form legend{padding:0 7px 0 0;display:flex;align-items:center;gap:9px;color:#202a33;font-size:13px;font-weight:900}
.consult-form legend b{width:25px;height:25px;border-radius:8px;background:#16202a;color:#fff;display:grid;place-items:center;font-size:10px}
.consult-choice-grid{margin-top:15px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.consult-choice-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.consult-choice-grid.districts{grid-template-columns:1fr}
.consult-choice{position:relative;min-width:0;min-height:64px;padding:11px;border:1px solid #d9e1e8;border-radius:11px;background:#fff;display:flex;align-items:center;gap:9px;cursor:pointer}
.consult-choice:hover{border-color:#9eb9da}
.consult-choice:has(input:checked){border-color:#2f70c7;background:#f0f6ff;box-shadow:0 0 0 2px rgba(47,112,199,.08)}
.consult-choice input{flex:0 0 auto;width:15px;height:15px;accent-color:#2f70c7}
.consult-choice span{min-width:0}
.consult-choice strong,.consult-choice small{display:block}
.consult-choice strong{font-size:10px}
.consult-choice small{margin-top:3px;color:#7a8792;font-size:8px;line-height:1.35}
.consult-choice.compact{min-height:60px}
.consult-priority-grid{counter-reset:consult-priority}
.consult-priority-heading{display:flex;align-items:center;justify-content:space-between;gap:10px 14px}
.consult-priority-heading>span{min-width:0}
.consult-priority-heading>small{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#edf3f8;color:#5f7180;font-size:8px;line-height:1;white-space:nowrap}
.consult-priority-choice{display:grid;grid-template-columns:15px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px}
.consult-priority-choice:has(input:checked){border-color:#216bc5;background:#edf5ff;box-shadow:0 0 0 2px rgba(33,107,197,.1)}
.consult-priority-rank{position:static;min-width:46px;height:28px;padding:0 8px;border-radius:999px;background:#1769c5;color:#fff;display:flex;align-items:center;justify-content:center;transform:none;font-size:9px;line-height:1;font-weight:950;white-space:nowrap;box-shadow:0 4px 10px rgba(23,105,197,.18)}
.consult-priority-rank[hidden]{display:none!important}
.consult-field-grid{margin-top:15px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.consult-field-grid>[data-transit-conditions],.consult-field-grid>[data-driving-custom-wrap]{grid-column:1/-1}
.consult-field-grid [data-consult-custom-field]{display:grid;gap:6px}
.consult-field-grid label,.consult-text-field{display:grid;gap:6px;color:#5e6a75;font-size:9px;font-weight:850}
.consult-field-grid select,.consult-text-field input,.consult-text-field textarea{width:100%;border:1px solid #d6dee5;border-radius:9px;background:#fff;color:#202a33;font:inherit;outline:0}
.consult-field-grid select,.consult-text-field input{height:44px;padding:0 11px}
.consult-range-field{display:grid;gap:6px;color:#5e6a75;font-size:9px;font-weight:850}
.consult-range-field>div{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:7px}
.consult-range-field select{width:100%;height:44px;padding:0 9px;border:1px solid #d6dee5;border-radius:9px;background:#fff;color:#202a33;font:inherit;outline:0}
.consult-range-field>div>b{color:#9aa4ad;font-size:11px}
.consult-range-field>small{color:#8a949e;font-size:8px;font-weight:650;line-height:1.45}
.consult-range-field select:focus{border-color:#2f70c7;box-shadow:0 0 0 3px rgba(47,112,199,.09)}
.consult-text-field{margin-top:14px}
.consult-text-field>span{color:#35424d;font-size:13px;font-weight:900;line-height:1.35}
.consult-text-field>span small{font-size:8px}
.consult-text-field textarea{padding:11px;resize:vertical;line-height:1.6}
.consult-field-grid select:focus,.consult-text-field input:focus,.consult-text-field textarea:focus{border-color:#2f70c7;box-shadow:0 0 0 3px rgba(47,112,199,.09)}
.consult-text-field span small{color:#9aa4ad;font-weight:700}
.consult-entity-picker{position:relative;margin-top:14px;display:grid;gap:6px}
.consult-entity-label,.consult-candidate-heading span{color:#5e6a75;font-size:9px;font-weight:850}
.consult-entity-label small,.consult-candidate-heading small{color:#9aa4ad;font-weight:700}
.consult-entity-control{min-height:48px;border:1px solid #d6dee5;border-radius:10px;background:#fff;display:grid;grid-template-columns:20px minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:0 7px 0 12px}
.consult-entity-control:focus-within{border-color:#2f70c7;box-shadow:0 0 0 3px rgba(47,112,199,.09)}
.consult-entity-control>svg{width:17px;color:#7a8792}
.consult-entity-control input{min-width:0;height:44px;border:0;background:transparent;color:#202a33;font-size:11px;font-weight:750;outline:0}
.consult-entity-control button{height:34px;padding:0 10px;border:1px solid #d8e0e7;border-radius:8px;background:#f8fafb;color:#31404c;display:flex;align-items:center;justify-content:center;gap:5px;font-size:9px;font-weight:850}
.consult-entity-control button svg{width:14px}
.consult-entity-control .consult-entity-clear{display:none;width:34px;padding:0;color:#74818c}
.consult-entity-picker.has-selection .consult-entity-control .consult-entity-clear{display:flex}
.consult-entity-results{position:absolute;z-index:14;top:70px;left:0;right:0;max-height:290px;border:1px solid #d6dee5;border-radius:10px;background:#fff;box-shadow:0 12px 28px rgba(31,42,52,.16);overflow:auto}
.consult-entity-results[hidden]{display:none}
.consult-entity-results>button{width:100%;min-height:62px;padding:10px 12px;border:0;border-bottom:1px solid #e7ebef;background:#fff;text-align:left;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:9px}
.consult-entity-results>button:hover,.consult-entity-results>button:focus-visible{background:#edf4ff;outline:0}
.consult-entity-results>button>svg{width:17px;color:#2f70c7}
.consult-entity-results strong,.consult-entity-results small{display:block}
.consult-entity-results strong{font-size:11px}.consult-entity-results small{margin-top:4px;color:#7d8994;font-size:8px;line-height:1.45}
.consult-entity-results>p{margin:0;padding:20px;color:#7d8994;font-size:10px;text-align:center}
.consult-entity-meta{min-height:28px;padding:7px 9px;border-radius:8px;background:#f0f5fa;color:#4d5e6c;display:flex;align-items:center;gap:6px;font-size:8px;font-weight:700;line-height:1.45}
.consult-entity-meta[hidden]{display:none}
.consult-entity-meta svg{width:13px;flex:0 0 auto;color:#2f70c7}
.consult-money-input{height:44px;border:1px solid #d6dee5;border-radius:9px;background:#fff;display:flex;align-items:center;gap:8px;padding:0 11px}
.consult-money-input:focus-within{border-color:#2f70c7;box-shadow:0 0 0 3px rgba(47,112,199,.09)}
.consult-money-input input{min-width:0;width:100%;height:auto;flex:1;padding:0;border:0;border-radius:0;background:transparent;color:#202a33;font:inherit;outline:0;box-shadow:none}
.consult-money-input input:focus{border:0;box-shadow:none}
.consult-money-input b{flex:0 0 auto;color:#65727d;font-size:9px}
.consult-money-readable{min-width:100px;height:28px;padding-left:10px;border-left:1px solid #e1e7ed;color:#286bc1;display:flex;align-items:center;justify-content:flex-end;font-size:10px;font-weight:900;letter-spacing:-.02em;white-space:nowrap}
.consult-money-readable.is-empty{color:#a0a9b1;font-size:8px;font-weight:750;letter-spacing:0}
.consult-current-home-details{margin-top:10px;align-items:start}
.consult-current-home-details label{align-content:start}
.consult-money-help{margin:7px 0 0;color:#8a949e;font-size:8px;font-weight:650;line-height:1.45}
.consult-money-range{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:8px}
.consult-money-range>label{display:grid;gap:6px;color:#5e6a75;font-size:9px;font-weight:850}
.consult-money-range>i{height:44px;color:#9aa4ad;display:grid;place-items:center;font-size:11px;font-style:normal}
.consult-candidate-pickers{margin-top:18px;padding-top:16px;border-top:1px dashed #d8e0e7}
.consult-candidate-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.consult-candidate-heading span{color:#35424d;font-size:13px;font-weight:900;line-height:1.35}
.consult-candidate-pickers>p{margin:7px 0 0;color:#7d8994;font-size:9px;line-height:1.55}
.consult-field-help{margin:8px 0 0;color:#7b8792;font-size:9px;line-height:1.5}
.consult-must-improve{margin:0 0 18px;padding:0 0 18px;border-bottom:1px dashed #d8e0e7}
.consult-must-improve .consult-question-label{margin-top:0}
.consult-form-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:9px}
.consult-form-actions .consult-primary{width:100%;margin:0}
.consult-form-actions>[hidden]{display:none}
.consult-submit-note{margin:0;color:#8a949e;font-size:8px;text-align:center}
.consult-result-loading,.consult-result-error{min-height:70vh;padding:44px;display:grid;align-content:center;justify-items:center;text-align:center}
.consult-result-error h1{margin:14px 0 0;font-size:20px}
.consult-result-error p{max-width:320px;margin:8px 0 20px;color:#74808b;font-size:10px;line-height:1.6}
.consult-result-error>svg{width:34px;height:34px;color:#dc5146}
.consult-result{padding:34px 42px 60px;background:#f7f9fb}
.consult-result-hero{padding:24px;border-radius:17px;background:linear-gradient(145deg,#18242f,#263d50);color:#fff;box-shadow:0 15px 34px rgba(24,36,47,.18)}
.consult-result-label{color:#a8cdf9;display:flex;align-items:center;gap:6px;font-size:9px;font-weight:900}
.consult-result-label svg{width:14px;height:14px}
.consult-result-hero h1{margin:15px 0 0;font-size:27px;letter-spacing:-.045em}
.consult-result-hero p{max-width:510px;margin:9px 0 0;color:#d4dde5;font-size:11px;line-height:1.65}
.consult-result-filters{margin-top:18px;display:flex;flex-wrap:wrap;gap:6px}
.consult-result-filters span{padding:6px 9px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.08);font-size:8px;font-weight:800}
.consult-result-summary{margin-top:12px;border:1px solid #dfe6ec;border-radius:13px;background:#fff;display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden}
.consult-result-summary div{padding:14px;border-right:1px solid #e4e9ed}
.consult-result-summary div:last-child{border-right:0}
.consult-result-summary span,.consult-result-summary strong{display:block}
.consult-result-summary span{color:#87919a;font-size:8px}
.consult-result-summary strong{margin-top:5px;font-size:13px}
.consult-result-notice{margin-top:12px;padding:11px 12px;border-radius:10px;background:#edf3f8;color:#60707c;display:flex;align-items:flex-start;gap:8px;font-size:9px;line-height:1.55}
.consult-result-notice svg{flex:0 0 auto;width:14px;height:14px;margin-top:1px}
.consult-result-section{margin-top:28px}
.consult-result-section>header{margin-bottom:12px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.consult-result-section>header span{color:#2f70c7;font-size:8px;font-weight:950;letter-spacing:.1em}
.consult-result-section>header h2{margin:4px 0 0;font-size:20px}
.consult-result-section>header small{color:#82909c;font-size:8px}
.consult-result-list{display:grid;gap:10px}
.consult-result-candidate{position:relative;padding:18px 18px 16px 52px;border:1px solid #dce4ea;border-radius:15px;background:#fff;box-shadow:0 8px 22px rgba(30,48,66,.045)}
.consult-rank{position:absolute;top:18px;left:16px;width:25px;height:25px;border-radius:8px;background:#16202a;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:900}
.consult-result-candidate>header{display:flex;justify-content:space-between;gap:12px}
.consult-result-candidate>header strong,.consult-result-candidate>header small{display:block}
.consult-result-candidate>header strong{font-size:13px}
.consult-result-candidate>header small{max-width:320px;margin-top:4px;color:#7e8993;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.consult-result-candidate>header>b{font-size:14px;white-space:nowrap}
.consult-result-meta{margin-top:10px;display:flex;flex-wrap:wrap;gap:5px}
.consult-result-meta span{padding:4px 7px;border-radius:999px;background:#f0f3f6;color:#67737e;font-size:8px}
.consult-time-flow{margin-top:13px;padding:10px 12px;border-radius:10px;background:#f7f9fb;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}
.consult-time-flow>span{text-align:center}
.consult-time-flow small,.consult-time-flow strong{display:block}
.consult-time-flow small{color:#8a949d;font-size:8px}
.consult-time-flow strong{margin-top:3px;font-size:13px}
.consult-time-flow>svg{width:15px;height:15px;color:#8b96a0}
.consult-result-candidate>p{margin:11px 0 0;color:#52616d;display:flex;align-items:flex-start;gap:6px;font-size:9px;line-height:1.5}
.consult-result-candidate>p svg{flex:0 0 auto;width:14px;height:14px;color:#269557}
.consult-paid-preview{margin-top:30px;padding:20px;border:1px solid #cfdce7;border-radius:16px;background:#fff}
.consult-paid-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.consult-paid-heading span{color:#2f70c7;font-size:8px;font-weight:900}
.consult-paid-heading h2{margin:5px 0 0;font-size:19px}
.consult-paid-heading>b{padding:5px 8px;border-radius:999px;background:#edf3f8;color:#64727e;font-size:8px}
.consult-paid-grid{margin-top:17px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.consult-paid-grid>div{padding:13px;border:1px solid #e1e7ec;border-radius:11px;display:grid;grid-template-columns:21px 1fr;gap:3px 8px}
.consult-paid-grid svg{grid-row:1/3;width:18px;height:18px;color:#2f70c7}
.consult-paid-grid strong{font-size:10px}
.consult-paid-grid span{color:#7c8791;font-size:8px;line-height:1.45}
.consult-paid-preview>p{margin:13px 0 0;padding-top:12px;border-top:1px solid #e6eaee;color:#7a8690;display:flex;gap:7px;font-size:8px}
.consult-paid-preview>p svg{width:14px;height:14px}
.consult-result-actions{margin-top:16px}

/* Consultation decision brief */
.consult-result-loading{width:min(100%,460px);margin:0 auto;text-align:left}
.consult-loading-head{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:14px}
.consult-loading-mark{width:42px;height:42px;border:1px solid #d7e2ec;border-radius:12px;background:#f4f8fc;color:#2f70c7;display:grid;place-items:center}
.consult-loading-mark svg{width:19px;height:19px}
.consult-loading-head small{display:block;margin-bottom:7px;color:#2f70c7;font-size:9px;font-weight:900;letter-spacing:.08em}
.consult-loading-head strong{display:block;color:#20303d;font-size:20px;line-height:1.35;letter-spacing:-.035em}
.consult-loading-head p{min-height:34px;margin:7px 0 0;color:#6f7d88;font-size:11px;line-height:1.55}
.consult-loading-progress{position:relative;width:100%;height:4px;margin:25px 0 13px;border-radius:99px;background:#e5ebf0;overflow:hidden}
.consult-loading-progress span{position:absolute;top:0;bottom:0;left:0;width:34%;border-radius:inherit;background:#2f70c7;animation:consult-loading-sweep 1.65s ease-in-out infinite}
@keyframes consult-loading-sweep{0%{transform:translateX(-115%)}55%{transform:translateX(150%)}100%{transform:translateX(305%)}}
.consult-result-loading ol{width:100%;margin:0;padding:0;border-top:1px solid #e1e7ec;list-style:none}
.consult-result-loading li{min-height:45px;padding:0 2px;border-bottom:1px solid #e1e7ec;color:#98a3ac;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;font-size:10px;transition:color .2s ease}
.consult-result-loading li svg{width:16px;height:16px}
.consult-result-loading li b{color:#2f70c7;font-size:8px}
.consult-result-loading li.is-active{color:#263a4a}
.consult-result-loading li.is-active svg{color:#2f70c7}
.consult-loading-note{margin:13px 0 0;color:#87939d;font-size:9px;line-height:1.55}
.consult-report-paper{border:1px solid #dce3e9;border-radius:3px;background:#fff;box-shadow:0 18px 45px rgba(27,43,58,.09);overflow:hidden}
.consult-report-cover{padding:34px 36px 38px;background:linear-gradient(145deg,#17232e 0%,#243d51 100%);color:#fff}
.consult-report-brand,.consult-report-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}
.consult-report-brand strong{font-size:13px;letter-spacing:.08em}
.consult-report-brand span,.consult-report-meta span{color:#a9bbca;font-size:8px;font-weight:850;letter-spacing:.1em}
.consult-report-meta{margin-top:28px;padding-top:12px;border-top:1px solid rgba(255,255,255,.13)}
.consult-report-cover>p{margin:34px 0 0;color:#a8cdf9;font-size:10px;font-weight:900}
.consult-report-cover h1{margin:9px 0 0;font-size:32px;letter-spacing:-.05em}
.consult-report-cover-copy{max-width:540px;margin-top:10px;color:#d8e1e8;font-size:12px;line-height:1.7}
.consult-report-cover .consult-result-filters{margin-top:25px}
.consult-report-chapter{padding:32px 36px;border-bottom:1px solid #e5e9ed}
.consult-chapter-label{margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.consult-chapter-label span{color:#2f70c7;font-size:8px;font-weight:950;letter-spacing:.13em}
.consult-chapter-label b{font-size:17px}
.consult-chapter-intro{margin:-5px 0 18px;color:#697782;font-size:10px;line-height:1.7}
.consult-verdict{padding:22px;border-left:4px solid #2f70c7;border-radius:2px 13px 13px 2px;background:#eef5fc}
.consult-verdict>span{color:#2f70c7;display:flex;align-items:center;gap:6px;font-size:9px;font-weight:900}
.consult-verdict>span svg{width:14px;height:14px}
.consult-verdict h2{margin:12px 0 0;font-size:21px;line-height:1.35;letter-spacing:-.04em}
.consult-verdict-address{display:block;margin-top:6px;color:#6b7f91;font-size:10px;line-height:1.5}
.consult-verdict p{margin:8px 0 0;color:#5e6d79;font-size:11px;line-height:1.7}
.consult-scenarios{margin-top:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.consult-scenario-group{min-width:0;border:1px solid #dfe6eb;border-radius:13px;background:#fff;overflow:hidden}
.consult-scenario-group>header{min-height:84px;padding:14px;display:grid;grid-template-columns:28px 1fr;align-items:start;gap:9px;background:#f4f8fb}
.consult-scenario-group.is-future>header{background:#f5f1fb}
.consult-scenario-group.is-value>header{background:#fff7e9}
.consult-scenario-group>header>svg{width:24px;height:24px;padding:5px;border-radius:8px;background:#fff;color:#2f70c7;box-shadow:0 2px 8px rgba(35,59,81,.08)}
.consult-scenario-group.is-future>header>svg{color:#7452b8}
.consult-scenario-group.is-value>header>svg{color:#b5771f}
.consult-scenario-group>header strong{display:block;font-size:11px}
.consult-scenario-group>header p{margin:5px 0 0;color:#74818c;font-size:8px;line-height:1.45}
.consult-scenario-group>div{padding:0 12px}
.consult-scenario-group article{padding:12px 0;border:0;border-bottom:1px solid #e7ecef;border-radius:0;background:transparent;display:grid;grid-template-columns:22px 1fr;gap:8px}
.consult-scenario-group article:last-child{border-bottom:0}
.consult-scenario-group article>span{width:21px;height:21px;border-radius:7px;background:#edf3f8;color:#426785;display:grid;place-items:center;font-size:7px;font-weight:950}
.consult-scenario-group article strong{display:block;margin:0;font-size:10px;line-height:1.35}
.consult-scenario-group article small{display:block;margin-top:3px;color:#87929b;font-size:7px;line-height:1.4}
.consult-scenario-group article p{margin:5px 0 0;color:#5d6c77;font-size:8px;line-height:1.45}
.consult-brief-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #e0e5e9;border-radius:12px;overflow:hidden}
.consult-brief-grid>div{padding:14px;border-right:1px solid #e4e8ec;border-bottom:1px solid #e4e8ec}
.consult-brief-grid>div:nth-child(3n){border-right:0}
.consult-brief-grid>div:nth-last-child(-n+3){border-bottom:0}
.consult-brief-grid span,.consult-brief-grid strong{display:block}
.consult-brief-grid span{color:#87919a;font-size:8px}
.consult-brief-grid strong{margin-top:5px;font-size:11px}
.consult-report-chapter blockquote{margin:14px 0 0;padding:17px 18px;border:0;border-radius:11px;background:#f5f7f9}
.consult-report-chapter blockquote span{color:#2f70c7;font-size:8px;font-weight:900}
.consult-report-chapter blockquote p{margin:7px 0 0;color:#46545f;font-size:11px;line-height:1.7;white-space:pre-wrap}
.consult-report-chapter blockquote small{display:block;margin-top:8px;color:#7f8b94;font-size:8px}
.consult-weight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}
.consult-weight-grid>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px 12px}
.consult-weight-grid span,.consult-weight-grid b{font-size:9px}
.consult-weight-grid span{color:#66747f}
.consult-weight-grid i{grid-column:1/3;height:5px;border-radius:99px;background:#e8edf1;overflow:hidden}
.consult-weight-grid em{display:block;height:100%;border-radius:inherit;background:#587ea8}
.consult-assumption{margin-top:14px;padding:14px 16px;border:1px solid #dce6ef;border-radius:11px;background:#f3f8fc;display:grid;grid-template-columns:20px 1fr;gap:10px}
.consult-assumption>svg{width:18px;height:18px;color:#2f70c7}
.consult-assumption strong{font-size:10px}
.consult-assumption p{margin:4px 0 0;color:#465866;font-size:9px;line-height:1.55}
.consult-assumption small{display:block;margin-top:4px;color:#7b8994;font-size:8px;line-height:1.5}
.consult-analysis-steps{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.consult-analysis-steps li{min-height:106px;padding:16px;border:1px solid #e0e6eb;border-radius:12px;display:grid;grid-template-columns:30px 1fr;gap:11px;background:#fff}
.consult-analysis-steps li>b{width:30px;height:30px;border-radius:9px;background:#172f43;color:#fff;display:grid;place-items:center;font-size:8px}
.consult-analysis-steps strong{display:block;font-size:11px}
.consult-analysis-steps p{margin:6px 0 0;color:#6f7d88;font-size:9px;line-height:1.65}
.consult-chart-grid{display:grid;gap:14px}
.consult-chart-card{margin-top:18px;padding:18px;border:1px solid #dfe6eb;border-radius:13px;background:#fff}
.consult-chart-grid>.consult-chart-card{margin-top:0}
.consult-chart-card>header{margin-bottom:16px;display:flex;align-items:end;justify-content:space-between;gap:12px}
.consult-chart-card>header span,.consult-chart-card>header strong{display:block}
.consult-chart-card>header span{color:#2f70c7;font-size:8px;font-weight:900}
.consult-chart-card>header strong{margin-top:5px;font-size:13px}
.consult-chart-card>header small{color:#6e7c87;font-size:8px;font-weight:800;text-align:right}
.consult-chart-card>p{margin:13px 0 0;padding-top:10px;border-top:1px solid #edf0f2;color:#818c95;font-size:8px;line-height:1.55}
.consult-funnel-chart{display:grid;gap:9px}
.consult-funnel-chart>div{display:grid;grid-template-columns:125px minmax(0,1fr) 42px 74px;align-items:center;gap:9px}
.consult-funnel-chart span{color:#596975;font-size:8px}
.consult-funnel-chart i{height:16px;border-radius:4px;background:#eef2f5;overflow:hidden}
.consult-funnel-chart em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#9eb9d4,#3e6f9f)}
.consult-funnel-chart strong{font-size:10px;text-align:right}
.consult-funnel-chart small{color:#89949d;font-size:7px;text-align:right}
.consult-chart-legend{margin:-4px 0 14px;display:flex;align-items:center;flex-wrap:wrap;gap:5px 12px;color:#7e8992;font-size:7px}
.consult-chart-legend i{width:13px;height:6px;border-radius:2px;background:#2f70c7}
.consult-chart-legend i.budget{background:#dceaf7}
.consult-chart-legend i.candidate{background:#284e72}
.consult-chart-legend i.route{background:#2f70c7}
.consult-chart-legend i.estimate{background:#9aa9b6}
.consult-chart-legend i.limit{width:2px;height:10px;background:#d66e61}
.consult-range-chart,.consult-bar-chart{display:grid;gap:11px}
.consult-range-chart>div,.consult-bar-chart>div{display:grid;grid-template-columns:132px minmax(0,1fr) 86px;align-items:center;gap:10px}
.consult-range-chart>div>span,.consult-bar-chart>div>span{font-size:8px;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.consult-range-chart>div>span small,.consult-bar-chart>div>span small{display:block;margin-top:2px;color:#87939c;font-size:7px;font-weight:650;white-space:normal;line-height:1.35}
.consult-range-chart section,.consult-bar-chart section{position:relative;height:17px;border-radius:4px;background:#f0f3f5;overflow:hidden}
.consult-range-chart .budget-band{position:absolute;top:0;bottom:0;background:#dceaf7}
.consult-range-chart em{position:absolute;top:4px;height:9px;min-width:5px;border-radius:99px;background:#284e72}
.consult-range-chart strong,.consult-bar-chart strong{text-align:right;font-size:8px}
.consult-bar-chart section>i{position:absolute;z-index:2;top:0;bottom:0;width:2px;background:#d66e61}
.consult-bar-chart em{display:block;height:100%;border-radius:4px;background:#9aa9b6}
.consult-bar-chart em.is-measured{background:#2f70c7}
.consult-bar-chart em.is-over{background:#c26c5f}
.consult-baseline-table{overflow-x:auto}
.consult-funding-plan{margin-bottom:16px;padding:14px;border:1px solid #d9e5ef;border-radius:13px;background:#f6f9fc}
.consult-funding-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:8px}
.consult-funding-summary>div{min-height:58px;padding:10px;border-radius:10px;background:#fff;display:flex;flex-direction:column;justify-content:center;gap:4px}
.consult-funding-summary>div span{color:#71808d;font-size:8px;font-weight:750}
.consult-funding-summary>div strong{color:#1f3446;font-size:12px}
.consult-funding-summary>i{display:none}
.consult-funding-plan>p{margin:9px 1px 0;color:#75818c;font-size:8px;line-height:1.55}
.consult-funding-candidates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:11px}
.consult-funding-candidates article{padding:10px;border:1px solid #e1e7ec;border-radius:10px;background:#fff}
.consult-funding-candidates article>div{display:flex;justify-content:space-between;gap:8px;align-items:start}
.consult-funding-candidates article>div section{min-width:0}
.consult-funding-candidates article strong{font-size:9px}
.consult-funding-candidates article small{display:block;margin-top:3px;color:#7b8994;font-size:7px;line-height:1.35}
.consult-funding-candidates article span{color:#2f70c7;font-size:8px;font-weight:800}
.consult-funding-candidates dl{margin:8px 0 0;display:grid;gap:5px}
.consult-funding-candidates dl div{display:flex;justify-content:space-between;gap:8px}
.consult-funding-candidates dt{color:#75818c;font-size:7px}
.consult-funding-candidates dd{margin:0;color:#2d3b46;font-size:7px;font-weight:800;text-align:right}
.consult-baseline-table table{width:100%;min-width:620px;border-collapse:separate;border-spacing:0;border:1px solid #dde4e9;border-radius:12px;overflow:hidden;font-size:9px}
.consult-baseline-table th,.consult-baseline-table td{padding:12px 10px;border-right:1px solid #e5eaee;border-bottom:1px solid #e5eaee;text-align:center}
.consult-baseline-table tr>*:last-child{border-right:0}
.consult-baseline-table tbody tr:last-child>*{border-bottom:0}
.consult-baseline-table thead th{background:#1d3142;color:#fff;font-size:8px}
.consult-baseline-table thead th strong,.consult-baseline-table thead th small{display:block}
.consult-baseline-table thead th small{margin-top:3px;color:#c4d1db;font-size:7px;font-weight:650;line-height:1.35}
.consult-baseline-table thead th:first-child{text-align:left}
.consult-baseline-table tbody th{background:#f5f7f9;color:#63717d;text-align:left;font-size:8px}
.consult-baseline-table td.is-current{background:#eef5fc;color:#244f75;font-weight:850}
.consult-decision-trail{display:grid;gap:12px}
.consult-decision-trail article{padding:17px;border:1px solid #dfe5ea;border-radius:13px}
.consult-decision-trail article>header{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:center}
.consult-decision-trail article>header>b{width:30px;height:30px;border-radius:9px;background:#172f43;color:#fff;display:grid;place-items:center;font-size:8px}
.consult-decision-trail article>header strong{font-size:12px}
.consult-decision-trail article>header small{display:block;margin-top:3px;color:#6f7e89;font-size:8px;line-height:1.45}
.consult-decision-trail article>header p{margin:2px 0 0;color:#80909a;font-size:8px}
.consult-decision-trail article>div{margin-top:13px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.consult-decision-trail article>div>span{min-height:54px;padding:9px;border-radius:9px;display:grid;grid-template-columns:12px 1fr;align-content:start;gap:4px;color:#38506a;background:#edf5fc;font-size:8px;font-weight:850}
.consult-decision-trail article>div>span.fail{color:#885345;background:#fff1ed}
.consult-decision-trail article>div>span.pending{color:#6e7378;background:#f1f3f5}
.consult-decision-trail article>div svg{width:11px;height:11px}
.consult-decision-trail article>div small{grid-column:1/-1;color:inherit;opacity:.76;font-size:7px;font-weight:650;line-height:1.4}
.consult-decision-trail article>p{margin:11px 0 0;padding-top:10px;border-top:1px solid #edf0f2;color:#697883;font-size:8px;line-height:1.55}
.consult-funnel{margin-top:22px;padding:14px;border:1px solid #e1e6ea;border-radius:12px;background:#fafbfc;display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:7px}
.consult-funnel>div{text-align:center}
.consult-funnel span,.consult-funnel strong{display:block}
.consult-funnel span{color:#87919b;font-size:7px}
.consult-funnel strong{margin-top:4px;font-size:13px}
.consult-funnel>svg{width:14px;height:14px;color:#a3adb5}
.consult-comparison{overflow-x:auto}
.consult-comparison table{width:100%;min-width:560px;border-collapse:collapse;border:1px solid #dde4e9;font-size:9px}
.consult-comparison th,.consult-comparison td{padding:11px 9px;border-bottom:1px solid #e4e9ed;text-align:center}
.consult-comparison thead th{background:#f2f5f7;color:#73808b;font-size:8px}
.consult-comparison th:first-child{text-align:left}
.consult-comparison tbody tr:last-child th,.consult-comparison tbody tr:last-child td{border-bottom:0}
.consult-comparison th strong,.consult-comparison th small{display:block}
.consult-comparison th strong{font-size:9px}
.consult-comparison th small{margin-top:3px;color:#89949d;font-size:7px;font-weight:650}
.consult-comparison td b{font-size:12px;color:#2f70c7}
.consult-comparison>p{margin:9px 0 0;color:#8a949d;font-size:8px;line-height:1.5}
.consult-report-candidate{border:1px solid #dce3e8;border-radius:14px;background:#fff;overflow:hidden}
.consult-report-candidate+article{margin-top:12px}
.consult-report-candidate>header{padding:18px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:start;gap:12px}
.consult-candidate-index{display:grid;justify-items:center;gap:6px}
.consult-candidate-index span{color:#8a959e;font-size:8px;font-weight:900}
.consult-candidate-index svg{width:22px;height:22px;color:#2f70c7}
.consult-report-candidate>header small{color:#2f70c7;font-size:8px;font-weight:900}
.consult-report-candidate>header h3{margin:5px 0 0;font-size:16px}
.consult-report-candidate>header p{margin:4px 0 0;color:#7c8790;font-size:8px}
.consult-score{min-width:50px;text-align:center}
.consult-score strong,.consult-score span{display:block}
.consult-score strong{font-size:22px;color:#203344}
.consult-score span{margin-top:2px;color:#8b959e;font-size:7px}
.consult-candidate-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #e5e9ed;border-bottom:1px solid #e5e9ed;background:#f7f9fa}
.consult-candidate-facts>div{padding:11px;border-right:1px solid #e1e6ea;text-align:center}
.consult-candidate-facts>div:last-child{border-right:0}
.consult-candidate-facts span,.consult-candidate-facts strong{display:block}
.consult-candidate-facts span{color:#87919a;font-size:7px}
.consult-candidate-facts strong{margin-top:4px;font-size:9px}
.consult-candidate-assessment{padding:15px 18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.consult-candidate-assessment>div{padding:12px;border-radius:10px;display:grid;grid-template-columns:16px 1fr;align-items:start;gap:7px}
.consult-candidate-assessment .good{background:#edf8f1;color:#397151}
.consult-candidate-assessment .caution{background:#fff5e9;color:#8b6430}
.consult-candidate-assessment svg{width:15px;height:15px}
.consult-candidate-assessment p{margin:0;font-size:8px;line-height:1.55}
.consult-candidate-assessment p b{display:block;margin-bottom:3px;font-size:8px}
.consult-destination-times{padding:0 18px 17px}
.consult-destination-times>b{display:block;margin-bottom:7px;color:#596873;font-size:8px}
.consult-destination-times>div{min-height:34px;padding:7px 9px;border-top:1px solid #e7ebee;display:grid;grid-template-columns:1fr auto 68px;align-items:center;gap:8px;font-size:8px}
.consult-destination-times>div>span{display:flex;align-items:center;gap:5px;color:#52616d}
.consult-destination-times>div svg{width:12px;height:12px;color:#9ba5ad}
.consult-destination-times>div small{text-align:right;color:#89939c}
.consult-destination-times>div small.improved{color:#218250;font-weight:850}
.consult-destination-times>div .consult-access-detail{grid-column:1/-1;padding:7px 8px;border-radius:7px;background:#f4f7f9;color:#5d6b76;text-align:left;display:flex;align-items:center;gap:6px;line-height:1.45}
.consult-destination-times>div .consult-access-detail svg{flex:0 0 auto;color:#4d6f92}
.consult-destination-times>div .consult-access-detail a{margin-left:auto;color:#2668b2;font-weight:850;text-decoration:none}
.consult-route-diagram{grid-column:1/-1;margin:7px 0 2px;padding:13px 14px 10px;border:1px solid #d9e3ea;border-radius:12px;background:linear-gradient(180deg,#fff,#fbfcfd)}
.consult-route-diagram-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:4px}
.consult-route-diagram-head>div strong,.consult-route-diagram-head>div span{display:block}
.consult-route-diagram-head strong{color:#263b4d;font-size:9px}
.consult-route-diagram-head span{margin-top:4px;color:#7b8893;font-size:7px}
.consult-route-diagram-head a{flex:0 0 auto;padding:5px 8px;border-radius:7px;background:#eef5fc;color:#2668b2;font-size:7px;font-weight:850;text-decoration:none}
.consult-route-map{width:100%;overflow-x:auto;scrollbar-width:thin}
.consult-route-map svg,.consult-destination-times>div .consult-route-map svg{display:block;width:100%;height:auto;overflow:visible}
.consult-route-map text{fill:#485864;font-size:8px;font-weight:800;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}
.consult-route-edge text{fill:#657581;font-size:7px;stroke:#fff;stroke-width:4px}
.consult-route-node text{fill:#263641;font-size:8px;font-weight:900}
.consult-route-node-label{fill:#fff;stroke:#d5dfe6;stroke-width:1}
.consult-route-node.is-endpoint .consult-route-node-label{fill:#f4f8fb;stroke:#c7d6e2}
.consult-route-node text{paint-order:normal;stroke:none}
.consult-route-legend{margin-top:-2px;display:flex;align-items:center;gap:7px 13px;flex-wrap:wrap;color:#78858f;font-size:7px;font-weight:800}
.consult-route-legend span{display:flex;align-items:center;gap:5px}
.consult-route-legend i{width:18px;height:0;border-top:3px solid var(--route-color);border-top-style:solid}
.consult-boundaries{display:grid;gap:8px}
.consult-boundaries>div{padding:13px;border:1px solid #e1e6ea;border-radius:11px;display:grid;grid-template-columns:20px 1fr;gap:9px}
.consult-boundaries svg{width:18px;height:18px;color:#b06d32}
.consult-boundaries p{margin:0;color:#687681;font-size:9px;line-height:1.55}
.consult-boundaries strong{display:block;margin-bottom:3px;color:#303c46;font-size:10px}
.consult-next-actions{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.consult-next-actions li{padding:13px;border:1px solid #e1e6ea;border-radius:11px;display:grid;grid-template-columns:28px 1fr;gap:10px}
.consult-next-actions li>b{width:27px;height:27px;border-radius:9px;background:#17232e;color:#fff;display:grid;place-items:center;font-size:9px}
.consult-next-actions strong{font-size:10px}
.consult-next-actions small{display:block;margin-top:4px;color:#7e8a94;font-size:8px;line-height:1.45}
.consult-next-actions p{margin:4px 0 0;color:#74808a;font-size:9px;line-height:1.5}
.consult-report-paper>.consult-result-notice{margin:0;border-radius:0;padding:17px 36px;background:#f1f4f6}

@media(max-width:900px){
  .primary-nav{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .primary-nav:has([data-nav="consult"]:not([hidden])){grid-template-columns:repeat(5,minmax(0,1fr))!important}
  .app-shell[data-active-nav="consult"] .topbar.search-overlay{display:none!important}
  .app-shell[data-active-nav="consult"] .detail-panel-content{padding:0 0 calc(34px + var(--mobile-nav-reserve))!important}
  .consult-hero{padding:calc(30px + env(safe-area-inset-top)) 20px 28px}
  .consult-hero .panel-title{font-size:34px}
  .consult-order-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .consult-order-flow>div{min-height:43px;padding:8px;border-radius:9px;background:#f6f9fc}
  .consult-order-flow>svg{display:none}
  .consult-price{align-items:center}
  .consult-price>.consult-price-offer{width:100%}
  .consult-proof{padding:0 20px}
  .consult-proof div{padding:18px 8px}
  .consult-section{padding:32px 20px 10px}
  .consult-sample{margin:18px 20px 8px}
  .consult-form-page,.consult-result{padding:calc(26px + env(safe-area-inset-top)) 20px calc(42px + var(--mobile-nav-reserve))}
  .account-auth-gate{padding:calc(36px + env(safe-area-inset-top)) 20px calc(36px + env(safe-area-inset-bottom))}
  .consult-form-heading .panel-title{font-size:28px}
  .consult-choice-grid{grid-template-columns:1fr}
  .consult-choice-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
  .consult-field-grid{grid-template-columns:1fr}
  .consult-result-loading,.consult-result-error{min-height:calc(100lvh - var(--mobile-nav-reserve));padding:24px}
  .consult-result{padding-right:14px;padding-left:14px}
  .consult-report-cover{padding:26px 22px 30px}
  .consult-report-cover h1{font-size:27px}
  .consult-report-chapter{padding:26px 22px}
  .consult-scenarios{grid-template-columns:1fr}
  .consult-analysis-steps{grid-template-columns:1fr}
  .consult-analysis-steps li{min-height:0}
  .consult-funnel-chart>div{grid-template-columns:100px minmax(0,1fr) 38px}
  .consult-funnel-chart small{display:none}
  .consult-range-chart>div,.consult-bar-chart>div{grid-template-columns:92px minmax(0,1fr) 66px}
  .consult-decision-trail article>div{grid-template-columns:repeat(2,minmax(0,1fr))}
  .consult-funnel{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .consult-funnel>svg{display:none}
  .consult-funnel>div{padding:8px;border:1px solid #e3e8ec;border-radius:8px;background:#fff}
  .consult-report-candidate>header{grid-template-columns:32px minmax(0,1fr) auto;padding:15px 13px}
  .consult-candidate-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .consult-candidate-facts>div:nth-child(2){border-right:0}
  .consult-candidate-facts>div:nth-child(-n+2){border-bottom:1px solid #e1e6ea}
  .consult-candidate-assessment{grid-template-columns:1fr;padding:13px}
  .consult-future-impact{padding:13px}
  .consult-future-impact>div{grid-template-columns:1fr;gap:4px}
  .consult-future-impact em{white-space:normal}
  .consult-destination-times{padding:0 13px 14px}
  .consult-report-paper>.consult-result-notice{padding:15px 22px}
}

@media(max-width:390px){
  .primary-nav button{font-size:9px!important}
  .primary-nav button svg{width:18px;height:18px}
  .consult-hero .panel-title{font-size:31px}
  .consult-proof strong{font-size:15px}
  .consult-proof span{font-size:8px}
  .consult-choice-grid.two,.consult-choice-grid.districts{grid-template-columns:1fr}
  .consult-deliverables{grid-template-columns:1fr}
  .consult-money-range{grid-template-columns:1fr}
  .consult-money-range>i{display:none}
  .account-report-benefits{grid-template-columns:1fr}
  .consult-sample-metrics{grid-template-columns:1fr}
  .consult-sample-metrics span{border-right:0;border-bottom:1px solid #e1e7ec}
  .consult-sample-metrics span:last-child{border-bottom:0}
  .consult-result-summary{grid-template-columns:1fr}
  .consult-result-summary div{border-right:0;border-bottom:1px solid #e4e9ed}
  .consult-result-summary div:last-child{border-bottom:0}
  .consult-paid-grid{grid-template-columns:1fr}
  .consult-result-candidate{padding-right:14px;padding-left:46px}
  .consult-range-field>div{grid-template-columns:1fr}
  .consult-range-field>div>b{display:none}
  .consult-brief-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .consult-brief-grid>div{border-right:1px solid #e4e8ec!important;border-bottom:1px solid #e4e8ec!important}
  .consult-brief-grid>div:nth-child(2n){border-right:0!important}
  .consult-brief-grid>div:nth-last-child(-n+2){border-bottom:0!important}
  .consult-brief-grid>div:last-child:nth-child(odd){grid-column:1/3;border-right:0!important}
  .consult-weight-grid{grid-template-columns:1fr}
  .consult-score{min-width:42px}
  .consult-score strong{font-size:19px}
  .consult-destination-times>div{grid-template-columns:1fr auto}
  .consult-destination-times>div small{grid-column:1/3;text-align:left}
}

/* v1.2.22 paid consultation interview, evidence and research workbench */
.consult-field-grid>label>input{width:100%;height:44px;padding:0 11px;border:1px solid #d6dee5;border-radius:9px;background:#fff;color:#202a33;font:inherit;outline:0}
.consult-field-grid [data-consult-custom-field]>input{width:100%;height:44px;padding:0 11px;border:1px solid #d6dee5;border-radius:9px;background:#fff;color:#202a33;font:inherit;outline:0}
.consult-field-grid>label>input:focus{border-color:#2f70c7;box-shadow:0 0 0 3px rgba(47,112,199,.09)}
.consult-current-home-area{margin-top:15px;display:grid;gap:6px;color:#5e6a75;font-size:9px;font-weight:850}
.consult-area-input{width:100%;height:44px;border:1px solid #d6dee5;border-radius:9px;background:#fff;display:grid;grid-template-columns:minmax(0,1fr) 76px;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}
.consult-area-input:focus-within{border-color:#2f70c7;box-shadow:0 0 0 3px rgba(47,112,199,.09)}
.consult-area-input input,.consult-area-input select{min-width:0;height:42px;border:0;background:#fff;color:#202a33;font:inherit;outline:0}
.consult-area-input input{width:100%;padding:0 11px}
.consult-area-input select{width:76px;padding:0 25px 0 12px;border-left:1px solid #e2e7ec;border-radius:0;text-align:center;font-weight:900}
.consult-question-label{margin:18px 0 8px;color:#35424d;font-size:13px;font-weight:900;line-height:1.35}
.consult-question-label small{color:#8a949d;font-size:8px;font-weight:700}
.consult-section-label{margin:26px 0 10px;padding-top:20px;border-top:1px solid #e5eaf0;color:#35424d;font-size:13px;font-weight:900;line-height:1.35}
.consult-destination-limit{margin:9px 0 0;padding:9px 11px;border:1px solid #cbdceb;border-radius:9px;background:#f4f8fc;color:#42617b;font-size:9px;font-weight:800;line-height:1.5}
.consult-destination-limit.is-warning{border-color:#f0c3ba;background:#fff5f2;color:#a3483d}
.consult-destination-limit[hidden]{display:none}
.consult-destination-picker[aria-disabled="true"]{opacity:.72}
.consult-destination-option .consult-choice[aria-disabled="true"]{cursor:not-allowed;opacity:.55}
.consult-destination-option .consult-choice[aria-disabled="true"] input{cursor:not-allowed}
.consult-conditional{margin-top:14px;padding-top:16px;border-top:1px dashed #d9e0e6}
.consult-conditional[hidden]{display:none}
.consult-destination-option{width:100%;min-width:0;border:1px solid #d9e1e8;border-radius:12px;background:#fff;overflow:hidden}
.consult-destination-option .consult-choice{min-height:62px;border:0;border-radius:0}
.consult-destination-option:has(input:checked){border-color:#2f70c7;box-shadow:0 0 0 2px rgba(47,112,199,.08)}
.consult-destination-option:has(input:checked) .consult-choice{background:#f0f6ff}
.consult-destination-option:not(:has(input:checked)) .consult-destination-controls{display:none}
.consult-destination-station-choice{padding:9px 10px 10px;border-top:1px solid #dbe7f2;background:#f7fbff;display:grid;gap:5px}
.consult-destination-slots{margin-top:12px;display:grid;gap:12px}
.consult-destination-slot{width:100%;padding:13px;border:1px solid #d9e1e8;border-radius:14px;background:#fff;box-shadow:0 5px 16px rgba(20,43,66,.04)}
.consult-destination-slot>header{margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.consult-destination-slot>header strong{color:#202a33;font-size:13px;font-weight:900}
.consult-destination-slot>header .icon-close-button.is-compact{width:30px;min-width:30px;height:30px;padding:0;border:0;color:#fff;box-shadow:0 3px 9px rgba(23,26,31,.18);backdrop-filter:none;-webkit-backdrop-filter:none}
.consult-destination-slot>header .icon-close-button.is-compact svg{width:14px;height:14px;stroke-width:2.6}
.consult-destination-slot .consult-destination-picker{margin:0}
.consult-destination-picker .consult-entity-control{grid-template-columns:20px minmax(0,1fr) 29px;padding-right:12px}
.consult-destination-slot [data-action="consultation-map-destination"]{width:29px;min-width:29px;height:29px;padding:0;border-radius:50%;gap:0}
.consult-destination-slot [data-action="consultation-map-destination"] svg{width:16px}
.consult-destination-settings{margin-top:12px;padding-top:12px;border-top:1px solid #e3e8ec;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.consult-destination-settings>label,.consult-destination-mode-fields>label{display:grid;gap:6px;color:#5e6a75;font-size:9px;font-weight:850}
.consult-destination-settings select,.consult-destination-mode-fields select,.consult-destination-role-fields select,[data-transit-conditions] select{width:100%;height:42px;padding:0 40px 0 12px;border:1px solid #d6dee5;border-radius:9px;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235e6a75' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;appearance:none;-webkit-appearance:none;color:#202a33;font:inherit;outline:0}
.consult-destination-mode-fields{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.consult-destination-mode-fields[data-consult-destination-driving]{grid-template-columns:1fr}
.consult-destination-role-fields{margin-top:16px;display:grid;gap:8px}
.consult-destination-role-fields .consult-question-label{margin:0}
.consult-destination-role-fields>label{display:grid;gap:6px;color:#5e6a75;font-size:9px;font-weight:850}
.consult-add-destination{width:100%;min-height:44px;margin-top:10px;border:1px dashed #8eafd0;border-radius:11px;background:#f6faff;color:#2868ad;display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;font-weight:900}
.consult-add-destination svg{width:15px;height:15px}
.consult-add-destination[hidden],.consult-destination-slot[hidden],.consult-destination-settings[hidden],.consult-destination-mode-fields[hidden]{display:none!important}
@media(max-width:560px){
  .consult-destination-slot{padding:12px 11px}
  .consult-destination-settings,.consult-destination-mode-fields{grid-template-columns:1fr}
}
.consult-destination-station-choice[hidden]{display:none}
.consult-destination-station-choice select{width:100%;height:34px;padding:0 9px;border:1px solid #b9cee3;border-radius:8px;background:#fff;color:#2b4052;font-size:10px;font-weight:800}
.consult-destination-station-choice>label{display:grid;gap:5px}
.consult-destination-station-choice>label>span{color:#42617b;font-size:8px;font-weight:900}
.consult-destination-station-choice>small{color:#6f8393;font-size:8px;line-height:1.45}
.consult-destination-station-choice .consult-destination-reselect{color:#a3483d;font-weight:800}
.consult-destination-picker:not(.has-selection)+.consult-custom-destination-settings{display:none}
.consult-destination-controls{border-top:1px solid #e5e9ed;background:#fafbfd;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.consult-frequency-field{min-height:42px;padding:6px 9px;display:flex;align-items:center;justify-content:space-between;gap:6px}
.consult-frequency-field+ .consult-frequency-field{border-left:1px solid #e5e9ed}
.consult-frequency-field span{color:#788590;font-size:8px;font-weight:800}
.consult-frequency-field select{min-width:0;height:28px;padding:0 22px 0 7px;border:1px solid #d6dee5;border-radius:7px;background:#fff;color:#33414d;font-size:8px;font-weight:800}
.consult-inline-check{margin-top:14px;padding:12px;border:1px solid #d8e1e9;border-radius:10px;background:#fff;display:flex;align-items:flex-start;gap:9px;cursor:pointer}
.consult-inline-check input{flex:0 0 auto;width:16px;height:16px;margin-top:1px;accent-color:#2f70c7}
.consult-inline-check span,.consult-inline-check strong,.consult-inline-check small{display:block}
.consult-inline-check strong{color:#34424e;font-size:9px}
.consult-inline-check small{margin-top:4px;color:#7b8791;font-size:8px;line-height:1.5}
.consult-inline-check:has(input:checked){border-color:#9eb9da;background:#f3f7fc}
.consult-destination-times>div>strong em{margin-left:5px;padding:3px 5px;border-radius:999px;background:#edf3f8;color:#5b7690;font-size:7px;font-style:normal;white-space:nowrap}
.compare-consult-cta{margin-top:18px;padding:16px;border:1px solid #c9d9e9;border-radius:13px;background:linear-gradient(135deg,#f1f7ff,#f8fbff);display:grid;grid-template-columns:24px minmax(0,1fr);gap:11px}
.compare-consult-cta>svg{width:21px;height:21px;color:#2f70c7}
.compare-consult-cta span,.compare-consult-cta strong{display:block}
.compare-consult-cta span{color:#2f70c7;font-size:8px;font-weight:950;letter-spacing:.04em}
.compare-consult-cta strong{margin-top:5px;color:#24323e;font-size:11px;line-height:1.5}
.compare-consult-cta p{margin:6px 0 0;color:#687783;font-size:9px;line-height:1.55}
.compare-report-actions{margin-top:10px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.compare-report-actions .command{min-height:46px;height:auto;display:flex;align-items:center;justify-content:center;gap:7px;line-height:1.25}
.compare-report-actions .command svg{width:16px;height:16px;flex:0 0 16px;stroke-width:2.15}
.compare-report-actions .compare-consult-button{padding:0 16px}
.compare-report-actions .report-share-button{padding-right:16px;padding-left:16px}
.consult-current-home{margin-bottom:13px;padding:14px 16px;border:1px solid #ccdae7;border-radius:12px;background:#f5f9fd;display:grid;grid-template-columns:24px 1fr;gap:10px;color:#274f79}
.consult-current-home.is-missing{border-color:#ead8bd;background:#fff9ef;color:#895e26}
.consult-current-home>svg{width:21px;height:21px}
.consult-current-home span,.consult-current-home strong{display:block}
.consult-current-home span{font-size:8px;font-weight:900;letter-spacing:.08em}
.consult-current-home strong{margin-top:4px;font-size:11px}
.consult-current-home p{margin:5px 0 0;color:#667786;font-size:8px;line-height:1.5}
.consult-research-status{margin-top:16px;padding:14px;border:1px solid #dce4eb;border-radius:12px;background:#f7f9fb;display:grid;grid-template-columns:22px 1fr;gap:10px}
.consult-research-status>svg{width:19px;height:19px;color:#2f70c7}
.consult-research-status strong{font-size:10px}
.consult-research-status p{margin:5px 0 0;color:#71808b;font-size:8px;line-height:1.55}
.consult-score-pending{color:#9aa4ad;font-size:7px}
.consult-upgrade-deltas{padding:10px 18px;border-top:1px solid #e5eaee;background:#f6f9fc;display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.consult-upgrade-deltas span{margin-right:3px;color:#75828d;font-size:8px;font-weight:850}
.consult-upgrade-deltas b{padding:4px 7px;border-radius:999px;background:#e8f1fb;color:#2c659f;font-size:7px}
.consult-future-impact{padding:14px 18px;border-top:1px solid #e6e0ef;background:#faf8fd}
.consult-future-impact>strong{display:flex;align-items:center;gap:6px;color:#60409a;font-size:9px}
.consult-future-impact>strong svg{width:14px;height:14px}
.consult-future-impact>div{margin-top:9px;padding:9px 10px;border:1px solid #e6dff1;border-radius:9px;background:#fff;display:grid;grid-template-columns:minmax(68px,auto) 1fr auto;align-items:center;gap:8px}
.consult-future-impact b{font-size:8px}
.consult-future-impact span{color:#6d548f;font-size:8px;font-weight:850}
.consult-future-impact em{color:#283746;font-size:8px;font-style:normal;font-weight:900;white-space:nowrap}
.consult-scenario-group.is-future article p{color:#684c91;font-weight:750}
.consult-evidence-grid{margin:0 18px 15px;border:1px solid #e0e6ea;border-radius:11px;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));overflow:hidden}
.consult-evidence-grid>div{padding:12px;border-right:1px solid #e4e9ed}
.consult-evidence-grid>div:last-child{border-right:0}
.consult-evidence-grid span,.consult-evidence-grid strong,.consult-evidence-grid small{display:block}
.consult-evidence-grid span{color:#7f8b94;font-size:7px}
.consult-evidence-grid strong{margin-top:5px;font-size:9px}
.consult-evidence-grid small{margin-top:5px;color:#697781;font-size:7px;line-height:1.55}
.consult-excluded-list{display:grid;gap:8px}
.consult-excluded-list article{padding:14px;border:1px solid #e1e6ea;border-radius:11px;background:#fafbfc;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px}
.consult-excluded-list article>div strong,.consult-excluded-list article>div small,.consult-excluded-list article>div span{display:block}
.consult-excluded-list article>div strong{font-size:10px}
.consult-excluded-list article>div small{margin-top:3px;color:#788691;font-size:8px;line-height:1.4}
.consult-excluded-list article>div span{margin-top:4px;color:#7f8a94;font-size:8px}
.consult-excluded-list p{grid-column:1/3;margin:0;color:#687681;font-size:9px;line-height:1.55}
.consult-excluded-list article>b{grid-column:2;grid-row:1;padding:4px 7px;border-radius:999px;background:#f2e9e5;color:#9b523c;font-size:7px;align-self:start}
.consult-runner-groups{display:grid;gap:14px}
.consult-runner-group{overflow:hidden;border:1px solid #dbe4ec;border-radius:16px;background:#fff}
.consult-runner-group>header{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.72fr);gap:18px;align-items:center;padding:18px 20px;background:#f6f9fc;border-bottom:1px solid #e2e9ef}
.consult-runner-group>header>div>span{display:block;color:#1768c5;font-size:12px;font-weight:800}
.consult-runner-group>header>div>p{margin:5px 0 0;color:#667887;font-size:11px;line-height:1.55}
.consult-runner-group>header>section{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:9px;align-items:center}
.consult-runner-group>header>section small{grid-row:1/3;padding:5px 8px;border-radius:999px;background:#1768c5;color:#fff;font-size:10px;font-weight:800}
.consult-runner-group>header>section strong{min-width:0;font-size:14px;line-height:1.3}
.consult-runner-group>header>section em{overflow:hidden;color:#71818e;font-size:10px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.consult-runner-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.consult-runner-list>section{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px 12px;padding:18px 20px}
.consult-runner-list>section+section{border-left:1px solid #e4eaf0}
.consult-runner-list>section>b{align-self:start;padding:5px 8px;border-radius:999px;background:#edf2f6;color:#4b6273;font-size:10px}
.consult-runner-list>section>div strong,.consult-runner-list>section>div small{display:block}
.consult-runner-list>section>div strong{font-size:14px;line-height:1.35}
.consult-runner-list>section>div small{margin-top:3px;color:#758592;font-size:10px;line-height:1.4}
.consult-runner-list dl{grid-column:1/3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:2px 0 0}
.consult-runner-list dl>div{padding:9px;border-radius:9px;background:#f7f9fb}
.consult-runner-list dt{color:#7b8a96;font-size:9px}
.consult-runner-list dd{margin:3px 0 0;color:#172a3a;font-size:12px;font-weight:800}
.consult-runner-list>section>p{grid-column:1/3;margin:0;padding-top:10px;border-top:1px solid #edf1f4;color:#455d6e;font-size:11px;line-height:1.65}
@media(max-width:700px){
  .consult-runner-group>header{grid-template-columns:1fr;padding:16px}
  .consult-runner-list{grid-template-columns:1fr}
  .consult-runner-list>section{padding:16px}
  .consult-runner-list>section+section{border-left:0;border-top:1px solid #e4eaf0}
  .consult-runner-list dl{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.consult-source-ledger{display:grid;gap:8px}
.consult-source-ledger article{min-height:58px;padding:12px;border:1px solid #e1e6ea;border-radius:11px;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:start;gap:9px}
.consult-source-ledger svg{width:17px;height:17px;color:#2f70c7}
.consult-source-ledger strong{font-size:9px}
.consult-source-ledger p{margin:4px 0 0;color:#7b8791;font-size:8px;line-height:1.5}
.consult-source-ledger article>b,.consult-source-ledger a{padding:4px 6px;border-radius:999px;background:#edf3f8;color:#486987;font-size:7px;text-decoration:none}
.consult-source-summary{padding:15px 16px;border:1px solid #e1e6ea;border-radius:11px;background:#fafbfd}
.consult-source-summary>div{display:flex;flex-wrap:wrap;gap:6px}
.consult-source-summary span{padding:5px 8px;border-radius:999px;background:#edf3f8;color:#486987;font-size:8px;font-weight:800}
.consult-source-summary p{margin:10px 0 0;color:#7b8791;font-size:8px;line-height:1.5}

/* Paid report reading size */
.consult-report-paper .consult-report-brand span,
.consult-report-paper .consult-report-meta span,
.consult-report-paper .consult-chapter-label span{font-size:10px}
.consult-report-paper .consult-verdict>span{font-size:11px}
.consult-report-paper .consult-chapter-intro{font-size:12px}
.consult-report-paper .consult-scenario-group>header strong{font-size:13px}
.consult-report-paper .consult-scenario-group>header p{font-size:10px}
.consult-report-paper .consult-scenario-group article>span{font-size:10px}
.consult-report-paper .consult-scenario-group article strong{font-size:12px}
.consult-report-paper .consult-scenario-group article small{font-size:9px}
.consult-report-paper .consult-scenario-group article p{font-size:10px}
.consult-report-paper .consult-analysis-steps strong{font-size:11px}
.consult-report-paper .consult-analysis-steps p{font-size:10px}
.consult-report-paper .consult-analysis-steps li>b{font-size:10px}
.consult-report-paper .consult-assumption strong{font-size:12px}
.consult-report-paper .consult-assumption p{font-size:11px}
.consult-report-paper .consult-assumption small{font-size:10px}
.consult-report-paper .consult-chart-card span,
.consult-report-paper .consult-chart-card p,
.consult-report-paper .consult-chart-card small{font-size:9px}
.consult-report-paper .consult-chart-legend,
.consult-report-paper .consult-funnel-chart span,
.consult-report-paper .consult-funnel-chart strong,
.consult-report-paper .consult-funnel-chart small,
.consult-report-paper .consult-range-chart>div>span,
.consult-report-paper .consult-bar-chart>div>span,
.consult-report-paper .consult-range-chart strong,
.consult-report-paper .consult-bar-chart strong,
.consult-report-paper .consult-bar-chart>div>span small{font-size:10px}
.consult-report-paper .consult-brief-grid span{font-size:9px}
.consult-report-paper .consult-brief-grid strong{font-size:12px}
.consult-report-paper blockquote span,
.consult-report-paper blockquote small{font-size:9px}
.consult-report-paper .consult-weight-grid{font-size:10px}
.consult-report-paper .consult-research-status{font-size:10px}
.consult-report-paper .consult-funding-summary>div span,
.consult-report-paper .consult-funding-plan>p,
.consult-report-paper .consult-funding-candidates article span,
.consult-report-paper .consult-funding-candidates dt,
.consult-report-paper .consult-funding-candidates dd{font-size:10px}
.consult-report-paper .consult-funding-candidates article strong{font-size:12px}
.consult-report-paper .consult-funding-candidates article small{font-size:10px}
.consult-report-paper .consult-baseline-table table,
.consult-report-paper .consult-baseline-table thead th,
.consult-report-paper .consult-baseline-table tbody th{font-size:10px}
.consult-report-paper .consult-baseline-table thead th small{font-size:9px}
.consult-report-paper .consult-decision-trail article>header strong{font-size:14px}
.consult-report-paper .consult-decision-trail article>header small,
.consult-report-paper .consult-decision-trail article>header p{font-size:10px}
.consult-report-paper .consult-decision-trail article>div>span{font-size:10px}
.consult-report-paper .consult-decision-trail article>div small,
.consult-report-paper .consult-decision-trail article>p{font-size:9px}
.consult-report-paper .consult-comparison table{font-size:10px}
.consult-report-paper .consult-comparison thead th{font-size:9px}
.consult-report-paper .consult-comparison th strong{font-size:11px}
.consult-report-paper .consult-comparison th small,
.consult-report-paper .consult-comparison>p{font-size:9px}
.consult-report-paper .consult-candidate-index span,
.consult-report-paper .consult-score span,
.consult-report-paper .consult-score-pending{font-size:10px}
.consult-report-paper .consult-report-candidate>header small,
.consult-report-paper .consult-report-candidate>header p{font-size:10px}
.consult-report-paper .consult-candidate-facts span{font-size:9px}
.consult-report-paper .consult-candidate-facts strong{font-size:11px}
.consult-report-paper .consult-candidate-assessment p,
.consult-report-paper .consult-candidate-assessment p b{font-size:10px}
.consult-report-paper .consult-evidence-grid span,
.consult-report-paper .consult-evidence-grid small{font-size:9px}
.consult-report-paper .consult-evidence-grid strong{font-size:11px}
.consult-report-paper .consult-destination-times>b,
.consult-report-paper .consult-destination-times>div{font-size:10px}
.consult-report-paper .consult-route-diagram-head strong{font-size:12px}
.consult-report-paper .consult-route-diagram-head span,
.consult-report-paper .consult-route-diagram-head a{font-size:9px}
.consult-report-paper .consult-route-map text{font-size:11px}
.consult-report-paper .consult-route-edge text{font-size:9px}
.consult-report-paper .consult-route-node text{font-size:11px}
.consult-report-paper .consult-route-legend{font-size:9px}
.consult-report-paper .consult-current-home span,
.consult-report-paper .consult-current-home p,
.consult-report-paper .consult-research-status p,
.consult-report-paper .consult-upgrade-deltas span,
.consult-report-paper .consult-upgrade-deltas b,
.consult-report-paper .consult-future-impact b,
.consult-report-paper .consult-future-impact span,
.consult-report-paper .consult-future-impact em{font-size:10px}
.consult-report-paper .consult-current-home strong{font-size:14px}
.consult-report-paper .consult-future-impact>strong{font-size:12px}
.consult-report-paper .consult-boundaries p,
.consult-report-paper .consult-next-actions p{font-size:11px}
.consult-report-paper .consult-boundaries strong,
.consult-report-paper .consult-next-actions strong{font-size:12px}
.consult-report-paper .consult-excluded-list article>div strong{font-size:12px}
.consult-report-paper .consult-excluded-list article>div span,
.consult-report-paper .consult-excluded-list article>div small,
.consult-report-paper .consult-excluded-list p,
.consult-report-paper .consult-excluded-list article>b{font-size:10px}
.consult-report-paper .consult-next-actions small{font-size:10px}
.consult-report-paper .consult-source-summary span,
.consult-report-paper .consult-source-summary p{font-size:10px}
.consult-operator{margin-top:18px;padding:20px;border:1px solid #bfcfe0;border-radius:14px;background:#edf4fb}
.consult-operator>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.consult-operator>header span{color:#2f70c7;font-size:8px;font-weight:950;letter-spacing:.1em}
.consult-operator>header h2{margin:5px 0 0;font-size:18px}
.consult-operator>header>b{padding:5px 8px;border-radius:999px;background:#dceafb;color:#35699f;font-size:8px}
.consult-operator>p{margin:12px 0;color:#607383;font-size:9px;line-height:1.6}
.consult-operator form{margin-top:14px;padding-top:14px;border-top:1px solid #cad9e6;display:grid;gap:10px}
.consult-operator form label{display:grid;gap:7px;color:#526979;font-size:9px;font-weight:850}
.consult-operator textarea{width:100%;padding:10px;border:1px solid #bfd0df;border-radius:9px;background:#fff;color:#24323d;font:10px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;resize:vertical;outline:0}
.consult-operator .consult-secondary{margin-top:0}
.consult-operator-quality{margin-top:14px;padding:12px;border:1px solid #c8d8e6;border-radius:10px;background:#fff;display:grid;gap:5px}
.consult-operator-quality strong{font-size:10px;color:#29465f}
.consult-operator-quality span,.consult-operator-quality li{font-size:8px;line-height:1.55;color:#607383}
.consult-operator-quality summary{cursor:pointer;display:grid;gap:4px;list-style:none}
.consult-operator-quality summary::-webkit-details-marker{display:none}
.consult-operator-quality ul{margin:2px 0 0;padding-left:16px;display:grid;gap:3px}
.consult-operator-quality.is-pass{border-color:#b9ddc8;background:#f3fbf6}
.consult-operator-quality.is-pass strong{color:#207446}
.consult-operator-quality.is-blocked{border-color:#efc9c6;background:#fff7f6}
.consult-operator-quality.is-blocked strong{color:#a53e37}

@media(max-width:900px){
  .consult-destination-controls{grid-template-columns:1fr}
  .consult-funding-summary,.consult-funding-candidates{grid-template-columns:1fr}
  .consult-frequency-field+ .consult-frequency-field{border-left:0;border-top:1px solid #e5e9ed}
  .compare-report-actions{grid-template-columns:1fr}
  .consult-evidence-grid{grid-template-columns:1fr;margin-right:13px;margin-left:13px}
  .consult-evidence-grid>div{border-right:0;border-bottom:1px solid #e4e9ed}
  .consult-evidence-grid>div:last-child{border-bottom:0}
  .consult-operator{margin-right:6px;margin-left:6px}
  .account-danger-zone{grid-template-columns:1fr}
  .account-danger-zone .text-danger{width:100%}
}

/* v1.2.29 home-screen install notice */
.legal-links .install-guide-settings{grid-column:1/-1}
.pwa-install-notice{position:fixed;z-index:500;inset:0;padding:24px;display:grid;place-items:center}
.pwa-install-notice[hidden]{display:none!important}
.pwa-install-backdrop{position:absolute;inset:0;background:rgba(15,23,31,.58);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.pwa-install-card{position:relative;width:min(432px,100%);max-height:calc(100dvh - 48px);padding:30px 28px 20px;border:1px solid rgba(255,255,255,.72);border-radius:24px;background:#fff;box-shadow:0 28px 80px rgba(13,24,35,.3);overflow:auto;outline:0}
.pwa-install-close{position:absolute;z-index:2;top:17px;right:17px;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:#f2f5f7;color:#66737e;display:grid;place-items:center}
.pwa-install-close:hover,.pwa-install-close:focus-visible{background:#e8eef3;color:#1d2a34;outline:2px solid rgba(23,105,224,.22);outline-offset:2px}
.pwa-install-close svg{width:17px;height:17px}
.pwa-install-brand{min-height:32px;padding-right:48px;display:flex;align-items:center;gap:9px;color:#2569bc;font-size:10px;font-weight:900;letter-spacing:.02em}
.pwa-install-brand img{width:30px;height:30px;border-radius:8px;box-shadow:0 3px 10px rgba(22,91,165,.12)}
.pwa-install-card h2{margin:14px 0 0;color:#17232e;font-size:29px;line-height:1.18;letter-spacing:-.052em}
.pwa-install-card>p{margin:12px 0 0;color:#64727d;font-size:12px;line-height:1.65;letter-spacing:-.012em}
.pwa-install-benefits{min-height:44px;margin-top:16px;padding:0 12px;border-radius:12px;background:#f2f7fc;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:8px}
.pwa-install-benefits span{min-width:0;display:flex;align-items:center;justify-content:center;gap:7px;color:#38546e;font-size:10px;font-weight:850;white-space:nowrap}
.pwa-install-benefits svg{width:16px;height:16px;flex:0 0 16px;color:#2f70c7}
.pwa-install-card>.pwa-install-hint{min-height:18px;margin-top:12px;padding-left:19px;position:relative;color:#72808b;font-size:9px;line-height:1.55;display:flex;align-items:center}
.pwa-install-hint::before{position:absolute;top:50%;left:3px;width:7px;height:7px;border-radius:50%;background:#2f70c7;box-shadow:0 0 0 4px rgba(47,112,199,.1);content:"";transform:translateY(-50%)}
.pwa-install-primary{width:100%;min-height:50px;margin-top:15px;padding:0 15px;border:1px solid #1769e0;border-radius:12px;background:#1769e0;color:#fff;font-size:12px;font-weight:900;box-shadow:0 7px 18px rgba(23,105,224,.2)}
.pwa-install-primary[hidden]{display:none!important}
.pwa-install-primary:hover,.pwa-install-primary:focus-visible{background:#0f5dca;outline:3px solid rgba(23,105,224,.17);outline-offset:1px}
.pwa-install-guide-link{margin-top:13px;min-height:58px;padding:10px 15px;border:1px solid #1769e0;border-radius:12px;background:#1769e0;color:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;text-decoration:none;box-shadow:0 7px 18px rgba(23,105,224,.18);transition:border-color .16s,background .16s,transform .16s}
.pwa-install-guide-link:hover,.pwa-install-guide-link:focus-visible{border-color:#0f5dca;background:#0f5dca;outline:0;transform:translateY(-1px)}
.pwa-install-guide-link span,.pwa-install-guide-link strong,.pwa-install-guide-link small{display:block}
.pwa-install-guide-link strong{font-size:12px}
.pwa-install-guide-link small{margin-top:4px;color:rgba(255,255,255,.76);font-size:9px;font-weight:700}
.pwa-install-guide-link>svg{width:18px;height:18px;color:#fff}
.has-native-install .pwa-install-guide-link{margin-top:9px;border-color:#d7e0e8;background:#fff;color:#34434f;box-shadow:none}
.has-native-install .pwa-install-guide-link:hover,.has-native-install .pwa-install-guide-link:focus-visible{border-color:#9db6d0;background:#f7faff}
.has-native-install .pwa-install-guide-link small{color:#7b8791}
.has-native-install .pwa-install-guide-link>svg{color:#2f70c7}
.pwa-install-actions{margin-top:8px;display:grid;grid-template-columns:1fr 1fr;gap:4px}
.pwa-install-actions button{min-height:40px;padding:0 8px;border:0;border-radius:9px;background:transparent;color:#77848e;font-size:9px;font-weight:850;display:flex;align-items:center;justify-content:center}
.pwa-install-confirm:hover,.pwa-install-confirm:focus-visible,.pwa-install-snooze:hover,.pwa-install-snooze:focus-visible{background:#f0f3f5;color:#35434e;outline:0}

@media(max-width:520px){
  .pwa-install-notice{padding:14px;place-items:center}
  .pwa-install-card{width:100%;max-height:calc(100dvh - 28px);padding:26px 22px calc(14px + env(safe-area-inset-bottom));border-radius:22px}
  .pwa-install-card h2{font-size:26px}
  .pwa-install-benefits{grid-template-columns:1fr 1fr;padding:12px 11px}
  .pwa-install-benefits span{font-size:9px}
}

@media(prefers-reduced-motion:reduce){
  .pwa-install-guide-link{transition:none}
}

/* v1.2.33 report checkout and PDF output */
.consult-checkout{max-width:720px}
.consult-checkout-product{border:1px solid #d9e1e7;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 12px 34px rgba(25,42,57,.07)}
.consult-checkout-product>header{padding:20px 22px;border-bottom:1px solid #e4e9ed;background:linear-gradient(135deg,#f4f8fc,#fff);display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.consult-checkout-product>header span,.consult-checkout-product>header h2{display:block}
.consult-checkout-product>header span{color:#2f70c7;font-size:8px;font-weight:950;letter-spacing:.1em}
.consult-checkout-product>header h2{margin:6px 0 0;color:#1e2b35;font-size:17px}
.consult-checkout-product>header>strong{color:#18242e;font-size:21px;letter-spacing:-.04em;white-space:nowrap;display:grid;justify-items:end;gap:3px}
.consult-checkout-product>header>strong small{color:#6f7d88;font-size:8px;font-weight:850;letter-spacing:0}
.consult-checkout-product>header>.consult-price-offer{justify-items:end;text-align:right}
.consult-checkout-includes{padding:16px 20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 16px}
.consult-checkout-includes span{min-width:0;color:#52616d;font-size:9px;font-weight:800;line-height:1.45;display:flex;align-items:flex-start;gap:8px}
.consult-checkout-includes svg{width:16px;height:16px;flex:0 0 16px;color:#2f70c7}
.consult-checkout-includes .consult-checkout-delivery{grid-column:1/-1;padding-top:11px;border-top:1px solid #e2e9ef;color:#52616d;align-items:center}
.consult-checkout-delivery b{color:#172a3a;white-space:nowrap}
.consult-checkout-brief{margin:0;padding:0;border-top:1px solid #e7ebee;background:#fafbfc;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.consult-checkout-brief>div{min-width:0;padding:13px 18px;border-right:1px solid #e7ebee;border-bottom:1px solid #e7ebee}
.consult-checkout-brief>div:nth-child(2n){border-right:0}
.consult-checkout-brief>div:nth-last-child(-n+2){border-bottom:0}
.consult-checkout-brief dt{color:#84909a;font-size:8px}
.consult-checkout-brief dd{margin:5px 0 0;color:#33414c;font-size:10px;font-weight:900;line-height:1.45}
.consult-checkout-response-groups{padding:16px 18px 18px;display:grid;gap:9px;background:#fff}
.consult-checkout-response-groups section{padding:12px 13px;border:1px solid #e2e8ed;border-radius:10px;background:#fbfcfd}
.consult-checkout-response-groups header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.consult-checkout-response-groups strong{color:#33414c;font-size:10px}
.consult-checkout-response-groups button{padding:0;border:0;background:transparent;color:#2f70c7;font:inherit;font-size:9px;font-weight:900;cursor:pointer}
.consult-checkout-response-groups p{margin:7px 0 0;color:#697783;font-size:8px;font-weight:700;line-height:1.55}
.consult-checkout-section{margin-top:22px}
.consult-checkout-section>h2{margin:0 0 10px;color:#35434e;font-size:11px}
.consult-checkout-account{min-height:70px;padding:14px 15px;border:1px solid #dce3e8;border-radius:12px;background:#f9fafb;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px}
.consult-checkout-account.is-loading{grid-template-columns:24px minmax(0,1fr)}
.consult-checkout-account>.ui-spinner{width:20px;height:20px}
.consult-checkout-account>.account-avatar{width:38px;height:38px}
.consult-checkout-account>.account-avatar svg{width:18px;height:18px}
.consult-checkout-account strong{display:block;color:#2d3943;font-size:10px}
.consult-checkout-account p{margin:5px 0 0;color:#76838e;font-size:8px;line-height:1.5}
.consult-checkout-account>svg{width:19px;height:19px;color:#2e8a62}
.consult-checkout-total{margin:24px 0 12px;padding:17px 2px 14px;border-top:1px solid #dce3e8;display:grid;gap:5px}
.consult-checkout-total-main{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.consult-checkout-total-main>b{color:#54626d;font-size:11px;font-weight:850}
.consult-checkout-total-prices{display:flex;align-items:baseline;justify-content:flex-end;gap:8px;white-space:nowrap}
.consult-checkout-total-prices del,.consult-checkout-total-prices strong{font-size:22px;font-weight:850;letter-spacing:-.04em}
.consult-checkout-total-prices del{color:#7b8790;text-decoration-thickness:1px}
.consult-checkout-total-prices strong{color:#18242e}
.consult-checkout-total-meta{display:grid;grid-template-columns:1fr auto auto;align-items:baseline;gap:8px;color:#7b8790;font-size:8px;font-weight:650}
.consult-checkout-total-meta>b{color:#2f70c7;font-weight:900;white-space:nowrap}
.consult-checkout-total-meta>span:last-child{color:#6f7d88;font-weight:850;white-space:nowrap}
.consult-checkout-login{margin-top:0}
.consult-review-login-divider{margin:16px 0 12px;display:flex;align-items:center;gap:12px;color:#87939d;font-size:9px;font-weight:800}
.consult-review-login-divider::before,.consult-review-login-divider::after{content:"";height:1px;flex:1;background:#e1e6ea}
.consult-review-login{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 18px}
.consult-review-login label{display:grid;gap:6px;color:#687783;font-size:8px;font-weight:850}
.consult-review-login input{width:100%;height:44px;padding:0 13px;border:1px solid #d8e0e6;border-radius:10px;background:#fff;color:#24323d;font:inherit;font-size:10px;outline:none}
.consult-review-login input:focus{border-color:#2f70c7;box-shadow:0 0 0 3px rgba(47,112,199,.1)}
.consult-review-login .consult-secondary{grid-column:1/-1;margin:2px 0 0}
.consult-payment-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.consult-payment-method{width:100%;min-width:0;min-height:124px;padding:15px 8px 12px;border:1px solid #dce3e8;border-radius:16px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;text-align:center;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}
.consult-payment-methods.is-single{grid-template-columns:minmax(0,1fr)}
.consult-payment-methods.is-single .consult-payment-method{min-height:70px;padding:10px 16px;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;text-align:left}
.consult-payment-methods.is-single .consult-payment-mark{width:46px;height:46px;flex:0 0 46px}
.consult-payment-methods.is-single .consult-payment-method small{margin-left:auto;text-align:right}
button.consult-payment-method{cursor:pointer}
button.consult-payment-method:hover:not(:disabled){border-color:#a8c8eb;background:#f8fbff;transform:translateY(-1px)}
.consult-payment-method.is-selected{border-color:#98bff0;background:#f2f7fd;box-shadow:0 0 0 1px rgba(47,112,199,.05)}
.consult-payment-method.is-unavailable{background:#f8fafb;border-color:#e4e9ed;cursor:default;opacity:.72}
.consult-payment-mark{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;overflow:hidden;box-shadow:0 7px 18px rgba(27,48,65,.1)}
.consult-payment-mark svg{width:32px;height:32px;display:block;fill:currentColor}
.consult-payment-mark--kakao{background:#fee500;color:#191919}
.consult-payment-mark--naver{background:#03c75a;color:#fff}
.consult-payment-mark--toss{background:#0064ff;color:#fff}
.consult-payment-method strong{display:block;color:#24323d;font-size:10px;line-height:1.25;word-break:keep-all}
.consult-payment-method small{display:block;margin:0;color:#71808b;font-size:8px;font-weight:700;line-height:1.35;word-break:keep-all}
.consult-payment-method.is-selected small{color:#2f70c7}
.consult-business-info{margin:24px 0 0;padding:17px 2px 4px;border-top:1px solid #e2e7eb;color:#7c8993;font-size:8px;line-height:1.65}
.consult-business-info strong{display:block;margin-bottom:4px;color:#4f5f6b;font-size:9px}
.consult-business-info p{margin:1px 0}
.consult-checkout-notice{margin:11px 5px 0;color:#818c95;font-size:8px;line-height:1.6;text-align:center}
.consult-checkout-notice strong{color:#52616d}
.consult-master-test-note{margin:10px 0 0;color:#6f7d88;display:flex;align-items:center;justify-content:center;gap:6px;font-size:8px;font-weight:800}
.consult-master-test-note svg{width:13px;height:13px;color:#2f70c7}
.consult-checkout-links{margin-top:9px;display:flex;align-items:center;justify-content:center;gap:14px}
.consult-checkout-links a{color:#687985;font-size:8px;text-underline-offset:2px}
.consult-developer-tools{margin-top:22px;padding:13px 14px;border:1px dashed #b8c6d2;border-radius:10px;background:#f5f8fb}
.consult-developer-tools summary{color:#3c5368;font-size:9px;font-weight:900;cursor:pointer}
.consult-developer-tools p{margin:9px 0;color:#748390;font-size:8px;line-height:1.55}
.consult-developer-tools .consult-secondary{min-height:42px;font-size:10px}
.toss-payment-methods,.toss-payment-agreement{min-height:60px;border-radius:12px;background:#f8fafc}
.toss-payment-agreement{margin-top:8px}
.consult-payment-outcome{min-height:520px;padding:54px 36px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.consult-payment-outcome>svg{width:42px;height:42px;margin-bottom:16px;color:#d27b30}
.consult-payment-outcome.is-success>svg{color:#2e8a62}
.consult-payment-outcome>.ui-spinner{width:34px;height:34px;min-width:34px;min-height:34px;flex:0 0 34px;aspect-ratio:1/1;box-sizing:border-box;margin-bottom:18px}
.consult-payment-outcome h1{margin:8px 0 0;color:#1f2c36;font-size:28px;letter-spacing:-.045em}
.consult-payment-outcome>p:not(.panel-eyebrow){max-width:400px;margin:12px 0 24px;color:#6f7d88;font-size:10px;line-height:1.7}
.consult-payment-outcome .consult-primary,.consult-payment-outcome .consult-secondary{max-width:360px;margin-top:8px}
.consult-order-status{max-width:620px;margin:0 auto}
.consult-order-status>svg{width:44px;height:44px;margin-bottom:15px;color:#2f70c7}
.consult-order-status.is-ready>svg{color:#2e8a62}
.consult-order-meta{width:min(520px,100%);margin:4px 0 24px;border:1px solid #dfe6ec;border-radius:13px;background:#f8fafc;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;text-align:left}
.consult-order-meta>div{min-width:0;padding:13px;border-right:1px solid #e3e8ec}
.consult-order-meta>div:last-child{border-right:0}
.consult-order-meta span,.consult-order-meta strong{display:block}
.consult-order-meta span{color:#87929b;font-size:8px}
.consult-order-meta strong{margin-top:5px;color:#33414d;font-size:9px;line-height:1.45}
.consult-order-progress{width:min(520px,100%);margin:0 0 22px;padding:0;list-style:none;display:grid;gap:0;text-align:left}
.consult-order-progress li{position:relative;min-height:72px;padding:0 0 19px 48px;display:grid;align-content:start}
.consult-order-progress li:not(:last-child)::after{position:absolute;top:30px;bottom:0;left:15px;width:2px;background:#dfe5ea;content:""}
.consult-order-progress li.is-done:not(:last-child)::after{background:#8fb9ea}
.consult-order-progress li>b{position:absolute;z-index:1;top:0;left:0;width:32px;height:32px;border:2px solid #dce3e8;border-radius:50%;background:#fff;color:#9aa5ae;display:grid;place-items:center}
.consult-order-progress li.is-active>b{border-color:#8bb6e9;background:#eef6ff;color:#2f70c7}
.consult-order-progress li.is-done>b{border-color:#2f70c7;background:#2f70c7;color:#fff}
.consult-order-progress li>b svg{width:15px;height:15px}
.consult-order-progress li.is-active>b svg{animation:spin 1.1s linear infinite}
.consult-order-progress span,.consult-order-progress strong,.consult-order-progress small{display:block}
.consult-order-progress strong{padding-top:2px;color:#2e3a44;font-size:11px}
.consult-order-progress small{margin-top:5px;color:#7a8791;font-size:9px;line-height:1.55}
.consult-order-wait-note{width:min(520px,100%);margin:0 0 8px;padding:12px 13px;border-radius:11px;background:#edf4fb;color:#587087;display:flex;align-items:flex-start;gap:8px;text-align:left;font-size:9px;line-height:1.55}
.consult-order-wait-note svg{width:16px;height:16px;flex:0 0 16px;margin-top:1px;color:#2f70c7}
.consult-operator-complete{margin-top:14px;padding-top:14px;border-top:1px solid #cad9e6;display:grid;gap:8px}
.consult-operator-complete>p{margin:0;color:#607383;font-size:8px;line-height:1.55}
.consult-operator-complete .consult-primary,.consult-operator-complete .consult-secondary{margin-top:0}
.consult-test-order-tools{margin-top:12px}
.consult-test-order-tools p strong{color:#344b60}
.consult-test-order-actions{display:grid;gap:7px}
.consult-test-order-actions .consult-secondary{margin-top:0}
.consult-test-order-actions .text-danger{color:#b1433d}
.master-report-viewer-open{overflow:hidden}
.master-report-viewer{--master-report-viewer-header:58px;position:fixed;z-index:1000;inset:0;width:100%;height:100dvh;max-height:100dvh;background:#eef2f5;color:var(--ink);display:grid;grid-template-rows:var(--master-report-viewer-header) minmax(0,1fr);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);overflow:hidden;overscroll-behavior:none}
.master-report-viewer-toolbar{position:relative;z-index:1;min-height:58px;padding:0 16px;border-bottom:1px solid #d9e1e7;background:rgba(255,255,255,.98);display:flex;align-items:center;justify-content:space-between;gap:12px}
.master-report-viewer-toolbar .context-back{min-height:42px;margin:0;font-size:11px}
.master-report-viewer-close{min-height:34px;padding:0 9px;border:1px solid #d7e0e7;border-radius:7px;background:#fff;color:#344b60;display:inline-flex;align-items:center;gap:5px;font:inherit;font-size:10px;font-weight:850}
.master-report-viewer-close svg{width:15px;height:15px}
.master-report-viewer-canvas{position:relative;height:calc(100dvh - var(--master-report-viewer-header) - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-height:0;padding:16px;overflow:hidden;background:#eef2f5}
.master-report-viewer-document{width:100%;height:100%;overflow:hidden;display:flex;align-items:flex-start;justify-content:center}
.master-report-viewer-frame{display:block;flex:0 0 auto;width:430px;max-width:none;min-height:0;border:0;background:#fff;box-shadow:0 8px 28px rgba(23,26,31,.12);transform:scale(var(--master-report-scale,1));transform-origin:top center}
.master-report-viewer-status{position:absolute;z-index:1;inset:0;margin:0;padding:36px 16px;color:#6f7e89;text-align:center;font-size:11px;line-height:1.5;display:grid;place-items:center;pointer-events:none}
.master-report-viewer-status[hidden]{display:none}
.master-report-viewer:focus{outline:none}
.report-order-history{padding-top:12px;border-top:1px solid #e1e6ea;display:grid;gap:8px}
.report-order-history>.ui-spinner{width:18px;height:18px;margin:0 auto}
.report-order-history>p{margin:0;text-align:center}
.report-order-item{width:100%;padding:11px;border:1px solid #dde4e9;border-radius:10px;background:#fff;color:inherit;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;font:inherit}
.report-order-item>span:first-child{min-width:0}
.report-order-item strong,.report-order-item small{display:block}
.report-order-item strong{font-size:9px}
.report-order-item small{margin-top:4px;color:#6f7e89;font-size:8px;line-height:1.45}
button.report-order-item{appearance:none;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}
button.report-order-item:hover{border-color:#a9c9e9;background:#f7fbff;box-shadow:0 4px 13px rgba(50,89,130,.09)}
button.report-order-item:active{transform:translateY(1px)}
button.report-order-item:focus-visible{outline:3px solid rgba(47,112,199,.22);outline-offset:2px}
.report-order-open{color:#2f70c7;display:inline-flex;align-items:center;justify-content:flex-end;gap:5px;font-size:8px;font-weight:850;white-space:nowrap}
.report-order-open svg{width:14px;height:14px;flex:0 0 14px}
.report-order-open svg:last-child{width:13px;height:13px;flex-basis:13px}
.report-order-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.report-order-actions button{min-height:30px;padding:0 8px;border:1px solid #d7e0e7;border-radius:7px;background:#f8fafb;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-family:inherit;font-size:8px;font-weight:850;line-height:1;cursor:pointer}
.report-order-actions .report-order-open{color:#2f70c7}
.report-order-actions .report-order-delete{color:#c3473d}
.report-order-actions button:disabled{opacity:.5;cursor:wait}
.report-history-empty{padding:12px;border-radius:9px;background:#f6f8fa;color:#71808c}

@media(max-width:520px){
  .consult-payment-methods{gap:8px}
  .consult-payment-method{min-height:112px;padding:13px 5px 10px;border-radius:14px;gap:7px}
  .consult-payment-mark{width:46px;height:46px}
  .consult-payment-mark svg{width:29px;height:29px}
  .consult-payment-method strong{font-size:9px}
  .consult-payment-method small{font-size:7px}
  .consult-form-heading .panel-title,
  .consult-checkout-product>header h2{
    max-width:100%;
    overflow-wrap:anywhere;
    word-break:break-word
  }
  .consult-checkout-product>header{padding:18px;display:grid;grid-template-columns:1fr;gap:13px}
  .consult-checkout-product>header>.consult-price-offer{width:100%;min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:10px;text-align:left}
  .consult-checkout-product>header .consult-price-row{min-width:0;display:flex;align-items:baseline;gap:6px}
  .consult-checkout-product>header .consult-price-row.is-list{padding-right:10px}
  .consult-checkout-product>header .consult-price-offer del,.consult-checkout-product>header .consult-price-offer strong{font-size:17px}
  .consult-checkout-includes{grid-template-columns:1fr;padding:15px 18px}
  .consult-checkout-brief{grid-template-columns:1fr}
  .consult-checkout-brief>div{border-right:0;border-bottom:1px solid #e7ebee}
  .consult-checkout-brief>div:nth-last-child(-n+2){border-bottom:1px solid #e7ebee}
  .consult-checkout-brief>div:last-child{border-bottom:0}
  .consult-review-login{grid-template-columns:1fr}
  .consult-review-login .consult-secondary{grid-column:auto}
  .consult-payment-outcome{min-height:calc(100lvh - var(--mobile-nav-reserve));padding:32px 20px}
  .consult-order-meta{grid-template-columns:1fr}
  .consult-order-meta>div{border-right:0;border-bottom:1px solid #e3e8ec}
  .consult-order-meta>div:last-child{border-bottom:0}
}
@media(max-width:520px){.master-report-viewer{--master-report-viewer-header:calc(54px + env(safe-area-inset-top));padding-top:0}.master-report-viewer-toolbar{min-height:54px;padding:env(safe-area-inset-top) 12px 0}.master-report-viewer-toolbar .context-back{min-height:44px;font-size:12px}.master-report-viewer-close{min-height:36px;font-size:11px}.master-report-viewer-canvas{height:calc(100dvh - var(--master-report-viewer-header) - env(safe-area-inset-bottom));padding:0}.master-report-viewer-frame{box-shadow:none}.master-report-viewer-status{font-size:13px}}

@media(max-width:360px){
  .consult-checkout-product>header>.consult-price-offer{display:grid;grid-template-columns:1fr;gap:7px}
  .consult-checkout-product>header .consult-price-row{display:grid;grid-template-columns:minmax(0,1fr) auto}
  .consult-checkout-product>header .consult-price-row.is-list{padding-right:0;border-right:0}
}

@media print{
  body{background:#fff!important}
  .topbar,.context-filter-bar,.map-workspace,.primary-nav,.toast,.pwa-install-notice,
  .consult-result>.context-back,.consult-operator,.consult-result-actions{display:none!important}
  .app-shell,.detail-panel,.detail-panel-content{position:static!important;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;overflow:visible!important;transform:none!important;box-shadow:none!important}
  .detail-panel{display:block!important}
  .consult-result{max-width:none!important;padding:0!important;background:#fff!important}
  .consult-report-paper{border:0!important;border-radius:0!important;box-shadow:none!important}
}

/* Paid report editorial layout */
.consult-report-paper{color:#1c2a36}
.consult-report-chapter{padding:42px 44px}
.consult-chapter-label b{font-size:21px;letter-spacing:-.035em}
.consult-chapter-label span{font-size:10px}
.consult-chapter-intro{font-size:13px;line-height:1.75}
.consult-analysis-divider{padding:31px 44px;background:#17232e;color:#fff}
.consult-analysis-divider span{display:block;color:#76b6ff;font-size:10px;font-weight:950;letter-spacing:.16em}
.consult-analysis-divider strong{display:block;margin-top:8px;font-size:22px;letter-spacing:-.035em}
.consult-analysis-divider p{margin:7px 0 0;color:#bdc9d3;font-size:12px;line-height:1.6}
.consult-executive-narrative{margin:18px 0 22px;padding:20px 22px;border-radius:14px;background:#17232e;color:#fff}
.consult-executive-narrative span{display:block;color:#82bfff;font-size:10px;font-weight:950;letter-spacing:.08em}
.consult-executive-narrative p{margin:9px 0 0;color:#edf3f8;font-size:14px;line-height:1.8}
.consult-scenarios{display:grid;grid-template-columns:1fr;gap:18px}
.consult-scenario-group.consult-champion{margin:0;border:1px solid #dce5ec;border-radius:17px;background:#fff;overflow:hidden}
.consult-champion>header{min-height:112px;padding:17px 18px;align-items:flex-start;background:#f5f8fb}
.consult-champion>header>i{width:24px;height:24px;padding:5px;border-radius:8px;background:#fff}
.consult-champion>header span{display:block;margin-bottom:5px;color:#2f70c7;font-size:8px;font-weight:950;letter-spacing:.1em}
.consult-champion>header strong{font-size:14px}
.consult-champion>header p{margin-top:5px;font-size:10px;line-height:1.55}
.consult-champion-lead{display:grid!important;grid-template-columns:30px 1fr!important;gap:9px;padding:17px 18px!important}
.consult-champion-lead>b{color:#2f70c7;font-size:11px}
.consult-champion-lead h3{margin:0;font-size:17px;letter-spacing:-.035em}
.consult-champion-lead small{display:block;margin-top:4px;color:#75838f;font-size:9px;line-height:1.45}
.consult-champion-lead p{margin:9px 0 0;font-size:11px;font-weight:800;line-height:1.55}
.consult-champion-alternatives{display:grid!important;border-top:1px solid #e5ebf0}
.consult-champion-alternatives article{padding:12px 15px!important;grid-template-columns:24px 1fr!important}
.consult-champion-alternatives article strong{font-size:11px}
.consult-champion-alternatives article small,.consult-champion-alternatives article p{font-size:8.5px}
.consult-champion-routes{grid-column:1/-1;padding:0 12px 12px}
.consult-champion-routes .consult-route-diagram{margin-top:10px}
.consult-champion-routes .consult-route-diagram-head span,.consult-champion-routes .consult-route-diagram-head a,.consult-champion-routes .consult-route-legend{display:none}
.consult-champion-routes .consult-route-map{padding:4px}
.consult-champion-routes .consult-route-map svg{height:118px}
.consult-champion-lead.consult-medal-card,
.consult-runner-list>section.consult-runner-card{position:relative}
.consult-champion-lead.consult-medal-card{grid-template-columns:minmax(0,1fr)!important;padding-right:58px!important}
.consult-runner-list>section.consult-runner-card>div{grid-column:1/3;padding-right:42px}
.consult-rank-medal{position:absolute;z-index:1;top:14px;right:16px;width:28px;height:34px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50% 50% 46% 46%;box-shadow:0 3px 7px rgba(33,50,65,.16);font-size:11px;font-weight:950;line-height:1}
.consult-rank-medal::after{position:absolute;top:27px;left:5px;width:16px;height:13px;background:currentColor;clip-path:polygon(0 0,100% 0,76% 100%,50% 72%,24% 100%);content:"";opacity:.88}
.consult-rank-medal.is-gold{color:#a86c00;background:#fff4bd}
.consult-rank-medal.is-silver{color:#607585;background:#edf2f5}
.consult-rank-medal.is-bronze{color:#9d5437;background:#f9e3d9}
.consult-champion-lead .consult-rank-medal{top:16px;right:18px}
@media(max-width:700px){
  .consult-champion-lead.consult-medal-card{padding-right:54px!important}
  .consult-runner-list>section.consult-runner-card{padding-right:54px}
  .consult-runner-list>section.consult-runner-card>div{padding-right:0}
  .consult-rank-medal{top:14px;right:15px}
}
.consult-route-diagram{margin-top:15px;border:1px solid #d8e2ea;border-radius:15px;background:linear-gradient(180deg,#fff,#f8fbfd);overflow:hidden}
.consult-route-diagram-head{padding:15px 17px}
.consult-route-diagram-head strong{font-size:14px}
.consult-route-diagram-head span{font-size:10px}
.consult-route-map{padding:8px 14px;overflow:visible}
.consult-route-map svg{display:block;width:100%;height:172px;min-width:0!important}
.consult-route-edge text{fill:#344452;font-size:10px;font-weight:900}
.consult-route-node text{fill:#344452;font-size:10px;font-weight:850}
.consult-route-legend{padding:0 17px 14px;gap:14px;font-size:10px}
.consult-route-legend i{width:27px}
.consult-transit-profile-chart{grid-column:1/-1}
.consult-transit-profile-chart>header strong{font-size:16px}
.consult-transit-profiles{display:grid;gap:12px}
.consult-transit-profiles>article{padding:16px;border:1px solid #dce5eb;border-radius:14px;background:#fff}
.consult-transit-profiles>article.is-current-home{background:#f6f8fa;border-style:dashed}
.consult-transit-profiles h4{margin:0 0 13px;font-size:14px}
.consult-transit-profiles h4 small{display:block;margin-top:4px;color:#7a8792;font-size:9px;font-weight:650}
.consult-transit-profiles article>div{display:grid;gap:11px}
.consult-transit-profiles section{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:12px}
.consult-transit-profiles section>span{font-size:10px;font-weight:850}
.consult-transit-profiles section>div{position:relative;height:26px;border-radius:7px;background:repeating-linear-gradient(90deg,#edf2f5 0,#edf2f5 1px,transparent 1px,transparent 20%),#f8fafb}
.consult-transit-profiles section em.limit{position:absolute;top:0;bottom:0;width:2px;background:#e75353}
.consult-transit-profiles section i{position:absolute;top:4px;width:10px;height:10px;margin-left:-5px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 2px currentColor}
.consult-transit-profiles section i.home{color:#7b8792;background:#7b8792}
.consult-transit-profiles section i.current{color:#236fd1;background:#236fd1}
.consult-transit-profiles section i.future{color:#1a9465;background:#1a9465}
.consult-transit-profiles section i b{position:absolute;top:12px;left:50%;transform:translateX(-50%);font-size:9px;color:#243542}
.consult-transit-profiles section i small{display:none}
.consult-report-candidate{margin-bottom:28px;border:1px solid #d5e0e8;border-radius:20px;overflow:hidden;box-shadow:0 10px 28px rgba(30,49,66,.06)}
.consult-report-candidate>header{padding:23px 24px;background:#f4f8fb}
.consult-report-candidate>header h3{font-size:23px}
.consult-report-candidate>header p{font-size:11px}
.consult-candidate-narrative{margin:0;padding:20px 24px;border-bottom:1px solid #e5ebef;font-size:14px;line-height:1.8}
.consult-candidate-narrative strong{color:#2368bc}
.consult-candidate-facts{padding:0 24px;grid-template-columns:repeat(4,minmax(0,1fr))}
.consult-candidate-facts>div{padding:18px 4px}
.consult-candidate-facts span{font-size:10px}
.consult-candidate-facts strong{margin-top:5px;font-size:13px;line-height:1.45}
.consult-detail-block{padding:23px 24px;border-top:1px solid #e5ebef}
.consult-detail-block>h4{margin:0 0 16px;font-size:16px;letter-spacing:-.025em}
.consult-condition-pills{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.consult-condition-pills>span{min-height:88px;padding:12px;border:1px solid #dfe7ed;border-radius:12px;display:grid;grid-template-columns:18px 1fr;align-content:start;gap:5px 7px;background:#fff}
.consult-condition-pills svg{width:16px;height:16px}
.consult-condition-pills b{font-size:10px}
.consult-condition-pills small{grid-column:1/-1;color:#687783;font-size:9px;line-height:1.45}
.consult-condition-pills .pass{border-color:#b9dccd;background:#f1fbf6;color:#197553}
.consult-condition-pills .fail{border-color:#efc9c9;background:#fff6f6;color:#a63d3d}
.consult-condition-pills .pending{background:#f7f9fa;color:#687783}
.consult-condition-profile>p{margin:14px 0 0;padding:14px 16px;border-radius:10px;background:#f5f8fa;font-size:12px;line-height:1.75}
.consult-change-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.consult-change-strip span{padding:13px;border-radius:11px;background:#f4f7f9;font-size:11px}
.consult-change-strip b{display:block;margin-bottom:5px;font-size:9px;color:#71808c}
.consult-change-strip .is-better{background:#eef9f4;color:#147653}
.consult-change-strip .is-worse{background:#fff3f2;color:#a3443d}
.consult-life-profile{padding:23px 24px;border-top:1px solid #e5ebef}
.consult-life-profile>header{display:flex;justify-content:space-between;gap:12px;margin-bottom:13px}
.consult-life-profile>header span{display:block;color:#2f70c7;font-size:9px;font-weight:950}
.consult-life-profile>header strong{display:block;margin-top:4px;font-size:16px}
.consult-life-profile>header small{font-size:9px;color:#7b8791}
.consult-life-profile>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.consult-life-profile article{padding:13px;border:1px solid #dfe7ed;border-radius:12px;display:grid;grid-template-columns:25px 1fr;gap:3px 9px;align-items:start}
.consult-life-profile article>svg{width:21px;height:21px;color:#2f70c7}
.consult-life-profile article span{display:block;color:#74828d;font-size:9px;font-weight:850}
.consult-life-profile article strong{display:block;margin-top:3px;font-size:12px}
.consult-life-profile article small{display:block;margin-top:4px;color:#74828d;font-size:9px;line-height:1.5}
.consult-life-profile article>b{grid-column:2;font-size:9px}
.consult-life-profile .is-better{color:#167953}.consult-life-profile .is-worse{color:#a94740}.consult-life-profile .is-similar{color:#607181}
.consult-candidate-funding{margin:0 24px 24px;padding:17px;border-radius:13px;background:#17232e;color:#fff}
.consult-candidate-funding span{display:block;color:#aabac6;font-size:9px}
.consult-candidate-funding strong{display:block;margin-top:5px;font-size:14px}
.consult-candidate-funding small{display:block;margin-top:6px;color:#b9c6d0;font-size:9px}
.consult-upgrade-summary{display:grid;gap:12px;margin-bottom:22px}
.consult-upgrade-summary>article{padding:18px;border:1px solid #dce5eb;border-radius:15px}
.consult-upgrade-summary header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.consult-upgrade-summary header strong{font-size:15px}
.consult-upgrade-summary header small{display:block;margin-top:3px;color:#75838e;font-size:9px}
.consult-upgrade-summary header>b{padding:5px 8px;border-radius:99px;background:#eaf4ff;color:#2464ad;font-size:9px}
.consult-change-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}
.consult-change-columns section{padding:12px;border-radius:10px;background:#f5f7f9}
.consult-change-columns span{display:block;font-size:8px;font-weight:900;color:#76838d}
.consult-change-columns strong{display:block;margin-top:5px;font-size:11px;line-height:1.45}
.consult-change-columns small{display:block;margin-top:4px;font-size:9px}
.consult-change-columns .is-better{background:#eff9f4}.consult-change-columns .is-worse{background:#fff3f2}
.consult-upgrade-summary article>p{margin:13px 0 0;font-size:11px;line-height:1.7}
.consult-funding-summary{grid-template-columns:1fr auto 1fr auto 1fr}
.consult-funding-summary>div small{display:block;margin-top:4px;color:#72808c;font-size:8px;line-height:1.4}
.consult-funding-summary>i{width:18px;height:18px;color:#7e8b95}
.consult-funding-candidates article>p{margin:10px 0 0;font-size:10px;line-height:1.55}
.consult-funding-candidates article>p strong{color:#276ab9}

/* Paid report visual system */
.consult-report-paper{
  --report-ink:#172838;
  --report-muted:#6d7c88;
  --report-line:#dfe6eb;
  --report-soft:#f6f8fa;
  --report-blue:#2268b7;
  --report-green:#19815d;
  color:var(--report-ink);
  border-color:#d8e0e6;
  border-radius:14px;
  box-shadow:0 18px 48px rgba(24,43,59,.08)
}
.consult-report-cover{padding:38px 42px 42px;background:#172b3d}
.consult-report-cover h1{font-size:31px;line-height:1.14;letter-spacing:-.045em}
.consult-report-cover-copy{font-size:13px;line-height:1.7}
.consult-report-cover .consult-result-filters{gap:7px}
.consult-report-cover .consult-result-filters span{padding:6px 10px;background:rgba(255,255,255,.06);font-size:9px}
.consult-report-chapter{padding:40px 42px;border-color:var(--report-line)}
.consult-chapter-label{margin-bottom:22px;align-items:baseline}
.consult-chapter-label span{font-size:10px;color:var(--report-blue)}
.consult-chapter-label b{font-size:22px;line-height:1.25}
.consult-chapter-intro{margin:-6px 0 22px;color:var(--report-muted);font-size:12px;line-height:1.75}
.consult-current-home{border:1px solid var(--report-line);border-radius:11px;background:#f8fafb}
.consult-verdict{margin-top:12px;padding:22px 23px;border-left:3px solid var(--report-blue);border-radius:0 10px 10px 0;background:#f1f6fb}
.consult-verdict h2{font-size:22px;line-height:1.38}
.consult-verdict p{font-size:12px;line-height:1.75}
.consult-executive-narrative{margin:22px 0 24px;padding:4px 0 4px 18px;border-left:2px solid #a9bdd0;border-radius:0;background:transparent;color:var(--report-ink)}
.consult-executive-narrative span{color:var(--report-blue);font-size:9px}
.consult-executive-narrative p{margin-top:8px;color:#354b5e;font-size:13px;line-height:1.85}
.consult-scenarios{gap:14px}
.consult-scenario-group.consult-champion{border-color:var(--report-line);border-radius:12px;box-shadow:none}
.consult-champion>header,
.consult-scenario-group.is-future>header,
.consult-scenario-group.is-value>header{min-height:0;padding:16px 18px;background:#f7f9fb}
.consult-champion>header>i{width:26px;height:26px;padding:5px;border:1px solid #dfe7ed;border-radius:8px;background:#fff;color:var(--report-blue);box-shadow:none}
.consult-scenario-group.is-future>header>i,
.consult-scenario-group.is-value>header>i{color:var(--report-blue)}
.consult-champion>header span{margin-bottom:4px;color:var(--report-blue);font-size:9px;letter-spacing:.08em}
.consult-champion>header strong{font-size:15px}
.consult-champion>header p{margin-top:5px;color:var(--report-muted);font-size:10px}
.consult-champion-lead{grid-template-columns:28px 1fr!important;padding:17px 18px!important}
.consult-champion-lead>b{font-size:10px}
.consult-champion-lead h3{font-size:18px}
.consult-champion-lead small{font-size:10px}
.consult-champion-lead p{font-size:12px;line-height:1.6}
.consult-champion-time{display:flex;align-items:center;gap:10px;margin-top:15px}
.consult-champion-time>span{min-width:88px;padding:10px 12px;border:1px solid var(--report-line);border-radius:9px;background:#f8fafb}
.consult-champion-time>span>small{margin:0;color:var(--report-muted);font-size:8px;font-weight:850}
.consult-champion-time>span>strong{display:block;margin-top:3px;color:#52687a;font-size:25px;line-height:1;letter-spacing:-.045em}
.consult-champion-time>span>strong em{margin-left:2px;font-size:11px;font-style:normal;letter-spacing:0}
.consult-champion-time>span.is-primary{border-color:#9fc1e5;background:#eef5fc}
.consult-champion-time>span.is-primary>strong{color:var(--report-blue)}
.consult-champion-time>i{width:15px;height:15px;color:#8b99a4}
.consult-champion-time>mark{padding:5px 8px;border-radius:99px;background:#e7f5ee;color:#167456;font-size:9px;font-weight:900;white-space:nowrap}
.consult-champion-time>mark.is-same{background:#f0f3f5;color:#697986}
.consult-champion-alternatives article{padding:13px 18px!important}
.consult-champion-alternatives article strong{font-size:12px}
.consult-champion-alternatives article small,.consult-champion-alternatives article p{font-size:9.5px;line-height:1.5}
.consult-champion-routes{padding:0 12px 12px}
.consult-route-diagram{border-color:var(--report-line);border-radius:10px;background:#fff}
.consult-route-diagram-head{padding:15px 17px 10px}
.consult-route-diagram-head strong{font-size:13px}
.consult-route-diagram-head span{font-size:10px}
.consult-route-diagram-head .consult-route-time{display:flex;flex:0 0 auto;align-items:center;gap:8px}
.consult-route-diagram-head .consult-route-time>b{color:var(--report-blue);font-size:24px;line-height:1;letter-spacing:-.04em}
.consult-route-diagram-head .consult-route-time>b>em{margin-left:2px;font-size:10px;font-style:normal;letter-spacing:0}
.consult-route-diagram.is-future .consult-route-time>b{color:var(--report-green)}
.consult-route-map{padding:7px 14px 10px}
.consult-route-edge text,.consult-route-node text{fill:#263d50;font-weight:800}
.consult-route-legend{font-size:9px;color:var(--report-muted)}
.consult-analysis-divider{padding:28px 42px;background:#172b3d}
.consult-analysis-divider strong{font-size:21px}
.consult-analysis-divider p{font-size:11px}
.consult-brief-grid{grid-template-columns:repeat(2,minmax(0,1fr));border-color:var(--report-line);border-radius:10px}
.consult-brief-grid>div{min-height:76px;padding:15px 16px;border-color:var(--report-line)!important}
.consult-brief-grid>div:nth-child(3n){border-right:1px solid var(--report-line)}
.consult-brief-grid>div:nth-child(2n){border-right:0!important}
.consult-brief-grid>div:nth-last-child(-n+3){border-bottom:1px solid var(--report-line)}
.consult-brief-grid>div:nth-last-child(-n+2){border-bottom:0}
.consult-brief-grid>div:last-child:nth-child(odd){grid-column:1/-1;border-right:0!important}
.consult-brief-grid span{font-size:9px}
.consult-brief-grid strong{margin-top:6px;font-size:12px;line-height:1.5}
.consult-report-chapter blockquote{border-radius:9px}
.consult-report-chapter blockquote span{font-size:9px}
.consult-report-chapter blockquote p{font-size:12px}
.consult-assumption{border-radius:9px}
.consult-assumption strong{font-size:11px}
.consult-assumption p{font-size:10px}
.consult-weight-grid span,.consult-weight-grid b{font-size:10px}
.consult-weight-grid i{height:4px}
.consult-analysis-steps{grid-template-columns:1fr;gap:0;border-top:1px solid var(--report-line)}
.consult-analysis-steps li{min-height:0;padding:18px 0;border:0;border-bottom:1px solid var(--report-line);border-radius:0;grid-template-columns:34px 1fr;background:transparent}
.consult-analysis-steps li>b{width:27px;height:27px;border-radius:50%;background:#263e52;font-size:8px}
.consult-analysis-steps strong{font-size:12px}
.consult-analysis-steps p{margin-top:5px;font-size:10px;line-height:1.65}
.consult-chart-card{padding:20px;border-color:var(--report-line);border-radius:10px;box-shadow:none}
.consult-chart-card>header span{font-size:9px}
.consult-chart-card>header strong{font-size:15px}
.consult-chart-card>header small{font-size:9px}
.consult-chart-card>p{font-size:9.5px;line-height:1.65}
.consult-funnel-chart>div{grid-template-columns:126px minmax(0,1fr) 42px 76px}
.consult-funnel-chart span{font-size:9px}
.consult-funnel-chart i{height:12px;border-radius:2px}
.consult-funnel-chart em{border-radius:2px;background:#557fa5}
.consult-funnel-chart strong{font-size:10px}
.consult-range-chart>div,.consult-bar-chart>div{grid-template-columns:130px minmax(0,1fr) 84px}
.consult-range-chart>div>span,.consult-bar-chart>div>span{font-size:9px}
.consult-range-chart>div>span small,.consult-bar-chart>div>span small{font-size:8px}
.consult-range-chart section,.consult-bar-chart section{height:15px;border-radius:2px}
.consult-range-chart strong,.consult-bar-chart strong{font-size:9px}
.consult-transit-profiles{gap:0;border-top:1px solid var(--report-line)}
.consult-transit-profiles>article{padding:19px 0;border:0;border-bottom:1px solid var(--report-line);border-radius:0;background:transparent}
.consult-transit-profiles h4{margin-bottom:15px;font-size:14px}
.consult-transit-profiles h4 small{font-size:9px}
.consult-transit-profiles article>div{gap:13px}
.consult-transit-profiles section{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:start;gap:12px}
.consult-transit-profiles section>header{padding-top:2px}
.consult-transit-profiles section>header span{display:block;font-size:10px;font-weight:850}
.consult-transit-profiles section>header small{display:block;margin-top:3px;color:#7b8791;font-size:8px}
.consult-transit-bars{position:relative;display:grid;gap:5px;padding-right:68px}
.consult-transit-bars>em.limit{position:absolute;z-index:3;top:0;bottom:0;width:1px;background:#c75d55}
.consult-transit-bar{position:relative;height:19px;border-radius:3px;background:#f1f4f6}
.consult-transit-profiles .consult-transit-bars .consult-transit-bar>i{position:static;top:auto;left:auto;display:block;height:100%;margin:0;border:0;border-radius:3px;box-shadow:none;background:#2c70bb}
.consult-transit-profiles .consult-transit-bars .consult-transit-bar>i.future{background:#258466}
.consult-transit-bar>b{position:absolute;left:calc(100% + 7px);top:50%;width:62px;transform:translateY(-50%);color:#324555;font-size:8px;white-space:nowrap}
.consult-chart-legend{font-size:8px}
.consult-chart-legend i.home-marker{border:1px solid #8a969f;background:#fff}
.consult-chart-legend i.current-marker{background:#2c70bb}
.consult-chart-legend i.future-marker{background:#258466}
.consult-chart-legend i.limit-marker{width:1px;background:#c75d55}

/* Final paid-report transit comparison: vertical bars + average matrix */
.consult-transit-matrix{overflow:hidden;border:1px solid var(--report-line);border-radius:10px;background:#fff}
.consult-transit-matrix-head,.consult-transit-matrix-row{display:grid;align-items:stretch}
.consult-transit-matrix-head{min-width:610px;min-height:43px;background:#f5f7f9;color:#667988;font-size:8px;font-weight:850;text-align:center}
.consult-transit-matrix-head>*{display:flex;align-items:center;justify-content:center;padding:0 11px;border-left:1px solid var(--report-line)}
.consult-transit-matrix-head>span{justify-content:flex-start;border-left:0;text-align:left}
.consult-transit-matrix-head>b{color:#2e4d66}
.consult-transit-matrix-row{min-width:610px;min-height:150px;border-top:1px solid var(--report-line)}
.consult-transit-matrix-row.is-current-home{background:#f8fafb}
.consult-transit-matrix-row>header{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:18px 15px}
.consult-transit-matrix-row>header span{margin-bottom:5px;color:#2f70c7;font-size:8px;font-weight:900}
.consult-transit-matrix-row.is-current-home>header span{color:#687985}
.consult-transit-matrix-row>header strong{overflow:hidden;color:var(--report-ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.consult-transit-matrix-row>header small{display:-webkit-box;margin-top:5px;overflow:hidden;color:var(--report-muted);font-size:8px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.consult-transit-matrix-cell{display:flex;flex-direction:column;align-items:center;justify-content:end;padding:15px 9px 13px;border-left:1px solid var(--report-line)}
.consult-transit-destination{display:none;color:#52697a;font-size:8px;font-weight:850}
.consult-transit-mini-bars{position:relative;width:74px;height:91px;display:flex;align-items:flex-end;justify-content:center;gap:8px;border-bottom:1px solid #cbd5dc}
.consult-transit-mini-bars::before{position:absolute;inset:0;background:repeating-linear-gradient(to top,transparent 0,transparent 29px,#edf1f4 29px,#edf1f4 30px);content:""}
.consult-transit-mini-bars>em.limit{position:absolute;z-index:3;right:0;left:0;height:1px;background:#cb645b}
.consult-transit-mini-bars>span{position:relative;z-index:2;width:25px;height:100%;display:flex;align-items:flex-end;justify-content:center}
.consult-transit-mini-bars>span i{display:block;width:100%;height:var(--height);min-height:6px;border-radius:4px 4px 1px 1px;background:#83909a}
.consult-transit-mini-bars>span.future i{background:#2a72cf}
.consult-transit-mini-bars>span b{position:absolute;right:50%;bottom:calc(var(--height) + 5px);color:#304657;font-size:9px;line-height:1;transform:translateX(50%)}
.consult-transit-mini-bars>span small{position:absolute;top:calc(100% + 5px);left:50%;color:#758590;font-size:7px;white-space:nowrap;transform:translateX(-50%)}
.consult-transit-mini-bars>span.future small{color:#1e65b7}
.consult-transit-matrix-cell>strong{margin-top:14px;color:#226c58;font-size:8px}
.consult-transit-average{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:15px 10px;border-left:1px solid var(--report-line);background:#f6f9fc;text-align:center}
.consult-transit-average>span{color:#667b8b;font-size:8px;font-weight:850}
.consult-transit-average>p{margin:9px 0 0;display:flex;align-items:center;justify-content:center;gap:5px;color:#758590}
.consult-transit-average>p b,.consult-transit-average>p strong{font-size:20px;line-height:1;letter-spacing:-.05em}
.consult-transit-average>p strong{color:#1f67bb}
.consult-transit-average>p strong em{margin-left:2px;font-size:8px;font-style:normal;letter-spacing:0}
.consult-transit-average>p svg{width:12px;height:12px}
.consult-transit-average>small{margin-top:8px;color:#226c58;font-size:8px;font-weight:850}
.consult-position-card{grid-column:1/-1}
.consult-position-legend{margin:0 0 18px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px;list-style:none}
.consult-position-legend li{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;min-width:0}
.consult-position-legend li>i,.consult-position-axis>i{--dot:#2f70c7;display:grid;place-items:center;border-radius:50%;background:var(--dot);color:#fff;font-style:normal;font-weight:900}
.consult-position-legend li[style*="--series:1"]>i,.consult-position-axis>i[style*="--series:1"]{--dot:#258466}
.consult-position-legend li[style*="--series:2"]>i,.consult-position-axis>i[style*="--series:2"]{--dot:#7a62b8}
.consult-position-legend li[style*="--series:3"]>i,.consult-position-axis>i[style*="--series:3"]{--dot:#c77a31}
.consult-position-legend li>i{width:22px;height:22px;font-size:8px}
.consult-position-legend span,.consult-position-legend strong,.consult-position-legend small{display:block;min-width:0}
.consult-position-legend strong{overflow:hidden;color:var(--report-ink);font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.consult-position-legend small{margin-top:2px;color:var(--report-muted);font-size:7px}
.consult-position-map{padding:5px 0;border-top:1px solid var(--report-line);border-bottom:1px solid var(--report-line)}
.consult-position-map>section{display:grid;grid-template-columns:104px minmax(0,1fr) 28px;align-items:center;gap:10px;min-height:46px;border-top:1px solid #edf1f4}
.consult-position-map>section:first-child{border-top:0}
.consult-position-map>section>header strong,.consult-position-map>section>header small{display:block}
.consult-position-map>section>header strong{font-size:9px}
.consult-position-map>section>header small,.consult-position-map>section>small{margin-top:3px;color:#82909a;font-size:7px}
.consult-position-map>section>small{text-align:right}
.consult-position-axis{position:relative;height:34px;background:linear-gradient(90deg,#edf1f4 1px,transparent 1px) 0 0/25% 100%,linear-gradient(#f5f7f9,#f5f7f9) center/100% 4px no-repeat}
.consult-position-axis>i{position:absolute;top:calc(3px + var(--row) * 6px);left:var(--position);width:13px;height:13px;border:2px solid #fff;box-shadow:0 0 0 1px var(--dot);font-size:6px;transform:translateX(-50%)}
.consult-position-indexes{margin-bottom:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.consult-position-indexes>span{display:grid;grid-template-columns:24px minmax(0,1fr);grid-template-rows:auto auto;column-gap:8px;padding:10px 11px;border:1px solid var(--report-line);border-radius:8px;background:#f8fafb}
.consult-position-indexes b{grid-row:1/3;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#e7f0f9;color:#2265ad;font-size:9px}
.consult-position-indexes strong{font-size:9px}
.consult-position-indexes small{margin-top:2px;color:var(--report-muted);font-size:7px}
.consult-position-bubble-map{overflow:hidden;border:1px solid var(--report-line);border-radius:10px;background:#fbfcfd}
.consult-position-bubble-map svg{display:block;width:100%;height:auto}
.consult-bubble-grid line{stroke:#e4eaf0;stroke-width:1}
.consult-bubble-quadrants text{fill:#94a1ab;font-size:10px;font-weight:750}
.consult-bubble-axis-labels text{fill:#5c7080;font-size:11px;font-weight:850}
.consult-position-marker-halo{fill:#2f70c7;fill-opacity:.17;stroke:#fff;stroke-width:2;filter:drop-shadow(0 3px 6px rgba(35,71,102,.12))}
.consult-position-marker-dot{fill:#2f70c7;stroke:#fff;stroke-width:2}
.consult-position-point.is-series-1 .consult-position-marker-halo,.consult-position-point.is-series-1 .consult-position-marker-dot{fill:#258466}
.consult-position-point.is-series-2 .consult-position-marker-halo,.consult-position-point.is-series-2 .consult-position-marker-dot{fill:#7862b5}
.consult-position-point.is-series-3 .consult-position-marker-halo,.consult-position-point.is-series-3 .consult-position-marker-dot{fill:#c4772f}
.consult-position-point.is-current-home .consult-position-marker-halo{fill:#7f8b95;fill-opacity:1}
.consult-position-point.is-current-home .consult-position-marker-dot{fill:#596772}
.consult-position-leader{fill:none;stroke:#9dacb8;stroke-width:1.4}
.consult-position-pill{fill:#fff;stroke:#ccd8e1;stroke-width:1}
.consult-position-pill-text{fill:#172b3d;font-size:10px;font-weight:900;letter-spacing:-.02em;pointer-events:none}

@media(max-width:700px){
  .consult-transit-profile-chart{padding:16px 13px}
  .consult-transit-profile-chart>header{align-items:start}
  .consult-transit-profile-chart>header strong{font-size:14px;line-height:1.35}
  .consult-transit-profile-chart>header small{padding-top:2px;white-space:nowrap}
  .consult-transit-matrix{border:0;border-radius:0;background:transparent;overflow:visible}
  .consult-transit-matrix-head{display:none}
  .consult-transit-matrix-row,.consult-transit-matrix-row[style]{min-width:0;min-height:0;margin-top:10px;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;border:1px solid var(--report-line);border-radius:10px;overflow:hidden;background:#fff}
  .consult-transit-matrix-row:first-of-type{margin-top:0}
  .consult-transit-matrix-row>header{grid-column:1/2;min-height:92px;padding:14px 12px;border-bottom:1px solid var(--report-line)}
  .consult-transit-matrix-row>header strong{font-size:12px;white-space:normal}
  .consult-transit-average{grid-column:2/3;grid-row:1;padding:13px 9px;border-bottom:1px solid var(--report-line)}
  .consult-transit-average>p{margin-top:6px}
  .consult-transit-average>p b,.consult-transit-average>p strong{font-size:18px}
  .consult-transit-average>small{margin-top:5px}
  .consult-transit-matrix-cell{position:relative;min-height:142px;padding:30px 7px 13px;border-left:0;border-top:1px solid var(--report-line)}
  .consult-transit-matrix-cell:nth-of-type(even){border-left:1px solid var(--report-line)}
  .consult-transit-destination{position:absolute;top:10px;left:10px;display:block}
  .consult-transit-mini-bars{width:68px;height:78px}
  .consult-position-legend{grid-template-columns:1fr;gap:6px}
  .consult-position-map>section{grid-template-columns:72px minmax(0,1fr) 24px;gap:7px;min-height:45px}
  .consult-position-map>section>header strong{font-size:8px}
  .consult-position-axis>i{width:12px;height:12px}
  .consult-position-indexes{grid-template-columns:1fr;gap:5px}
  .consult-position-indexes>span{grid-template-columns:22px minmax(0,1fr);min-height:0;padding:8px 9px}
  .consult-position-indexes b{width:22px;height:22px}
  .consult-position-bubble-map{border-radius:8px}
  .consult-position-pill-text{font-size:13px}
  .consult-bubble-quadrants text{font-size:12px}
  .consult-bubble-axis-labels text{font-size:13px}
}
.consult-route-scroll-hint{display:none}

/* Internal paid-report transit chart review */
.transit-chart-review{max-width:980px;margin:0 auto;padding:40px 32px 100px;color:#172b3d}
.transit-review-hero{margin-bottom:24px}
.transit-review-hero>span{color:#2f70c7;font-size:11px;font-weight:900;letter-spacing:.06em}
.transit-review-hero h1{margin:8px 0 0;font-size:30px;letter-spacing:-.04em}
.transit-review-hero p{margin:9px 0 0;color:#667684;font-size:14px;line-height:1.65}
.transit-review-hero nav{margin-top:20px;display:flex;gap:8px}
.transit-review-hero nav a{min-width:52px;padding:9px 12px;border:1px solid #d6e0e8;border-radius:8px;color:#647583;font-size:12px;font-weight:800;text-align:center;text-decoration:none}
.transit-review-hero nav a.is-active{border-color:#2f70c7;background:#2f70c7;color:#fff}
.transit-review-paper{padding:30px;border:1px solid #d7e1e8;border-radius:18px;background:#fff;box-shadow:0 18px 48px rgba(28,49,68,.08)}
.transit-review-heading{display:flex;align-items:end;justify-content:space-between;gap:16px}
.transit-review-heading span{color:#2f70c7;font-size:10px;font-weight:900}
.transit-review-heading h2{margin:6px 0 0;font-size:22px;letter-spacing:-.03em}
.transit-review-heading>small{color:#71808d;font-size:11px;font-weight:750}
.transit-review-legend{margin:18px 0 24px;display:flex;align-items:center;gap:7px 12px;color:#687987;font-size:10px}
.transit-review-legend i{width:16px;height:7px;border-radius:2px;background:#84909a}
.transit-review-legend i.future{background:#2673d9}
.transit-review-legend i.limit{width:2px;height:13px;background:#d05f55}
.transit-review-paper>footer{margin-top:24px;padding-top:16px;border-top:1px solid #e5eaee;color:#7a8791;font-size:10px;line-height:1.65}
.transit-variant-chart{--track:#eef2f5;--current:#87939d;--future:#2673d9}
.transit-variant-chart .review-limit{position:absolute;z-index:3;top:-4px;bottom:-4px;left:var(--limit);width:1px;background:#d05f55}
.transit-variant-chart .review-limit span{position:absolute;right:4px;bottom:calc(100% + 3px);color:#bd5149;font-size:8px;font-style:normal;white-space:nowrap}
.transit-variant-chart.is-columns{min-height:340px;padding:26px 22px 0;border-bottom:1px solid #dfe6eb;display:flex;align-items:stretch;justify-content:center;gap:30px}
.transit-variant-chart.is-columns>article{width:min(180px,30%);display:grid;grid-template-rows:245px auto auto;gap:8px;text-align:center}
.review-column-bars{height:245px;display:flex;align-items:flex-end;justify-content:center;gap:10px}
.review-column-bars>span{position:relative;width:52px;height:100%;display:flex;align-items:flex-end}
.review-column-bars>span>i{width:100%;height:var(--height);min-height:10px;border-radius:7px 7px 0 0;background:#87939d}
.review-column-bars>span.future>i{background:var(--series)}
.review-column-bars>span>b{position:absolute;right:50%;bottom:calc(var(--height) + 7px);font-size:13px;transform:translateX(50%);white-space:nowrap}
.review-column-bars>span>small{position:absolute;top:calc(100% + 9px);left:50%;color:#7c8993;font-size:9px;transform:translateX(-50%);white-space:nowrap}
.transit-variant-chart.is-columns>article>strong{margin-top:18px;overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.transit-variant-chart.is-columns>article>small{color:var(--series);font-size:10px;font-weight:850}
.transit-variant-chart.is-horizontal{display:grid;gap:12px}
.transit-variant-chart.is-horizontal>article{padding:18px;border:1px solid #e0e7ec;border-radius:12px}
.transit-variant-chart.is-horizontal>article>header{margin-bottom:15px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.transit-variant-chart.is-horizontal header strong,.transit-variant-chart.is-horizontal header small{display:block}
.transit-variant-chart.is-horizontal header strong{font-size:14px}
.transit-variant-chart.is-horizontal header small{margin-top:3px;color:#778692;font-size:9px}
.transit-variant-chart.is-horizontal header>b{font-size:19px}
.transit-variant-chart.is-horizontal header>b em{font-size:9px;font-style:normal}
.transit-variant-chart.is-horizontal header>b i{margin:0 7px;color:#9aa5ad;font-style:normal}
.transit-variant-chart.is-horizontal article>section{display:grid;grid-template-columns:72px minmax(0,1fr) 62px;align-items:center;gap:12px;padding:8px 0}
.transit-variant-chart.is-horizontal article>section>span{font-size:10px;font-weight:800}
.transit-variant-chart.is-horizontal article>section>div{position:relative;height:24px;border-radius:4px;background:var(--track)}
.transit-variant-chart .review-bar{position:absolute;left:0;display:block;width:var(--width)}
.transit-variant-chart.is-horizontal .review-bar.current{top:3px;height:8px;border-radius:3px;background:var(--current)}
.transit-variant-chart.is-horizontal .review-bar.future{bottom:3px;height:8px;border-radius:3px;background:var(--future)}
.transit-variant-chart.is-horizontal article>section>strong{font-size:10px;text-align:right}
.transit-variant-chart.is-overlay{display:grid;gap:16px}
.transit-variant-chart.is-overlay>article{padding:20px 0;border-top:1px solid #e1e7eb}
.transit-variant-chart.is-overlay>article:first-child{border-top:0}
.transit-variant-chart.is-overlay>article>header{margin-bottom:14px;display:flex;justify-content:space-between;gap:14px}
.transit-variant-chart.is-overlay header span,.transit-variant-chart.is-overlay header strong{display:block}
.transit-variant-chart.is-overlay header span{color:#2f70c7;font-size:9px;font-weight:900}
.transit-variant-chart.is-overlay header strong{margin-top:4px;font-size:15px}
.transit-variant-chart.is-overlay header>b{align-self:end;padding:5px 9px;border-radius:6px;background:#eaf5f0;color:#22765d;font-size:10px}
.transit-variant-chart.is-overlay article>section{display:grid;grid-template-columns:74px minmax(0,1fr);align-items:center;gap:12px;margin-top:11px}
.transit-variant-chart.is-overlay article>section>span{font-size:10px;font-weight:800}
.transit-variant-chart.is-overlay article>section>div{position:relative;height:26px;border-radius:5px;background:var(--track)}
.transit-variant-chart.is-overlay .review-bar.current{top:4px;height:18px;border:2px solid #86939d;border-radius:4px;background:transparent}
.transit-variant-chart.is-overlay .review-bar.future{top:8px;height:10px;border-radius:3px;background:var(--future)}
.transit-variant-chart.is-overlay .review-bar>b{position:absolute;left:calc(100% + 6px);top:50%;font-size:9px;transform:translateY(-50%)}
.transit-variant-chart.is-overlay .review-bar.current>b{color:#66747f}
.transit-variant-chart.is-overlay .review-bar.future>b{color:#145eb8}
.transit-variant-chart.is-destination{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.transit-variant-chart.is-destination>section{padding:18px;border:1px solid #dfe7ed;border-radius:12px}
.transit-variant-chart.is-destination>section>header{margin-bottom:15px;display:flex;align-items:end;justify-content:space-between}
.transit-variant-chart.is-destination header span,.transit-variant-chart.is-destination header strong{display:block}
.transit-variant-chart.is-destination header span{color:#2f70c7;font-size:8px;font-weight:900}
.transit-variant-chart.is-destination header strong{margin-top:3px;font-size:15px}
.transit-variant-chart.is-destination header small{color:#7d8992;font-size:8px}
.transit-variant-chart.is-destination article{display:grid;grid-template-columns:88px minmax(0,1fr) 72px;align-items:center;gap:9px;padding:10px 0;border-top:1px solid #edf0f2}
.transit-variant-chart.is-destination article>span{overflow:hidden;font-size:9px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.transit-variant-chart.is-destination article>div{position:relative;height:25px;border-radius:4px;background:var(--track)}
.transit-variant-chart.is-destination .review-bar.current{top:3px;height:8px;border-radius:3px;background:var(--current)}
.transit-variant-chart.is-destination .review-bar.future{bottom:3px;height:8px;border-radius:3px;background:var(--future)}
.transit-variant-chart.is-destination article>strong{font-size:9px;text-align:right}
.transit-variant-chart.is-destination article>strong i{margin:0 4px;color:#89949d;font-style:normal}
.transit-variant-chart.is-destination article>strong em{color:#1769c5;font-style:normal}
.transit-variant-chart.is-matrix{border:1px solid #dfe6eb;border-radius:12px;overflow:hidden}
.transit-variant-chart.is-matrix>header,.transit-variant-chart.is-matrix>article{display:grid;grid-template-columns:minmax(150px,1.3fr) repeat(2,minmax(120px,1fr)) 88px;align-items:center}
.transit-variant-chart.is-matrix>header{min-height:48px;padding:0 15px;background:#f4f7f9;color:#60717e;font-size:9px;text-align:center}
.transit-variant-chart.is-matrix>header>span{text-align:left}
.transit-variant-chart.is-matrix>article{min-height:150px;padding:14px 15px;border-top:1px solid #e4e9ed;text-align:center}
.transit-variant-chart.is-matrix>article>div{text-align:left}
.transit-variant-chart.is-matrix>article>div strong,.transit-variant-chart.is-matrix>article>div small{display:block}
.transit-variant-chart.is-matrix>article>div strong{font-size:12px}
.transit-variant-chart.is-matrix>article>div small{margin-top:4px;color:#73838f;font-size:9px}
.transit-variant-chart.is-matrix article>section{align-self:stretch;padding:0 12px;border-left:1px solid #edf0f2}
.review-mini-columns{height:95px;display:flex;align-items:flex-end;justify-content:center;gap:7px}
.review-mini-columns>i{position:relative;width:28px;height:var(--height);min-height:7px;border-radius:4px 4px 0 0;background:var(--current)}
.review-mini-columns>i.future{background:var(--future)}
.review-mini-columns>i b{position:absolute;right:50%;bottom:calc(100% + 4px);font-size:9px;transform:translateX(50%)}
.transit-variant-chart.is-matrix article>section>small{display:block;margin-top:5px;color:#2a7960;font-size:8px;font-weight:800}
.transit-variant-chart.is-matrix article>b{font-size:12px}
.transit-variant-chart.is-matrix article>b i{margin:0 5px;color:#94a0a8;font-style:normal}
.transit-variant-chart.is-matrix article>b em{color:#1769c5;font-style:normal}

@media(max-width:700px){
  .transit-chart-review{padding:24px 14px 90px}
  .transit-review-hero h1{font-size:25px}
  .transit-review-hero nav{overflow-x:auto}
  .transit-review-paper{padding:20px 14px;border-radius:14px}
  .transit-review-heading{align-items:start;display:grid}
  .transit-review-heading h2{font-size:18px}
  .transit-variant-chart.is-columns{min-height:300px;padding:18px 0 0;gap:8px}
  .transit-variant-chart.is-columns>article{width:33%;grid-template-rows:205px auto auto}
  .review-column-bars{height:205px;gap:4px}
  .review-column-bars>span{width:min(34px,46%)}
  .review-column-bars>span>b{font-size:9px}
  .transit-variant-chart.is-columns>article>strong{font-size:10px}
  .transit-variant-chart.is-horizontal>article{padding:14px 12px}
  .transit-variant-chart.is-horizontal article>section{grid-template-columns:58px minmax(0,1fr) 48px;gap:7px}
  .transit-variant-chart.is-overlay article>section{grid-template-columns:58px minmax(0,1fr);gap:8px}
  .transit-variant-chart.is-destination{grid-template-columns:1fr}
  .transit-variant-chart.is-destination article{grid-template-columns:76px minmax(0,1fr) 68px}
  .transit-variant-chart.is-matrix{overflow-x:auto}
  .transit-variant-chart.is-matrix>header,.transit-variant-chart.is-matrix>article{min-width:560px}
}
.consult-upgrade-summary{gap:0;border-top:1px solid var(--report-line)}
.consult-upgrade-summary>article{padding:18px 0;border:0;border-bottom:1px solid var(--report-line);border-radius:0}
.consult-upgrade-summary header strong{font-size:15px}
.consult-upgrade-summary header>b{border-radius:6px;background:#edf4fa;font-size:9px}
.consult-change-columns{gap:1px;border:1px solid var(--report-line);border-radius:8px;overflow:hidden;background:var(--report-line)}
.consult-change-columns section,
.consult-change-columns .is-better,
.consult-change-columns .is-worse{padding:12px 13px;border-radius:0;background:#fff}
.consult-change-columns span{font-size:8px}
.consult-change-columns strong{font-size:11px}
.consult-change-columns small{font-size:9px}
.consult-upgrade-summary article>p{font-size:11px}
.consult-funding-plan{border-color:var(--report-line);border-radius:10px;background:#f7f9fb}
.consult-funding-summary>div{border:1px solid var(--report-line);border-radius:8px}
.consult-funding-candidates article{border-radius:8px}
.consult-report-candidate{margin-bottom:24px;border-color:#d6dfe6;border-radius:12px;box-shadow:none}
.consult-report-candidate>header{padding:21px 22px;background:#f7f9fb}
.consult-report-candidate>header h3{font-size:21px}
.consult-report-candidate>header p{font-size:10px}
.consult-candidate-narrative{padding:20px 22px;font-size:13px;line-height:1.85}
.consult-candidate-narrative>span{display:block;margin-bottom:8px;color:var(--report-blue);font-size:9px;font-weight:950;letter-spacing:.08em}
.consult-candidate-narrative>p{margin:0;color:#43596a;word-break:keep-all}
.consult-candidate-narrative>p+p{margin-top:8px;color:#5b6f7e}
.consult-candidate-narrative>p strong{color:#263f53;font-size:14px}
.consult-candidate-facts{padding:0 22px}
.consult-candidate-facts>div{padding:16px 4px}
.consult-candidate-facts span{font-size:9px}
.consult-candidate-facts strong{font-size:12px}
.consult-detail-block{padding:21px 22px}
.consult-detail-block>h4{font-size:15px}
.consult-condition-pills{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.consult-condition-pills>span{min-height:0;padding:11px 12px;border-radius:8px;background:#fff}
.consult-condition-pills .pass{border-color:#bcd4ca;border-left:3px solid #318367;background:#fff;color:#216b56}
.consult-condition-pills .fail{border-color:#dfc5c2;border-left:3px solid #b95b51;background:#fff;color:#91443e}
.consult-condition-pills .pending{border-left:3px solid #9ba8b2;background:#fff}
.consult-condition-pills b{font-size:10px}
.consult-condition-pills small{font-size:9px}
.consult-condition-profile>p{padding:13px 15px;border-radius:7px;font-size:11px}
.consult-life-profile{padding:21px 22px}
.consult-life-profile>header strong{font-size:15px}
.consult-life-profile>header span,.consult-life-profile>header small{font-size:9px}
.consult-life-profile>div{gap:8px}
.consult-life-profile article{padding:13px;border-color:var(--report-line);border-radius:8px}
.consult-life-profile article>svg{width:19px;height:19px}
.consult-life-profile article span{font-size:9px}
.consult-life-profile article strong{font-size:11px;line-height:1.45}
.consult-life-profile article small{font-size:8.5px}
.consult-candidate-funding{margin:0 22px 22px;padding:15px 16px;border:1px solid #d8e3ec;border-radius:9px;background:#f1f6fa;color:var(--report-ink)}
.consult-candidate-funding span{color:#697d8e;font-size:9px}
.consult-candidate-funding strong{color:#1f4f7e;font-size:13px}
.consult-candidate-funding small{color:#71818e;font-size:8.5px}
.consult-boundaries>div,.consult-next-actions li{border-color:var(--report-line);border-radius:8px}
.consult-boundaries p,.consult-next-actions p{font-size:10px}
.consult-boundaries strong,.consult-next-actions strong{font-size:11px}
.consult-report-paper>.consult-result-notice{font-size:9px}
.consult-preview-warning{margin:0 0 12px;padding:13px 15px;border:1px solid #e6c7a3;border-radius:10px;background:#fff8ef;color:#754914;display:flex;align-items:flex-start;gap:10px}
.consult-preview-warning>svg{width:19px;height:19px;flex:0 0 19px}
.consult-preview-warning strong{display:block;font-size:11px}
.consult-preview-warning p{margin:4px 0 0;font-size:9px;line-height:1.5}
.consult-scenario-group article.consult-champion-route-pair{display:block;margin-top:12px;padding:0;border:1px solid var(--report-line);border-radius:10px;background:#fbfcfd;overflow:hidden}
.consult-champion-route-pair>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-bottom:1px solid var(--report-line);background:#f5f8fb}
.consult-champion-route-pair>header>strong{color:var(--report-ink);font-size:13px}
.consult-route-time-change{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.consult-route-time-change>span{display:flex;align-items:baseline;gap:4px;color:#52687a}
.consult-route-time-change>span>small{font-size:8px;font-weight:850}
.consult-route-time-change>span>b{font-size:21px;line-height:1;letter-spacing:-.04em}
.consult-route-time-change>span>b>em{margin-left:2px;font-size:9px;font-style:normal;letter-spacing:0}
.consult-route-time-change>span.is-future{color:var(--report-green)}
.consult-route-time-change>i{width:13px;height:13px;color:#91a0ab}
.consult-route-time-change>mark{padding:4px 7px;border-radius:99px;background:#e6f4ed;color:#167456;font-size:8px;font-weight:900;white-space:nowrap}
.consult-route-time-change>mark.is-same{background:#edf1f4;color:#687985}
.consult-champion-route-pair-grid{display:grid;grid-template-columns:1fr;gap:0;background:var(--report-line)}
.consult-champion-route-pair .consult-route-diagram{margin:0;border:0;border-radius:0;background:#fff}
.consult-champion-route-pair .consult-route-diagram+.consult-route-diagram{border-top:1px solid var(--report-line)}
.consult-champion-route-pair .consult-route-diagram-head{padding:12px 14px 8px}
.consult-champion-route-pair .consult-route-diagram-head span{display:block;color:var(--report-muted);font-size:8px}
.consult-champion-route-pair .consult-route-diagram-head a{display:block;padding:4px 6px;font-size:8px}
.consult-champion-route-pair .consult-route-legend{display:flex;padding:0 14px 11px}
.consult-champion-route-pair .consult-route-map{padding:4px 8px 8px;overflow-x:auto}
.consult-champion-route-pair .consult-route-map svg{width:100%;min-width:0!important;height:auto}
.consult-champion-route-pair .consult-route-scroll-hint{display:block;padding:0 14px 7px;color:var(--report-muted);font-size:8px}
.consult-champion-route-pair .consult-route-diagram.is-future .consult-route-diagram-head strong{color:#20765c}
.consult-route-mobile-steps{display:none;margin:0;padding:0 14px 13px;list-style:none}
.consult-route-mobile-steps li{position:relative;display:grid;grid-template-columns:16px minmax(0,1fr);gap:9px;padding:8px 0}
.consult-route-mobile-steps li:not(:last-child)::after{position:absolute;top:22px;bottom:-7px;left:7px;width:2px;background:#dce4ea;content:""}
.consult-route-mobile-steps li>i{position:relative;z-index:1;width:14px;height:14px;margin-top:2px;border:4px solid var(--route-color);border-radius:50%;background:#fff}
.consult-route-mobile-steps b,.consult-route-mobile-steps span{display:block}
.consult-route-mobile-steps b{color:var(--report-ink);font-size:10px}
.consult-route-mobile-steps span{margin-top:3px;color:var(--report-muted);font-size:9px;line-height:1.45}

/* Paid report reading order and decision hierarchy */
.consult-report-paper{display:flex;flex-direction:column}
.consult-report-cover{order:0}
.consult-report-summary{order:1}
.consult-section-comparison{order:2}
.consult-section-candidates{order:3}
.consult-section-boundaries{order:4}
.consult-section-next{order:5}
.consult-report-analysis-divider{order:6}
.consult-section-inputs{order:7}
.consult-section-priorities{order:8}
.consult-section-process{order:9}
.consult-section-excluded{order:10}
.consult-section-sources{order:11}
.consult-report-paper>.consult-result-notice{order:12}
.consult-candidate-badge{min-width:68px;padding:9px 10px;border:1px solid #c8dbea;border-radius:9px;background:#fff;text-align:center}
.consult-candidate-badge strong,.consult-candidate-badge span{display:block}
.consult-candidate-badge strong{color:var(--report-blue);font-size:14px;line-height:1.1}
.consult-candidate-badge span{margin-top:4px;color:var(--report-muted);font-size:8px;line-height:1.35}
.consult-candidate-route-pairs{display:grid;gap:14px}
.consult-candidate-route-pairs>.consult-champion-route-pair{margin:0;border:1px solid var(--report-line);border-radius:11px;overflow:hidden;background:#fff}
.consult-driving-routes{display:grid;gap:8px;margin-top:12px}
.consult-driving-route{padding:13px 14px;border:1px solid var(--report-line);border-radius:9px;background:#f8fafb;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px}
.consult-driving-route>svg{width:22px;height:22px;color:var(--report-blue)}
.consult-driving-route span,.consult-driving-route strong,.consult-driving-route small{display:block}
.consult-driving-route span{color:var(--report-muted);font-size:9px;font-weight:850}
.consult-driving-route strong{margin-top:3px;color:var(--report-ink);font-size:20px}
.consult-driving-route small{margin-top:3px;color:var(--report-muted);font-size:9px}
.consult-driving-route a{padding:6px 8px;border-radius:7px;background:#eaf3fb;color:var(--report-blue);font-size:8px;font-weight:850;text-decoration:none}
.consult-section-comparison{background:#fbfcfd}
.consult-section-comparison .consult-chart-card{border-width:1px;background:#fff}
.consult-section-candidates>.consult-chapter-intro{max-width:650px}
.consult-section-next{background:#f7fafc}
.consult-editorial-summary{max-width:760px;margin:-4px 0 26px;padding:3px 0 3px 19px;border-left:2px solid #9eb5c8}
.consult-editorial-summary>span{display:block;color:var(--report-blue);font-size:9px;font-weight:950;letter-spacing:.08em}
.consult-editorial-summary>h3{max-width:680px;margin:8px 0 0;color:var(--report-ink);font-size:18px;line-height:1.45;letter-spacing:-.035em}
.consult-editorial-summary>p{max-width:720px;margin:11px 0 0;color:#43596a;font-size:13px;line-height:1.9;letter-spacing:-.012em;word-break:keep-all}
.consult-editorial-summary>p+p{margin-top:8px;color:#5b6f7e}
.consult-executive-narrative p+p{margin-top:10px;color:#53697b}

@media(max-width:760px){
  .consult-report-chapter{padding:28px 16px}
  .consult-editorial-summary{margin-top:-2px;margin-bottom:22px;padding-left:14px}
  .consult-editorial-summary>h3{font-size:16px;line-height:1.5}
  .consult-editorial-summary>p{font-size:12px;line-height:1.85;word-break:normal}
  .consult-analysis-divider{padding:27px 20px}
  .consult-analysis-divider strong{font-size:19px}
  .consult-scenarios{grid-template-columns:1fr}
  .consult-champion>header{min-height:0}
  .consult-champion-time{display:grid;grid-template-columns:1fr auto 1fr;gap:7px}
  .consult-champion-time>span{min-width:0;padding:9px 10px}
  .consult-champion-time>span>strong{font-size:24px}
  .consult-champion-time>mark{grid-column:1/-1;justify-self:start}
  .consult-champion-route-pair>header{align-items:flex-start;padding:12px 13px}
  .consult-champion-route-pair>header>strong{padding-top:4px;font-size:12px}
  .consult-route-time-change{display:grid;grid-template-columns:auto auto auto;gap:5px 7px}
  .consult-route-time-change>span{display:block}
  .consult-route-time-change>span>small{display:block;margin-bottom:3px}
  .consult-route-time-change>span>b{font-size:20px}
  .consult-route-time-change>mark{grid-column:1/-1;justify-self:end}
  .consult-champion-routes{padding:0 9px 10px}
  .consult-route-map{display:none}
  .consult-route-mobile-steps{display:grid}
  .consult-route-scroll-hint,.consult-route-legend{display:none!important}
  .consult-route-diagram-head{padding:13px 14px 7px}
  .consult-route-diagram-head strong{font-size:12px}
  .consult-route-diagram-head span{font-size:9px;line-height:1.45}
  .consult-route-diagram-head .consult-route-time{display:grid;justify-items:end;gap:5px}
  .consult-route-diagram-head .consult-route-time>b{font-size:23px}
  .consult-chart-card{padding:16px 14px}
  .consult-chart-legend{display:flex;flex-wrap:wrap;gap:7px 11px;line-height:1.45}
  .consult-transit-profiles>article{padding:17px 0}
  .consult-transit-profiles h4{margin-bottom:13px;font-size:13px}
  .consult-transit-profiles section{grid-template-columns:68px minmax(0,1fr);gap:9px}
  .consult-transit-profiles section>header{padding-top:3px}
  .consult-transit-profiles section>header span{font-size:9px}
  .consult-transit-profiles section>header small{font-size:7.5px;line-height:1.35}
  .consult-transit-bars{gap:6px;padding-right:0}
  .consult-transit-bar{height:22px;overflow:hidden;border-radius:5px}
  .consult-transit-profiles .consult-transit-bars .consult-transit-bar>i{min-width:5px;border-radius:5px}
  .consult-transit-bar>b{right:7px;left:auto;top:50%;z-index:2;width:auto;max-width:64px;overflow:hidden;transform:translateY(-50%);color:#263746;font-size:8px;text-overflow:ellipsis;white-space:nowrap}
  .consult-report-candidate>header{padding:19px 17px}
  .consult-report-candidate>header h3{font-size:20px}
  .consult-report-candidate>header{grid-template-columns:28px minmax(0,1fr)}
  .consult-candidate-badge{grid-column:1/-1;min-width:0;display:flex;align-items:center;justify-content:space-between;text-align:left}
  .consult-candidate-badge span{margin-top:0}
  .consult-candidate-narrative,.consult-detail-block,.consult-life-profile{padding:18px 17px}
  .consult-candidate-facts{padding:0 17px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .consult-condition-pills{grid-template-columns:repeat(2,minmax(0,1fr))}
  .consult-change-strip,.consult-change-columns{grid-template-columns:1fr}
  .consult-life-profile>div{grid-template-columns:1fr}
  .consult-candidate-funding{margin:0 17px 18px}
  .consult-driving-route{grid-template-columns:24px minmax(0,1fr);padding:12px}
  .consult-driving-route a{grid-column:2;justify-self:start}
  .consult-funding-summary{grid-template-columns:1fr}
  .consult-funding-summary>i{transform:rotate(90deg);justify-self:center}
}

/* Mobile checkout and line-map layout: preserve a compact price hierarchy
   and keep the selected route visible in the area above its bottom card. */
.consult-price-offer{min-width:0;display:grid;gap:7px;white-space:normal}
.consult-price-main{min-width:0;display:flex;align-items:baseline;gap:16px;white-space:nowrap}
.consult-price-main .consult-price-row{min-width:0}
.consult-price-main .consult-price-row.is-launch{margin-left:auto}
.consult-price-main .consult-price-row.is-single{gap:8px}
.consult-price-meta{display:flex;align-items:center;justify-content:flex-end;gap:7px;color:#6f7d88;font-size:9px;font-weight:850;letter-spacing:-.01em;line-height:1.2;white-space:nowrap}
.consult-price-meta b{color:#2f70c7;font-weight:900}
.consult-checkout-product>header>.consult-price-offer{justify-items:stretch;text-align:left}
.consult-checkout-product>header>.consult-price-offer .consult-price-main,
.consult-checkout-product>header>.consult-price-offer .consult-price-meta{justify-content:flex-end}

@media(max-width:900px){
  .route-preview-card[data-preview-kind="line"]{right:12px;bottom:calc(var(--mobile-safe-bottom) + var(--mobile-nav-height) + var(--mobile-nav-gap) * 2 + 8px);left:12px;width:auto;max-width:none;padding:16px;border-radius:22px;background:rgba(255,255,255,.98);box-shadow:0 12px 32px rgba(23,35,46,.18);touch-action:pan-y}
  .route-preview-card[data-preview-kind="line"] .route-preview-heading{gap:4px}
  .route-preview-card[data-preview-kind="line"] .route-preview-heading>strong{font-size:18px;line-height:1.25}
  .route-preview-card[data-preview-kind="line"] .route-preview-detail{height:48px}
}

@media(max-width:520px){
  .consult-checkout-product>header{grid-template-columns:minmax(0,1fr);align-items:start;gap:12px}
  .consult-checkout-product>header>div:first-child{min-width:0}
  .consult-checkout-product>header h2{overflow-wrap:normal;word-break:keep-all}
  .consult-checkout-product>header>.consult-price-offer{width:100%;min-width:0;margin-top:0;display:grid;gap:7px;align-items:initial;text-align:left}
  .consult-checkout-product>header>.consult-price-offer .consult-price-main{width:100%;display:flex;align-items:baseline;justify-content:flex-start;gap:8px}
  .consult-checkout-product>header>.consult-price-offer .consult-price-row{display:flex;align-items:baseline;gap:5px}
  .consult-checkout-product>header>.consult-price-offer .consult-price-row.is-list{padding-right:10px}
  .consult-checkout-product>header>.consult-price-offer .consult-price-row.is-launch{margin-left:0}
  .consult-checkout-product>header>.consult-price-offer del,
  .consult-checkout-product>header>.consult-price-offer strong{font-size:clamp(17px,5.15vw,20px)}
  .consult-checkout-product>header>.consult-price-offer .consult-price-meta{justify-content:flex-start;font-size:9px}
}

@media(max-width:360px){
  .consult-checkout-product>header{grid-template-columns:1fr}
  .consult-checkout-product>header>.consult-price-offer{width:100%;margin-top:0;text-align:left}
  .consult-checkout-product>header>.consult-price-offer .consult-price-main{gap:7px}
  .consult-checkout-product>header>.consult-price-offer .consult-price-row.is-list{padding-right:7px}
  .consult-checkout-product>header>.consult-price-offer .consult-price-meta{font-size:8px}
}

/* Consultation survey mobile contract: use the same one-column priority
   layout across real iPhone CSS viewport widths. */
.consult-step-error{margin:0 0 14px;padding:10px 12px;border:1px solid #f2c2ba;border-radius:10px;background:#fff4f2;color:#a44336;font-size:11px;font-weight:850;line-height:1.45}
.consult-form [aria-invalid="true"]{outline:2px solid #d75a4b;outline-offset:2px}
.consult-form [data-consult-retired]{display:none!important}

@media(max-width:520px){
  .consult-priority-heading{align-items:flex-start;flex-direction:column;gap:7px}
  .consult-priority-grid.consult-choice-grid.two{grid-template-columns:1fr}
  .consult-priority-choice{min-height:74px;padding:13px 12px;grid-template-columns:18px minmax(0,1fr) auto;column-gap:11px}
  .consult-priority-choice input{width:17px;height:17px}
  .consult-priority-choice strong{font-size:12px;line-height:1.35;word-break:keep-all}
  .consult-priority-choice small{margin-top:4px;font-size:9px;line-height:1.45;word-break:keep-all}
  .consult-priority-rank{min-width:48px;height:30px;font-size:10px}

  .app-shell:has(.consult-payment-outcome) .primary-nav{visibility:hidden!important;pointer-events:none!important}
}

/* Payment confirmation/outcome owns the entire mobile viewport. The content
   keeps its existing vertical rhythm while the neutral surface continues
   through the real PWA viewport and only the device safe area remains. */
@media(max-width:900px){
  html:has(.consult-payment-outcome),
  body:has(.consult-payment-outcome),
  #app:has(.consult-payment-outcome){
    min-height:100vh;
    min-height:100svh;
    min-height:100dvh;
    background:#f6f8fa
  }
  #app:has(.consult-payment-outcome){
    position:fixed;
    inset:0;
    width:auto;
    height:auto!important;
    overflow:hidden
  }
  #app:has(.consult-payment-outcome)::after{display:none}
  #app:has(.consult-payment-outcome) .detail-panel{
    position:fixed!important;
    inset:0!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    min-height:100vh;
    min-height:100svh;
    min-height:100dvh;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:#f6f8fa!important;
    box-shadow:none!important;
    overflow:auto
  }
  #app:has(.consult-payment-outcome) .detail-panel-content{
    width:100%;
    height:auto!important;
    min-height:100vh;
    min-height:100svh;
    min-height:100dvh;
    padding:0 0 env(safe-area-inset-bottom)!important;
    background:#f6f8fa!important;
    overflow:auto
  }
  #app:has(.consult-payment-outcome) .consult-payment-outcome{
    width:100%;
    min-height:calc(100svh - var(--mobile-nav-reserve));
    min-height:calc(100dvh - var(--mobile-nav-reserve));
    padding-bottom:calc(32px + env(safe-area-inset-bottom));
    background:#f6f8fa
  }
}
