.guide-tool { margin-block: 2rem; padding: clamp(1rem, 3vw, 1.75rem); border: 1px solid #68718b; border-radius: 1rem; background: #141b2c; color: #f7f8fc; }
.guide-tool h2 { margin-block-start: 0; color: inherit; }
.guide-tool p { color: inherit; }
.guide-tool-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 1rem; margin-block: 1rem; }
.guide-tool label { display: flex; flex-direction: column; gap: .4rem; font-weight: 600; }
.guide-tool input { box-sizing: border-box; inline-size: 100%; min-block-size: 2.75rem; padding: .6rem .75rem; border: 1px solid #8590ac; border-radius: .4rem; background: #fff; color: #141b2c; font: inherit; }
.guide-tool button { min-block-size: 2.75rem; padding: .6rem 1rem; border: 1px solid #8debf1; border-radius: .4rem; background: #8debf1; color: #102032; font: inherit; font-weight: 700; cursor: pointer; }
.guide-tool :is(input, button):focus-visible { outline: 3px solid #ffcf69; outline-offset: 3px; }
.guide-tool output { display: block; margin-block-start: 1rem; padding: 1rem; border-inline-start: 3px solid #8debf1; background: #1d2940; font-weight: 600; }
.guide-tool output span { display: block; }
.guide-tool [data-tool-error] { color: #ffd194; font-weight: 600; }
.guide-tool .guide-tool-privacy { font-size: .875rem; }
.guide-tool [hidden] { display: none !important; }
