.ssl-lab{--ssl-text:var(--ink,#193441);--ssl-muted:var(--muted,#526774);--ssl-grid:var(--line,#ccd6de);--ssl-blue:#2166a5;--ssl-orange:#974514;--ssl-mask:#e6e0f1;margin:2.2rem 0;padding:clamp(14px,3vw,28px);border:1px solid var(--ssl-grid);border-radius:16px;background:var(--panel,#f1f5f7);color:var(--ssl-text);min-width:0;font:inherit}.ssl-lab *{box-sizing:border-box}.ssl-lab h3{font-size:clamp(1.4rem,3vw,2rem);line-height:1.18;margin:.5rem 0}.ssl-lab h4{font-size:1.2rem;margin:2rem 0 1rem}.ssl-lab p{line-height:1.65}.ssl-kicker{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--ssl-muted)}.ssl-boundaries{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--ssl-grid);border-radius:9px;overflow:hidden}.ssl-boundaries span{padding:12px;font-size:.8rem}.ssl-boundaries b{display:block;font-size:1.35rem}.ssl-boundaries span+span{border-left:1px solid var(--ssl-grid)}.ssl-controls{display:grid;grid-template-columns:1fr 1fr;gap:16px 22px;margin:1.2rem 0}.ssl-lab label{display:block;font-weight:650;font-size:.88rem;line-height:1.4}.ssl-lab select,.ssl-lab input:not([type=range]){display:block;width:100%;min-height:44px;padding:9px;border:1px solid var(--ssl-grid);border-radius:7px;background:var(--bg,#fff);color:var(--ssl-text);font:inherit;margin-top:6px}.ssl-lab input[type=range]{display:block;width:100%;min-height:44px;accent-color:var(--ssl-blue)}.ssl-lab output{float:right;font-family:monospace}.ssl-lab figure{margin:1.3rem 0 .6rem}.ssl-lab figcaption{font-weight:650;margin-bottom:.6rem}.ssl-chart{width:100%;min-width:0}.ssl-chart svg{display:block;width:100%;height:auto}.ssl-key{font-size:.78rem;color:var(--ssl-muted)}.ssl-result{border-left:3px solid var(--ssl-blue);padding:.5rem 0 .5rem 1rem;font-weight:650;font-size:.9rem;font-variant-numeric:tabular-nums}.ssl-small{font-size:.8rem;color:var(--ssl-muted)}.ssl-warning{padding:12px;border:1px solid var(--ssl-orange);border-radius:7px}.ssl-loss-row{display:grid;grid-template-columns:85px 1fr 90px;gap:12px;align-items:center;margin:12px 0;font-size:.8rem}.ssl-loss-row>span:last-child{text-align:right;font-variant-numeric:tabular-nums}.ssl-loss-row small{display:block;color:var(--ssl-muted)}.ssl-track{background:var(--ssl-grid);height:12px;border-radius:3px;overflow:hidden}.ssl-track svg{display:block;width:100%;height:100%}.ssl-track rect{fill:var(--ssl-blue)}.ssl-loss-row:first-child .ssl-track rect{fill:var(--ssl-orange)}.ssl-lab details{margin:1rem 0}.ssl-lab summary{min-height:44px;padding:12px 0;cursor:pointer;font-weight:650}.ssl-table-wrap{overflow-x:auto;max-width:100%}.ssl-lab table{border-collapse:collapse;min-width:540px;width:100%;font-size:.8rem;font-variant-numeric:tabular-nums}.ssl-lab th,.ssl-lab td{padding:10px 7px;border-bottom:1px solid var(--ssl-grid);text-align:right}.ssl-lab caption{color:var(--ssl-muted);text-align:left;padding:.5rem 0}.ssl-lab th:first-child{text-align:left}.ssl-actions{display:flex;flex-wrap:wrap;gap:8px}.ssl-lab button{padding:10px 13px;min-height:44px;border:1px solid var(--ssl-grid);border-radius:7px;background:var(--bg,#fff);color:var(--ssl-text);font:inherit;font-size:.85rem;cursor:pointer}.ssl-lab a{color:var(--accent,var(--ssl-blue));text-decoration:underline;overflow-wrap:anywhere}.ssl-downloads a{min-height:44px;display:inline-flex;align-items:center}.ssl-lab [hidden]{display:none!important}.ssl-lab :focus-visible{outline:3px solid var(--ssl-orange);outline-offset:3px}.ssl-lab button:disabled,.ssl-lab input:disabled,.ssl-lab select:disabled{opacity:.55;cursor:not-allowed}
html:not([data-theme]) .ssl-lab,[data-theme=dark] .ssl-lab,[data-theme=slate] .ssl-lab,[data-theme=forest] .ssl-lab,[data-theme=plum] .ssl-lab,html.dark .ssl-lab,.dark .ssl-lab{--ssl-blue:#8dc2ff;--ssl-orange:#ffbd8a;--ssl-mask:#3c334c}

@media(max-width:540px){.ssl-controls{grid-template-columns:1fr}.ssl-lab{padding:14px}.ssl-boundaries{grid-template-columns:1fr}.ssl-boundaries span+span{border-left:0;border-top:1px solid var(--ssl-grid)}.ssl-boundaries b{display:inline;margin-right:8px}.ssl-loss-row{grid-template-columns:72px 1fr 84px;gap:6px}.ssl-actions button{flex:1 1 44%}}

.article-body .ssl-lab summary{color:var(--ink)}.ssl-lab{scroll-margin-top:100px}.ssl-lab select{min-width:0;max-width:100%}
