:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#28343a;background:#e7edef;font-synthesis:none;--accent:#c52238;--line:#e1e5e6;--muted:#77848b;--shadow:0 10px 40px #263d4c12,0 2px 8px #263d4c08}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0;background:none}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:hover{background:#f0f2f2}button.active,button[aria-pressed=true]{background:#fbe8ec;color:#ab1830}input[type=checkbox]{accent-color:var(--accent);width:17px;height:17px;flex-shrink:0}input[type=range]{accent-color:var(--accent)}[hidden]{display:none!important}svg.icon{width:21px;height:21px;display:block;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}a{color:inherit;text-decoration:none}#viewport{position:absolute;inset:0;outline:0;background:radial-gradient(ellipse at 45% 0%,#fbfcfc 0%,#e9eef0 55%,#cfdae0 100%);touch-action:none}#viewport canvas{display:block;width:100%;height:100%;touch-action:none}.topbar{position:absolute;z-index:4;left:20px;right:20px;top:max(18px,env(safe-area-inset-top));display:flex;align-items:center;gap:20px;pointer-events:none}.topbar>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:9px;font-size:20px;font-weight:700;letter-spacing:-.6px;line-height:1}.brand-mark{width:36px;height:39px;border:1.5px solid #334049;display:grid;place-items:center;border-radius:7px;font-size:25px;font-weight:500;transform:skew(-5deg)}.brand-sub{display:block;font-size:10px;line-height:1.6;text-transform:uppercase;letter-spacing:1.9px;font-weight:500;margin-top:3px}.tools{display:flex;gap:7px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:41px;height:41px;border:1px solid #dfe4e6;background:#ffffffd9;border-radius:11px;box-shadow:0 2px 5px #1b364305;position:relative;padding:0;flex-shrink:0}.icon-button:hover{background:#fff;border-color:#c7d0d4}.icon-button.active{background:#fbe8ec;border-color:#dc9aa6;box-shadow:0 4px 15px #c5223826}.icon-button.small{width:32px;height:32px;border:0;box-shadow:none;background:transparent}.icon-button.small svg{width:18px;height:18px}.project-heading{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px;line-height:1.1;margin-left:3px}.project-heading strong{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:600px}.project-heading span{font-size:11px;color:var(--muted)}.badge{font-size:9px;line-height:16px;min-width:16px;padding:0 3px;position:absolute;top:-5px;right:-5px;background:#c52238;color:#fff;border-radius:10px}.welcome{position:absolute;top:50%;left:50%;transform:translate(-50%,-46%);width:650px;max-width:calc(100% - 40px);text-align:center;z-index:2}.welcome-symbol{width:66px;height:66px;border:1px solid #fff;background:#ffffff9c;box-shadow:var(--shadow);border-radius:18px;display:grid;place-items:center;margin:0 auto 25px;color:#ab1830}.welcome-symbol svg{width:32px;height:32px;stroke-width:1.3}.eyebrow{font-size:9px;letter-spacing:1.7px;color:var(--muted);font-weight:700;display:block}.welcome h1{font-weight:500;font-size:48px;letter-spacing:-2px;line-height:1.1;margin:17px 0 18px}.welcome p{font-size:14px;line-height:1.7;color:#78858c;margin:0 0 24px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 21px;border-radius:10px;font-weight:600;font-size:13px}.primary{color:#fff;background:#34474e;border:1px solid #34474e;box-shadow:0 7px 16px #34474e16}.primary:hover{background:#263b43}.primary svg{width:19px;height:19px}.secondary{padding:10px 12px;border:1px solid var(--line);background:#fff;font-size:11px;font-weight:500}.secondary svg{width:17px;height:17px}.welcome .drop-hint{font-size:10px;margin:13px 0 10px;color:#97a1a6}.text-button{font-size:11px;color:#667b87;padding:4px 0}.text-button:hover{background:none;color:#ab1830}.welcome-footer{display:flex;align-items:center;justify-content:center;gap:10px;font-size:10px;color:#8e999f;margin-top:54px}.welcome-footer svg{width:15px;height:15px;margin-left:17px}.welcome-footer svg:first-child{margin-left:0}.panel{position:absolute;z-index:5;background:#fffffff2;backdrop-filter:blur(16px);border:1px solid #fff;border-radius:15px;box-shadow:var(--shadow)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:21px 20px 16px}.panel-heading h2{font-size:16px;letter-spacing:-.3px;margin:5px 0 0;font-weight:600;overflow-wrap:anywhere}.parts-panel{left:20px;top:80px;bottom:55px;width:300px;display:flex;flex-direction:column}.search-wrap{margin:0 16px 10px;display:flex;gap:8px;align-items:center;border:1px solid #e4e8ea;background:#f8f9f9;border-radius:8px;padding:9px 11px}.search-wrap svg{width:16px;height:16px;color:#8c999f}.search-wrap input{min-width:0;width:100%;border:0;outline:none;background:transparent;font-size:11px;color:#39464d}select{color:#5b6a72;background:white;border:1px solid var(--line);border-radius:7px;padding:9px;font-size:11px}.parts-panel select{margin:0 16px}.list-actions{display:flex;align-items:center;justify-content:space-between;padding:9px 19px;border-bottom:1px solid var(--line)}.check-filter{font-size:10px;color:#78858b;display:flex;gap:5px;align-items:center}.check-filter input{width:13px;height:13px}.parts-list{flex:1;overflow:auto;padding:4px 8px;overscroll-behavior:contain}.block-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;font-weight:600;color:#64747c;padding:14px 11px 6px}.block-heading span:last-child{color:#a0aaae;font-weight:400}.part-row{width:100%;display:flex;align-items:center;gap:8px;padding:10px 9px;border-radius:8px;text-align:left;margin:1px 0}.part-row .part-number{display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;border:1px solid #dbe2e5;color:#829198;border-radius:5px;font-size:9px}.part-row .row-main{flex:1;min-width:0}.part-row strong{display:block;font-weight:500;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.part-row small{display:block;color:#94a0a6;font-size:9px;margin-top:3px}.part-row .row-check{font-size:12px;color:#5d9e7d}.part-row.active{background:#fbe8ec;color:#ab1830}.part-row.active .part-number{border-color:#dc9aa6;color:#ab1830;background:#fff3f5}.part-row.hidden-part{opacity:.5}.panel-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding:12px 18px;color:#87949a;font-size:9px}.panel-bottom button{font-size:10px}.inspector{width:330px;right:20px;top:80px;bottom:55px;display:flex;flex-direction:column}.inspector .panel-heading{padding-bottom:15px}.inspector .eyebrow{font-size:9px;letter-spacing:.5px;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inspector-scroll{overflow:auto;overscroll-behavior:contain;padding:0 20px 20px}.dimensions{display:flex;align-items:baseline;gap:7px;letter-spacing:-.4px;font-size:23px;font-weight:400;margin:0 0 12px}.dimensions small{font-size:10px;color:#8a979e;letter-spacing:0}.material-line{display:flex;align-items:flex-start;gap:7px;font-size:10px;line-height:1.5;color:#7e8b92;margin-bottom:19px}.material-dot{display:block;width:12px;height:12px;flex-shrink:0;background:#d0c2a9;border:1px solid #a9988050;border-radius:3px;margin-top:1px}.part-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.assembly-check{display:flex;align-items:center;gap:8px;font-size:11px;background:#f4f7f5;border:1px solid #e7eeea;border-radius:8px;padding:10px;margin-top:9px;color:#60756b}.assembly-check input{margin:0}.section-title{display:flex;align-items:center;gap:7px;margin:24px 0 13px}.section-title h3{font-weight:600;font-size:12px;margin:0}.section-title .text-button{margin-left:auto;font-size:10px}.count-pill{border:1px solid #e2e7e9;border-radius:5px;font-size:9px;color:#84939b;padding:2px 5px}.drilling-drawing{border:1px solid #e6ebec;background:#f8faf9;border-radius:8px;overflow:hidden;padding:11px;min-height:140px;display:flex;align-items:center;justify-content:center}.drilling-drawing svg{width:100%;height:190px;display:block}.drilling-drawing .empty{font-size:11px;color:#8c999f}.caption{font-size:9px;color:#91a0a8;line-height:1.5;margin:9px 0 15px}.table-wrap{max-height:250px;overflow:auto;border:1px solid var(--line);border-radius:6px}.holes-table{width:100%;border-collapse:collapse;font-size:9px;font-variant-numeric:tabular-nums}.holes-table th{text-align:right;font-weight:500;color:#82929a;background:#f6f8f8;position:sticky;top:0}.holes-table td,.holes-table th{padding:8px 5px;border-bottom:1px solid #eef1f2}.holes-table td{text-align:right;color:#667981}.holes-table td:first-child,.holes-table th:first-child{text-align:left;padding-left:8px}.holes-table tr:hover td{background:#fff0f3}.edge-info{font-size:10px;line-height:1.6;color:#85939a;margin-top:16px}.menu{right:20px;top:73px;width:245px;padding:7px;z-index:8}.menu>button{width:100%;text-align:left;display:flex;align-items:center;gap:11px;padding:11px;border-radius:8px;font-size:11px;line-height:1.25}.menu svg{width:18px;height:18px;color:#7a8992}.menu .key{font-size:9px;color:#a6afb4;margin-left:auto;border:1px solid #e9ecee;min-width:18px;text-align:center;border-radius:3px;padding:2px}.menu hr{border:0;border-top:1px solid var(--line);margin:6px}.menu-footer{display:flex;justify-content:space-between;margin:10px 10px 6px;font-size:9px;color:#a1abb1}.view-controls{position:absolute;top:88px;right:21px;display:flex;flex-direction:column;gap:3px;z-index:3;background:#ffffff85;border:1px solid #fff;border-radius:12px;padding:5px;box-shadow:var(--shadow)}.view-controls button{border-radius:6px;padding:8px 6px;font-size:8px;color:#7b8c95}.view-controls button:first-child{display:flex;justify-content:center;padding:8px}.view-controls button svg{width:24px;height:24px}.inspector:not([hidden])~.view-controls{right:366px}.glass{background:#ffffffeb;border:1px solid #fff;backdrop-filter:blur(15px);box-shadow:var(--shadow);border-radius:12px}.explode-control{position:absolute;left:50%;bottom:66px;transform:translateX(-50%);z-index:4;display:flex;align-items:center;gap:12px;padding:9px 11px 9px 16px;width:390px;max-width:calc(100% - 36px)}.explode-control>svg{width:18px;height:18px;color:#ab1830}.explode-control label{font-size:11px;color:#778991}.explode-control input{width:100%;min-width:40px;height:16px}.explode-control output{font-size:10px;min-width:30px;color:#ab1830}.bottom-hint{position:absolute;left:20px;right:20px;bottom:max(18px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:7px;color:#7f9099;font-size:10px;pointer-events:none}.status-dot{height:5px;width:5px;border-radius:50%;background:#72a38c}.units{margin-left:auto;font-size:9px;border:1px solid #b8c8d05e;padding:3px 7px;border-radius:4px}.measure-label{position:absolute;z-index:4;padding:7px 10px;border-radius:7px;background:#fbe8ec;color:#ab1830;font-size:12px;font-weight:600;white-space:nowrap;transform:translate(-50%,-140%);box-shadow:var(--shadow);pointer-events:none}.toast{position:absolute;z-index:30;bottom:75px;left:50%;transform:translateX(-50%);max-width:min(540px,calc(100% - 30px));padding:12px 18px;background:#34474eef;color:white;border-radius:9px;box-shadow:var(--shadow);font-size:12px;line-height:1.5;text-align:center}.busy{position:absolute;z-index:20;inset:0;background:#edf2f4d9;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px}.busy strong{font-size:14px;font-weight:500}.busy span{font-size:11px;color:#84949d}.spinner{width:30px;height:30px;border:2px solid #d1dce0;border-top-color:#c52238;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.drop-zone{position:absolute;z-index:25;inset:15px;background:#f7fbf8f2;border:2px dashed #93ac9e;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center}.drop-zone>svg{width:44px;height:44px;color:#7c9d8b}.drop-zone h2{font-size:24px;font-weight:400}.drop-zone p{font-size:13px;color:#84968b}.webgl-error{position:absolute;z-index:2;top:45%;left:50%;transform:translate(-50%,-50%);max-width:340px;text-align:center;background:#ffffffd9;padding:23px;border-radius:15px;box-shadow:var(--shadow)}.webgl-error h2{font-size:16px}.webgl-error p{font-size:12px;line-height:1.6;color:#83929a}.empty-list{padding:30px 14px;text-align:center;color:#8e9da5;font-size:11px;line-height:1.6}dialog{border:1px solid #fff;border-radius:17px;background:#fff;color:#34444d;padding:24px;width:500px;max-width:calc(100% - 30px);max-height:calc(100% - 50px);overflow:auto;box-shadow:0 20px 70px #263d4c28}dialog::backdrop{background:#33475355;backdrop-filter:blur(3px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.modal-heading h2{font-weight:500;font-size:19px;letter-spacing:-.4px;margin:0}.modal-heading button{flex-shrink:0}#modalBody{font-size:12px;line-height:1.7;color:#73858e}#modalBody p{margin:0 0 15px}#modalBody input[type=text],#modalBody input[type=password]{width:100%;border:1px solid #dce3e6;border-radius:8px;padding:12px;font-size:12px;outline:none;color:#34444d;background:#f9fbfb}#modalBody .primary{margin-top:14px;font-size:12px;padding:10px 16px}#modalBody label{display:block;font-size:11px;margin:12px 0 5px}#modalBody ul{padding-left:18px}#modalBody li{margin:9px 0}.warning-item{padding:10px 0;border-bottom:1px solid #edf0f1;font-size:11px;overflow-wrap:anywhere}.warning-intro{background:#fbe8ec;border:1px solid #dc9aa6;border-radius:8px;padding:12px;color:#ab1830;font-size:11px}.scan-video{width:100%;max-height:240px;border-radius:8px;background:#263c48;object-fit:cover;margin-top:12px}.modal-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.share-text{width:100%;overflow-wrap:anywhere;padding:10px;border-radius:7px;border:1px solid #e3e9eb;background:#f6f8f9;font-size:11px}.help-grid{display:grid;grid-template-columns:110px 1fr;gap:11px;font-size:11px;margin:18px 0}.help-grid b{font-weight:500;color:#3d515e}.help-note{padding:13px;border-radius:8px;background:#f2f6f4;font-size:11px;color:#7c9186}#printArea{display:none}
@media(min-width:1150px){.topbar{left:24px;right:24px;gap:26px}.parts-panel{left:24px}.inspector{right:24px}}@media(max-width:900px){.brand{font-size:17px}.brand-mark{width:31px;height:34px;font-size:22px}.brand-sub{font-size:8px}.topbar{gap:13px}.project-heading{max-width:calc(100% - 330px)}.parts-panel{width:270px}.inspector{width:300px}.inspector-scroll{padding-left:17px;padding-right:17px}.inspector:not([hidden])~.view-controls{right:335px}.dimensions{font-size:21px}}
@media(max-width:650px){.topbar{left:12px;right:12px;gap:8px;top:max(12px,env(safe-area-inset-top))}.brand{display:none}.project-heading{display:none}.tools-right{margin-left:auto}.tools{gap:5px}.icon-button{width:39px;height:39px;border-radius:10px}.topbar .tools-right #shareButton{display:none}.welcome{max-width:calc(100% - 40px);transform:translate(-50%,-43%)}.welcome h1{font-size:40px;letter-spacing:-1.8px}.welcome p{font-size:12px}.welcome .drop-hint{font-size:10px}.welcome-footer{font-size:9px;gap:6px;margin-top:40px}.welcome-footer svg{margin-left:9px;width:13px}.welcome-symbol{width:57px;height:57px;margin-bottom:23px}.welcome-symbol svg{width:28px}.welcome .eyebrow{font-size:8px}.view-controls{right:12px;top:67px}.view-controls button{font-size:7px;padding:7px 5px}.view-controls button svg{width:21px;height:21px}.parts-panel,.inspector{left:10px;right:10px;top:auto;bottom:max(42px,calc(env(safe-area-inset-bottom) + 26px));width:auto;max-height:60%;border-radius:16px}.parts-panel{height:60%}.inspector{height:57%}.panel-heading{padding:14px 17px 12px}.panel-heading h2{font-size:15px}.inspector .panel-heading{padding:14px 17px 12px}.inspector-scroll{padding-left:17px;padding-right:17px}.dimensions{font-size:24px;margin-bottom:8px}.material-line{margin-bottom:14px}.inspector:not([hidden])~.view-controls{right:12px}.panel-bottom{padding:10px 16px}.parts-list{padding:3px 8px}.part-row{padding:9px}.list-actions{padding:6px 18px}.menu{right:12px;top:61px;max-height:calc(100% - 110px);overflow:auto;width:245px}.menu>button{padding:12px;font-size:12px}.bottom-hint{left:14px;right:14px;bottom:max(14px,env(safe-area-inset-bottom));font-size:8px;gap:5px}.bottom-hint .units{font-size:8px}.explode-control{bottom:55px;width:calc(100% - 28px);padding:7px 9px 7px 12px;gap:8px}.explode-control label{font-size:10px}.explode-control>svg{width:16px}.parts-panel:not([hidden])~.explode-control,.inspector:not([hidden])~.explode-control{top:66px;bottom:auto;left:12px;right:72px;width:auto;transform:none}.toast{bottom:90px;font-size:11px;width:calc(100% - 36px)}dialog{padding:19px}.modal-heading h2{font-size:17px}.desktop-only{display:none}.webgl-error{width:280px;max-width:calc(100% - 40px)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}@media print{html,body{height:auto;overflow:visible;background:#fff}#app,dialog{display:none!important}#printArea{display:block;color:#111;font-family:Arial,sans-serif;padding:20px}#printArea h1{font-size:22px}#printArea p{font-size:11px;color:#555}#printArea table{width:100%;border-collapse:collapse;font-size:10px}#printArea th,#printArea td{text-align:left;border:1px solid #ccc;padding:7px}#printArea tr{break-inside:avoid}#printArea thead{display:table-header-group}}

.inside-button{position:absolute;top:84px;left:20px;z-index:3;display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 14px;font-size:12px;font-weight:500}.inside-button .icon{width:20px;height:20px}.inside-button.active{background:#fbe8ec;border-color:#dc9aa6;color:#ab1830}.parts-panel:not([hidden])~.inside-button{left:322px}@media(max-width:900px){.parts-panel:not([hidden])~.inside-button{left:306px}}@media(max-width:650px){.inside-button,.parts-panel:not([hidden])~.inside-button{top:max(68px,calc(env(safe-area-inset-top) + 56px));left:12px;max-width:calc(100% - 82px);font-size:12px;padding:10px 12px}.inspector{height:47%;max-height:47%}.part-row{min-height:44px}.part-row strong{font-size:12px}.part-row small{font-size:10px}.section-title .text-button{min-height:40px;font-size:11px}.explode-control:not([hidden])~.bottom-hint{display:none}.inside-button:not([hidden])~.explode-control{top:122px;bottom:auto;left:12px;right:72px;width:auto;transform:none}}

.drilling-drawing.mesh-note{min-height:0;height:auto;padding:14px;display:block}.drilling-drawing.mesh-note p{margin:0;font-size:12px;line-height:1.6}#modalBody select{width:100%;padding:10px;margin:5px 0;border:1px solid #dce3e6;border-radius:8px;background:#fff}

.assembly-button{position:absolute;left:20px;top:138px;z-index:3;display:flex;align-items:center;gap:10px;padding:11px 13px;text-align:left;max-width:280px}.assembly-button strong{display:block;font-size:12px;font-weight:600}.assembly-button small{display:block;font-size:10px;color:#657780;margin-top:4px}.assembly-dots{width:24px;font-size:12px;line-height:1.15;word-spacing:2px;color:#007fa3;text-shadow:7px 5px #7850c133}.assembly-panel{right:20px;top:80px;bottom:55px;width:350px;display:flex;flex-direction:column}.assembly-scroll{overflow:auto;overscroll-behavior:contain;padding:0 17px 16px}.assembly-help{font-size:11px;line-height:1.5;color:#6d7d85;margin:0 0 12px}.assembly-legend{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.assembly-legend button{display:flex;align-items:center;gap:5px;min-height:36px;border:1px solid #dfe5e7;border-radius:8px;padding:7px 9px;font-size:10px}.assembly-legend i,.connection-row>i{display:block;width:9px;height:9px;flex-shrink:0;border-radius:50%}.assembly-search{display:flex;flex-direction:column;gap:7px;margin:10px 0}.assembly-search input{width:100%;border:1px solid #dfe5e7;border-radius:8px;padding:10px;font-size:12px}.connection-row{display:flex;align-items:center;text-align:left;gap:9px;width:100%;min-height:48px;padding:10px 7px;border-bottom:1px solid #edf0f1;border-radius:7px}.connection-row span{min-width:0}.connection-row strong{display:block;font-size:11px;font-weight:500;overflow-wrap:anywhere}.connection-row small{display:block;font-size:10px;color:#75858c;margin-top:4px}.assembly-total{font-size:10px;color:#7b8a91}.connection-card{background:#f5f8f8;border:1px solid #dce5e8;border-radius:10px;padding:12px;margin:10px 0 16px}.connection-card h3{font-size:14px;font-weight:600;margin:7px 0;overflow-wrap:anywhere}.connection-card p,.connection-card details{font-size:11px;line-height:1.6;color:#566e7a;overflow-wrap:anywhere}.connection-card .connection-source{font-size:10px;color:#7f9098}.connection-dim{font-size:16px;margin:12px 0}.connection-parts,.connection-holes{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.connection-card .secondary{min-height:40px;padding:8px;font-size:11px}.connection-card .text-button{min-height:44px}.assembly-panel .panel-bottom{font-size:9px;line-height:1.5}.assembly-panel:not([hidden])~.view-controls{right:390px}.parts-panel:not([hidden])~.assembly-button{left:322px}.assembly-panel .eyebrow{font-size:8px}
@media(max-width:900px){.parts-panel:not([hidden])~.assembly-button{left:306px}.assembly-panel{width:300px}.assembly-panel:not([hidden])~.view-controls{right:335px}}
@media(max-width:650px){.assembly-button,.parts-panel:not([hidden])~.assembly-button{top:max(122px,calc(env(safe-area-inset-top) + 110px));left:12px;max-width:calc(100% - 84px);padding:9px 11px}.assembly-button strong{font-size:11px}.assembly-button small{font-size:9px}.assembly-panel{left:10px;right:10px;top:auto;bottom:max(42px,calc(env(safe-area-inset-bottom) + 26px));width:auto;height:47%;max-height:47%}.assembly-panel:not([hidden])~.view-controls{right:12px}.assembly-legend button{min-height:40px}.assembly-panel .panel-heading{padding-top:12px;padding-bottom:10px}.assembly-help{font-size:10px}.assembly-panel .panel-heading h2{font-size:15px}}

#assemblyFilters>summary{font-size:11px;color:#657780;cursor:pointer;padding:5px 0 12px;min-height:32px}#assemblyFilters[open]>summary{margin-bottom:3px}.assembly-dots{letter-spacing:1px;overflow:hidden;height:26px;line-height:13px}.assembly-button{gap:8px}

.view-controls hr{width:70%;border:0;border-top:1px solid #d9e1e5;margin:4px auto}.view-controls button#resetViewControl{min-height:40px;font-size:10px}.view-controls{max-height:calc(100% - 130px);overflow-y:auto}@media(max-width:650px){.view-controls button#resetViewControl{min-height:40px;font-size:9px}.view-controls{max-height:calc(47% - 30px)}}

#viewport canvas{cursor:grab}#viewport canvas:active{cursor:grabbing}
