/* Scoped tools, explicit theme roles and independent disclosures. */
.ip-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}.ip-cards .pf-focus{padding:27px;min-width:0}.ip-card-heading{display:flex;align-items:center;gap:16px;margin-bottom:20px}.ip-card-heading>.art{width:52px;height:58px;object-fit:contain;flex:none}.instruments-premium .ip-card-heading h3{font-size:24px;margin:0;line-height:1.35}.ip-cards .cf-copy{margin:0 0 22px}.ip-cards .button{width:100%;margin:0 0 18px}.ip-cards .cf-details{margin-top:20px}.ip-cards .cf-details summary{gap:12px}.ip-cards .cf-details summary>.art{flex:none}.ip-cards .cf-details summary>span:not(.cf-toggle){flex:1;min-width:0}
.ip-tool{max-width:1120px;margin:auto;padding:30px}.ip-tool fieldset{border:0;padding:0;margin:0;min-width:0}.ip-tool legend,.ip-field>label,.ip-text-label{font-size:14px;font-weight:700;line-height:1.65;color:var(--cf-ink)}.ip-tool legend{margin:0 0 13px}.ip-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.ip-form-grid>fieldset:first-child:last-child{grid-column:1/-1}.ip-numbers{display:grid;grid-template-columns:1fr 1fr;gap:20px}.ip-form-grid>.ip-numbers:only-child{grid-column:1/-1}.ip-options{display:flex;flex-wrap:wrap;gap:9px}.ip-options label,.ip-checks label{position:relative;cursor:pointer}.ip-options input,.ip-checks input{position:absolute;width:1px;height:1px;opacity:0}.ip-options span{display:block;padding:12px 15px;border:1px solid var(--cf-line);border-radius:12px;background:var(--cf-deep);font-size:14px;line-height:1.6;color:var(--cf-ink);-webkit-text-fill-color:var(--cf-ink)}.ip-options input:checked+span{background:#ffd28b;border-color:#ffd28b;color:#402614;-webkit-text-fill-color:#402614}.ip-options input:focus-visible+span,.ip-checks input:focus-visible+span{outline:3px solid var(--cf-gold);outline-offset:3px}.ip-options label:hover span,.ip-checks label:hover span{border-color:var(--cf-gold)}.ip-checks{display:grid;gap:10px}.ip-checks span{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--cf-line);border-radius:13px;background:var(--cf-deep);font-size:14px;line-height:1.6;color:var(--cf-ink);-webkit-text-fill-color:var(--cf-ink)}.ip-checks i{display:grid;place-items:center;width:22px;height:22px;flex:none;border:1px solid var(--cf-line);border-radius:7px;font-style:normal}.ip-checks input:checked+span{border-color:var(--cf-gold);background:var(--cf-surface)}.ip-checks input:checked+span i{background:#ffd28b;color:#402614;-webkit-text-fill-color:#402614}.ip-checks input:checked+span i:after{content:'✓'}
.ip-field>label{display:block;margin-bottom:9px}.ip-number{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;border:1px solid var(--cf-line);border-radius:12px;overflow:hidden;background:var(--cf-surface)}.ip-number input{width:100%;min-width:0;text-align:center;background:var(--cf-deep);border:0;padding:11px 3px;color:var(--cf-ink);-webkit-text-fill-color:var(--cf-ink);font:inherit;appearance:textfield;-moz-appearance:textfield}.ip-number input::-webkit-inner-spin-button,.ip-number input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ip-number button{border:0;background:var(--cf-surface);color:var(--cf-ink);-webkit-text-fill-color:var(--cf-ink);font-size:20px;font-weight:700;cursor:pointer;min-height:46px}.ip-number button:hover{background:var(--cf-deep);color:var(--cf-gold)}.ip-number input:focus-visible,.ip-number button:focus-visible{outline:3px solid var(--cf-gold);outline-offset:-3px}.ip-tool [aria-invalid=true]{outline:2px solid #e6a08b;outline-offset:-2px}.ip-variants{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:26px}.ip-tool .ip-variant{padding:22px;border:1px solid var(--cf-line);border-radius:20px;background:var(--cf-deep)}.ip-tool .ip-variant>legend{padding:0 10px;font-size:20px}.ip-variant .ip-field{margin-top:20px}.ip-text-label{display:grid;gap:10px;min-width:0}.ip-text-label input,.ip-text-label textarea{box-sizing:border-box;width:100%;min-width:0;border:1px solid var(--cf-line);background:var(--cf-deep);border-radius:12px;padding:14px;color:var(--cf-ink);-webkit-text-fill-color:var(--cf-ink);font:inherit;font-size:16px;font-weight:400;line-height:1.7}.ip-text-label textarea{resize:vertical;min-height:160px}.ip-text-label input:focus-visible,.ip-text-label textarea:focus-visible{outline:3px solid var(--cf-gold);outline-offset:3px}
.ip-result{margin-top:28px;padding-top:26px;border-top:1px solid var(--cf-line)}.instruments-premium .ip-result h3{font-size:27px;line-height:1.4;margin:14px 0 22px}.ip-output{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ip-output-card{padding:22px;border:1px solid var(--cf-line);border-radius:18px;background:var(--cf-deep);min-width:0;overflow-wrap:anywhere}.ip-output-card:last-child:nth-child(odd){grid-column:1/-1}.ip-output-card h4{font-size:17px;line-height:1.5;margin:0 0 14px;color:var(--cf-ink);-webkit-text-fill-color:var(--cf-ink)}.ip-metric{display:block;font-size:30px;line-height:1.3;color:var(--cf-gold);-webkit-text-fill-color:var(--cf-gold);margin:0 0 18px}.ip-next,.ip-related{display:flex;gap:12px;flex-wrap:wrap}.ip-next:not(:empty){margin-top:22px}.ip-related{padding:24px;background:var(--cf-surface);border:1px solid var(--cf-line);border-radius:22px;margin-top:38px}.ip-tool-note{max-width:1120px;margin:22px auto}.instruments-premium .ip-error{grid-column:1/-1;margin:0;padding:20px;background:var(--cf-deep);border:1px solid var(--cf-gold);border-radius:14px;color:var(--cf-ink);-webkit-text-fill-color:var(--cf-ink);line-height:1.8}.ip-note{padding:22px;border:1px solid var(--cf-line);border-radius:18px;color:var(--cf-ink);background:var(--cf-surface)}
@media(max-width:1100px){.ip-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.ip-cards>.pf-focus:last-child:nth-child(odd){grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 26px}.ip-cards>.pf-focus:last-child:nth-child(odd)>.ip-card-heading,.ip-cards>.pf-focus:last-child:nth-child(odd)>.cf-copy{grid-column:1}.ip-cards>.pf-focus:last-child:nth-child(odd)>.cf-details{grid-column:2;grid-row:1/3;align-self:start;margin:0}.ip-cards>.pf-focus:last-child:nth-child(odd)>.button{grid-column:1}}
@media(max-width:800px){.ip-cards,.ip-form-grid,.ip-variants,.ip-output{grid-template-columns:1fr}.ip-cards>.pf-focus:last-child:nth-child(odd){display:block}.ip-cards>.pf-focus:last-child:nth-child(odd)>.cf-details{margin-top:20px}.ip-tool{padding:22px}.ip-related .button{flex:1 1 220px}}
@media(max-width:480px){.ip-cards .pf-focus,.ip-output-card{padding:20px}.ip-tool{padding:18px}.ip-numbers{grid-template-columns:1fr}.ip-tool .ip-variant{padding:16px}.ip-card-heading>.art{width:42px;height:48px}.instruments-premium .ip-card-heading h3{font-size:22px}.instruments-premium .ip-result h3{font-size:23px}.ip-next>.button{width:100%}}
@media(forced-colors:active){.ip-number input,.ip-number button,.ip-text-label input,.ip-text-label textarea,.ip-options span,.ip-checks span,.ip-output-card h4,.ip-output-card li,.ip-metric,.instruments-premium .ip-error{color:CanvasText;-webkit-text-fill-color:CanvasText}.ip-options input:checked+span,.ip-checks input:checked+span i{background:Highlight;color:HighlightText;-webkit-text-fill-color:HighlightText}.ip-output-card li:before{background:CanvasText}}

/* Trial observations occupy the width, without an empty column beneath the format. */
.ip-tool-trial .ip-form-grid{grid-template-columns:1fr}.ip-tool-trial .ip-checks{grid-template-columns:1fr 1fr}.ip-tool-trial .ip-output{grid-template-columns:1fr}.ip-tool-trial .ip-output-card:nth-child(2) .ip-result-list{grid-template-columns:1fr 1fr;column-gap:30px}.ip-tool-selection .ip-form-grid>fieldset:last-child{grid-column:1/-1}
@media(max-width:800px){.ip-tool-trial .ip-checks,.ip-tool-trial .ip-output-card:nth-child(2) .ip-result-list{grid-template-columns:1fr}}

/* Results use the homepage's framed gold markers, with a distinct meaning for each role. */
.instruments-premium .ip-result-list{list-style:none;padding:0;margin:0;display:grid;gap:12px;counter-reset:result}
.instruments-premium .ip-result-list>li{display:flex;align-items:flex-start;gap:13px;margin:0;padding:15px;border:1px solid var(--cf-line);border-radius:14px;background:var(--cf-surface);font-size:14px;line-height:1.75;color:var(--cf-copy);-webkit-text-fill-color:var(--cf-copy)}
.instruments-premium .ip-result-list>li:before{content:none}
.ip-result-mark{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;margin-top:1px;border-radius:9px;background:linear-gradient(135deg,#ffdfa0,#ffc77c);color:#173d2d;-webkit-text-fill-color:#173d2d;font-size:12px;font-weight:750;line-height:1}
.ip-result-facts{display:grid;gap:10px;margin:0}.ip-result-facts>div{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:12px 15px;border:1px solid var(--cf-line);border-radius:12px;background:var(--cf-surface)}.ip-result-facts dt{font-size:13px;line-height:1.65;color:var(--cf-copy);-webkit-text-fill-color:var(--cf-copy)}.ip-result-facts dd{margin:0;text-align:right;font-size:15px;font-weight:700;line-height:1.65;color:var(--cf-ink);-webkit-text-fill-color:var(--cf-ink)}
.ip-result-copy{flex:1;min-width:0;color:var(--cf-copy);-webkit-text-fill-color:var(--cf-copy)}
.ip-result-note{display:flex;gap:13px;align-items:flex-start;padding:16px;border-radius:14px;background:var(--cf-surface);border:1px solid var(--cf-line)}
.ip-result-note .ip-result-mark{background:var(--cf-deep);border:1px solid var(--cf-line);color:var(--cf-gold);-webkit-text-fill-color:var(--cf-gold);font-family:Georgia,serif;font-size:18px}
.instruments-premium .ip-result-note p{margin:0;font-size:14px;line-height:1.8;color:var(--cf-copy);-webkit-text-fill-color:var(--cf-copy)}
.ip-table-question{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:13px;background:var(--cf-deep);color:var(--cf-copy);-webkit-text-fill-color:var(--cf-copy);line-height:1.75}
.ip-question-mark{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;margin-top:1px;border-radius:8px;border:1px solid var(--cf-line);color:var(--cf-gold);-webkit-text-fill-color:var(--cf-gold);font-size:13px;font-weight:700}
.instruments-premium .cf-table td:last-child{padding:16px 20px}.instruments-premium .cf-table th:first-child{width:23%}
@media(max-width:800px){.instruments-premium .cf-table td:last-child{padding:14px 18px}.instruments-premium .cf-table th:first-child{width:auto}}
.ip-tool-budget .ip-result-facts dd,.ip-tool-load .ip-result-facts dd{white-space:nowrap;flex-shrink:0}
@media(max-width:480px){.instruments-premium .ip-result-list>li{padding:13px;gap:10px}.ip-output-card{padding:17px}.ip-table-question{padding:12px;gap:10px}.ip-result-facts>div{display:grid;grid-template-columns:1fr;gap:4px}.ip-result-facts dd{text-align:left;overflow-wrap:normal}}
@media(forced-colors:active){.ip-result-mark,.ip-result-copy,.ip-result-note .ip-result-mark,.instruments-premium .ip-result-note p,.ip-table-question,.ip-question-mark{color:CanvasText;-webkit-text-fill-color:CanvasText;border-color:CanvasText}.ip-result-mark{background:Canvas}}
