/* Keep the drawing tree accessible without stretching the model viewport. */
main{height:calc(100dvh - 137px);min-height:600px}
aside{overflow-y:auto;scrollbar-width:thin}
.stage{background:radial-gradient(ellipse at 50% 40%,#e9eeeb 5%,#d7e0db 100%)}
.part-tree{border-top:1px solid #e7ece9;margin-top:24px;padding-top:24px}
.part-tree .eyebrow{font-size:9px;letter-spacing:1.3px;margin-bottom:14px}
.part-tree details+details{margin-top:12px}
.part-tree summary{cursor:pointer;font-size:12px;font-weight:600;color:#304d3d;padding:6px 0}
.part-tree summary:focus-visible{outline:2px solid #24825a;outline-offset:3px}
.part-tree ul{list-style:none;border-left:1px solid #d8e3db;margin:6px 0 0 5px;padding:0 0 0 10px}
.part-tree li{margin:1px 0}
.part-tree a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 6px;font-size:11px;line-height:1.45;color:#52665a;border-radius:4px}
.part-tree a:hover,.part-tree a[aria-current="page"]{background:#e9f1ec;color:#1b4a31}
.part-tree a span{flex:none;display:grid;place-items:center;min-width:20px;height:20px;border:1px solid #d3ded6;border-radius:4px;font-size:10px;color:#6a7e70;background:#fff}
@media(max-width:800px){main{height:auto;min-height:0}.part-tree{order:2;margin:0;padding:24px;border-top:1px solid #dce4e2}.details{order:3}.files{order:4}.part-tree a{font-size:13px;padding:10px 8px}.part-tree summary{font-size:14px}}
#viewer{width:100%;height:100%;min-height:600px;outline:none;touch-action:none}
#viewer canvas{display:block;width:100%;height:100%}
.tree-part,.tree-group-select{display:block;width:100%;text-align:left;border:0;border-radius:4px;background:transparent;color:#52665a;font-size:12px;line-height:1.4;padding:8px}
.tree-group-select{font-size:10px;color:#778c7d}
.tree-part:hover,.tree-group-select:hover{background:#edf2ef}
.tree-part.selected,.tree-group-select.selected{color:#754600;background:#fff0c8;box-shadow:inset 3px 0 #d39119}
.selection-bar{position:absolute;bottom:55px;left:24px;right:24px;display:flex;align-items:center;justify-content:center;gap:10px;pointer-events:none;font-size:12px}
.selection-bar span{padding:9px 12px;background:#ffffffde;border:1px solid #d5dfd9;border-radius:5px;max-width:55%}
.selection-bar button{pointer-events:auto;border:1px solid #c9d7ce;border-radius:5px;background:#fff;padding:9px 12px;font-size:12px;color:#365342}
.selection-bar button:disabled{opacity:.45;cursor:default}
@media(max-width:800px){#viewer{min-height:390px}.selection-bar{left:10px;right:10px;bottom:40px;gap:5px;font-size:10px;flex-wrap:wrap}.selection-bar span{max-width:100%;padding:6px 8px}.selection-bar button{font-size:10px;padding:6px 8px}.tree-part{padding:10px;font-size:13px}}
