:root{color-scheme:light dark;--bg-start: #f7f9fc;--bg: #eef1f5;--window: #f8f8f8;--chrome-start: #ffffff;--chrome: #f2f2f2;--panel: #ffffff;--panel-border: #b8c0ca;--control-border: #8f98a3;--subtle-border: #c9cdd3;--tree-line: #b9b9b9;--text: #111827;--muted: #5b6470;--accent-soft: #eef6ff;--hover-border: #9dbce5;--hover-bg: #eaf3ff;--selection: #cfe8ff;--selection-border: #99c7ee;--folder: #f3c14f;--folder-edge: #c69324;--folder-highlight: #ffe08a;--folder-start: #ffe28f;--leaf: #f7f7f7;--leaf-edge: #8b8b8b;--leaf-fold: #dcdcdc;--certificate-seal: #2f6fb7;--certificate-seal-edge: #1d4f87;--certificate-ribbon: #8db7ee;--attribute-line: #6b7480;--attribute-knob: #ffffff;--attribute-knob-edge: #5f6b78;--danger: #b91c1c;--field-bg: #ffffff;--dialog-overlay: rgba(15, 23, 42, .2);--shadow-strong: rgba(15, 23, 42, .18);--shadow-dialog: rgba(15, 23, 42, .22);--button-bg-start: #ffffff;--button-bg-end: #e7e9ee;--toggle-border: #7f7f7f;--toggle-bg: #ffffff;--splitter: #9aa3af;--api-log-row-border: #edf0f4;--api-log-operation: #1f4f86}@media(prefers-color-scheme:dark){:root:not([data-certgadgets-theme=light]){color-scheme:dark;--bg-start: #202329;--bg: #171a20;--window: #202329;--chrome-start: #2b2f36;--chrome: #242830;--panel: #1b1f26;--panel-border: #4a5360;--control-border: #66707d;--subtle-border: #4c5561;--tree-line: #6d7480;--text: #e7eaf0;--muted: #a8b0bc;--accent-soft: #26384d;--hover-border: #81a9dc;--hover-bg: #28384b;--selection: #21496f;--selection-border: #5d91cc;--folder: #d5a83f;--folder-edge: #a77d25;--folder-highlight: #f0c969;--folder-start: #f3d27a;--leaf: #dadde3;--leaf-edge: #8d96a3;--leaf-fold: #aeb5bf;--certificate-seal: #7db3ff;--certificate-seal-edge: #4d82c2;--certificate-ribbon: #bdd6ff;--attribute-line: #a7b0bd;--attribute-knob: #242830;--attribute-knob-edge: #a7b0bd;--danger: #ff9b9b;--field-bg: #20242b;--dialog-overlay: rgba(0, 0, 0, .48);--shadow-strong: rgba(0, 0, 0, .42);--shadow-dialog: rgba(0, 0, 0, .5);--button-bg-start: #343943;--button-bg-end: #252a32;--toggle-border: #8d96a3;--toggle-bg: #242830;--splitter: #7b8492;--api-log-row-border: #303640;--api-log-operation: #9fc7ff}}:root[data-certgadgets-theme=dark]{color-scheme:dark;--bg-start: #202329;--bg: #171a20;--window: #202329;--chrome-start: #2b2f36;--chrome: #242830;--panel: #1b1f26;--panel-border: #4a5360;--control-border: #66707d;--subtle-border: #4c5561;--tree-line: #6d7480;--text: #e7eaf0;--muted: #a8b0bc;--accent-soft: #26384d;--hover-border: #81a9dc;--hover-bg: #28384b;--selection: #21496f;--selection-border: #5d91cc;--folder: #d5a83f;--folder-edge: #a77d25;--folder-highlight: #f0c969;--folder-start: #f3d27a;--leaf: #dadde3;--leaf-edge: #8d96a3;--leaf-fold: #aeb5bf;--certificate-seal: #7db3ff;--certificate-seal-edge: #4d82c2;--certificate-ribbon: #bdd6ff;--attribute-line: #a7b0bd;--attribute-knob: #242830;--attribute-knob-edge: #a7b0bd;--danger: #ff9b9b;--field-bg: #20242b;--dialog-overlay: rgba(0, 0, 0, .48);--shadow-strong: rgba(0, 0, 0, .42);--shadow-dialog: rgba(0, 0, 0, .5);--button-bg-start: #343943;--button-bg-end: #252a32;--toggle-border: #8d96a3;--toggle-bg: #242830;--splitter: #7b8492;--api-log-row-border: #303640;--api-log-operation: #9fc7ff}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;min-height:0;overflow:hidden}body{color:var(--text);background:linear-gradient(var(--bg-start),var(--bg));font-family:Tahoma,MS UI Gothic,Yu Gothic UI,system-ui,sans-serif;font-size:13px}#app{width:100%;height:100dvh;min-height:0}button,input,select{font:inherit}button{min-height:28px;border:1px solid var(--control-border);border-radius:3px;padding:4px 10px;color:var(--text);background:linear-gradient(var(--button-bg-start),var(--button-bg-end));cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.shell{display:flex;flex-direction:column;width:100%;height:100%;min-width:0;min-height:0;margin:0;padding:0;overflow:hidden}.toolbar,.certificate-menu{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:2px;align-items:center;border:1px solid var(--panel-border);border-bottom:0;border-radius:0;padding:4px;background:linear-gradient(var(--chrome-start),var(--chrome))}.menu-group{position:relative}.submenu{position:absolute;top:calc(100% + 4px);left:0;z-index:20;display:grid;min-width:190px;border:1px solid var(--control-border);border-radius:3px;padding:3px;background:var(--panel);box-shadow:0 8px 20px var(--shadow-strong)}.submenu[hidden]{display:none}.submenu button{width:100%;border-color:transparent;background:transparent;box-shadow:none;text-align:left;white-space:nowrap}.submenu button:hover,.submenu button:focus-visible{border-color:var(--hover-border);background:var(--hover-bg);outline:none}.toolbar strong{padding:4px 8px}.toolbar button,.certificate-menu button,.validation-menu button,.api-log-header button{border-color:transparent;background:transparent;box-shadow:none}.toolbar button:hover,.toolbar button:focus-visible,.certificate-menu button:hover,.certificate-menu button:focus-visible,.validation-menu button:hover,.validation-menu button:focus-visible,.api-log-header button:hover,.api-log-header button:focus-visible{border-color:var(--hover-border);background:var(--hover-bg);outline:none}.workspace{display:grid;flex:1 1 auto;grid-template-columns:minmax(280px,var(--certificate-panel-width, 360px)) 6px minmax(320px,1fr);gap:6px;min-width:0;min-height:0;overflow:hidden;border:1px solid var(--panel-border);border-radius:0;padding:8px;background:var(--window)}.workspace.resizing,.shell.resizing-rows,.shell.resizing-validation{-webkit-user-select:none;user-select:none}.panel{border:1px solid var(--panel-border);border-radius:3px;padding:10px;background:var(--panel)}.certificate-panel{display:flex;flex-direction:column;min-width:0;min-height:0;border:0;padding:0;background:transparent;overflow:hidden}.certificate-card{display:flex;flex:1 1 auto;flex-direction:column;gap:6px;min-height:0;border-top:1px solid var(--panel-border);border-bottom:1px solid var(--panel-border);padding:6px;background:var(--window);overflow:hidden}.validation-panel{display:flex;flex:0 0 var(--validation-panel-height, clamp(128px, 17dvh, 210px));flex-direction:column;min-width:0;min-height:96px;margin:6px 0 0;overflow:hidden}.validation-menu{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--panel-border);border-bottom:0;padding:4px;background:linear-gradient(var(--chrome-start),var(--chrome))}.validation-menu strong{padding:4px 8px}.validation-results-wrap{flex:1 1 auto;min-height:0;overflow:auto;border:1px solid var(--panel-border);background:var(--window)}.validation-results{width:100%;min-width:760px;border-collapse:collapse;font-family:Consolas,Courier New,monospace;font-size:12px;line-height:1.35}.validation-results th,.validation-results td{border-bottom:1px solid var(--api-log-row-border);padding:3px 6px;text-align:left;vertical-align:top}.validation-results tbody tr{cursor:pointer}.validation-results tbody tr:hover,.validation-results tbody tr:focus-visible{background:var(--accent-soft);outline:none}.validation-results tbody tr.selected{background:var(--selection)}.validation-results th{position:sticky;top:0;z-index:1;color:var(--muted);background:var(--chrome);font-weight:400}.validation-results td:first-child{width:174px;color:var(--muted);white-space:nowrap}.validation-results td:nth-child(2){width:48px;font-weight:700;white-space:nowrap}.validation-results td:nth-child(3){width:150px;color:var(--api-log-operation);white-space:nowrap}.validation-results td:last-child{overflow-wrap:anywhere}.validation-results tr.ok td:nth-child(2){color:#047857}.validation-results tr.ng td:nth-child(2){color:var(--danger)}.validation-results tr.pending td:nth-child(2){color:var(--muted)}.visually-hidden{display:none}.pane-resizer,.validation-resizer,.api-log-resizer{position:relative;border:1px solid transparent;border-radius:3px}.pane-resizer{align-self:stretch;min-height:0;background:linear-gradient(90deg,transparent 0 2px,var(--splitter) 2px 3px,transparent 3px 6px);cursor:col-resize}.validation-resizer,.api-log-resizer{flex:0 0 6px;min-height:6px;background:linear-gradient(0deg,transparent 0 2px,var(--splitter) 2px 3px,transparent 3px 6px);cursor:row-resize}.pane-resizer:hover,.pane-resizer:focus-visible,.workspace.resizing .pane-resizer,.validation-resizer:hover,.validation-resizer:focus-visible,.shell.resizing-validation .validation-resizer,.api-log-resizer:hover,.api-log-resizer:focus-visible,.shell.resizing-rows .api-log-resizer{border-color:var(--hover-border);background-color:var(--hover-bg);outline:none}.tree{display:grid;align-content:start;flex:1 1 auto;min-height:0;overflow:auto;border:0;border-radius:3px;padding:4px 6px;background:transparent;font-family:Consolas,Courier New,monospace;font-size:12px;line-height:1.35}.tree.empty{display:grid;grid-template-rows:minmax(0,1fr);align-content:stretch;place-items:center;color:var(--muted);font-family:Tahoma,MS UI Gothic,Yu Gothic UI,system-ui,sans-serif}.tree-node{position:relative;border:0;background:transparent}.tree-node summary{position:relative;display:flex;flex-wrap:nowrap;align-items:flex-start;gap:4px;min-height:19px;padding:1px 4px 1px 0;list-style:none;cursor:default;white-space:nowrap;line-height:16px}.tree-node summary::-webkit-details-marker{display:none}.tree-node summary:after,.tree-node .tree-node:before{content:"";position:absolute}.tree-node summary:after{top:9px;left:8px;width:11px;border-top:1px dotted var(--tree-line);transform:translate(-100%)}.tree-node .tree-node{margin-left:19px}.tree-node .tree-node:before{top:-2px;bottom:8px;left:-11px;border-left:1px dotted var(--tree-line)}.tree>.tree-node>summary:after{display:none}.tree-row{border:1px solid transparent;border-radius:2px}.tree-node summary:hover,.tree-row:focus-within{background:var(--accent-soft)}.tree-node summary.selected,.tree-row.selected{border-color:var(--selection-border);background:var(--selection)}.tree-toggle{display:inline-grid;place-items:center;position:relative;z-index:1;flex:0 0 auto;width:11px;height:11px;margin-top:2px;margin-right:2px;border:1px solid var(--toggle-border);background:var(--toggle-bg);color:var(--text);font:10px/1 Arial,sans-serif;-webkit-user-select:none;user-select:none}.tree-leaf>summary .tree-toggle{border-color:transparent;background:transparent}.tree-children{display:grid;padding-left:0}.tree-icon{position:relative;flex:0 0 auto;width:15px;height:12px;margin-top:2px}.tree-icon.folder:before{content:"";position:absolute;left:1px;top:1px;width:7px;height:4px;border:1px solid var(--folder-edge);border-bottom:0;background:var(--folder-highlight)}.tree-icon.folder:after{content:"";position:absolute;left:0;top:4px;width:14px;height:8px;border:1px solid var(--folder-edge);background:linear-gradient(var(--folder-start),var(--folder))}.tree-icon.leaf:before{content:"";position:absolute;left:2px;top:0;width:10px;height:12px;border:1px solid var(--leaf-edge);background:linear-gradient(135deg,transparent 0 18%,var(--leaf-fold) 19% 26%,var(--leaf) 27%)}.tree-icon.certificate:before{content:"";position:absolute;left:2px;top:0;width:10px;height:12px;border:1px solid var(--leaf-edge);background:linear-gradient(135deg,transparent 0 18%,var(--leaf-fold) 19% 26%,var(--leaf) 27%)}.tree-icon.certificate:after{content:"";position:absolute;right:0;bottom:-1px;width:6px;height:6px;border:1px solid var(--certificate-seal-edge);border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--certificate-ribbon),var(--certificate-seal) 68%);box-shadow:-2px 4px 0 -2px var(--certificate-ribbon),2px 4px 0 -2px var(--certificate-ribbon)}.tree-icon.attribute:before{content:"";position:absolute;left:1px;top:3px;width:13px;height:1px;background:var(--attribute-line);box-shadow:0 6px 0 var(--attribute-line)}.tree-icon.attribute:after{content:"";position:absolute;left:3px;top:1px;width:4px;height:4px;border:1px solid var(--attribute-knob-edge);border-radius:50%;background:var(--attribute-knob);box-shadow:6px 6px 0 -1px var(--attribute-knob),6px 6px 0 0 var(--attribute-knob-edge)}.tree-icon.text-badge{display:inline-grid;place-items:center;width:22px;height:13px;margin-top:1px}.tree-icon.text-badge:before{display:inline-grid;place-items:center;min-width:18px;height:11px;padding:0 1px;border:1px solid var(--attribute-knob-edge);border-radius:2px;background:linear-gradient(var(--leaf),var(--hover-bg));color:var(--text);font:900 8px/1 Arial,sans-serif;letter-spacing:0}.tree-icon.version:before{content:"Ver"}.tree-icon.serial-number:before{content:"SN"}.tree-icon.algorithm:before{content:"Alg"}.tree-icon.issuer:before{content:"Isr"}.tree-icon.subject:before{content:"Sbj"}.tree-icon.validity:before{content:"Vdt"}.tree-icon.public-key:before{content:"SPKI";font-size:7px}.tree-icon.signature-value:before{content:"Sig"}.tree-icon.extension-basic-constraints:before{content:"BC"}.tree-icon.extension-key-usage:before{content:"KU"}.tree-icon.extension-extended-key-usage:before{content:"EKU"}.tree-icon.extension-subject-alt-name:before{content:"SAN"}.tree-icon.extension-issuer-alt-name:before{content:"IAN"}.tree-icon.extension-crl-distribution:before{content:"CDP"}.tree-icon.extension-certificate-policies:before{content:"CP"}.tree-icon.extension-authority-info-access:before{content:"AIA"}.tree-icon.extension-subject-key-identifier:before{content:"SKI"}.tree-icon.extension-authority-key-identifier:before{content:"AKI"}.tree-icon.extension-generic:before{content:"ext"}.tree-item{display:flex;flex:1 1 auto;min-width:0;min-height:16px;border:0;border-radius:0;padding:0;color:var(--text);text-align:left;background:transparent;box-shadow:none;font:inherit}.tree-item:focus-visible{outline:none}.tree-tag{color:var(--text);font-weight:400}.tree-note{color:var(--muted)}.notice{flex:0 0 auto;margin:0;color:var(--muted);font-size:12px;line-height:1.35}.notice.error{color:var(--danger)}.detail-panel{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;border:1px solid var(--panel-border);background:var(--panel)}.detail-content,.pkistudio-viewer-mount{min-width:0;min-height:0}.detail-content{flex:1 1 auto;overflow:auto}.detail-panel.has-der-viewer .detail-content{flex:1 1 auto}.detail-viewer-divider{flex:0 0 6px;min-height:6px;border-top:1px solid var(--panel-border);border-bottom:1px solid var(--panel-border);background:linear-gradient(0deg,transparent 0 2px,var(--splitter) 2px 3px,transparent 3px 6px);cursor:row-resize}.detail-viewer-divider:hover,.detail-viewer-divider:focus-visible,.detail-panel.resizing-viewer .detail-viewer-divider{border-color:var(--hover-border);background-color:var(--hover-bg);outline:none}.pkistudio-viewer-mount{flex:0 0 var(--detail-viewer-height, clamp(260px, 58%, 620px));overflow:hidden}.detail-content[hidden],.detail-viewer-divider[hidden],.pkistudio-viewer-mount[hidden]{display:none}.empty-detail,.detail-surface,.der-viewer{flex:1 1 auto;min-width:0;min-height:0;overflow:auto}.empty-detail{display:grid;place-content:center;gap:6px;padding:24px;color:var(--muted);text-align:center}.empty-detail h1,.detail-header h1{margin:0;font-size:18px;letter-spacing:0}.empty-detail p,.detail-note{margin:0;color:var(--muted);line-height:1.45}.detail-surface{display:grid;align-content:start;gap:12px;padding:14px}.detail-header{display:grid;gap:2px;border-bottom:1px solid var(--subtle-border);padding-bottom:10px}.detail-header-with-action{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px}.detail-header-with-action>div{min-width:0}.detail-header-with-action button{align-self:end}.detail-kicker{margin:0;color:var(--muted);font-size:12px;text-transform:uppercase}.detail-list{display:grid;gap:0;margin:0;border:1px solid var(--subtle-border);border-radius:3px;overflow:hidden}.detail-list div{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr);border-bottom:1px solid var(--subtle-border)}.detail-list div:last-child{border-bottom:0}.detail-list dt,.detail-list dd{margin:0;padding:7px 9px;overflow-wrap:anywhere}.detail-list dt{color:var(--muted);background:var(--window)}.policy-box,.network-action,.network-target,.validation-artifacts,.validation-transcript{border:1px solid var(--subtle-border);border-radius:3px;padding:10px;background:var(--field-bg)}.network-target{display:grid;gap:4px}.network-targets{display:grid;gap:8px}.network-targets .network-target{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px 12px}.network-target-action{justify-self:end;min-width:170px;max-width:240px;text-align:center}.network-target-main{display:grid;min-width:0;gap:4px}.network-target-meta{display:grid;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;border-top:1px solid var(--subtle-border)}.network-target-meta div{display:grid;grid-template-columns:minmax(80px,auto) minmax(0,1fr);gap:8px;padding-top:7px}.network-target-meta dt,.network-target-meta dd{margin:0;overflow-wrap:anywhere}.network-target-meta dt{color:var(--muted)}.network-action{display:block}.network-action p{min-width:0;margin:0;color:var(--muted);line-height:1.45}.network-target span{color:var(--muted);font-size:12px}.validation-transcript{display:grid;gap:8px}.validation-artifacts{display:flex;flex-wrap:wrap;gap:6px}.validation-transcript h2{margin:0;font-size:13px;letter-spacing:0}.validation-transcript pre{margin:0;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-family:Consolas,Courier New,monospace;font-size:12px;line-height:1.45}.network-target code,.asn-tree{font-family:Consolas,Courier New,monospace}.viewer-menu{display:flex;flex:0 0 auto;justify-content:space-between;gap:8px;border-bottom:1px solid var(--panel-border);padding:6px 8px;background:linear-gradient(var(--chrome-start),var(--chrome))}.viewer-menu span{color:var(--muted)}.asn-tree{min-height:0;padding:10px;font-size:12px;line-height:1.4}.asn-node summary{display:flex;gap:8px;list-style:none;cursor:default}.asn-node summary::-webkit-details-marker{display:none}.asn-children{margin-left:20px;border-left:1px dotted var(--tree-line);padding-left:10px}.asn-tag{color:var(--api-log-operation)}.asn-meta,.asn-value{color:var(--muted)}.asn-node pre{margin:4px 0 6px;overflow-wrap:anywhere;white-space:pre-wrap}.api-log-panel{flex:0 0 auto;border:0;padding:0;background:var(--window)}.api-log-header{display:flex;justify-content:flex-end;padding:0 0 4px}.api-log-list{display:grid;align-content:start;height:var(--api-log-list-height, clamp(86px, 15dvh, 160px));min-height:0;overflow:auto;padding:5px 6px;font-family:Consolas,Courier New,monospace;font-size:12px;line-height:1.35}.api-log-entry{display:grid;grid-template-columns:174px minmax(150px,220px) minmax(0,1fr);gap:8px;align-items:baseline;min-width:0;border-bottom:1px solid var(--api-log-row-border);padding:2px 0}.api-log-entry time{color:var(--muted)}.api-log-operation{color:var(--api-log-operation);overflow-wrap:anywhere}.api-log-detail{min-width:0;overflow-wrap:anywhere}.api-log-entry.error .api-log-operation,.api-log-entry.error .api-log-detail{color:var(--danger)}.about-dialog{width:min(360px,calc(100% - 32px));border:0;padding:0;color:var(--text);background:transparent}.about-dialog::backdrop{background:var(--dialog-overlay)}.about-panel{display:grid;gap:8px;border:1px solid var(--control-border);border-radius:4px;padding:14px;background:var(--panel);box-shadow:0 16px 32px var(--shadow-dialog)}.about-name{margin:0;font-weight:700;font-size:16px}.about-version,.about-detail{margin:0;color:var(--muted);font-size:12px;line-height:1.35}.dialog-actions{display:flex;justify-content:flex-end;gap:6px}@media(max-width:820px){.shell{overflow:auto}.workspace{grid-template-columns:1fr;overflow:visible}.pane-resizer,.validation-resizer,.api-log-resizer{display:none}.detail-panel{min-height:420px}.api-log-entry{grid-template-columns:174px minmax(0,1fr)}.api-log-detail{grid-column:1 / -1}.detail-list div{grid-template-columns:1fr}}
