:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#263a4d;background:#d8e8f2;color-scheme:light;-webkit-font-smoothing:antialiased;--ink:#263a4d;--muted:#617e93;--accent:#39799f;--line:#324c6517;--panel:#f7fbfeef;--blue:#235f88}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;color:inherit}button,select,summary{cursor:pointer}button,a,input,select{outline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent)}button{border:0}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button{background:transparent}svg{display:block}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 24px 0;max-width:1800px;margin:auto}.control-dock{display:flex;align-items:center;padding:5px;gap:3px;border:1px solid #fff;background:var(--panel);border-radius:13px;box-shadow:0 2px 4px #23415b06,0 8px 24px #23415b0c,inset 0 0 0 1px #324c6510}.control-dock svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.brand{gap:12px;padding:10px 16px}.brand svg{width:25px;height:25px}.brand strong{display:block;font-size:13px;font-weight:600}.brand span{display:block;font-size:10px;color:var(--muted);margin-top:3px}.tool-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 13px;border-radius:8px;font-size:13px;font-weight:550}.tool-button:hover{background:#e6eff6;text-decoration:none}.icon-button{width:40px;padding:0}.divider{height:22px;width:1px;background:#3c587b1c;margin:0 3px}
main{max-width:1800px;margin:auto;padding:28px 24px 16px}.overview{display:grid;grid-template-columns:1fr 1.7fr;gap:32px;align-items:center;margin-bottom:24px}.eyebrow{font-size:10px;letter-spacing:.12em;font-weight:650;color:var(--muted);margin:0 0 9px}h1{font-size:27px;font-weight:550;letter-spacing:-.045em;margin:0 0 9px}p{line-height:1.55}.intro>p:last-child{font-size:12px;color:var(--muted);margin:0;max-width:470px}.summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric-card{padding:15px 17px;border:1px solid #ffffffb0;border-radius:13px;background:#f7fbfe80;text-align:left;transition:background .15s;min-width:0}.metric-card:hover{background:var(--panel)}.metric-card .label{font-size:10px;color:var(--muted);display:block;margin-bottom:6px}.metric-card strong{font-size:23px;font-weight:550;letter-spacing:-.03em}.metric-card .metric-unit{font-size:12px;color:var(--muted)}.metric-card .name{display:block;font-size:10px;line-height:1.5;margin-top:7px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.metric-card .sub{font-size:10px;color:var(--muted);display:block;margin-top:2px}
.workspace{display:grid;grid-template-columns:240px minmax(0,1fr) 285px;align-items:start;gap:16px}.panel{background:var(--panel);border:1px solid #fff;border-radius:13px;box-shadow:0 2px 4px #23415b04,0 8px 24px #23415b08,inset 0 0 0 1px #324c6509}.settings{padding:17px 15px}.settings>details>summary{font-weight:600;font-size:13px;list-style:none;display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.subtle{font-size:10px;font-weight:400;color:var(--muted)}form>label,.advanced>label{display:block;font-size:11px;margin-bottom:14px}select,input[type=number]{display:block;width:100%;border:1px solid #324c6526;background:#fff9;border-radius:7px;padding:8px 9px;margin-top:6px;font-size:11px;min-height:34px}select{padding-right:4px;max-width:100%}input[type=range]{width:100%;margin:8px 0 15px;accent-color:#39799f;height:4px;cursor:pointer}.field-head{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:11px;margin-top:4px}.field-head output{font-variant-numeric:tabular-nums;font-size:10px;color:var(--blue);white-space:nowrap}.hint{font-size:10px;color:var(--muted);margin:-5px 0 16px;line-height:1.5}.advanced{border-top:1px solid var(--line);padding-top:13px;margin-top:4px}.advanced summary{font-size:11px;font-weight:550;margin-bottom:15px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:13px}.two-fields label{font-size:10px}.check{display:flex!important;align-items:center;gap:6px;font-size:10px;cursor:pointer;line-height:1.4}.check input{margin:0;accent-color:#39799f;flex-shrink:0}.fixed-assumptions{border-top:1px solid var(--line);padding-top:14px;margin-top:10px;display:grid;gap:8px}.fixed-assumptions span{display:flex;justify-content:space-between;gap:5px;font-size:10px;color:var(--muted)}.fixed-assumptions b{font-weight:500;color:var(--ink)}
.comparison{min-width:0}.plot-panel{padding:18px 18px 12px}.plot-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}h2{font-size:13px;font-weight:600;margin:0}.plot-heading p{font-size:10px;color:var(--muted);margin:5px 0 15px;max-width:420px}.small-button{border:1px solid #324c6525;border-radius:7px;padding:6px 9px;font-size:10px;white-space:nowrap;min-height:28px}.small-button:hover{background:#e6eff6}.tabs{display:flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:9px;width:max-content;max-width:100%;background:#d8e8f233}.tabs button{font-size:10px;padding:7px 11px;border-radius:6px;white-space:nowrap}.tabs button[aria-selected=true]{background:#fff;color:var(--blue);box-shadow:0 2px 5px #23415b0c;font-weight:600}.chart-wrap{position:relative;margin:10px -4px 0;min-height:360px;aspect-ratio:1.66;user-select:none}.chart-wrap>svg{width:100%;height:100%;overflow:visible;touch-action:none;cursor:grab}.chart-wrap>svg:active{cursor:grabbing}.chart-wrap text{font-family:inherit;fill:var(--muted);font-size:10px}.chart-wrap .axis-title{font-size:11px;fill:var(--ink)}.chart-wrap .grid{stroke:#324c6512;stroke-width:1}.chart-wrap .axis{stroke:#324c6530;stroke-width:1}.chart-wrap .point{cursor:pointer;transition:opacity .1s}.chart-wrap .point:hover{opacity:1!important;stroke:#263a4d;stroke-width:2}.chart-wrap .frontier{stroke:#235f88;stroke-width:2.2;fill:none;stroke-linejoin:round}.chart-wrap .zone{fill:#39799f14}.chart-wrap .target{stroke:#a08454;stroke-width:1.2;stroke-dasharray:5 5}.chart-footer{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--line)}.legend{display:flex;gap:12px;flex-wrap:wrap}.legend span{display:flex;align-items:center;gap:6px;font-size:9px;color:var(--muted)}.line-key{width:15px;height:2px;background:#235f88}.zone-key{width:12px;height:9px;background:#39799f25;border:1px solid #39799f50}.point-key{width:6px;height:6px;background:#7a9db4;border-radius:50%}.zone-control{display:flex;align-items:center;gap:4px;font-size:9px;color:var(--muted)}.zone-control input{width:39px;min-height:23px;padding:2px 3px;margin:0;font-size:10px}.chart-note{font-size:9px;color:var(--muted);margin:9px 0 0}.target-notice{margin:12px 0;padding:10px 13px;border:1px solid #a0845430;border-radius:9px;background:#fff9;font-size:10px;line-height:1.55}.target-notice b{font-weight:600}.results{padding:15px}.table-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.table-heading h2 span{font-size:10px;font-weight:400;color:var(--muted)}.table-scroll{overflow:auto;max-height:380px;scrollbar-width:thin}table{border-collapse:collapse;width:100%;font-size:10px;font-variant-numeric:tabular-nums;text-align:right}th{font-size:9px;font-weight:500;color:var(--muted);white-space:nowrap;padding:8px 6px;background:#f7fbfe;position:sticky;top:0;z-index:1;border-bottom:1px solid var(--line)}th button{font:inherit;padding:0}th:first-child,td:first-child{text-align:left}td{padding:10px 6px;border-bottom:1px solid var(--line);white-space:nowrap}tbody tr{cursor:pointer}tbody tr:hover,tbody tr.selected{background:#dbeaf480}td:first-child{min-width:195px}td strong{font-size:10px;font-weight:550;display:block}td small{font-size:9px;color:var(--muted);display:block;margin-top:3px}.front-tag{font-size:8px;color:var(--blue);padding:2px 4px;border-radius:3px;background:#dbeaf4;display:inline-block;margin-left:5px}#more{margin-top:12px}.inspection{padding:18px;position:sticky;top:16px;min-width:0}.inspection h2{font-size:16px;font-weight:550;line-height:1.45;letter-spacing:-.015em}.inspection .prop-name{font-size:12px;margin:4px 0 12px;color:var(--muted)}.badge{font-size:9px;border-radius:4px;padding:3px 5px;background:#dbeaf4;color:#235f88;display:inline-block;line-height:1.4;margin:0 3px 5px 0}.badge.warning{background:#efe8d9;color:#846c40}.selected-metrics{display:grid;grid-template-columns:1fr 1fr;gap:13px 10px;padding:17px 0;border-bottom:1px solid var(--line)}.selected-metrics strong{font-size:20px;font-weight:550;letter-spacing:-.025em}.selected-metrics span{font-size:10px;color:var(--muted);display:block;margin-top:3px}.inspection h3{font-size:11px;font-weight:600;margin:17px 0 10px}.inspection dl{margin:0}.inspection dl div{display:flex;justify-content:space-between;gap:10px;margin:8px 0;font-size:10px}.inspection dt{color:var(--muted)}.inspection dd{text-align:right;margin:0;font-variant-numeric:tabular-nums}.inspection .note{font-size:10px;color:var(--muted);line-height:1.6;margin:10px 0 0}.inspection .source-links{display:flex;gap:7px;flex-wrap:wrap;font-size:10px;margin-top:12px}.source-links a{border-bottom:1px solid #39799f50}.breakdown{height:7px;border-radius:4px;overflow:hidden;display:flex;margin-top:12px;background:#d8e8f2}.breakdown span{height:100%}.cost-total{font-size:16px;font-weight:550}.small-legend{font-size:9px;color:var(--muted);margin:7px 0 0}.budget-card{background:#dbeaf450;border:1px solid #39799f22;border-radius:8px;padding:10px 11px;margin-top:13px}.budget-card strong{font-size:13px;font-weight:550}.budget-card p{font-size:9px;margin:4px 0 0;color:var(--muted)}#tooltip{position:absolute;pointer-events:none;background:#f7fbfefa;border:1px solid #fff;box-shadow:0 5px 20px #23415b20;border-radius:8px;padding:10px 12px;font-size:10px;line-height:1.6;max-width:240px;z-index:3}#tooltip b{display:block}#empty{position:absolute;inset:15% 5%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:#f7fbfee8;border-radius:10px;padding:20px}#empty strong{font-size:13px}#empty p{font-size:11px;color:var(--muted);max-width:350px}.methodology{margin-top:20px;padding:16px 18px}.methodology summary{font-size:12px;font-weight:550}.methodology summary span{font-size:10px;font-weight:400;color:var(--muted);margin-left:12px}#methodology{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:20px;font-size:11px;color:var(--muted)}#methodology h3{color:var(--ink);font-size:12px;font-weight:550;margin:0 0 8px}#methodology p{margin:0 0 10px}#methodology ul{padding-left:17px;margin:0}#methodology li{margin-bottom:8px}.source-list{display:grid;gap:8px}footer{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:20px 2px 4px;font-size:10px;color:var(--muted)}
@media(min-width:1600px){.workspace{grid-template-columns:260px minmax(0,1fr) 315px}.chart-wrap{min-height:450px}}
@media(max-width:1200px){.workspace{grid-template-columns:220px minmax(0,1fr)}.inspection{position:static;grid-column:2}.overview{grid-template-columns:1fr 1.3fr;gap:20px}.metric-card{padding:13px}.metric-card strong{font-size:20px}.chart-wrap{min-height:350px}.inspection .selected-metrics{grid-template-columns:repeat(4,1fr)}.inspection dl{max-width:500px}.inspection .note{max-width:650px}}
@media(max-width:850px){.topbar{padding:12px 12px 0}.brand{padding:9px 11px}.brand span{display:none}.tool-button{padding:0 10px;min-height:36px;font-size:11px}.topbar .icon-button{width:34px}.overview{grid-template-columns:1fr;gap:18px;margin-bottom:18px}main{padding:22px 12px 12px}.intro>p:last-child{max-width:none}h1{font-size:25px}.summary-cards{gap:8px}.workspace{display:flex;flex-direction:column;gap:12px}.settings,.comparison,.inspection{width:100%}.settings{padding:13px 15px}.settings>details>summary{margin-bottom:0;min-height:20px}.settings>details[open]>summary{margin-bottom:18px}#settings{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}#settings>.field-head,#settings>input[type=range],#settings>.hint,#settings>.advanced,#settings>.fixed-assumptions{grid-column:1/-1}.plot-panel{padding:15px 12px 12px}.chart-wrap{min-height:330px;aspect-ratio:1.3;margin-top:2px}.chart-footer{gap:10px}.chart-note{line-height:1.5}.tabs button{padding:7px 10px}.inspection .selected-metrics{grid-template-columns:repeat(4,1fr)}#methodology{grid-template-columns:1fr;gap:15px}.methodology summary span{display:block;margin:6px 0 0 16px}footer{gap:12px;flex-wrap:wrap}.summary-cards .name{font-size:9px}.summary-cards .sub{font-size:9px}}
@media(max-width:420px){.brand strong{font-size:11px}.brand{gap:8px}.brand svg{width:20px}.tool-button span{display:none}.tool-button{width:34px;padding:0}.metric-card{padding:11px 9px}.metric-card strong{font-size:19px}.metric-card .label{font-size:9px}.inspection .selected-metrics{grid-template-columns:1fr 1fr}.plot-heading p{font-size:10px}.chart-wrap{min-height:305px}.legend{gap:9px}.legend span{font-size:8px}.tabs{width:100%}.tabs button{flex:1;font-size:9px;padding:7px 6px}.table-heading h2{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.size-comparisons{border-bottom:1px solid var(--line);padding-bottom:14px}.size-comparisons .bottle-reference{font-size:9px;margin-bottom:10px}.product-comparison{margin:10px 0 0;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff}.product-comparison figcaption{display:grid;gap:4px}.product-comparison figcaption strong{font-size:10px;font-weight:550;line-height:1.5}.product-comparison figcaption>span{font-size:9px;color:var(--muted)}.size-preview{display:block;position:relative;width:100%;padding:7px 0 16px;text-align:left;border-radius:6px}.size-preview:hover{background:#f3f8fc}.size-stage{width:100%;height:175px}.stage-baseline{stroke:#324c6520;stroke-width:1}.dimension-line{stroke:#39799f;stroke-width:.9;fill:none}.size-stage .stage-label{font-size:10px;fill:#617e93;font-family:inherit}.size-stage .stage-note{font-size:8px;fill:#617e93;font-family:inherit}.dimension-outline{stroke:#39799f;stroke-dasharray:3 2;stroke-width:1;fill:#dbeaf440}.enlarge-label{position:absolute;right:0;bottom:0;font-size:9px;color:var(--blue)}.photo-note{font-size:9px;color:var(--muted);line-height:1.5;margin:7px 0 0}.photo-sources{display:flex;gap:12px;font-size:9px;margin-top:6px}.photo-dialog{width:min(940px,calc(100% - 24px));max-height:calc(100% - 24px);padding:20px;border:1px solid #fff;border-radius:13px;color:var(--ink);background:var(--panel);box-shadow:0 15px 70px #263a4d40;overflow:auto}.photo-dialog::backdrop{background:#263a4d70;backdrop-filter:blur(3px)}.photo-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.photo-dialog .product-comparison{padding:20px}.photo-dialog .size-stage{height:min(55vh,430px)}.photo-dialog .product-comparison figcaption strong{font-size:16px}.photo-dialog .product-comparison figcaption>span{font-size:12px}.photo-dialog .photo-note,.photo-dialog .photo-sources{font-size:11px}.photo-dialog .enlarge-label{display:none}.photo-dialog .size-preview{cursor:default}.photo-dialog .size-preview:hover{background:transparent}.photo-dialog>.note{font-size:11px;color:var(--muted)}
@media(min-width:851px) and (max-width:1200px){.size-comparisons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.size-comparisons>h3,.size-comparisons>.note{grid-column:1/-1}.product-comparison{min-width:0}.size-stage{height:165px}}
