.tool-island{position:relative}.first-paint-note,.first-paint-panel{display:none}html[data-store=blocked] .first-paint-blocked,html[data-store=damaged] .first-paint-damaged{display:block}html[data-store=blocked] .tool-static,html[data-store=damaged] .tool-static{display:none}html[data-store=saved] .tool-static{visibility:hidden}html[data-store=saved] .first-paint-note{display:block;position:absolute;top:0;left:0;margin:0;color:var(--muted)}.home-header{margin-bottom:var(--s-4)}.home-header h1{max-width:22ch}.result-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-2) var(--s-5);padding:var(--s-3) var(--s-4);margin:0 0 var(--s-5);background:var(--card);border:1px solid var(--line-soft);border-left:4px solid var(--accent);border-radius:var(--r-card)}.result-strip p{margin:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.result-strip .action-row{margin:0}.chest-mark{white-space:nowrap;font-weight:700;background:linear-gradient(transparent 62%,var(--mark) 62% 92%,transparent 92%);padding:0 2px;color:var(--ink)}.tool-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:var(--s-5);gap:var(--s-5)}@media (min-width:64rem){.tool-grid{grid-template-columns:minmax(0,25rem) minmax(0,1fr);align-items:start}.tool-form{position:-webkit-sticky;position:sticky;top:calc(var(--header-h) + var(--s-3));max-height:calc(100vh - var(--header-h) - var(--s-5));overflow-y:auto;padding-right:var(--s-2);scrollbar-gutter:stable}}.tool-form fieldset{background:var(--card)}.tool-form fieldset legend{font-family:var(--serif);font-size:1.1rem;font-weight:600;color:var(--ink);padding:0 var(--s-1)}.tool-form .field-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,9.5rem),1fr))}.tool-form .hint{font-size:.85rem;color:var(--muted);margin:0 0 var(--s-2)}.num-input{display:flex;align-items:stretch}.num-box{position:relative;display:flex;flex:1 1;min-width:0}.num-box input{flex:1 1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.num-input.has-unit input{border-top-right-radius:0;border-bottom-right-radius:0}.num-box input.is-sample{padding-right:3.75rem}.sample-tag.in-field{position:absolute;right:6px;padding:0 4px;font-size:.75rem;top:50%;transform:translateY(-50%);pointer-events:none}.num-unit{display:inline-flex;align-items:center;padding:0 var(--s-3);border:1px solid var(--line);border-left:0;border-radius:0 var(--r-control) var(--r-control) 0;background:var(--raised);color:var(--graphite);font-size:.9rem}.check-field{display:flex;align-items:center;gap:var(--s-3);min-height:44px}.check-field input[type=checkbox]{width:24px;height:24px;margin:0;flex:none;accent-color:var(--accent)}.check-field label{padding:var(--s-2) 0;cursor:pointer}.label-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-2)}.label-row label{font-size:.875rem;font-weight:600;color:var(--graphite)}.sample-tag{display:inline-block;padding:0 6px;border:1px dashed var(--line);border-radius:var(--r-box);font-size:.75rem;font-weight:600;line-height:1.5;color:var(--muted);background:var(--card);letter-spacing:.02em}.sample-note{font-size:.875rem;color:var(--graphite);margin:0}.mobile-bar{position:-webkit-sticky;position:sticky;bottom:0;z-index:5;display:flex;align-items:center;gap:var(--s-3);margin:0 calc(-1 * var(--s-2));padding:var(--s-2) var(--s-3);background:var(--card);border:1px solid var(--line-soft);border-top:3px solid var(--accent);border-radius:var(--r-card) var(--r-card) 0 0;box-shadow:var(--shadow-2)}.mobile-bar p{flex:1 1;min-width:0;margin:0;font-size:.9rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mobile-bar .link-button{font-size:.9rem;min-height:44px;display:inline-flex;align-items:center}.tool-form:has(input:focus,select:focus,textarea:focus) .mobile-bar{visibility:hidden}@media (min-width:64rem){.mobile-bar{display:none}}.fold{margin-bottom:var(--s-4);border:1px solid var(--line-soft);border-radius:var(--r-card);background:var(--card)}.fold>summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 var(--s-3);min-height:48px;padding:var(--s-3) var(--s-4);cursor:pointer}.fold-title{font-family:var(--serif);font-size:1.1rem;font-weight:600;color:var(--ink)}.fold-sum{font-size:.875rem;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fold>fieldset{border:0;margin:0;padding:0 var(--s-4) var(--s-2);background:transparent}.seg-row{display:flex;flex-wrap:wrap;gap:var(--s-3);border:0;padding:0;background:transparent!important}.seg-field{margin-bottom:var(--s-3)}.seg-field .field-label{margin-bottom:var(--s-1)}.seg{flex-wrap:wrap;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--card);overflow:hidden}.seg,.seg-opt{display:inline-flex}.seg-opt{position:relative}.seg-opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.seg-opt span{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--s-4);font-weight:600;color:var(--graphite)}.seg-opt input:checked+span{background:var(--accent-soft);color:var(--ink);box-shadow:inset 0 0 0 2px var(--accent)}.seg-opt input:checked+span:before{content:"\2713";margin-right:6px}@media (max-width:30rem){.seg-row{flex-wrap:nowrap;gap:var(--s-2)}.seg-row .seg-opt span{padding:0 var(--s-3)}.home-header .lede{font-size:1.05rem}}.seg-opt input:focus-visible+span{outline:3px solid var(--focus);outline-offset:-3px}fieldset:disabled .seg-opt span{opacity:.6}.saved .action-row{flex-wrap:wrap}.danger-row{border-top:1px solid var(--line-soft);padding-top:var(--s-3);margin-top:var(--s-3)}.import-status{font-size:.9rem;color:var(--graphite)}.issues{list-style:none;padding:0;margin:0 0 var(--s-4)}.issues li{padding:var(--s-3) var(--s-4);margin-bottom:var(--s-2);border-radius:var(--r-box);border-left:4px solid var(--warn);background:var(--warn-soft);color:var(--ink)}.issues li.issue-error{border-left-color:var(--bad);background:var(--bad-soft)}.why{margin:0 0 var(--s-5);border:1px solid var(--line-soft);border-radius:var(--r-card);background:var(--card);padding:0 var(--s-4)}.why summary{min-height:48px;display:flex;align-items:center;font-weight:700;cursor:pointer}.why-block h3{font-size:1.05rem;margin-top:var(--s-3)}.why-block ul{margin:0 0 var(--s-3);max-width:40rem}.pattern-doc{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r-card);padding:var(--s-5) var(--s-4)}@media (min-width:48rem){.pattern-doc{padding:var(--s-6)}}.doc-head{border-bottom:2px solid var(--ink);margin-bottom:var(--s-4);padding-bottom:var(--s-3)}.doc-head h2{margin-bottom:var(--s-1)}.doc-meta{margin:0;font-size:.9rem;color:var(--muted)}.doc-block{margin-bottom:var(--s-5)}.doc-block h3{font-size:1.25rem;border-bottom:1px solid var(--line-soft);padding-bottom:var(--s-1)}.doc-note{font-size:.9rem;color:var(--muted)}.abbr,.finished{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));grid-gap:var(--s-2) var(--s-4);gap:var(--s-2) var(--s-4);margin:0}.abbr{grid-template-columns:minmax(0,1fr)}.abbr div,.finished div{display:flex;justify-content:space-between;gap:var(--s-3);border-bottom:1px dotted var(--line-soft);padding:var(--s-1) 0}.abbr div{justify-content:flex-start}.abbr dt{min-width:5.5rem;font-weight:700}.finished dt{color:var(--graphite)}.abbr dd,.finished dd{margin:0}.finished dd{font-weight:700;white-space:nowrap;text-align:right}.finished .aim{display:block;white-space:normal;font-weight:400;font-size:.8rem;color:var(--muted)}.rows-fold>summary{min-height:44px;display:flex;align-items:center;font-weight:600;cursor:pointer;color:var(--accent)}.pattern-lines{list-style:none;padding:0;margin:0}.pattern-lines li{padding:var(--s-2) 0;border-bottom:1px solid var(--line-soft);max-width:46rem}.pattern-lines li.line-sub{border-bottom:0;padding-bottom:0}.pattern-lines li.line-sub h4{margin:var(--s-2) 0 0;font-family:var(--serif)}.pattern-lines .count{white-space:nowrap;font-weight:700}.schematic{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:var(--s-3);gap:var(--s-3)}@media (min-width:40rem){.schematic{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.schematic figure{margin:0}.schematic svg{display:block;width:100%;height:auto;max-width:26rem;margin:0 auto}.schematic figcaption{font-size:.9rem;color:var(--graphite);text-align:center}.schematic .piece{fill:var(--raised);stroke:var(--ink);stroke-width:2}.schematic .neck-cut{fill:var(--card);stroke:var(--ink);stroke-width:1.5;stroke-dasharray:5 4}.schematic .neck-gap{stroke:var(--card);stroke-width:4}.schematic .marker{stroke:var(--accent);stroke-width:3}.schematic .dim line{stroke:var(--graphite);stroke-width:1}.schematic .dim text{fill:var(--ink);font-family:var(--sans);font-size:14px;font-weight:600}.schematic .dim text .dim-word{font-weight:400;fill:var(--graphite)}.row-table{border-collapse:collapse;width:100%;max-width:28rem;font-size:.95rem}.row-table td,.row-table th{text-align:left;padding:4px var(--s-2);border-bottom:1px solid var(--line-soft)}.row-table tr.is-dec td:nth-child(2){font-weight:700}.tick-box{display:inline-block;width:14px;height:14px;border:1.5px solid var(--line);border-radius:2px;vertical-align:middle}.doc-foot{border-top:1px solid var(--line-soft);padding-top:var(--s-3);font-size:.85rem;color:var(--muted)}.doc-foot p{margin:0 0 var(--s-1)}.print-only{display:none}.band{margin-top:var(--section);max-width:48rem}.band-lead{font-family:var(--serif);font-size:1.25rem;color:var(--graphite)}@page{size:auto;margin:14mm 14mm 18mm}@media print{:root{--card:#ffffff;--paper:#ffffff;--raised:#f3efe9;--ink:#1f1915;--graphite:#3a312a;--muted:#4f453d;--line:#6f645b;--line-soft:#bdb3a8;--accent:#1f1915;--mark:#d9cbf1}body{background:#ffffff;color:#1f1915;font-size:10.5pt;line-height:1.45}.breadcrumbs,.no-print,.site-footer,.site-header,.skip-link{display:none!important}.print-only{display:block}.site-main{padding:0!important;max-width:none!important}.tool-grid{display:block}.pattern-doc{border:0;padding:0;background:#ffffff}.doc-brand{font-family:var(--serif);font-weight:700;font-size:12pt;margin:0}.doc-head h2{font-size:18pt}.doc-block h3{font-size:13pt}.doc-block h3,h4{page-break-after:avoid;break-after:avoid}.abbr div,.doc-checks li,.finished div,.keep,.pattern-lines li,.row-table tr,.schematic figure{page-break-inside:avoid;break-inside:avoid}.doc-checks h3,.doc-section h3{page-break-after:avoid;break-after:avoid}.doc-checks ul{margin:0;padding-left:1.2em}.doc-checks li{margin-bottom:2pt}.finished{grid-template-columns:repeat(2,minmax(0,1fr))}.schematic{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.schematic svg{max-width:80mm}.schematic .dim text{font-size:13px}.rows-fold>summary{display:none}details.print-open::details-content{content-visibility:visible;display:block}.table-scroll{overflow:visible!important}.row-cols{column-count:3;column-gap:8mm}.row-table{font-size:9pt;max-width:none}.row-table td,.row-table th{padding:1.5pt 4pt}.row-table thead{display:table-header-group}.doc-foot{page-break-inside:avoid;break-inside:avoid;page-break-before:avoid;break-before:avoid;color:#4f453d}a{color:inherit;text-decoration:none}}