.engineering-viewer{--ep-ink:#514741;--ep-muted:#85796e;--ep-line:#ded4c6;--ep-paper:#f6f0e6;box-sizing:border-box;width:min(1420px,96vw);max-width:none;height:min(940px,94dvh);max-height:none;padding:0;border:1px solid #d4c4b1;border-radius:22px;color:var(--ep-ink);background:var(--ep-paper);box-shadow:0 28px 90px #30251d50;overflow:hidden}.engineering-viewer::backdrop{background:#302c278c;backdrop-filter:blur(5px)}.engineering-viewer[open]{display:flex;flex-direction:column}.engineering-viewer *{box-sizing:border-box}.engineering-viewer button,.engineering-viewer input,.engineering-viewer select{font:inherit}.engineering-viewer button{min-height:36px;border:1px solid var(--ep-line);border-radius:9px;padding:7px 11px;background:#fffbf4;color:var(--ep-ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;line-height:1.35}.engineering-viewer button:hover{background:#eae0d1;border-color:#b9a58c}.engineering-viewer button:focus-visible,.engineering-viewer input:focus-visible,.engineering-viewer select:focus-visible,.ep-stage:focus-visible{outline:2px solid #9b785b;outline-offset:2px}.engineering-viewer button:disabled{opacity:.45;cursor:default}.ep-head{display:flex;align-items:center;gap:13px;padding:18px 22px;border-bottom:1px solid var(--ep-line);background:radial-gradient(ellipse at 85% 0,#e9dec9a0,transparent 60%),#f7f1e7;flex:none}.ep-head h2{font-size:18px;font-weight:650;margin:4px 0 0;overflow-wrap:anywhere;line-height:1.4}.ep-eyebrow{font-size:11px;letter-spacing:.1em;color:var(--ep-muted)}.ep-emblem{width:42px;height:45px;display:grid;place-items:center;background:#e9dfcf;border:1px solid #d6c4aa;border-radius:13px 13px 18px 13px;transform:rotate(-3deg);flex:none}.ep-emblem svg{width:32px;fill:none;stroke:#8f7459;stroke-width:1.8;stroke-linecap:round}.ep-head .ep-close{margin-left:auto;min-width:38px;font-size:25px;border-color:transparent;background:transparent;flex:none}.ep-toolbar{display:flex;align-items:center;gap:13px;padding:10px 18px;flex-wrap:wrap;flex:none;border-bottom:1px solid var(--ep-line);font-size:12px;background:#fbf7ef}.ep-tools{display:flex;align-items:center;gap:5px}.ep-tools output{width:47px;text-align:center;color:var(--ep-muted);font-variant-numeric:tabular-nums}.ep-source-actions{margin-left:auto}.ep-layers label{display:flex;align-items:center;gap:6px;color:var(--ep-muted)}.ep-layers select{min-height:36px;max-width:150px;border:1px solid var(--ep-line);border-radius:8px;padding:5px 9px;background:#fffbf4;color:var(--ep-ink)}.ep-body{display:grid;grid-template-columns:minmax(0,1fr) 230px;min-height:0;flex:1}.ep-stage{position:relative;min-width:0;min-height:160px;overflow:hidden;background:#eae5dc;touch-action:none;cursor:grab;outline-offset:-3px}.ep-stage:active{cursor:grabbing}.ep-stage canvas{display:block;width:100%;height:100%;position:absolute;inset:0}.ep-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:30px;gap:12px;color:#796958;background:radial-gradient(circle at 50% 40%,#fbf7ed,#e9dfd0)}.ep-empty[hidden],.engineering-viewer [hidden]{display:none}.ep-empty strong{font-size:17px}.ep-empty p{font-size:13px;max-width:450px;line-height:1.8;margin:0}.ep-loading-dot{width:30px;height:30px;border:2px solid #e0cfb9;border-top-color:#927859;border-radius:50%;animation:ep-spin 1.4s linear infinite}@keyframes ep-spin{to{transform:rotate(360deg)}}.ep-inspector{padding:21px 16px;display:flex;flex-direction:column;min-height:0;background:repeating-linear-gradient(0deg,#806e5305 0 1px,transparent 1px 4px),#f3ecdf;border-left:1px solid var(--ep-line)}.ep-inspector h3{font-size:17px;margin:6px 0 18px}.ep-search-label{font-size:11px;color:var(--ep-muted)}.ep-search-label input{width:100%;min-height:36px;margin-top:7px;border:1px solid #d9cbbb;background:#fffaf1;border-radius:9px;padding:8px 10px;font-size:12px;color:var(--ep-ink)}.ep-net-list{flex:1;min-height:40px;overflow:auto;margin:10px -5px 14px;padding:0 5px;max-height:40vh}.ep-net-list button{display:flex;width:100%;justify-content:flex-start;text-align:left;border:0;background:transparent;font-size:12px;margin:2px 0;overflow-wrap:anywhere;min-height:34px}.ep-net-list button[aria-pressed=true]{background:#e3d6c3;box-shadow:inset 3px 0 #a5815c}.ep-net-dot{width:7px;height:7px;flex:none;border:1px solid #a38a70;border-radius:50%;background:#cbb28f}.ep-net-list button[aria-pressed=true] .ep-net-dot{background:#a97548}.ep-net-list>p{font-size:11px;color:var(--ep-muted)}.ep-selection{padding:14px 12px;background:#fbf7ed;border:1px solid #ddd0bc;border-radius:12px;box-shadow:0 3px 0 #e6dbca66}.ep-selection>span{font-size:10px;color:var(--ep-muted);display:block;margin-bottom:8px}.ep-selection strong{display:block;font-size:14px;overflow-wrap:anywhere;line-height:1.65}.ep-selection p{font-size:11px;line-height:1.8;color:var(--ep-muted);margin:8px 0 0}.ep-inspector .ep-clear{margin-top:12px;font-size:12px;width:100%;background:#eee2d1}.ep-tip{font-size:10px;line-height:1.8;color:var(--ep-muted);margin:12px 0 0}.ep-foot{position:relative;display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:11px 20px;border-top:1px solid var(--ep-line);font-size:11px;flex:none;min-height:42px;background:#f7f1e7}.ep-status{flex:1;min-width:120px;line-height:1.6}.ep-count{color:var(--ep-muted)}.ep-notes summary{cursor:pointer;color:#8c7159}.ep-notes>div{position:absolute;bottom:calc(100% + 8px);right:14px;width:min(440px,calc(100vw - 60px));max-height:40vh;overflow:auto;padding:13px 18px;background:#fffaf1;border:1px solid #d2bea4;border-radius:12px;box-shadow:0 10px 35px #342b2929;z-index:10;line-height:1.7}.ep-notes p{margin:7px 0}.ep-candidates{position:absolute;bottom:16px;left:16px;max-width:calc(100% - 32px);max-height:220px;overflow:auto;padding:13px;border:1px solid #c9b598;background:#fffaf1;border-radius:12px;box-shadow:0 6px 24px #13151c60;z-index:3}.ep-candidates>span{display:block;font-size:11px;margin-bottom:8px}.ep-candidates button{display:flex;justify-content:space-between;width:100%;gap:16px;margin-top:4px;font-size:12px}.ep-candidates small{color:var(--ep-muted);overflow-wrap:anywhere}.engineering-viewer.ep-expanded{width:100vw;height:100dvh;border-radius:0;margin:0;max-height:100dvh}.ep-file-open{display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;background:transparent;border:0;padding:0;text-align:left;cursor:pointer;color:inherit;min-width:0;max-width:100%;font:inherit}.ep-file-open strong{color:#8a6544;text-decoration:underline;text-decoration-color:#b9a08466;text-underline-offset:4px}.ep-file-open:hover strong{color:#5d402a}.ep-file-open:focus-visible{outline:2px solid #a5815c;outline-offset:4px;border-radius:5px}.ep-file-open .ep-mini-label{font-size:10px;color:#9a7c5d;background:#eee3d2;padding:2px 5px;border-radius:4px;white-space:nowrap}.ep-file-icon{padding:0;background:transparent;border:0;display:inline-flex;cursor:pointer}
@media(max-width:700px){.engineering-viewer{width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0;border:0}.ep-head{padding:12px 14px;gap:10px}.ep-head h2{font-size:15px}.ep-emblem{width:33px;height:36px}.ep-emblem svg{width:27px}.ep-toolbar{padding:7px 10px;gap:6px 9px}.ep-toolbar button{min-height:38px;padding:7px 9px}.ep-source-actions{margin-left:0}.ep-source-actions button{font-size:11px}.ep-body{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(180px,1fr) auto}.ep-inspector{padding:10px 12px;display:grid;grid-template-columns:minmax(0,1fr) 104px;gap:8px;border-left:0;border-top:1px solid var(--ep-line);max-height:155px}.ep-inspector>.ep-eyebrow,.ep-inspector>h3,.ep-tip,.ep-search-label,.ep-net-list{display:none}.ep-selection{padding:9px 11px;min-width:0}.ep-selection>span{margin-bottom:2px}.ep-selection strong{font-size:13px}.ep-selection p{margin-top:2px;font-size:10px;line-height:1.5}.ep-inspector .ep-clear{margin:0;align-self:center;min-height:44px}.ep-foot{padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:5px 10px;font-size:10px}.ep-count{display:none}.ep-status{max-width:calc(100% - 80px)}.ep-candidates button{min-height:44px}.ep-stage{min-height:160px}}
@media(prefers-reduced-motion:reduce){.ep-loading-dot{animation:none}}
/* The archive title has an extended hit area; keep explicit file actions above it. */
.indexed-project-card .ep-file-icon,.indexed-project-card .ep-card-preview{position:relative;z-index:4}.indexed-project-card .ep-card-preview{align-self:flex-start;font-size:11px;color:#8c7055;margin-top:7px;min-height:30px}.engineering-viewer button{-webkit-tap-highlight-color:transparent}

.ep-layers{display:flex;align-items:center;gap:12px}.ep-layers[hidden]{display:none}.ep-layers .ep-auxiliary{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.ep-auxiliary input{width:16px;height:16px;margin:0;accent-color:#9b7960}

/* Muted copper colours are repeated in text-labelled network controls. */
.ep-copper-note{font-size:10px;line-height:1.6;color:var(--ep-muted);margin:-10px 0 12px}.ep-selection .ep-selected-swatch{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:7px;vertical-align:1px;box-shadow:inset 0 0 0 1px #ffffff30}@media(max-width:700px){.ep-copper-note{display:none}}
