.observatory{color:var(--sc-foreground);padding-block:24px 64px}.observatory-nav{border-bottom:1px solid var(--sc-border);flex-wrap:wrap;gap:24px;margin-bottom:28px;padding-block:0 20px;font-size:14px;display:flex}.observatory a{color:var(--sc-action);text-underline-offset:4px}.observatory a:hover{text-decoration:underline}.observatory :is(button,input,select,a,summary):focus-visible{outline:2px solid var(--sc-focus);outline-offset:4px}.observatory h1{font-size:clamp(24px,3vw,36px);font-weight:500;line-height:1.4}.observatory h2{font-size:22px;font-weight:500}.observatory .muted{opacity:.72}.observatory .intro{gap:10px;max-width:850px;margin-bottom:28px;display:grid}.observatory .period{font-size:22px;font-weight:500}.observatory .meta{flex-wrap:wrap;gap:8px 20px;font-size:14px;display:flex}.observatory .notice{background:var(--sc-background-subtle);border-inline-start:3px solid var(--sc-action);padding:14px}.observatory .toolbar{flex-wrap:wrap;align-items:end;gap:12px;margin-block:24px 16px;display:flex}.observatory label{gap:6px;font-size:14px;display:grid}.observatory .search{flex:1;min-width:200px}.observatory :is(input:not([type=checkbox]),select,button){background:var(--sc-background);border:1px solid var(--sc-border);max-width:100%;min-height:44px;font:inherit;border-radius:3px;padding:10px 12px}.observatory button{cursor:pointer}.observatory button:disabled{opacity:.5;cursor:default}.observatory .primary{background:var(--sc-action);color:var(--sc-on-action);border-color:var(--sc-action)}.observatory .results{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.observatory .table-scroll{max-width:100%;overflow-x:auto}.observatory table{border-collapse:collapse;text-align:start;width:100%;font-size:15px}.observatory th{text-align:start;font-weight:500}.observatory :is(th,td){border-bottom:1px solid var(--sc-border);vertical-align:middle;padding:16px 12px}.observatory thead{background:var(--sc-background-subtle)}.observatory thead button{text-align:start;background:0 0;border:0;min-height:30px;padding:0}.observatory tbody tr:hover{background:var(--sc-background-subtle)}.observatory .numeric{font-variant-numeric:tabular-nums;white-space:nowrap}.observatory .price{font-size:20px;font-weight:500}.observatory .unit{white-space:normal;margin-top:3px;font-size:13px;display:block}.observatory .material-name{max-width:350px}.observatory .spark{width:120px;height:36px}.observatory .comparison-controls{flex-wrap:wrap;align-items:center;gap:16px;margin-block:16px;display:flex}.observatory .mobile-note{display:none}.observatory .reading{gap:20px;max-width:850px;display:grid}.observatory .metrics{flex-wrap:wrap;gap:32px;margin-block:24px;display:flex}.observatory .metrics .price{font-size:36px}.observatory .chart{border-block:1px solid var(--sc-border);margin-block:24px;padding-block:20px}.observatory .chart svg{direction:ltr;width:100%;height:auto;display:block}.observatory .chart-controls{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.observatory .chart-controls [aria-pressed=true]{background:var(--sc-action);color:var(--sc-on-action)}.observatory .selected-point{flex-wrap:wrap;gap:16px;min-height:28px;margin-block:12px;display:flex}.observatory .point-picker{width:100%;accent-color:var(--sc-action)}.observatory .provenance{overflow-wrap:anywhere;max-width:500px;font-size:13px}.observatory details summary{cursor:pointer;min-height:44px;padding-block:10px}.observatory .history-table td:last-child{white-space:normal}.observatory .legend{flex-wrap:wrap;gap:20px;display:flex}.observatory .legend span{border-inline-start:4px solid;padding-inline-start:8px}.observatory .empty{text-align:center;padding:32px 12px}.observatory .scroll-hint{margin-bottom:8px;font-size:13px}.observatory .chart-plot{direction:ltr;grid-template-columns:68px minmax(0,1fr);height:280px;margin-top:16px;display:grid}.observatory .chart-plot svg{min-width:0;height:100%}.observatory .chart-plot line{vector-effect:non-scaling-stroke}.observatory .chart-y-labels{text-align:end;flex-direction:column;justify-content:space-between;padding-block:24px 20px;padding-inline-end:8px;font-size:13px;display:flex}.observatory .chart-time-labels{direction:ltr;justify-content:space-between;margin-bottom:16px;padding-inline-start:68px;font-size:13px;display:flex}.observatory .source-status{border:1px solid var(--sc-border);background:var(--sc-background-subtle);grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:center;gap:16px;margin-block:0 20px;padding:14px 16px;font-size:13px;display:grid}.observatory .source-status>div{gap:2px;display:grid}.observatory .source-status strong{font-size:15px;font-weight:500}.observatory .source-status .status-ok{color:var(--sc-success,var(--sc-foreground))}.observatory .source-status .status-warning{font-weight:500}@media (max-width:767px){.observatory{padding-block-start:16px}.observatory-nav{gap:12px 20px;margin-bottom:20px}.observatory .toolbar{align-items:stretch}.observatory .toolbar label{width:100%}.observatory .toolbar .search{min-width:0}.observatory :is(th,td){padding:14px 8px;font-size:14px}.observatory .price{font-size:18px}.observatory .material-name{overflow-wrap:anywhere;width:48%;max-width:none}.observatory .optional-col{display:none}.observatory .expanded-table{min-width:760px}.observatory .expanded-table .optional-col{display:table-cell}.observatory .expanded-table .material-name{background:var(--sc-background);z-index:1;width:160px;min-width:160px;position:sticky;inset-inline-start:0}.observatory .mobile-note{display:block}.observatory .metrics{gap:20px}.observatory .intro{margin-bottom:20px}.observatory .history-table{min-width:550px}.observatory input[type=checkbox]{width:20px;height:20px}.observatory .spark{display:none}.observatory .chart-plot{height:200px}.observatory .source-status{grid-template-columns:1fr 1fr}.observatory .source-status>a{grid-column:1/-1}.observatory-nav{margin-bottom:16px;padding-bottom:12px}.observatory .intro{gap:6px;margin-bottom:16px}.observatory .intro>.muted{font-size:13px;line-height:1.5}.observatory .toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.observatory .toolbar .search{grid-column:1/-1}.observatory .toolbar label{min-width:0}.observatory .toolbar select{width:100%;padding-inline:8px}.observatory .comparison-controls{gap:8px;margin-block:12px;font-size:13px}.observatory .comparison-controls p{flex-basis:100%}.observatory thead :is(th,td){padding:10px 6px}.observatory thead button{font-size:13px}}.observatory .table-scroll thead button{text-align:start;min-height:44px;font-size:inherit;background:0 0;border:0;padding:0}@media (max-width:767px){.observatory .table-scroll thead button{font-size:13px}}.observatory .prices-table tbody tr{background:var(--sc-background)}.observatory .prices-table tbody tr:nth-child(2n){background:var(--sc-row-stripe-background)}.observatory .prices-table tbody tr:is(:hover,:focus-within){background:var(--sc-row-hover-background)}.observatory .prices-table tbody tr[data-selected=true]{background:var(--sc-row-selected-background);box-shadow:inset calc(-1 * var(--sc-focus-width)) 0 var(--sc-action)}.observatory[dir=ltr] .prices-table tbody tr[data-selected=true]{box-shadow:inset var(--sc-focus-width) 0 var(--sc-action)}.observatory .prices-table .price-cell{min-width:120px}.observatory .prices-table .price{text-align:right;letter-spacing:0;font-size:22px;font-weight:600;line-height:1.4;display:block}.observatory[dir=ltr] .prices-table .price{text-align:left}.observatory .prices-table .price-unit{color:var(--text-secondary);line-height:1.5}.observatory .prices-table .delta-cell{min-width:112px}.observatory .prices-table .material-name{background:inherit;z-index:1;position:sticky;inset-inline-start:0}.observatory .prices-table thead .material-name{background:var(--sc-background-subtle);z-index:2}.observatory .price-delta-unavailable{color:var(--sc-neutral-foreground)}.observatory .prices-table .spark{vertical-align:middle;width:112px;height:32px}.observatory .table-scroll thead .price-sort{align-items:center;gap:var(--sc-space-2);border-radius:var(--radius);width:100%;display:flex}.observatory .price-sort-icon{width:16px;height:16px;color:var(--text-secondary);flex:none}.observatory .price-sort[data-active=true] .price-sort-icon{color:var(--sc-action)}.observatory .table-scroll thead .price-sort:hover{background:var(--sc-row-hover-background)}@media (max-width:767px){.observatory .prices-table .price{font-size:18px}.observatory .prices-table .price-cell,.observatory .prices-table .delta-cell{min-width:0}.observatory .prices-table .material-name{width:44%}.observatory .prices-table .sc-trend-badge{padding:var(--sc-space-1);gap:2px}.observatory .prices-table .price-sort{gap:var(--sc-space-1)}.observatory .prices-table.expanded-table .material-name{background:inherit;width:160px}.observatory .prices-table.expanded-table .spark{display:inline-block}}.observatory .construction-cost{gap:32px;display:grid}.observatory .construction-cost-intro{gap:12px;max-width:900px;line-height:1.7;display:grid}.observatory .construction-cost-section{border-top:1px solid var(--sc-border);gap:14px;padding-block:24px;line-height:1.65;display:grid}.observatory .construction-cost-types{flex-wrap:wrap;gap:8px;display:flex}.observatory .construction-cost-types button{border-radius:var(--sc-control-radius)}.observatory .construction-cost-types button[aria-pressed=true]{background:var(--sc-action);border-color:var(--sc-action);color:var(--sc-on-action)}.observatory .construction-cost-table-scroll{max-width:100%;overflow-x:auto}.observatory .construction-cost-table{min-width:550px}.observatory .construction-cost-table tbody tr:nth-child(2n){background:var(--sc-row-stripe-background)}.observatory .construction-cost-table tfoot{background:var(--sc-background-subtle)}.observatory .construction-cost-numeric{white-space:nowrap;font-variant-numeric:tabular-nums}.observatory .construction-cost-bar-track{background:var(--sc-background-subtle);vertical-align:middle;border-radius:4px;width:100%;max-width:180px;height:7px;display:inline-block;overflow:hidden}.observatory .construction-cost-bar{background:var(--sc-action);height:100%;display:block}.observatory .construction-cost-form{grid-template-columns:minmax(140px,1fr) minmax(210px,2fr) minmax(140px,1fr) auto;align-items:end;gap:12px;display:grid}.observatory .construction-cost-form>label{min-width:0}.observatory .construction-cost-form select{width:100%}.observatory .construction-cost-month-picker{flex-wrap:wrap;align-items:end;gap:16px;display:flex}.observatory .construction-cost-month-picker>label{min-width:230px}.observatory .construction-cost-month-picker select{width:100%}.observatory .construction-cost-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.observatory .construction-cost-summary>div{border:1px solid var(--sc-border);background:var(--sc-background-subtle);border-radius:var(--sc-control-radius);gap:8px;padding:14px;display:grid}.observatory .construction-cost-summary strong{font-variant-numeric:tabular-nums;font-size:18px;font-weight:600}.observatory .construction-cost-summary .sc-trend-badge{white-space:nowrap;font-size:14px}.observatory .construction-cost-empty{border:1px dashed var(--sc-border);color:var(--text-secondary);padding:20px}.observatory .construction-cost-measurements{min-width:780px}.observatory .construction-cost-measurements .sc-trend-badge{white-space:nowrap}.observatory .construction-cost-sources{max-width:900px}@media (max-width:1100px){.observatory .construction-cost-form,.observatory .construction-cost-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.observatory .construction-cost-form,.observatory .construction-cost-summary{grid-template-columns:1fr}.observatory .construction-cost-table :is(th,td){padding:12px 8px}}.observatory .construction-cost-range-track{background:var(--sc-background-subtle);border-radius:4px;width:100%;min-width:100px;height:8px;display:block;position:relative;overflow:hidden}.observatory .construction-cost-range-span{background:var(--sc-action);border-radius:3px;height:100%;display:block;position:absolute;top:0}.observatory .construction-cost-total-works{gap:8px;max-width:500px;display:grid}.observatory .construction-cost-total-works>span{font-size:13px}.observatory .construction-cost-types button:disabled{opacity:.5;cursor:not-allowed}.observatory .construction-cost-chart-block{gap:12px;min-width:0;margin-block:14px;display:grid}.observatory .construction-cost-chart-block h3{font-size:19px;font-weight:500}.observatory .construction-cost-figure{border:1px solid var(--sc-border);border-radius:var(--sc-control-radius);gap:10px;min-width:0;padding:16px;display:grid}.observatory .construction-cost-line-chart{width:100%;height:auto;max-height:330px;color:var(--sc-foreground);direction:ltr;display:block}.observatory .construction-cost-figure figcaption{font-size:13px}.observatory .construction-cost-history summary{cursor:pointer;font-size:14px}.observatory .construction-cost-ranges th{max-width:360px}.observatory .construction-cost-ranges td:last-child{min-width:130px}@media (max-width:767px){.observatory .construction-cost-figure{padding:8px}.observatory .construction-cost-chart-block h3{font-size:17px}}.observatory .execution-index{gap:20px;min-width:0;display:grid}.observatory .execution-index h3{font-size:20px;font-weight:500;line-height:1.5}.observatory .execution-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.observatory .execution-metrics>div{border:1px solid var(--sc-border);border-radius:var(--sc-control-radius);background:var(--sc-background);align-content:start;gap:10px;min-width:0;padding:16px;display:grid}.observatory .execution-metrics>div>span:first-child{color:var(--text-secondary);font-size:14px}.observatory .execution-metrics strong{font-variant-numeric:tabular-nums;font-size:22px;font-weight:500;line-height:1.5}.observatory .execution-formula{background:var(--sc-background-subtle);white-space:nowrap;max-width:100%;padding:14px;overflow-x:auto}.observatory .execution-audit{border-block:1px solid var(--sc-border);min-width:0;max-width:100%;padding-block:12px;line-height:1.7}.observatory .execution-audit>summary{font-size:18px;font-weight:500}.observatory .execution-audit :is(p,ul,table){margin-block:14px}.observatory .execution-audit code{overflow-wrap:anywhere}.observatory .execution-audit h4{margin-block:20px 10px;font-size:17px;font-weight:500}.observatory .execution-source-list{padding-inline-start:20px;list-style:outside}.observatory .execution-source-list li{margin-bottom:18px}.observatory .execution-source-list li p{margin-block:4px}.observatory .execution-contributions{min-width:950px}.observatory .execution-contributions td{font-variant-numeric:tabular-nums}@media (max-width:900px){.observatory .execution-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767px){.observatory .execution-metrics>div{padding:12px}.observatory .execution-metrics strong{font-size:19px}.observatory .execution-index h3{font-size:18px}}.observatory .weighted-materials-index{min-width:0}.observatory .weighted-month-control{gap:8px;min-width:0;display:grid}.observatory .weighted-month-control input{width:100%;accent-color:var(--sc-action)}.observatory .weighted-history-table{min-width:900px}.observatory .weighted-basket-table{min-width:1150px}.observatory .weighted-contributions{min-width:850px}.observatory .weighted-materials-index :is(th,td){font-variant-numeric:tabular-nums}.observatory .weighted-materials-index .chart-boundary-label{font-family:IBM Plex Mono,ui-monospace,monospace}.observatory .weighted-materials-index th button{align-items:center;gap:8px;display:flex}.observatory .weighted-materials-index code{overflow-wrap:anywhere}.observatory .weighted-materials-index .construction-cost-table-scroll{border:1px solid var(--sc-border);border-radius:var(--sc-control-radius)}
