/* Editor geometry and controls calibrated against the saved reference capture.
   Live initial-view comparison remains a separate acceptance item. */
.m-sidebar{width:276px}.m-toolbar-middle-space{flex:1;min-width:15px}.m-toolbar-spacer{flex:0}.m-toolbar{padding:3px 8px;gap:2px}.m-tool{width:39px}.m-tool-group{gap:1px;padding-right:5px;margin-right:3px}.m-toolbar .m-text-tool{min-width:80px}.m-toolbar svg{width:25px;height:25px}.m-transform-modes[hidden]{display:none}.m-cube-wrap{transform:scale(.8);transform-origin:top left;margin-left:-5px;margin-bottom:-26px}.m-view-nav{gap:6px;left:8px}.m-view-nav>.m-tool,.m-view-nav>.m-round{width:49px;height:49px;background:#fff}.m-view-nav>.m-tool svg{color:#263d4d}.m-notice:empty{display:none}.m-notice{top:auto;bottom:45px;left:90px;max-width:calc(100% - 120px)}.m-inspector{width:230px}.m-library-head{padding:3px 9px 9px}.m-palette{padding:0 9px 9px;gap:6px}.m-shape{min-height:90px}.m-sidebar-tools{height:76px}.m-grid-bar{height:28px;font-size:10px}.m-grid-bar>button{position:absolute;right:0;bottom:28px;background:#fff9}.m-grid-bar>span{margin-right:auto}.m-help{display:none}.m-native-handles{position:absolute;inset:0;pointer-events:none;z-index:4;overflow:hidden}.m-native-handles[hidden]{display:none}.m-native-grip{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;touch-action:none;cursor:pointer;padding:0;box-sizing:border-box;border:1px solid #111;box-shadow:0 0 1px #fff;background:#fff;width:10px;height:10px}.m-native-grip.corner{width:12px;height:12px;cursor:nwse-resize}.m-native-grip.edge{background:#111;width:8px;height:8px;cursor:ew-resize}.m-native-grip.height{width:12px;height:12px;cursor:ns-resize}.m-native-grip.lift{width:20px;height:24px;background:transparent;border:0;box-shadow:none;cursor:ns-resize}.m-native-grip.lift svg{width:20px;height:22px;fill:#161616;stroke:#fff;stroke-width:.6}.m-native-grip.rotation{width:30px;height:30px;border:0;box-shadow:none;background:transparent;cursor:grab}.m-native-grip.rotation svg{width:28px;height:28px;fill:none;stroke:#111;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 1px white)}.m-native-grip:disabled{display:none}.m-native-grip:hover{outline:2px solid #29a5dd;outline-offset:2px}.m-rotation-dial{position:absolute;width:162px;height:162px;transform:translate(-50%,-50%);border:1px solid #101010;border-radius:50%;background:#fffffff0;pointer-events:none;box-shadow:0 0 0 1px #fff}.m-rotation-dial[hidden]{display:none}.m-angle-ticks{position:absolute;inset:4px;border-radius:50%;background:repeating-conic-gradient(#111 0deg 1deg,transparent 1deg 15deg);mask:radial-gradient(transparent 65%,#000 66%)}.m-angle-ray{position:absolute;left:50%;top:50%;height:1px;width:78px;background:#222;transform-origin:left center}.m-rotation-dial label{position:absolute;top:170px;left:50%;transform:translateX(-50%);padding:4px 7px;background:#fff;border:1px solid #879ca9;display:flex;align-items:center;pointer-events:auto;color:#111;font-size:12px}.m-rotation-dial input{width:53px;border:0;text-align:center;font:inherit;color:#111;outline:none}.m-rotation-dial input::-webkit-inner-spin-button{appearance:none}.m-native-grip:focus-visible{outline:2px solid #209bdd;outline-offset:3px}
@media(max-width:1100px){.m-toolbar-middle-space{min-width:0}.m-tool{width:31px}.m-toolbar .m-text-tool{min-width:60px}.m-sidebar{width:260px}}
@media(max-width:750px){.m-sidebar{width:205px}.m-toolbar-middle-space{display:none}.m-inspector{width:192px}.m-view-nav>.m-tool,.m-view-nav>.m-round{width:38px;height:38px}.m-cube-wrap{transform:scale(.68);margin-bottom:-43px}.m-palette{gap:3px;padding:0 5px}.m-shape{min-height:62px}}

.m-plane-label{display:none}
/* Supplied original screenshots: 49px header, 47px toolbar, 276px library. */
.m-toolbar{height:47px}.m-tool svg{stroke:#30485d;stroke-width:1.6;fill:#bcdef6;stroke-linejoin:round}.m-tool:disabled svg{stroke:#c5d0da;fill:#c5d0da}.m-toolbar .m-tool{width:44px}.m-tool-group{gap:2px}.m-mode-badge{display:flex;align-items:center;gap:5px;padding:3px 10px}.m-mode-badge svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.6}.m-sidebar-tools svg{fill:#edfaff;stroke:#009acb}.m-sidebar-tools button:nth-child(3){font-size:0}.m-shape-search-button svg{width:25px;height:25px;fill:none;stroke:#111;stroke-width:2}.m-view-nav .m-round svg{width:26px;height:26px;fill:#d3e9fa;stroke:#30485d;stroke-width:1.6}.m-view-nav>[data-m-action^=zoom] svg{stroke:#111;fill:none;stroke-width:2}.m-inspector{width:256px!important;padding:0;background:#f1f2f5;border-radius:2px;border:1px solid #ecf0f3;right:12px;top:12px}.m-inspector h3{height:40px;display:flex;align-items:center;padding:0 6px;gap:7px;margin:0;background:#fff;color:#40566c}.m-inspector h3>span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-inspector h3 button{border:0;background:transparent;color:#40566c;font-size:24px;padding:0;width:28px;height:32px}.m-inspector h3 svg{width:25px;height:25px;fill:#d7e8f5;stroke:#53697b}.m-inspector-content{padding:8px}.m-inspector.collapsed .m-inspector-content{display:none}.m-solid-options{position:relative;background:#fff;border-radius:8px;justify-content:space-evenly;padding:12px 15px;margin-bottom:8px;min-height:102px}.m-solid-options>button{width:84px;height:78px;font-size:12px;padding:8px;border:0;background:none!important}.m-solid-options i{height:40px;width:40px;box-shadow:none}.m-solid-options>button.active i{outline:2px solid #80b2ff;outline-offset:3px}.m-solid-options>button.active{color:#73aaff}.m-solid-options>label{position:absolute;right:3px;bottom:3px;opacity:0}.m-solid-options:hover>label,.m-solid-options:focus-within>label{opacity:1}.m-reference-properties{background:#fff;border-radius:8px;padding:10px 12px}.m-reference-properties>summary{font-size:12px;color:#40566c;list-style:none;cursor:pointer;display:flex;justify-content:space-between}.m-reference-properties>summary:after{content:'⌃';font-size:22px;line-height:14px}.m-reference-properties:not([open])>summary:after{content:'⌄'}.m-reference-properties p{font-size:11px}.m-property-slider{display:block;font-size:12px;color:#66768b;margin:14px 0 9px}.m-property-slider>div{position:relative;height:25px;margin-top:7px}.m-property-slider input[type=range]{appearance:none;width:100%;height:4px;background:#dce1e7;border:0;border-radius:2px;position:absolute;top:10px;margin:0;cursor:pointer}.m-property-slider input[type=range]::-webkit-slider-thumb{appearance:none;width:23px;height:23px;border-radius:50%;background:#fff;border:1px solid #d0d8e1}.m-property-slider input[type=number]{position:absolute;left:clamp(0px,calc(var(--value-position) - 12px),calc(100% - 27px));top:0;width:27px;height:24px;border:1px solid #d0d8e1;border-radius:20px;padding:0;font:11px Arial;text-align:center;color:#60728b;background:#fff}.m-property-slider input[type=number]:focus{width:58px;border-radius:4px;outline:2px solid #88c2e7;z-index:2}.m-property-slider input[type=number]::-webkit-inner-spin-button{appearance:none}.m-position-details,.m-size-details{margin:8px 0 0;font-size:11px;padding:7px 9px;background:#fff;border-radius:5px}.m-edit-shape{margin-top:12px;padding:8px;border:1px solid #b4cddd;color:#46738e;background:#f7fbfd;border-radius:4px;cursor:pointer}.m-grid-bar{background:transparent}.m-grid-bar>button{right:8px;min-width:90px;border:1px solid #e1e6eb;border-radius:2px}.m-grid-bar #m-count{color:#9aabb7;font-size:9px}.m-grid-bar select{background:#fff;border:1px solid #e1e6eb;padding:2px}.m-grid-bar label{margin-right:8px}.m-native-grip.rotation svg{stroke-width:1.7}.m-native-grip.rotation:hover{outline:none}.m-popover{right:290px}
@media(max-width:1100px){.m-toolbar .m-tool{width:31px}.m-inspector{width:220px!important}.m-property-slider{margin:9px 0 6px}}
.m-rotation-dial{inset:0;transform:none;width:100%;height:100%;border:0;border-radius:0;background:none;box-shadow:none;z-index:-1}.m-ring-svg{width:100%;height:100%;overflow:visible}.m-rotation-dial label{top:0;left:0;border:0;padding:5px 7px;box-shadow:0 1px 3px #0001}.m-native-grip.rotation{width:40px;height:40px;pointer-events:none}.m-native-grip.rotation svg{width:40px;height:40px;stroke:#7c8588;stroke-width:1.3;filter:drop-shadow(0 0 .5px white);overflow:visible}.m-native-grip.rotation svg path{pointer-events:stroke}.m-native-grip.rotation svg polygon{pointer-events:fill;fill:#7c8588;stroke:none}.m-native-grip.rotation:hover svg{stroke:#ee795e}.m-native-grip.rotation:hover svg polygon{fill:#ee795e}
/* Tutorial rail follows the screenshot: full-height independent scrolling body. */
.editor-dialog.has-lesson .m-header,.editor-dialog.has-lesson .m-toolbar{margin-left:280px}.editor-dialog.has-lesson .m-body{padding-left:280px}.lesson-panel{position:absolute;left:0;top:0;bottom:0;width:280px;background:#fff;overflow:hidden;z-index:10;color:#172c3b}.lesson-panel header{height:49px;flex:none;padding:6px 14px;border-bottom:1px solid #dbe1e7;overflow:hidden}.lesson-panel header>a{font-size:13px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#365675}.lesson-panel header>span{display:block;font-size:11px;color:#607083;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-panel .lesson-body{min-height:0;overflow-y:auto;padding:18px 13px;flex:1}.lesson-panel h3{font-size:20px;font-weight:600;line-height:1.5;margin:0 0 22px;text-align:center;color:#17232b}.lesson-panel p{font-size:14px;line-height:1.8;margin:10px 0 16px}.lesson-instruction{padding-bottom:10px;margin-bottom:13px;border-bottom:1px solid #e6ebf1}.lesson-panel figure{margin:16px 0 9px;border:1px solid #dce3e9;padding:8px;border-radius:3px}.lesson-image-button{padding:0;border:0;background:#fff;display:block;width:100%;cursor:zoom-in}.lesson-image-button img{display:block;width:auto;max-width:100%;height:auto;margin:auto}.lesson-panel figcaption{font-size:10px;text-align:center;color:#8193a4;margin-top:7px}.lesson-panel .lesson-hint{margin:12px 0;background:#f2f7fb;padding:10px;border-left:2px solid #7bb5df;font-size:12px}.lesson-hint p{font-size:12px;margin:4px 0}.lesson-panel footer{height:auto;min-height:72px;flex:none;padding:11px 12px 6px;background:#f0f1f4;gap:8px;align-items:center}.lesson-panel footer .pill-button{padding:7px 14px;font-size:13px;background:#4b85da;color:#fff;border:0}.lesson-back{width:36px;height:36px;background:none;border:2px solid #a4b2c1;border-radius:50%;color:#6c8198}.lesson-back:disabled{opacity:.45}.lesson-step-picker{flex:1;min-width:0}.lesson-step-picker select{font-size:12px;width:100%;height:36px;color:#344d6d;background:transparent;border:2px solid #a4b2c1;border-radius:22px;padding:0 6px;text-overflow:ellipsis}.lesson-panel .reset-lesson{width:100%;text-align:center;font-size:10px;margin:0}.m-lesson-toggle{position:absolute;display:block;left:272px;top:50%;bottom:auto;width:18px;height:48px;z-index:11;background:#fff;border:1px solid #dce3e9;padding:0;font-size:18px;cursor:pointer;color:#17232b}.lesson-panel.folded{display:none}.editor-dialog.lesson-folded .m-header,.editor-dialog.lesson-folded .m-toolbar{margin-left:0}.editor-dialog.lesson-folded .m-body{padding-left:0}.editor-dialog.lesson-folded .m-lesson-toggle{left:0}.lesson-image-large{width:min(620px,100%);display:block;margin:auto}.content-dialog:has(.lesson-image-large){width:720px;max-width:90vw}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:1000px){.editor-dialog.has-lesson .m-header,.editor-dialog.has-lesson .m-toolbar{margin-left:240px}.editor-dialog.has-lesson .m-body{padding-left:240px}.lesson-panel{width:240px}.m-lesson-toggle{left:232px}.lesson-panel footer{gap:4px}.lesson-panel footer .pill-button{padding:7px 8px}.editor-dialog.lesson-folded .m-header,.editor-dialog.lesson-folded .m-toolbar{margin-left:0}.editor-dialog.lesson-folded .m-body{padding-left:0}}
@media(max-width:700px){.editor-dialog.has-lesson .m-header,.editor-dialog.has-lesson .m-toolbar{margin-left:0}.editor-dialog.has-lesson .m-body{padding-left:0}.lesson-panel{top:96px;z-index:15}.m-lesson-toggle{z-index:16}.lesson-panel header{display:none}}
.editor-dialog{font-family:Arial,"Microsoft YaHei",sans-serif}.m-sidebar{overflow:hidden;display:flex;flex-direction:column}.m-sidebar-tools,.m-library-head{flex:none}.m-palette{overflow-y:auto;min-height:0;flex:1;align-content:start}.m-object-details{max-height:210px;overflow-y:auto;flex:none}.m-local-note{display:none}.m-object-details:not([open]){margin:0;padding:0 10px;border:0}.m-object-details:not([open]) summary{font-size:10px;padding:4px 0;margin:0}

.lesson-panel .lesson-instruction p{font-size:16px;line-height:1.5}
.m-selection-cage{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.m-viewport{user-select:none}.m-viewport input,.m-viewport textarea{user-select:text}
.m-move-feedback{position:absolute;inset:0;pointer-events:none;z-index:6}.m-move-feedback[hidden]{display:none}.m-move-feedback svg{width:100%;height:100%;overflow:visible}.m-move-feedback output{position:absolute;transform:translate(-50%,-50%);background:#fff;padding:5px 8px;color:#111;font:12px Arial,sans-serif;white-space:nowrap}
.m-alignment-handles{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:hidden}.m-alignment-handles[hidden]{display:none}.m-alignment-handles>button{position:absolute;transform:translate(-50%,-50%);width:15px;height:9px;padding:0;border:0;border-radius:50%;background:#353b3d;pointer-events:auto;cursor:pointer}.m-alignment-handles>button.vertical{width:10px;height:15px;transform:translate(-50%,-50%) rotate(-25deg)}.m-alignment-handles>button:hover,.m-alignment-handles>button:focus-visible{background:#ed985d;outline:2px solid #fff;outline-offset:2px}

.m-text-property{display:block;color:#606873;font-size:12px;margin:12px 4px}.m-text-property input{display:block;width:100%;height:26px;border:1px solid #d6d9dc;border-radius:14px;padding:2px 9px;margin-top:6px;font:12px Arial,sans-serif}.m-text-font{display:flex;align-items:center;justify-content:space-between;margin:10px 4px;font-size:12px;color:#606873}.m-text-font select{width:124px;height:30px;border:1px solid #d6d9dc;border-radius:16px;padding:3px 8px;background:white}

.house-chapter-list{display:grid;gap:20px;margin:24px 0}.house-chapter-card{display:flex;align-items:center;gap:28px;padding:22px;border:1px solid #dce3e8;border-radius:8px;background:white}.house-chapter-card>img{width:250px;max-height:190px;object-fit:contain}.house-chapter-card h2{margin:8px 0}.lesson-chapter-picker{display:block;font-size:12px;margin-top:12px}.lesson-chapter-picker select{width:100%;padding:7px;margin-top:5px;border:1px solid #dce3e8;background:white;color:#444}

.lesson-panel:has(.lesson-chapter-picker)>header{height:auto;min-height:106px;flex-shrink:0;padding-bottom:10px}.lesson-panel .lesson-chapter-picker{display:block}.lesson-panel:has(.lesson-chapter-picker) .lesson-body{padding-top:12px}

.m-ring-profile{position:relative;width:200px;max-width:100%;margin:18px auto 8px}.m-ring-profile svg{display:block;width:100%;border:1px solid #35aec5;touch-action:none}.m-ring-profile [data-profile-node]{cursor:move}.m-ring-settings{position:absolute;right:1px;top:1px;border:0;background:transparent;color:#69777c;font-size:20px;padding:0 5px}.m-ring-snap{position:absolute;right:33px;top:4px;color:#169bb0;font-size:11px;background:transparent;border:0;padding:0}.m-ring-snap input{width:12px;height:12px;margin:0 3px 0 0;vertical-align:middle}
.m-native-grip.active,.m-native-grip:active{background:#e72b20;border-color:#6a2118}.m-native-grip.rotation.active,.m-native-grip.lift.active{background:transparent}.m-grip-dimensions{position:absolute;inset:0;pointer-events:none;z-index:5;overflow:hidden}.m-grip-dimensions[hidden],.m-grip-dimensions input[hidden]{display:none}.m-grip-dimensions svg{position:absolute;width:100%;height:100%;overflow:visible}.m-grip-dimensions svg path{stroke:#29383b;stroke-width:1;fill:#29383b}.m-grip-dimensions svg .extension{fill:none;stroke-width:.8}.m-grip-dimensions svg .dimension{fill:none}.m-grip-dimensions input{position:absolute;transform:translate(-50%,-50%);width:63px;height:26px;text-align:center;border:0;border-radius:0;background:#fffffff2;color:#17262d;font:13px Arial,sans-serif;padding:3px;pointer-events:auto}.m-grip-dimensions input:focus{outline:1px solid #45b4e5}.m-grip-dimensions input::-webkit-inner-spin-button{appearance:none}
.m-tool>.m-source-icon{width:32px;height:32px;vertical-align:middle;pointer-events:none}.m-tool:disabled>.m-source-icon{filter:grayscale(1);opacity:.24}.m-inspector .m-source-icon{width:25px;height:25px}.m-toolbar .m-tool{width:44px}.m-grip-dimensions input{box-sizing:border-box}
.m-inspector.locked .m-reference-properties,.m-inspector.locked .m-size-details,.m-inspector.locked .m-position-details{display:none}.m-inspector.locked .m-solid-options{min-height:38px;padding:0;margin:0}.m-inspector.locked .m-solid-options>button{height:35px;font-size:0;padding:2px}.m-inspector.locked .m-solid-options i{width:20px;height:20px}.m-inspector.locked .m-inspector-content{padding-top:0}.m-inspector.locked .m-solid-options>label{display:none}
.m-group-types{display:flex;justify-content:flex-end;gap:8px}.m-group-types button{width:36px;height:36px;border:0;background:none;padding:2px;cursor:pointer}.m-group-types img,.m-group-types svg{width:32px;height:32px}.m-group-types button:hover{background:#e9f3fc}
.m-workspace-modal{position:absolute;inset:0;z-index:120;background:#45556e99;display:flex;align-items:center;justify-content:center}.m-workspace-card{width:425px;max-height:94%;overflow:auto;background:#f0f1f5;border-radius:4px;color:#67727d;font:13px Arial,sans-serif}.m-workspace-card header{height:55px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;background:white;border-bottom:1px solid #dce1e6}.m-workspace-card header strong{font-size:20px;font-weight:400}.m-workspace-card button{cursor:pointer;background:#fff;border:1px solid #8baecd;border-radius:4px;color:#6795b9;padding:6px 14px}.m-workspace-card header button{font-size:23px;border:0;padding:0;color:#aaa}.m-workspace-fields{padding:14px 17px}.m-workspace-fields label,.m-workspace-fields p{min-height:42px;display:flex;align-items:center;justify-content:space-between;margin:2px 0}.m-workspace-fields input[type=color]{width:25px;height:25px;border:0;background:none}.m-workspace-fields input[type=checkbox]{width:18px;height:18px;accent-color:#1683dc}.m-workspace-fields input[type=range]{width:220px}.m-workspace-fields input[type=number]{width:110px;padding:6px;border:1px solid #d7dce3;border-radius:3px}.m-workspace-fields small{display:block;color:#d18b2d;margin:-8px 0 12px}.m-workspace-speed{display:flex;justify-content:space-between;margin-left:150px}.m-workspace-card footer{display:flex;justify-content:flex-end;padding:12px 24px;border-top:1px solid #dce1e6}.m-workspace-fields hr{border:0;border-top:1px solid #dce1e6;margin:16px 0}
.m-sketch-full footer #sk-settings{pointer-events:auto;margin-left:auto;background:#fff;border:1px solid #dce2e6;border-radius:3px;padding:4px 16px;font:11px Arial;color:#69777f;cursor:pointer}
.m-inspector.no-properties .m-reference-properties{display:none}
#m-file-backdrop:not([hidden]){position:absolute;inset:0;background:#45556e99;z-index:89}.m-popover[data-position=file]{position:absolute;z-index:90;left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);width:470px;max-width:94vw;max-height:88vh;overflow:auto;border:0;border-radius:4px;background:#f0f1f5;box-shadow:none;padding:16px;color:#697987}.m-popover[data-position=file] .m-popover-head{background:#fff;margin:-16px -16px 16px;padding:12px 16px;min-height:52px}.m-popover[data-position=file] .m-popover-head strong{font-size:20px;font-weight:400}.m-export-include{background:#fff;padding:12px;margin-bottom:18px;border-radius:3px;display:grid;gap:10px;font-size:13px}.m-export-include label{display:flex;align-items:center;gap:8px}.m-export-include input{accent-color:#5b96d5}
.m-empty-group-warning{background:#697385;color:#fff;padding:10px;border-radius:7px;line-height:1.7;font-size:12px!important}
.m-lift-delta{position:absolute;transform:translate(-50%,-50%);padding:5px 9px;min-width:44px;text-align:center;background:#fffffff0;color:#111;font:12px Arial,sans-serif;pointer-events:none}.m-lift-delta[hidden]{display:none}
.sketch-title[role=button]{cursor:pointer;background:#24c452;color:#fff;border-radius:18px;padding:6px 12px}.m-sketch-help{position:absolute;inset:0;z-index:250;background:#455775b3;display:flex;align-items:center;justify-content:center}.m-sketch-help>section{width:min(920px,94vw);height:min(580px,85vh);background:white;border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.m-sketch-help>section>header{position:static;background:#4b83d3;color:#fff;min-height:54px;padding:10px 20px;display:flex;align-items:center;justify-content:space-between;font-size:20px}.m-sketch-help header button{border:0;background:none;color:#fff;font-size:28px}.sketch-help-layout{display:grid;grid-template-columns:240px 1fr;min-height:0;flex:1}.m-sketch-help nav{position:static;display:flex;flex-direction:column;gap:6px;padding:20px 14px;border-right:1px solid #d8dce2;background:#f8fafc;transform:none}.m-sketch-help nav button{border:1px solid transparent;background:none;color:#465865;border-radius:22px;padding:10px 16px;text-align:left;min-height:40px}.m-sketch-help nav button.active{border-color:#5187d9;color:#3979cb;background:white}.m-sketch-help article{overflow:auto;padding:20px 26px;color:#455663;line-height:1.7}.m-sketch-help h2{font-size:27px;margin:0 0 16px}.m-sketch-help small{display:block;margin-top:22px;color:#738392}.sketch-help-demo{background:#f4f9fd;border:1px solid #dbe7ef;border-radius:6px}.sketch-help-demo svg{width:100%;height:240px}.sketch-help-demo svg>path:first-child{stroke-dasharray:900;animation:sketch-help-draw 4s ease-in-out infinite}@keyframes sketch-help-draw{0%{stroke-dashoffset:900;fill-opacity:.1}65%,100%{stroke-dashoffset:0;fill-opacity:1}}
.m-spatial-tools{position:absolute;inset:0;z-index:24;pointer-events:none;font:12px Arial,sans-serif;color:#263238}.m-spatial-tools[hidden]{display:none}.m-spatial-tools button,.m-spatial-tools input{pointer-events:auto}.m-spatial-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.m-spatial-lines path{fill:none}.m-spatial-lines .ruler-axis{stroke:#26b5d1;stroke-width:1}.m-spatial-lines .ruler-dimension{stroke:#465a60;stroke-width:1}.m-spatial-lines .measure-line{stroke:#159dd1;stroke-width:3;stroke-dasharray:9 4}.m-viewport.measuring:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 22px 8px #39a8ed8c;pointer-events:none;z-index:23}.m-spatial-hint{position:absolute;top:16px;left:50%;transform:translateX(-50%);background:#ffffffeb;border-radius:20px;padding:8px 14px;white-space:nowrap;box-shadow:0 0 4px #ced4d8;font-weight:600}.m-cruise-modes{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);background:#fffffff2;border:1px solid #ddd;border-radius:14px;padding:8px;box-shadow:0 2px 5px #aaa;pointer-events:auto}.m-cruise-modes span{display:block;margin-bottom:4px}.m-cruise-modes button{background:none;border:1px solid transparent;border-radius:20px;padding:6px 12px;color:#394c5a}.m-cruise-modes button.active{border-color:#5f9cde;color:#397fc6}.m-cruise-anchor{position:absolute;width:16px;height:16px;transform:translate(-50%,-50%);border:3px solid #25363d;border-radius:50%;background:white;cursor:move}.m-ruler-actions{position:absolute;transform:translate(-50%,-8px);white-space:nowrap;pointer-events:auto}.m-ruler-actions button{border:0;background:#ffffffa6;border-radius:50%;font-size:18px;color:#43535a;width:24px;height:24px}.m-ruler-values input,.m-measure-distance{position:absolute;transform:translate(-50%,-50%);width:62px;height:26px;border:1px solid transparent;border-radius:1px;background:#fffffff0;padding:3px;color:#111;font:12px Arial,sans-serif;text-align:center;appearance:textfield;-moz-appearance:textfield}.m-ruler-values input:focus,.m-measure-distance:focus{border-color:#5aa4f0;outline:0}.m-spatial-tools input::-webkit-inner-spin-button{appearance:none}.m-measure-endpoints button{position:absolute;width:17px;height:17px;transform:translate(-50%,-50%);border:2px solid #84929b;border-radius:50%;background:white;cursor:move}.m-measure-endpoints button:before{content:"";position:absolute;width:26px;height:26px;border:2px solid #aab8c3;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#fff;left:-8px;bottom:13px}.m-measure-endpoints button.active{border-color:#419ef2;background:#6abaff}.m-measure-endpoints button.active:before{border-color:#419ef2}.m-point-snap{position:absolute;width:9px;height:9px;padding:0;transform:translate(-50%,-50%);border-radius:50%;border:2px solid #fff;background:#25a9e8;pointer-events:none!important}.m-toolbar button.spatial-active{background:#d7edff}.m-viewport.cruising .m-native-handles,.m-viewport.measuring .m-native-handles{visibility:hidden!important}
.m-control-tooltip{position:fixed;z-index:180;pointer-events:none;max-width:260px;padding:8px 12px;background:#34495d;color:#fff;border-radius:4px;font:13px Arial,sans-serif;line-height:1.6;box-sizing:border-box}.m-control-tooltip[hidden]{display:none}.m-control-tooltip:before{content:"";position:absolute;top:-6px;left:calc(50% - 6px);border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #34495d}.m-control-tooltip strong{display:block;font-weight:700}.m-control-tooltip span{display:block;color:#6bdbac}.m-control-tooltip small{display:block;margin-top:5px;color:#d7e5ed}
.m-lift-delta{pointer-events:auto;cursor:text}.m-lift-delta:focus{outline:1px solid #45b4e5}.m-grip-dimensions input.m-lift-relative-input{z-index:2}

.m-mirror-handles{position:absolute;inset:0;pointer-events:none;z-index:15}.m-mirror-handles[hidden]{display:none}.m-mirror-handles button{position:absolute;width:58px;height:22px;border:0;padding:0;background:transparent;pointer-events:auto;cursor:pointer;outline-offset:3px}.m-mirror-handles svg{width:58px;height:22px;fill:#40484c;overflow:visible}.m-mirror-handles button:hover svg{fill:#161c20}.lesson-source-hint{margin:12px 0;color:#327fb1}.lesson-source-hint summary{cursor:pointer;font-size:13px}.lesson-source-hint p{color:#394a54;margin-top:8px}
.m-grip-dimensions svg path{stroke:#000;stroke-width:1;fill:#000}.m-grip-dimensions svg .extension,.m-grip-dimensions svg .dimension{fill:none;stroke-width:1}.m-grip-dimensions input{height:30px;background:rgba(255,255,255,.75);color:#000;font:14px "Helvetica Neue",Helvetica,Arial,"Lucida Grande",sans-serif;padding:6px}.m-native-grip.active:not(:focus-visible){outline:none}
.m-native-grip.lift .lift-axial-cap{display:none}.m-native-grip.lift[data-axial=true]{pointer-events:none}.m-native-grip.lift[data-axial=true] svg{transform:none!important}.m-native-grip.lift[data-axial=true] path{display:none}.m-native-grip.lift[data-axial=true] .lift-axial-cap{display:block;fill:#333;stroke:none}
.m-native-grip.rotation svg{stroke:#000;stroke-opacity:.5;filter:none}.m-native-grip.rotation svg polygon{fill:#000;fill-opacity:.5}.m-native-grip.rotation:hover svg{stroke:#ee795e;stroke-opacity:1}.m-native-grip.rotation:hover svg polygon{fill:#ee795e;fill-opacity:1}
.m-rotation-dial label{background:rgba(255,255,255,.75);color:#000;font:14px "Helvetica Neue",Helvetica,Arial,"Lucida Grande",sans-serif;padding:6px;box-shadow:none}.m-rotation-dial input{font:inherit;color:inherit}

.sketch-dimension-inputs{position:absolute;inset:0;pointer-events:none;z-index:12}.sketch-dimension-inputs[hidden]{display:none}.sketch-dimension-inputs input{position:absolute;transform:translate(-50%,-50%);height:28px;border:1px solid #edf0f2;border-radius:15px;padding:3px 10px;background:#fff;color:#273238;text-align:center;font:13px Arial,sans-serif;pointer-events:auto;outline:none}.sketch-dimension-inputs input:focus{font-weight:700;box-shadow:0 0 0 1px #dce6eb}

.m-generator-description{margin:3px 0 14px;font-size:12px;color:#6c7782}.m-generator-reference{font-size:11px;color:#6c7782;margin:14px 0 0}

/* Visible native cylinder glyphs: joined semicircular shaft, no detached tips. */
.m-native-grip.rotation svg{stroke-width:1.7}

/* Native floor-plane dial is charcoal; the two upright dials are grey. */
.m-native-grip.rotation[data-grip="rotate:2"]:not(:hover) svg{stroke:#262626;stroke-opacity:1}
.m-native-grip.rotation[data-grip="rotate:2"]:not(:hover) svg polygon{fill:#262626;fill-opacity:1}

/* The wide transparent rotation hit path must not cover the lift/height grips. */
.m-native-grip.lift,.m-native-grip.height{z-index:2}

/* Original lesson lightbox:20% neutral backdrop,80vw/80vh image,40px close control. */
.content-dialog.lesson-image-modal{position:fixed;inset:0;width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:hidden}
.content-dialog.lesson-image-modal::backdrop{background:rgba(0,0,0,.2)}
.lesson-image-modal #dialog-content,.lesson-image-modal .dialog-body{width:100%;height:100%;padding:0}
.lesson-image-modal .dialog-body{display:grid;place-items:center}
.lesson-image-modal .lesson-image-large{width:auto;height:auto;max-width:80vw;max-height:80vh;object-fit:contain;margin:0;border-radius:2px;box-shadow:0 2px 8px #0003}
.lesson-image-modal .dialog-close{position:fixed;top:16px;right:16px;width:40px;height:40px;padding:8px;border:0;border-radius:50%;background:#fff;color:#222;z-index:1;display:grid;place-items:center}
.lesson-image-modal .dialog-close svg{width:24px;height:24px;stroke:#222;stroke-width:1.7;fill:none}
.m-rotation-dial label{gap:0;white-space:nowrap;max-width:calc(100% - 8px)}
.m-rotation-dial input{box-sizing:content-box;min-width:3ch;padding:0;margin:0;flex:0 0 auto;appearance:textfield;-moz-appearance:textfield}
.m-rotation-dial input::-webkit-inner-spin-button,.m-rotation-dial input::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}
