.trace-tool{--trace-line:#bdcbc3;--trace-muted:#4c625b;font-variant-numeric:tabular-nums lining-nums;min-width:0}.trace-tool *{box-sizing:border-box}.trace-tool [hidden]{display:none!important}.trace-tool h3{font-size:clamp(1.45rem,2.6vw,2.2rem);letter-spacing:-.045em;line-height:1.15;margin:8px 0 18px}.trace-tool h4{font-size:1.15rem;letter-spacing:-.025em;margin:12px 0}.trace-tool p{font-size:14px;line-height:1.8}.trace-kicker{font:12px/1.65 var(--gft-font-mono);text-transform:uppercase;letter-spacing:.08em}.trace-intro{display:flex;justify-content:space-between;align-items:start;gap:36px;margin-bottom:32px}.trace-intro>div{max-width:75ch}.trace-stamp{flex-shrink:0;color:var(--gft-forest);border:1px solid var(--trace-line);padding:15px 18px;font:12px/1.8 var(--gft-font-mono);transform:rotate(-3deg)}.trace-form fieldset{border:0;margin:0;padding:0;min-width:0}.trace-presets legend{font-size:12px;font-weight:650;margin-bottom:12px}.trace-actions{display:flex;gap:8px;flex-wrap:wrap}.trace-tool button,.trace-tool summary{min-height:44px;cursor:pointer;font:12px/1.5 var(--gft-font-mono)}.trace-tool button{padding:12px 16px;border:1px solid #9aafa2;color:var(--gft-night);background:transparent}.trace-tool button:hover,.trace-tool button[aria-pressed=true]{background:var(--gft-forest);color:var(--gft-paper)}.trace-tool button:disabled{opacity:.4;cursor:not-allowed}.trace-tool :is(button,input,summary,a):focus-visible{outline:3px solid #2c3e7a;outline-offset:4px}.trace-error,.trace-noscript{margin-top:24px;padding:20px;border:1px solid var(--gft-ochre);background:#f6ebdd;color:#422b08}.trace-diagram{margin:28px 0 0;padding:32px 32px 20px;background:var(--gft-night);color:var(--gft-paper);overflow:hidden}.trace-diagram figcaption{display:flex;align-items:center;justify-content:space-between;gap:24px}.trace-diagram h3{font-size:clamp(1.4rem,2.4vw,2rem);margin-bottom:0}.trace-diagram .trace-kicker{color:#b4cdbf}.trace-diagram__badge{font:12px/1.5 var(--gft-font-mono);border:1px solid #8cae9d;padding:9px 12px;white-space:nowrap}.trace-thread{width:100%;height:auto;display:block;overflow:visible;margin-top:18px}.trace-thread--phone{display:none}.trace-thread__ghost{stroke:#c4dbce;stroke-opacity:.13;stroke-width:1;fill:none}.trace-thread__link{stroke:#97d9b6;stroke-width:2.2;fill:none}.trace-thread__link--broken{stroke:#e5b264;stroke-dasharray:7 6;stroke-width:3}.trace-thread__link--beyond{opacity:.3}.trace-thread__halo{fill:none;stroke:#a9ceba;stroke-opacity:.16}.trace-thread__disc{fill:#072d2b;stroke:#6a8b7b}.trace-thread__icon{stroke:#6a8b7b;fill:none;stroke-width:1.4}.trace-thread__node--reached .trace-thread__disc{fill:#6bb68f;stroke:#d2f3e0}.trace-thread__node--reached .trace-thread__icon{stroke:#072d2b}.trace-thread__node--selected .trace-thread__halo{stroke:#b6c5ff;stroke-opacity:1;stroke-width:2}.trace-thread__label{fill:#e3ede7;font:13px var(--gft-font-mono)}.trace-thread__status{fill:#adc5b7;font:13px var(--gft-font-mono);letter-spacing:.06em}.trace-thread__fault-label{fill:#e5b264;font:13px var(--gft-font-mono);text-anchor:middle}.trace-legend{display:flex;gap:24px;flex-wrap:wrap;font:12px/1.7 var(--gft-font-mono);color:#c0d6c8}.trace-legend>span{display:flex;gap:9px;align-items:center}.trace-key{display:inline-block;width:18px;height:0;border-top:2px solid #97d9b6}.trace-key--broken{border-top:2px dashed #e5b264}.trace-key--empty{border-top:1px solid #6a8b7b}.trace-progress{margin-top:24px;height:4px;background:#b9d8c51f;overflow:hidden}.trace-progress span{display:block;width:100%;height:100%;transform-origin:left;background:#97d9b6}.trace-diagram .trace-diagram__caption{font:12px/1.9 var(--gft-font-mono);color:#bfd7c8;margin-top:16px}.trace-workbench{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;margin-top:40px}.trace-stage-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.trace-stage-picker legend{font:12px/1.6 var(--gft-font-mono);margin-bottom:12px}.trace-stage-picker label{position:relative;min-height:44px;cursor:pointer;display:flex;align-items:center;border:1px solid #b7c8bd;padding:8px;font-size:12px;gap:7px}.trace-stage-picker label:has(:checked){background:#eaedf3;border-color:var(--gft-indigo);color:var(--gft-indigo)}.trace-stage-picker input{accent-color:var(--gft-indigo);margin:0;width:17px;height:17px}.trace-position{display:grid;grid-template-columns:minmax(0,1fr) 65px;gap:4px 18px;margin-top:24px;margin-bottom:28px;align-items:center}.trace-position>label{grid-column:1/-1;font:12px/1.6 var(--gft-font-mono)}.trace-position>label span{font-size:12px}.trace-position input[type=range]{width:100%;min-height:44px;accent-color:var(--gft-indigo)}.trace-position input[type=number]{min-height:44px;min-width:0;width:65px;padding:8px;background:transparent;color:var(--gft-night);border:1px solid #a1b6a8;font:13px var(--gft-font-mono)}.trace-position p{grid-column:1/-1;font-size:12px;color:var(--trace-muted)}.trace-record legend{font-size:15px;font-weight:700;margin-bottom:9px}.trace-tool .trace-small{font-size:12px;line-height:1.8;color:var(--trace-muted)}.trace-field{display:flex;align-items:center;gap:14px;min-height:75px;padding:12px 0;border-bottom:1px solid var(--trace-line);cursor:pointer}.trace-field input{width:22px;height:22px;flex-shrink:0;accent-color:var(--gft-forest)}.trace-field>span{display:grid;gap:5px;min-width:0}.trace-field strong{font-size:12px;font-weight:600}.trace-field code{font:12px/1.6 var(--gft-font-mono);overflow-wrap:anywhere;color:var(--trace-muted)}.trace-field:has(input:not(:checked):not(:disabled)) code{color:#795013}.trace-field:has(input:disabled){opacity:.6;cursor:default}.trace-edit{border-bottom:1px solid var(--trace-line);padding-bottom:18px;margin:15px 0}.trace-edit summary{display:flex;align-items:center;color:var(--gft-indigo)}.trace-edit summary::before{content:'+';margin-right:12px}.trace-edit[open] summary::before{content:'−'}.trace-edit label{display:grid;gap:8px;font-size:12px;margin-top:16px}.trace-edit input{width:100%;min-height:44px;background:transparent;border:1px solid #a1b6a8;color:var(--gft-night);padding:10px;font:12px var(--gft-font-mono)}.trace-readout{align-self:start;border:1px solid #adc3b5;padding:32px;background:#e7eee8;min-width:0}.trace-metric{display:flex;align-items:center;gap:24px;margin:24px 0 28px}.trace-metric output{font-size:clamp(5rem,8vw,8rem);font-weight:850;letter-spacing:-.07em;line-height:1.2;display:block}.trace-metric span{font:12px/1.9 var(--gft-font-mono);max-width:20ch}.trace-facts{margin:0}.trace-facts>div{display:flex;gap:20px;justify-content:space-between;padding:16px 0;border-top:1px solid #b7c9bd;font-size:12px;align-items:baseline}.trace-facts dt{max-width:23ch}.trace-facts dd{margin:0;text-align:right;font:12px/1.7 var(--gft-font-mono)}.trace-readout output{display:inline-block}.trace-recommendation{margin-top:26px;padding:22px;background:var(--gft-night);color:#e5eee8}.trace-recommendation .trace-kicker{color:#bad4c3}.trace-recommendation p:last-child{font-size:14px;margin-top:10px}.trace-readout>.trace-small{margin:20px 0}.trace-rule{display:block;background:#0e4d4a;height:1px;width:100%;opacity:.35}.trace-compare{padding-top:18px}.trace-compare .trace-actions{margin-top:16px}.trace-compare p[role=status]{margin-top:18px;font:12px/2 var(--gft-font-mono);min-height:48px;color:var(--gft-forest)}.trace-export{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 32px;border-block:1px solid #bdcbc3;padding:32px 0;margin:40px 0}.trace-export h3{font-size:1.45rem}.trace-export p{font-size:12px;max-width:65ch}.trace-export>.trace-actions{align-content:center;justify-content:end}.trace-export>[role=status]{grid-column:1/-1;min-height:1em;font:12px/1.8 var(--gft-font-mono)}.trace-share-fallback{grid-column:1/-1;display:grid;gap:12px;font-size:12px}.trace-share-fallback input{width:100%;min-height:44px;padding:12px;font:12px var(--gft-font-mono);border:1px solid #a1b6a8;background:transparent}.trace-method,.trace-assumptions,.trace-decisions,.trace-sources{margin-top:64px;padding-top:32px;border-top:1px solid #b7c8bd}.trace-prose-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.trace-prose-grid p{margin-bottom:18px}.trace-equation{background:#e6ebe4;padding:24px;margin:0 0 18px;overflow-wrap:anywhere}.trace-equation>span{display:block;font:12px var(--gft-font-mono);text-transform:uppercase;margin-bottom:12px;color:var(--trace-muted)}.trace-equation code{font:12px/2 var(--gft-font-mono);color:var(--gft-forest)}.trace-equation p{font-size:12px;margin:12px 0 0}.trace-table-wrap{margin-top:24px;overflow:auto}.trace-table-wrap table{border-collapse:collapse;width:100%;text-align:left;font-size:12px;line-height:1.8}.trace-table-wrap caption{text-align:left;font:12px/1.8 var(--gft-font-mono);margin-bottom:15px}.trace-table-wrap :is(td,th){padding:18px 16px;border-top:1px solid #bacbc0;vertical-align:top}.trace-table-wrap th{font-weight:650}.trace-table-wrap tbody th{min-width:150px;width:21%}.trace-table-wrap thead{background:#e6ebe4}.trace-table-wrap td:last-child{font:12px/1.9 var(--gft-font-mono);width:21%}.trace-decision-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:28px}.trace-decision-grid article{border-left:1px solid #a9c0b1;padding-left:20px}.trace-decision-grid p{font-size:13px}.trace-tool .trace-limit{margin-top:32px;background:#ece8df;padding:24px;font-size:12px}.trace-sources ol{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:0;margin:28px 0}.trace-sources li>a{font-size:14px;font-weight:650}.trace-sources li p{margin-top:12px;font-size:12px}.trace-sources>p{font-size:12px}.trace-related{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:30px}.trace-related>div{padding:20px;border:1px solid #bdcbc3}.trace-related :is(strong,a){font-size:12px;line-height:1.8}.trace-related strong>span{font-weight:400;font-size:12px}.trace-related p{font-size:12px;margin-top:8px}
@media(max-width:1000px){.trace-workbench{gap:24px}.trace-readout{padding:24px}.trace-export{grid-template-columns:1fr}.trace-export>.trace-actions{justify-content:start}.trace-diagram__badge{white-space:normal}.trace-prose-grid{gap:26px}.trace-diagram{padding:26px 22px 20px}.trace-thread__label{font-size:14px}.trace-thread__status{font-size:13px}.trace-decision-grid{gap:18px}}
@media(max-width:700px){.trace-intro{display:block}.trace-stamp{display:inline-block;margin-top:20px;transform:none}.trace-workbench,.trace-prose-grid,.trace-decision-grid,.trace-sources ol,.trace-related{grid-template-columns:1fr}.trace-workbench{gap:28px;margin-top:28px}.trace-diagram figcaption{display:block}.trace-diagram__badge{display:inline-block;margin-top:16px}.trace-thread--wide{display:none}.trace-thread--phone{display:block;max-width:400px;margin-inline:auto}.trace-thread__label{font-size:14px}.trace-thread__status{font-size:13px}.trace-legend{gap:12px;font-size:12px}.trace-tool .trace-diagram__caption{font-size:12px}.trace-readout{padding:24px}.trace-readout h3{font-size:1.75rem}.trace-metric output{font-size:6rem}.trace-stage-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.trace-presets .trace-actions{display:grid;grid-template-columns:1fr 1fr}.trace-presets button{font-size:12px;padding:10px}.trace-table-wrap table{font-size:12px}.trace-table-wrap :is(th,td){padding:14px 9px}.trace-table-wrap tbody th{min-width:75px}.trace-table-wrap td:last-child{font-size:12px}.trace-export h3{font-size:1.4rem}.trace-decision-grid article{padding-block:8px}.trace-facts>div{gap:10px}.trace-tool h3{margin-bottom:16px}.trace-sources ol{gap:26px}}
@media(prefers-reduced-motion:reduce){.trace-tool *{animation:none!important;transition:none!important}}:root[data-motion=calm] .trace-tool *{animation:none!important;transition:none!important}

.trace-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.trace-js-guard{width:100%}
