.visibility-tool{max-width:900px;margin-top:2rem;padding:clamp(1.3rem,3vw,2rem);background:#fff;border:1px solid #cedcea;border-radius:20px;box-shadow:0 18px 55px rgba(18,41,75,.08)}
.visibility-diagram{overflow-x:auto;margin:2rem 0}.visibility-diagram img{display:block;width:100%;min-width:40rem;height:auto}.visibility-diagram figcaption{font-size:.85rem;line-height:1.5;color:#3c5062;margin-top:.7rem}
#visibility-report{scroll-margin-top:1.5rem}#visibility-report h2{font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.15}#visibility-report h3{margin-top:1.6rem;font-size:1.25rem;line-height:1.25}
.visibility-figure{padding:1.4rem;margin:2rem 0;background:#f0f6ff;border:1px solid #d2e3f2;border-radius:18px}.visibility-figure figcaption{font-size:.9rem;line-height:1.5;color:#3c5062}.visibility-flow{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.75rem;list-style:none;padding:0!important;margin:1rem 0 0!important}.visibility-flow li{padding:1rem;background:#fff;border:1px solid #c8dcec;border-radius:12px;color:#173f62;font-size:.9rem;font-weight:700;line-height:1.45}.visibility-flow li+li{margin:0}
.visibility-tool label{font-weight:750;display:block;margin-bottom:.5rem;color:#153550}.visibility-form-row{display:flex;gap:.7rem;flex-wrap:wrap}.visibility-form-row input{flex:1 1 18rem;min-width:0;border:1px solid #657e94;border-radius:8px;padding:.85rem;font:inherit}.visibility-form-row button{border:0;cursor:pointer}.visibility-tool form p,.visibility-note{font-size:.88rem;line-height:1.55;margin-top:1rem;color:#3c5062}.visibility-note{padding-top:1rem;border-top:1px solid #d7e1ea}.visibility-result{padding:1rem 0;border-top:1px solid #d7e1ea}.visibility-result h3{font-size:1.15rem;margin:.3rem 0}.visibility-result p{margin:.4rem 0;line-height:1.5}.visibility-status-label{font-size:.8rem;font-weight:800;text-transform:uppercase;color:#23506a}.visibility-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin:1rem 0}.visibility-actions button{font:inherit;background:white;color:#1647a0;border:1px solid #52779a;border-radius:8px;padding:.65rem 1rem;cursor:pointer}.visibility-table{overflow-x:auto;margin:1.8rem 0}.visibility-table table{border-collapse:collapse;width:100%;min-width:38rem;font-size:.88rem}.visibility-table th,.visibility-table td{text-align:left;vertical-align:top;padding:.75rem;border:1px solid #d6e1eb}.visibility-table th{background:#eff5fb}.visibility-course{padding-bottom:5rem}.visibility-tool :focus-visible{outline:3px solid #1647d8;outline-offset:3px}
@media print{.sitebar,footer,form,.visibility-course,.post-hero>.wrap>h1,.post-hero>.wrap>.lead,.visibility-actions,.visibility-note{display:none!important}.post-hero{padding:0;background:white}.visibility-tool{box-shadow:none;border:0;max-width:none}.visibility-result{break-inside:avoid}}
