.toast-show{opacity:1;--tw-translate-y: 0}.toast-ok{background:#43a047}.toast-err{background:#f44336}.cert-btn{padding:9px 18px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s}.cert-btn:active{transform:scale(.96)}.cert-btn:disabled{opacity:.4;cursor:not-allowed}.cert-btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-end));color:#fff}.cert-btn-ghost{background:var(--card-alt);color:var(--sub)}.cert-btn-sm{padding:6px 12px;font-size:12px}.cert-copy-btn{padding:4px 12px;border:none;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;background:var(--card-alt);color:var(--sub);transition:all .15s}.cert-copy-btn.copied{background:#e8f5e9;color:#4caf50}[data-theme=dark] .cert-copy-btn.copied{background:#4caf502e}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .cert-copy-btn.copied{background:#4caf502e}}.cert-badge{padding:6px 12px;border-radius:8px;font-size:12px;font-weight:700;background:var(--ic-cert);color:var(--text);flex-shrink:0}.cert-chip{padding:5px 12px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.cert-chip-ok{background:#e8f5e9;color:#2e7d32}.cert-chip-warn{background:#fff8e1;color:#f57f17}.cert-chip-err{background:#ffeaea;color:#f44336}.cert-chip-info{background:#e8eaf6;color:#3949ab}[data-theme=dark] .cert-chip-ok{background:#4caf502e;color:#81c784}[data-theme=dark] .cert-chip-warn{background:#f57f1733;color:#ffb74d}[data-theme=dark] .cert-chip-err{background:#f4433633;color:#ff8a80}[data-theme=dark] .cert-chip-info{background:#3949ab40;color:#9fa8da}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .cert-chip-ok{background:#4caf502e;color:#81c784}:root:not([data-theme=light]) .cert-chip-warn{background:#f57f1733;color:#ffb74d}:root:not([data-theme=light]) .cert-chip-err{background:#f4433633;color:#ff8a80}:root:not([data-theme=light]) .cert-chip-info{background:#3949ab40;color:#9fa8da}}.cert-grid{display:grid;grid-template-columns:max-content 1fr;gap:10px 16px;font-size:13px;align-items:baseline}.cert-grid>.k{color:var(--sub);font-size:12px;font-weight:600;white-space:nowrap}.cert-grid>.v{color:var(--text);word-break:break-all;font-variant-numeric:tabular-nums}.cert-grid>.v.mono{font-family:SF Mono,Fira Code,monospace;font-size:12px}.cert-pre{background:var(--card-alt);border:1.5px solid var(--border);border-radius:10px;padding:12px;font-family:SF Mono,Fira Code,monospace;font-size:11px;line-height:1.7;overflow-x:auto;white-space:pre;color:var(--text);margin:0}.san-tag{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:8px;background:var(--card-alt);border:1px solid var(--border);font-size:12px;font-family:SF Mono,Fira Code,monospace;color:var(--text)}.san-tag .t{font-size:10px;font-weight:700;color:var(--primary)}.ext-row{display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:var(--card-alt);border-radius:8px}.ext-row .head{display:flex;align-items:center;gap:8px;font-size:12px}.ext-row .head .name{font-weight:600;color:var(--text)}.ext-row .head .oid{color:var(--sub);font-family:SF Mono,monospace;font-size:11px}.ext-row .head .crit{padding:1px 6px;border-radius:4px;background:#f443361f;color:#f44336;font-size:10px;font-weight:700}.ext-row .body{font-size:12px;color:var(--text);white-space:pre-wrap;word-break:break-all;font-family:SF Mono,monospace}.cert-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:22px 16px;border:2px dashed var(--border);border-radius:12px;background:var(--card-alt);cursor:pointer;transition:border-color .15s,background .15s;text-align:center}.cert-drop:hover{border-color:var(--primary);background:var(--card)}.cert-drop.drop-active{border-color:var(--primary);background:var(--primary-muted)}.cert-drop-icon{font-size:28px;line-height:1}.cert-drop-text{font-size:14px;color:var(--text)}.cert-drop-text b{color:var(--primary);font-weight:700}.cert-drop-sub{font-size:11px;color:var(--sub);font-family:SF Mono,monospace}@media(max-width:600px){.cert-btn-primary{min-height:52px;font-size:16px}.cert-btn{min-height:44px}.cert-copy-btn{min-height:36px}.cert-grid{grid-template-columns:1fr;gap:4px 0}.cert-grid>.k{margin-top:8px}}
