html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none;overscroll-behavior-y:none;-webkit-user-select:none;user-select:none;font-family:var(--font-family);background:var(--background);color:var(--foreground);touch-action:none}:root{--font-family:"DM Sans","Segoe UI",Tahoma,sans-serif;--background:hsl(210,20%,98%);--foreground:hsl(215,20%,20%);--card:hsl(0,0%,100%);--primary:hsl(24,85%,58%);--primary-soft:hsl(24,85%,96%);--accent:var(--primary);--primary-foreground:hsl(0,0%,100%);--muted:hsl(210,15%,95%);--secondary:hsl(210,15%,93%);--border:hsl(210,15%,90%);--input:hsl(210,15%,88%);--muted-foreground:hsl(215,10%,55%);--secondary-foreground:hsl(215,15%,40%);--radius:12px;--control-border-radius:8px;--shadow-sm:0 2px 6px rgba(30,40,60,0.08);--control-button-size:45px;--control-fab-size:60px;--control-icon-size:25px;--success:#16a34a;--success-bg:#f0fdf4;--success-foreground:#166534}#app{display:grid;grid-template-rows:48px auto 1fr;height:100%;position:fixed;top:0;left:0;right:0;bottom:0;width:100%}#content{grid-row:3;display:grid;grid-template-columns:1fr;height:100%;min-height:0}#toggleSidebarBtn{width:34px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:8px}#toolbar{grid-row:1;position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;background:var(--card);border-bottom:1px solid var(--border)}#logo{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-start;padding:0;pointer-events:none}#logo img{height:60px;width:auto;display:block;object-fit:contain}#title{font-weight:600;letter-spacing:0.3px}#status{color:var(--muted-foreground);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}#actions{display:flex;gap:8px;align-items:center;margin-left:auto}#reloadBtn{display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;color:var(--foreground);border-color:var(--border)}#reloadBtn .material-symbols-outlined{font-size:18px}#explodeBar{position:fixed;right:16px;top:50%;transform:translateY(-50%);width:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 8px;background:var(--muted);border:1px solid var(--border);border-radius:var(--radius);z-index:9999;box-shadow:var(--shadow-sm)}#explodeBar .explode-step-btn{-webkit-appearance:none;appearance:none;flex:0 0 auto;width:38px;height:38px;display:flex;align-items:center;justify-content:center;padding:0;color:var(--foreground);background:var(--card);border:1px solid var(--border);cursor:pointer;box-shadow:var(--shadow-sm);transition:background 0.15s ease,border-color 0.15s ease,transform 0.05s ease;z-index:10002}#explodeBar .explode-step-btn .material-symbols-outlined{font-size:20px;line-height:1}#explodeBar .explode-step-btn:hover{background:var(--secondary);border-color:var(--muted-foreground)}#explodeBar .explode-step-btn:active{transform:scale(0.92);background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}#explodeBar .explode-step-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}#explodeBar .explode-step-btn:disabled{opacity:0.4;cursor:default;box-shadow:none}#explodeBar .explode-slider-wrap{flex:0 0 auto;width:var(--control-button-size);height:130px;display:flex;align-items:center;justify-content:center}#explodeBar input[type="range"]{-webkit-appearance:none;appearance:none;width:130px;height:6px;transform:rotate(-90deg);cursor:pointer;background:transparent;outline:none}#explodeBar input[type="range"]::-webkit-slider-runnable-track{height:6px;background:var(--border);border-radius:3px}#explodeBar input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--muted-foreground);margin-top:-4px}#explodeBar input[type="range"]::-moz-range-track{height:6px;background:var(--border);border-radius:3px}#explodeBar input[type="range"]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--muted-foreground)}#explodeBar.explode-pos-left{right:auto;left:16px}#explodeBar.explode-pos-top,#explodeBar.explode-pos-bottom{flex-direction:row-reverse;width:auto;top:auto;bottom:auto;right:auto;left:50%;transform:translateX(-50%);padding:8px 12px}#explodeBar.explode-pos-top{top:calc(60px + var(--context-bar-h,0px))}#explodeBar.explode-pos-bottom{bottom:16px}#explodeBar.explode-pos-top .explode-slider-wrap,#explodeBar.explode-pos-bottom .explode-slider-wrap{width:150px;height:38px}#explodeBar.explode-pos-top input[type="range"],#explodeBar.explode-pos-bottom input[type="range"]{width:140px;transform:none}body.fab-panel-open #explodeBar{opacity:0;visibility:hidden;pointer-events:none;transition:opacity 0.2s ease,visibility 0.2s ease}#importFile{display:none}#sidebar{border-right:1px solid var(--border);background:var(--card);overflow:auto;min-height:0}#pieceList{padding:10px;display:flex;flex-direction:column;gap:8px}#filters{padding:10px;border-bottom:1px solid var(--border)}.filters-title{font-size:12px;color:var(--foreground);margin-bottom:8px;font-weight:600}.filters-actions{display:flex;gap:6px;margin-bottom:8px}.filters-actions button{padding:4px 8px;font-size:11px}#layerFilters{max-height:180px;overflow:auto;border:1px solid var(--border);border-radius:var(--control-border-radius);padding:6px;background:var(--card)}.layer-filter-item{display:grid;grid-template-columns:16px 1fr;gap:6px;align-items:center;font-size:11px;color:var(--foreground);padding:2px 0}.layer-filter-item .layer-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.piece-item{border:1px solid var(--border);background:var(--card);border-radius:var(--control-border-radius);padding:8px;cursor:pointer;transition:border-color 0.12s ease,box-shadow 0.12s ease,background 0.12s ease}.piece-item:hover{background:var(--secondary);border-color:var(--muted-foreground)}.piece-item.active{border-color:var(--foreground);box-shadow:inset 0 0 0 1px var(--foreground)}.piece-head{display:grid;grid-template-columns:18px 1fr;gap:8px;align-items:center;cursor:pointer}.piece-title{font-size:12px;color:var(--foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.piece-meta{margin-top:6px;font-size:11px;color:var(--muted-foreground);line-height:1.35}.piece-main{margin-top:6px;font-size:11px;color:var(--secondary-foreground);line-height:1.35}.piece-dims{display:grid;grid-template-columns:1fr;gap:2px;margin-top:4px}.piece-advanced{margin-top:8px;border-top:1px solid var(--border);padding-top:6px}.piece-advanced summary{font-size:11px;color:var(--foreground);cursor:pointer;user-select:none}.piece-advanced-content{margin-top:6px;font-size:11px;color:var(--secondary-foreground);line-height:1.35;max-height:120px;overflow:auto}.piece-attrs{margin-top:6px;font-size:11px;color:var(--secondary-foreground);max-height:76px;overflow:auto}button{border:1px solid var(--border);background:var(--card);color:var(--foreground);border-radius:var(--control-border-radius);padding:6px 10px;font-size:12px;cursor:pointer}button:hover{background:var(--secondary)}#app{display:grid;grid-template-rows:48px auto 1fr;height:100%;position:fixed;top:0;left:0;right:0;bottom:0;width:100%}#viewer{width:100%;height:100%;display:block;min-width:0;min-height:0;touch-action:none}#searchWrap{margin-bottom:8px}#searchInput{width:100%;box-sizing:border-box;background:var(--card);border:1px solid var(--border);color:var(--foreground);border-radius:var(--control-border-radius);padding:5px 8px;font-size:11px;outline:none}#searchInput:focus{border-color:var(--primary)}.piece-item.piece-validated{border-color:var(--success);background:var(--success-bg)}.piece-item.piece-validated .piece-title{color:var(--success-foreground)}.piece-item.piece-validated.active{border-color:var(--success);box-shadow:inset 0 0 0 1px var(--success)}#status{display:none}.toast-container{position:fixed;left:50%;bottom:10%;transform:translateX(-50%);display:flex;align-items:center;z-index:40000;pointer-events:auto}.toast{pointer-events:auto;background:rgba(0,0,0,0.88);color:#fff;padding:10px 14px;border-radius:8px;font-size:13px;max-width:640px;box-shadow:0 8px 24px rgba(0,0,0,0.18);opacity:0;transform:translateY(8px) scale(0.99);transition:opacity 0.22s ease,transform 0.22s ease}.toast-show{opacity:1;transform:translateY(0) scale(1)}.view3d-large-alert-overlay{position:fixed;inset:0;background:rgba(20,20,20,0.38);display:flex;align-items:center;justify-content:center;z-index:14000;opacity:0;transition:opacity 0.22s ease;padding:16px}.view3d-large-alert-show{opacity:1}.view3d-large-alert-card{position:relative;width:min(500px,92vw);background:#f6f6f6;border:2px solid #e03131;border-radius:10px;box-shadow:0 20px 44px rgba(0,0,0,0.24);padding:20px 20px 22px;color:#b42323;text-align:center;transform:translateY(8px) scale(0.985);transition:transform 0.22s ease}.view3d-large-alert-show .view3d-large-alert-card{transform:translateY(0) scale(1)}.view3d-large-alert-close{position:absolute;top:8px;right:10px;border:none;background:transparent;color:#666;font-size:22px;line-height:1;cursor:pointer}.view3d-large-alert-icon-wrap{width:68px;height:68px;margin:2px auto 12px;border-radius:50%;background:rgba(224,49,49,0.14);position:relative}.view3d-large-alert-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;color:#d92d20;font-weight:400;line-height:1;text-align:center}.view3d-large-alert-icon.material-symbols-rounded{font-family:'Material Symbols Rounded';font-size:42px;width:42px;height:42px;line-height:1;font-variation-settings:'FILL' 0,'wght' 300,'GRAD' 100,'opsz' 48}.view3d-large-alert-title{margin:0 0 10px;font-size:clamp(19px,2.8vw,23px);line-height:1.1;color:#d92d20;font-weight:700}.view3d-large-alert-body{margin:0 auto;max-width:390px;font-size:clamp(13px,1.9vw,17px);line-height:1.35;color:#b42323;background:rgba(217,45,32,0.08);border:1px solid rgba(217,45,32,0.2);border-radius:10px;padding:12px 14px}@media (max-width:760px){.view3d-large-alert-card{width:min(440px,92vw);padding:16px 12px 18px}}#fabMenu{position:fixed;right:16px;bottom:25px;z-index:12010;display:flex;flex-direction:row-reverse;align-items:flex-end;gap:12px;pointer-events:none}#fabMenu .fab,#fabMenu .fab-panel{pointer-events:auto}.fab{width:var(--control-fab-size);height:var(--control-fab-size);border-radius:50%;display:inline-flex;align-items:center;align-self:flex-end;justify-content:center;background:var(--card);color:var(--foreground);border:1px solid var(--border);box-shadow:var(--shadow-sm);cursor:pointer;transition:background 0.15s ease,border-color 0.15s ease,transform 0.05s ease}.fab:hover{background:var(--secondary);border-color:var(--muted-foreground)}.fab:active{transform:scale(0.92);background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.fab:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.fab-icon{display:inline-flex;align-items:center;justify-content:center;font-size:var(--control-icon-size)}.fab-panel{position:absolute;right:calc(var(--control-fab-size) + 12px);bottom:0;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;padding:6px 10px;background:var(--card);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);min-height:var(--control-button-size);opacity:0;visibility:hidden;pointer-events:none;transform:translateX(24px);transform-origin:right bottom;transition:opacity 0.24s ease,transform 0.24s cubic-bezier(0.22,1,0.36,1),visibility 0.24s ease}.fab-panel.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(0)}#fabMenu.fab-pos-bl,#fabMenu.fab-pos-tl{right:auto;left:16px;flex-direction:row}#fabMenu.fab-pos-tr,#fabMenu.fab-pos-tl{bottom:auto;top:calc(60px + var(--context-bar-h,0px));align-items:flex-start}#fabMenu.fab-pos-tr .fab,#fabMenu.fab-pos-tl .fab{align-self:flex-start}#fabMenu.fab-pos-bl .fab-panel,#fabMenu.fab-pos-tl .fab-panel{right:auto;left:calc(var(--control-fab-size) + 12px);transform:translateX(-24px)}#fabMenu.fab-pos-tr .fab-panel,#fabMenu.fab-pos-tl .fab-panel{bottom:auto;top:0}#fabMenu.fab-pos-bl .fab-panel{transform-origin:left bottom}#fabMenu.fab-pos-tr .fab-panel{transform-origin:right top}#fabMenu.fab-pos-tl .fab-panel{transform-origin:left top}#fabMenu.fab-pos-bl .fab-panel.open,#fabMenu.fab-pos-tl .fab-panel.open{transform:translateX(0)}.fab-panel-btn{width:var(--control-button-size);height:var(--control-button-size);position:relative;border-radius:var(--control-border-radius);display:inline-flex;align-items:center;justify-content:center;background:var(--card);border:1px solid var(--border);cursor:pointer;transition:transform 0.16s ease}.fab-panel-btn:hover{transform:translateY(-1px)}.view-shortcut-badge{position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--muted-foreground);color:var(--primary-foreground);border:1px solid rgba(255,255,255,0.9);font-size:10px;font-weight:700;line-height:14px;text-align:center;box-sizing:border-box;pointer-events:none}.fab-panel .fab-sep{width:1px;height:calc(var(--control-button-size) - 8px);background:var(--border);border-radius:1px;margin:0 6px}#xrayToggleBtn.active,#xrayToggleBtn.active .fab-panel-btn,#pinHardwareToggleBtn.active,#panModeToggleBtn.active{box-shadow:inset 0 0 0 2px var(--foreground)}body.hide-shortcut-badges .view-shortcut-badge{display:none}@media (hover:none) and (pointer:coarse){#panModeToggleBtn{display:none}}.fab-panel-btn:disabled{opacity:0.45;cursor:not-allowed;box-shadow:none}.fab-panel-btn:disabled:hover{transform:none}#settingsMenu{position:fixed;top:calc(46px + var(--context-bar-h,0px));right:8px;z-index:12030;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}#settingsMenuBtn{pointer-events:auto;padding:5px 10px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--control-border-radius);background:var(--card);border:1px solid var(--border);color:var(--foreground);cursor:pointer;transition:background 0.15s ease,transform 0.12s ease}#settingsMenuBtn:hover{background:var(--secondary)}#settingsMenuBtn:active{transform:scale(0.95)}#settingsMenuBtn .material-symbols-outlined{font-size:18px;line-height:1}.settings-panel{min-width:300px;max-width:min(360px,calc(100vw - 24px));padding:10px 12px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px rgba(0,0,0,0.18);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transform-origin:top right;transition:opacity 0.2s ease,transform 0.2s cubic-bezier(0.22,1,0.36,1),visibility 0.2s ease}.settings-panel.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.settings-panel-title{font-size:12px;font-weight:600;color:var(--foreground);padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--border)}.settings-panel-list{display:flex;flex-direction:column;gap:8px}.settings-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--foreground);user-select:none}label.settings-row{cursor:pointer}.settings-panel select,.settings-panel input{-webkit-user-select:auto;user-select:auto;touch-action:auto}.settings-row-icon{font-size:18px;color:var(--muted-foreground)}.settings-row-label{flex:1 1 auto}.settings-row.disabled{opacity:0.45;pointer-events:none}.settings-dd{position:relative;flex:0 0 auto}.settings-dd-btn{display:inline-flex;align-items:center;gap:4px;max-width:150px;background:var(--card);border:1px solid var(--border);color:var(--foreground);border-radius:var(--control-border-radius);padding:4px 6px 4px 8px;font-size:12px;cursor:pointer}.settings-dd-btn:hover{background:var(--secondary)}.settings-dd-btn:disabled{opacity:0.45;cursor:not-allowed}.settings-dd-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-dd-caret{font-size:16px;line-height:1;color:var(--muted-foreground);transition:transform 0.15s ease}.settings-dd.open .settings-dd-caret{transform:rotate(180deg)}.settings-dd-list{position:absolute;top:calc(100% + 4px);right:0;min-width:140px;display:none;flex-direction:column;padding:4px;background:var(--card);border:1px solid var(--border);border-radius:var(--control-border-radius);box-shadow:0 8px 24px rgba(0,0,0,0.18);z-index:1}.settings-dd.open .settings-dd-list{display:flex}.settings-dd-swatch{width:12px;height:12px;flex:0 0 auto;border-radius:3px;border:1px solid var(--border)}.settings-dd-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:transparent;border:none;border-radius:calc(var(--control-border-radius) - 2px);color:var(--foreground);padding:6px 8px;font-size:12px;cursor:pointer}.settings-dd-item:hover{background:var(--secondary)}.settings-dd-item.selected{background:var(--muted);font-weight:600}.settings-stepper{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto}.settings-stepper-btn{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:var(--card);border:1px solid var(--border);border-radius:var(--control-border-radius);color:var(--foreground);cursor:pointer}.settings-stepper-btn:hover{background:var(--secondary)}.settings-stepper-btn:disabled{opacity:0.45;cursor:not-allowed}.settings-stepper-btn .material-symbols-outlined{font-size:16px;line-height:1}.settings-number{flex:0 0 auto;width:48px;box-sizing:border-box;background:var(--card);border:1px solid var(--border);color:var(--foreground);border-radius:var(--control-border-radius);padding:4px 6px;font-size:12px;text-align:center;outline:none;-moz-appearance:textfield}.settings-number::-webkit-outer-spin-button,.settings-number::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.settings-number:focus{border-color:var(--primary)}.settings-switch{position:relative;display:inline-block;flex:0 0 auto;width:34px;height:20px}.settings-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.settings-switch-slider{position:absolute;inset:0;background:var(--input);border-radius:999px;transition:background 0.18s ease;pointer-events:none}.settings-switch-slider::before{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:var(--card);box-shadow:0 1px 3px rgba(0,0,0,0.2);transition:transform 0.18s ease}.settings-switch input:checked + .settings-switch-slider{background:var(--primary)}.settings-switch input:checked + .settings-switch-slider::before{transform:translateX(14px)}.settings-switch input:focus-visible + .settings-switch-slider{outline:2px solid var(--primary);outline-offset:2px}.piece-tooltip{position:fixed;z-index:12020;background:var(--card);color:var(--foreground);border:1px solid var(--border);border-radius:8px;padding:10px;min-width:220px;max-width:360px;box-shadow:0 8px 24px rgba(0,0,0,0.18);font-size:12px;pointer-events:auto}.piece-tooltip-title{font-weight:700;margin-bottom:6px;font-size:13px}.piece-tooltip-meta{color:var(--muted-foreground);font-size:12px;line-height:1.35}.piece-tooltip-line{margin-bottom:6px}.piece-tooltip-line strong{font-weight:600;margin-right:6px}.piece-tooltip-hide-btn{margin-top:10px;width:100%;display:flex;align-items:center;justify-content:center;gap:5px;font-size:12px;padding:5px 8px;color:var(--muted-foreground);border-color:var(--border)}.piece-tooltip-hide-btn .material-symbols-outlined{font-size:15px}.piece-tooltip-hide-btn:hover{background:var(--secondary);color:var(--foreground)}#viewInProjectBtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:5px 12px;font-size:12px;font-weight:600;white-space:nowrap;background:var(--primary);color:var(--primary-foreground);border-color:var(--primary);box-shadow:var(--shadow-sm);transition:filter 0.15s ease,transform 0.05s ease}#viewInProjectBtn .btn-text{display:flex;flex-direction:column;align-items:flex-start;min-width:0;line-height:1.2}#viewInProjectBtn .btn-kicker{font-size:9px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;opacity:0.85}#viewInProjectBtn .btn-label{font-size:13px;font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis}#viewInProjectBtn .btn-code{font-size:11.5px;font-weight:500;opacity:0.7}#viewInProjectBtn.is-back{background:var(--card);color:var(--primary);border-color:var(--primary)}#viewInProjectBtn.is-back:hover{background:var(--primary-soft)}#contextBar{grid-row:2;display:flex;align-items:stretch;gap:8px;padding:8px 8px 8px;background:var(--card);border-bottom:1px solid var(--border)}#contextBar[hidden]{display:none}#contextBar #viewInProjectBtn{flex:1 1 auto;min-width:0;justify-content:flex-start;padding:7px 12px}#projectInfoBtn{display:inline-flex;align-items:center;gap:2px;padding:5px 8px;color:var(--foreground);border-color:var(--border)}#projectInfoBtn[hidden]{display:none}#projectInfoBtn .material-symbols-outlined{font-size:18px}#projectInfoBtn .project-info-chevron{font-size:16px;color:var(--muted-foreground);transition:transform 0.2s ease}#projectInfoBtn.is-open{background:var(--secondary)}#projectInfoBtn.is-open .project-info-chevron{transform:rotate(180deg)}.project-info-panel{position:fixed;right:8px;left:auto;z-index:12030;width:min(340px,calc(100vw - 16px));max-height:calc(100vh - 120px);overflow-y:auto;padding:12px 14px 14px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px rgba(0,0,0,0.18);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transform-origin:top right;transition:opacity 0.2s ease,transform 0.2s cubic-bezier(0.22,1,0.36,1),visibility 0.2s ease}.project-info-panel.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.project-info-title{font-size:13px;font-weight:700;color:var(--foreground);margin-bottom:10px}.project-info-list{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;margin:0;font-size:13px}.project-info-list dt{font-size:10px;letter-spacing:0.07em;text-transform:uppercase;color:var(--muted-foreground);padding-top:3px}.project-info-list dd{margin:0;font-weight:500;color:var(--foreground)}.project-info-sub{display:block;font-weight:400;font-size:12px;color:var(--muted-foreground)}.project-info-modules{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.project-info-modules-label{width:100%;font-size:10px;letter-spacing:0.07em;text-transform:uppercase;color:var(--muted-foreground)}.project-info-chip{display:inline-flex;align-items:baseline;gap:6px;padding:5px 9px;font-size:12px;border-radius:var(--control-border-radius);border:1px solid var(--border);background:var(--card);color:var(--foreground);cursor:pointer;text-align:left;max-width:100%}.project-info-code{font-size:11px;color:var(--muted-foreground)}.project-info-chip .project-info-code{flex:0 0 auto}.project-info-chip-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-info-chip:hover{background:var(--secondary)}.project-info-chip.is-current{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);font-weight:600}.project-info-chip.is-current .project-info-code{color:inherit;opacity:0.6;font-weight:400}#viewInProjectBtn[hidden]{display:none}#viewInProjectBtn:hover{background:var(--primary);filter:brightness(1.06)}#viewInProjectBtn:active{transform:scale(0.97)}#viewInProjectBtn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}#viewInProjectBtn .material-symbols-outlined{font-size:18px}body.view3d-project-mode #explodeBar,body.view3d-project-mode #showAllBtn{display:none !important}#showAllBtn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:5px 10px;font-size:12px;color:var(--foreground);border-color:var(--border)}#showAllBtn .material-symbols-outlined{font-size:18px}#showAllBtn:disabled{pointer-events:auto;cursor:not-allowed;opacity:0.45}@media (max-width:760px){#contextBar #viewInProjectBtn{padding:7px 10px}.project-info-panel{left:8px;right:8px;width:auto;max-width:none;max-height:calc(100vh - 150px)}#fabMenu{right:12px;bottom:16px;flex-direction:column-reverse;align-items:flex-end;gap:10px}.fab-panel{right:0;bottom:calc(var(--control-fab-size) + 10px);flex-direction:column;align-items:center;gap:8px;min-height:0;width:calc(var(--control-button-size) + 6px);padding:8px;transform:translateY(24px);transform-origin:right bottom}.fab-panel.open{transform:translateY(0)}.fab-panel .fab-sep{width:calc(var(--control-button-size) - 8px);height:1px;margin:2px auto}#fabMenu.fab-pos-bl,#fabMenu.fab-pos-tl{left:12px;right:auto;align-items:flex-start}#fabMenu.fab-pos-tr,#fabMenu.fab-pos-tl{top:calc(56px + var(--context-bar-h,0px));bottom:auto}#fabMenu.fab-pos-bl .fab-panel,#fabMenu.fab-pos-tl .fab-panel{left:0;right:auto}#fabMenu.fab-pos-bl .fab-panel{top:auto;bottom:calc(var(--control-fab-size) + 10px);transform:translateY(24px);transform-origin:left bottom}#fabMenu.fab-pos-bl .fab-panel.open{transform:translateY(0)}#fabMenu.fab-pos-tr .fab-panel,#fabMenu.fab-pos-tl .fab-panel{bottom:auto;top:calc(var(--control-fab-size) + 10px);transform:translateY(-24px)}#fabMenu.fab-pos-tr .fab-panel{transform-origin:right top}#fabMenu.fab-pos-tl .fab-panel{transform-origin:left top}#fabMenu.fab-pos-tr .fab-panel.open,#fabMenu.fab-pos-tl .fab-panel.open{transform:translateY(0)}}.measure-hud{touch-action:none;overscroll-behavior:contain;position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:12040;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:220px;max-width:min(420px,calc(100vw - 24px));padding:12px 16px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px rgba(0,0,0,0.18);text-align:center}.measure-hud-value{font-size:26px;font-weight:700;line-height:1.1;color:var(--primary);font-variant-numeric:tabular-nums}.measure-hud-hint{font-size:13px;color:var(--secondary-foreground)}.measure-hud-actions{display:flex;gap:10px;margin-top:6px;width:100%}.measure-hud-btn{flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:10px 14px;font-size:14px;font-weight:600;white-space:nowrap;border-radius:var(--control-border-radius);border:1px solid var(--line-strong,var(--input));background:var(--card);color:var(--foreground);cursor:pointer;transition:background 0.15s ease,transform 0.05s ease}.measure-hud-btn:hover{background:var(--secondary)}.measure-hud-btn:active{transform:scale(0.97)}.measure-hud-btn-exit{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.measure-hud-btn-exit:hover{background:var(--primary);filter:brightness(1.06)}body.view3d-measure-mode #explodeBar{display:none !important}#measureToggleBtn.active{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.measure-hud-kind{font-size:11px;letter-spacing:0.07em;text-transform:uppercase;color:var(--muted-foreground)}.measure-hud-btn-lock{flex:0 0 auto;width:52px;padding:10px 0}.measure-hud-btn .material-symbols-outlined{font-size:19px}.measure-hud-btn-lock.is-locked{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}