.library-tool{--lt-border:#d7dfda;--lt-stone:#faf8f2;--lt-ink:#153f43;color:var(--lt-ink)}
.library-tool .library-tool-hero{padding:1.6rem 0 1.8rem;border-radius:16px;overflow:clip}
.library-tool .library-tool-hero h1{font-size:clamp(1.7rem,3.3vw,2.64rem)!important;line-height:1.16;max-width:24ch;margin:.5rem 0 .9rem}
.library-tool .library-tool-hero .lead{max-width:73ch;font-size:1rem;line-height:1.7}
.library-tool .library-tool-intro{padding:1.3rem 0 .5rem}
.library-tool .library-tool-intro p{max-width:85ch;margin:.4rem 0}
.library-tool .library-tool-work{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:1.25rem;align-items:start;padding-top:1rem;padding-bottom:1.5rem}
.library-tool .library-tool-card{background:var(--lt-stone);border:1px solid var(--lt-border);border-radius:16px;padding:1.4rem;min-width:0;box-shadow:0 6px 18px #153f4307}
.library-tool .library-tool-card h2{font-size:1.45rem;line-height:1.25;margin:0 0 .65rem}
.library-tool .library-tool-card h3{font-size:1.1rem;line-height:1.3;margin:1.2rem 0 .5rem}
.library-tool .library-tool-card p,.library-tool .library-tool-card li{font-size:.97rem;line-height:1.65;overflow-wrap:anywhere}
.library-tool .library-tool-card ul{padding-left:1.3rem}
.library-tool .library-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}
.library-tool .library-tool-field{display:flex;flex-direction:column;gap:.4rem;min-width:0}
.library-tool .library-tool-field>span{font-weight:650;min-height:2.6em;line-height:1.3}
.library-tool .library-tool-field small{font-size:.82rem;line-height:1.45;color:#52686b}
.library-tool .library-tool-field input,.library-tool .library-tool-field select{width:100%;box-sizing:border-box;min-height:46px;padding:.65rem .7rem;border:1px solid #96aaa4;border-radius:9px;background:#fff;color:#153f43;font:inherit;min-width:0}
.library-tool .library-tool-field input:focus,.library-tool .library-tool-field select:focus{outline:3px solid #bc965e55;outline-offset:2px;border-color:#6b8780}
.library-tool .library-tool-full{grid-column:1/-1}
.library-tool .library-tool-fieldset{min-width:0;border:1px solid var(--lt-border);border-radius:12px;margin:1rem 0;padding:1rem}
.library-tool .library-tool-fieldset legend{font-weight:700;padding:0 .4rem}
.library-tool .library-tool-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0 .4rem;align-items:center}
.library-tool button,.library-tool .button{border-radius:10px;min-height:44px;white-space:normal;line-height:1.35;justify-content:center;text-align:center}
.library-tool .library-tool-secondary{background:transparent;border:1px solid #7c9690;color:#173f43;padding:.65rem .9rem;font:inherit;font-weight:600;cursor:pointer}
.library-tool .library-tool-secondary:disabled{opacity:.55;cursor:not-allowed}
.library-tool .library-tool-check{display:flex;gap:.65rem;align-items:flex-start;font-size:.95rem;line-height:1.5;margin:.7rem 0}
.library-tool .library-tool-check input{width:19px;height:19px;flex:0 0 19px;margin-top:.15rem;accent-color:#1e5b59}
.library-tool .library-tool-note{font-size:.88rem;line-height:1.5;color:#52686b}
.library-tool .library-tool-error{border-left:4px solid #ad3e35;padding:.7rem .9rem;background:#fff0eb;color:#77251f;border-radius:6px;margin:1rem 0}
.library-tool .library-tool-error[hidden],.library-tool [hidden]{display:none!important}
.library-tool .library-tool-result{scroll-margin-top:2rem}
.library-tool .library-tool-result dl{margin:1rem 0}
.library-tool .library-tool-result dt{font-weight:700;margin:.75rem 0 .15rem}
.library-tool .library-tool-result dd{margin:0;overflow-wrap:anywhere}
.library-tool .library-tool-result table{border-collapse:collapse;min-width:480px;width:100%;font-size:.9rem}
.library-tool .library-tool-result th,.library-tool .library-tool-result td{padding:.65rem;text-align:left;border-bottom:1px solid var(--lt-border);vertical-align:top}
.library-tool .library-tool-table{overflow-x:auto;margin:1rem 0;border:1px solid var(--lt-border);border-radius:8px}
.library-tool .library-tool-result th{background:#e8eeea}
.library-tool .library-tool-badge{display:inline-block;border-radius:6px;background:#e4eeE8;padding:.25rem .5rem;font-size:.85rem;font-weight:700;margin-bottom:.3rem}
.library-tool .library-tool-related{padding-top:.5rem;padding-bottom:1.5rem}
.library-tool .library-tool-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.library-tool .library-tool-related-grid a{display:block;color:inherit;background:var(--lt-stone);border:1px solid var(--lt-border);padding:1.15rem;border-radius:12px;line-height:1.55}
.library-tool .library-tool-related-grid strong{display:block;margin-bottom:.35rem}
.library-tool .library-tool-service{margin:1rem 0;padding-top:1rem;border-top:1px solid var(--lt-border)}
.library-tool details{margin:.8rem 0;min-width:0}
.library-tool summary{font-weight:650;cursor:pointer;padding:.45rem 0;line-height:1.45}
.library-tool .library-tool-method{padding:1.4rem 0 2rem}
.library-tool .library-tool-method h2{font-size:1.45rem;margin:0 0 .6rem}
.library-tool .library-tool-method p,.library-tool .library-tool-method li{max-width:90ch;line-height:1.65}
@media(max-width:900px){.library-tool .library-tool-work{grid-template-columns:1fr}.library-tool .library-tool-related-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.library-tool .library-tool-card{padding:1.05rem}.library-tool .library-tool-grid{grid-template-columns:1fr;gap:.8rem}.library-tool .library-tool-field>span{min-height:0}.library-tool .library-tool-related-grid{grid-template-columns:1fr}.library-tool .library-tool-actions>*{width:100%}.library-tool .library-tool-fieldset{padding:.8rem}.library-tool .library-tool-hero{padding:1.25rem 0 1.5rem}}
@media(prefers-reduced-motion:reduce){.library-tool *{scroll-behavior:auto!important;animation:none!important}}
.library-tool .library-tool-service a:not(.button),.library-tool .library-tool-method a:not(.button){color:#183e4d;text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.18em}
.library-tool .library-tool-service a:not(.button):hover,.library-tool .library-tool-method a:not(.button):hover{color:#183e4d;text-decoration-thickness:.12em}
.library-tool .library-tool-service a:not(.button):focus-visible,.library-tool .library-tool-method a:not(.button):focus-visible{outline:2px solid #183e4d;outline-offset:3px}
