.tls-tool{width:100%}.tls-card{max-width:760px;margin-inline:auto;background:var(--surface-1);border:1px solid transparent;border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:var(--space-4);background:linear-gradient(var(--surface-1),var(--surface-1)) padding-box,linear-gradient(130deg,color-mix(in srgb,var(--tool-accent, var(--action)) 55%,var(--border)),var(--border) 38%,var(--border) 62%,color-mix(in srgb,var(--tool-accent, var(--action)) 40%,var(--border))) border-box}.tls-card--wide{max-width:var(--width-results)}.tls-card-title{margin-bottom:var(--space-3)}.tls-form{display:grid;grid-template-columns:1fr;gap:var(--space-3)}@media(min-width:640px){.tls-form--row{grid-template-columns:1fr auto;align-items:end}.tls-form--proto{grid-template-columns:auto 1fr auto;align-items:end}.tls-form--proto-method{grid-template-columns:auto 1.6fr 1fr auto;align-items:end}}.tls-form-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3)}@media(min-width:640px){.tls-form-grid{grid-template-columns:1fr 1fr}}.tls-field{display:grid;gap:var(--space-1);min-width:0}.tls-field label{font:var(--text-label);letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted)}.tls-field input,.tls-field select,.tls-field textarea{width:100%;padding:11px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font:var(--text-body);appearance:none;-webkit-appearance:none;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.tls-field textarea{font:var(--text-code);min-height:220px;resize:vertical}.tls-field textarea.tls-textarea-sm{min-height:110px}.tls-field input::placeholder,.tls-field textarea::placeholder{color:var(--text-muted)}.tls-field input:focus-visible,.tls-field select:focus-visible,.tls-field textarea:focus-visible{outline:none;border-color:var(--action);box-shadow:0 0 0 3px color-mix(in srgb,var(--action) 22%,transparent)}.tls-field select{background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 18px) 55%,calc(100% - 13px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}.tls-submit{white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.tls-submit:hover{transform:translateY(-1px);box-shadow:0 6px 18px color-mix(in srgb,var(--action) 40%,transparent)}.tls-submit:active{transform:translateY(0)}.tls-submit:disabled{opacity:.55;cursor:not-allowed}.tls-form-options{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.tls-form-note{font:var(--text-small);color:var(--text-muted)}.tls-form-options .mode-checkbox{margin-left:auto}.tls-form-error{margin-top:var(--space-3);color:var(--status-fail);font:var(--text-small)}.tls-tabs{display:flex;gap:var(--space-1);flex-wrap:wrap;border-bottom:1px solid var(--border);margin-bottom:var(--space-4)}.tls-tabs button{border:0;background:none;padding:10px 16px 8px;margin-bottom:-1px;color:var(--text-muted);font:var(--text-small);font-weight:600;border-bottom:2px solid transparent}.tls-tabs button:hover{color:var(--text-primary)}.tls-tabs button[aria-selected=true]{color:var(--text-primary);border-bottom-color:var(--tool-accent, var(--action))}.tls-results{max-width:var(--width-results);margin:var(--space-4) auto 0;display:grid;gap:var(--space-3)}.tls-empty{text-align:center;padding:var(--space-5) var(--space-4);border:1px dashed var(--border);border-radius:var(--radius-lg)}.tls-empty-title{color:var(--text-primary);font-weight:600}.tls-empty-sub{color:var(--text-muted);font:var(--text-small);margin-top:var(--space-1)}.tls-banner{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-4);display:grid;gap:var(--space-2);border-left:3px solid var(--status-info)}.tls-banner.is-pass{border-left-color:var(--status-pass)}.tls-banner.is-warning{border-left-color:var(--status-warning)}.tls-banner.is-fail{border-left-color:var(--status-fail)}.tls-banner.is-info{border-left-color:var(--status-info)}.tls-banner-title{font:var(--text-h3);color:var(--text-primary)}.tls-banner-detail{color:var(--text-secondary);font:var(--text-small)}.tls-progress{height:6px;background:var(--surface-3);border-radius:var(--radius-sm);overflow:hidden}.tls-progress-fill{height:100%;border-radius:var(--radius-sm);transition:width .3s ease;background:linear-gradient(90deg,var(--tool-accent, var(--action)),color-mix(in srgb,var(--tool-accent, var(--action)) 45%,var(--signal-cyan)),var(--tool-accent, var(--action)));background-size:200% 100%}@media(prefers-reduced-motion:no-preference){.tls-progress-fill{animation:tls-flow 1.6s linear infinite}@keyframes tls-flow{0%{background-position:0% 0}to{background-position:-200% 0}}}.tls-checks{display:grid;gap:var(--space-2)}.tls-check{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);display:grid;gap:var(--space-1);border-left:3px solid var(--status-neutral)}.tls-check.is-pass{border-left-color:var(--status-pass)}.tls-check.is-warning{border-left-color:var(--status-warning)}.tls-check.is-fail{border-left-color:var(--status-fail)}.tls-check.is-loading{border-left-color:var(--status-info)}.tls-check-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.tls-check-name{color:var(--text-primary);font-weight:600}.tls-check-message{color:var(--text-secondary);font:var(--text-small)}.tls-check-why,.tls-check-next{color:var(--text-muted);font:var(--text-small)}.tls-check-why strong,.tls-check-next strong{color:var(--text-secondary);font-weight:600}@media(prefers-reduced-motion:no-preference){.tls-checks .tls-check,.tls-banner,.tls-chain-node{animation:tls-rise var(--dur-slow) var(--ease-out) both}.tls-checks .tls-check:nth-child(2n){animation-delay:40ms}.tls-checks .tls-check:nth-child(3n){animation-delay:80ms}@keyframes tls-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}}.tls-kv{margin:0;display:grid;gap:6px}.tls-kv>div{display:grid;grid-template-columns:minmax(110px,160px) 1fr;gap:var(--space-2)}.tls-kv dt{color:var(--text-muted);font:var(--text-small)}.tls-kv dd{margin:0;color:var(--text-primary);font:var(--text-small);overflow-wrap:anywhere}.tls-kv dd.tls-mono{font:var(--text-code)}.tls-panel{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);display:grid;gap:var(--space-3)}.tls-panel-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2)}.tls-panel-title{font:var(--text-h3);color:var(--text-primary)}.tls-pem{margin:0;font:var(--text-code);font-family:var(--font-mono);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-secondary)}.tls-table-wrap{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);overflow-x:auto}.tls-table{width:100%;border-collapse:collapse;font:var(--text-small)}.tls-table th{font:var(--text-label);letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);text-align:left;padding:12px 14px;border-bottom:1px solid var(--border);background:var(--surface-2);white-space:nowrap}.tls-table td{padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:top;color:var(--text-secondary);overflow-wrap:anywhere}.tls-table tbody tr:last-child td{border-bottom:none}.tls-td-mono{font:var(--text-code)}.tls-actions-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2)}.tls-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.tls-actions .btn{padding:8px 16px;font:var(--text-small);font-weight:600}.tls-actions .btn:disabled{opacity:.55;cursor:not-allowed}.tls-chain{display:grid;gap:0}.tls-chain-node{position:relative;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);display:grid;gap:var(--space-1)}.tls-chain-node+.tls-chain-node{margin-top:var(--space-4)}.tls-chain-node+.tls-chain-node:before{content:"";position:absolute;left:var(--space-4);top:calc(-1 * var(--space-4) - 1px);height:var(--space-4);width:14px;border-left:2px solid color-mix(in srgb,var(--tool-accent, var(--action)) 55%,var(--border));border-bottom:2px solid color-mix(in srgb,var(--tool-accent, var(--action)) 55%,var(--border));border-bottom-left-radius:10px}.tls-chain-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.tls-chain-cn{color:var(--text-primary);font-weight:600;overflow-wrap:anywhere}.tls-chain-type{display:inline-block;font:var(--text-label);letter-spacing:.02em;text-transform:uppercase;padding:2px 8px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text-secondary)}.tls-chain-type.is-leaf{border-color:color-mix(in srgb,var(--tool-accent, var(--action)) 50%,var(--border));color:var(--tool-accent, var(--action))}.tls-chain-issuer,.tls-chain-expiry{color:var(--text-muted);font:var(--text-small)}.tls-option{display:flex;align-items:flex-start;gap:10px;cursor:pointer;user-select:none}.tls-option input{appearance:none;width:16px;height:16px;margin:4px 0 0;border:1.5px solid var(--border);border-radius:4px;background:var(--surface-2);cursor:pointer;display:grid;place-content:center;flex:none;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.tls-option input:before{content:"";width:8px;height:8px;border-radius:2px;transform:scale(0);background:var(--cloud-white);transition:transform var(--dur-fast) var(--ease-out)}.tls-option input:checked{background:var(--action);border-color:var(--action)}.tls-option input:checked:before{transform:scale(1)}.tls-option input:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--action) 22%,transparent)}.tls-option-label{color:var(--text-primary);font:var(--text-small);font-weight:600}.tls-option-line{display:block;color:var(--text-muted);font:var(--text-small);font-weight:400}.tls-option-line code{font:var(--text-code)}.tls-suboptions{display:grid;gap:var(--space-2);margin-left:26px}
