:root{--bg:#2b2d31;--chrome:#1f2125f0;--chrome-solid:#1f2125;--line:#ffffff14;--text:#e8e9ec;--muted:#9a9ea6;--accent:#3d8bff;--accent-soft:#3d8bff2e;--ok:#4fd18b;--danger:#ff6b5e;--radius:10px;--tap:40px;--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overscroll-behavior:none;margin:0;font:13.5px/1.3 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0}button:disabled{opacity:.35;cursor:default}kbd{color:var(--muted);border:1px solid var(--line);border-radius:4px;margin-left:6px;padding:2px 4px;font:10.5px/1 ui-monospace,monospace}@media (pointer:coarse){kbd{display:none}}#view{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}#topbar{top:calc(8px + var(--safe-t));left:calc(8px + var(--safe-l));z-index:35;align-items:center;gap:4px;display:flex;position:fixed}.brand{box-sizing:border-box;letter-spacing:.01em;white-space:nowrap;color:#cfd6e4;width:258px;margin-right:4px;padding:0 6px;font-size:24px;font-weight:750;line-height:36px;position:relative;top:-4px;overflow:hidden}.brand-tld{color:var(--accent);font-weight:600}.project-name{background:var(--chrome);width:300px;min-height:36px;color:var(--text);font:inherit;text-overflow:ellipsis;cursor:text;-webkit-user-select:text;user-select:text;border:1px solid #0000;border-radius:8px;margin-right:10px;padding:0 12px;font-weight:550}.project-name:hover{border-color:var(--line)}.project-name:focus{outline:2px solid var(--accent);outline-offset:-1px;background:#2b2e34}.text-btn{background:var(--chrome);white-space:nowrap;border-radius:8px;align-items:center;gap:6px;min-height:36px;padding:0 12px;display:inline-flex}.text-btn svg{width:18px;height:18px}.text-btn:hover:not(:disabled),.icon-btn:hover:not(:disabled){background:#ffffff1a}.text-btn.primary{background:var(--accent);color:#fff}.text-btn.primary:hover{background:#5a9dff}.icon-btn{background:var(--chrome);border-radius:8px;flex:none;place-items:center;width:36px;height:36px;display:inline-grid}.icon-btn.small{background:0 0;width:26px;height:26px;margin-left:auto}.icon-btn svg{width:20px;height:20px}.menu-wrap{position:relative}.menu{background:var(--chrome-solid);border:1px solid var(--line);border-radius:var(--radius);z-index:30;min-width:210px;padding:6px;position:absolute;top:42px;left:0;box-shadow:0 10px 30px #0006}.menu button{text-align:left;border-radius:6px;justify-content:space-between;width:100%;padding:10px;display:flex}.menu button:hover{background:#ffffff14}.copy-toggle{background:var(--chrome-solid);border:1px solid var(--line);height:32px;color:var(--muted);z-index:12;border-radius:16px;align-items:center;gap:5px;padding:0 10px 0 8px;font-size:12.5px;display:flex;position:fixed;top:0;left:0;box-shadow:0 4px 14px #00000059}.copy-toggle svg{width:17px;height:17px}.copy-toggle.on{background:var(--accent);border-color:var(--accent);color:#fff}.copy-toggle[hidden]{display:none}.swatch{border-radius:50%;flex:none;width:20px;height:20px;display:inline-block;box-shadow:inset 0 0 0 1px #ffffff40}#flyout.swatch-grid{grid-template-columns:repeat(5,44px);gap:4px;padding:8px;display:grid}#flyout.swatch-grid .tool{justify-content:center;width:44px;height:44px;padding:0}#flyout.swatch-grid .tool .swatch{width:28px;height:28px}#flyout.swatch-grid .tool.active .swatch{box-shadow:0 0 0 2px var(--chrome-solid), 0 0 0 4px var(--accent)}#flyout.swatch-grid .tool-label,#flyout.swatch-grid .tool-key{display:none}.menu-soon{color:var(--muted);font-size:11px}.menu-note{color:var(--muted);padding:8px 10px 4px;font-size:12px}#undo-dock{left:calc(8px + var(--safe-l));bottom:calc(10px + var(--safe-b));background:var(--chrome);border-radius:var(--radius);z-index:10;gap:2px;padding:4px;display:flex;position:fixed}.dock-btn{border-radius:9px;place-items:center;width:52px;height:44px;display:grid}.dock-btn svg{width:24px;height:24px}.dock-btn:hover:not(:disabled){background:#ffffff14}.dock-btn:disabled{opacity:.35}body.items-open #undo-dock{left:calc(274px + var(--safe-l))}.menu hr{border:0;border-top:1px solid var(--line);margin:4px 0}#toolbar,#bottom-left,#flyout{background:var(--chrome);border-radius:var(--radius);z-index:10;flex-direction:column;gap:1px;padding:4px;display:flex;position:fixed}#toolbar{left:calc(8px + var(--safe-l));max-height:calc(100vh - 200px - var(--safe-t) - var(--safe-b));top:50%;overflow-y:auto;transform:translateY(-50%)}#toolbar:empty,#bottom-left:empty{display:none}#bottom-left{left:calc(8px + var(--safe-l));bottom:calc(76px + var(--safe-b))}#flyout{z-index:25;max-height:calc(100vh - 20px);overflow-y:auto;box-shadow:0 10px 30px #0006}#flyout[hidden]{display:none}.tool{min-height:var(--tap);white-space:nowrap;text-align:left;border-radius:7px;align-items:center;gap:9px;padding:0 12px 0 7px;display:flex;position:relative}.tool svg{flex:none;width:21px;height:21px}.tool:hover:not(.disabled){background:#ffffff12}.tool.active{background:var(--accent-soft);color:#b9d4ff}.tool.disabled{opacity:.38;cursor:default}.tool.has-children:after{content:"";opacity:.7;border:3px solid #0000;border-color:#0000 #0000 currentColor currentColor;position:absolute;top:25px;left:23px;transform:rotate(-90deg)}.tool-label{flex-direction:column;display:flex}.tool-name{align-items:center;display:flex}.tool-sub{color:var(--muted);font-size:11px}.tool-sep{background:var(--line);height:1px;margin:3px 4px}#viewcube-host{top:calc(10px + var(--safe-t));right:calc(60px + var(--safe-r));z-index:5;position:fixed}#viewcube{width:110px;height:110px;position:relative}#viewcube canvas{touch-action:none;cursor:grab;display:block}.vc-roll{width:22px;height:22px;color:var(--muted);border-radius:50%;font-size:14px;position:absolute;top:0}.vc-roll.left{left:0}.vc-roll.right{right:0}.vc-roll:hover{color:var(--text);background:var(--chrome)}#right-col{top:calc(8px + var(--safe-t));right:calc(8px + var(--safe-r));background:var(--chrome);border-radius:var(--radius);z-index:10;flex-direction:column;gap:2px;padding:4px;display:flex;position:fixed}.right-btn{border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:1px;width:40px;min-height:40px;display:flex}.right-btn svg{width:20px;height:20px}.right-btn:hover{background:#ffffff14}.right-btn.on{background:var(--accent-soft);color:#b9d4ff}.right-btn.sketch-only{display:none}body.sketching .right-btn.sketch-only{display:flex}.right-label{color:var(--muted);font-size:9.5px}#popover{right:calc(60px + var(--safe-r));background:var(--chrome-solid);border:1px solid var(--line);border-radius:var(--radius);z-index:30;width:270px;max-height:calc(100vh - 20px);padding:8px;position:fixed;overflow-y:auto;box-shadow:0 10px 30px #00000073}#popover[hidden]{display:none}.pop-heading{padding:8px 8px 4px;font-weight:600}.pop-row{text-align:left;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:38px;padding:0 8px;display:flex}.pop-row:hover{background:#ffffff0f}.choice-row.active{box-shadow:inset 3px 0 0 var(--accent);background:#ffffff0d}.switch{background:#4a4e57;border-radius:10px;flex:none;width:34px;height:20px;transition:all .15s;position:relative}.switch:after{content:"";background:#cfd3da;border-radius:50%;width:14px;height:14px;transition:all .15s;position:absolute;top:3px;left:3px}.toggle-row.on .switch{background:var(--accent)}.toggle-row.on .switch:after{background:#fff;left:17px}.pop-note{color:var(--muted);padding:6px 8px;font-size:12px}.pop-input{width:70px;color:var(--text);border:1px solid var(--line);-webkit-user-select:text;user-select:text;background:#2b2e34;border-radius:6px;padding:6px;font:13px ui-monospace,monospace}.pop-tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:4px;padding:2px 2px 6px;display:flex}.pop-tabs button{color:var(--muted);border-radius:6px;padding:6px 10px}.pop-tabs button.active{color:var(--text);background:#ffffff14}#hint{top:calc(54px + var(--safe-t));background:var(--chrome);color:#c6cad2;text-align:center;pointer-events:none;z-index:9;border-radius:12px;max-width:min(560px,100vw - 440px);padding:8px 16px;position:fixed;left:50%;transform:translate(-50%)}#hint[hidden],#status[hidden],#panel[hidden],#label[hidden]{display:none}#status{background:var(--chrome-solid);border-radius:var(--radius);z-index:40;width:-moz-fit-content;width:fit-content;max-width:calc(100vw - 32px);height:-moz-fit-content;height:fit-content;margin:auto;padding:14px 20px;position:fixed;inset:0;box-shadow:0 10px 30px #0006}#label{pointer-events:none;background:var(--chrome-solid);white-space:nowrap;z-index:20;border:1px solid #3d8bff8c;border-radius:8px;flex-direction:column;gap:2px;padding:4px 8px;font:13px/1.25 ui-monospace,monospace;display:flex;position:fixed;top:0;left:0;box-shadow:0 4px 14px #00000059}.label-value{font-weight:600}.label-tip{color:#9fc3ff;font:11px/1.2 system-ui,sans-serif}#label.typing{border-color:var(--accent);background:#1d2a40}#toast{left:50%;bottom:calc(96px + var(--safe-b));opacity:0;background:var(--chrome-solid);border:1px solid var(--line);border-radius:var(--radius);pointer-events:none;z-index:45;max-width:calc(100vw - 32px);padding:10px 16px;transition:all .2s;position:fixed;transform:translate(-50%,20px)}#toast.show{opacity:1;transform:translate(-50%)}#toast.top{bottom:auto;top:calc(100px + var(--safe-t))}#toast.error{border-color:#ff6b5e80}.dim-widget{z-index:46;background:#1f2125f2;border:1px solid #3d8bffb3;border-radius:8px;align-items:center;gap:4px;padding:3px;display:flex;position:fixed;top:0;left:0;box-shadow:0 4px 14px #00000059}.dim-widget[hidden]{display:none}.dim-widget select{font:inherit;color:var(--text);background:#2b2e34;border:0;border-radius:5px;padding:4px 2px;font-size:12px}.dim-widget input{width:64px;color:var(--text);-webkit-user-select:text;user-select:text;background:#2b2e34;border:1px solid #0000;border-radius:5px;padding:4px 6px;font:13px ui-monospace,monospace}.dim-widget input:focus{border-color:var(--accent);outline:none}.dim-widget input.invalid,.dim-widget.invalid input{border-color:var(--danger)}.dim-widget.typing input{border-color:var(--accent);background:#1d2a40}.dim-unit{color:var(--muted);font-size:11.5px}.dim-pin{border-radius:5px;padding:2px 4px;font-size:13px}.dim-pin:hover{background:#ffffff1a}#constraint-bar{right:calc(60px + var(--safe-r));background:var(--chrome);border-radius:var(--radius);z-index:10;flex-direction:column;gap:1px;padding:4px;display:flex;position:fixed;top:50%}#constraint-bar button{text-align:left;white-space:nowrap;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;min-height:34px;padding:0 10px;display:flex}#constraint-bar button:hover:not(:disabled){background:#ffffff12}#constraint-bar button.on{background:var(--accent-soft);color:#cfe0ff}#constraint-bar button.on .cg:after{content:" ✓";font-size:10px}#constraint-bar hr{border:0;border-top:1px solid var(--line);margin:3px 2px}.cbar-toggle .switch{background:#3a3e46;border-radius:8px;flex:none;width:28px;height:16px;position:relative}.cbar-toggle .switch:after{content:"";background:#c9ced8;border-radius:50%;width:12px;height:12px;transition:left .12s;position:absolute;top:2px;left:2px}.cbar-toggle.on .switch{background:var(--accent)}.cbar-toggle.on .switch:after{background:#fff;left:14px}#constraint-bar .cg{text-align:center;color:#9fd1ff;width:22px;font-weight:600}.cglyphs[hidden]{display:none}.cglyphs{pointer-events:none;z-index:7;position:fixed;inset:0}.cglyph{pointer-events:auto;color:#cfe3ff;background:#284678d9;border:1px solid #6ea0ff99;border-radius:5px;min-width:18px;height:18px;padding:0 4px;font-size:11px;line-height:18px;position:absolute;top:0;left:0}.cglyph.dim{color:#fff;background:#1f2125eb;border-color:#ffffff59;height:22px;padding:0 6px;font:12px ui-monospace,monospace}.cglyph.expr{color:#9fd1ff}.cglyph.sel{border-color:#ffd34d;box-shadow:0 0 0 2px #ffd34d59}.cglyph[hidden]{display:none}@media (max-width:720px){#constraint-bar{top:auto;bottom:calc(120px + var(--safe-b));right:calc(8px + var(--safe-r));max-height:40vh;overflow-y:auto;transform:none}#constraint-bar .cl{display:none}}#warn{left:50%;bottom:calc(62px + var(--safe-b));color:#ffd2a8;pointer-events:none;z-index:9;background:#3c2614d9;border:1px solid #ff9a3d73;border-radius:999px;max-width:min(520px,100vw - 32px);padding:5px 12px;font-size:12px;position:fixed;transform:translate(-50%)}#warn[hidden]{display:none}#marquee{border:1px solid var(--accent);pointer-events:none;z-index:6;background:#3d8bff1f;position:fixed}#marquee[hidden]{display:none}#pins{pointer-events:none;z-index:4;position:fixed;inset:0}.pin{white-space:nowrap;background:#1f2125eb;border:1px solid #3d8bff99;border-radius:6px;padding:3px 7px;font:12px ui-monospace,monospace;position:absolute;top:0;left:0}#panel{bottom:calc(10px + var(--safe-b));background:var(--chrome-solid);border:1px solid var(--line);z-index:15;border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;max-width:min(980px,100vw - 16px);padding:8px 8px 8px 14px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000059}.panel-title{font-weight:600}.panel-fields,.panel-buttons{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.field{color:var(--muted);align-items:center;gap:5px;display:flex}.field input,.text-input{width:92px;min-height:36px;color:var(--text);border:1px solid var(--line);-webkit-user-select:text;user-select:text;background:#2b2e34;border-radius:8px;padding:0 8px;font:14px ui-monospace,monospace}.text-input{width:180px;font-family:inherit}.field input:focus,.text-input:focus{outline:2px solid var(--accent);outline-offset:-1px}.field input.invalid{outline:2px solid var(--danger)}.field input.has-expr{color:#9fd1ff}.fx-btn{color:var(--muted);border-radius:6px;padding:4px 6px;font:italic 600 12px Georgia,serif}.fx-btn:hover{color:var(--text);background:#ffffff14}.slot{text-align:left;border:1px dashed #ffffff40;border-radius:8px;flex-direction:column;align-items:flex-start;min-height:38px;padding:3px 10px;display:flex}.slot.active{border:1px solid var(--accent);background:var(--accent-soft)}.slot.filled{border-style:solid}.slot-label{color:var(--muted);font-size:11px}.choice{background:#2b2e34;border-radius:8px;align-items:center;gap:2px;padding:2px;display:flex}.choice-list select{border:1px solid var(--line);min-width:0;max-width:180px;color:var(--text);font:inherit;background:#2b2e34;border-radius:8px;padding:7px 8px}.choice{flex-wrap:wrap;max-width:100%}.choice button{color:var(--muted);border-radius:6px;padding:7px 10px}.choice button.active{background:var(--accent);color:#fff}.toggle{color:var(--muted);background:#2b2e34;border-radius:8px;padding:8px 12px}.toggle.on{background:var(--accent-soft);color:#b9d4ff;box-shadow:inset 0 0 0 1px var(--accent)}#panel .tool{background:#2b2e34;min-height:36px}#history{top:calc(8px + var(--safe-t));right:calc(8px + var(--safe-r));bottom:calc(8px + var(--safe-b));background:var(--chrome);border-radius:var(--radius);z-index:8;flex-direction:column;width:250px;display:none;position:fixed;overflow:hidden}#history.open{display:flex}.history-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:4px 4px 4px 12px;font-weight:600;display:flex}.history-head .icon-btn{background:0 0}#history-list{margin:0;padding:4px;list-style:none;overflow-y:auto}.history-item{border-radius:8px;flex-wrap:wrap;align-items:center;display:flex}.history-item:hover{background:#ffffff0d}.history-item.active{background:var(--accent-soft)}.history-item.suppressed .history-name{opacity:.45;text-decoration:line-through}.history-name{text-align:left;flex:1;min-height:36px;padding:0 10px}.history-item .icon-btn{opacity:.55;background:0 0;width:32px;height:32px}.history-item .icon-btn:hover{opacity:1}.history-item.error .history-name{color:var(--danger)}.history-warn{background:var(--danger);color:#fff;vertical-align:1px;border-radius:50%;place-items:center;width:16px;height:16px;margin-right:7px;font-size:11px;font-weight:700;display:inline-grid}.history-error{color:var(--danger);flex-basis:100%;padding:0 10px 8px;font-size:12px}.history-empty{color:var(--muted);padding:12px}body.history-open #right-col{right:calc(266px + var(--safe-r))}body.history-open #viewcube-host,body.history-open #popover,body.history-open .measure-card{right:calc(318px + var(--safe-r))}body.items-open #toolbar,body.items-open #bottom-left{left:calc(274px + var(--safe-l))}#items{top:calc(52px + var(--safe-t));left:calc(8px + var(--safe-l));bottom:calc(8px + var(--safe-b));background:var(--chrome);border-radius:var(--radius);z-index:8;flex-direction:column;width:258px;display:none;position:fixed;overflow:hidden}#items.open{display:flex}#items-list{margin:0;padding:4px;list-style:none;overflow-y:auto}.items-heading{color:var(--muted);padding:8px 8px 2px;font-size:11.5px}.items-empty{color:var(--muted);padding:4px 10px 8px}.items-row{border-radius:7px;align-items:center;display:flex}.items-head-btns{align-items:center;gap:2px;display:flex}.text-btn.small{background:0 0;min-height:28px;padding:0 9px;font-size:12.5px}.text-btn.small.on{background:var(--accent-soft);color:#cfe0ff}.items-check{accent-color:var(--accent);margin:0 2px 0 8px}.items-row.checked{background:var(--accent-soft)}.items-row.in-folder{padding-left:18px}.folder-row .items-name{font-weight:600}.items-count{color:var(--muted);font-weight:400}.items-caret{color:var(--muted)}.items-groupbar{background:var(--chrome-solid);border-top:1px solid var(--line);gap:6px;padding:8px 6px;display:flex;position:sticky;bottom:0}.items-row:hover{background:#ffffff0d}.items-row .icon-btn{opacity:.6;background:0 0;width:32px;height:32px}.items-row .icon-btn:hover{opacity:1}.items-name{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;align-items:center;gap:8px;min-height:34px;display:flex;overflow:hidden}.items-name svg{opacity:.8;flex:none;width:17px;height:17px}.hidden-item .items-name,.isolated-out .items-name{opacity:.4}.measure-card{right:calc(60px + var(--safe-r));bottom:calc(10px + var(--safe-b));background:var(--chrome-solid);border:1px solid var(--line);border-radius:var(--radius);z-index:15;width:280px;max-height:50vh;padding:8px;position:fixed;overflow-y:auto}.measure-toggle{color:var(--muted);align-items:center;gap:8px;padding:4px 6px 8px;display:flex}.measure-row{border-radius:6px;grid-template-columns:1fr auto;align-items:center;padding:6px;display:grid}.measure-row:hover{background:#ffffff0d}.measure-row .icon-btn{background:0 0;grid-area:1/2/span 2}.measure-value{grid-column:1;font:14px ui-monospace,monospace}.measure-name{color:var(--muted);grid-column:1;font-size:11.5px}.measure-empty{color:var(--muted);padding:6px}.dialog-back{z-index:50;background:#00000073;place-items:center;display:grid;position:fixed;inset:0}.dialog{background:var(--chrome-solid);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:10px;width:min(380px,100vw - 24px);padding:16px;display:flex}.dialog-note{color:var(--muted);font-size:12.5px}.dialog-field{color:var(--muted);flex-direction:column;gap:4px;display:flex}.dialog-field input{min-height:38px;color:var(--text);border:1px solid var(--line);-webkit-user-select:text;user-select:text;background:#2b2e34;border-radius:8px;padding:0 10px;font:14px ui-monospace,monospace}.dialog .panel-buttons{justify-content:flex-end}@media (max-width:720px){.brand{display:none}#toolbar{top:auto;bottom:calc(8px + var(--safe-b));left:calc(8px + var(--safe-l));right:calc(8px + var(--safe-r));flex-direction:row;max-height:none;overflow:auto hidden;transform:none}#toolbar .tool-label,#bottom-left .tool-label{display:none}#bottom-left{bottom:calc(64px + var(--safe-b));left:calc(128px + var(--safe-l));flex-direction:row}#undo-dock{bottom:calc(64px + var(--safe-b))}.dock-btn{width:46px;height:40px}.tool{padding:0 9px}.tool.has-children:after{left:25px}#panel{bottom:calc(120px + var(--safe-b))}#hint{top:auto;bottom:calc(66px + var(--safe-b));left:auto;right:calc(8px + var(--safe-r));text-align:left;max-width:calc(100vw - 140px);font-size:12px;transform:none}#viewcube-host{right:calc(56px + var(--safe-r));transform-origin:100% 0;transform:scale(.8)}#history{left:calc(8px + var(--safe-l));right:calc(60px + var(--safe-r));width:auto;max-height:45vh;bottom:auto}body.history-open #right-col{right:calc(8px + var(--safe-r))}body.history-open #viewcube-host{right:calc(56px + var(--safe-r))}body.history-open #popover,body.history-open .measure-card{right:calc(60px + var(--safe-r))}#items{width:auto;right:calc(60px + var(--safe-r));z-index:34;background:var(--chrome-solid);max-height:55vh;bottom:auto;box-shadow:0 10px 30px #00000073}body.items-open #toolbar,body.items-open #bottom-left{left:calc(128px + var(--safe-l))}body.items-open #undo-dock{left:calc(8px + var(--safe-l))}.measure-card{left:calc(8px + var(--safe-l));width:auto;bottom:calc(120px + var(--safe-b))}}.history-steps{flex-direction:column;padding:0 0 4px 22px;list-style:none;display:flex}.history-step{text-align:left;color:var(--muted,#9aa3b5);border:0;border-left:1px solid var(--line);cursor:pointer;background:0 0;padding:2px 6px;font-size:12px}.history-step:hover{color:var(--text,#e6ebf5)}.history-step.more{cursor:default;font-style:italic}.pivot-btn{border:1px solid var(--line);background:var(--chrome-solid);width:30px;height:30px;color:var(--muted);cursor:pointer;border-radius:8px;margin:2px auto 0;padding:5px;display:block}.pivot-btn:hover{color:var(--text)}.pivot-btn.on{color:#fff;background:#3d8bff;border-color:#3d8bff}.pivot-cursor{color:#3d8bff;pointer-events:none;z-index:40;width:22px;height:22px;position:fixed;top:0;left:0}.pivot-cursor[hidden]{display:none}.pattern-box input:first-of-type{width:3.2em}.pattern-box select{margin:0 4px}#busy{left:50%;top:calc(62px + var(--safe-t));background:var(--chrome-solid);border:1px solid var(--line);color:var(--text);z-index:60;pointer-events:none;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 4px 14px #00000059}#busy .busy-stop{color:#ffb3b3;font:inherit;cursor:pointer;pointer-events:auto;background:#ff464629;border:1px solid #ff5a5a8c;border-radius:6px;margin-left:4px;padding:3px 10px;font-size:12px}#busy .busy-stop:hover{background:#ff46464d}#busy[hidden]{display:none}#busy .spinner{border:2px solid #ffffff40;border-top-color:#3d8bff;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite busy-spin}@keyframes busy-spin{to{transform:rotate(360deg)}}@media (max-width:720px){#topbar{right:calc(60px + var(--safe-r))}.project-name{flex:auto;width:auto;min-width:0;margin-right:2px;padding:0 8px}#topbar .text-btn{padding:0 8px}#viewcube-host,body.history-open #viewcube-host{top:calc(50px + var(--safe-t))}#busy{top:calc(96px + var(--safe-t))}}@media (min-width:721px) and (max-width:1100px){.brand{width:auto;font-size:20px}.project-name{width:220px}}@media (max-width:720px){#hint{top:calc(52px + var(--safe-t));bottom:auto;left:calc(8px + var(--safe-l));max-width:calc(100vw - 170px);right:auto}#history,#items{top:calc(52px + var(--safe-t))}body.history-open #viewcube-host,body.items-open #viewcube-host{display:none}}@media (min-width:721px) and (max-width:1100px){#topbar{right:calc(178px + var(--safe-r))}body.history-open #topbar{right:calc(436px + var(--safe-r))}body.history-open .brand{display:none}.project-name{flex:0 220px;min-width:80px}body.history-open #hint{display:none}}@media (pointer:coarse) and (min-width:721px){body.is-fullscreen #topbar{left:calc(64px + var(--safe-l))}}@media (max-height:500px) and (min-width:721px){#toolbar{top:calc(52px + var(--safe-t));bottom:calc(64px + var(--safe-b));align-content:flex-start;transform:none;max-height:none!important}#toolbar .tool-label,#bottom-left .tool-label{display:none}.tool{padding:0 9px}#bottom-left{bottom:calc(10px + var(--safe-b));left:calc(120px + var(--safe-l));flex-direction:row}#undo-dock{bottom:calc(10px + var(--safe-b))}#items{top:calc(52px + var(--safe-t));bottom:calc(64px + var(--safe-b));width:230px}body.items-open #toolbar{left:calc(246px + var(--safe-l))}body.items-open #bottom-left{left:calc(120px + var(--safe-l))}body.items-open #undo-dock{left:calc(8px + var(--safe-l))}#panel{max-width:calc(100vw - 420px);left:calc(50% + 70px)}#history{top:calc(52px + var(--safe-t));bottom:calc(8px + var(--safe-b))}#bottom-left,body.items-open #bottom-left{left:calc(130px + var(--safe-l))}#toolbar{bottom:calc(70px + var(--safe-b))}#constraint-bar{bottom:calc(10px + var(--safe-b));max-height:none;overflow-y:auto;top:calc(170px + var(--safe-t))!important;right:calc(64px + var(--safe-r))!important}#constraint-bar .cl,body.items-open #hint{display:none}}.tool-ghost{color:#fff;letter-spacing:.01em;pointer-events:none;z-index:80;white-space:nowrap;background:#14161ad1;border-radius:14px;padding:12px 22px;font-size:22px;font-weight:650;position:fixed;top:42%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 30px #0006}.tool-ghost[hidden]{display:none}.tool{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.history-caret{color:var(--muted);cursor:pointer;background:0 0;border:0;width:18px;padding:0;font-size:12px}.history-caret:hover{color:var(--text)}.tool-trailing{opacity:.75;gap:2px;margin-left:auto;padding-left:8px;display:inline-flex}.tool-trailing svg{width:16px;height:16px}.numpad{z-index:70;background:var(--chrome-solid);border:1px solid var(--line);border-radius:14px;grid-template-columns:repeat(4,52px);gap:5px;padding:8px;display:grid;position:fixed;box-shadow:0 10px 30px #00000073}.numpad[hidden]{display:none}.numpad button{height:44px;color:var(--text);touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#30343c;border:0;border-radius:9px;font-size:19px;font-weight:600}.numpad button:active{background:#3d8bff}.numpad .np-enter{color:#fff;background:#3d8bff;grid-row:span 2;height:auto}.numpad .np-close{color:var(--muted);font-size:15px}.dim-var{color:var(--accent);border:1px solid var(--line);background:#2b2e34;border-radius:6px;margin-left:4px;padding:2px 4px;font-weight:650}body.headset .tool{min-height:46px}body.headset .right-btn{min-width:48px;min-height:48px}body.headset .text-btn{min-height:42px}#right-col{max-height:calc(100vh - 140px);top:50%;overflow-y:auto;transform:translateY(-50%)}#viewcube-host{right:calc(8px + var(--safe-r))}body.history-open #viewcube-host{right:calc(266px + var(--safe-r))}@media (max-width:720px){#topbar,#viewcube-host,body.history-open #viewcube-host{right:calc(8px + var(--safe-r))}}@media (min-width:721px) and (max-width:1100px){#topbar{right:calc(126px + var(--safe-r))}body.history-open #topbar{right:calc(384px + var(--safe-r))}}@media (max-height:600px){#viewcube-host{right:calc(64px + var(--safe-r))}body.history-open #viewcube-host{right:calc(318px + var(--safe-r))}#right-col{max-height:calc(100vh - 16px)}}@media (max-height:600px) and (min-width:721px){#topbar{right:calc(182px + var(--safe-r))}}.help-panel{z-index:75;top:calc(56px + var(--safe-t));width:min(680px,100vw - 24px);max-height:calc(100vh - 80px - var(--safe-t) - var(--safe-b));background:var(--chrome-solid);border:1px solid var(--line);border-radius:14px;flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 16px 48px #00000080}.help-panel[hidden]{display:none}.help-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 12px 6px 18px;display:flex}.help-head h2{margin:0;font-size:17px}.help-body{-webkit-overflow-scrolling:touch;padding:4px 18px 16px;overflow-y:auto}.help-body h3{color:var(--accent);margin:16px 0 6px;font-size:14px}.help-intro{color:var(--muted);margin:0 0 8px;font-size:13px;line-height:1.45}.help-list{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.help-list li{align-items:flex-start;gap:10px;font-size:13px;line-height:1.45;display:flex}.help-icon svg{flex:none;width:20px;height:20px;margin-top:1px}.help-list b{font-weight:650}@media (max-width:720px){.help-panel{top:calc(52px + var(--safe-t));width:calc(100vw - 16px);max-height:calc(100vh - 64px - var(--safe-t) - var(--safe-b))}}@media (max-height:500px){.help-panel{top:calc(8px + var(--safe-t));max-height:calc(100vh - 16px - var(--safe-t) - var(--safe-b))}}body.headset .help-list li{font-size:15px}@media (max-width:720px){#warn{top:calc(96px + var(--safe-t));max-width:calc(100vw - 150px);bottom:auto;left:calc(8px + var(--safe-l));top:auto;bottom:calc(118px + var(--safe-b));transform:none}body.history-open #warn,body.items-open #warn{display:none}body:has(#panel:not([hidden])) #warn{display:none}body:has(#flyout:not([hidden])) #warn{display:none}}@media (max-height:600px) and (min-width:721px){body.history-open #topbar{right:calc(436px + var(--safe-r))}body.history-open .brand{display:none}#warn{bottom:calc(14px + var(--safe-b));left:calc(270px + var(--safe-l));max-width:calc(100vw - 340px);transform:none}body.history-open #warn,body.items-open #warn{display:none}body:has(#panel:not([hidden])) #warn{display:none}body:has(#flyout:not([hidden])) #warn{display:none}}body.history-open #warn,body.items-open #warn{display:none}body:has(#flyout:not([hidden])) #warn{display:none}@media (min-width:721px) and (max-width:1100px){#warn{max-width:calc(100vw - 460px);left:calc(50% + 110px)}}.update-banner{z-index:90;left:50%;top:calc(56px + var(--safe-t));background:var(--chrome-solid);border:1px solid var(--accent);border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;max-width:calc(100vw - 24px);padding:8px 10px 8px 16px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px #00000073}.update-banner[hidden]{display:none}.numpad button.down{background:#3d8bff}.numpad{touch-action:none;-webkit-user-select:none;user-select:none}.vc-roll{cursor:pointer;z-index:1;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex}.vc-roll.bottom{top:auto;bottom:0}.vc-roll svg{width:15px;height:15px}.vc-roll.pivot-btn{width:22px;height:22px;color:var(--muted);background:0 0;border:0;border-radius:50%;margin:0;padding:0}.vc-roll.pivot-btn.on,.vc-roll.pop-open{color:var(--accent);background:var(--chrome)}body.headset .vc-roll{width:30px;height:30px}body #topbar{max-width:calc(100vw - 272px);left:50%;transform:translate(-50%);right:auto!important}.brand{width:auto;margin-right:4px}.project-name{flex:0 300px;width:auto;min-width:80px}body.history-open #topbar{max-width:calc(100vw - 400px);left:calc(50vw - 192px)}@media (max-width:1100px){.brand{display:none}}@media (max-width:720px){body #topbar,body.history-open #topbar{width:calc(100vw - 16px);max-width:none;left:50%}.project-name{flex:auto}.menu-wrap{position:static}#file-menu,#more-menu{max-width:calc(100vw - 16px);top:44px;left:0}}@media (max-height:600px) and (min-width:721px){body #topbar{max-width:calc(100vw - 380px)}body.history-open #topbar{max-width:calc(100vw - 698px);left:calc(50vw - 159px)}}.brand{flex:none}@media (max-height:600px) and (min-width:721px){body.history-open #topbar{max-width:calc(100vw - 452px);left:calc(50vw - 218px)}}.project-name{flex:0 360px}.history-warn{cursor:pointer;border:0;flex:none}.history-warning-text{color:#ffc58a;flex-basis:100%;padding:2px 8px 6px 26px;font-size:12px;line-height:1.4}#file-menu button{align-items:center;gap:8px;display:flex}.menu-share{width:30px;height:26px;color:var(--muted);border-radius:7px;flex:none;place-items:center;margin-left:auto;display:inline-grid}.menu-share:hover{color:var(--text);background:#30343c}.menu-share svg{width:17px;height:17px}@media (max-width:720px) and (orientation:portrait){body #hint{top:auto;bottom:calc(122px + var(--safe-b));left:calc(8px + var(--safe-l,0px));right:calc(8px + var(--safe-r));text-align:center;z-index:9;width:auto;max-width:none;font-size:12px;transform:none}body:has(#hint:not([hidden])) #panel{bottom:calc(170px + var(--safe-b))}body.sketching #toolbar{top:calc(64px + var(--safe-t));bottom:calc(118px + var(--safe-b));left:calc(8px + var(--safe-l));height:-moz-fit-content;height:fit-content;max-height:none;max-height:calc(100vh - 190px - var(--safe-t) - var(--safe-b));z-index:26;flex-direction:column;right:auto;overflow:hidden auto;transform:none}body.sketching #toolbar .tool-label{display:flex}body.sketching.sketch-compact #toolbar .tool-label{display:none}body.sketching:has(#hint:not([hidden])) #toolbar{max-height:calc(100vh - 250px - var(--safe-t) - var(--safe-b))}}.menu-sub{flex-direction:column;padding-left:12px;display:flex}.menu-sub[hidden]{display:none}.menu button.disabled{opacity:.55}body #panel.as-list{z-index:45;background:#1f2125f7;border:1px solid #3d8bff73;border-radius:10px;flex-flow:column;justify-content:flex-start;align-items:stretch;gap:4px;width:max-content;min-width:210px;max-width:min(320px,100vw - 16px);max-height:calc(100vh - 70px);padding:6px;top:0;left:0;overflow-y:auto;transform:none;height:auto!important;bottom:auto!important;right:auto!important}#panel.as-list .panel-title{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:2px 6px 0;font-size:11px;font-weight:600}#panel.as-list .panel-fields,#panel.as-list .panel-buttons{flex-flow:column;align-items:stretch;gap:2px}#panel.as-list .field{border-radius:6px;justify-content:space-between;gap:10px;padding:2px 4px 2px 6px}#panel.as-list .field:hover{background:#ffffff0a}#panel.as-list .field input{width:84px}#panel.as-list .choice,#panel.as-list .slot,#panel.as-list .toggle,#panel.as-list .panel-fields>.text-btn,#panel.as-list .panel-buttons .tool{justify-content:flex-start;width:100%}#panel.as-list .choice{flex-wrap:wrap}#panel.as-list .choice .field-label{width:100%;padding:2px 4px}#panel.as-list .panel-buttons{border-top:1px solid var(--line);flex-direction:row;justify-content:flex-end;margin-top:2px;padding-top:6px}#panel.as-list.attached [data-inbox]{display:none}html[data-screen=phone] body #panel.as-list{width:max-content;min-width:0;max-width:min(520px,100vw - 16px);max-height:38vh}#cancel-dock-btn{display:none}html[data-screen=phone] body.tool-cancel-dock #cancel-dock-btn{display:flex}html[data-screen=phone] body.tool-cancel-dock #toolbar{display:none}html[data-screen=phone] body.tool-cancel-dock #undo-dock{bottom:calc(8px + var(--safe-b))}@media (max-width:720px) and (orientation:portrait){html[data-screen=phone] body.tool-cancel-dock #hint{bottom:calc(66px + var(--safe-b))}}html[data-screen=phone] body #panel.as-list{flex-flow:wrap;align-items:center;gap:6px;padding:6px}html[data-screen=phone] #panel.as-list .panel-title,html[data-screen=phone] #panel.as-list .panel-cancel{display:none}html[data-screen=phone] #panel.as-list .panel-fields{flex-flow:wrap;flex:auto;min-width:0}html[data-screen=phone] #panel.as-list .choice{flex-wrap:nowrap;width:auto;overflow-x:auto}html[data-screen=phone] #panel.as-list .panel-buttons{border-top:none;flex-direction:row;margin:0 0 0 auto;padding-top:0}html[data-screen=phone] #panel.as-list .panel-buttons:empty{display:none}html body #topbar,html body.history-open #topbar,html body.items-open #topbar{width:max-content!important;max-width:calc(100vw - 380px)!important;left:50%!important;right:auto!important;transform:translate(-50%)!important}html body #topbar .project-name{flex:0 auto;width:320px;min-width:90px}@media (max-width:720px){html body #topbar .project-name{flex:auto;width:auto}html body #topbar,html body.history-open #topbar,html body.items-open #topbar{max-width:calc(100vw - 16px)!important}}@media (max-height:500px) and (min-width:721px){html body #topbar,html body.history-open #topbar,html body.items-open #topbar{max-width:calc(100vw - 360px)!important}}.brand-icon{border-radius:7px;width:30px;height:30px;display:none}@media (max-width:1100px),(max-height:500px){html body .brand,html body.history-open .brand{align-items:center;width:auto;margin-right:2px;padding:0 2px;display:flex;top:0}.brand-name{display:none}.brand-icon{display:block}}@media (max-height:500px),(max-width:1100px){html body.history-open #viewcube-host{top:calc(50px + var(--safe-t))!important}html body.history-open #right-col{max-height:calc(100vh - 60px - var(--safe-t) - var(--safe-b));overflow-y:auto;top:calc(52px + var(--safe-t))!important;bottom:auto!important;transform:none!important}}.numpad .np-grip{cursor:grab;touch-action:none;grid-column:1/-1;place-items:center;height:18px;margin:-4px 0 0;display:grid}.numpad .np-grip span{background:var(--muted);opacity:.6;border-radius:2px;width:36px;height:4px}.numpad .np-grip:active{cursor:grabbing}html[data-screen=phone] .numpad{border-radius:12px;grid-template-columns:repeat(4,40px);gap:4px;padding:6px}html[data-screen=phone] .numpad button{border-radius:8px;height:40px;font-size:17px}html[data-screen=phone] .numpad .np-enter{height:auto}html[data-screen=phone] .numpad .np-grip{height:16px;margin-top:-2px}@media (max-width:720px) and (orientation:portrait){html body.sketching #undo-dock,html body.sketching #bottom-left{bottom:calc(8px + var(--safe-b))}html body.sketching #hint{bottom:calc(66px + var(--safe-b))}html body.sketching #toolbar{bottom:calc(62px + var(--safe-b));max-height:calc(100vh - 134px - var(--safe-t) - var(--safe-b))}html body.sketching:has(#hint:not([hidden])) #toolbar{max-height:calc(100vh - 194px - var(--safe-t) - var(--safe-b))}}html[data-screen=phone] body.is-fullscreen{--safe-b:4px;--safe-t:max(0px, calc(env(safe-area-inset-top,0px) - 14px))}.fs-banner{white-space:nowrap;flex-wrap:nowrap;gap:8px;padding:6px 8px 6px 14px}#panel .panel-grip{cursor:grab;touch-action:none;flex:0 0 100%;align-self:stretch;place-items:center;height:14px;margin:-4px 0 -2px;display:grid}#panel .panel-grip span{background:var(--muted);opacity:.55;border-radius:2px;width:32px;height:4px}#panel .panel-grip:active{cursor:grabbing}*{scrollbar-width:none}::-webkit-scrollbar{display:none}.outer-scroll{z-index:95;opacity:0;touch-action:none;background:#c8d2e68c;border-radius:3px;transition:opacity .25s;position:fixed}.outer-scroll[hidden]{display:none}.outer-scroll.on{opacity:1}@media (pointer:fine){.outer-scroll.v{box-sizing:content-box;background-clip:padding-box;border-left:2px solid #0000;border-right:2px solid #0000;margin-left:-2px}}.cglyph:not(.dim){pointer-events:none;color:#96beff8c;text-shadow:0 0 3px #14161ae6;background:0 0;border:0;min-width:0;height:14px;padding:0 1px;font-size:10px;font-weight:600;line-height:14px}.cglyph.sel:not(.dim){color:#ffd34d;box-shadow:none}.cglyph:not(.dim)[data-type=horizontal],.cglyph:not(.dim)[data-type=vertical]{color:#ffc45abf}.cglyph:not(.dim)[data-type=parallel]{color:#6ec8ffcc}.cglyph:not(.dim)[data-type=perpendicular]{color:#82e6a0cc}.cglyph:not(.dim)[data-type=coincident]{color:#ebebf5b3}.cglyph:not(.dim)[data-type=tangent]{color:#ff8cc8cc}.cglyph:not(.dim)[data-type=equal]{color:#bea0ffd9}.cglyph:not(.dim)[data-type=midpoint]{color:#ff9678cc}.cglyph:not(.dim)[data-type=concentric]{color:#78e6e6cc}.cglyph:not(.dim)[data-type=symmetric]{color:#f0e678cc}.cglyph:not(.dim)[data-type=fix]{color:#ff6e64cc}.cglyph.sel:not(.dim){text-decoration:underline;color:#ffd34d!important}#history .history-head{gap:6px}#history .history-head>span{flex:1}.history-group .history-name{align-items:center;gap:6px;font-weight:600;display:flex}.history-group .history-name svg{flex:none;width:16px;height:16px}.history-count{color:var(--muted);font-size:12px;font-weight:500}.history-item.in-group{padding-left:22px}.history-item.checked{background:var(--accent-soft)}html[data-screen=phone] #panel.as-list .field{flex:none;gap:3px;padding:0 2px}html[data-screen=phone] #panel.as-list .field input{width:58px;height:34px;padding:0 6px;font-size:15px}html[data-screen=phone] #panel.as-list .field-label{font-size:12px}html[data-screen=phone] #panel.as-list .field-unit{margin-left:-1px;font-size:11px}html[data-screen=phone] #panel.as-list .fx-btn{width:20px;min-width:0;padding:0;font-size:12px}html[data-screen=phone] #panel.as-list .panel-buttons .tool,html[data-screen=phone] #panel.as-list .panel-buttons .text-btn{min-height:34px}html[data-screen=phone] #panel.as-list .field-unit,html[data-screen=phone] #panel.as-list .fx-btn{display:none}html[data-screen=phone] #panel.as-list .slot{flex:none;justify-content:center;min-height:34px;padding:2px 8px;width:auto!important}html[data-screen=phone] #panel.as-list .slot:not(.filled) .slot-value{display:none}html[data-screen=phone] #panel.as-list .slot-label{color:var(--text);font-size:12px}html[data-screen=phone] #panel.as-list .slot.filled .slot-label{color:var(--muted);font-size:10px}html[data-screen=phone] #panel.as-list .slot-value{text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:12px;overflow:hidden}html[data-screen=phone] #panel.as-list .toggle,html[data-screen=phone] #panel.as-list .panel-fields>.text-btn{flex:none;min-height:34px;width:auto!important}html[data-screen=phone] body #panel.as-list .panel-fields{flex:0 auto}html[data-screen=phone] body #panel.as-list .panel-fields,html[data-screen=phone] body #panel.as-list .panel-buttons{display:contents}html[data-screen=phone] body #panel.as-list .panel-buttons>:first-child{margin-left:auto}
