@import url("./isometric-viewcube.css?v=20261014-orientation-v2");
.iso3d-viewer{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;background:#233447;color:#e6f0f7;isolation:isolate}
.iso3d-canvas{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;touch-action:none;outline:none;cursor:grab}
.iso3d-canvas:active{cursor:grabbing}.iso3d-viewer[data-mode=pan] .iso3d-canvas{cursor:move}.iso3d-canvas:focus-visible{outline:2px solid #45c1c9;outline-offset:-3px}
.iso3d-toolbar{position:absolute;z-index:2;bottom:40px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:5px;max-width:calc(100% - 24px);width:max-content;padding:7px;background:rgba(14,28,41,.94);border:1px solid #426078;border-radius:15px;box-shadow:0 8px 30px #030a1280;backdrop-filter:blur(15px);font:12px/1.2 system-ui,sans-serif}
.iso3d-control-group{display:flex;align-items:center;gap:3px;flex-shrink:0}.iso3d-control-group+.iso3d-control-group{border-left:1px solid #365063;padding-left:6px}
.iso3d-toolbar button,.iso3d-toolbar select{appearance:none;min-height:36px;margin:0;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 9px;border:1px solid transparent;border-radius:8px;color:#e6f0f7;background:transparent;font:inherit;font-weight:550;white-space:nowrap;cursor:pointer;box-shadow:none}
.iso3d-toolbar select{max-width:115px;background:#192f42;padding-right:20px;background-image:linear-gradient(45deg,transparent 50%,#b9d3e3 50%),linear-gradient(135deg,#b9d3e3 50%,transparent 50%);background-position:calc(100% - 10px) 16px,calc(100% - 6px) 16px;background-size:4px 4px;background-repeat:no-repeat}
.iso3d-toolbar select option{background:#132838;color:#e6f0f7}.iso3d-toolbar button:hover{background:#294356;color:#fff}.iso3d-toolbar button[aria-pressed=true]{background:#164951;color:#87edf0;border-color:#2c717a}.iso3d-toolbar button:focus-visible,.iso3d-toolbar select:focus-visible{outline:2px solid #61d5da;outline-offset:1px}.iso3d-toolbar button svg{width:17px;height:17px;flex:0 0 17px}
.iso3d-hint{position:absolute;bottom:12px;left:12px;right:12px;text-align:center;color:#afc4d5;pointer-events:none;font:11px/1.4 system-ui,sans-serif;text-shadow:0 1px 4px #06111d}
.iso3d-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:650px){.iso3d-toolbar{bottom:49px;gap:4px;padding:5px;flex-wrap:wrap;width:max-content;max-width:calc(100% - 16px)}.iso3d-control-group{gap:1px}.iso3d-control-group+.iso3d-control-group{padding-left:3px}.iso3d-toolbar button,.iso3d-toolbar select{min-height:38px;padding:7px 8px}.iso3d-toolbar button span{display:none}.iso3d-toolbar select{padding-right:20px;max-width:99px}.iso3d-toolbar [data-viewer-command=projection]{font-size:11px}.iso3d-hint{bottom:11px;font-size:10px;max-width:320px;left:50%;right:auto;transform:translateX(-50%);width:90%}}
@media(prefers-reduced-motion:reduce){.iso3d-toolbar{backdrop-filter:none}}
/* Review panels occupy the model only while opened. Native controls remain scoped. */
.iso3d-review{position:absolute;top:12px;left:12px;z-index:3;width:320px;max-width:calc(100% - 174px);font:12px/1.4 system-ui,sans-serif;color:#dfebf5}
.iso3d-review [hidden],.iso3d-measure-result[hidden]{display:none!important}
.iso3d-review-tabs{display:flex;gap:4px;padding:5px;border:1px solid #416078;border-radius:12px;background:#0f2132ed;box-shadow:0 6px 22px #02081266;width:max-content;max-width:100%}
.iso3d-review button,.iso3d-review input,.iso3d-review select{box-sizing:border-box;font:inherit;margin:0;color:#edf6ff;border:1px solid #38556e;border-radius:7px;background:#192f43;box-shadow:none;min-width:0}
.iso3d-review button{padding:8px 10px;cursor:pointer;min-height:35px;text-align:left;line-height:1.3}
.iso3d-review button:hover{background:#294b63}.iso3d-review button:disabled{opacity:.45;cursor:default}
.iso3d-review button[aria-expanded=true],.iso3d-review button[aria-pressed=true]{border-color:#3ab3bc;color:#a0f1ed;background:#184953}
.iso3d-review button:focus-visible,.iso3d-review input:focus-visible,.iso3d-review select:focus-visible{outline:2px solid #79d5df;outline-offset:1px}
.iso3d-review-body{margin-top:6px;padding:14px;border:1px solid #416078;border-radius:12px;background:#0e2133f5;box-shadow:0 10px 30px #02081280;max-height:calc(100dvh - 300px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#48677d #12263a}
.iso3d-review h3{font:600 14px/1.4 system-ui,sans-serif;color:#f3f8fc;margin:0 0 10px}.iso3d-review p{font:11px/1.5 system-ui,sans-serif;color:#aec6d9;margin:9px 0 12px}.iso3d-review label{display:block;margin:8px 0;color:#dce9f3}.iso3d-review label>select,.iso3d-review label>input:not([type=checkbox]){display:block;width:100%;padding:8px;margin-top:5px}
.iso3d-review select option{background:#192f43;color:#edf6ff}.iso3d-review input[type=range]{accent-color:#51c3cc;padding:2px!important}.iso3d-review input[type=checkbox]{width:16px;height:16px;flex:0 0 16px;accent-color:#5fd2d5;appearance:auto}
.iso3d-review .iso3d-checkbox,.iso3d-review .iso3d-system-row{display:flex;align-items:center;gap:8px}.iso3d-system-row i{display:block;width:11px;height:11px;border-radius:50%;border:1px solid #b1c4d155;flex:0 0 11px}.iso3d-review-actions{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0 12px}.iso3d-review summary{cursor:pointer;color:#def1ff;padding:8px 0}.iso3d-review output{display:block;color:#ffe29b;line-height:1.7}
.iso3d-object-list{margin:8px 0;max-height:260px;overflow:auto;overscroll-behavior:contain}.iso3d-object-row{display:flex;align-items:center;gap:6px;margin:5px 0}.iso3d-object-row button:first-of-type{flex:1;overflow:hidden;min-width:0}.iso3d-object-row strong,.iso3d-object-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iso3d-object-row small{font-size:10px;line-height:1.6;color:#a8c6dd}.iso3d-review-close{width:100%;margin-top:12px!important;text-align:center!important}.iso3d-fly-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.iso3d-fly-pad button{text-align:center}
.iso3d-measure-result{position:absolute;left:12px;bottom:105px;max-width:calc(100% - 24px);z-index:2;border:1px solid #b8944f;background:#152538eb;color:#ffe29b;font:12px/1.5 system-ui,sans-serif;border-radius:8px;padding:8px 12px;pointer-events:none}
.iso3d-viewer[data-measuring=true] .iso3d-canvas{cursor:crosshair}.iso3d-viewer[data-mode=fly] .iso3d-canvas{cursor:crosshair}
@media(max-width:650px){.iso3d-review{top:8px;left:8px;width:300px;max-width:calc(100% - 78px)}.iso3d-review-tabs{gap:2px;padding:4px}.iso3d-review-tabs button{font-size:11px;padding:7px 8px;min-height:37px}.iso3d-review-body{max-height:calc(100dvh - 290px);padding:10px}.iso3d-review button{min-height:38px}.iso3d-measure-result{bottom:155px;font-size:11px}.iso3d-object-list{max-height:180px}}
.iso3d-review{display:flex;flex-direction:column;max-height:calc(100% - 165px)}.iso3d-review-tabs{flex:0 0 auto}.iso3d-review-body{min-height:0;flex:0 1 auto}
@media(max-width:650px){.iso3d-review{max-height:calc(100% - 185px)}}

.iso3d-reference-warning{position:absolute;top:70px;left:14px;max-width:min(520px,calc(100% - 28px));padding:9px 12px;border:1px solid #f0bf61;border-radius:8px;background:#392e18;color:#fff0ca;font-size:12px;z-index:3;pointer-events:none}

/* Keep phone navigation in one rail; overflow remains touch-scrollable. */
@media(max-width:700px),(max-width:950px) and (max-height:500px){
 .iso3d-toolbar{left:8px;right:8px;bottom:32px;transform:none;width:auto;max-width:none;justify-content:flex-start;flex-wrap:nowrap;gap:4px;padding:5px;overflow-x:auto;overscroll-behavior-x:contain;touch-action:pan-x;scrollbar-width:thin;border-radius:12px}
 .iso3d-toolbar .iso3d-control-group{flex:0 0 auto}
 .iso3d-toolbar button,.iso3d-toolbar select{min-height:40px;min-width:36px;padding:7px 8px;font-size:12px}
 .iso3d-toolbar button span{display:none}
 .iso3d-toolbar select{font-size:16px;max-width:113px;padding-right:21px}
 .iso3d-hint{bottom:9px;left:8px;right:8px;transform:none;width:auto;max-width:none;font-size:10px}
 .iso3d-review{top:8px;left:8px;width:300px;max-width:calc(100% - 162px);max-height:calc(100% - 96px)}
 .iso3d-review-tabs{box-sizing:border-box;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:2px;padding:3px}
 .iso3d-review-tabs button{flex:1;min-width:0;min-height:40px;padding:6px 5px;font-size:11px;text-align:center}
 .iso3d-review-body{max-height:none;padding:10px}
 .iso3d-review input:not([type=checkbox]):not([type=range]),.iso3d-review select{font-size:16px;min-height:40px}
 
 .iso3d-measure-result{bottom:92px;left:8px;max-width:calc(100% - 16px)}
}
/* Short embedded previews use one orientation rail instead of covering the
   bottom navigation. This follows the actual viewer height, not the phone. */





.iso3d-viewer[data-short-viewport=true] .iso3d-review{top:66px;max-width:calc(100% - 24px);max-height:calc(100% - 158px)}
.iso3d-viewer[data-short-viewport=true] .iso3d-review-tabs{display:flex}
.iso3d-viewer[data-short-viewport=true] .iso3d-review-tabs button{flex:1}

/* Controls remain readable against either model background. */
.iso3d-viewer[data-appearance=light] .iso3d-hint{color:#223e53;text-shadow:0 1px 2px #fff}
.iso3d-viewer[data-short-viewport=true] .iso3d-review{top:8px;max-width:calc(100% - 148px);max-height:calc(100% - 96px)}
.iso3d-viewer[data-short-viewport=true] .iso3d-review-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
/* Authoring stays on the same model, with a distinct active plane and live pipe. */
.iso3d-viewer[data-editing=true] .iso3d-canvas{cursor:crosshair}
.iso3d-edit-status{position:absolute;left:12px;right:12px;bottom:100px;z-index:2;margin:auto;width:fit-content;max-width:calc(100% - 24px);box-sizing:border-box;border:1px solid #3a807f;border-radius:10px;padding:8px 12px;background:#102f3aed;color:#b9fff2;font:12px/1.4 system-ui,sans-serif;text-align:center;pointer-events:none;box-shadow:0 4px 16px #0005}
.iso3d-edit-status[hidden]{display:none!important}
.iso3d-viewer[data-editing=true] .iso3d-hint{color:#b9fff2}
@media(max-width:650px){.iso3d-edit-status{bottom:153px;font-size:10px;padding:6px 9px;left:8px;right:8px;max-width:calc(100% - 16px)}}
.iso3d-viewer[data-short-viewport=true] .iso3d-edit-status{bottom:115px;max-width:calc(100% - 24px);font-size:10px}
