.tools-layout {padding-bottom:1rem}
.tools-intro {display:grid;grid-template-columns:1.25fr 1fr;gap:3rem;align-items:end;margin-bottom:32px}
.tools-intro p,.tool-body>p {font-size:15px;color:var(--muted);max-width:48ch}
.tool-picker {
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:20px;padding:7px;border-radius:19px;
  background:linear-gradient(110deg,#c6cafa 0%,#e5e8fb 40%,#d7e1f0 72%,#e7edd4 100%);
  border:1px solid #ccd0e4;box-shadow:inset 0 1px 1px white;
}
.tool-choice,.tool-actions button {
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  background:linear-gradient(160deg,#ffffffce,#ffffff57);
  box-shadow:inset 0 1px 1px #ffffffed,0 2px 5px #2028520d;
  border:1px solid #ffffffb8;color:#272e4e;
}
.tool-choice {
  display:flex;align-items:center;justify-content:flex-start;gap:12px;min-width:0;
  padding:12px 16px;border-radius:12px;font-weight:600;font-size:16px;line-height:1.25;text-decoration:none;
}
.tool-choice svg {width:46px;height:38px;color:#424db9;flex:none}
.tool-choice:hover,.tool-actions button[type=reset]:hover {background-color:#ffffffa8}
.tool-choice[aria-current],.tool-actions button[type=submit] {
  color:white;border-color:#4a56ba;
  background:linear-gradient(155deg,#626edee8,#3b48bbed 60%,#3947ae);
  box-shadow:inset 0 1px 1px #ffffff83,0 2px 5px #343c9926;
}
.tool-choice[aria-current] svg {color:inherit}
.tool-choice:focus-visible,.tool-actions button:focus-visible {outline:3px solid #202961;outline-offset:2px}
.tool-panel {display:grid;grid-template-columns:1.2fr 1fr;border:1px solid #dcddd5;border-radius:22px;background:white;overflow:hidden;scroll-margin-top:20px}
.tool-panel[hidden],.tool-idle[hidden]{display:none}
.tool-body,.tool-display {padding:clamp(24px,3vw,50px);min-width:0}
.tool-body h2 {font-size:clamp(26px,2.7vw,42px);line-height:1.12;letter-spacing:-.045em;margin-bottom:10px}
.tool-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0}
.tool-fields label {display:flex;flex-direction:column;justify-content:end;gap:6px;font-weight:600;font-size:14px}
.tool-fields input,.tool-fields select {width:100%;box-sizing:border-box;min-height:46px;background:white;border:1px solid #9b9e98;border-radius:7px;color:var(--ink);font:inherit;padding:9px}
.tool-height {padding:0;margin:0;border:0;min-width:0;align-self:end}
.tool-height legend {padding:0;margin-bottom:6px;font-weight:600;font-size:14px}
.height-pair {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.tool-fields .height-pair label {position:relative}
.height-pair label span {position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--muted);pointer-events:none}
.tool-fields .height-pair input {padding-right:50px;appearance:textfield}
.height-pair input::-webkit-inner-spin-button {appearance:none}
.tool-actions {display:flex;align-items:center;gap:10px;margin:18px 0}
.tool-actions button {
  display:inline-flex;align-items:center;justify-content:center;min-height:46px;min-width:92px;
  padding:0 22px;border-radius:999px;font:600 14px/1.1 Manrope,sans-serif;cursor:pointer;
}
.tool-actions button[type=reset] {background:linear-gradient(155deg,#fff,#eef0fa);border-color:#d4d8e7}
.tool-actions button[type=submit]:hover {background:linear-gradient(155deg,#5461d0,#3442ad)}
.tool-body .tool-source {font-size:12px;margin-top:20px}
.tool-source a {text-decoration:underline}
.tool-display {display:flex;flex-direction:column;color:white;background:#3847b5}
.tool-display h3 {font-size:clamp(19px,2vw,29px);letter-spacing:-.035em;line-height:1.15}
.tool-idle {flex:1;display:flex;flex-direction:column;justify-content:center}
.tool-idle svg {width:clamp(100px,12vw,175px);height:auto;margin:18px 0;color:#d9ed93;stroke-width:1.45}
.tool-idle p,.reading-note {font-size:14px;line-height:1.55;max-width:44ch}
.reading {display:block;font-size:clamp(48px,5vw,80px);letter-spacing:-.055em;line-height:1.1;font-weight:500;margin:20px 0}
.reading small {font-size:16px;letter-spacing:0}
.step-chart {display:grid;grid-template-columns:repeat(var(--count),minmax(0,1fr));gap:3px;margin:0 0 18px}
.step-chart span {font-size:12px;border-top:6px solid #8792dc;text-align:center;padding-top:6px}
.step-chart .current {border-color:#e2f59b;color:#e2f59b;font-weight:700}
.step-chart .current::after {content:' ●';font-size:9px}
.bar-chart {display:grid;gap:10px;margin:0 0 18px;font-size:13px}
.bar-chart>div>div {height:7px;border-radius:6px;background:#6672c8;margin-top:4px;overflow:hidden}
.bar-chart i {height:100%;display:block;background:#e2f59b}
.reading-note {display:block;margin-top:12px}
@media(max-width:850px){.tools-intro{grid-template-columns:1fr;gap:12px}.tools-intro p{max-width:64ch}.tool-choice{gap:6px;padding:11px;font-size:14px}.tool-choice svg{width:36px}}
@media(max-width:700px){.tool-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.tool-panel{grid-template-columns:1fr}.tools-intro{margin-bottom:20px}.tool-idle{flex-direction:row;align-items:center;justify-content:start;gap:12px}.tool-idle svg{width:68px;flex:none}.tool-display h3{font-size:20px}.tool-display{padding:22px}.reading{margin:16px 0}.tool-fields{gap:12px}.tool-choice{min-height:52px}}
@media(max-width:440px){.tool-fields {grid-template-columns:1fr}.tool-body{padding:20px}}

@media(min-width:701px) and (max-width:1050px){.tool-height {grid-column:1/-1}}
@media(max-width:380px){.tool-choice{gap:4px;padding:9px;font-size:13px}.tool-choice svg{width:28px}}

.result-heading {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.result-heading .brief-cta {max-width:100%;min-height:44px;padding:10px 16px;gap:10px}
.tool-display .brief-cta[hidden] {display:none}
.tool-display .brief-cta:focus-visible {outline-color:white}
