/* Calculators and searchable catalog: isolated from legacy result-card styles. */
.dy-tool,.tool-browser{--tool-accent:#33e184;color:var(--text,#edf3ee)}
.dy-tool{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:24px;margin:28px 0}
.dy-tool *{box-sizing:border-box}.dy-tool [hidden],.tool-browser [hidden]{display:none!important}
.tool-input-panel,.tool-output-panel{border:1px solid var(--line,#26302b);border-radius:20px;background:var(--panel,#101513);padding:30px;min-width:0}
.tool-output-panel{background:linear-gradient(155deg,#10291d,#0d1511);align-self:start;position:sticky;top:88px;border-color:#274736}
.dy-tool h2{font-size:23px;line-height:1.45;margin:8px 0 12px;letter-spacing:-.02em}
.tool-kicker{color:var(--tool-accent);font-size:11px;font-weight:800;letter-spacing:.14em}
.tool-intro,.tool-help,.tool-caption,.tool-source,.tool-advanced-body p{color:#aebdb3;font-size:13px;line-height:1.85}
.tool-source{padding:12px;border-left:3px solid #e9b44c;background:#e9b44c0a;margin:14px 0}.tool-machine-info{font-size:12px;margin-bottom:20px;overflow-wrap:anywhere}
.tool-link{color:#65e89f;text-decoration:underline;text-underline-offset:4px}.tool-link:hover{color:#adffcf}
.tool-label{display:block;font-size:13px;font-weight:700;color:#dae6de;margin:18px 0 8px}
.dy-tool input[type=text],.dy-tool select,.tool-browser input{border:1px solid #405148;background:#080f0b;color:#f3f6f4;min-height:48px;border-radius:9px;padding:11px 13px;width:100%;min-width:0}
.dy-tool select{font-size:13px;text-overflow:ellipsis}.dy-tool option{background:#101513;color:#f3f6f4}
.dy-tool input::placeholder,.tool-browser input::placeholder{color:#8e9f94;opacity:1}.tool-unit{display:flex;align-items:center;border:1px solid #405148;background:#080f0b;border-radius:9px;padding:0 12px;gap:6px;min-width:0}
.dy-tool .tool-unit input{border:0;padding-inline:0;background:none;min-width:0;border-radius:0}.tool-unit span{white-space:nowrap;color:#99b1a2;font-size:12px}
.tool-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tool-help{font-size:12px;margin:8px 0 14px}
.tool-mode{display:flex;gap:6px;background:#070e0a;border:1px solid #273c2f;padding:5px;border-radius:11px;margin-top:24px}
.tool-mode button,.tool-filter button{border:1px solid transparent;background:transparent;color:#b6c2ba;cursor:pointer;font-size:12px;font-weight:700;min-height:42px;padding:9px 12px;border-radius:7px;flex:1}
.tool-mode button[aria-pressed=true],.tool-filter button[aria-pressed=true]{background:#203e2b;color:#a5fbc9;border-color:#2c7149}
.tool-check{display:flex;align-items:flex-start;gap:12px;font-size:12px;color:#c1d0c6;margin:17px 0;line-height:1.8;cursor:pointer}
.tool-check input{width:19px;height:19px;flex:0 0 19px;margin-top:2px;accent-color:#33e184}
.tool-submit,.tool-ev-submit{width:100%;border:1px solid #33e184;background:#33e184;color:#082512;border-radius:10px;min-height:50px;padding:12px 17px;font-weight:800;font-size:14px;cursor:pointer;margin-top:12px;display:flex;justify-content:space-between;align-items:center}
.tool-submit:hover,.tool-ev-submit:hover{background:#69f5a7}.tool-ev-submit{justify-content:center;background:#163824;color:#b0f7ca;border-color:#37624a}
.tool-results{margin:24px 0 0;display:grid;gap:0}.tool-results>div{padding:18px 0;border-top:1px solid #2b4334}.tool-results dt{font-size:12px;color:#b4c8bc}.tool-results dd{margin:5px 0 0;color:#f2fff7;font-size:25px;font-weight:800;line-height:1.5}.tool-results dd span{font-size:13px;font-weight:500}.tool-results .tool-result-main{padding-top:4px;border:0}.tool-results .tool-result-main dd{font-size:54px;color:#65e89f;letter-spacing:-.04em;line-height:1.2;margin-bottom:12px}.tool-results .tool-result-main dd span{font-size:18px}
.tool-caption{font-size:12px}.tool-notice,.tool-error{border:1px solid #785e36;background:#3b2c173f;color:#f4d99c;padding:14px;border-radius:10px;font-size:13px;line-height:1.8}.tool-error{color:#ffc2bd;border-color:#864c44;background:#4f211c40}
.tool-advanced{grid-column:1/-1;border:1px solid #304738;border-radius:14px;background:#101813}.tool-advanced summary{cursor:pointer;padding:19px 24px;color:#cfdfd5;font-weight:700;font-size:14px}.tool-advanced-body{padding:0 24px 24px;max-width:880px}.tool-advanced-status{padding-bottom:14px;border-bottom:1px solid #2b3c31}.tool-custom-rate{display:block;max-width:250px;font-size:13px;margin-top:16px}.tool-custom-rate input{margin-top:8px}
.tool-ev-result{margin:22px 0;padding:22px;border:1px solid #45634f;border-radius:10px}.tool-ev-result>span{display:block;color:#bdcfc3;font-size:13px}.tool-ev-result strong{display:block;font-size:32px;color:#f0fff5;margin:9px 0}.tool-ev-result p{margin-bottom:0}
.dy-tool :focus-visible,.tool-browser :focus-visible{outline:3px solid #81f5b1;outline-offset:4px}.tool-unit:focus-within{outline:2px solid #81f5b1;outline-offset:2px}.tool-unit input:focus-visible{outline:none}.dy-tool [aria-invalid=true]{border-color:#ff9586}
.tool-search>label{font-size:13px;font-weight:700;color:#d5e4db;display:block;margin-bottom:8px}.tool-search>div{display:flex;gap:10px}.tool-search input{flex:1}.tool-clear{background:#192a1f;border:1px solid #36523f;border-radius:9px;padding:8px 20px;color:#c9decf;cursor:pointer}.tool-filter{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.tool-filter button{flex:0 1 auto;min-width:65px;border-color:#304437}.tool-count{color:#9fb6a7;font-size:13px}.tool-table-wrap{overflow-x:auto;border:1px solid #2a3c30;border-radius:12px}.tool-table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}.tool-table th,.tool-table td{padding:18px 16px;border-bottom:1px solid #25382c;vertical-align:middle}.tool-table thead th{background:#122018;color:#a6beaf;font-weight:600;font-size:11px;white-space:nowrap}.tool-table tbody th{font-weight:700;min-width:240px}.tool-table tbody tr:hover{background:#14271b}.tool-table tbody a:hover{color:#7cf2af;text-decoration:underline;text-underline-offset:4px}.tool-table td{min-width:110px}.tool-table small{display:block;margin-top:5px;color:#99afa1;font-size:11px;font-weight:400}.tool-status{color:#d7c38e;font-size:11px}.tool-empty{padding:24px;background:#15231a;border-radius:10px;color:#c4d5c9}
@media(max-width:760px){.dy-tool{grid-template-columns:1fr;gap:16px}.tool-input-panel,.tool-output-panel{padding:22px}.tool-output-panel{position:static}.tool-advanced summary{padding:18px 20px}.tool-advanced-body{padding:0 20px 20px}.dy-tool h2{font-size:21px}.tool-table th,.tool-table td{padding:14px 12px}.tool-mode button{font-size:11px;padding-inline:8px}}
@media(max-width:400px){.tool-two{grid-template-columns:1fr;gap:0}.tool-input-panel,.tool-output-panel{padding:18px}.tool-mode{flex-direction:column}.tool-results .tool-result-main dd{font-size:46px}}
@media(prefers-reduced-motion:reduce){.dy-tool *,.tool-browser *{scroll-behavior:auto;transition:none!important}}
.tool-scenarios{padding:1px 15px 5px;border:1px solid #345241;border-radius:10px;background:#182e204d;margin:14px 0 20px}.tool-scenarios .tool-label{margin-top:13px}.tool-scenario-detail{border-top:1px solid #304a39;margin-top:13px}.tool-scenario-note{font-size:12px;color:#d0e7d8;line-height:1.9}.tool-scenario-detail .tool-check{margin-bottom:10px}
/* Result explorer: the probability split, assumptions, and comparison travel together. */
.tool-output-panel{position:static}
.tool-output>section,.tool-output>.tool-investment-results,.tool-output>.tool-result-copy{margin-top:24px}
.tool-output h3{font-size:14px;line-height:1.65;margin:0 0 12px;letter-spacing:0;color:#e3f0e8}
.tool-result-eyebrow{color:#aac6b5;font-size:11px;letter-spacing:.08em}
.tool-output .tool-result-main{margin:24px 0 0}
.tool-output .tool-result-main h3{margin:5px 0 0;color:#c6ddcf;font-size:13px;font-weight:500}
.tool-remaining-number{margin:5px 0 20px;font-size:64px;font-weight:800;line-height:1.2;letter-spacing:-.04em;color:#72f1ad;overflow-wrap:anywhere}
.tool-remaining-number>span{font-size:19px;font-weight:500;letter-spacing:0}
.tool-probability{border-top:1px solid #345040;padding-top:22px}
.tool-probability-bar{height:18px;border-radius:6px;background:#182d21;overflow:hidden;display:flex;margin:14px 0 12px;box-shadow:inset 0 0 0 1px #ffffff12}
.tool-probability-bar>span{height:100%;display:block;flex-shrink:0}
.tool-probability-hit{background:#91b8f2}.tool-probability-reach{background:#41e592}
.tool-probability-labels{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tool-probability-labels>div{min-width:0}
.tool-probability-key{display:block;font-size:11px;color:#c6d8cc;line-height:1.8}
.tool-probability-key:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;background:#91b8f2}
.tool-reach-key:before{background:#41e592}
.tool-probability-labels strong{display:block;font-size:23px;line-height:1.7;color:#dceefe;font-weight:750;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.tool-probability-labels>div+div strong{color:#a1f8c8}
.tool-investment-results{display:grid;gap:12px;margin-bottom:0}
.tool-investment-results>div{border:1px solid #314e3d;border-radius:12px;background:#07110b55;padding:17px 18px}
.tool-investment-results dt{font-size:12px;color:#bdcfc3}
.tool-investment-results dd{font-size:27px;font-weight:800;color:#f0fff5;margin:5px 0;line-height:1.5;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.tool-investment-results p{color:#96b1a0;font-size:11px;line-height:1.85;margin:5px 0 0}
.tool-sensitivity{border-top:1px solid #345040;padding-top:22px}
.tool-section-head h3{margin-bottom:1px}.tool-section-head>span{display:block;font-size:11px;color:#9eb9a9;margin-bottom:14px}
.tool-sensitivity-scroll{overflow-x:auto;border:1px solid #354e3e;border-radius:9px}
.tool-sensitivity-table{border-collapse:collapse;font-size:11px;line-height:1.6;width:100%;table-layout:fixed;text-align:left;font-variant-numeric:tabular-nums}
.tool-sensitivity-table th,.tool-sensitivity-table td{padding:11px 8px;vertical-align:middle;border-bottom:1px solid #304737;overflow-wrap:anywhere}
.tool-sensitivity-table tr:last-child th,.tool-sensitivity-table tr:last-child td{border-bottom:0}
.tool-sensitivity-table thead th{background:#0a1a11;color:#a3bcac;font-weight:500;font-size:10px}
.tool-sensitivity-table th:first-child{width:31%}
.tool-sensitivity-table tbody th{font-weight:500;color:#bdd7c6}
.tool-sensitivity-table tbody th span{display:block;font-size:10px;color:#9fbeab}
.tool-sensitivity-table tbody th strong{display:block;font-size:15px;line-height:1.5;color:#def3e6;font-weight:700}
.tool-sensitivity-table tbody th small{font-size:10px;font-weight:400}
.tool-sensitivity-table td{font-size:12px;color:#e1f2e8}
.tool-sensitivity-table .tool-sensitivity-base{background:#20442d}
.tool-sensitivity-table .tool-sensitivity-base th span{color:#b4efca}
.tool-sensitivity>.tool-link{font-size:12px}
.tool-result-conditions{border-top:1px solid #345040;padding-top:22px}
.tool-condition-model{color:#d8e9df;font-size:12px;margin:0 0 12px;font-weight:700;overflow-wrap:anywhere}
.tool-result-conditions dl{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;margin:0 0 14px}
.tool-result-conditions dl>div{min-width:0}.tool-result-conditions dt{font-size:10px;color:#91ae9c}
.tool-result-conditions dd{font-size:12px;color:#d3e4da;margin:2px 0 0;overflow-wrap:anywhere}
.tool-condition-example{color:#bfdec9;font-size:11px;padding:10px 12px;border-left:2px solid #44835d;background:#102c1a;margin:12px 0;line-height:1.85}
.tool-result-copy{border-top:1px solid #345040;padding-top:20px}
.tool-copy-button{display:block;width:100%;border:1px solid #4a755b;border-radius:9px;background:#1a3925;color:#d3f7e0;min-height:46px;padding:11px 16px;font-size:13px;font-weight:700;cursor:pointer}
.tool-copy-button:hover{background:#28543a;border-color:#77b18d}
.tool-copy-status{font-size:11px;color:#b2ecc9;line-height:1.8;margin:8px 0}
.tool-copy-status:empty{display:none}
.tool-copy-fallback{margin-top:10px}.tool-copy-fallback>summary{font-size:11px;color:#a7c8b3;cursor:pointer;padding:6px 0}
.dy-tool .tool-copy-text{display:block;width:100%;min-height:190px;resize:vertical;margin-top:8px;border:1px solid #4b6e57;border-radius:8px;background:#070f0a;color:#d3e6db;padding:12px;font:11px/1.8 "Noto Sans JP","Yu Gothic UI",sans-serif}
.dy-tool-compact .tool-probability-labels strong{font-size:21px}
@media(max-width:450px){.tool-remaining-number{font-size:55px}.tool-probability-labels{gap:9px}.tool-probability-labels strong{font-size:21px}.tool-probability-key{font-size:10px}.tool-sensitivity-table td{font-size:11px}.tool-sensitivity-table th,.tool-sensitivity-table td{padding:10px 7px}.tool-investment-results>div{padding:15px}.tool-investment-results dd{font-size:25px}.tool-result-conditions dl{gap:10px 12px}}
.tool-normal-start-check{padding:14px 15px;border:1px solid #47694f;border-radius:10px;background:#18321f;color:#d2eadb;margin:20px 0}.tool-normal-start-check input{margin-top:3px}
.tool-saved-rotation{border-top:1px solid #36513e;padding-top:1rem;margin-top:1rem}.tool-saved-rotation button:disabled{opacity:.55;cursor:not-allowed}
