/* Original Tools components recovered from source 39701eb.
   Layout, controls, borders, shadows and responsive behavior are preserved.
   Colors and typography use the current portfolio identity. */
.tools .tool-intro{border:0;padding:0}
.tools .mode-tabs{gap:0;border:0}
.tools .sample-primary{border:0;margin:0}
.tools .sample-output dl>div{border-bottom:0}
.tools .caution-box{border-left:0}
.tools .field-error,.tools .question-error{border-left:0;padding-left:0}
.tools .method-card-header{display:block}
.tools .method-question-toggle{width:auto;padding:0}
.tools .method-option{padding:0}
.tools .ruled-out{text-decoration:none}
.tools .hypothesis-output section+section{margin-top:0}
.tools .tool-disclosure summary h2{max-width:none}
.tools .builder{display:grid;grid-template-columns:.75fr 1.25fr;gap:3rem}
.tools .builder-intro p{color:var(--color-fg)}
.tools .builder-form{padding:1.35rem;border:2px solid var(--color-fg);background:var(--color-accent);box-shadow:7px 7px 0 var(--color-fg)}
.tools .field{display:grid;gap:.35rem;margin-bottom:.9rem}
.tools .field label{font-size:.62rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.tools .field input,.tools .field textarea{width:100%;padding:.65rem;border:2px solid var(--color-fg);border-radius:0;background:var(--color-bg)}
.tools .field textarea{min-height:76px;resize:vertical}
.tools .build-button{padding:.7rem 1rem;border:2px solid var(--color-fg);color:var(--color-bg);background:var(--color-blue);box-shadow:4px 4px 0 var(--color-fg);font-weight:900;cursor:pointer}
.tools .build-button:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--color-fg);background:var(--color-accent)}
.tools .hypothesis-output{margin-top:1.2rem;padding:1rem;border:2px solid var(--color-fg);background:var(--color-bg)}
.tools .hypothesis-output span{display:block;margin-bottom:.35rem;color:var(--color-fg);font-size:.6rem;font-weight:900;text-transform:uppercase}
.tools .hypothesis-output p{margin:0;font-size:1rem}
.tools .choice-hero{color:var(--color-fg);background:var(--color-accent)}
.tools .choice-hero>p:not(.eyebrow){color:var(--color-fg)}
.tools .question-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem}
.tools .question-grid p{margin:0;padding:1.1rem;border:2px solid var(--color-fg);background:var(--color-card);box-shadow:4px 4px 0 var(--color-fg)}
.tools .method-map{background:var(--color-card)}
.tools .method-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.tools .method-columns article{padding:1.25rem;border:2px solid var(--color-fg);background:var(--color-bg);box-shadow:4px 4px 0 var(--color-fg)}
.tools .method-columns span{color:var(--color-blue);font-size:.62rem;font-weight:900;text-transform:uppercase}
.tools .method-columns h3{margin:.65rem 0 .4rem;font-size:1.12rem}
.tools .method-columns p{margin:0;color:var(--color-fg);font-size:.82rem}
.tools .question-grid p{color:var(--color-fg)!important;font-size:1rem;font-weight:700}
@media (max-width:900px){
.tools .builder{grid-template-columns:1fr}
}
@media (max-width:650px){
.tools .method-columns,.tools .question-grid{grid-template-columns:1fr}
}
.tools .field label,.tools .hypothesis-output span,.tools .method-columns span{font-size:.75rem}
.tools .choice-hero .eyebrow{color:var(--color-fg)}
.tools .tool-accordion{display:grid;gap:1rem}
.tools .tool-disclosure{border:2px solid var(--color-fg);background:var(--color-card);box-shadow:7px 7px 0 var(--color-fg)}
.tools .tool-disclosure summary{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:1.15rem 1.25rem;cursor:pointer;list-style:none}
.tools .tool-disclosure summary::-webkit-details-marker{display:none}
.tools .tool-disclosure summary span{color:var(--color-blue);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.tools .tool-disclosure summary h2{margin:0;font-size:clamp(1.35rem,2.8vw,2.15rem);line-height:1;letter-spacing:-.04em}
.tools .tool-toggle{font-size:1.5rem;font-weight:700;line-height:1;transition:transform .2s ease}
.tools .tool-disclosure[open] .tool-toggle{transform:rotate(45deg)}
.tools .tool-panel{padding:0 1.25rem 1.25rem;border-top:2px solid var(--color-fg);background:var(--color-bg)}
.tools .tool-panel .builder{padding-top:1.5rem}
.tools .tool-panel .builder-intro h3{font-size:clamp(1.5rem,3vw,2.4rem);line-height:1.02;letter-spacing:-.045em}
.tools .tool-panel>p{max-width:720px;margin:1.25rem 0 0;color:var(--color-fg)}
@media (max-width:650px){
.tools .tool-disclosure summary{grid-template-columns:1fr auto}
.tools .tool-disclosure summary span{grid-column:1/-1}
.tools .tool-panel{padding-inline:1rem}
.tools .tool-panel .builder{padding-top:1.2rem}
}
.tools .builder-form{background:var(--color-card)}
.tools .tool-disclosure summary{color:var(--color-bg);background:var(--color-blue)}
.tools .tool-disclosure summary span{color:var(--color-bg)}
.tools .tool-disclosure summary{color:var(--color-fg);background:var(--color-accent)}
.tools .tool-disclosure summary span{color:var(--color-blue)}
.tools .tool-disclosure.is-ready summary{grid-template-columns:1fr auto}
.tools .tool-disclosure summary{transition:background-color .18s ease,color .18s ease}
.tools .tool-disclosure>summary:hover,.tools .tool-disclosure>summary:focus-visible{background:var(--color-accent)}
.tools .tool-disclosure>summary:hover,.tools .tool-disclosure>summary:focus-visible{color:var(--color-bg);background:var(--color-blue)}
.tools .tool-disclosure>summary:hover span,.tools .tool-disclosure>summary:focus-visible span{color:var(--color-bg)}
.tools .tool-disclosure summary h2{font-size:30px}
.tools .tool-disclosure summary span{font-size:12px;font-weight:700}
.tools .tool-panel .builder-intro h3{font-size:clamp(2rem,3.5vw,3.25rem)}
.tools .builder-intro p,.tools .tool-panel>p{font-size:14px;line-height:1.55}
.tools .field{gap:.45rem;margin-bottom:1.2rem}
.tools .field label{font-size:.9rem;font-weight:900;letter-spacing:.03em}
.tools .field small{max-width:620px;font-size:.94rem;line-height:1.4}
.tools .field input,.tools .field textarea{padding:.8rem;font-size:1rem;line-height:1.4}
.tools .field textarea{min-height:96px}
.tools .build-explanation{margin:1.2rem 0;font-size:1rem;line-height:1.48}
.tools .build-button{font-size:1rem}
.tools .hypothesis-output p{font-size:1.08rem;line-height:1.5}
.tools .interactive-tool{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr);gap:3rem}
.tools .tool-intro h3{font-size:clamp(2rem,3.5vw,3.25rem);line-height:1;letter-spacing:-.04em}
.tools .tool-intro p{max-width:440px;font-size:14px;line-height:1.55}
.tools .wizard-form,.tools .calculator-form{padding:1.4rem;border:2px solid var(--color-fg);background:var(--color-card);box-shadow:7px 7px 0 var(--color-fg)}
.tools .wizard-form fieldset{margin:0;padding:0;border:0}
.tools .wizard-form legend{width:100%;margin-bottom:1rem;font-size:1.25rem;font-weight:900}
.tools .wizard-form legend span,.tools .result-label{display:block;margin-bottom:.35rem;color:var(--color-blue);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.tools .choice{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:start;margin:.65rem 0;padding:.85rem;border:2px solid var(--color-fg);background:var(--color-bg);cursor:pointer}
.tools .choice:has(input:checked){background:var(--color-accent);box-shadow:3px 3px 0 var(--color-fg)}
.tools .choice input{margin-top:.3rem;accent-color:var(--color-blue)}
.tools .choice strong,.tools .choice small{display:block}
.tools .choice small{margin-top:.2rem;font-size:.94rem;line-height:1.4}
.tools .method-note{margin:1.2rem 0 0;padding-top:1rem;border-top:1.5px solid var(--color-fg);font-size:.94rem;line-height:1.48}
.tools .back-button{margin-top:1rem;padding:.65rem .85rem;border:2px solid var(--color-fg);background:var(--color-bg);font-weight:900;cursor:pointer}
.tools .back-button:hover{background:var(--color-accent)}
.tools .tool-result h3{margin:.2rem 0;font-size:clamp(1.7rem,3vw,2.6rem)}
.tools .result-kind{margin-top:0;color:var(--color-blue);font-weight:900}
.tools .result-grid{display:grid;gap:.75rem}
.tools .result-grid article{padding:1rem;border-left:6px solid var(--color-accent);background:var(--color-bg)}
.tools .result-grid h4{margin:0 0 .35rem;font-size:.78rem;text-transform:uppercase}
.tools .result-grid p{margin:0;font-size:1rem;line-height:1.48}
.tools .mode-tabs{display:flex;flex-wrap:wrap;margin-bottom:1rem}
.tools .mode-tabs button{padding:.75rem 1rem;border:2px solid var(--color-fg);background:var(--color-bg);font-weight:900;cursor:pointer}
.tools .mode-tabs button+button{margin-left:-2px}
.tools .mode-tabs button.active{background:var(--color-accent)}
.tools .control-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.tools .control-grid label{display:grid;gap:.4rem;font-weight:900}
.tools .control-grid label>span{font-weight:300}
.tools .control-grid select,.tools .control-grid input{width:100%;padding:.75rem;border:2px solid var(--color-fg);border-radius:0;background:var(--color-bg);font:inherit}
.tools .control-grid small{font-weight:300;line-height:1.4}
.tools .sample-output{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1.2rem;padding:1rem;border:2px solid var(--color-fg);background:var(--color-blue);color:var(--color-bg)}
.tools .sample-output div{display:flex;flex-direction:column}
.tools .sample-output strong{font-size:clamp(2.1rem,4vw,3.4rem);line-height:1}
.tools .sample-output span{font-size:.88rem}
.tools .sample-output p{grid-column:1/-1;margin:.4rem 0 0;font-size:.9rem}
.tools .caution-list{display:grid;gap:.7rem;margin-top:1rem}
.tools .caution-list p{margin:0;padding:.85rem;border-left:6px solid var(--color-accent);background:var(--color-bg);font-size:.98rem;line-height:1.48}
@media (max-width:650px){
.tools .builder-intro p,.tools .tool-panel>p{font-size:1.05rem}
.tools .interactive-tool{grid-template-columns:1fr;gap:1.5rem}
.tools .control-grid,.tools .sample-output{grid-template-columns:1fr}
.tools .sample-output p{grid-column:1}
.tools .mode-tabs{display:grid;grid-template-columns:1fr}
.tools .mode-tabs button+button{margin:-2px 0 0}
.tools .wizard-form,.tools .calculator-form{padding:1rem;box-shadow:5px 5px 0 var(--color-fg)}
}
.tools .tool-accordion{display:grid;gap:1.5rem}
.tools .tool-disclosure{overflow:hidden}
.tools .tool-disclosure summary{min-height:88px;padding:1.5rem 1.65rem}
.tools .tool-disclosure summary h2{font-size:clamp(1.85rem,3vw,2.8rem);line-height:1;letter-spacing:-.045em}
.tools .tool-panel{padding:0 1.65rem 2rem}
.tools .tool-panel::before{content:"";display:block;height:2rem}
.tools .tool-layout{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,720px);gap:clamp(2.5rem,6vw,5rem);justify-content:space-between;align-items:start}
.tools .tool-intro{padding-top:.15rem}
.tools .tool-intro h3{margin:0 0 1rem;font-size:clamp(2rem,3.4vw,3.2rem);font-weight:900;line-height:.98;letter-spacing:-.045em}
.tools .tool-intro p{max-width:440px;margin:0;font-size:1.05rem;line-height:1.48}
.tools .tool-surface{width:100%;padding:clamp(1.35rem,2.5vw,2rem);border:2px solid var(--color-fg);background:var(--color-bg);box-shadow:5px 5px 0 var(--color-fg)}
.tools .tool-surface .field{display:flex;flex-direction:column;gap:.4rem;margin:0 0 1.55rem}
.tools .tool-surface .field:last-of-type{margin-bottom:1.7rem}
.tools .tool-surface .field label,.tools .choice-field legend{font-size:14px;font-weight:700;line-height:1.3;letter-spacing:0;text-transform:none}
.tools .tool-surface .field small,.tools .choice-field>small{order:2;display:block;font-size:14px;font-weight:300;line-height:1.45}
.tools .tool-surface .field input,.tools .tool-surface .field textarea,.tools .tool-surface .field select{order:1;width:100%;min-height:48px;padding:.75rem .85rem;border:1.5px solid var(--color-fg);border-radius:0;background:var(--color-card);color:var(--color-fg);font:inherit;font-size:1rem;line-height:1.3}
.tools .tool-surface .field label+small+input,.tools .tool-surface .field label+small+textarea,.tools .tool-surface .field label+small+select{order:1}
.tools .tool-surface .field label{order:0}
.tools .tool-surface .field small{order:2}
.tools .builder-form .field small{order:1}
.tools .builder-form .field input,.tools .builder-form .field textarea{order:2}
.tools .tool-surface .field textarea{min-height:96px}
.tools .selector-form .field select{margin-top:.05rem}
.tools .build-explanation,.tools .method-note{margin:1.3rem 0;font-size:.96rem;line-height:1.45}
.tools .build-button,.tools .back-button{font-size:1rem;line-height:1.2}
.tools .hypothesis-output{margin-top:1.5rem;padding:1.15rem}
.tools .hypothesis-output p{font-size:1.05rem;line-height:1.45}
.tools .sample-workspace{width:100%;max-width:720px}
.tools .sample-layout{grid-template-columns:1fr;gap:1.75rem}
.tools .sample-layout .tool-intro{max-width:760px}
.tools .sample-layout .sample-workspace{max-width:760px}
.tools .mode-tabs{display:grid;grid-template-columns:1fr 1fr;margin:0 0 1rem}
.tools .mode-tabs button{min-height:48px;font-size:.95rem}
.tools .calculator-form{padding:clamp(1.35rem,2.5vw,2rem);box-shadow:5px 5px 0 var(--color-fg)}
.tools .choice-field{margin:0 0 1.65rem;padding:0;border:0}
.tools .choice-field>small{margin:.35rem 0 .8rem}
.tools .inline-choices{display:flex;flex-wrap:wrap;gap:.55rem}
.tools .inline-choices label{padding:.7rem .8rem;border:1.5px solid var(--color-fg);background:var(--color-card);font-size:.92rem;font-weight:700;cursor:pointer}
.tools .inline-choices label:has(input:checked){background:var(--color-accent)}
.tools .inline-choices input{accent-color:var(--color-blue)}
.tools .sample-output{display:block;margin-top:2rem;padding:0;border:0;border-top:1.5px solid var(--color-fg);background:transparent;color:var(--color-fg)}
.tools .sample-primary{display:flex;flex-direction:column;padding:1.35rem 0}
.tools .sample-primary strong{color:var(--color-accent);font-size:clamp(2.6rem,5vw,4rem);font-weight:700;line-height:1}
.tools .sample-primary span{margin-top:.35rem;font-size:.96rem}
.tools .sample-output dl{margin:0}
.tools .sample-output dl>div{display:flex;justify-content:space-between;gap:1.5rem;padding:.8rem 0;border-top:1px dashed var(--color-border)}
.tools .sample-output dt,.tools .sample-output dd{margin:0;font-size:.96rem}
.tools .sample-output dd{text-align:right;font-weight:700}
.tools .sample-output>p{margin:1.1rem 0 0;font-size:.94rem;line-height:1.45}
.tools .caution-box{margin-top:1.5rem;padding:1.1rem 1.15rem;background:var(--color-accent-light)}
.tools .caution-box p{margin:0 0 .75rem;font-size:.96rem;line-height:1.45}
.tools .caution-box p:last-child{margin-bottom:0}
.tools .method-results{margin-top:2rem;padding-top:1.5rem;border-top:2px solid var(--color-fg)}
.tools .method-results .result-label{margin-bottom:1rem}
.tools .tool-surface p.tool-feedback,.tools .sample-workspace p.tool-feedback{margin:1.4rem 0 0;color:var(--color-fg);font-size:14px;font-weight:300;line-height:1.5;text-align:left}
.tools .tool-feedback a{color:var(--color-fg);font-weight:300;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.tools .tool-feedback a:focus-visible{outline:3px solid var(--color-blue);outline-offset:3px}
.tools #method-result-list{display:grid;gap:1rem}
.tools .method-card{min-width:0;padding:0;border:2px solid var(--color-fg);background:var(--color-bg);box-shadow:5px 5px 0 var(--color-fg);overflow:hidden}
.tools .method-card-header{padding:1.25rem 1.4rem;border-bottom:2px solid var(--color-fg);background:var(--color-accent)}
.tools .method-complement .method-card-header{background:var(--color-card)}
.tools .method-measure .method-card-header{background:var(--color-blue);color:var(--color-bg)}
.tools .method-synthesis .method-card-header{background:var(--color-accent)}
.tools .method-card .method-rank{margin:0 0 .45rem;color:inherit;font-size:.72rem;font-weight:900;letter-spacing:.075em;text-transform:uppercase}
.tools .method-card h3{margin:0;font-size:clamp(1.45rem,2.4vw,2rem);line-height:1.05;letter-spacing:-.035em}
.tools .method-card .method-summary{margin:0;padding:1.2rem 1.4rem;border-bottom:1.5px solid var(--color-fg);background:var(--color-card);font-size:1.125rem;line-height:1.45}
.tools .method-card dl{display:grid;margin:0}
.tools .method-card dl>div{display:block;padding:1rem 1.4rem;border-top:1px solid var(--color-border)}
.tools .method-card dl>div:first-child{border-top:0}
.tools .method-card dt,.tools .method-card dd{margin:0;font-size:1.125rem;line-height:1.45}
.tools .method-card dt{color:var(--color-blue);font-size:.875rem;font-weight:900;letter-spacing:.045em;text-transform:uppercase}
.tools .method-card dd{margin-top:.35rem}
@media (max-width:900px){
.tools .tool-layout{grid-template-columns:1fr;gap:1.75rem}
.tools .tool-intro p{max-width:720px}
.tools .sample-workspace{max-width:none}
}
@media (max-width:650px){
.tools .tool-accordion{gap:1rem}
.tools .tool-disclosure summary{min-height:74px;padding:1.1rem}
.tools .tool-disclosure summary h2{font-size:clamp(1.55rem,8vw,2.15rem)}
.tools .tool-panel{padding:0 1rem 1.4rem}
.tools .tool-panel::before{height:1.4rem}
.tools .tool-intro h3{font-size:clamp(1.85rem,10vw,2.6rem)}
.tools .tool-intro p{font-size:1rem}
.tools .tool-surface,.tools .calculator-form{padding:1rem;box-shadow:4px 4px 0 var(--color-fg)}
.tools .mode-tabs{grid-template-columns:1fr}
.tools .mode-tabs button+button{margin:-2px 0 0}
.tools .inline-choices{display:grid}
.tools .sample-output dl>div{display:grid;gap:.25rem}
.tools .sample-output dd{text-align:left}
.tools .method-card dl>div{display:block}
}
.tools .method-question-list{display:grid;gap:2.2rem}
.tools .method-question{margin:0;padding:0 0 2rem;border:0;border-bottom:1.5px solid var(--color-fg)}
.tools .method-question:last-child{border-bottom:0}
.tools .method-question legend{width:100%;margin:0;font-size:clamp(1.3rem,2vw,1.7rem);font-weight:900;line-height:1.12;letter-spacing:-.025em}
.tools .method-question legend span{display:block;margin-bottom:.45rem;color:var(--color-blue);font-size:.72rem;font-weight:900;letter-spacing:.08em}
.tools .question-instruction{margin:.45rem 0 1rem;font-size:.94rem;line-height:1.4}
.tools .method-options{display:grid;gap:.65rem}
.tools .method-option{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:start;border:1.5px solid var(--color-fg);background:var(--color-card)}
.tools .method-choice{display:grid;grid-template-columns:22px minmax(0,1fr);gap:.7rem;align-items:start;min-height:52px;padding:.8rem;cursor:pointer;font-size:1rem;font-weight:700;line-height:1.35}
.tools .method-choice input{-webkit-appearance:none;appearance:none;width:20px;height:20px;margin:.08rem 0 0;border:2px solid var(--color-muted);background:var(--color-bg);cursor:pointer}
.tools .method-choice input[type="radio"]{border-radius:50%}
.tools .method-choice input[type="radio"]:checked{border-color:var(--color-blue);background:radial-gradient(circle,var(--color-blue) 0 42%,var(--color-bg) 46%)}
.tools .method-choice input[type="checkbox"]{border-radius:2px}
.tools .method-choice input[type="checkbox"]:checked{border-color:var(--color-blue);background-color:var(--color-blue);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m4 10 4 4 8-9' fill='none' stroke='%23FCF8EB' stroke-width='2.5' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E")}
.tools .method-choice input:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}
.tools .method-option:has(input:checked){background:var(--color-accent);box-shadow:3px 3px 0 var(--color-fg)}
.tools .example-toggle{align-self:end;display:grid;place-items:center;width:28px;height:28px;margin:0 .8rem .8rem 0;padding:0;border:0;background:transparent;color:var(--color-accent);cursor:pointer}
.tools .example-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:square;stroke-linejoin:miter;transition:transform .18s ease}
.tools .example-toggle:hover{color:var(--color-blue)}
.tools .example-toggle:focus-visible{outline:3px solid var(--color-blue);outline-offset:2px}
.tools .example-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.tools .option-example{grid-column:1/-1;margin:0;padding:.85rem;border-top:1.5px solid var(--color-fg);background:var(--color-bg);font-size:.95rem;line-height:1.45}
.tools .option-example strong{display:block;margin-bottom:.25rem;color:var(--color-blue);font-size:.72rem;letter-spacing:.07em;text-transform:uppercase}
.tools .question-error{margin:.75rem 0 0;color:var(--color-fg);font-size:.92rem;font-weight:700}
.tools .builder-form .field.has-error input,.tools .builder-form .field.has-error textarea{border:2px solid var(--color-fg);background:var(--color-accent-light)}
.tools .method-question.has-error{padding:.9rem;border:2px solid var(--color-fg);background:var(--color-accent-light)}
.tools .selector-form>.build-button{margin-top:2rem}
.tools .method-card+.method-card{margin-top:.25rem}
.tools .method-card.method-guard{background:var(--color-bg)}
.tools .method-card.method-guard .method-card-header{background:var(--color-accent)}
.tools .method-card.method-guard .method-summary{border-bottom:0;background:var(--color-bg)}
.tools .method-card .method-sources a{color:var(--color-fg);text-decoration-color:var(--color-accent);text-decoration-thickness:3px;text-underline-offset:3px}
.tools .ruled-out{border:2px solid var(--color-fg);background:var(--color-bg);box-shadow:5px 5px 0 var(--color-fg);overflow:hidden}
.tools .ruled-out summary{padding:1.1rem 1.4rem;border-bottom:0;background:var(--color-card);cursor:pointer;font-weight:900}
.tools .ruled-out[open] summary{border-bottom:2px solid var(--color-fg)}
.tools .ruled-out h4{margin:0;padding:1rem 1.4rem .25rem;color:var(--color-blue);font-size:.875rem;letter-spacing:.045em;text-transform:uppercase}
.tools .ruled-out ul{margin:0;padding:.25rem 2.7rem 1rem}
.tools .ruled-out li{margin:.5rem 0;font-size:.94rem;line-height:1.45}
@media (max-width:600px){
.tools #method-result-list{grid-template-columns:minmax(0,1fr);gap:1.25rem}
.tools .method-card,.tools .ruled-out{width:100%;min-width:0;box-shadow:4px 4px 0 var(--color-fg)}
.tools .method-card-header,.tools .method-card .method-summary,.tools .method-card dl>div{padding-left:1.2rem;padding-right:1.2rem}
.tools .method-card h3{font-size:1.55rem;overflow-wrap:normal;word-break:normal}
.tools .method-card dt,.tools .method-card dd,.tools .method-card .method-summary{overflow-wrap:normal;word-break:normal}
.tools .method-card .method-sources a{overflow-wrap:anywhere}
.tools .ruled-out summary,.tools .ruled-out h4{padding-left:1.2rem;padding-right:1.2rem}
.tools .ruled-out ul{padding-left:2.4rem;padding-right:1.2rem}
}
.tools .field label,.tools .hypothesis-output span,.tools .method-columns span,.tools .wizard-form legend span,.tools .result-label,.tools .method-card .method-rank,.tools .method-question legend span{font-size:12px}
.tools .method-choice{font-size:14px}
.tools .tool-layout{grid-template-columns:minmax(0,1fr);gap:1.75rem}
.tools .tool-intro,.tools .tool-layout .tool-intro{width:100%;max-width:980px}
.tools .tool-intro h3{font-size:45px}
.tools .tool-intro p{max-width:880px;font-size:14px}
.tools .tool-surface,.tools .sample-workspace,.tools .sample-layout .sample-workspace{width:100%;max-width:none}
.tools .tool-surface p,.tools .tool-surface small,.tools .tool-surface dd,.tools .tool-surface dt,.tools .tool-surface input,.tools .tool-surface textarea,.tools .tool-surface select{font-size:14px}
.tools .tool-surface .field input,.tools .tool-surface .field textarea,.tools .tool-surface .field select{font-size:14px}
.tools .tool-surface .field small,.tools .choice-field>small{font-size:14px}
.tools .calculator-form .field small{order:1}
.tools .calculator-form .field input,.tools .calculator-form .field select,.tools .calculator-form .field textarea{order:2}
.tools .calculator-form .field small{max-width:none;white-space:nowrap}
.tools .calculator-form .field select{-webkit-appearance:none;appearance:none;padding-right:3.25rem;background-color:var(--color-card);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 12'%3E%3Cpath d='m2 2 8 8 8-8' fill='none' stroke='%231C1C1C' stroke-width='2.5' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1.15rem center;background-size:16px 10px}
.tools .result-label,.tools .method-rank,.tools .method-question legend span,.tools .option-example strong{font-size:12px}
@media (max-width:900px){
.tools .calculator-form .field small{white-space:normal}
}
@media (max-width:650px){
.tools .tool-intro h3{font-size:45px}
}
.tools .tool-accordion{gap:16px}
.tools #hypothesis-builder .tool-layout{grid-template-columns:1fr}
.tools #hypothesis-builder .tool-intro{max-width:760px}
.tools details.method-question{margin:0;padding:0;border:2px solid var(--color-fg);background:var(--color-bg)}
.tools .method-question-list{gap:.65rem}
.tools details.method-question+details.method-question{margin-top:0}
.tools details.method-question>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1.05rem 1.15rem;cursor:pointer;list-style:none;color:var(--color-fg);background:var(--color-card)}
.tools details.method-question>summary::-webkit-details-marker{display:none}
.tools .method-question-heading{display:grid;grid-template-columns:54px minmax(0,1fr);gap:.75rem;align-items:center;min-width:0}
.tools details.method-question>summary .method-question-number{color:var(--color-blue);font-size:1rem;font-weight:900;letter-spacing:.06em}
.tools details.method-question>summary strong{font-size:clamp(1.35rem,2vw,1.7rem);line-height:1.15;letter-spacing:-.025em}
.tools .method-question-toggle{font-size:1.5rem;font-weight:900;line-height:1;text-align:right;transition:transform .18s ease}
.tools details.method-question[open] .method-question-toggle{transform:rotate(45deg)}
.tools .method-question-body{padding:0 1rem 1.25rem 4.95rem}
.tools details.method-question.has-error{padding:0;border:2px solid var(--color-fg);background:var(--color-accent-light)}
@media (max-width:767px){
.tools .tool-intro h3{margin-bottom:.65rem;font-size:32px;font-weight:700;line-height:1.08}
.tools details.method-question>summary{grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:22px 20px;align-items:center}
.tools .method-question-heading{grid-template-columns:minmax(0,1fr);gap:.35rem;min-width:0;max-width:none}
.tools details.method-question>summary .method-question-number{font-size:.9rem}
.tools details.method-question>summary strong{min-width:0;max-width:none;font-size:26px;line-height:1.14;overflow-wrap:normal;word-break:normal}
.tools .method-question-toggle{align-self:center;width:auto;min-width:1.5rem;text-align:center}
.tools .method-question-body{padding:0 20px 20px}
.tools .method-question-body .question-instruction{margin:1rem 0 .65rem;font-weight:700}
.tools .method-option{grid-template-columns:minmax(0,1fr) auto;min-width:0}
.tools .method-choice{grid-template-columns:auto minmax(0,1fr);gap:.65rem;min-width:0;min-height:52px;padding:.7rem .75rem;font-size:19px;line-height:1.3}
.tools .method-choice span{min-width:0;max-width:none;overflow-wrap:normal;word-break:normal}
.tools .example-toggle{align-self:center;margin:0 .65rem 0 0}
.tools input::placeholder,.tools textarea::placeholder{font-size:17px;line-height:1.35}
}
.tools .mode-tabs button{color:var(--color-fg)}
.tools #hypothesis-builder .builder-form input::placeholder,.tools #hypothesis-builder .builder-form textarea::placeholder{opacity:1;color:var(--color-fg)}
.tools #hypothesis-builder .builder-form input:focus::placeholder,.tools #hypothesis-builder .builder-form textarea:focus::placeholder{opacity:0}
@media (max-width:600px){
.tools .tool-intro h3{width:100%;max-width:none;margin-bottom:20px;font-size:28px;font-weight:700;line-height:1.08;letter-spacing:normal}
.tools .tool-surface .field input,.tools .tool-surface .field textarea{font-size:18px}
.tools .tool-surface .field input{line-height:21.6px}
.tools input::placeholder,.tools textarea::placeholder{font-size:16px;line-height:1.35;font-weight:300;opacity:.72;color:var(--color-fg)}
.tools #hypothesis-builder .builder-form input::placeholder,.tools #hypothesis-builder .builder-form textarea::placeholder{opacity:.72}
.tools #hypothesis-builder .builder-form textarea{min-height:160px}
}
.tools #hypothesis-builder .criterion-control{order:3;display:flex;align-items:center;gap:.65rem;margin-top:.25rem}
.tools #hypothesis-builder .criterion-control input{order:0;width:1.2rem;min-height:1.2rem;margin:0;padding:0;border:0;background:transparent;accent-color:var(--color-blue)}
.tools #hypothesis-builder .criterion-control label{order:0;margin:0;font-weight:700}
.tools #hypothesis-builder .criterion-note{order:4!important}
.tools #hypothesis-builder .field-error{order:5!important;color:var(--color-fg);font-weight:700}
.tools #hypothesis-builder .field.has-error input,.tools #hypothesis-builder .field.has-error textarea{border:2px solid var(--color-fg);background:var(--color-accent-light)}
.tools #hypothesis-builder .builder-form .field small{max-width:none;white-space:normal;line-height:1.45}
.tools #hypothesis-builder .builder-form .field .measure-note{order:3;margin-top:-.15rem;font-size:14px;line-height:1.45}
.tools #hypothesis-builder .builder-form .field .criterion-note{white-space:normal}
.tools #hypothesis-builder .hypothesis-output{display:grid;gap:1.5rem;margin-top:1.5rem;padding:2rem;border:2px solid var(--color-fg);background:var(--color-bg);box-shadow:none;overflow:hidden}
.tools #hypothesis-builder .hypothesis-output section+section{padding-top:1.5rem;border-top:1px solid var(--color-border)}
.tools #hypothesis-builder .hypothesis-output h3{margin:0 0 .8rem;color:var(--color-blue);font-size:1.35rem;line-height:1.25;font-weight:900}
.tools #hypothesis-builder .hypothesis-output #output-assumption{margin:0;max-width:34ch;font-size:clamp(1.35rem,2.4vw,1.7rem);line-height:1.38;font-weight:300;overflow-wrap:break-word}
.tools #hypothesis-builder .hypothesis-output .output-copy{display:grid}
.tools #hypothesis-builder .hypothesis-output dl{display:grid;margin:0}
.tools #hypothesis-builder .hypothesis-output dl>div{display:grid;grid-template-columns:minmax(145px,.34fr) minmax(0,1fr);gap:1rem;padding:.8rem 0;border-top:1px solid var(--color-border)}
.tools #hypothesis-builder .hypothesis-output dl>div:first-child{border-top:0}
.tools #hypothesis-builder .hypothesis-output dt,.tools #hypothesis-builder .hypothesis-output dd{margin:0;font-size:1rem;line-height:1.45}
.tools #hypothesis-builder .hypothesis-output dt{font-weight:900}
.tools #hypothesis-builder .hypothesis-output dd{overflow-wrap:break-word}
.tools .quant-disclaimer{margin-top:1.5rem}
.tools .quant-disclaimer p{margin:0;font-size:1rem;line-height:1.48}
.tools .quant-disclaimer strong{font-weight:900}
.tools .method-question-body .question-instruction{margin:1.25rem 0 .5rem;font-weight:700}
@media (max-width:650px){
.tools #hypothesis-builder .hypothesis-output{gap:1.25rem;padding:24px}
.tools #hypothesis-builder .hypothesis-output section+section{padding-top:1.25rem}
.tools #hypothesis-builder .hypothesis-output h3{font-size:1.2rem}
.tools #hypothesis-builder .hypothesis-output #output-assumption{max-width:none;font-size:21px;line-height:1.4}
.tools #hypothesis-builder .hypothesis-output dl>div{grid-template-columns:1fr;gap:.2rem;padding:.7rem 0}
}
/* Current typography, without changing the original component geometry. */
.tools .tool-disclosure>summary h2{font-size:30px;font-weight:800;letter-spacing:-.03em;line-height:1.1;color:inherit}
.tools .tool-intro h3{font-size:20px;font-weight:700;letter-spacing:-.02em;line-height:1.375}
.tools .tool-intro p,.tools .tool-surface p,.tools .tool-surface small,.tools .tool-surface dt,.tools .tool-surface dd,.tools .method-choice{font-size:14px;line-height:1.625}
.tools .tool-surface input,.tools .tool-surface textarea,.tools .tool-surface select{font-family:inherit;font-size:16px}
.tools .tool-surface .field label{font-size:14px;font-weight:600}
.tools .build-button,.tools .back-button,.tools .mode-tabs button{font-size:14px;font-weight:600}
.tools .method-card h3,.tools details.method-question>summary strong{font-size:20px;line-height:1.375;letter-spacing:-.02em}
.tools .method-card dt,.tools .result-label,.tools .method-card .method-rank,.tools .option-example strong{font-size:12px;letter-spacing:.14em}
.tools .method-measure .method-card-header h3{color:inherit}
.tools .sample-primary strong{color:var(--color-fg)}
.tools .tool-disclosure:last-child{border:2px solid var(--color-fg)}
.tools .tool-intro p,.tools .tool-surface p{max-width:60ch}
.tools .calculator-form .field small{white-space:normal}
@media(max-width:650px){.tools .tool-disclosure>summary h2{font-size:24px}.tools .tool-intro h3{font-size:20px}.tools .method-choice{font-size:14px}}
/* Examples span the full option width, including their horizontal divider. */
.tools .tool-surface p.option-example{width:100%;max-width:none}
/* Let the estimate explanation use the full padded container. */
.tools #quant-form .quant-disclaimer>p{width:100%;max-width:none}
/* Qualitative guidance uses the same full-width treatment. */
.tools #qual-form .quant-disclaimer>p{width:100%;max-width:none}
