/* The package explorer is intentionally isolated from the circuit canvas. */
.package-preview-dialog{width:min(1080px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 56px);padding:0;border:1px solid #384756;border-radius:10px;background:#0a0d12;color:#dce6f0;box-shadow:0 28px 110px #000a;overflow:hidden;font-family:var(--display,'Space Grotesk',Arial,sans-serif)}
.package-preview-dialog[open]{display:flex;flex-direction:column}
.package-preview-dialog::backdrop{background:#030609b8;backdrop-filter:blur(5px)}
.package-preview-dialog [hidden]{display:none!important}
.package-preview-dialog button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}
.package-preview-dialog button:focus-visible,.package-preview-code:focus-visible{outline:2px solid #a2c9ed;outline-offset:3px}
.package-preview-dialog button:disabled{opacity:.45;cursor:default}
.package-preview-icon{display:block;width:17px;height:17px;flex-shrink:0}
.package-preview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:27px 28px 23px;flex-shrink:0;border-bottom:1px solid #26313c}
.package-preview-heading{min-width:0}
.package-preview-eyebrow{margin:0 0 11px;color:#7e9cb7;font-family:var(--mono,'JetBrains Mono',monospace);font-size:9px;line-height:1.6;letter-spacing:.09em}
.package-preview-heading h2{margin:0;font-size:29px;line-height:1.2;font-weight:400;letter-spacing:-1px;color:#e3ecf5}
.package-preview-description{margin:10px 0 0;font-size:12px;line-height:1.7;color:#879db2;overflow-wrap:anywhere}
.package-preview-close{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;background:transparent;border:1px solid #334251;border-radius:4px;padding:0;color:#8fa7bd!important}
.package-preview-close:hover{color:white!important;border-color:#7898b5}
.package-preview-workspace{display:grid;grid-template-columns:270px minmax(0,1fr);height:min(570px,62dvh);min-height:230px;flex:1;overflow:hidden}
.package-preview-navigation{display:flex;flex-direction:column;min-width:0;min-height:0;border-right:1px solid #26313c;background:transparent}
.package-preview-tree-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 15px;border-bottom:1px solid #222d37;flex-shrink:0;min-height:49px}
.package-preview-tree-toggle{display:flex;align-items:center;gap:8px;padding:0;border:0;background:transparent;font-size:11px!important;color:#a4bacf!important;min-height:23px}
.package-preview-tree-toggle .package-preview-icon{width:15px;height:15px;color:#7a9bb8}
.package-preview-file-count{color:#5f7b94;font-family:var(--mono,monospace);font-size:9px;margin-left:1px}
.package-preview-tree-action{border:0;background:transparent;padding:5px 0;font-size:9px!important;line-height:1.4;color:#708ea8!important;white-space:nowrap}
.package-preview-tree-action:hover{color:#c1d9ec!important}
.package-preview-file-list{flex:1;min-height:0;list-style:none;margin:0;padding:12px 10px 18px;overflow:auto;scrollbar-width:thin;scrollbar-color:#344b60 transparent}
.package-preview-tree-item{list-style:none;min-width:0;margin:0;padding:0}
.package-preview-tree-children{list-style:none;margin:0 0 0 13px;padding:0 0 0 9px;border-left:1px solid #243341}
.package-preview-folder,.package-preview-file{display:flex;align-items:center;gap:8px;width:100%;min-width:0;min-height:34px;padding:7px 8px;border:1px solid transparent;border-radius:3px;background:transparent;text-align:left;font-size:11px!important;line-height:1.55;color:#8da8c0!important}
.package-preview-folder:hover,.package-preview-file:hover{color:#d3e6f6!important;background:#ffffff04}
.package-preview-folder>.package-preview-icon:first-child{width:10px;height:10px;color:#5c7a96;transition:transform .15s}
.package-preview-folder[aria-expanded='true']>.package-preview-icon:first-child{transform:rotate(90deg)}
.package-preview-folder>.package-preview-icon:nth-child(2){width:15px;height:15px;color:#7297b6}
.package-preview-file>.package-preview-icon{width:15px;height:15px;color:#687f96}
.package-preview-file[aria-current='true']{color:#d1e8fa!important;background:#83bfff08;border-color:#38526a}
.package-preview-file[aria-current='true']>.package-preview-icon{color:#9bc6e9}
.package-preview-tree-name{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.package-preview-reader{display:flex;flex-direction:column;min-width:0;min-height:0;background:transparent}
.package-preview-reader-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 19px;min-height:49px;flex-shrink:0;border-bottom:1px solid #222d37}
.package-preview-current-path{margin:0;min-width:0;font-family:var(--mono,monospace);font-size:11px;line-height:1.6;color:#afc7dc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.package-preview-copy{display:flex;align-items:center;gap:6px;flex-shrink:0;min-height:27px;padding:5px 7px;background:transparent;border:1px solid transparent;border-radius:3px;font-size:10px!important;color:#829fb8!important}
.package-preview-copy .package-preview-icon{width:13px;height:13px}
.package-preview-copy:hover{border-color:#425b70;color:#cce3f7!important}
.package-preview-format-note{flex-shrink:0;font-size:10px;line-height:1.7;color:#b9a78b;border-bottom:1px solid #403a2e;padding:10px 20px;margin:0}
.package-preview-code{flex:1;min-height:0;width:100%;margin:0;padding:23px 22px;overflow:auto;tab-size:2;white-space:pre;font-family:var(--mono,'JetBrains Mono',monospace);font-size:11px;line-height:1.85;color:#b3c7d8;background:transparent;scrollbar-width:thin;scrollbar-color:#344b60 transparent}
.package-preview-code code{font:inherit;color:inherit;white-space:inherit}
.package-preview-reader-foot{display:flex;align-items:center;justify-content:space-between;gap:13px;padding:10px 19px;border-top:1px solid #222d37;flex-shrink:0;font-family:var(--mono,monospace);font-size:9px;line-height:1.6;color:#67849e}
.package-preview-reader-foot>span:last-child{font-size:9px;letter-spacing:.05em;color:#536c82;white-space:nowrap}
.package-preview-footer{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:17px 24px;border-top:1px solid #2b3947;flex-shrink:0}
.package-preview-status{margin:0;font-size:11px;line-height:1.75;color:#809db6;max-width:650px}
.package-preview-download{display:inline-flex;align-items:center;justify-content:center;gap:9px;flex-shrink:0;min-height:39px;padding:10px 14px;background:#a8ccec;border:1px solid #a8ccec;border-radius:4px;font-size:11px!important;line-height:1.5;color:#102132!important}
.package-preview-download:hover{background:#cce4f8;border-color:#cce4f8}
.package-preview-download .package-preview-icon{width:15px;height:15px}
@media(max-width:760px){.package-preview-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:8px}.package-preview-header{padding:22px 19px 18px;gap:16px}.package-preview-eyebrow{font-size:9px;letter-spacing:.06em;margin-bottom:9px}.package-preview-heading h2{font-size:25px}.package-preview-description{font-size:11px;margin-top:8px}.package-preview-workspace{display:flex;flex-direction:column;height:min(590px,65dvh);min-height:240px}.package-preview-navigation{border-right:0;border-bottom:1px solid #304356;max-height:190px;flex-shrink:0}.package-preview-navigation.is-collapsed{max-height:46px}.package-preview-tree-heading{padding:10px 16px;min-height:44px}.package-preview-tree-toggle{font-size:12px!important}.package-preview-tree-action{font-size:10px!important}.package-preview-file-list{max-height:145px;padding:8px 12px 12px}.package-preview-folder,.package-preview-file{font-size:12px!important;min-height:35px}.package-preview-reader{flex:1;min-height:160px}.package-preview-reader-toolbar{padding:9px 14px;gap:10px;min-height:44px}.package-preview-current-path{font-size:10px}.package-preview-copy{font-size:10px!important}.package-preview-code{font-size:10px;padding:17px 15px;line-height:1.9}.package-preview-format-note{padding:9px 15px;font-size:10px}.package-preview-reader-foot{padding:8px 14px;font-size:9px;gap:7px;flex-wrap:wrap}.package-preview-reader-foot>span:last-child{font-size:9px}.package-preview-footer{padding:14px 17px;gap:13px;align-items:center}.package-preview-status{font-size:10px;line-height:1.7}.package-preview-download{min-height:39px;padding:9px 12px;font-size:10px!important;gap:7px}}
@media(max-width:420px){.package-preview-header{padding:19px 16px 16px}.package-preview-eyebrow{font-size:9px;max-width:245px}.package-preview-heading h2{font-size:24px}.package-preview-workspace{height:61dvh;min-height:220px}.package-preview-navigation{max-height:158px}.package-preview-file-list{max-height:113px}.package-preview-footer{flex-wrap:wrap;gap:10px;padding:13px 15px}.package-preview-status{flex:1;min-width:150px}.package-preview-download{font-size:10px!important;padding-inline:10px}.package-preview-reader-foot>span:last-child{display:none}}
/* Keep the footer reachable on short windows and phones in landscape. */
@media(max-height:600px){.package-preview-dialog[open]{display:block;max-height:calc(100dvh - 20px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#344b60 transparent}.package-preview-header{padding-block:18px}.package-preview-workspace{height:360px;min-height:0;flex:none}.package-preview-footer{padding-block:13px}}
@media(prefers-reduced-motion:reduce){.package-preview-folder>.package-preview-icon:first-child{transition:none}}
