: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: #2563eb;--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;--comment: #4b5563;--danger: #b91c1c;--error-border: #e7a4a4;--error-bg: #fff5f5;--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-text: #333333;--toggle-bg: #ffffff;--splitter: #9aa3af;--api-log-row-border: #edf0f4;--api-log-operation: #1f4f86}@media(prefers-color-scheme:dark){:root:not([data-pvkgadgets-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: #7db3ff;--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;--comment: #b6bfca;--danger: #ff9b9b;--error-border: #965f63;--error-bg: #341f24;--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-text: #e7eaf0;--toggle-bg: #242830;--splitter: #7b8492;--api-log-row-border: #303640;--api-log-operation: #9fc7ff}}:root[data-pvkgadgets-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: #7db3ff;--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;--comment: #b6bfca;--danger: #ff9b9b;--error-border: #965f63;--error-bg: #341f24;--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-text: #e7eaf0;--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}.shell{display:flex;flex-direction:column;width:100%;height:100%;min-width:0;min-height:0;margin:0;padding:0;overflow:hidden}.toolbar{display:flex;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))}.toolbar strong{padding:4px 8px}.toolbar button{min-height:0;border-color:transparent;padding:4px 12px;background:transparent;box-shadow:none}.toolbar button:hover,.toolbar 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(--key-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);box-shadow:none}.workspace.resizing{-webkit-user-select:none;user-select:none;cursor:col-resize}.shell.resizing-rows{-webkit-user-select:none;user-select:none;cursor:row-resize}.pane-resizer{position:relative;align-self:stretch;min-height:0;border:1px solid transparent;border-radius:3px;background:linear-gradient(90deg,transparent 0 2px,var(--splitter) 2px 3px,transparent 3px 6px);cursor:col-resize}.pane-resizer:hover,.pane-resizer:focus-visible,.workspace.resizing .pane-resizer{border-color:var(--hover-border);background-color:var(--hover-bg);outline:none}.api-log-resizer{position:relative;flex:0 0 6px;min-height:6px;border:1px solid transparent;border-radius:3px;background:linear-gradient(0deg,transparent 0 2px,var(--splitter) 2px 3px,transparent 3px 6px);cursor:row-resize}.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}.panel{border:1px solid var(--panel-border);border-radius:3px;padding:10px;background:var(--panel)}.api-log-panel{flex:0 0 auto;margin-top:0;border:0;padding:0;background:var(--window)}.api-log-header{display:flex;align-items:center;justify-content:flex-end;border-bottom:0;border-radius:0;padding:0 0 4px;background:transparent}.api-log-header button{min-height:24px;border-color:transparent;padding:2px 8px;background:transparent;box-shadow:none}.api-log-header button:hover,.api-log-header button:focus-visible{border-color:var(--hover-border);background:var(--hover-bg);outline:none}.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;background:transparent;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)}.key-panel{display:flex;flex-direction:column;min-width:0;min-height:0;border:0;padding:0;background:transparent;overflow:hidden}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}.visually-hidden{display:none}.key-menu{position:relative;z-index:2;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))}.key-card{display:flex;flex:1 1 auto;flex-direction:column;align-items:stretch;gap:6px;min-height:0;border:0;border-top:1px solid var(--panel-border);border-bottom:1px solid var(--panel-border);border-radius:0;padding:6px;background:var(--window);box-shadow:none;overflow:hidden}.key-menu button{border-color:transparent;background:transparent;box-shadow:none}.key-menu button:hover,.key-menu button:focus-visible{border-color:var(--hover-border);background:var(--hover-bg);outline:none}.menu-group{position:relative}.submenu{position:absolute;top:calc(100% + 4px);left:0;z-index:20;display:grid;min-width:180px;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%;text-align:left;white-space:nowrap}.node-context-menu{position:fixed;z-index:20;min-width:150px;border:1px solid var(--control-border);border-radius:3px;padding:3px;background:var(--panel);box-shadow:0 8px 20px var(--shadow-strong)}.node-context-menu[hidden],.node-context-menu button[hidden]{display:none}.node-context-menu button{display:block;width:100%;min-height:0;border:1px solid transparent;border-radius:2px;padding:4px 18px 4px 8px;color:var(--text);background:transparent;box-shadow:none;font:inherit;text-align:left;white-space:nowrap;cursor:pointer}.node-context-menu button:hover,.node-context-menu button:focus-visible{outline:none;border-color:var(--hover-border);background:var(--hover-bg)}.node-context-menu-group,.node-context-submenu-trigger{position:relative}.node-context-submenu-trigger:after{content:"";position:absolute;right:8px;top:50%;width:6px;height:6px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:translateY(-50%) rotate(45deg)}.node-context-submenu{position:absolute;top:-3px;left:100%;z-index:21;display:none;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)}.node-context-menu-group:hover .node-context-submenu,.node-context-menu-group:focus-within .node-context-submenu{display:block}.tree{display:grid;align-content:start;gap:0;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;border-radius: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-leaf>summary .tree-toggle{border-color:transparent;background:transparent;pointer-events:none}.tree-toggle{display:inline-grid;place-items:center;position:relative;z-index:1;width:11px;height:11px;flex:0 0 auto;margin-top:2px;margin-right:2px;border:1px solid var(--toggle-border);background:var(--toggle-bg);color:var(--toggle-text);font:10px/1 Arial,sans-serif;line-height:1;-webkit-user-select:none;user-select:none}.tree-children{display:grid;gap:0;padding-left:0}.tree-row{position:relative;display:flex;align-items:flex-start;gap:4px;width:100%;min-height:19px;border:1px solid transparent;border-radius:2px;padding:1px 3px 1px 0;line-height:16px}.tree-node summary:hover,.tree-row: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-item{display:flex;flex:1 1 auto;align-items:center;justify-content:flex-start;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:hover,.tree-item:focus-visible{outline:none}.tree-icon-button{display:inline-grid;flex:0 0 auto;place-items:center;width:15px;height:12px;min-height:0;margin-top:2px;margin-right:2px;border:0;border-radius:0;padding:0;background:transparent;box-shadow:none;cursor:context-menu}.tree-icon-button:hover,.tree-icon-button:focus-visible{outline:none}.tree-icon{position:relative;flex:0 0 auto;width:15px;height:12px}.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-tag{color:var(--text);font-weight:400}.key-label{border:1px solid transparent;padding:0 2px}.key-label:focus{border-color:var(--selection-border);background:var(--panel);outline:none}.notice{flex:0 0 auto;width:100%;min-height:0;margin:0;border:0;padding:0;color:var(--muted);font-size:12px;line-height:1.35}.notice.error{color:var(--danger)}.password-dialog{width:min(360px,calc(100% - 32px));border:1px solid var(--control-border);border-radius:4px;padding:0;color:var(--text);background:var(--panel);box-shadow:0 16px 32px var(--shadow-dialog)}.save-key-dialog{width:min(460px,calc(100% - 32px))}#selfSignedCertDialog{width:min(420px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto}.password-dialog::backdrop{background:var(--dialog-overlay)}.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}.password-panel{display:grid;gap:12px;padding:14px}.password-panel h2{margin:0;overflow-wrap:anywhere;font-size:15px}.password-field{display:grid;gap:4px}.password-field span{color:var(--muted);font-size:12px}.password-field input,.password-field select{width:100%;border:1px solid var(--control-border);border-radius:3px;padding:5px 7px;color:var(--text);background:var(--field-bg)}.dialog-actions{display:flex;justify-content:flex-end;gap:6px}.checkbox-list{display:grid;gap:4px;max-height:min(320px,48vh);overflow:auto;border:1px solid var(--subtle-border);border-radius:3px;padding:5px;background:var(--field-bg)}#selfSignedCertKeyUsageList{max-height:none;overflow:visible}.checkbox-list-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start;border:1px solid transparent;border-radius:3px;padding:6px}.checkbox-list-item:hover,.checkbox-list-item:focus-within{border-color:var(--hover-border);background:var(--hover-bg)}.checkbox-list-item input{margin-top:2px}.checkbox-list-item span{display:grid;gap:2px;min-width:0}.checkbox-list-item strong,.checkbox-list-item small{overflow-wrap:anywhere}.checkbox-list-item small,.checkbox-list-empty{color:var(--muted);font-size:12px}.checkbox-list-empty{margin:0;padding:8px}.dialog-error{border:1px solid var(--error-border);border-radius:3px;padding:7px;color:var(--danger);background:var(--error-bg);font-size:12px;line-height:1.35}.viewer-panel{display:flex;min-width:0;min-height:0;overflow:hidden}#viewerMount{flex:1 1 auto;min-width:0;min-height:0;height:100%}@media(max-width:820px){.shell{overflow:auto}.workspace{grid-template-columns:1fr;overflow:visible}.pane-resizer,.api-log-resizer{display:none}#viewerMount{height:min(620px,70dvh);min-height:420px}.api-log-entry{grid-template-columns:174px minmax(0,1fr)}.api-log-detail{grid-column:1 / -1}}
