body{font-family:var(--calc-font-body,"Inter", sans-serif);color:var(--calc-text-primary,#f8fafc);background-color:var(--calc-bg-page,#0d1117)}button,input,select{font-family:inherit}input[type=number]{appearance:textfield}.main-container{max-width:1200px;margin:0 auto;padding:12px 20px 32px}.concrete-head{text-align:center;max-width:760px;margin:12px auto 22px}.page-title{font-family:var(--calc-font-headline,"Plus Jakarta Sans", sans-serif);color:var(--calc-text-primary,#f8fafc);margin:0 0 8px;font-size:clamp(1.8rem,4vw,2.4rem);font-weight:800;line-height:1.15}.page-subtitle{color:var(--calc-text-muted,#a8b8cc);margin:0;font-size:1rem;line-height:1.5}.card{background:var(--calc-bg-card,#161b22);border:1px solid var(--calc-border-subtle,#f0f6fc14);border-radius:var(--calc-radius-lg,16px);box-shadow:var(--calc-shadow-card,0 2px 10px #00000040)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[hidden]{display:none}.concrete-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.concrete-inputs{min-width:0;padding:20px}.ci-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.ci-title{font-family:var(--calc-font-headline,"Plus Jakarta Sans", sans-serif);margin:0;font-size:1.1rem;font-weight:700}.unit-toggle,.seg-toggle{background:var(--calc-bg-input,#21262d);border:1px solid var(--calc-border-subtle,#f0f6fc14);border-radius:10px;gap:3px;padding:3px;display:inline-flex}.toggle-btn,.seg-btn{min-height:34px;color:var(--calc-text-muted,#a8b8cc);font:600 .82rem var(--calc-font-body,"Inter", sans-serif);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 12px}.toggle-btn.active,.seg-btn.active{background:var(--calc-cyan,#22d3ee);color:#04121a}.seg-toggle{margin-bottom:14px;display:flex}.seg-toggle .seg-btn{flex:1 1 0}.shape-chips,.chip-group,.psi-chip-row{flex-wrap:wrap;gap:8px;display:flex}.shape-chip,.preset-chip,.mini-chip,.psi-chip{border:1px solid var(--calc-border-default,#f0f6fc24);background:var(--calc-bg-input,#21262d);color:var(--calc-text-primary,#f8fafc);font-family:var(--calc-font-body,"Inter", sans-serif);cursor:pointer;align-items:center;gap:6px;transition:border-color .15s,background .15s;display:inline-flex}.shape-chip{border-radius:10px;min-height:40px;padding:0 12px;font-size:.86rem;font-weight:600}.shape-chip svg{color:var(--calc-text-muted,#a8b8cc);flex:none}.shape-chip:hover,.preset-chip:hover,.mini-chip:hover,.psi-chip:hover{border-color:rgba(var(--calc-cyan-rgb,34, 211, 238), .5)}.shape-chip.active,.preset-chip.active,.mini-chip.active,.psi-chip.active{border-color:var(--calc-cyan,#22d3ee);background:rgba(var(--calc-cyan-rgb,34, 211, 238), .12)}.shape-chip.active svg{color:var(--calc-cyan,#22d3ee)}.shape-chip:focus-visible,.preset-chip:focus-visible,.mini-chip:focus-visible,.psi-chip:focus-visible,.toggle-btn:focus-visible,.seg-btn:focus-visible,.result-link:focus-visible,.next-card:focus-visible{outline:2px solid var(--calc-cyan,#22d3ee);outline-offset:2px}.preset-strip{scrollbar-width:thin;flex-wrap:nowrap;align-items:center;gap:6px;margin:12px -20px 0;padding:2px 20px 6px;display:flex;overflow-x:auto}.preset-strip--wrap{flex-wrap:wrap;margin:0 0 14px;padding:0;overflow:visible}.preset-strip__label{color:var(--calc-text-muted,#a8b8cc);letter-spacing:.04em;text-transform:uppercase;flex:none;font-size:.75rem;font-weight:700}.preset-chip{white-space:nowrap;border-radius:999px;flex:none;min-height:34px;padding:0 10px;font-size:.8rem;font-weight:600}.chip-sub{color:var(--calc-text-muted,#a8b8cc);font-size:.72rem;font-weight:500}.shape-body{grid-template-columns:170px minmax(0,1fr);align-items:start;gap:16px;margin-top:14px;display:grid}.shape-visualizer{background:var(--calc-bg-input,#21262d);border-radius:12px;padding:6px}.shape-svg{width:100%;height:auto;display:none}.shape-svg.active{display:block}.shape-svg .vc{color:var(--calc-cyan,#22d3ee)}.shape-svg .vp{color:var(--calc-purple,#a855f7)}.shape-svg .vd{color:var(--calc-text-muted,#a8b8cc)}.shape-svg .vdash{color:var(--calc-text-dim,#7b90a8)}.shape-svg .vlbl{font-family:var(--calc-font-mono,"JetBrains Mono", monospace);fill:currentColor}.shape-svg .viz-post{fill:currentColor;opacity:.55}.dim-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.dim-fields--2{grid-template-columns:repeat(2,minmax(0,1fr))}.input-group{flex-direction:column;gap:4px;min-width:0;display:flex}.input-group label,.option-label{color:var(--calc-text-muted,#a8b8cc);font-size:.8rem;font-weight:600}.input-group--inline{margin-top:12px}.input-group--narrow{max-width:180px}.input-with-unit{align-items:center;display:flex;position:relative}.input-with-unit .glass-input{font-variant-numeric:tabular-nums;padding-right:38px}.input-with-unit .input-unit{color:var(--calc-text-muted,#a8b8cc);pointer-events:none;background:0 0;border:0;padding:0;font-size:.8rem;position:absolute;right:12px}.input-with-unit--prefix .glass-input{padding-left:26px;padding-right:12px}.input-with-unit--prefix .input-unit{left:11px;right:auto}.glass-input.is-error{border-color:var(--calc-rose,#fb7185)}.glass-select{border-radius:var(--calc-radius-xs,6px);border:1px solid var(--calc-border-default,#f0f6fc24);background-color:var(--calc-bg-input,#21262d);width:100%;min-height:42px;color:var(--calc-text-primary,#f8fafc);color-scheme:dark;padding:8px 12px;font-size:.95rem}.glass-select:focus{border-color:var(--calc-cyan,#22d3ee);box-shadow:var(--calc-ring-cyan,0 0 0 3px #22d3ee26);outline:none}.field-error{min-height:0;color:var(--calc-rose,#fb7185);font-size:.75rem;line-height:1.35}.field-hint{color:var(--calc-text-dim,#7b90a8);font-size:.72rem}.order-options{border-top:1px solid var(--calc-border-subtle,#f0f6fc14);gap:10px;margin-top:16px;padding-top:14px;display:grid}.option-row{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.option-row .option-label{min-width:96px}.option-row .field-error{flex-basis:100%}.mini-chip{border-radius:8px;min-height:34px;padding:0 12px;font-size:.82rem;font-weight:600}.mini-chip--xs{min-height:26px;padding:0 8px;font-size:.72rem}.input-with-unit--mini{width:76px}.glass-input--mini{min-height:34px;padding:4px 26px 4px 10px;font-size:.85rem}.concrete-result{border-color:rgba(var(--calc-cyan-rgb,34, 211, 238), .35);min-width:0;padding:20px;position:sticky;top:84px}.concrete-result:focus{outline:none}.concrete-hero-card{gap:2px;display:grid}.hero-label{color:var(--calc-text-muted,#a8b8cc);letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;font-weight:700}.hero-value{font-family:var(--calc-font-headline,"Plus Jakarta Sans", sans-serif);font-variant-numeric:tabular-nums;color:var(--calc-text-primary,#f8fafc);font-size:clamp(2.2rem,5vw,2.9rem);font-weight:800;line-height:1.1}.hero-value small{color:var(--calc-cyan,#22d3ee);font-size:.5em;font-weight:700}.hero-sub{color:var(--calc-text-muted,#a8b8cc);font-size:.9rem}.result-stale-note{color:var(--calc-amber,#f59e0b);margin:6px 0 0;font-size:.82rem}.concrete-result.is-stale :is(.answer-lines,.result-facts,.concrete-insight,.result-interpretation){opacity:.45}.answer-lines{gap:8px;margin-top:16px;display:grid}.answer-line{background:var(--calc-bg-input,#21262d);border:1px solid #0000;border-radius:10px;grid-template-columns:84px minmax(0,1fr) auto;align-items:baseline;gap:10px;padding:10px 12px;display:grid}.answer-line.is-best{border-color:rgba(var(--calc-cyan-rgb,34, 211, 238), .55)}.answer-line__label{font-size:.85rem;font-weight:700}.answer-line__qty{color:var(--calc-text-muted,#a8b8cc);min-width:0;font-size:.85rem}.answer-line__cost{font-family:var(--calc-font-mono,"JetBrains Mono", monospace);font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:700}.answer-verdict{color:var(--calc-text-primary,#f8fafc);margin:2px 0 0;font-size:.88rem;line-height:1.45}.answer-verdict[data-tone=good]:before{content:"✓ ";color:var(--calc-emerald,#34d399);font-weight:700}.result-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:16px 0 0;display:grid}.fact{min-width:0}.fact dt{color:var(--calc-text-muted,#a8b8cc);flex-wrap:wrap;align-items:center;gap:6px;font-size:.76rem;font-weight:600;display:flex}.fact dd{font-family:var(--calc-font-mono,"JetBrains Mono", monospace);font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:.95rem;font-weight:600}.fact-inline-chips{gap:4px;display:inline-flex}.concrete-result .result-interpretation{color:var(--calc-text-muted,#a8b8cc);background:0 0;border:0;margin:16px 0 0;padding:0;font-size:.86rem;line-height:1.5}.concrete-insight{border-left:3px solid var(--calc-sky,#60a5fa);background:#60a5fa14;border-radius:8px;margin:12px 0 0;padding:10px 12px;font-size:.86rem;line-height:1.5}.concrete-insight[data-tone=warn]{border-left-color:var(--calc-amber,#f59e0b);background:#f59e0b1a}.result-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;display:flex}.result-link{color:var(--calc-cyan,#22d3ee);font:600 .88rem var(--calc-font-body,"Inter", sans-serif);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:6px 0;text-decoration:underline}.action-btn--primary{border-color:var(--calc-cyan,#22d3ee);background:rgba(var(--calc-cyan-rgb,34, 211, 238), .14);color:var(--calc-text-primary,#f8fafc);font-weight:700}.project-card{margin-top:20px;padding:18px 20px}.project-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.project-title{align-items:center;gap:10px;margin:0;font-size:1.05rem;display:flex}.planner-count-badge{background:rgba(var(--calc-cyan-rgb,34, 211, 238), .14);color:var(--calc-cyan,#22d3ee);border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:700}.project-tools{gap:6px;display:flex}.action-btn--danger{color:var(--calc-rose,#fb7185)}.planner-empty{color:var(--calc-text-muted,#a8b8cc);font-size:.88rem}.zone-list{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.zone-row{background:var(--calc-bg-input,#21262d);border:1px solid #0000;border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:10px 12px;display:flex}.zone-row.editing{border-color:var(--calc-cyan,#22d3ee)}.zone-name-input{min-width:0;color:var(--calc-text-primary,#f8fafc);font:700 .9rem var(--calc-font-body,"Inter", sans-serif);background:0 0;border:1px solid #0000;border-radius:6px;flex:160px;padding:4px 6px}.zone-name-input:hover,.zone-name-input:focus{border-color:var(--calc-border-default,#f0f6fc24);outline:none}.zone-meta{color:var(--calc-text-muted,#a8b8cc);flex:2 220px;font-size:.82rem}.zone-actions{gap:4px;display:flex}.zone-btn{border:1px solid var(--calc-border-default,#f0f6fc24);min-height:32px;color:var(--calc-text-primary,#f8fafc);cursor:pointer;background:0 0;border-radius:8px;padding:0 10px;font-size:.78rem;font-weight:600}.zone-btn--remove{color:var(--calc-rose,#fb7185)}.project-totals{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.stat-mini{border:1px solid var(--calc-border-subtle,#f0f6fc14);border-radius:10px;gap:2px;padding:10px 12px;display:grid}.stat-mini-label,.stat-mini-unit{color:var(--calc-text-muted,#a8b8cc);font-size:.72rem}.stat-mini-val{font-family:var(--calc-font-mono,"JetBrains Mono", monospace);font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:700}.project-chart{margin-top:12px}.project-chart summary{color:var(--calc-cyan,#22d3ee);cursor:pointer;font-size:.86rem;font-weight:600}.donut-wrap{grid-template-columns:minmax(0,220px) minmax(0,1fr);align-items:center;gap:16px;margin-top:10px;display:grid}.donut-legend{gap:6px;font-size:.82rem;display:grid}.legend-item{align-items:center;gap:8px;display:flex}.legend-dot{border-radius:50%;flex:none;width:10px;height:10px}.legend-val{font-family:var(--calc-font-mono,"JetBrains Mono", monospace);margin-left:auto}.concrete-panels{gap:10px;margin-top:20px;display:grid}.panel{padding:0}.panel-summary{cursor:pointer;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;padding:14px 44px 14px 18px;list-style:none;display:flex;position:relative}.panel-summary::-webkit-details-marker{display:none}.panel-summary:after{content:"";border-right:2px solid var(--calc-text-muted,#a8b8cc);border-bottom:2px solid var(--calc-text-muted,#a8b8cc);width:8px;height:8px;transition:transform .2s;position:absolute;top:50%;right:20px;transform:translateY(-70%)rotate(45deg)}.panel[open]>.panel-summary:after{transform:translateY(-30%)rotate(-135deg)}.panel-title{font-size:.98rem;font-weight:700}.panel-preview{color:var(--calc-text-muted,#a8b8cc);font-size:.82rem}.panel-body{padding:0 18px 18px}.panel-note{color:var(--calc-text-muted,#a8b8cc);margin:0 0 12px;font-size:.82rem;line-height:1.5}.panel-subtitle{margin:0 0 8px;font-size:.86rem;font-weight:700}.price-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.price-set{border:1px solid var(--calc-border-subtle,#f0f6fc14);border-radius:12px;align-content:start;gap:10px;margin:0;padding:12px;display:grid}.price-set legend{padding:0 6px;font-size:.82rem;font-weight:700}.check-row{color:var(--calc-text-muted,#a8b8cc);cursor:pointer;align-items:flex-start;gap:8px;font-size:.8rem;line-height:1.4;display:flex}.check-row input{accent-color:var(--calc-cyan,#22d3ee);margin-top:2px}.cost-table{border-collapse:collapse;width:100%;margin:16px 0;font-size:.88rem}.cost-table th,.cost-table td{border-bottom:1px solid var(--calc-border-subtle,#f0f6fc14);text-align:left;padding:8px 10px}.cost-table thead th{color:var(--calc-text-muted,#a8b8cc);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.cost-table td:last-child{text-align:right;font-family:var(--calc-font-mono,"JetBrains Mono", monospace);font-variant-numeric:tabular-nums}.cost-table thead th:last-child{text-align:right}.cost-table .winner-row{background:rgba(var(--calc-cyan-rgb,34, 211, 238), .08)}.cost-table .winner-row th:after{content:" ★";color:var(--calc-cyan,#22d3ee)}.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.chart-wrap[data-chart-state=error]:after,.chart-wrap[data-chart-state=loading]:after{content:attr(data-chart-message);color:var(--calc-text-muted,#a8b8cc);place-items:center;font-size:.82rem;display:grid;position:absolute;inset:0}.mixing-method{margin:0 0 10px;font-weight:600;line-height:1.5}.mixing-list,.assumption-list{color:var(--calc-text-muted,#a8b8cc);margin:0 0 14px;padding-left:18px;font-size:.85rem;line-height:1.55}.mixing-list li,.assumption-list li{margin-bottom:6px}.bag-viz-summary{margin:0 0 10px;font-size:.88rem;font-weight:700}.bag-viz-stage{flex-wrap:wrap;align-items:flex-end;gap:6px;display:flex}.bag-viz-pallet{border:1px solid rgba(var(--calc-cyan-rgb,34, 211, 238), .5);background:rgba(var(--calc-cyan-rgb,34, 211, 238), .18);border-radius:4px;width:28px;height:28px}.bag-viz-bag{background:#a855f747;border:1px solid #a855f78c;border-radius:2px;width:10px;height:13px}.bag-viz-more{color:var(--calc-text-muted,#a8b8cc);font-family:var(--calc-font-mono,"JetBrains Mono", monospace);align-self:center;font-size:.75rem;font-weight:700}.psi-chip{border-radius:10px;flex-direction:column;gap:0;min-height:44px;padding:4px 14px;font-size:.9rem;font-weight:700}.psi-desc{color:var(--calc-text-muted,#a8b8cc);margin:10px 0 14px;font-size:.85rem}.mix-mode-toggle{max-width:360px}.mix-custom-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.mix-ratio-inputs{align-items:center;gap:6px;display:flex}.mix-ratio-inp{text-align:center;width:64px}.mix-ratio-sep{color:var(--calc-text-muted,#a8b8cc);font-weight:700}.mix-recipe{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.mix-ingredient{background:var(--calc-bg-input,#21262d);text-align:center;border-radius:10px;padding:12px}.mix-qty{font-family:var(--calc-font-mono,"JetBrains Mono", monospace);font-size:1.2rem;font-weight:700}.mix-label{color:var(--calc-text-muted,#a8b8cc);font-size:.8rem}.mix-label small{font-size:.72rem;display:block}.mix-extras,.rebar-results{flex-wrap:wrap;gap:10px 28px;margin:14px 0 0;display:flex}.mix-extras dt,.rebar-results dt{color:var(--calc-text-muted,#a8b8cc);font-size:.76rem}.mix-extras dd,.rebar-results dd{font-family:var(--calc-font-mono,"JetBrains Mono", monospace);margin:2px 0 0;font-weight:700}.cure-temp-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.cure-temp-readout{font-family:var(--calc-font-mono,"JetBrains Mono", monospace);color:var(--calc-cyan,#22d3ee);font-weight:700}.cure-temp-slider{width:100%;accent-color:var(--calc-cyan,#22d3ee)}.cure-temp-scale{color:var(--calc-text-dim,#7b90a8);justify-content:space-between;font-size:.72rem;display:flex}.cure-timeline{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 12px;padding:0;list-style:none;display:grid}.cure-timeline li{background:var(--calc-bg-input,#21262d);border-radius:10px;gap:2px;padding:12px;display:grid}.cure-when{font-family:var(--calc-font-mono,"JetBrains Mono", monospace);font-size:1.05rem;font-weight:700}.cure-what{color:var(--calc-text-muted,#a8b8cc);font-size:.8rem}.rebar-grid-svg{width:100%;max-width:320px;height:auto;margin:14px 0 0;display:block}.rebar-grid-svg .rg-slab{fill:#ffffff0a;stroke:#ffffff40;stroke-width:1.2px}.rebar-grid-svg .rg-cover{fill:none;stroke:#f59e0b99;stroke-width:.8px;stroke-dasharray:3 2}.rebar-grid-svg .rg-bar{stroke:#22d3eebf;stroke-width:.9px}.formula-strip{gap:6px;margin-bottom:14px;display:grid}.fs-row{background:var(--calc-bg-input,#21262d);border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding:8px 12px;font-size:.86rem;display:flex}.fs-label{min-width:70px;color:var(--calc-text-muted,#a8b8cc);font-weight:600}.fs-formula-text{font-family:var(--calc-font-mono,"JetBrains Mono", monospace);flex:auto}.fs-result{font-family:var(--calc-font-mono,"JetBrains Mono", monospace);font-weight:700}.fs-row--total .fs-result{color:var(--calc-cyan,#22d3ee)}.concrete-app>.action-bar{max-width:1200px;margin:4px auto 0;padding:0 20px}.concrete-next{max-width:1200px;margin:28px auto 8px;padding:0 20px}.concrete-next__title{margin:0 0 12px;font-size:1.1rem}.concrete-next__grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.next-card{border:1px solid var(--calc-border-subtle,#f0f6fc14);background:var(--calc-bg-card,#161b22);color:inherit;border-radius:12px;gap:4px;padding:14px 16px;text-decoration:none;transition:border-color .15s;display:grid}.next-card[hidden]{display:none}.next-card:hover{border-color:rgba(var(--calc-cyan-rgb,34, 211, 238), .5)}.next-card__title{font-weight:700}.next-card__title:after{content:" →";color:var(--calc-cyan,#22d3ee)}.next-card__desc{color:var(--calc-text-muted,#a8b8cc);font-size:.82rem;line-height:1.45}.concrete-dock{z-index:90;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--calc-border-default,#334155);background:var(--calc-bg-page,#0d1117);position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 24px #00000059}.concrete-dock[hidden],body[data-ccv-open=true] .concrete-dock{display:none}.concrete-dock__inner{justify-content:space-between;align-items:center;gap:12px;max-width:600px;margin:0 auto;display:flex}.concrete-dock__text{min-width:0;display:grid}.concrete-dock__label{color:var(--calc-text-muted,#a8b8cc);font-size:.7rem;font-weight:700}.concrete-dock__value{font-variant-numeric:tabular-nums;font-size:1.3rem;line-height:1.2}.concrete-dock__sub{color:var(--calc-text-muted,#a8b8cc);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.concrete-dock__btn{border:1px solid rgba(var(--calc-cyan-rgb,34, 211, 238), .5);background:rgba(var(--calc-cyan-rgb,34, 211, 238), .12);min-height:44px;color:var(--calc-text-primary,#e2e8f0);cursor:pointer;border-radius:10px;flex:none;padding:0 16px;font-size:.85rem;font-weight:700}body.has-concrete-dock .calc-back-to-top{bottom:calc(84px + env(safe-area-inset-bottom,0px))}@media (width<=1024px){.concrete-grid{grid-template-columns:minmax(0,1fr)}.concrete-result{position:static}.price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.main-container{padding:8px 16px 24px}.concrete-head{margin-bottom:14px}.page-subtitle{font-size:.92rem}.concrete-inputs,.concrete-result{padding:16px}.preset-strip{margin:12px -16px 0;padding:2px 16px 6px}.shape-body{grid-template-columns:minmax(0,1fr)}.shape-chips{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.shape-chip{text-align:center;flex-direction:column;justify-content:center;gap:2px;min-height:54px;padding:4px;font-size:.76rem;line-height:1.2}.ci-head{margin-bottom:10px}.option-row .option-label{flex-basis:100%}.mini-chip{padding:0 10px}.input-with-unit--mini{width:64px}.shape-visualizer{display:none}.project-totals,.price-grid,.chart-grid,.donut-wrap{grid-template-columns:minmax(0,1fr)}.project-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.concrete-app>.action-bar,.concrete-next{padding:0 16px}}@media (width<=480px){.answer-line{grid-template-columns:minmax(0,1fr) auto}.answer-line__qty{grid-area:2/1/auto/-1}.result-facts{grid-template-columns:minmax(0,1fr)}}[data-theme=light] .card,[data-theme=light] .next-card{background:#fff;border-color:#0000001f;box-shadow:0 2px 10px #00000014}[data-theme=light] .concrete-result{border-color:#0891b266}[data-theme=light] :is(.unit-toggle,.seg-toggle,.shape-visualizer,.answer-line,.zone-row,.mix-ingredient,.cure-timeline li,.fs-row){background:#f0f4f9}[data-theme=light] :is(.shape-chip,.preset-chip,.mini-chip,.psi-chip){color:#0f172a;background:#f0f4f9;border-color:#00000024}[data-theme=light] :is(.shape-chip,.preset-chip,.mini-chip,.psi-chip).active{background:#0891b21f;border-color:#0891b2}[data-theme=light] :is(.toggle-btn,.seg-btn).active{color:#fff;background:#0891b2}[data-theme=light] .glass-select{color:#0f172a;color-scheme:light;background-color:#fff;border-color:#0000002e}[data-theme=light] .glass-select option{color:#0f172a;background:#fff}[data-theme=light] .concrete-insight{color:#1e3a5f;background:#eff6ff;border-left-color:#2563eb}[data-theme=light] .concrete-insight[data-tone=warn]{color:#78350f;background:#fffbeb;border-left-color:#b45309}[data-theme=light] .stat-mini,[data-theme=light] .price-set{border-color:#0000001f}[data-theme=light] .shape-svg .vd{color:#64748b}[data-theme=light] .shape-svg .vdash{color:#00000059}[data-theme=light] .rebar-grid-svg .rg-slab{fill:#00000008;stroke:#00000040}[data-theme=light] .rebar-grid-svg .rg-cover{stroke:#b45309b3}[data-theme=light] .rebar-grid-svg .rg-bar{stroke:#0891b2cc}[data-theme=light] .bag-viz-pallet{background:#0891b224;border-color:#0891b280}[data-theme=light] .bag-viz-bag{background:#7c3aed2e;border-color:#7c3aed80}[data-theme=light] .cost-table .winner-row{background:#eff9fb}[data-theme=light] .concrete-dock{background:#fff;border-top-color:#0000001f;box-shadow:0 -6px 24px #0f172a1f}[data-theme=light] .concrete-dock__btn{color:#0f172a}[data-theme=light] .action-btn--primary{color:#fff;background:#0891b2;border-color:#0891b2}@media print{.concrete-dock,.concrete-next,.preset-strip,.result-actions,.project-tools,.zone-actions{display:none}.concrete-grid{grid-template-columns:minmax(0,1fr)}.concrete-result{position:static}}