@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@500&display=swap');
#unsupportedDevice{border:0;margin:0;padding:24px;width:100vw;max-width:none;height:100dvh;max-height:none;background:#f4f6f7;color:#18212b;overflow:auto}#unsupportedDevice[open]{display:grid;place-items:center}#unsupportedDevice::backdrop{background:#f4f6f7}.device-notice{width:100%;max-width:430px;text-align:center}.device-notice img{width:120px;height:120px;object-fit:contain}.device-company-name{font-size:clamp(21px,5.5vw,28px);font-weight:700;line-height:1.2;color:#1e3c52;margin:14px 0 6px}.device-app-name{font-size:18px;font-weight:700;color:#415d72;margin:0 0 28px}.device-notice h1{font-size:24px;line-height:1.25;margin:0 0 14px}.device-notice p:last-child{font-size:16px;line-height:1.6;margin:0;color:#526472}

:root{
  --ink:#18212b;--muted:#778392;--line:#dfe4e9;--panel:#f8fafb;--white:#fff;
  --accent:#e95f2a;--accent-dark:#d84b18;--navy:#1e3c52;--vent:#111820;--supply:#3189c8;
}
*{box-sizing:border-box}
body{margin:0;font-family:"DM Sans",sans-serif;color:var(--ink);background:#e9edf0;overflow:hidden}
button,input,select{font:inherit}
button{cursor:pointer}
.topbar{height:104px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:20px;padding:0 22px;position:relative;z-index:3}
.brand{display:flex;align-items:center;gap:16px;flex-shrink:0}
.brand-logo{width:94px;height:94px;object-fit:contain;flex-shrink:0}
.brand strong{display:block;font-size:34px;line-height:1.1;letter-spacing:-.5px;white-space:nowrap}.brand small{display:block;font-size:18px;line-height:1.2;letter-spacing:1px;color:#617789;font-weight:700;margin-top:7px}
.project-title{margin-left:auto;text-align:center}
.project-title input{border:0;text-align:center;font-weight:600;color:#263441;width:240px;background:transparent;outline:0}
.project-title span{display:block;font-size:10px;color:#94a0ab;margin-top:2px}
.top-actions{margin-left:auto;display:flex;gap:8px;align-items:center}
.top-actions button{height:36px;border-radius:6px;border:1px solid var(--line);background:#fff;padding:0 14px;color:#44515e;font-size:12px;font-weight:600}
.top-actions .icon-btn{width:35px;padding:0;font-size:20px}
#helpBtn:hover{background:#edf5fb;border-color:#9ab4c8}#helpBtn:focus-visible{outline:2px solid #3479b8;outline-offset:2px}.help-dropdown{position:fixed;inset:auto;margin:0;width:205px;max-width:calc(100vw - 16px);padding:6px;background:white;border:1px solid var(--line);border-radius:7px;box-shadow:0 7px 24px #18212b26}.help-dropdown button{font-family:inherit;font-size:12px;font-weight:600;width:100%;height:auto;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;padding:10px 8px;text-align:left;background:#f8fafb;cursor:pointer;color:#243d4c}.help-dropdown button+button{margin-top:4px}.help-dropdown small{font-size:9px;font-weight:400;color:#82919d}.help-dropdown button:disabled{cursor:not-allowed;color:#82919d}.help-dropdown button:hover:not(:disabled){background:#edf5fb}
.top-actions .primary{background:var(--accent);border-color:var(--accent);color:#fff;display:flex;align-items:center;gap:7px}
.top-actions .primary:hover{background:var(--accent-dark)}.top-actions svg{width:15px;fill:none;stroke:currentColor;stroke-width:2}
.divider{height:25px;border-left:1px solid var(--line);margin:0 3px}
#exportFormat{height:36px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#44515e;padding:0 8px;font-size:12px}
main{height:calc(100vh - 104px);display:grid;grid-template-columns:258px 1fr 272px}
.left-panel,.right-panel{background:#fff;position:relative;z-index:2;overflow:auto}
.left-panel{border-right:1px solid var(--line);padding:19px 17px}.right-panel{border-left:1px solid var(--line)}
.panel-heading,.library-title{display:flex;justify-content:space-between;align-items:center;color:#8b96a1;font-size:9px;font-weight:700;letter-spacing:1.4px}
.panel-heading button,.library-title button{border:0;background:transparent;color:#89949e;font-size:22px}
.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:13px 0 24px}
.tool{height:66px;border:1px solid #e1e5e9;border-radius:6px;background:#fff;display:grid;grid-template-columns:27px 1fr;grid-template-rows:1fr 1fr;align-items:center;text-align:left;padding:10px;position:relative;color:#4d5a66}
.tool svg{grid-row:1/3;width:19px;fill:none;stroke:currentColor;stroke-width:1.8}
.tool span{font-size:11px;font-weight:600}.tool kbd{font-size:13px;font-weight:700;color:#637180}
.tool.active{background:#fff5f1;color:var(--accent);border-color:#f3a789;box-shadow:inset 0 0 0 1px #f6c3ae}
.search{height:35px;border:1px solid var(--line);display:flex;align-items:center;border-radius:5px;padding:0 9px;margin:11px 0 15px}
.search svg{width:15px;fill:none;stroke:#83909c;stroke-width:1.7}.search input{border:0;outline:0;width:100%;font-size:11px;padding-left:7px}
.component-section p,.form-section>p{font-size:9px;color:#9aa4ae;font-weight:700;letter-spacing:1px;margin:13px 0 8px}
.components{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.component{height:64px;border:1px solid #e4e8eb;background:#fff;border-radius:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#56626e;font-size:9px}
.component:hover,.component.active{border-color:#ee8c65;background:#fff7f4;color:var(--accent)}
.fixture-icon{font-family:serif;font-size:24px;line-height:22px;color:#596b78}
.vent-stack-icon{width:14px;height:28px;fill:none;stroke:currentColor;stroke-width:1.6;flex-shrink:0}.vent-stack-symbol{stroke:#111820;filter:none}
.tie-existing-arrow{fill:none;stroke:#344d60;stroke-width:calc(2.4px * var(--drawing-zoom,1));stroke-linecap:round;stroke-linejoin:round}.fixture-group.selected .tie-existing-arrow{stroke:var(--accent)}
.component.active .fixture-icon{color:var(--accent)}
.tips{margin:14px 12px;padding:16px;background:#fff5e9;border:1px solid #f2c49f;border-left:5px solid var(--accent);border-radius:7px;box-shadow:0 3px 12px #b85c1820}
.tips span{display:block;font-size:11px;font-weight:700;color:#b74412;letter-spacing:1.3px}.tips strong{display:block;font-size:16px;line-height:1.3;margin-top:9px;color:#263c4b}.tips p{font-size:13px;color:#4b5a66;line-height:1.6;margin:7px 0 0}.tips kbd,.canvas-hint kbd{background:#fff;border:1px solid #d5dce1;border-radius:3px;padding:1px 4px}
.workspace{min-width:0;display:flex;flex-direction:column}
.canvas-bar{height:47px;background:#fafbfc;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 17px;justify-content:space-between}
.drawing-meta{font-size:11px;display:flex;align-items:center;gap:9px}.drawing-meta span:last-child{color:#8b97a2;border-left:1px solid #dce1e5;padding-left:9px}
#planTitle{font-family:inherit;font-size:11px;font-weight:700;color:inherit;width:170px;max-width:100%;min-width:0;height:26px;padding:3px 5px;border:1px solid transparent;border-radius:4px;background:transparent;text-overflow:ellipsis}#planTitle:hover{border-color:var(--line)}#planTitle:focus{outline:2px solid #3479b8;outline-offset:1px;background:white}
.status-dot{width:7px;height:7px;border-radius:50%;background:#4faf7e}
.view-controls{display:flex;align-items:center;gap:5px;font-size:10px;color:#64717d}.view-controls button{border:1px solid var(--line);background:white;height:26px;min-width:27px;color:#65727e}.view-controls #zoomLabel{width:44px;text-align:center;font-family:"JetBrains Mono";font-size:9px}
.rotate-controls{display:flex;align-items:center;margin-right:7px;border-right:1px solid var(--line);padding-right:9px}.rotate-controls button{border-radius:0}.rotate-controls button:first-child{border-radius:4px 0 0 4px}.rotate-controls button:last-child{border-radius:0 4px 4px 0}.rotate-controls #viewAngle{width:58px;height:26px;display:grid;place-items:center;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:"JetBrains Mono";font-size:8px;color:#596773}
.toggle-label{display:flex;align-items:center;gap:6px;margin-left:8px}.toggle-label input{display:none}.toggle-label span{width:25px;height:14px;border-radius:8px;background:#c4ccd3;position:relative}.toggle-label span:after{content:"";position:absolute;width:10px;height:10px;top:2px;left:2px;border-radius:50%;background:white;transition:.2s}.toggle-label input:checked+span{background:var(--accent)}.toggle-label input:checked+span:after{left:13px}
#canvasWrap{position:relative;flex:1;min-height:0;background:#f4f6f7;overflow:hidden}
#drawing{width:100%;height:100%;display:block;cursor:default;touch-action:none}
#drawing.pipe-mode{cursor:crosshair}#drawing.erase-mode{cursor:not-allowed}
#drawing.pan-ready{cursor:grab}#drawing.panning{cursor:grabbing}
#drawing.orbit-ready,#drawing.orbiting{cursor:move}
.connection-dot{fill:#e95f2a;stroke:white;stroke-width:2;pointer-events:none}
.preview-label{pointer-events:none}
.direction-compass .diagonal-direction-key{display:block;color:#8661b0;margin-top:5px;font-size:9px}
.grid-line{stroke:#d7dde4;stroke-width:.7;vector-effect:non-scaling-stroke}.grid-line.major{stroke:#bec8d1;stroke-width:1}.axis-label{font-family:"JetBrains Mono";font-size:11px;font-weight:700;paint-order:stroke;stroke:#f4f6f7;stroke-width:3}
.canvas-hint{position:absolute;top:14px;left:50%;transform:translateX(-50%);background:#1f2d38e8;color:#e9eef1;font-size:10px;padding:7px 11px;border-radius:5px;opacity:0;transition:.2s;pointer-events:none}.canvas-hint.visible{opacity:1}
.legend{position:absolute;left:17px;bottom:15px;background:#fff;border:1px solid #dfe4e8;border-radius:5px;padding:8px 11px;display:flex;gap:14px;font-size:9px;color:#687581;box-shadow:0 2px 10px #25374610}
.legend .phone-compatibility-note{display:none;position:absolute;top:calc(100% + 3px);left:0;margin:0;font-size:8px;line-height:10px;white-space:nowrap;color:#526472;pointer-events:none}
.legend span{display:flex;align-items:center;gap:5px}.swatch{width:12px;height:3px;border-radius:2px;background:var(--navy)}.swatch.vent{height:4px;background:repeating-linear-gradient(90deg,#111820 0 2px,transparent 2px 5px)}.swatch.supply{background:var(--supply)}
.coordinates{position:absolute;right:13px;bottom:14px;font-family:"JetBrains Mono";font-size:8px;color:#8995a0;background:#f9fbfbe6;padding:5px}
.direction-compass{position:absolute;right:14px;top:14px;width:180px;background:#fffffff0;border:1px solid #dfe4e8;border-radius:7px;box-shadow:0 2px 10px #25374610;text-align:center;pointer-events:none;padding:10px 0}.direction-compass>span{font-size:8px;font-weight:700;letter-spacing:1px;color:#788591}.direction-compass svg{display:block;width:180px;height:160px}.direction-compass small{font-size:9px;color:#788591}.compass-label{font-family:"DM Sans",sans-serif;font-size:11px;font-weight:700;paint-order:stroke;stroke:#fff;stroke-width:4;stroke-linejoin:round}
.pipe{fill:none;stroke:var(--navy);stroke-width:6.4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0px 3px 4px rgb(0 0 0 / 18%));cursor:pointer;vector-effect:non-scaling-stroke}.pipe.waste.vertical-run{stroke:#102f43;stroke-width:8;filter:none}.pipe.vent{stroke:#111820;stroke-width:4;stroke-dasharray:1 11;filter:none}.pipe.supply{stroke:var(--supply);stroke-width:4.8}.pipe-hit{fill:none;stroke:transparent;stroke-width:20;cursor:pointer;vector-effect:non-scaling-stroke}.pipe.selected{stroke:var(--accent)!important;filter:none}.riser-casing{stroke:#f4f6f7;stroke-width:16;stroke-linecap:round;pointer-events:none;vector-effect:non-scaling-stroke}.pipe-highlight{stroke:#fff;stroke-opacity:.55;stroke-width:1.2;stroke-linecap:round;pointer-events:none;vector-effect:non-scaling-stroke}.pipe-size{font-family:"DM Sans";font-size:10px;font-weight:700;fill:#47545f;paint-order:stroke;stroke:#f4f6f7;stroke-width:4;stroke-linejoin:round;pointer-events:none}
.fixture-group{cursor:pointer}.fixture-shape{fill:#fff;stroke:#344d60;stroke-width:1.6;filter:url(#softShadow)}.fixture-group.selected .fixture-shape{stroke:var(--accent);stroke-width:2.4}.toilet-branch{stroke:#344d60;stroke-width:6.4;stroke-linecap:butt;vector-effect:non-scaling-stroke}.ptrap-symbol{fill:none;stroke:#344d60;stroke-width:6.4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.fixture-group.selected .toilet-branch,.fixture-group.selected .ptrap-symbol{stroke:var(--accent)}.fixture-label-leader{stroke:#8a98a3;stroke-width:.8;vector-effect:non-scaling-stroke}.fixture-label{font-size:9px;font-weight:600;fill:#44535f;text-anchor:start;paint-order:stroke;stroke:#f4f6f7;stroke-width:3}
/* Geometry is projected in JavaScript, so scale drafting strokes explicitly. */
#drawing .pipe,#drawing .toilet-branch,#drawing .ptrap-symbol{stroke-width:calc(6.4px * var(--drawing-zoom,1) * var(--drawing-line-scale,1))}
#drawing .pipe.waste.vertical-run{stroke-width:calc(8px * var(--drawing-zoom,1) * var(--drawing-line-scale,1))}
.pipe.vent{stroke-dasharray:8 6;stroke-linecap:butt}
#drawing .pipe.vent{stroke-width:calc(4px * var(--drawing-zoom,1) * var(--drawing-line-scale,1));stroke-dasharray:calc(8px * var(--drawing-zoom,1)) calc(6px * var(--drawing-zoom,1))}
.swatch.vent{width:20px;height:3px;border-radius:0;background:repeating-linear-gradient(90deg,#111820 0 8px,transparent 8px 14px)}
#drawing .pipe.supply{stroke-width:calc(4.8px * var(--drawing-zoom,1) * var(--drawing-line-scale,1))}
#drawing .fixture-shape{stroke-width:calc(1.6px * var(--drawing-zoom,1))}
#drawing .fixture-group.selected .fixture-shape{stroke-width:calc(2.4px * var(--drawing-zoom,1))}
#drawing .fixture-label-leader{stroke-width:calc(.8px * var(--drawing-zoom,1))}
#drawing .pipe-highlight{stroke-width:calc(1.2px * var(--drawing-zoom,1))}
.annotation{font-size:12px;font-weight:600;fill:#263845;paint-order:stroke;stroke:#fff;stroke-width:4;cursor:pointer}.annotation.selected{fill:var(--accent)}
.preview{stroke:var(--accent);stroke-width:5;stroke-dasharray:7 5;fill:none}.snap-point{fill:#fff;stroke:var(--accent);stroke-width:2}
.inspector-head{height:65px;padding:14px 17px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.inspector-head span{font-size:8px;letter-spacing:1.3px;color:#9aa4ad;font-weight:700;display:block}.inspector-head strong{font-size:12px;display:block;margin-top:4px}.inspector-head button{border:0;background:transparent;font-size:20px;color:#8c97a0}
#emptyInspector{text-align:center;padding:42px 28px;color:#89959f;display:none}.empty-icon{font-size:38px;color:#c0c8cf}#emptyInspector strong{display:block;color:#5f6c77;font-size:12px}#emptyInspector p{font-size:10px;line-height:1.5}
.form-section{padding:15px 17px;border-bottom:1px solid var(--line)}.form-section label{font-size:9px;color:#717e89;display:block;margin:10px 0}.form-section input,.form-section select{display:block;width:100%;height:34px;border:1px solid #dfe4e8;border-radius:4px;background:#fff;margin-top:5px;padding:0 9px;font-size:11px;color:#34424d;outline:0}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:16px}.stats div{background:#f5f7f8;border-radius:5px;padding:12px}.stats strong{display:block;font-size:20px;color:#304553}.stats span{font-size:9px;color:#8b96a0}
#fixtureRotationField[hidden]{display:none}
.form-section label[hidden]{display:none!important}
.waterline-settings{display:block;margin:8px 0 16px;font-size:11px;color:#526575}.waterline-settings[hidden]{display:none}.waterline-settings select{display:block;width:100%;margin-top:6px;padding:7px;border:1px solid var(--line);border-radius:4px;background:white;color:#344d60;font:inherit}
.swatch.hot{background:#d93636}.swatch.recirc{background:#e87924}
#pipeColorField[hidden]{display:none}.pipe-color-controls{display:flex;align-items:center;gap:8px}.form-section .pipe-color-controls input{width:48px;height:34px;padding:3px;margin:0;cursor:pointer}.pipe-color-controls button{flex:1;height:34px;border:1px solid var(--line);border-radius:4px;background:white;color:#44515e;font-size:10px}
.pipe-color-controls #applyPipeColor{flex:0 0 48px;background:var(--accent);border-color:var(--accent);color:white;font-weight:700}
.form-section .size-visibility{display:flex;align-items:center;gap:7px;font-size:11px}.form-section .size-visibility input{width:15px;height:15px;margin:0;accent-color:var(--accent)}.form-section .size-visibility[hidden]{display:none}
.trap-rotation-actions{display:flex;gap:6px;margin-top:9px}.trap-rotation-actions button{flex:1;padding:8px 4px;background:#fff;border:1px solid var(--line);border-radius:4px;color:#344d60;font-size:11px}.trap-rotation-actions button:hover{background:#fff5f1;border-color:var(--accent);color:var(--accent)}
.selection-actions{display:flex;gap:7px;padding:15px 17px}.selection-actions button{flex:1;height:34px;border:1px solid var(--line);background:#fff;border-radius:4px;font-size:10px}.selection-actions .danger{color:#c6483d;border-color:#efcbc7}
.right-panel footer{position:static;margin-top:16px;width:100%;padding:12px;text-align:center;font-size:8px;color:#a0a9b1;border-top:1px solid var(--line)}
#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,15px);background:#1d2b36;color:#fff;border-radius:5px;padding:9px 14px;font-size:11px;opacity:0;transition:.25s;z-index:10;pointer-events:none}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1350px){.project-title{display:none}}
@media(max-width:1050px){.topbar{height:142px;flex-wrap:wrap;gap:0;padding-bottom:8px}.brand{width:100%;height:100px}.top-actions{margin-left:110px}main{height:calc(100vh - 142px)}}
@media(max-width:950px){main{grid-template-columns:220px 1fr}.right-panel{display:none}}
@media(max-width:700px){main{grid-template-columns:1fr}.left-panel{position:absolute;left:0;top:142px;bottom:0;width:220px;transform:translateX(-100%)}.top-actions .secondary,.top-actions .icon-btn,.divider{display:none}.brand strong{font-size:clamp(14px,3.7vw,26px)}.brand{gap:8px}.topbar{padding-left:10px;padding-right:10px}}
.cloudbar{height:54px;padding:5px 18px;display:flex;align-items:center;gap:14px;background:#fff;border-bottom:1px solid var(--line)}
.cloudbar .project-title{display:block;margin:0;text-align:left;min-width:130px}.cloudbar .project-title input{width:210px;text-align:left;font-size:12px}.cloudbar .project-title span{font-size:9px}.google-account{font-size:10px;color:#687581;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cloud-actions{margin-left:auto;display:flex;gap:6px;flex-shrink:0}.cloud-actions button{padding:8px 10px;font-size:10px;background:white;border:1px solid var(--line);border-radius:5px;color:#344d60}.cloud-actions #saveDrive{background:#1e3c52;color:white}.cloud-actions button:disabled{opacity:.5;cursor:default}.cloud-actions [hidden]{display:none}
main{height:calc(100vh - 158px)}
#driveDialog{width:min(560px,90vw);max-height:80vh;border:1px solid var(--line);border-radius:10px;padding:22px;color:var(--ink);box-shadow:0 16px 80px #142a3f33}#driveDialog::backdrop{background:#18212b66}.drive-dialog-heading{display:flex;align-items:center;justify-content:space-between}.drive-dialog-heading h2{font-size:18px;margin:0}.drive-dialog-heading button{background:none;border:0;font-size:24px;color:#687581}#driveDialog p{font-size:12px;color:#687581}.drive-file{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.drive-file strong{font-size:13px;overflow-wrap:anywhere}.drive-file small{display:block;color:#778392;font-size:10px;margin-top:3px}.drive-file button{padding:7px 14px;border:1px solid var(--line);border-radius:5px;background:#f8fafb;color:#344d60}.drive-file-message{font-size:12px;color:#687581;line-height:1.5}
@media(max-width:1050px){main{height:calc(100vh - 196px)}.google-account{display:none}.cloudbar{gap:5px}.cloudbar .project-title input{width:165px}.cloud-actions button{padding:8px 6px}}
@media(max-width:700px){.cloudbar{height:94px;flex-wrap:wrap;padding:6px 10px}.cloudbar .project-title{width:100%}.cloudbar .project-title input{width:100%}.cloud-actions{margin-left:0;gap:4px}.cloud-actions button{font-size:9px;padding:7px 5px}main{height:calc(100vh - 236px)}.left-panel{top:236px}}
.canvas-bar{gap:8px;flex-wrap:wrap;height:auto;min-height:47px;padding-top:8px;padding-bottom:8px}.view-controls{max-width:100%;overflow-x:auto}
.tool.tablet-navigation[hidden]{display:none}
.canvas-bar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.canvas-bar .drawing-meta{min-width:0;flex-wrap:wrap;row-gap:3px}.canvas-bar .view-controls{justify-self:end;min-width:0}.canvas-tools{display:flex;gap:6px;justify-self:center;max-width:100%;overflow-x:auto;scrollbar-width:thin}.canvas-tools .tool{display:flex;align-items:center;gap:6px;height:34px;padding:5px 8px;flex-shrink:0;white-space:nowrap}.canvas-tools .tool svg{width:16px;height:16px;flex-shrink:0}.canvas-tools .tool span{font-size:11px}
@media(max-width:1500px){.canvas-bar .view-controls{grid-column:1/-1;justify-self:center}}
@media(max-width:950px){.canvas-bar{grid-template-columns:minmax(0,1fr)}.canvas-bar .drawing-meta,.canvas-tools,.canvas-bar .view-controls{grid-column:1;justify-self:center}.canvas-bar .drawing-meta{justify-content:center}}
.symbol-disclosure{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;padding:0;background:transparent;color:#8b96a1;font-size:9px;font-weight:700;letter-spacing:1.4px;text-align:left}.symbol-disclosure>span:last-child{font-size:22px;line-height:20px;letter-spacing:0}.symbol-palette[hidden]{display:none}.symbol-palette{position:static;margin-top:10px;width:100%;max-height:min(380px,45vh);overflow:auto;padding:10px;border:1px solid var(--line);border-radius:6px;background:#fafbfc;color:var(--ink)}.symbol-palette #symbolLibrary>p{font-size:9px;letter-spacing:1px;font-weight:700;color:#8b96a1;margin:15px 0 8px}
.symbol-section{margin-top:20px;padding-top:17px;border-top:1px solid var(--line)}.symbol-help{font-size:10px;line-height:1.5;color:#83909c}.symbol-section #symbolLibrary>p{font-size:9px;letter-spacing:1px;font-weight:700;color:#8b96a1;margin:15px 0 8px}.symbol-component svg{width:44px;height:34px;overflow:visible}.legend-symbol{stroke:#344d60;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;fill:none}.legend-symbol-mark{font:700 11px "DM Sans",sans-serif;fill:#344d60;stroke:none}.fixture-group.selected .legend-symbol{stroke:var(--accent)}.fixture-group.selected .legend-symbol-mark{fill:var(--accent)}
.analytics-consent[hidden]{display:none}.analytics-consent{position:fixed;bottom:20px;left:20px;width:min(440px,calc(100vw - 40px));padding:18px;border:1px solid var(--line);border-radius:9px;background:white;box-shadow:0 8px 35px #142a3f30;z-index:15}.analytics-consent strong{font-size:15px}.analytics-consent p{font-size:11px;line-height:1.5;color:#65727e}.analytics-consent a{color:#246a99}.analytics-consent>div{display:flex;gap:8px}.analytics-consent button{font-size:11px;padding:7px 10px;border:1px solid var(--line);background:#f8fafb;border-radius:4px;color:#344d60}.analytics-consent .analytics-close{position:absolute;right:6px;top:4px;border:0;background:transparent;font-size:20px;padding:0 6px}#analyticsPreferences{margin-top:6px;padding:3px 6px;font-size:10px;border:0;background:transparent;color:#526d82;text-decoration:underline}
.canvas-navigation{position:absolute;left:50%;bottom:56px;transform:translateX(-50%);display:flex;gap:7px;max-width:calc(100% - 24px);padding:6px;border:1px solid var(--line);border-radius:8px;background:#fffffff2;box-shadow:0 3px 18px #142a3f20;z-index:2}.canvas-navigation .tool{display:flex;align-items:center;gap:7px;height:36px;padding:6px 10px;white-space:nowrap}.canvas-navigation .tool svg{width:17px;height:17px;flex-shrink:0}.canvas-navigation .tool span{font-size:11px}
#analyticsPreferences{margin-top:0;padding:0;font-size:9px;white-space:nowrap}
.analytics-consent{inset:0;margin:auto;width:min(480px,calc(100vw - 40px));height:fit-content;max-height:calc(100dvh - 40px);overflow:auto;color:var(--ink)}.analytics-consent::backdrop{background:#18212bcc;backdrop-filter:blur(3px)}.analytics-consent #closeAnalyticsPreferences[hidden]{display:none}
body main{grid-template-columns:258px minmax(160px,1fr) 272px;overflow-x:auto}body .left-panel{display:block;position:relative;left:auto;top:auto;bottom:auto;width:auto;transform:none}body .right-panel{display:block}
@media(max-width:950px){body main{grid-template-columns:220px minmax(160px,1fr) 240px}}
@media(max-width:700px){.top-actions{margin-left:0;width:100%;justify-content:flex-end}.top-actions #openDrawingFileBtn{display:block}}
.form-section[hidden]{display:none}.selection-summary{font-size:12px;line-height:1.5;margin:0;padding:16px;color:#44515e}.form-section .selection-help{font-size:10px;line-height:1.5;letter-spacing:0;font-weight:400;color:#778392}#drawing.moving-selection,#drawing.moving-selection *{cursor:grabbing}
.more-fixtures{width:100%;margin-top:9px;padding:8px;border:1px solid #e7b59e;border-radius:5px;background:#fff5ef;color:#ad471c;font-size:11px;font-weight:600}
.fixture-slot{position:relative;min-width:0}.fixture-slot>.component{width:100%;height:100%;min-height:70px}.fixture-slot .component>span:last-child{overflow-wrap:anywhere}.fixture-slot-edit{position:absolute;right:3px;top:3px;width:20px;height:18px;padding:0;border:1px solid var(--line);border-radius:3px;background:#fff;color:#65727e;line-height:12px}.fixture-slot-edit[hidden],#clearFixtureSlot[hidden]{display:none}
#fixtureLibraryDialog{width:min(740px,92vw);max-height:85vh;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:22px;color:var(--ink);box-shadow:0 16px 80px #142a3f33}#fixtureLibraryDialog::backdrop{background:#18212b66}#fixtureLibraryDialog>p{font-size:12px;color:#687581;line-height:1.5}#fixtureLibrarySearch{width:100%;height:35px;padding:0 10px;border:1px solid var(--line);border-radius:5px}.fixture-categories{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.fixture-categories button{padding:7px 9px;border:1px solid var(--line);border-radius:4px;background:white;color:#65727e;font-size:11px}.fixture-categories button[aria-pressed="true"]{background:#fff5ef;border-color:var(--accent);color:var(--accent)}#fixtureLibraryItems{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.library-fixture-card{border:1px solid var(--line);border-radius:5px;overflow:hidden}.library-fixture{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:10px;background:white;border:0;text-align:left;color:#344d60}.library-fixture:hover{background:#fff5ef}.library-fixture-icon{font-family:serif;font-size:26px;width:32px;text-align:center}.library-fixture strong{font-size:12px;display:block}.library-fixture small{display:block;font-size:10px;color:#83909c;margin-top:5px}.remove-library-fixture{border:0;border-top:1px solid var(--line);background:#f8fafb;color:#a45a43;width:100%;padding:6px;font-size:9px}#customFixtureForm[hidden]{display:none}#customFixtureForm{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;background:#f8fafb;padding:14px;border-radius:6px}#customFixtureForm label{font-size:11px;color:#65727e}#customFixtureForm input,#customFixtureForm select{display:block;width:100%;height:34px;margin-top:5px;border:1px solid var(--line);border-radius:4px;padding:0 7px;background:white}#customFixtureForm button{grid-column:1/-1;background:#1e3c52;color:white;border:0;padding:9px;border-radius:4px;font-size:12px}#fixtureLibraryDialog .library-storage-note{font-size:10px;color:#83909c}#fixtureLibraryMessage{color:#a64d24!important}
@media(max-width:550px){#fixtureLibraryItems,#customFixtureForm{grid-template-columns:1fr}}

/* Drawing and Drive information live in the header; the canvas strip follows it. */
body{height:100vh;height:100dvh;display:flex;flex-direction:column}
body>main{height:auto;flex:1;min-height:0;grid-template-rows:minmax(0,1fr);position:relative}
.history-dock[hidden],.history-controls[hidden]{display:none}
.history-dock{position:absolute;left:0;right:0;bottom:56px;height:106px;z-index:1;pointer-events:none}
.history-controls{position:absolute;right:calc(var(--history-panel-clearance) + 12px);bottom:56px;display:flex;gap:7px;padding:6px;background:#fffffff2;border:1px solid var(--line);border-radius:8px;box-shadow:0 2px 10px #25374610;pointer-events:auto;white-space:nowrap}
body>main .history-dock .coordinates{position:absolute;right:12px;bottom:0;white-space:nowrap;pointer-events:none}
/* Reserve expanded Properties width at all times; XYZ text and panel toggles
   cannot move Undo/Redo. A separate row keeps navigation clear as well. */
.history-controls button{display:flex;align-items:center;justify-content:center;gap:7px;width:auto;height:36px;padding:6px 10px;border:1px solid var(--line);border-radius:6px;background:white;color:#44515e;font-size:11px;font-weight:600;line-height:1;cursor:pointer}
.history-action .history-arrow{font-size:20px;line-height:1}
.topbar .top-actions .history-action{display:inline-flex;align-items:center;gap:5px;width:auto;padding:0 9px;font-size:12px}
.history-controls button:focus-visible{outline:2px solid #3479b8;outline-offset:1px}
#historyDivider{display:none}
body .left-panel,body .right-panel{align-self:start;height:fit-content;max-height:100%;min-height:0;overflow-y:auto;border-bottom:1px solid var(--line)}
/* Side panels cover only their own content; the canvas continues underneath. */
body>main{--left-panel-width:258px;--right-panel-width:272px;--history-panel-clearance:272px}
body>main>.workspace{grid-column:1/-1;grid-row:1;min-height:0;position:relative;z-index:0}
body>main>.left-panel{grid-column:1;grid-row:1}
body>main>.right-panel{grid-column:3;grid-row:1}
body>main.properties-minimized>.right-panel>#propertiesContents{display:none}
body>main>.right-panel>.inspector-head{height:var(--canvas-controls-height,50px);padding:0;display:block;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1;background:#fafbfc}
body>main.properties-minimized>.right-panel{border-bottom:0}
body>main>.right-panel #closeInspector{display:block;width:100%;height:100%;padding:8px 12px;text-align:left;font-size:12px;font-weight:700;color:#344d60;border:0;background:#fafbfc;cursor:pointer}
body>main>.right-panel #closeInspector:hover{background:#edf5fb}
body>main>.right-panel #closeInspector:focus-visible{outline:2px solid #3479b8;outline-offset:-2px}
.inspector-context{padding:12px 17px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;color:#344d60}
body>main .canvas-bar{margin-left:var(--left-panel-width);margin-right:var(--right-panel-width)}
body>main .direction-compass{left:calc(var(--left-panel-width) + 14px);right:auto}
body>main .legend{left:calc(var(--left-panel-width) + 17px)}
body>main .coordinates{right:calc(var(--right-panel-width) + 13px)}
@media(max-width:950px){body>main{--left-panel-width:220px;--right-panel-width:240px;--history-panel-clearance:240px}}
.topbar{flex-shrink:0;display:grid;grid-template-columns:minmax(0,1fr) 260px minmax(0,1fr);grid-template-rows:1fr 1fr;gap:2px 14px;height:104px;padding:4px 22px}
.topbar .brand{grid-column:1;grid-row:1/3;width:auto;height:auto;min-width:0}
.topbar .project-title{display:block;grid-column:2;grid-row:1/3;margin:0;min-width:0;width:100%;text-align:center}
.topbar .project-title input{width:100%;font-size:18px;text-align:center}
.editable-title{display:inline-flex;align-items:center;gap:5px;border-bottom:1px dashed #aebbc6;border-radius:3px;cursor:text;max-width:100%;min-width:0}.editable-title:hover,.editable-title:focus-within{border-bottom-color:#3479b8;background:#edf5fb}.filename-field{width:100%}.editable-title input{min-width:0;flex:1}.edit-field-hint{flex-shrink:0;font-size:10px;font-weight:600;white-space:nowrap;color:#526f85;padding-right:4px}.plan-title-field{max-width:100%}.topbar .project-title input:focus{outline:2px solid #3479b8;outline-offset:1px;border-radius:3px}
.topbar .project-title span{font-size:9px;text-align:center}
.topbar .project-title .google-account{display:block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}
#headerPlanSlot[hidden]{display:none}
body.mobile-plan-header .canvas-bar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
body.mobile-plan-header .canvas-bar .canvas-tools{grid-column:2}
body.mobile-plan-header .topbar .project-title .filename-field{display:flex;height:16px;align-items:center}
body.mobile-plan-header .topbar .project-title #projectName{font-size:14px;height:16px;line-height:16px;padding:0}
body.mobile-plan-header .topbar .project-title .filename-field .edit-field-hint{font-size:8px}
body.mobile-plan-header .topbar .project-title .google-account{display:none}
body.mobile-plan-header .topbar .project-title #saveStatus{font-size:7px;line-height:8px;margin-top:1px}
.topbar #headerPlanSlot .drawing-meta{display:flex;justify-content:center;align-items:center;flex-wrap:nowrap;gap:4px;min-width:0;height:16px;font-size:9px}
.topbar #headerPlanSlot .status-dot{display:none}
.topbar #headerPlanSlot .plan-title-field{min-width:0;max-width:100%;gap:2px}
.topbar #headerPlanSlot #planTitle{width:145px;height:16px;padding:0 2px;font-size:9px;line-height:14px;text-align:center}
.topbar #headerPlanSlot .edit-field-hint{font-size:7px;padding-right:2px}
.topbar #headerPlanSlot .drawing-meta>span:last-child{font-size:8px;line-height:12px;white-space:nowrap;margin:0;padding-left:4px;flex-shrink:0}
.topbar .top-actions{grid-column:3;grid-row:1;margin:0;justify-self:end;min-width:0;max-width:100%;white-space:nowrap;overflow-x:auto;scrollbar-width:thin}
.topbar .top-actions>*{flex-shrink:0}
.topbar .cloud-actions{grid-column:3;grid-row:2;margin:0;justify-self:end;min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:thin;white-space:nowrap}
.topbar .cloud-actions button{flex-shrink:0}
@media(max-width:1450px){.topbar{height:146px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:96px 40px}.topbar .brand{grid-column:1;grid-row:1}.topbar .project-title{grid-column:2;grid-row:1;width:min(300px,100%);justify-self:center}.topbar .top-actions{grid-column:1;grid-row:2;justify-self:start}.topbar .cloud-actions{grid-column:2;grid-row:2}}
@media(max-width:1200px){.topbar{height:190px;grid-template-rows:94px 42px 40px}.topbar .brand{grid-column:1/-1;grid-row:1}.topbar .project-title{grid-column:1/-1;grid-row:2}.topbar .top-actions{grid-column:1;grid-row:3}.topbar .cloud-actions{grid-column:2;grid-row:3}}
@media(max-width:700px){.topbar{height:226px;grid-template-columns:minmax(0,1fr);grid-template-rows:94px 42px 34px 34px;gap:3px;padding:4px 10px}.brand strong{font-size:clamp(18px,4.3vw,34px)}.topbar .brand,.topbar .project-title,.topbar .top-actions,.topbar .cloud-actions{grid-column:1}.topbar .top-actions{grid-row:3;width:auto;justify-self:center}.topbar .cloud-actions{grid-row:4;justify-self:center}.topbar .project-title .google-account{display:none}}

/* Keep touch navigation close to the bottom edge on phones and tablets. */
@media (any-pointer:coarse){
  .canvas-navigation{bottom:2px}
  .history-dock{bottom:2px}
}

/* Short landscape touch screens, including phones using Request desktop site. */
@media (orientation:landscape) and (max-height:600px) and (any-pointer:coarse){
  body{overflow-y:auto}
  .topbar{height:70px;grid-template-columns:minmax(0,.9fr) minmax(0,.65fr) minmax(0,1.6fr);grid-template-rows:30px 30px;gap:2px 8px;padding:4px 8px}
  .topbar .brand{grid-column:1;grid-row:1/3;gap:7px}
  .topbar .brand-logo{width:44px;height:44px}
  .topbar .brand strong{font-size:16px;line-height:1.1;white-space:normal;letter-spacing:0}
  .topbar .brand small{font-size:12px;margin-top:4px;letter-spacing:.3px}
  .topbar .project-title{grid-column:2;grid-row:1/3;width:100%;justify-self:stretch}
  .topbar .project-title input{font-size:14px}
  .topbar .project-title .google-account{display:none}
  .topbar .project-title #saveStatus{font-size:8px}
  .topbar .edit-field-hint{font-size:8px}
  .topbar .top-actions{grid-column:3;grid-row:1;width:100%;justify-self:stretch;justify-content:flex-start;gap:5px}
  .topbar .cloud-actions{grid-column:3;grid-row:2;justify-self:stretch;gap:5px}
  .topbar .top-actions button,.topbar #exportFormat{height:27px;font-size:10px;padding:0 7px}
  .topbar .top-actions .secondary,.topbar .top-actions .icon-btn{display:inline-block}
  .topbar .top-actions .icon-btn{width:27px;font-size:18px;padding:0}
  .topbar .cloud-actions button{height:26px;font-size:9px;padding:3px 7px}
  body>main{min-height:280px}
  body>main .canvas-bar{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:10px;height:42px;min-height:42px;padding:4px 9px;overflow-x:auto;overflow-y:hidden}
  .canvas-bar .drawing-meta,.canvas-bar .canvas-tools,.canvas-bar .view-controls{flex-shrink:0;flex-wrap:nowrap;overflow:visible}
  .canvas-bar .canvas-tools .tool{height:30px}
}

/* Keep phone side panels narrow in either orientation, even with a desktop viewport. */
@media (max-width:600px) and (any-pointer:coarse),
       (max-device-width:600px) and (any-pointer:coarse),
       (orientation:landscape) and (max-height:600px) and (any-pointer:coarse){
  body>main{--left-panel-width:64px;--right-panel-width:184px;--history-panel-clearance:184px;grid-template-columns:var(--left-panel-width) minmax(160px,1fr) var(--right-panel-width)}
  body>main>.left-panel{padding:8px 5px;overflow-x:hidden}
  .left-panel .panel-heading,.left-panel .library-title{font-size:6px;letter-spacing:.2px;gap:2px}
  .left-panel .library-title button{font-size:18px;padding:0 2px}
  .left-panel .tool-grid,.left-panel .components{grid-template-columns:minmax(0,1fr);gap:5px}
  .left-panel .tool-grid{margin:6px 0 10px}
  .left-panel .tool{height:46px;padding:4px;display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center}
  .left-panel .tool svg{width:21px;height:21px}
  .left-panel .tool span{display:block;font-size:8px;line-height:1.1;text-align:center}
  .left-panel .tool kbd,.left-panel .search{display:none}
  .left-panel .component{height:auto;min-height:46px;padding:4px 2px;gap:2px;font-size:8px;line-height:1.1;overflow-wrap:anywhere}
  .left-panel .fixture-icon{font-size:21px;line-height:22px}
  .left-panel .fixture-slot>.component{min-height:46px}
  .left-panel .component-section>p{font-size:6px;letter-spacing:.3px;margin:10px 0 5px}
  .left-panel .more-fixtures{font-size:8px;padding:5px 2px;margin-top:6px}
  .left-panel .symbol-section{margin-top:10px;padding-top:8px}
  .left-panel .symbol-disclosure{font-size:6px;letter-spacing:.2px}
  .left-panel .symbol-disclosure>span:last-child{font-size:18px}
  .left-panel .symbol-palette{padding:2px;max-height:none;overflow:visible}
  .left-panel .symbol-help,.left-panel .symbol-palette>.panel-heading{display:none}
  .left-panel .symbol-palette #symbolLibrary>p{font-size:6px;letter-spacing:0;overflow-wrap:anywhere}
  .left-panel .symbol-component svg{width:34px;height:25px}
  .right-panel .inspector-head{height:48px;padding:8px 9px}
  .right-panel .inspector-head strong{font-size:11px}
  .right-panel .tips{margin:7px 6px;padding:8px;border-left-width:3px}
  .right-panel .tips span{font-size:8px;letter-spacing:.5px}
  .right-panel .tips strong{font-size:12px;margin-top:5px}
  .right-panel .tips p{font-size:10px;line-height:1.4;margin:5px 0 0}
  .right-panel .form-section{padding:8px 10px}
  .right-panel .form-section label{margin:7px 0}
  .right-panel .selection-summary{font-size:10px;padding:9px}
  .right-panel footer{display:none}
  body>main>.right-panel>.inspector-head{height:var(--canvas-controls-height,30px)}
  body>main>.right-panel #closeInspector{padding:6px 9px;font-size:10px}
  .right-panel .inspector-context{padding:8px 9px;font-size:11px}
  body>main .direction-compass{width:120px;top:8px;left:calc(var(--left-panel-width) + 8px);right:auto;padding:5px 0;border-radius:5px}
  .direction-compass>span{font-size:7px;letter-spacing:.3px}
  .direction-compass svg{width:118px;height:105px}
  .direction-compass #orbitHint{display:none}
  .direction-compass .diagonal-direction-key{font-size:7px;margin-top:2px}
}
#fullscreenBtn[hidden]{display:none}
body.auth-locked>.topbar,body.auth-locked>main{visibility:hidden;pointer-events:none}
#loginGate{width:min(440px,90vw);max-height:90dvh;overflow:auto;text-align:center;border:1px solid var(--line);border-radius:12px;padding:24px;color:#1e3c52;background:#fff}
#loginGate::backdrop{background:#f4f6f7}
#loginGate img{width:76px;height:76px;object-fit:contain}
#loginGate .login-company{font-size:19px;font-weight:700;margin:8px 0}
#loginGate h1{font-size:21px;margin:6px 0 14px}
#loginGateMessage{font-size:13px;line-height:1.5}
#loginGateButton{padding:10px 18px;border:1px solid #1e3c52;border-radius:6px;background:#1e3c52;color:white;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer}
#loginGateButton:disabled{opacity:.55;cursor:wait}
#loginTakeover{margin:10px 0 0;padding:10px 14px;border:1px solid #1e3c52;border-radius:6px;background:#1e3c52;color:white;font-family:inherit;font-size:12px;cursor:pointer}
#loginTakeover:disabled{opacity:.55;cursor:wait}
#loginGate .login-note{font-size:11px;line-height:1.5;color:#687581;margin:16px 0 0}
.policy-links a{color:#166583;text-decoration:underline}
.help-dropdown .policy-links{max-width:290px;padding:10px 12px;font-size:11px;line-height:1.6;white-space:normal}
#loginHostedLink{display:inline-block;margin-top:12px;font-size:12px}#loginHostedLink[hidden]{display:none}
.login-actions>[hidden]{display:none}
@media (orientation:landscape) and (max-height:600px) and (any-pointer:coarse){
  #loginGate{width:min(720px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 16px);padding:12px 16px}
  #loginGate[open]{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:18px}
  #loginGate .login-brand{min-width:0;padding-right:16px;border-right:1px solid var(--line)}
  #loginGate .login-content{min-width:0}
  #loginGate img{width:48px;height:48px}
  #loginGate .login-company{font-size:16px;line-height:1.15;margin:5px 0}
  #loginGate h1{font-size:18px;line-height:1.15;margin:5px 0 0}
  #loginGateMessage{font-size:11px;line-height:1.3;margin:0 0 8px}
  #loginGate .login-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px}
  #loginGateButton,#loginTakeover,#loginGateLogout{font-family:inherit;font-size:11px;line-height:1.2;margin:0;padding:6px 10px;border-radius:5px}
  #loginGate .login-note{font-size:9px;line-height:1.3;margin:7px 0 0}
  #loginHostedLink{font-size:10px;margin-top:6px}
}
#unsupportedDeviceDescription{font-size:16px;line-height:1.6;margin:0;color:#526472}
#unsupportedDevice .device-disclaimer{font-size:11px;line-height:1.5;margin:28px 0 0;color:#71808d}
.open-file-menu button{cursor:pointer;color:#344d60;min-height:34px;padding:8px}
.open-file-menu button:hover:not(:disabled){background:#edf5fb}
.open-file-menu button:disabled{cursor:not-allowed;color:#82919d}
.open-file-menu button:focus-visible{outline:2px solid #3479b8;outline-offset:-2px}
.view-controls #fullscreenBtn{flex-shrink:0;white-space:nowrap;font:inherit;padding:0 6px;border-radius:4px}
.view-controls #fullscreenBtn[aria-pressed="true"]{background:#edf5fb;border-color:#3479b8;color:#1e3c52}
#homeScreenDialog{width:min(420px,90vw);max-height:85dvh;overflow:auto;padding:18px;border:1px solid var(--line);border-radius:10px;color:var(--ink);box-shadow:0 16px 80px #142a3f33}
#homeScreenDialog::backdrop{background:#18212b66}
#homeScreenDialog h2{font-size:16px;margin:0 0 8px}
#homeScreenDialog p{font-size:12px;line-height:1.5}
#homeScreenDialog button{padding:7px 14px;border:1px solid var(--line);border-radius:5px;background:#1e3c52;color:white}
/* Only phone-sized devices get half-size navigation controls. */
@media (max-width:600px) and (any-pointer:coarse),
       (max-device-width:600px) and (any-pointer:coarse),
       (max-device-height:600px) and (any-pointer:coarse){
  body>main.properties-minimized{--right-panel-width:84px}
  body>main.properties-minimized .canvas-navigation{right:192px}
  body>main .direction-compass{left:calc(var(--left-panel-width) + 8px);right:auto}
  body>main .canvas-hint{left:calc(var(--left-panel-width) + 8px);top:4px;transform:none;height:20px;max-width:calc(100% - var(--left-panel-width) - 16px);padding:2px 5px;font-size:8px;line-height:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:4px}
  body>main .canvas-hint kbd{font-size:8px;padding:0 2px;color:#344d60}
  body>main .canvas-hint.visible~.direction-compass{top:28px}
  .canvas-navigation{left:auto;right:calc(var(--right-panel-width) + 8px);bottom:2px;transform:scale(.5);transform-origin:right bottom}
  body>main .coordinates{display:none}
  .history-controls{padding:3px;gap:3px}
  .history-controls button{width:auto;height:23px;padding:3px 4px;gap:3px;font-size:8px}
  .history-controls .history-arrow{font-size:15px}
  body>main .legend{bottom:2px;display:grid;grid-template-columns:repeat(4,max-content);column-gap:14px;row-gap:2px;padding:3px 8px;line-height:10px}
  .legend .phone-compatibility-note{display:block;position:static;grid-column:1/-1}
  .topbar .top-actions{gap:3px}
  .topbar .top-actions button,.topbar #exportFormat{height:23px;font-size:8px;padding:0 5px;border-radius:4px}
  .topbar .top-actions .icon-btn{width:22px;font-size:15px;padding:0}
  .topbar .top-actions svg{width:11px;height:11px}
  .topbar .top-actions .primary{gap:4px}
  .topbar .top-actions .divider{height:17px;margin:0 1px}
  .topbar #exportFormat{width:84px;min-width:0;padding:0 3px}
  body.mobile-plan-header .topbar .project-title{transform:translateX(-8px)}
  body.mobile-plan-header .topbar .project-title #projectName{font-size:12px}
  body.mobile-plan-header .topbar .project-title .filename-field .edit-field-hint{font-size:7px}
  .topbar #headerPlanSlot #planTitle{width:125px;font-size:8px}
  .topbar #headerPlanSlot .drawing-meta{gap:3px;font-size:8px}
  @media (orientation:landscape){
    /* Two compact control rows; keep branding and drawing details alongside them. */
    .topbar{height:54px;grid-template-columns:minmax(0,1fr) minmax(0,.85fr) minmax(0,1.65fr);grid-template-rows:22px 22px;gap:2px 6px;padding:4px 6px}
    .topbar .brand{grid-column:1;grid-row:1/3;gap:4px;margin:0}
    .topbar .brand-logo{width:28px;height:28px;flex-shrink:0}
    .topbar .brand>div{min-width:0}
    .topbar .brand strong{font-size:clamp(9px,1.4vw,12px);line-height:1.15;letter-spacing:-.2px;white-space:nowrap}
    .topbar .brand small{font-size:10px;line-height:1.1;letter-spacing:0;margin-top:2px}
    .topbar .project-title{grid-column:2;grid-row:1/3;width:100%;justify-self:stretch}
    .topbar .top-actions{grid-column:3;grid-row:1;width:100%;justify-self:stretch;justify-content:flex-start;align-self:center;gap:3px}
    .topbar .cloud-actions{grid-column:3;grid-row:2;width:100%;justify-self:stretch;align-self:center;gap:3px}
    .topbar .top-actions button,.topbar #exportFormat{height:22px;font-size:8px;padding:0 4px}
    .topbar .top-actions .secondary,.topbar .top-actions .icon-btn{display:inline-block}
    .topbar .cloud-actions button{height:22px;font-size:8px;padding:0 4px;border-radius:4px}
    .topbar .top-actions,.topbar .cloud-actions{scrollbar-width:none}
    .topbar .top-actions::-webkit-scrollbar,.topbar .cloud-actions::-webkit-scrollbar{display:none}
    body>main .direction-compass{transform:scale(.7);transform-origin:top left}
    body>main .canvas-bar{height:30px;min-height:30px;padding:2px 6px;gap:6px}
    .canvas-bar .drawing-meta{font-size:8px;gap:5px}
    .canvas-bar .drawing-meta span:last-child{padding-left:5px}
    .canvas-bar .status-dot{width:5px;height:5px}
    .canvas-bar #planTitle{width:125px;height:20px;font-size:8px;padding:2px 3px}
    .canvas-bar .edit-field-hint{font-size:7px;padding-right:2px}
    .canvas-bar .editable-title{gap:3px}
    .canvas-bar .canvas-tools{gap:4px}
    .canvas-bar .canvas-tools .tool{height:22px;padding:3px 5px;gap:4px}
    .canvas-bar .canvas-tools .tool span{font-size:8px}
    .canvas-bar .canvas-tools .tool svg{width:12px;height:12px}
    .canvas-bar .canvas-tools .tool kbd{font-size:9px}
    .canvas-bar .view-controls{font-size:7px;gap:3px}
    .canvas-bar .view-controls button{height:20px;min-width:20px;font-size:10px;padding:0 4px}
    .canvas-bar .view-controls #zoomLabel{width:30px;font-size:7px}
    .canvas-bar .rotate-controls{margin-right:4px;padding-right:5px}
    .canvas-bar .rotate-controls #viewAngle{width:40px;height:20px;font-size:6px}
    .canvas-bar .toggle-label{font-size:7px;gap:4px;margin-left:4px}
    .canvas-bar .toggle-label span{width:18px;height:10px}
    .canvas-bar .toggle-label span:after{width:6px;height:6px;top:2px;left:2px}
    .canvas-bar .toggle-label input:checked+span:after{left:10px}
  }
}
/* Sandbox-only billing dialog; no changes to drafting layout. */
#sandboxBillingDialog{max-width:660px;width:calc(100% - 32px);max-height:calc(100dvh - 24px);overflow:auto;padding:20px;border:1px solid #cad4dc;border-radius:14px;color:#243d4c}
#sandboxBillingDialog::backdrop{background:#18334266}
#sandboxBillingDialog h2{margin-top:0}
.fixture-icon svg{display:block;width:28px;height:30px}.library-fixture-icon svg{display:block;width:32px;height:36px}
dialog.dismissible-dialog{padding-top:42px!important}dialog .dialog-dismiss-x{position:absolute;right:7px;top:5px;margin:0!important;padding:2px 8px!important;min-width:30px;min-height:30px;border:0!important;border-radius:5px;background:transparent!important;color:#344d60!important;font-size:24px!important;line-height:1!important;cursor:pointer}dialog .dialog-dismiss-x:focus-visible{outline:2px solid #3479b8;outline-offset:1px}
#teamInviteNotice svg{display:block;width:24px;height:24px;flex-shrink:0}
.subscription-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.subscription-plan{padding:16px;border:1px solid #cbd8e0;border-radius:10px;display:flex;flex-direction:column;gap:10px}.subscription-plan h3,.subscription-plan p{margin:0}.subscription-plan h3{font-size:16px}.subscription-plan .subscription-price{font-size:24px;font-weight:700}.subscription-price span{font-size:12px;font-weight:400}.subscription-plan .subscription-action{margin-top:auto}#sandboxBillingDialog .subscription-action{padding:10px 12px;border:1px solid #284f68;border-radius:6px;background:#284f68;color:#fff;font:inherit;cursor:pointer}#sandboxBillingDialog .subscription-action:disabled{opacity:.45;cursor:default}#sandboxBillingDialog .subscription-action:focus-visible{outline:2px solid #3479b8;outline-offset:2px}.subscription-tax-note{font-size:12px;color:#627582}.subscription-test-tools{margin-top:18px;border-top:1px solid #d7e0e6;padding-top:12px;font-size:12px}.subscription-test-tools summary{cursor:pointer}.subscription-test-tools button{margin-top:10px}#sandboxCloseBtn{padding:8px 12px;border:1px solid #c5d2db;border-radius:5px;background:#f6fafc;color:#243d4c;cursor:pointer}#sandboxBillingDialog{box-sizing:border-box}.top-actions #teamInviteNotice{display:inline-flex;align-items:center;justify-content:center;flex:0 0 26px;width:26px;min-width:26px;height:30px;padding:0;background:#fff0ed;border:1px solid #cf3d30;border-radius:6px;color:#c52c22;font-size:22px;font-weight:800;cursor:pointer}.top-actions #teamInviteNotice[hidden]{display:none}.top-actions #teamInviteNotice:focus-visible{outline:2px solid #c52c22;outline-offset:2px}@media(max-width:480px){.subscription-plans{grid-template-columns:1fr}}
#deletionRequestDialog{max-width:560px;width:calc(100% - 24px);max-height:calc(100dvh - 20px);overflow:auto;padding:20px;border:1px solid #cad4dc;border-radius:14px;color:#243d4c;font-size:13px;line-height:1.5}
#deletionRequestDialog::backdrop{background:#18334266}
#teamDialog{box-sizing:border-box;width:min(760px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;padding:22px;border:1px solid #cad4dc;border-radius:12px;color:#243d4c;font-size:14px;line-height:1.6}#teamDialog::backdrop{background:#18334299}#teamDialog h2{margin:0;font-size:22px}#teamDialog h3{margin:12px 0 4px}#teamDialog p{margin:12px 0}#teamDialog button,#teamDialog input{padding:8px 10px;border:1px solid #c5d2db;border-radius:5px;font:inherit;max-width:100%;box-sizing:border-box}#teamDialog button{background:#f6fafc;color:#243d4c;cursor:pointer}#teamDialog button:disabled{opacity:.55;cursor:default}#teamDialog label{display:flex;gap:8px;align-items:center;flex-wrap:wrap}#teamDialog form{margin:14px 0;padding-top:12px;border-top:1px solid #d7e0e6}#teamDialog form>button{margin-top:8px}.team-member,.team-actions{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}.team-member{padding:8px 0;border-bottom:1px solid #d7e0e6;overflow-wrap:anywhere}.team-actions{justify-content:flex-start;margin-top:14px}#teamStatus,#teamSummary{overflow-wrap:anywhere}
#deletionRequestDialog h2{margin-top:0;font-size:20px}
#deletionRequestDialog a,#deletionRequestStatus{overflow-wrap:anywhere}
#deletionRequestDialog button{padding:8px 12px;margin:4px;border:1px solid #cad4dc;border-radius:5px;cursor:pointer}
#deletionRequestDialog button:disabled{opacity:.55;cursor:wait}
.access-code-form{display:flex;gap:6px;padding:8px 10px;max-width:310px}.access-code-form[hidden],#adminOpen[hidden]{display:none}.access-code-form input{width:160px;min-width:0;border:1px solid #c5d2db;border-radius:4px;padding:6px}.help-dropdown .access-code-form button{width:auto}.access-code-message{font-size:11px;max-width:300px;white-space:normal;overflow-wrap:anywhere;padding:0 10px}
#adminDialog{width:min(1000px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;border:1px solid #cad4dc;border-radius:12px;padding:20px;color:#243d4c;font-size:13px;line-height:1.5}#adminDialog::backdrop{background:#18334299}.admin-heading{display:flex;justify-content:space-between;align-items:center}#adminDialog h2{margin:0}#adminDialog section{border-top:1px solid #d7e0e6;margin-top:18px;padding-top:12px}#adminDialog input,#adminDialog select{padding:8px;max-width:100%;border:1px solid #c5d2db;border-radius:4px}#adminDialog label{display:block;margin:10px 0}#adminDialog button{padding:8px 12px;margin:4px;border:1px solid #c5d2db;border-radius:5px;background:#f6fafc;color:#243d4c;cursor:pointer}#adminDialog button:disabled{opacity:.5;cursor:wait}.admin-user{display:block;width:100%;text-align:left;overflow-wrap:anywhere}.admin-code-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:8px 0}.admin-code-row input{width:110px}#adminEmail{width:min(420px,100%)}#adminNewCode{font-size:18px;overflow-wrap:anywhere}#adminMessage{min-height:20px}
#adminCodesDialog{width:min(850px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;border:1px solid #cad4dc;border-radius:12px;padding:20px;color:#243d4c;font-size:13px;line-height:1.5}#adminCodesDialog::backdrop{background:#18334299}#adminCodesDialog h2{margin:0}#adminCodesDialog input,#adminCodesDialog select{padding:8px;max-width:100%;border:1px solid #c5d2db;border-radius:4px}#adminCodesDialog button{padding:8px 12px;margin:4px;border:1px solid #c5d2db;border-radius:5px;background:#f6fafc;color:#243d4c;cursor:pointer}#adminCodesDialog button:disabled{opacity:.5;cursor:wait}#adminCodesDialog code{font-size:16px;overflow-wrap:anywhere}#adminCodesMessage{min-height:20px}
#drawingLockDialog{width:min(520px,calc(100vw - 24px));border:1px solid #cad4dc;border-radius:12px;padding:24px;color:#243d4c;line-height:1.5}#drawingLockDialog::backdrop{background:#18334299}#drawingLockDialog button{padding:10px;margin:4px;border:1px solid #c5d2db;border-radius:5px;background:#f6fafc;cursor:pointer}
#adminUserDialog{width:min(760px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;border:1px solid #cad4dc;border-radius:12px;padding:20px;color:#243d4c;font-size:13px;line-height:1.5}#adminUserDialog::backdrop{background:#18334299}#adminUserDialog h2{margin:0;overflow-wrap:anywhere}#adminUserDialog label{display:block;margin:10px 0}#adminUserDialog input,#adminUserDialog select{padding:8px;max-width:100%;border:1px solid #c5d2db;border-radius:4px}#adminUserDialog button{padding:8px 12px;margin:4px;border:1px solid #c5d2db;border-radius:5px;background:#f6fafc;color:#243d4c;cursor:pointer}#adminUserDialog button:disabled{opacity:.5;cursor:wait}#adminUserMessage{min-height:20px}
#drawing .pipe-size{font-size:calc(10px * var(--drawing-text-scale,1));font-weight:var(--drawing-text-weight,700);stroke-width:calc(4px * var(--drawing-text-scale,1))}#drawing .fixture-label{font-size:calc(9px * var(--drawing-text-scale,1));font-weight:var(--drawing-text-weight,700);stroke-width:calc(3px * var(--drawing-text-scale,1))}#drawing .annotation{font-size:calc(12px * var(--drawing-text-scale,1));font-weight:var(--drawing-text-weight,700);stroke-width:calc(4px * var(--drawing-text-scale,1))}.drawing-text-tools{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.drawing-text-tools h3{font-size:10px;color:#788591;letter-spacing:1px;margin:0 0 9px}.drawing-text-size{display:grid;grid-template-columns:24px minmax(0,1fr) 24px;align-items:center;gap:4px;text-align:center}.drawing-text-size button,.drawing-text-tools>button{min-height:24px;border:1px solid var(--line);border-radius:5px;background:#fff;color:#344d60;cursor:pointer}.drawing-text-size button{font-size:16px;padding:0}.drawing-text-size output{font-size:11px;font-weight:600}.drawing-text-tools>button{width:100%;margin-top:7px;font-weight:700}.drawing-text-tools>button[aria-pressed="true"]{background:#fff5ef;border-color:#ed9f7e;color:#b84f2c}.drawing-text-tools button:disabled{opacity:.4;cursor:default}@media(max-width:950px) and (pointer:coarse){.drawing-text-size{grid-template-columns:1fr 1fr}.drawing-text-size output{grid-column:1/-1;grid-row:1}.drawing-text-tools h3{font-size:8px;letter-spacing:0}.drawing-text-size button{min-width:0;padding:0}}
#multiPipeSizeField[hidden]{display:none}#howToBtn,#faqBtn{cursor:pointer;color:#243d4c}#howToBtn:hover,#faqBtn:hover{background:#edf5fb}#howToDialog,#faqDialog{box-sizing:border-box;width:min(760px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #cad4dc;border-radius:12px;padding:22px;color:#243d4c;font-size:14px;line-height:1.6}#howToDialog::backdrop,#faqDialog::backdrop{background:#18334299}#howToDialog h2,#faqDialog h2{margin:0;font-size:22px}#howToDialog h3{font-size:17px;margin:18px 0 6px}#howToDialog section{border-top:1px solid #d7e0e6;margin-top:14px}#howToDialog p,#faqDialog p{margin:8px 0}#howToClose,#faqClose,#faqDialog button{padding:9px 14px;margin-left:12px;border:1px solid #c5d2db;border-radius:5px;background:#f6fafc;color:#243d4c;cursor:pointer}#faqDialog details{border-top:1px solid #d7e0e6;padding:12px 0}#faqDialog details:first-of-type{margin-top:16px}#faqDialog summary{cursor:pointer;font-weight:600}#faqDialog button:disabled{opacity:.55;cursor:default}#faqDialog a{overflow-wrap:anywhere}
.admin-usage-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-usage-row p{margin:8px 0;flex:1;min-width:180px}
#fixtureLabelPositionField[hidden]{display:none}
body.rotate-mode #drawing,body.rotate-mode #drawing *{cursor:url('assets/rotate-cursor.svg') 16 16,move!important}
#drawing.select-mode,#drawing.select-mode *{cursor:default}#drawing .pipe-hit{pointer-events:stroke}#drawing .pipe.selection-hover:not(.selected){stroke:#e95f2a!important;filter:none}#drawing .fixture-group.selection-hover:not(.selected) .toilet-branch,#drawing .fixture-group.selection-hover:not(.selected) .ptrap-symbol,#drawing .fixture-group.selection-hover:not(.selected) .fixture-shape,#drawing .fixture-group.selection-hover:not(.selected) .legend-symbol,#drawing .fixture-group.selection-hover:not(.selected) .tie-existing-arrow{stroke:#e95f2a!important}#drawing .fixture-group.selection-hover:not(.selected) .fixture-label,#drawing .annotation.selection-hover:not(.selected){fill:#e95f2a!important}
#drawing.select-mode.pan-ready{cursor:grab}#drawing.select-mode.panning,#drawing.select-mode.moving-selection{cursor:grabbing}#drawing.select-mode.orbit-ready,#drawing.select-mode.orbiting{cursor:move}
.drawing-appearance-tools{margin-top:14px;padding:10px;border:1px solid var(--line);border-radius:6px}.drawing-appearance-tools>summary{font-size:11px;font-weight:700;color:#596773;cursor:pointer}.drawing-appearance-body{display:grid;gap:10px;padding-top:10px}.drawing-appearance-tools .drawing-text-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0;padding:0;border:0}.drawing-appearance-tools .drawing-text-tools h3{width:100%;margin:0;font-size:9px;letter-spacing:.4px}.drawing-appearance-tools .drawing-text-size{display:grid;grid-template-columns:20px 40px 20px;gap:2px}.drawing-appearance-tools .drawing-text-size button{width:20px;height:20px;min-height:20px;font-size:14px;padding:0;line-height:1}.drawing-appearance-tools .drawing-text-size output{grid-column:auto;grid-row:auto;font-size:10px}.drawing-appearance-tools .drawing-text-tools>button{width:auto;min-height:20px;height:20px;padding:0 6px;margin:0;font-size:10px}@media(max-width:950px) and (pointer:coarse){.drawing-appearance-tools{padding:5px 2px}.drawing-appearance-tools>summary{font-size:8px;overflow-wrap:anywhere}.drawing-appearance-tools .drawing-text-size{grid-template-columns:18px 18px;gap:2px}.drawing-appearance-tools .drawing-text-size output{grid-column:1/-1;grid-row:1}.drawing-appearance-tools .drawing-text-size button{width:18px}.drawing-appearance-tools .drawing-text-tools h3{font-size:7px;letter-spacing:0}}
.drawing-appearance-tools{border:0;border-top:1px solid var(--line);border-radius:0;margin-top:20px;padding:17px 0 0}.drawing-appearance-tools .symbol-disclosure{width:100%}#textLinesPanel[hidden]{display:none}@media(max-width:950px) and (pointer:coarse){.drawing-appearance-tools{padding:10px 0 0}}
.multi-select-control{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex-shrink:0}.multi-select-control small{font-size:9px;line-height:1.1;color:#788591;white-space:nowrap}
.canvas-tools .multi-select-control .toggle-label{font-size:11px;font-weight:500;margin-left:0;white-space:nowrap}.canvas-tools .multi-select-control small{font-size:8px}@media(max-height:600px) and (orientation:landscape){.canvas-tools .multi-select-control .toggle-label{font-size:8px}.canvas-tools .multi-select-control small{font-size:7px}}
.sandbox-badge{font-weight:700;color:#946000}
.sandbox-billing-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}#sandboxBillingDialog .access-code-form{padding:0;max-width:100%;align-items:center}#sandboxBillingDialog .access-code-form input{width:140px}#sandboxBillingDialog .access-code-message{flex-basis:100%;max-width:100%;padding:0;margin:0}#sandboxBillingDialog .access-code-message:empty{height:0}
#sandboxBillingHelpBtn{cursor:pointer;color:#243d4c}
#sandboxBillingHelpBtn:hover{background:#edf5fb}
#freeUsageBanner{position:absolute;top:54px;left:50%;transform:translateX(-50%);z-index:8;max-width:calc(100% - 24px);width:max-content;padding:12px 18px;border:2px solid #d49b3d;border-radius:10px;background:#fff7e7;color:#714700;font-size:21px;font-weight:700;line-height:1.25;text-align:center;box-shadow:0 3px 12px #18212b18;pointer-events:none}
#freeUsageBanner[hidden]{display:none}
#freeUsageSubscribe{display:block;margin:10px auto 0;padding:9px 22px;border:0;border-radius:7px;background:#e95f2a;color:white;font-family:inherit;font-size:17px;font-weight:700;cursor:pointer;pointer-events:auto}
#freeUsageSubscribe[hidden]{display:none}
#freeUsageSubscribe:hover{background:#c84b1c}
#freeUsageSubscribe:focus-visible{outline:3px solid #3479b8;outline-offset:3px}
/* Existing geometry remains selectable, but never changes the drawing cursor. */
#drawing.pipe-mode .pipe,#drawing.pipe-mode .pipe-hit,#drawing.pipe-mode .fixture-group,#drawing.pipe-mode .fixture-group *,#drawing.pipe-mode .annotation{cursor:crosshair}
#drawing.erase-mode,#drawing.erase-mode *{cursor:url('assets/erase-cursor.svg') 24 7,crosshair}
#drawing.erase-mode .pipe.selection-hover{stroke:#d92e2e!important;filter:none}
#drawing.erase-mode .fixture-group.selection-hover .fixture-shape,#drawing.erase-mode .fixture-group.selection-hover .toilet-branch,#drawing.erase-mode .fixture-group.selection-hover .ptrap-symbol,#drawing.erase-mode .fixture-group.selection-hover .legend-symbol,#drawing.erase-mode .fixture-group.selection-hover .tie-existing-arrow,#drawing.erase-mode .fixture-group.selection-hover .equipment-connection{stroke:#d92e2e!important}
#drawing.erase-mode .fixture-group.selection-hover .fixture-label,#drawing.erase-mode .fixture-group.selection-hover .legend-symbol-mark,#drawing.erase-mode .annotation.selection-hover{fill:#d92e2e!important}
#drawing.pan-ready *,#drawing.panning *,#drawing.orbit-ready *,#drawing.orbiting *{cursor:inherit!important}
/* Touch history and navigation share a fixed bottom row, with Properties space
   reserved even while collapsed. Desktop history placement is unchanged. */
body.mobile-history-controls>main .history-dock{bottom:2px}
body.mobile-history-controls>main .history-controls{bottom:0;right:calc(var(--history-panel-clearance) + 20px + var(--history-navigation-width,240px))}
body.mobile-history-controls>main .canvas-navigation{left:auto;right:calc(var(--history-panel-clearance) + 12px);bottom:2px;transform:none}
body.phone-history-controls>main .canvas-navigation{transform:scale(.5);transform-origin:right bottom}
@media(max-height:600px) and (any-pointer:coarse){#freeUsageBanner{top:38px;max-width:46%;font-size:16px;padding:7px 10px}}
