/* Pareto mold-fill article: a light editorial layout with a mechanical drawing. */
.tt-pareto-story{padding-top:clamp(3rem,8vw,7rem);padding-bottom:6rem}
.tt-pareto-article{--pareto-paper:#f4f2eb;--pareto-ink:#172125;--pareto-sage:#52685e;--pareto-rule:#c8cec2;--pareto-signal:#c55332;color:var(--pareto-ink)}
.tt-pareto-header{max-width:980px;margin:0 auto clamp(3rem,7vw,6.5rem)}
.tt-pareto-header .eyebrow{color:var(--pareto-sage);margin-bottom:1.25rem}
.tt-pareto-header h1{max-width:960px;font-size:clamp(2.8rem,7vw,6.3rem);line-height:.98}
.tt-pareto-deck{max-width:650px;color:#53615c;font-size:clamp(1.05rem,1.7vw,1.35rem);margin-top:1.5rem}
.tt-pareto-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);gap:clamp(3rem,7vw,7rem);align-items:start}
.tt-pareto-visual-column{position:sticky;top:8vh;align-self:start;min-width:0}
.tt-pareto-visual{margin:0;border:1px solid var(--pareto-rule);background:#f0f0e7;color:#435a51}
.tt-draft-head,.tt-pareto-visual figcaption{display:flex;justify-content:space-between;gap:1rem;padding:.65rem .85rem;font: .58rem/1.5 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:#61736b}
.tt-draft-head{border-bottom:1px solid var(--pareto-rule)}
.tt-pareto-drawing{padding:.7rem .55rem .25rem;outline-offset:4px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-color:#8c9c8e #f0f0e7}
.tt-pareto-drawing svg{display:block;width:100%;height:auto;overflow:visible}
.tt-pareto-visual figcaption{border-top:1px solid var(--pareto-rule);font-size:.55rem;letter-spacing:.035em;text-transform:none}
.tt-pareto-pan-hint{display:none}
.tt-draft-layer{opacity:1;visibility:visible;transition:opacity .22s ease,visibility .22s ease}
.tt-pareto-ready [data-stage-layer][data-active="false"]{opacity:0;visibility:hidden}
.tt-pareto-ready [data-stage-layer][data-active="true"]{opacity:1;visibility:visible}
.tt-cavity-paper{fill:#e5e9df;stroke:#52685e;stroke-width:1.6}
.tt-cavity-grid path{stroke:#9aaa9e;stroke-width:.45;opacity:.42}
.tt-cavity-outline{fill:none;stroke:#52685e;stroke-width:1.7}
.tt-obstacle{fill:#d0d8ca;stroke:#52685e;stroke-width:1.2}
.tt-gate,.tt-dimension,.tt-leader{fill:none;stroke:#52685e;stroke-width:1}
.tt-gate-point{fill:#c55332;stroke:none}
.tt-static-fill{fill:#a8b99e;opacity:.45;stroke:none}
.tt-static-front{stroke:#c55332;stroke-width:1.5;stroke-dasharray:5 4}
.tt-pareto-ready .tt-static-fill,.tt-pareto-ready .tt-static-front{opacity:0}
.tt-fill-cell{fill:#9bb28c;opacity:.74;stroke:none}
.tt-fill-cell.is-front{fill:#d36b47;opacity:.95}
.tt-path-line{fill:none;stroke:#c55332;stroke-width:1.7;stroke-dasharray:5 4;opacity:.9}
.tt-tolerance-zone{fill:#b8c5ae;fill-opacity:.2;stroke:#6a8174;stroke-dasharray:4 3}
.tt-callout{fill:#f4f2eb;stroke:#789084;stroke-width:.8}
.tt-measure{stroke:#c55332;stroke-width:1.5}
.tt-limit-stamp{fill:#e4e9df;stroke:#52685e;stroke-width:.8}
.tt-draft-mono,.tt-draft-small,.tt-draft-label,.tt-progress-label{font-family:var(--mono);fill:#435a51}
.tt-draft-mono{font-size:10px;letter-spacing:.35px}.tt-draft-small{font-size:8px;letter-spacing:.25px}.tt-draft-label{font-size:10px;letter-spacing:.7px}.tt-progress-label{font-size:8px;letter-spacing:.4px}
.tt-pareto-copy{min-width:0;max-width:700px}
.tt-pareto-copy>.wp-block-group{margin:0 0 clamp(4rem,9vh,7.5rem);padding-top:1.4rem;border-top:1px solid var(--pareto-rule);scroll-margin-top:25vh}
.tt-pareto-copy h2{font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.08;letter-spacing:-.045em;margin:0 0 1.2rem}
.tt-pareto-copy h3{font-size:1.2rem;line-height:1.2;margin:1.3rem 0 .5rem}
.tt-pareto-copy p,.tt-pareto-copy li{font-size:clamp(.98rem,1.15vw,1.08rem);line-height:1.78;color:#394541}
.tt-pareto-copy a{color:#3f6556;text-decoration-thickness:1px;text-underline-offset:3px}
.tt-pareto-copy .tt-equation{max-width:100%;margin:1.3rem 0;padding:1rem 1.1rem;border-left:2px solid #879b88;background:#e9ece3;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-color:#8c9c8e #e9ece3}
.tt-pareto-copy .tt-equation p{font-family:var(--mono);font-size:.86rem;white-space:nowrap;margin:0 0 .6rem}
.tt-pareto-copy .tt-equation p:last-child{margin-bottom:0}
.tt-pareto-copy table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:.88rem;overscroll-behavior-x:contain}
.tt-pareto-copy th,.tt-pareto-copy td{padding:.7rem;border:1px solid var(--pareto-rule);text-align:left;vertical-align:top}
.tt-fidelity-guide{padding:1.2rem;background:#e9ece3;border:1px solid var(--pareto-rule)}
.tt-fidelity-guide label{display:block;margin-bottom:.6rem}
.tt-fidelity-guide select{width:100%;max-width:100%;padding:.65rem;border:1px solid #839387;background:#f4f2eb;color:#172125}
.tt-fidelity-guidance section{padding-top:.7rem}
.tt-pareto-controls{padding:1.2rem 0;border-top:1px solid var(--pareto-rule);border-bottom:1px solid var(--pareto-rule)}
.tt-control-help,.tt-fill-status{font-size:.84rem!important;color:#52635b!important}
.tt-control-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.tt-control-row button{min-height:44px;padding:.55rem .9rem;border:1px solid #84958a;border-radius:2px;background:transparent;color:#172125}
.tt-control-row button:hover:not(:disabled){background:#e4e9df}
.tt-fill-range-label{font-size:.8rem;font-weight:600}
.tt-control-row input[type="range"]{min-width:100px;flex:1;accent-color:#c55332}
.tt-fill-status{display:block;margin:.8rem 0 0}
.tt-pareto-post-nav{display:flex;justify-content:space-between;gap:2rem;margin:3rem auto 0;max-width:980px}
@media(max-width:800px){.tt-pareto-story{width:min(100% - 40px,680px)}.tt-pareto-layout{grid-template-columns:1fr;gap:2rem}.tt-pareto-visual-column{position:static;order:0}.tt-pareto-copy{order:1}.tt-pareto-header{margin-bottom:2.5rem}.tt-pareto-copy>.wp-block-group{margin-bottom:3.5rem;scroll-margin-top:1.5rem}}
@media(max-width:480px){.tt-pareto-story{width:calc(100% - 32px);padding-top:2.4rem}.tt-pareto-header h1{font-size:clamp(2.65rem,12vw,3.6rem)}.tt-draft-head,.tt-pareto-visual figcaption{font-size:.48rem;padding:.55rem}.tt-pareto-drawing{padding:.35rem .2rem 0}.tt-pareto-drawing svg{min-width:520px}.tt-pareto-pan-hint{display:inline}.tt-draft-mono{font-size:11px}.tt-draft-small{font-size:9px}.tt-draft-label{font-size:11px}.tt-progress-label{font-size:9px}.tt-control-row{gap:.45rem}.tt-fill-range-label{width:100%}.tt-control-row input[type="range"]{flex-basis:100%;order:5}.tt-control-row button{flex:1;padding:.5rem .45rem;font-size:.85rem}}
@media(prefers-reduced-motion:reduce){.tt-draft-layer{transition:none!important}}
@media print{.tt-pareto-visual-column{position:static}.tt-pareto-layout{grid-template-columns:1fr 1fr}.tt-pareto-ready [data-stage-layer]{opacity:1!important;visibility:visible!important}}

/* Flat iPhone-case plan view; fill remains a 2D proxy. */
.tt-case-top .tt-cavity-paper{fill:#e5e9df;stroke:none}
.tt-case-top .tt-cavity-grid path{fill:none;stroke:#9aaa9e;stroke-width:.09;opacity:.48}
.tt-case-top .tt-static-fill{fill:#a8b99e;opacity:.5}
.tt-case-top [data-fill-cells]{pointer-events:none}
.tt-case-top .tt-fill-cell{fill:#91aa85;opacity:0;stroke:none}
.tt-case-top .tt-fill-cell.is-filled{opacity:.82}
.tt-case-top .tt-fill-cell.is-drag.is-filled:not(.is-front){fill:#617d6b;opacity:.9}
.tt-case-top .tt-fill-cell.is-front{fill:#d36b47;opacity:1}
.tt-case-top .tt-fill-cell.is-front.is-drag{fill:#d36b47;opacity:1}
.tt-case-top .tt-weld-candidates path{fill:none;stroke:#b95e43;stroke-width:.22;stroke-dasharray:.65 .5;opacity:.9;vector-effect:non-scaling-stroke}
.tt-weld-leader{fill:none;stroke:#b95e43;stroke-width:.75;stroke-dasharray:3 2}
.tt-drag-swatch{fill:#617d6b;stroke:#52685e;stroke-width:.45}
.tt-pareto-ready .tt-case-top .tt-static-fill{opacity:0}
.tt-case-outline use{fill:none;stroke:#52685e;stroke-width:1.7;vector-effect:non-scaling-stroke}
.tt-case-button{fill:#d6ddd1;stroke:#52685e;stroke-width:1}
.tt-case-hardware circle{fill:#52685e}
.tt-case-port{fill:#52685e}
.tt-camera-island{fill:#d6ddd1;stroke:#52685e;stroke-width:1.2}
.tt-camera-lens{fill:#8b9d8f;stroke:#52685e;stroke-width:.9}
.tt-magsafe-ring{fill:none;stroke:#899b8f;stroke-width:1.1;stroke-dasharray:4 3}
@media(max-width:480px){.tt-pareto-drawing svg{min-width:460px}}
