/* 3D-01 isolated workspace styles. No 2D theme/Host selectors modified. */
.g2d-standalone-page [hidden] {display:none !important;}
.g2d-standalone-page .gs3d-mode-switch{display:flex;align-items:center;gap:3px;padding:3px;background:#e6f0fd;border:1px solid #c9dcf8;border-radius:11px;white-space:nowrap;margin:3px 4px 3px 0;flex-shrink:0;}
.g2d-standalone-page .gs3d-mode-btn{min-width:40px;min-height:38px;padding:5px 9px;border-radius:8px;border:0;background:transparent;color:#254675;font-weight:750;font-size:14px;cursor:pointer;}
.g2d-standalone-page .gs3d-mode-btn.active{background:#145bd7;color:white;box-shadow:0 2px 9px rgba(24,71,142,.24);}
.g2d-standalone-page .gs3d-mode-btn:focus-visible,.g2d-standalone-page .gs3d-group:focus-visible,.g2d-standalone-page .gs3d-view-btn:focus-visible{outline:3px solid #f28c26;outline-offset:2px;}
.g2d-standalone-page .gs3d-toolbar{position:relative;background:rgba(253,254,255,.96);border-radius:8px;display:flex;flex-direction:column;gap:4px;max-width:100%;}
.g2d-standalone-page .gs3d-tool-row{display:flex;align-items:center;gap:3px;overflow-x:auto;scrollbar-width:thin;padding:3px;}
.g2d-standalone-page .gs3d-group{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid transparent;border-radius:8px;min-width:53px;min-height:49px;background:white;color:#315174;font-size:10px;line-height:1.2;cursor:pointer;transition:background .12s;}
.g2d-standalone-page .gs3d-group:hover,.g2d-standalone-page .gs3d-group.is-active{background:#e4f0ff;color:#125cd7;border-color:#b7cef5;}
.g2d-standalone-page .gs3d-group svg{width:21px;height:21px;flex:none;}
.g2d-standalone-page .gs3d-settings{display:flex;align-items:center;gap:3px;border-left:1px solid #d8e3f4;padding-left:5px;}
.g2d-standalone-page .gs3d-action{border:1px solid #d7e4f6;border-radius:8px;background:#f8fbff;color:#2760a6;min-height:37px;min-width:36px;}
.g2d-standalone-page .gs3d-select{border:1px solid #d8e3f4;border-radius:7px;background:#fff;padding:6px 2px;color:#23518c;font-weight:600;}
.g2d-standalone-page .gs3d-search{max-width:160px;width:100%;border:1px solid #e0e9f4;border-radius:7px;margin:0 3px;font-size:12px;padding:3px 8px;}
.g2d-standalone-page .gs3d-tool-menu{position:absolute;top:100%;left:8px;z-index:1060;background:white;border:1px solid #dce5f3;border-radius:10px;box-shadow:0 15px 35px rgba(20,49,91,.17);min-width:240px;max-width:min(95vw,330px);padding:6px;}
.g2d-standalone-page .gs3d-palette-command{display:block;width:100%;border:0;border-radius:7px;background:white;color:#1d416a;text-align:left;padding:10px;font-size:13px;}
.g2d-standalone-page .gs3d-palette-command:hover:enabled{background:#eaf3ff;}
.g2d-standalone-page .gs3d-palette-command:disabled{color:#8f9eac;cursor:default;}
.g2d-standalone-page .gs3d-status-line{font-size:11px;color:#57718f;padding:0px 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.g2d-standalone-page #gs3d-stage-host{height:72vh;min-height:610px;background:#f8fbff;}
.g2d-standalone-page .gs3d-stage{position:relative;width:100%;height:100%;overflow:hidden;outline:none;}
.g2d-standalone-page .gs3d-canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair;}
.g2d-standalone-page .gs3d-hint{position:absolute;bottom:10px;left:12px;border:1px solid rgba(211,225,246,.9);border-radius:20px;background:rgba(255,255,255,.85);backdrop-filter:blur(8px);color:#28537a;font-size:12px;padding:7px 12px;pointer-events:none;max-width:70%;}
.g2d-standalone-page .gs3d-view-stack{display:flex;flex-direction:column;gap:5px;position:absolute;top:12px;right:14px;}
.g2d-standalone-page .gs3d-view-btn{border:1px solid #d2e0f4;border-radius:8px;background:rgba(255,255,255,.92);color:#23538a;font-size:12px;min-width:43px;min-height:35px;}
.g2d-standalone-page .gs3d-panel{padding:10px 12px;font-size:13px;min-height:540px;}
.g2d-standalone-page .gs3d-panel h3{font-size:16px;color:#175ac3;margin:4px 0;}
.g2d-standalone-page .gs3d-panel h4{font-size:13px;font-weight:700;color:#214e8b;margin:18px 0 6px;}
.g2d-standalone-page .gs3d-subtle{color:#71849c;font-size:12px;line-height:1.5;}
.g2d-standalone-page .gs3d-panel-row{display:flex;gap:6px;margin:9px 0;}
.g2d-standalone-page .gs3d-panel-btn{border:1px solid #cfe0f8;background:white;color:#1c62ce;border-radius:8px;font-weight:600;padding:8px 7px;min-height:39px;flex:1;}
.g2d-standalone-page .gs3d-panel-btn:hover{background:#edf5ff;}
.g2d-standalone-page .gs3d-object-list{border:1px solid #dbe6f6;border-radius:9px;padding:5px;max-height:260px;overflow:auto;}
.g2d-standalone-page .gs3d-object-row{display:block;border:0;border-bottom:1px solid #eef2fa;width:100%;text-align:left;background:white;font-size:12px;padding:9px;color:#214d80;}
.g2d-standalone-page .gs3d-object-row.is-current,.g2d-standalone-page .gs3d-object-row:hover{background:#eaf3ff;}
.g2d-standalone-page .gs3d-options{background:#f4f8fe;padding:8px;border-radius:8px;}
.g2d-standalone-page .gs3d-save-warning{color:#bf2929;font-size:12px;background:#fff0f0;padding:9px;border-radius:7px;}
.g2d-standalone-page .gs3d-danger{border:1px solid #f2b4b4;background:#fffafa;color:#bd2828;border-radius:8px;padding:9px 12px;}
@media(max-width:1199px){.g2d-standalone-page #gs3d-stage-host{height:62vh;min-height:490px;}}
@media(max-width:680px){.g2d-standalone-page .gs3d-mode-btn{min-height:43px;min-width:43px;}.g2d-standalone-page .gs3d-group{min-width:49px;min-height:49px;}.g2d-standalone-page .gs3d-search{max-width:104px;}}
/* Single primary bar: mode switch and exactly one active workspace toolbar. */
.g2d-standalone-page .g2d-toolbar-shell{display:flex;align-items:center;gap:4px;}
.g2d-standalone-page #toolbar-host,.g2d-standalone-page #gs3d-toolbar-host{flex:1 1 0;min-width:0;}
.g2d-standalone-page .gs3d-mode-switch{align-self:flex-start;}
/* 3D-02 additive lightweight favorites/recent row; 2D and Host selectors untouched. */
.g2d-standalone-page .gs3d-quick-row{display:flex;align-items:center;gap:5px;overflow-x:auto;scrollbar-width:thin;padding:2px 7px;min-height:29px;border-top:1px solid #e8eff7;}
.g2d-standalone-page .gs3d-quick-label{color:#557498;font-size:11px;font-weight:650;white-space:nowrap;padding-right:4px;}
.g2d-standalone-page .gs3d-quick-btn{font-size:11px;color:#295184;background:#f5f9ff;border:1px solid #dae7f7;border-radius:6px;padding:4px 8px;cursor:pointer;white-space:nowrap;max-width:164px;text-overflow:ellipsis;overflow:hidden;}
.g2d-standalone-page .gs3d-quick-btn:hover{background:#e5f0ff;}
.g2d-standalone-page .gs3d-action.is-active{background:#dceeff;color:#165fc4;border-color:#9ec2f0;}
@media (pointer:coarse){.g2d-standalone-page .gs3d-quick-btn{min-height:36px;}.g2d-standalone-page .gs3d-palette-command{min-height:44px;}}
/* 3D-03 parameter editing and live mathematical inspector. All selectors are Tool-scoped. */
.g2d-standalone-page .gs3d-param-holder{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#214a7a;white-space:nowrap;}
.g2d-standalone-page .gs3d-param-input{border:1px solid #adc6e8;border-radius:7px;background:#fff;color:#193c6e;width:70px;height:34px;padding:4px;font-size:13px;}
.g2d-standalone-page .gs3d-analysis-list{border:1px solid #dbe6f6;border-radius:9px;max-height:220px;overflow:auto;background:#fbfdff;}
.g2d-standalone-page .gs3d-analysis-item{padding:7px 9px;border-bottom:1px solid #eaf1fa;font-size:12px;color:#214e80;overflow-wrap:anywhere;}
.g2d-standalone-page .gs3d-param-input:focus-visible{outline:3px solid #f28c26;outline-offset:1px;}
/* 3D-03 Owner interaction recovery: single-scoped UI, không thay đổi CSS 2D/Host. */
.g2d-standalone-page .gs3d-canvas[data-cursor="grab"]{cursor:grab;}
.g2d-standalone-page .gs3d-canvas[data-cursor="grabbing"]{cursor:grabbing;}
.g2d-standalone-page .gs3d-canvas[data-cursor="move"]{cursor:move;}
.g2d-standalone-page .gs3d-canvas[data-cursor="pointer"]{cursor:pointer;}
.g2d-standalone-page .gs3d-canvas[data-cursor="crosshair"]{cursor:crosshair;}
.g2d-standalone-page .gs3d-selection-counter{flex:1;align-self:center;font-size:12px;color:#245a9c;font-weight:700;white-space:nowrap;}
.g2d-standalone-page .gs3d-delete-action{border:1px solid #ebc5c4;border-radius:8px;background:#fff7f5;color:#a73534;padding:6px 9px;min-height:36px;font-size:12px;cursor:pointer;white-space:nowrap;}
.g2d-standalone-page .gs3d-delete-action:hover,.g2d-standalone-page .gs3d-danger:hover{background:#ffe8e4;}
.g2d-standalone-page .gs3d-danger:disabled{opacity:.46;cursor:not-allowed;}
.g2d-standalone-page .gs3d-stage:focus-visible{outline:2px solid #3b82f6;outline-offset:-2px;}
@media(pointer:coarse){.g2d-standalone-page .gs3d-delete-action{min-height:44px;padding-inline:12px;}}
.g2d-standalone-page .gs3d-canvas[data-cursor="not-allowed"]{cursor:not-allowed;}
.g2d-standalone-page .gs3d-context-menu{position:absolute;z-index:11;min-width:185px;border:1px solid #cdddf2;border-radius:11px;padding:5px;box-shadow:0 14px 35px rgba(18,51,98,.22);background:rgba(255,255,255,.97);backdrop-filter:blur(7px);}
.g2d-standalone-page .gs3d-context-action{display:block;border:0;width:100%;min-height:37px;background:transparent;text-align:left;padding:8px;color:#254b79;border-radius:7px;font-size:13px;cursor:pointer;}
.g2d-standalone-page .gs3d-context-action:hover,.g2d-standalone-page .gs3d-context-action:focus-visible{background:#e6f1ff;outline:2px solid #5796df;}

/* 3D Owner Recovery PATCH02: portal palette avoids the mandatory clipped 2D Host toolbar. */
.g2d-standalone-page > .gs3d-tool-menu,.g2d-standalone-page .g2d-standalone-shell > .gs3d-tool-menu{position:fixed!important;z-index:2100!important;max-width:min(330px,95vw);overflow-y:auto;overscroll-behavior:contain;background:#fff;border:1px solid #cddcf0;border-radius:12px;box-shadow:0 18px 40px rgba(22,47,83,.24);padding:7px;}
.g2d-standalone-page .gs3d-mode-rail{display:flex;align-items:center;gap:4px;flex-shrink:0;padding-right:6px;border-right:1px solid #ceddf0;}
.g2d-standalone-page .gs3d-mode-command{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:45px;min-height:49px;background:#f2f7fe;border:1px solid #d6e5f6;border-radius:9px;color:#285481;font:600 10px/1.15 system-ui;cursor:pointer;}
.g2d-standalone-page .gs3d-mode-command.is-active{border-color:#387ee2;background:#dceaff;color:#1456b5;box-shadow:inset 0 0 0 1px #8db4ec;}
.g2d-standalone-page .gs3d-help-trigger{position:absolute;top:10px;left:10px;z-index:8;background:rgba(255,255,255,.91);color:#185798;border:1px solid #cddff4;border-radius:20px;min-height:37px;padding:5px 12px;box-shadow:0 3px 12px rgba(20,66,120,.09);font-size:12px;font-weight:650;cursor:pointer;}
.g2d-standalone-page .gs3d-help-card{position:absolute;z-index:10;top:54px;left:10px;width:min(410px,calc(100% - 24px));max-height:min(420px,calc(100% - 64px));overflow:auto;background:rgba(255,255,255,.98);border:1px solid #c5d7ef;box-shadow:0 12px 38px rgba(23,61,105,.2);border-radius:12px;padding:11px;}
.g2d-standalone-page .gs3d-help-row{display:grid;grid-template-columns:128px 1fr;gap:8px;padding:7px 3px;border-bottom:1px solid #edf2f8;font-size:12px;line-height:1.5;color:#244a75;}
.g2d-standalone-page .gs3d-help-row strong{font-weight:750;color:#145bba;}
.g2d-standalone-page .gs3d-help-close{display:block;margin:9px 0 0 auto;padding:7px 12px;border-radius:7px;border:1px solid #b6d1f1;background:#edf5ff;color:#164e8c;cursor:pointer;}
.g2d-standalone-page .gs3d-help-trigger:focus-visible,.g2d-standalone-page .gs3d-help-close:focus-visible,.g2d-standalone-page .gs3d-mode-command:focus-visible{outline:3px solid #e98825;outline-offset:2px;}
@media(pointer:coarse){.g2d-standalone-page .gs3d-help-trigger,.g2d-standalone-page .gs3d-mode-command{min-height:44px;}}

/* OWNER V3 P01/P04 — One compact primary dock, no global or Host selectors. */
.g2d-standalone-page .gs3d-mode-switch{flex-direction:column;gap:2px;align-self:center;padding:3px;margin:2px 5px 2px 0;}
.g2d-standalone-page .gs3d-mode-btn{min-width:42px;min-height:29px;font-size:12px;padding:3px 7px;}
.g2d-standalone-page .gs3d-toolbar{gap:0;overflow:visible;}
.g2d-standalone-page .gs3d-tool-row{min-height:59px;overflow-x:hidden;flex-wrap:nowrap;gap:3px;padding:3px 4px;}
.g2d-standalone-page .gs3d-group{flex:0 0 auto;min-width:48px;min-height:49px;max-width:65px;padding:3px 4px;font-size:10px;background:transparent;border-color:transparent;}
.g2d-standalone-page .gs3d-group[data-group="curve"],
.g2d-standalone-page .gs3d-group[data-group="sphere"],
.g2d-standalone-page .gs3d-group[data-group="transform"],
.g2d-standalone-page .gs3d-group[data-group="section"],
.g2d-standalone-page .gs3d-group[data-group="text"],
.g2d-standalone-page .gs3d-group[data-group="views"]{display:none;}
.g2d-standalone-page .gs3d-settings{margin-left:auto;min-width:0;flex:0 1 auto;gap:3px;}
.g2d-standalone-page .gs3d-action{min-height:42px;min-width:39px;cursor:pointer;}
.g2d-standalone-page .gs3d-search[hidden],.g2d-standalone-page .gs3d-quick-row[hidden]{display:none!important;}
.g2d-standalone-page .gs3d-search:not([hidden]){position:absolute;top:100%;right:4px;z-index:2102;width:min(280px,70vw);max-width:none;padding:9px;border-radius:9px;background:white;box-shadow:0 6px 23px rgba(19,53,96,.18);}
.g2d-standalone-page .gs3d-quick-row:not([hidden]){position:absolute;top:100%;left:3px;z-index:2101;max-width:min(760px,90vw);width:max-content;background:rgba(255,255,255,.98);border:1px solid #d5e1f1;border-radius:9px;padding:7px;box-shadow:0 7px 22px rgba(22,57,106,.13);}
.g2d-standalone-page .gs3d-owner-icon{display:block;width:27px;height:27px;object-fit:contain;flex:none;filter:drop-shadow(0 1px 1px rgba(45,67,112,.15));}
.g2d-standalone-page .gs3d-palette-command{display:flex;align-items:center;gap:9px;min-height:44px;}
.g2d-standalone-page .gs3d-palette-command .gs3d-owner-icon{width:34px;height:34px;}
.g2d-standalone-page .gs3d-palette-heading{color:#124f97;font-weight:750;background:#f4f8fe;border-bottom:1px solid #ebf1f8;}
.g2d-standalone-page .gs3d-mode-rail{padding-right:4px;}
.g2d-standalone-page .gs3d-status-line{border-top:1px solid #ecf2fa;min-height:16px;padding:2px 8px;}
.g2d-standalone-page .gs3d-property-card,.g2d-standalone-page .gs3d-name-popup{position:absolute;top:55px;left:12px;z-index:12;width:min(320px,calc(100% - 24px));border:1px solid #b9cfeb;border-radius:12px;background:#fff;box-shadow:0 12px 27px rgba(22,59,106,.2);padding:12px;}
.g2d-standalone-page .gs3d-property-card[hidden],.g2d-standalone-page .gs3d-name-popup[hidden]{display:none!important;}
.g2d-standalone-page .gs3d-property-card>strong{color:#154c8f;display:block;margin-bottom:8px;}
.g2d-standalone-page .gs3d-property-card p{font-size:12px;color:#455b77;}
.g2d-standalone-page .gs3d-property-card button{display:block;width:100%;margin-top:5px;}
.g2d-standalone-page .gs3d-name-popup{display:flex;align-items:center;gap:6px;width:min(400px,calc(100% - 24px));}
.g2d-standalone-page .gs3d-name-field{min-width:60px;width:100%;flex:1;padding:7px;border:1px solid #b3c9e8;border-radius:6px;}
.g2d-standalone-page .gs3d-name-field[aria-invalid="true"]{border-color:#dc3d3d;background:#fff2f2;}
.g2d-standalone-page .gs3d-name-popup button{padding:7px 9px;border:1px solid #ccdcf2;background:#f2f8ff;color:#16509c;border-radius:7px;white-space:nowrap;}
.g2d-standalone-page .gs3d-context-menu{max-height:min(70vh,370px);overflow-y:auto;}
.g2d-standalone-page .gs3d-canvas[data-cursor="copy"]{cursor:copy;}
@media(max-width:1450px){.g2d-standalone-page .gs3d-group[data-group="relation"],.g2d-standalone-page .gs3d-group[data-group="measure"]{display:none;}}
@media(max-width:1080px){.g2d-standalone-page .gs3d-group[data-group="solid"],.g2d-standalone-page .gs3d-group[data-group="plane"]{display:none;}.g2d-standalone-page .gs3d-group[data-group="more"]{display:flex;}}
@media(max-width:760px){.g2d-standalone-page .gs3d-tool-row{min-height:56px;}.g2d-standalone-page .gs3d-group{min-width:43px;padding-inline:2px;}.g2d-standalone-page .gs3d-settings{gap:1px;}.g2d-standalone-page .gs3d-action{min-width:33px;padding-inline:3px;}.g2d-standalone-page .gs3d-select{max-width:47px;}.g2d-standalone-page .gs3d-delete-action{display:none;}}
@media(pointer:coarse){.g2d-standalone-page .gs3d-group,.g2d-standalone-page .gs3d-mode-command,.g2d-standalone-page .gs3d-action{min-height:44px;}}

/* Prevent a second visible Select icon: the dedicated mode rail owns Select/Orbit. */
.g2d-standalone-page .gs3d-tool-row>.gs3d-group[data-group="select"]{display:none!important;}
.g2d-standalone-page .gs3d-tool-row>.gs3d-group[hidden]{display:none!important;}
@media(max-width:760px){
 .g2d-standalone-page .gs3d-tool-row>.gs3d-settings{margin-left:auto;border:0;padding:0;}
 .g2d-standalone-page .gs3d-settings>.gs3d-action,.g2d-standalone-page .gs3d-settings>.gs3d-delete-action{display:none!important;}
 .g2d-standalone-page .gs3d-tool-row>.gs3d-group[data-group="relation"],.g2d-standalone-page .gs3d-tool-row>.gs3d-group[data-group="measure"]{display:none!important;}
 .g2d-standalone-page .gs3d-settings>.gs3d-select{max-width:48px;min-height:42px;}
}
@media(max-width:460px){.g2d-standalone-page .gs3d-tool-row>.gs3d-group[data-group="line"]{display:none!important;}.g2d-standalone-page .gs3d-mode-command{min-width:43px;}.g2d-standalone-page .gs3d-tool-row{padding-inline:1px;gap:2px;}}

.g2d-standalone-page .gs3d-property-field{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#2b557e;font-size:12px;padding:5px 2px;border-bottom:1px solid #e8eff8;}
.g2d-standalone-page .gs3d-property-field input[type="color"]{height:30px;width:56px;padding:2px;border:1px solid #bad0e9;border-radius:5px;background:white;}
.g2d-standalone-page .gs3d-property-field input[type="number"]{width:62px;padding:5px;border:1px solid #bad0e9;border-radius:5px;}
.g2d-standalone-page .gs3d-property-field input[type="range"]{width:120px;accent-color:#286ed0;}
.g2d-standalone-page .gs3d-property-field input[type="checkbox"]{width:18px;height:18px;accent-color:#286ed0;}

/* Owner 84-icon V4.1 · semantic PNG buttons in 3D only (no host/2D style change) */
.g2d-standalone-page .gs3d-view-btn .gs3d-owner-icon,
.g2d-standalone-page .gs3d-panel-btn .gs3d-owner-icon,
.g2d-standalone-page .gs3d-danger .gs3d-owner-icon,
.g2d-standalone-page .gs3d-quick-btn .gs3d-owner-icon,
.g2d-standalone-page .gs3d-context-action .gs3d-owner-icon{
 width:20px;height:20px;object-fit:contain;display:inline-block;vertical-align:middle;flex:none;margin-inline-end:3px;
}
.g2d-standalone-page .gs3d-view-btn,
.g2d-standalone-page .gs3d-panel-btn,
.g2d-standalone-page .gs3d-danger,
.g2d-standalone-page .gs3d-context-action{align-items:center;gap:4px;}

/* 3D-FND F1 Free XYZ palette — isolated under 3D stage, not TOÁN TIN Host/2D. */
.g2d-standalone-page .gs3d-free-xyz-card{position:absolute;top:14px;left:14px;width:min(298px,calc(100% - 80px));z-index:8;padding:11px 12px;border:1px solid rgba(144,174,220,.85);border-radius:12px;background:rgba(255,255,255,.94);backdrop-filter:blur(9px);box-shadow:0 8px 22px rgba(23,65,130,.14);display:flex;flex-direction:column;gap:8px;color:#23446d;font-size:12px;}
.g2d-standalone-page .gs3d-free-xyz-card strong{font-size:14px;color:#155ac0;}
.g2d-standalone-page .gs3d-free-xyz-card p{margin:0;line-height:1.5;color:#526b88;}
.g2d-standalone-page .gs3d-xyz-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;}
.g2d-standalone-page .gs3d-xyz-fields label{display:flex;flex-direction:column;gap:3px;font-weight:700;}
.g2d-standalone-page .gs3d-xyz-fields input{width:100%;min-width:0;box-sizing:border-box;padding:7px 4px;border:1px solid #afc9ec;border-radius:6px;background:#fff;color:#183964;}
.g2d-standalone-page .gs3d-xyz-lock{display:flex;justify-content:space-between;gap:8px;align-items:center;}
.g2d-standalone-page .gs3d-xyz-lock select{min-width:0;max-width:200px;padding:7px;border:1px solid #afc9ec;border-radius:6px;background:white;}
.g2d-standalone-page .gs3d-xyz-actions{display:flex;gap:6px;flex-wrap:wrap;}
.g2d-standalone-page .gs3d-xyz-actions button{flex:1 1 115px;min-height:37px;border:1px solid #acc7ec;border-radius:8px;background:#e8f2ff;color:#1a5cb8;font-weight:700;cursor:pointer;}
.g2d-standalone-page .gs3d-xyz-actions button:hover:enabled{background:#d3e8ff;}
.g2d-standalone-page .gs3d-xyz-actions button:disabled{opacity:.45;cursor:not-allowed;}
.g2d-standalone-page .gs3d-free-xyz-card :is(button,input,select):focus-visible{outline:2px solid #eb8c2b;outline-offset:2px;}
@media(max-width:520px){.g2d-standalone-page .gs3d-free-xyz-card{top:54px;left:6px;max-width:calc(100% - 12px);}}
/* B03: compact touch/keyboard alternative for overlapping magnetic snap candidates. */
.g2d-standalone-page .gs3d-snap-cycle{position:absolute;right:12px;bottom:48px;z-index:7;min-height:40px;max-width:min(310px,65%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:7px 12px;border:1px solid #edc36d;border-radius:20px;background:rgba(255,250,230,.96);color:#784f05;font:600 12px system-ui;box-shadow:0 3px 14px rgba(97,72,12,.15);cursor:pointer;}
.g2d-standalone-page .gs3d-snap-cycle[hidden]{display:none!important;}
.g2d-standalone-page .gs3d-snap-cycle:focus-visible{outline:3px solid #135bba;outline-offset:2px;}
@media(pointer:coarse){.g2d-standalone-page .gs3d-snap-cycle{min-height:44px;}}

/* B03 owner snap-UX FIX02: visible ON/OFF, integer lattice and touch-sized control. */
.g2d-standalone-page .gs3d-snap-toggle{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;white-space:nowrap;font-weight:750;font-size:11px;min-height:40px;}
.g2d-standalone-page .gs3d-snap-toggle.is-active{border-color:#2e78bb;background:#e7f5ff;color:#07549c;}
.g2d-standalone-page .gs3d-snap-toggle:not(.is-active){border-color:#c47645;background:#fff4e9;color:#844015;}
.g2d-standalone-page .gs3d-snap-state{font-size:11px;letter-spacing:.01em;}
.g2d-standalone-page .gs3d-grid-step{min-width:91px;max-width:104px;font-size:11px;}
@media(pointer:coarse){.g2d-standalone-page .gs3d-snap-toggle,.g2d-standalone-page .gs3d-grid-step{min-height:44px;}}

/* GEO B03 Owner FIX ALL — contextual object controls and locally styled Bootstrap dialog. */
.g2d-standalone-page .gs3d-context-bar{
 position:absolute;z-index:12;display:flex;align-items:center;gap:5px;min-height:40px;max-width:calc(100% - 12px);padding:4px 7px;
 border:1px solid rgba(156,188,230,.73);border-radius:12px;background:rgba(246,251,255,.86);
 box-shadow:0 8px 26px rgba(17,63,127,.16);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);touch-action:none;
}
.g2d-standalone-page .gs3d-context-bar[hidden],.g2d-standalone-page .gs3d-dialog-shade[hidden]{display:none!important;}
.g2d-standalone-page .gs3d-quick-grip{border:0;flex:none;background:transparent;color:#537fae;cursor:grab;font-size:22px;min-width:27px;min-height:34px;touch-action:none;user-select:none;}
.g2d-standalone-page .gs3d-quick-grip:active{cursor:grabbing;}
.g2d-standalone-page .gs3d-quick-action{display:grid;place-items:center;flex:none;border:1px solid rgba(190,210,239,.8);background:rgba(255,255,255,.76);border-radius:8px;color:#1f60b0;min-width:32px;min-height:32px;font-size:19px;cursor:pointer;}
.g2d-standalone-page .gs3d-quick-action:hover{background:#dceeff;}
.g2d-standalone-page .gs3d-quick-count{color:#234d80;font-size:11px;font-weight:700;max-width:87px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.g2d-standalone-page .gs3d-quick-color{width:32px;height:32px;padding:2px;border:1px solid #adc7ea;border-radius:8px;background:white;cursor:pointer;flex:none;}
.g2d-standalone-page .gs3d-dialog-shade{position:absolute;inset:0;z-index:25;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(11,30,65,.35);backdrop-filter:blur(3px);}
.g2d-standalone-page .gs3d-dialog{display:flex;flex-direction:column;gap:13px;width:min(460px,100%);max-width:100%;margin:0;padding:24px;border:1px solid #cfdbed;border-radius:17px;background:#fff;box-shadow:0 20px 60px rgba(12,33,76,.28);color:#17345d;}
.g2d-standalone-page .gs3d-dialog-title{margin:0;color:#153c78;font-size:20px;line-height:1.4;font-weight:750;}
.g2d-standalone-page .gs3d-dialog-text{margin:0;font-size:14px;line-height:1.7;overflow-wrap:anywhere;color:#49617f;}
.g2d-standalone-page .gs3d-dialog-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;}
.g2d-standalone-page .gs3d-dialog-actions .btn{min-height:41px;border-radius:9px;font-weight:650;padding-inline:17px;}
.g2d-standalone-page .gs3d-context-bar :is(button,input):focus-visible,.g2d-standalone-page .gs3d-dialog :is(button,input):focus-visible{outline:3px solid #3b82f6;outline-offset:2px;}
@media(max-width:430px){.g2d-standalone-page .gs3d-dialog{padding:16px;}.g2d-standalone-page .gs3d-quick-action{min-width:30px;}.g2d-standalone-page .gs3d-context-bar{gap:3px;padding:4px;}}
@media(pointer:coarse){.g2d-standalone-page .gs3d-context-bar :is(.gs3d-quick-action,.gs3d-quick-grip,.gs3d-quick-color){min-width:42px;min-height:42px;}}
@media(prefers-reduced-motion:reduce){.g2d-standalone-page .gs3d-dialog,.g2d-standalone-page .gs3d-context-bar{animation:none!important;transition:none!important;}}

/* B03 FB-20261021 — unified compact toolbar, smart help, captured region and exports. */
.g2d-standalone-page .g2d-workspace-card>.card-header{display:none!important}
.g2d-standalone-page .gs3d-tool-row{min-height:52px;max-height:58px;align-items:center;}
.g2d-standalone-page .gs3d-mode-switch{align-self:center;padding:2px;margin:0 4px 0 0;}
.g2d-standalone-page .gs3d-mode-switch .gs3d-mode-btn{min-height:24px;height:24px;padding:1px 8px;font-size:13px;}
.g2d-standalone-page .g2d-toolbar-strip{align-items:center;}
.g2d-standalone-page #toolbar-drag-handle,.g2d-standalone-page .g2d-brand-button,.g2d-standalone-page #restore-toolbar-home{height:48px;max-height:52px;min-height:0;align-self:center;}
.g2d-standalone-page .gs3d-action.gs3d-snap-toggle{min-width:43px;width:43px;min-height:43px;height:43px;padding:5px;justify-content:center;}
.g2d-standalone-page .gs3d-snap-toggle .gs3d-owner-icon{width:30px;height:30px;object-fit:contain;}
.g2d-standalone-page .gs3d-settings>.gs3d-action:last-child .gs3d-owner-icon,.g2d-standalone-page .gs3d-settings>.gs3d-action:nth-last-child(2) .gs3d-owner-icon,.g2d-standalone-page .gs3d-settings>.gs3d-action:nth-last-child(3) .gs3d-owner-icon{width:27px;height:27px;object-fit:contain;}
.g2d-standalone-page .gs3d-select{min-width:75px;max-width:116px;font-size:12px;}
.g2d-standalone-page .gs3d-grid-step{max-width:92px;}
.g2d-standalone-page .gs3d-view-stack{flex-direction:row;align-items:center;gap:5px;top:10px;right:10px;max-width:calc(100% - 18px);}
.g2d-standalone-page .gs3d-view-btn{min-height:42px;min-width:46px;padding:5px 8px;display:flex;align-items:center;gap:4px;justify-content:center;}
.g2d-standalone-page .gs3d-view-btn .gs3d-owner-icon{width:23px;height:23px;margin-right:2px;}
.g2d-standalone-page .gs3d-help-trigger{left:auto;right:10px;top:10px;position:relative;border-radius:10px;width:48px;height:42px;min-height:42px;padding:4px;display:flex;align-items:center;justify-content:center;gap:0;}
.g2d-standalone-page .gs3d-help-trigger svg{width:22px;height:22px;}
.g2d-standalone-page .gs3d-help-trigger strong{font-size:21px;color:#ef3340;font-weight:900;line-height:1;margin-left:-2px;}
.g2d-standalone-page .gs3d-view-stack .gs3d-help-trigger{position:relative;right:auto;top:auto;}
.g2d-standalone-page .gs3d-hint{max-width:min(84%,880px);font-size:12px;}
.g2d-standalone-page .gs3d-hidden-manager,.g2d-standalone-page .gs3d-style-panel,.g2d-standalone-page .gs3d-export-panel{border:1px solid #cfdef3;border-radius:10px;background:#f8fbff;margin:9px 0;padding:9px;color:#194f89;}
.g2d-standalone-page :is(.gs3d-hidden-manager,.gs3d-style-panel,.gs3d-export-panel)>summary{font-weight:700;cursor:pointer;min-height:24px;}
.g2d-standalone-page :is(.gs3d-hidden-manager,.gs3d-style-panel,.gs3d-export-panel)>button{display:block;width:100%;min-height:36px;margin-top:7px;border-radius:8px;border:1px solid #b8d0f1;background:#fff;color:#165dbd;cursor:pointer;text-align:left;padding:7px 9px;}
.g2d-standalone-page .gs3d-hidden-manager input[type=search]{width:100%;margin:7px 0;padding:7px;border:1px solid #b9ccec;border-radius:7px;}
.g2d-standalone-page .gs3d-hidden-list{max-height:170px;overflow:auto;}
.g2d-standalone-page .gs3d-capture-layer{position:absolute;inset:0;background:rgba(12,32,59,.25);cursor:crosshair;z-index:14;touch-action:none;}
.g2d-standalone-page .gs3d-capture-rect{position:absolute;background:rgba(255,255,255,.1);border:2px solid #1667e8;box-shadow:0 0 0 1px white;cursor:move;box-sizing:border-box;}
.g2d-standalone-page .gs3d-capture-label{position:absolute;top:-30px;left:50%;transform:translateX(-50%);padding:4px 8px;color:white;background:#1459bc;border-radius:5px;white-space:nowrap;font-size:11px;}
.g2d-standalone-page .gs3d-capture-handle{position:absolute;background:#fff;border:2px solid #0d5bef;width:12px;height:12px;transform:translate(-50%,-50%);border-radius:3px;touch-action:none;}
.g2d-standalone-page .gs3d-handle-nw{left:0;top:0;cursor:nwse-resize}.g2d-standalone-page .gs3d-handle-n{left:50%;top:0;cursor:ns-resize}.g2d-standalone-page .gs3d-handle-ne{left:100%;top:0;cursor:nesw-resize}
.g2d-standalone-page .gs3d-handle-e{left:100%;top:50%;cursor:ew-resize}.g2d-standalone-page .gs3d-handle-se{left:100%;top:100%;cursor:nwse-resize}.g2d-standalone-page .gs3d-handle-s{left:50%;top:100%;cursor:ns-resize}
.g2d-standalone-page .gs3d-handle-sw{left:0;top:100%;cursor:nesw-resize}.g2d-standalone-page .gs3d-handle-w{left:0;top:50%;cursor:ew-resize}
.g2d-standalone-page .gs3d-capture-buttons{position:absolute;top:calc(100% + 9px);right:0;display:flex;gap:6px;white-space:nowrap;}
.g2d-standalone-page .gs3d-capture-buttons button{min-height:40px;border-radius:8px;padding:7px 12px;cursor:pointer;border:1px solid #c7d7ee;background:#fff;color:#174b82;font-weight:700;}
.g2d-standalone-page .gs3d-capture-accept{background:#1667e8!important;color:#fff!important;border-color:#1667e8!important;}
@media(max-width:680px){.g2d-standalone-page .gs3d-view-stack{flex-wrap:wrap;justify-content:flex-end;}.g2d-standalone-page .gs3d-view-btn{min-width:40px;padding:4px;}.g2d-standalone-page .gs3d-help-trigger{width:40px;}.g2d-standalone-page .gs3d-capture-buttons{right:auto;left:0;}}
@media(prefers-reduced-motion:reduce){.g2d-standalone-page .gs3d-capture-layer,.g2d-standalone-page .gs3d-view-btn{transition:none!important;}}

/* Normal standalone 3D Smart Toolbar. Presenter fullscreen remains host-owned. */
.g2d-standalone-page #g2d-topbar{transition:transform .18s ease,opacity .18s ease;}
.g2d-standalone-page #g2d-topbar.gs3d-normal-autohidden{transform:translateY(calc(-100% + 4px));opacity:.09;pointer-events:none;}
.g2d-standalone-page #g2d-topbar.gs3d-normal-autohidden.gs3d-edge-bottom{transform:translateY(calc(100% - 4px));}
.g2d-standalone-page #g2d-topbar.gs3d-normal-autohidden:focus-within{transform:none;opacity:1;pointer-events:auto;}
@media(prefers-reduced-motion:reduce){.g2d-standalone-page #g2d-topbar{transition:none;}}

.g2d-standalone-page .gs3d-export-options{display:grid;gap:7px;padding:8px;border-radius:9px;background:#f4f8ff;margin:8px 0;color:#245083;font-size:12px;}
.g2d-standalone-page .gs3d-export-options label{display:flex;gap:8px;align-items:center;min-height:26px;}
.g2d-standalone-page .gs3d-export-options select{min-height:32px;background:#fff;border:1px solid #bfd2ed;border-radius:6px;color:#174786;}
/* Outside the user-selected rectangle is dimmed; inside retains original content. */
.g2d-standalone-page .gs3d-capture-layer{background:transparent;overflow:hidden;}
.g2d-standalone-page .gs3d-capture-rect{box-shadow:0 0 0 5000px rgba(12,32,59,.29),0 0 0 1px #fff;}

/* B03 OWNER FIXLAYOUT03 — 3D workspace is viewport-owned; floating chrome does not reserve space.
   All selectors intentionally scoped to the standalone 3D shell, never TOÁN TIN Host. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"]{
 position:relative; display:flex; flex-direction:column; min-height:100dvh; height:100dvh;
 max-height:100dvh; box-sizing:border-box; overflow:hidden; padding-top:4px!important;padding-bottom:4px!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"]>.g2d-toolbar-dock-slot{
 position:absolute;left:8px;right:8px;top:4px;z-index:80;height:0;min-height:0;pointer-events:none;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] #g2d-topbar:not(.g2d-toolbar-floating):not([data-toolbar-pinned="false"]){
 position:relative;top:0;left:0;width:100%;margin:0!important;pointer-events:auto;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] #g2d-topbar.gs3d-normal-autohidden{
 transform:translateY(calc(-100% - 8px));opacity:0;pointer-events:none;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] #g2d-topbar.gs3d-normal-autohidden.gs3d-edge-bottom{
 transform:translateY(calc(100% + 8px));
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"]>.row{
 flex:1 1 auto;min-height:0;margin-bottom:0;overflow:hidden;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] #presentation-column{
 display:flex;flex-direction:column;min-height:0;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .g2d-workspace-card{
 display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:100%;overflow:hidden;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .g2d-workspace-card>.g2d-canvas-body{
 display:flex;flex:1 1 auto;min-height:0;height:auto;overflow:hidden;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] #gs3d-stage-host{
 flex:1 1 auto;min-height:0;height:100%;width:100%;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] #g2d-right-card{
 min-height:0;max-height:100%;height:100%;overflow:hidden;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] #full-column{min-height:0;overflow:hidden;}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] #full-panel-body{min-height:0;overflow:auto;max-height:calc(100dvh - 64px);}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"]>.g2d-footer{display:none!important;}
/* No duplicated toolbar status; smart guidance stays attached to canvas regardless of auto-hide. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-status-line{display:none;}
.g2d-standalone-page .gs3d-hint{
 top:var(--gs3d-guidance-top, 66px);bottom:auto;left:9px;z-index:9;
 max-width:min(calc(100% - 18px),640px);line-height:1.35;min-height:30px;
 background:rgba(249,252,255,.93);color:#1b4b80;border-color:#c6dcf7;
 box-shadow:0 2px 10px rgba(38,87,145,.08);transition:top .12s ease;
}
.g2d-standalone-page .gs3d-live-state{
 position:absolute;bottom:9px;right:9px;display:flex;align-items:center;gap:5px;z-index:7;
 pointer-events:none;color:#28527e;font-size:12px;font-weight:700;
}
.g2d-standalone-page .gs3d-live-state span{
 padding:5px 9px;border:1px solid #d2e2f8;background:rgba(255,255,255,.89);
 backdrop-filter:blur(7px);border-radius:11px;white-space:nowrap;
}
/* Floating, compact edge navigator: it is a child of the actual stage, not the page. */
.g2d-standalone-page .gs3d-view-stack{
 position:absolute;left:7px;right:auto;top:50%;transform:translateY(-50%);
 flex-direction:column;justify-content:center;align-items:stretch;flex-wrap:nowrap;
 max-height:calc(100% - 16px);max-width:min(118px,30%);overflow-y:auto;overscroll-behavior:contain;
 gap:5px;z-index:11;scrollbar-width:thin;
}
.g2d-standalone-page .gs3d-view-stack .gs3d-help-trigger{
 position:relative;left:auto;right:auto;top:auto;margin:0;width:100%;min-height:40px;height:40px;
}
.g2d-standalone-page .gs3d-view-stack .gs3d-view-btn{
 min-height:40px;width:100%;min-width:0;padding:4px 6px;font-size:11px;white-space:nowrap;
 box-shadow:0 3px 10px rgba(20,64,128,.07);
}
.g2d-standalone-page .gs3d-context-bar{z-index:13;max-width:calc(100% - 16px);overflow-x:auto;scrollbar-width:thin;}
.g2d-standalone-page .gs3d-context-bar[data-dock="auto"]{box-shadow:0 5px 17px rgba(17,63,127,.12);}
@media(max-width:1199px){
 .g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"]>.row{overflow-y:auto;align-content:start;}
 .g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] #presentation-column{flex:0 0 auto;height:min(78dvh,780px);}
 .g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] #full-column{flex:0 0 auto;height:auto;overflow:visible;}
 .g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] #g2d-right-card{height:auto;max-height:none;}
 .g2d-standalone-page .gs3d-view-stack{max-width:min(105px,29%);}
}
@media(max-width:680px){
 .g2d-standalone-page .gs3d-view-stack{left:4px;gap:2px;max-width:50px;}
 .g2d-standalone-page .gs3d-view-stack .gs3d-view-btn{font-size:0;min-height:38px;}
 .g2d-standalone-page .gs3d-view-stack .gs3d-view-btn .gs3d-owner-icon{margin:0;width:25px;height:25px;}
 .g2d-standalone-page .gs3d-view-stack .gs3d-help-trigger{height:38px;}
 .g2d-standalone-page .gs3d-live-state{font-size:10px;gap:3px;}
 .g2d-standalone-page .gs3d-live-state span{padding:4px 6px;}
}
@media(prefers-reduced-motion:reduce){.g2d-standalone-page .gs3d-hint{transition:none;}}

/* Owner FIXTEXT04 — staged adaptive canvas chrome, never reserve layout space. */
.g2d-standalone-page .gs3d-stage{position:relative;min-width:0;}
.g2d-standalone-page .gs3d-view-stack{
 left:auto;right:8px;top:var(--gs3d-nav-top,9px);transform:none;
 width:48px;max-width:48px;max-height:calc(100% - var(--gs3d-nav-top,9px) - 14px);
 flex-direction:column;align-items:center;justify-content:flex-start;gap:5px;
 padding:0;overflow-y:auto;overflow-x:hidden;z-index:11;box-sizing:border-box;
}
.g2d-standalone-page .gs3d-view-stack .gs3d-view-btn,
.g2d-standalone-page .gs3d-view-stack .gs3d-help-trigger{
 width:44px;min-width:44px;max-width:44px;min-height:42px;height:42px;
 display:flex;align-items:center;justify-content:center;padding:3px;gap:0;
 font-size:0;line-height:0;box-sizing:border-box;
}
.g2d-standalone-page .gs3d-view-stack .gs3d-owner-icon{width:27px;height:27px;margin:0;object-fit:contain;}
.g2d-standalone-page .gs3d-view-stack .gs3d-reset-origin svg{width:27px;height:27px;}
.g2d-standalone-page .gs3d-view-stack .gs3d-help-trigger strong{font-size:20px;line-height:1;}
.g2d-standalone-page .gs3d-property-card{
 top:var(--gs3d-property-top,130px);left:10px;max-height:calc(100% - 132px);
 overflow-y:auto;overscroll-behavior:contain;z-index:12;
}
.g2d-standalone-page .gs3d-hint{z-index:14;pointer-events:none;}
.g2d-standalone-page .gs3d-context-bar{z-index:13;}
.g2d-standalone-page .gs3d-live-state{bottom:12px;right:12px;z-index:16;max-width:calc(100% - 20px);}
.g2d-standalone-page .gs3d-file-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-width:0;}
.g2d-standalone-page .gs3d-file-actions>.gs3d-panel-btn,
.g2d-standalone-page .gs3d-file-actions>.gs3d-danger{min-width:0;max-width:100%;width:100%;padding:7px 3px;font-size:12px;white-space:nowrap;min-height:39px;text-align:center;}
.g2d-standalone-page .gs3d-text-editor{
 position:absolute;z-index:18;width:min(290px,calc(100% - 22px));padding:12px;
 border:1px solid #a9c9ef;border-radius:12px;background:#fff;box-shadow:0 15px 38px #18385b39;
 color:#153f72;box-sizing:border-box;
}
.g2d-standalone-page .gs3d-text-editor[hidden]{display:none!important;}
.g2d-standalone-page .gs3d-text-editor label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700;}
.g2d-standalone-page .gs3d-text-editor textarea{width:100%;min-height:80px;border:1px solid #b4cdeb;border-radius:8px;padding:8px;resize:vertical;box-sizing:border-box;font:14px system-ui;}
.g2d-standalone-page .gs3d-text-editor-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px;}
.g2d-standalone-page .gs3d-text-editor-actions button{border:1px solid #b9d1f2;border-radius:8px;padding:7px 12px;cursor:pointer;background:#f8fbff;color:#145ac2;}
.g2d-standalone-page .gs3d-text-editor-actions button:first-child{color:#64748b;}
@media(max-width:680px){
 .g2d-standalone-page .gs3d-view-stack{left:auto;right:4px;max-width:44px;gap:3px;}
 .g2d-standalone-page .gs3d-view-stack .gs3d-view-btn,.g2d-standalone-page .gs3d-view-stack .gs3d-help-trigger{width:41px;min-width:41px;max-width:41px;height:41px;min-height:41px;}
 .g2d-standalone-page .gs3d-file-actions{gap:3px;}
 .g2d-standalone-page .gs3d-file-actions>.gs3d-panel-btn,.g2d-standalone-page .gs3d-file-actions>.gs3d-danger{font-size:11px;padding-inline:2px;}
}

/* Owner FIXAXES05 FB-34..38: use stage-relative calculated safe top, not hard-coded XYZ top. */
.g2d-standalone-page .gs3d-free-xyz-card{top:var(--gs3d-xyz-top,110px);max-height:calc(100% - 120px);overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box;}
@media(max-width:520px){.g2d-standalone-page .gs3d-free-xyz-card{top:var(--gs3d-xyz-top,110px);}}
.g2d-standalone-page .gs3d-axis-settings{border:1px solid #d8e5f5;border-radius:10px;padding:9px;background:#f8fbff;margin-block:10px;font-size:12px;color:#214a80;}
.g2d-standalone-page .gs3d-axis-settings summary{cursor:pointer;font-weight:700;padding:3px;}
.g2d-standalone-page .gs3d-axis-settings label{display:flex;align-items:center;gap:8px;margin:7px 0;min-height:32px;}
.g2d-standalone-page .gs3d-axis-settings label select{margin-left:auto;max-width:144px;border:1px solid #cadcf4;border-radius:7px;background:white;padding:5px;color:#1b4379;}
.g2d-standalone-page .gs3d-axis-settings input:focus-visible,.g2d-standalone-page .gs3d-axis-settings select:focus-visible{outline:2px solid #0d5bef;outline-offset:2px;}

.g2d-standalone-page .gs3d-free-xyz-card[hidden]{display:none!important;}

/* V3-B04 — scoped quick controls; no new layout reservation / Host CSS changes. */
.g2d-standalone-page .gs3d-quick-opacity{width:68px;min-width:48px;max-width:68px;accent-color:#1667e8;cursor:pointer;flex:none;}
.g2d-standalone-page .gs3d-quick-pattern{max-width:77px;min-width:62px;height:33px;padding:2px 3px;border:1px solid #bfd4f2;border-radius:8px;background:#fff;color:#174f94;font-size:11px;cursor:pointer;flex:none;}
.g2d-standalone-page .gs3d-context-bar :is(.gs3d-quick-opacity,.gs3d-quick-pattern):focus-visible{outline:3px solid #3b82f6;outline-offset:2px;}
@media(pointer:coarse){.g2d-standalone-page .gs3d-quick-pattern{min-height:44px;}.g2d-standalone-page .gs3d-quick-opacity{min-height:44px;}}

/* B06/FB-43: always reachable toolbar axis-visibility control, including touch screens. */
.g2d-standalone-page .gs3d-axes-toggle{min-width:40px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;flex:none;}
.g2d-standalone-page .gs3d-axes-toggle.is-active{border-color:#2e78bb;background:#e5f2ff;color:#07549c;}
.g2d-standalone-page .gs3d-axes-toggle:not(.is-active){border-color:#d2b38a;background:#fff6e9;color:#84531b;}
.g2d-standalone-page .gs3d-axes-toggle:focus-visible{outline:3px solid #125bbb;outline-offset:2px;}
@media(max-width:760px){.g2d-standalone-page .gs3d-settings>.gs3d-action.gs3d-axes-toggle{display:inline-flex!important;}}

/* B06 STEP02 FB-44: single axis button as last of the floating Canvas view controls. */
.g2d-standalone-page .gs3d-view-stack > .gs3d-view-btn.gs3d-axes-toggle{
 width:44px;min-width:44px;max-width:44px;height:42px;min-height:42px;
 flex:none;padding:3px;box-sizing:border-box;cursor:pointer;
}
.g2d-standalone-page .gs3d-view-stack > .gs3d-axes-toggle svg{width:25px;height:25px;}
@media(max-width:680px){.g2d-standalone-page .gs3d-view-stack > .gs3d-view-btn.gs3d-axes-toggle{width:41px;min-width:41px;max-width:41px;height:41px;min-height:41px;}}

/* B06 UI-FIX45–55: standalone 3D only — no Host/global selectors. */
.g2d-standalone-page .gs3d-mode-switch{flex-direction:row;align-items:center;margin-inline:4px;padding:2px;}
.g2d-standalone-page .gs3d-mode-switch .gs3d-mode-toggle{width:45px;min-width:45px;height:37px;min-height:37px;font-weight:800;border:1px solid #86b7ee;color:#124d92;background:#e5f1ff;box-shadow:0 1px 4px rgba(15,65,140,.10);}
.g2d-standalone-page .gs3d-mode-switch[data-mode="3d"] .gs3d-mode-toggle{background:#155acb;color:white;border-color:#155acb;}
.g2d-standalone-page .gs3d-panel-btn.is-active,.g2d-standalone-page .gs3d-palette-command.is-active{background:#1458bf;color:white;border:2px solid #0f459c;box-shadow:inset 0 0 0 1px #fff,0 2px 8px rgba(13,69,150,.22);font-weight:750;}
.g2d-standalone-page .gs3d-eye-on{color:#1458bf;background:#e9f5ff;}
.g2d-standalone-page .gs3d-eye-off{color:#66768d;background:#e6e9ee;}
.g2d-standalone-page .gs3d-quick-action svg{width:21px;height:21px;}
.g2d-standalone-page .gs3d-style-panel .gs3d-grid-step{max-width:180px;width:100%;min-height:37px;}
/* Only the standalone 3D toolbar chrome: grip/Home/restore should have the same icon box height. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] #g2d-topbar[data-toolbar-orientation="horizontal"] :is(#toolbar-drag-handle,#go-to-toantin-home,#restore-toolbar-home){height:36px!important;min-height:36px!important;width:36px!important;min-width:36px!important;max-width:36px;padding:4px!important;align-self:center;display:inline-flex;justify-content:center;align-items:center;box-sizing:border-box;}
@media(pointer:coarse){.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] #g2d-topbar[data-toolbar-orientation="horizontal"] :is(#toolbar-drag-handle,#go-to-toantin-home,#restore-toolbar-home){min-height:44px!important;height:44px!important;min-width:44px!important;width:44px!important;max-width:44px;}}

/* B06 STEP04 / FB-56: compact header + guidance; respect intentionally user-floated toolbar. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"]{padding-top:0!important;}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"]>.g2d-toolbar-dock-slot{top:0!important;}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] #g2d-topbar:not(.g2d-toolbar-floating):not([data-toolbar-pinned="false"]){margin-top:0!important;margin-bottom:0!important;}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-hint{top:var(--gs3d-guidance-top,5px);}

/* B06 STEP05 / FB-59: toolbar constrained to the visible drawing column.
   Smart Guidance always precedes auto-docked Quick Properties; user-floated
   chrome remains free. No Host/global CSS and no allocation of Canvas height. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] > .g2d-toolbar-dock-slot{
 max-width:calc(100% - 12px);min-width:0;box-sizing:border-box;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] #g2d-topbar:not(.g2d-toolbar-floating):not([data-toolbar-pinned="false"]){
 max-width:100%;box-sizing:border-box;overflow:visible;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] #g2d-topbar:not(.g2d-toolbar-floating) .g2d-toolbar-strip{
 max-width:100%;min-width:0;box-sizing:border-box;overflow-x:auto;overflow-y:hidden;
 scrollbar-width:thin;overscroll-behavior-x:contain;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-context-bar[data-dock="auto"]{
 max-width:calc(100% - 68px);box-sizing:border-box;
}

/* All 3D actions remain reachable on narrower drawing areas, without widening the dock. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] #gs3d-toolbar-host .gs3d-tool-row{
 max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;
}

/* B06 STEP06 / FB-61–64: local, keyboard-accessible settings feedback. */
.g2d-standalone-page .gs3d-settings-explanation,
.g2d-standalone-page .gs3d-settings-preview-note{margin:8px 2px 5px;color:#315b84;font-size:12px;line-height:1.45;}
.g2d-standalone-page .gs3d-settings-preview-note{border-left:3px solid #4c8ddd;padding:5px 8px;background:#edf5ff;}
.g2d-standalone-page .gs3d-settings-feedback:not(:empty){display:block;padding:9px 10px;margin:8px 0 0;border:1px solid #b6cfec;background:#eff7ff;border-radius:7px;color:#174778;font-weight:700;line-height:1.4;font-size:12px;}
.g2d-standalone-page .gs3d-settings-feedback[data-kind="error"]:not(:empty){border-color:#e4aaa9;background:#fff1f1;color:#9c222b;}
.g2d-standalone-page .gs3d-style-panel .gs3d-axis-settings{margin:10px 0 3px;padding:8px;border:1px solid #c9d9ef;border-radius:9px;background:#fff;}
.g2d-standalone-page .gs3d-style-panel .gs3d-axis-settings>summary{cursor:pointer;font-weight:700;color:#1a528a;padding:5px 3px;}
.g2d-standalone-page .gs3d-style-panel input[type="color"]{cursor:pointer;}
.g2d-standalone-page .gs3d-style-panel .gs3d-property-field{gap:9px;}
.g2d-standalone-page .gs3d-style-panel .gs3d-property-field input[type="number"]{flex:0 0 76px;min-width:70px;}
@media (prefers-reduced-motion:reduce){.g2d-standalone-page .gs3d-settings-feedback{transition:none;}}

.g2d-standalone-page .gs3d-action-pressed{outline:2px solid #2b75dc;outline-offset:1px;filter:brightness(.94);}
.g2d-standalone-page .gs3d-action-pressed:focus-visible{outline:3px solid #0e5bb8;}

/* B06 STEP08 — FB81..89 / scoped owner-approved UI only. No Host/2D changes. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"]>.g2d-toolbar-dock-slot{left:0;right:0;max-width:100%;width:100%;z-index:90;}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] #g2d-topbar:not(.g2d-toolbar-floating):not([data-toolbar-pinned="false"]){width:100%;max-width:100%;}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] #full-column{padding-top:var(--gs3d-toolbar-reserve,75px);box-sizing:border-box;}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] #g2d-right-card>.card-header{display:none;}
.g2d-standalone-page .gs3d-panel-title-row{display:flex;align-items:center;gap:6px;min-height:45px;}
.g2d-standalone-page .gs3d-panel-title-row h3{margin:0 auto 0 0;white-space:nowrap;}
.g2d-standalone-page .gs3d-panel-header-action{min-width:40px;min-height:40px;border:1px solid #ccdef6;background:#f6faff;border-radius:9px;color:#2562b3;display:grid;place-items:center;cursor:pointer;}
.g2d-standalone-page .gs3d-panel-header-action svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;}
.g2d-standalone-page .gs3d-smart-snap-setting{font-weight:700;}
.g2d-standalone-page .gs3d-smart-snap-switch{border:1px solid #aab8ca;border-radius:999px;background:#808a98;color:white;font-weight:800;min-width:66px;min-height:33px;cursor:pointer;}
.g2d-standalone-page .gs3d-smart-snap-switch[data-on="true"]{background:#1674e7;border-color:#1258b6;}
.g2d-standalone-page .gs3d-smart-snap-switch:hover,.g2d-standalone-page .gs3d-panel-header-action:hover{filter:brightness(1.12);box-shadow:0 0 0 2px #bedbff;}
.g2d-standalone-page .gs3d-owner-slots{display:flex;align-items:center;gap:3px;flex:0 0 auto;white-space:nowrap;border-left:1px solid #e0e9f6;padding-left:5px;}
.g2d-standalone-page .gs3d-owner-slot{width:53px;min-width:53px;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:#f8fbff;border:1px solid #d8e5f5;border-radius:7px;color:#175caf;font:600 9px system-ui;cursor:pointer;padding:2px;}
.g2d-standalone-page .gs3d-owner-slot .gs3d-owner-icon{width:22px;height:22px;}
.g2d-standalone-page .gs3d-owner-slot.is-empty{border-style:dashed;background:transparent;cursor:default;opacity:.3;}
.g2d-standalone-page .gs3d-owner-slot:hover:not(.is-empty),.g2d-standalone-page .gs3d-owner-slot:focus-visible{background:#d7eaff;border-color:#337de2;box-shadow:0 0 0 2px rgba(33,117,230,.2);outline-offset:1px;}
.g2d-standalone-page .gs3d-tool-row>.gs3d-group:hover,.g2d-standalone-page .gs3d-settings>.gs3d-action:hover,.g2d-standalone-page .gs3d-panel-header-action:hover{background:#d7eaff;border-color:#337de2;box-shadow:0 0 0 2px rgba(33,117,230,.15);}
.g2d-standalone-page .gs3d-quick-portal:not([hidden]){position:fixed;top:70px;left:8px;z-index:10050;display:flex;align-items:center;flex-wrap:wrap;gap:5px;max-height:50vh;overflow:auto;width:max-content;max-width:90vw;background:rgba(255,255,255,.97);border:1px solid #bdd4f3;box-shadow:0 10px 26px rgba(20,51,94,.2);padding:8px;border-radius:10px;}
.g2d-standalone-page .gs3d-quick-portal[hidden]{display:none!important;}
.g2d-standalone-page .gs3d-recent-toggle .gs3d-owner-icon{min-width:30px;min-height:30px;width:30px;height:30px;}
.g2d-standalone-page .gs3d-slot-menu{position:fixed;z-index:10051;display:flex;flex-direction:column;gap:4px;min-width:245px;max-width:min(360px,90vw);max-height:65vh;overflow:auto;background:#fff;border:1px solid #bbd2f1;border-radius:10px;padding:9px;box-shadow:0 12px 24px rgba(12,58,110,.23);}
.g2d-standalone-page .gs3d-slot-menu>strong{font-size:12px;color:#1b569b;padding:5px 4px;}
.g2d-standalone-page .gs3d-slot-menu>button{cursor:pointer;text-align:left;border:1px solid #e0eaf9;background:#f6faff;color:#1c579d;border-radius:6px;padding:7px;font-size:12px;}
.g2d-standalone-page .gs3d-slot-menu>button:hover{background:#d9eaff;}
.g2d-standalone-page .gs3d-slot-menu>button:focus-visible,.g2d-standalone-page .gs3d-smart-snap-switch:focus-visible{outline:3px solid #296fe7;outline-offset:2px;}
@media(max-width:1100px){.g2d-standalone-page .gs3d-owner-slot{min-width:46px;width:46px;font-size:8px;}.g2d-standalone-page .gs3d-owner-slots{gap:2px;}}
@media(pointer:coarse){.g2d-standalone-page .gs3d-owner-slot{min-height:44px;}.g2d-standalone-page .gs3d-smart-snap-switch{min-height:44px;}}
/* B06 STEP09 — unified non-modal quick input, matching Smart Guidance/Help.
   Scoped strictly to 3D standalone; original Toolbar icons/order unchanged. */
.g2d-standalone-page .gs3d-command-bar{position:absolute;z-index:12;left:10px;top:calc(var(--gs3d-guidance-top,70px) + 44px);display:flex;align-items:center;gap:5px;max-width:min(430px,calc(100% - 96px));padding:5px;background:rgba(255,255,255,.92);border:1px solid #c2d8f5;border-radius:10px;box-shadow:0 5px 18px rgba(28,65,108,.12);backdrop-filter:blur(7px)}
.g2d-standalone-page .gs3d-command-bar[hidden]{display:none!important}
.g2d-standalone-page .gs3d-command-field{flex:1 1 205px;min-width:90px;min-height:32px;border:1px solid #c5d9f3;border-radius:7px;padding:6px 9px;font-size:12px;color:#174478;background:rgba(247,250,255,.9)}
.g2d-standalone-page .gs3d-command-confirm,.g2d-standalone-page .gs3d-command-help{flex:0 0 auto;min-width:32px;min-height:32px;border:1px solid #bad1ed;border-radius:7px;color:#145eb1;font-weight:750;background:rgba(224,238,255,.94);cursor:pointer}
.g2d-standalone-page .gs3d-command-confirm:hover,.g2d-standalone-page .gs3d-command-help:hover,.g2d-standalone-page .gs3d-help-in-menu:hover{background:#bcdcff;border-color:#468bdb;box-shadow:0 0 0 2px #d8eaff}
.g2d-standalone-page .gs3d-command-bar :is(input,button):focus-visible{outline:2px solid #2271d2;outline-offset:2px}
.g2d-standalone-page .gs3d-help-card{max-height:min(66vh,530px)}
.g2d-standalone-page .gs3d-help-card h3{margin:4px 0 8px;font-size:15px;color:#194e96}
.g2d-standalone-page .gs3d-help-card .gs3d-help-row{grid-template-columns:minmax(98px,37%) 1fr}
@media(max-width:650px){.g2d-standalone-page .gs3d-command-bar{max-width:calc(100% - 74px);padding:4px;gap:3px}.g2d-standalone-page .gs3d-command-field{min-width:70px}.g2d-standalone-page .gs3d-command-confirm,.g2d-standalone-page .gs3d-command-help{min-height:42px;min-width:38px}}
/* B06 STEP10 — quick relation selector belongs to the active mini-command, not Toolbar.
   Scope strictly to 3D standalone and maintain clickability over canvas. */
.g2d-standalone-page .gs3d-relation-quickbar{position:absolute;top:calc(var(--gs3d-guidance-top,70px) + 97px);left:10px;z-index:13;display:flex;flex-wrap:wrap;align-items:center;gap:5px;max-width:min(570px,calc(100% - 90px));padding:5px;background:rgba(255,255,255,.92);border:1px solid #b9d1ed;border-radius:11px;box-shadow:0 5px 18px rgba(18,57,111,.11);backdrop-filter:blur(7px)}
.g2d-standalone-page .gs3d-relation-quickbar[hidden]{display:none!important}
.g2d-standalone-page .gs3d-relation-quickbar button{min-height:32px;min-width:38px;padding:5px 8px;color:#1c4d88;background:#f6faff;border:1px solid #bad3f4;border-radius:7px;cursor:pointer;font-size:12px;font-weight:650}
.g2d-standalone-page .gs3d-relation-quickbar button:is(:hover,:focus-visible){background:#ddecff;border-color:#3984da;outline-offset:2px}
.g2d-standalone-page .gs3d-relation-quickbar button.is-active{background:#cce2ff;color:#124997;border-color:#397bd6}
@media(max-width:650px){.g2d-standalone-page .gs3d-relation-quickbar{top:calc(var(--gs3d-guidance-top,70px) + 90px);max-width:calc(100% - 64px)}.g2d-standalone-page .gs3d-relation-quickbar button{min-height:42px}}

/* B06 STEP11: responsive read-only pair report; scoped to Geometry 3D workspace only. */
.g2d-standalone-page [data-studio-mode="3d"] .gs3d-unified-relation-report{
 z-index:28;width:min(470px,calc(100% - 24px));max-width:calc(100% - 24px);
 max-height:min(55vh,430px);overflow-y:auto;overscroll-behavior:contain;
 background:rgba(255,255,255,.94);backdrop-filter:blur(8px);
 border:1px solid #a8c6ec;box-shadow:0 15px 38px rgba(22,57,107,.20);
}
.g2d-standalone-page [data-studio-mode="3d"] .gs3d-unified-relation-report strong{
 display:block;padding:7px 8px;font-size:13px;color:#194b85;
}
.g2d-standalone-page [data-studio-mode="3d"] .gs3d-unified-relation-report .gs3d-context-action:focus-visible{
 outline:2px solid #246cda;outline-offset:2px;
}

/* B06 STEP12 — Owner-approved icon-first readability for *3D standalone only*.
   Keep positions #1–#8 including empty #3/#8, do not restyle 2D or Host.
   Icon identity per functional slot is maintained by the source inventory.
*/
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-owner-slot:not(.is-empty){
  width:58px;min-width:58px;min-height:55px;padding:4px;border-radius:9px;
  background:#f7faff;align-items:center;justify-content:center;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-owner-slot:not(.is-empty) .gs3d-owner-icon{width:39px;height:39px;object-fit:contain;}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-group{
  width:54px;min-width:54px;min-height:55px;justify-content:center;padding:4px;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-group .gs3d-owner-icon{width:37px;height:37px;object-fit:contain;}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-group>span{display:none;}
/* Two canonical measurement shortcuts already exist: do not duplicate the generic
   measure-group icon on the horizontal bar. Group remains reachable via More/search. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-tool-row>.gs3d-group[data-group="measure"]{display:none;}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-owner-slot:is(:hover,:focus-visible),
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-group:is(:hover,:focus-visible){outline-offset:2px;}
@media(max-width:1100px){
 .g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-owner-slot:not(.is-empty){width:50px;min-width:50px;min-height:50px;}
 .g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-owner-slot:not(.is-empty) .gs3d-owner-icon{width:35px;height:35px;}
}
@media(pointer:coarse){
 .g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-owner-slot:not(.is-empty){min-width:50px;min-height:50px;}
}


/* B06 STEP13: right-side #9 camera control, internal 3D scope only. */
.g2d-standalone-page .gs3d-view-stack .gs3d-eight-toggle svg{width:31px;height:31px;display:block;}
.g2d-standalone-page .gs3d-eight-pad{
 position:absolute;z-index:15;right:62px;top:var(--gs3d-nav-top,12px);
 display:grid;grid-template-columns:repeat(3,42px);grid-template-rows:repeat(3,42px);
 gap:3px;padding:9px;border:1px solid rgba(110,161,225,.4);border-radius:15px;
 background:rgba(248,251,255,.54);backdrop-filter:blur(5px);
 box-shadow:0 8px 22px rgba(20,70,140,.11);max-width:calc(100% - 75px);box-sizing:border-box;
 touch-action:none;
}
.g2d-standalone-page .gs3d-eight-pad[hidden]{display:none!important;}
.g2d-standalone-page .gs3d-eight-pad .gs3d-eight-arrow,
.g2d-standalone-page .gs3d-eight-pad .gs3d-eight-reset{
 display:flex;justify-content:center;align-items:center;cursor:pointer;font-size:25px;line-height:1;
 color:#145bbd;border:1px solid rgba(52,118,204,.25);border-radius:10px;
 background:rgba(225,239,255,.52);user-select:none;touch-action:none;
}
.g2d-standalone-page .gs3d-eight-pad .gs3d-eight-arrow:active,
.g2d-standalone-page .gs3d-eight-pad .gs3d-eight-reset:active{background:rgba(59,130,246,.48);}
.g2d-standalone-page .gs3d-eight-pad button:focus-visible{outline:3px solid #ff9b32;outline-offset:1px;}
.g2d-standalone-page .gs3d-eight-pad .gs3d-eight-close{grid-column:1 / 4;min-height:26px;font-size:14px;background:rgba(255,255,255,.46);border:1px solid rgba(60,111,185,.22);border-radius:6px;color:#275c91;}
@media(max-width:480px){.g2d-standalone-page .gs3d-eight-pad{right:50px;grid-template-columns:repeat(3,37px);grid-template-rows:repeat(3,37px);gap:2px;padding:6px;}}
@media(prefers-reduced-motion:reduce){.g2d-standalone-page .gs3d-eight-pad,.g2d-standalone-page .gs3d-eight-pad button{transition:none!important;}}

/* B06 ICONFIX01 · Owner GeoGebra reference: one clear, large glyph per 3D toolbar button.
   Layout/command IDs untouched. Dialogs/menus keep their text labels for touch and a11y. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-mode-command{
 min-width:54px;min-height:54px;padding:4px;gap:0;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-mode-command>span{display:none;}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-mode-command>.gs3d-owner-icon{width:39px;height:39px;}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-mode-command>svg{width:39px;height:39px;}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-owner-slot:not(.is-empty){
 min-width:58px;min-height:56px;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-owner-slot:not(.is-empty) .gs3d-owner-icon{width:41px;height:41px;}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-group .gs3d-owner-icon{width:41px;height:41px;}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-view-stack .gs3d-owner-icon{width:33px;height:33px;}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-eight-toggle .gs3d-owner-icon{width:36px;height:36px;}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-quick-btn{
 display:inline-flex;align-items:center;justify-content:center;
 width:52px;min-width:52px;height:52px;max-width:none;padding:4px;border-radius:10px;
 background:#f7faff;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-quick-btn .gs3d-owner-icon{width:39px;height:39px;}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-owner-slot:focus-visible,
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-group:focus-visible,
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-mode-command:focus-visible,
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-quick-btn:focus-visible{
 outline:3px solid #f08a25;outline-offset:2px;
}
@media(max-width:760px){
 .g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-mode-command{min-width:46px;min-height:48px;}
 .g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-mode-command>.gs3d-owner-icon,
 .g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-mode-command>svg{width:34px;height:34px;}
 .g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-owner-slot:not(.is-empty){min-width:50px;min-height:50px;}
 .g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-owner-slot:not(.is-empty) .gs3d-owner-icon{width:35px;height:35px;}
}
@media(pointer:coarse){
 .g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-mode-command,
 .g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-quick-btn{min-width:46px;min-height:46px;}
}

/* ICONFIX01: all vertical camera buttons remain icon-only and meet touch target size.
   Standalone 3D scope only; no Host/2D/Global fullscreen override. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-view-stack .gs3d-view-btn{
 min-width:44px;max-width:44px;width:44px;min-height:44px;height:44px;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-view-stack .gs3d-reset-origin svg{
 width:31px;height:31px;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-settings>.gs3d-action .gs3d-owner-icon{
 width:30px;height:30px;object-fit:contain;
}

/* OWNER FIX02 · Toolbar #3 Biến hình, #5 Thiết diện, #8 Hình khối. */
.g2d-standalone-page .gs3d-slot-menu>button{display:flex;align-items:center;gap:9px;min-height:42px;}
.g2d-standalone-page .gs3d-slot-menu>button .gs3d-owner-icon{width:30px;height:30px;flex:0 0 30px;object-fit:contain;}
.g2d-standalone-page .gs3d-slot-menu>.gs3d-slot-menu-divider{margin-top:8px;border-top:1px solid #dce8f8;padding-top:8px;}
/* OWNER FIX02: approved lighter 8-direction glass panel. Icons and borders stay strong. */
.g2d-standalone-page .gs3d-eight-pad{background:rgba(248,251,255,.30);backdrop-filter:blur(3px);}
.g2d-standalone-page .gs3d-eight-pad .gs3d-eight-arrow,
.g2d-standalone-page .gs3d-eight-pad .gs3d-eight-reset{background:rgba(225,239,255,.27);}
.g2d-standalone-page .gs3d-eight-pad .gs3d-eight-close{background:rgba(255,255,255,.24);}

/* Owner UX03: hide ONLY duplicated standalone 3D sidebar card header; actual 2D controls retained. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] #g2d-right-card>.card-header{display:none!important;padding:0!important;min-height:0!important;}

/* FIX02 · Detailed Vietnamese Help library, standalone Tool-owned window, no Host fullscreen calls. */
.g2d-standalone-page .gs3d-help-library{display:flex;flex-direction:column;gap:9px;box-sizing:border-box;
 width:min(660px,calc(100% - 20px));max-height:min(76vh,calc(100% - 20px));top:10px;left:10px;padding:15px;
 color:#153c72;background:rgba(255,255,255,.985);z-index:35;overflow:hidden;}
.g2d-standalone-page .gs3d-help-library[hidden]{display:none!important;}
.g2d-standalone-page .gs3d-help-library.is-expanded{position:fixed;inset:clamp(8px,1.5vw,22px);width:auto;height:auto;
 max-width:none;max-height:none;z-index:120;border-radius:14px;}
.g2d-standalone-page .gs3d-help-library-head{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;flex-shrink:0;}
.g2d-standalone-page .gs3d-help-library-title h3{font-size:18px;margin:0 0 5px;color:#144f9c;}
.g2d-standalone-page .gs3d-help-library-title small{font-size:12px;color:#54728e;line-height:1.4;}
.g2d-standalone-page .gs3d-help-library-actions{display:flex;gap:6px;flex-shrink:0;}
.g2d-standalone-page .gs3d-help-library-actions button{min-height:39px;padding:7px 10px;border-radius:8px;background:#eff6ff;color:#1556a5;border:1px solid #bdd8f6;cursor:pointer;font-weight:700;}
.g2d-standalone-page .gs3d-help-library-actions .gs3d-help-close{margin:0;}
.g2d-standalone-page .gs3d-help-search{width:100%;min-height:43px;padding:9px 12px;box-sizing:border-box;border:1px solid #c0d8f3;border-radius:9px;color:#153b70;background:white;flex-shrink:0;}
.g2d-standalone-page .gs3d-help-categories{display:flex;gap:5px;max-height:85px;overflow-y:auto;overflow-x:hidden;flex-wrap:wrap;flex-shrink:0;}
.g2d-standalone-page .gs3d-help-chip{min-height:34px;padding:5px 9px;border-radius:7px;background:#f1f7ff;color:#265e9b;border:1px solid #cbddf4;cursor:pointer;font-size:12px;}
.g2d-standalone-page .gs3d-help-chip[aria-pressed="true"]{background:#145fce;color:#fff;border-color:#145fce;}
.g2d-standalone-page .gs3d-help-library-body{flex:1;overflow:auto;min-height:0;overscroll-behavior:contain;padding:2px 3px 12px;}
.g2d-standalone-page .gs3d-help-topic{border-top:1px solid #dce7f7;padding:8px 0 10px;}
.g2d-standalone-page .gs3d-help-topic h4{font-size:15px;color:#1557ae;margin:4px 0 10px;}
.g2d-standalone-page .gs3d-help-command{background:#fafcff;border:1px solid #deebfa;padding:10px 12px;border-radius:10px;margin-bottom:9px;}
.g2d-standalone-page .gs3d-help-command-heading{display:flex;gap:11px;align-items:center;margin-bottom:5px;color:#153e7d;}
.g2d-standalone-page .gs3d-help-command-heading .gs3d-owner-icon{width:52px;height:52px;object-fit:contain;flex:0 0 52px;}
.g2d-standalone-page .gs3d-help-command .gs3d-help-row{grid-template-columns:minmax(112px,26%) 1fr;font-size:13px;}
.g2d-standalone-page .gs3d-help-library :is(button,input):focus-visible{outline:3px solid #f09a31;outline-offset:2px;}
@media(max-width:600px){.g2d-standalone-page .gs3d-help-library{width:calc(100% - 12px);left:6px;padding:10px;}
.g2d-standalone-page .gs3d-help-library-title h3{font-size:15px;}
.g2d-standalone-page .gs3d-help-command .gs3d-help-row{grid-template-columns:1fr;gap:2px;}
.g2d-standalone-page .gs3d-help-library-actions button{font-size:11px;padding:5px 6px;}}

/* B07 STEP01: phương trình tọa độ 3D — scoped, dễ đọc, không thay Host. */
.g2d-standalone-page .gs3d-property-card .gs3d-coordinate-equation {
  margin: 8px 0 10px;
  padding: 9px 11px;
  color: #123f83;
  background: rgba(235, 245, 255, .78);
  border: 1px solid #c7ddf7;
  border-radius: 10px;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
  line-height: 1.6;
}

/* B07 FINAL 3D UX FIX — isolated from Canvas2D and TOAN TIN Host */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] #full-column{position:relative;min-width:0}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] #full-column.g2d-right-collapsed{flex:0 0 14px!important;width:14px!important;max-width:14px!important;padding:0!important;min-width:14px!important}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] #full-column.g2d-right-collapsed #g2d-right-card{visibility:hidden;pointer-events:none;overflow:hidden;width:0!important;border:0!important;padding:0!important}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-reopen-sidebar{position:absolute;top:46%;left:-33px;z-index:70;width:44px;height:58px;border:1px solid #7ea8ee;border-radius:14px 0 0 14px;color:#1354ae;background:rgba(250,253,255,.98);box-shadow:0 5px 18px #163a6b30;font-size:23px;cursor:ew-resize;touch-action:pan-y}
.g2d-standalone-page .gs3d-reopen-sidebar[hidden]{display:none!important}
.g2d-standalone-page .gs3d-reopen-sidebar:is(:hover,:focus-visible){background:#dbeaff;outline:2px solid #3984ef;outline-offset:1px}
/* Help is viewport-safe: never behind the top toolbar; controls are always above Canvas. */
.g2d-standalone-page .gs3d-help-library{position:fixed!important;z-index:1600!important;margin:0;max-width:calc(100vw - 12px);max-height:calc(100dvh - 20px);resize:both;min-width:min(315px,calc(100vw - 12px));min-height:180px;}
.g2d-standalone-page .gs3d-help-library.is-expanded{position:fixed!important;inset:6px!important;z-index:1600!important;max-width:none;max-height:none;resize:none;}
.g2d-standalone-page .gs3d-help-library-head{cursor:grab;user-select:none;touch-action:none;}
.g2d-standalone-page .gs3d-help-library-head:active{cursor:grabbing}
.g2d-standalone-page .gs3d-help-library-actions .gs3d-help-close{background:#eaf3ff;border:1px solid #8cb6ee;color:#074891;min-width:64px;min-height:44px}
.g2d-standalone-page .gs3d-help-library-body{overscroll-behavior:contain}
/* A single clearly discoverable Help button next to Selected / Zoom badges. */
.g2d-standalone-page .gs3d-view-stack .gs3d-help-trigger{display:none!important}
.g2d-standalone-page .gs3d-live-state{pointer-events:auto;z-index:19}
.g2d-standalone-page .gs3d-help-bottom{min-height:42px;min-width:100px;border:1px solid #7aa6df;border-radius:11px;padding:6px 10px;white-space:nowrap;color:#064ca2;background:#e5f1ff;font-size:13px;font-weight:800;box-shadow:0 2px 10px #28578b22;cursor:pointer}
.g2d-standalone-page .gs3d-help-bottom:is(:hover,:focus-visible){background:#cce3ff;outline:2px solid #2c74d2}
/* Compact draggable intelligent command intake; only confirmed refs appear as chips. */
.g2d-standalone-page .gs3d-command-bar{flex-direction:column;align-items:stretch;gap:3px;padding:6px 7px;width:min(365px,calc(100% - 85px));max-width:calc(100% - 70px);box-sizing:border-box;min-width:0}
.g2d-standalone-page .gs3d-command-bar.is-positioned{right:auto;bottom:auto}
.g2d-standalone-page .gs3d-input-header{display:flex;align-items:center;gap:7px;min-height:23px;color:#134c8d;font-size:12px}
.g2d-standalone-page .gs3d-input-grip{width:26px;min-height:22px;padding:0;border:0;border-radius:5px;background:transparent;color:#5680b4;cursor:move;touch-action:none;font-size:18px}
.g2d-standalone-page .gs3d-input-title{flex:1;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.g2d-standalone-page .gs3d-intake-chips{display:flex;flex-wrap:wrap;gap:3px;max-height:57px;overflow:auto;}
.g2d-standalone-page .gs3d-intake-chips[hidden]{display:none!important}
.g2d-standalone-page .gs3d-intake-chip{padding:2px 6px;min-height:26px;border-radius:7px;background:#e5f0ff;color:#0d54a7;border:1px solid #accff4;font-size:12px;cursor:pointer}
.g2d-standalone-page .gs3d-intake-status{font-size:11px;color:#44617c;line-height:1.25;max-height:35px;overflow:auto;}
.g2d-standalone-page .gs3d-intake-status[data-kind="problem"]{color:#aa3b1a}
.g2d-standalone-page .gs3d-intake-status[data-kind="ready"]{color:#167450}
.g2d-standalone-page .gs3d-intake-controls{display:flex;align-items:center;gap:5px;min-width:0}
.g2d-standalone-page .gs3d-intake-controls .gs3d-command-field{flex:1;min-width:0;min-height:33px}
.g2d-standalone-page .gs3d-command-bar :is(.gs3d-command-confirm,.gs3d-command-help){min-width:35px;min-height:34px}
/* Explicit empty-fill icon; different from hidden/invisible objects. */
.g2d-standalone-page .gs3d-quick-no-fill{position:relative;min-width:35px!important;height:35px!important;background:#fff!important;border:1px solid #7a9abe!important;border-radius:7px!important;color:#1661b0!important;font-size:24px!important;line-height:1;}
.g2d-standalone-page .gs3d-quick-no-fill::after{content:"";position:absolute;width:30px;height:2px;background:#e12e39;left:3px;top:16px;transform:rotate(-45deg);pointer-events:none}
.g2d-standalone-page .gs3d-quick-no-fill.is-active{background:#ddebff!important;box-shadow:0 0 0 2px #438bea55}
@media(max-width:680px){.g2d-standalone-page .gs3d-live-state{flex-wrap:wrap;justify-content:flex-end;max-width:calc(100% - 12px)}.g2d-standalone-page .gs3d-help-bottom{min-width:88px;font-size:11px}.g2d-standalone-page .gs3d-command-bar{width:min(310px,calc(100% - 56px));max-width:calc(100% - 55px)}.g2d-standalone-page .gs3d-help-library{min-width:min(280px,calc(100vw - 12px));}}

/* No duplicated verbose guidance above the compact input panel. */
.g2d-standalone-page .gs3d-hint[hidden]{display:none!important}
.g2d-standalone-page .gs3d-command-bar:not(.is-positioned){top:calc(var(--gs3d-guidance-top,70px) + 7px)}
.g2d-standalone-page .gs3d-help-library.is-expanded{top:var(--gs3d-help-safe-top,8px)!important;bottom:6px!important;max-height:calc(100dvh - var(--gs3d-help-safe-top,8px) - 6px)!important;}
/* FIX02: previous #full-column overflow:hidden clipped the collapsed edge grip.
   Open overflow only on the collapsed 3D sidebar; leave normal 3D and 2D intact. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] #full-column.g2d-right-collapsed{overflow:visible!important}
/* Even expanded Help must keep its close/restore actions BELOW the outer toolbar. */
.g2d-standalone-page .gs3d-help-library.is-expanded{
 top:var(--gs3d-help-safe-top,88px)!important;
 right:6px!important;bottom:6px!important;left:6px!important;
 width:auto!important;height:auto!important;
}

/* OWNER DOCX FIX04: bottom Help matches Selected / Zoom chips exactly; no oversized CTA. */
.g2d-standalone-page .gs3d-live-state .gs3d-help-bottom{box-sizing:border-box;min-width:0!important;min-height:0!important;width:30px!important;height:29px!important;padding:3px 7px!important;border:1px solid #d2e2f8!important;border-radius:11px!important;background:rgba(255,255,255,.89)!important;box-shadow:none!important;color:#28527e!important;font-size:12px!important;line-height:1!important;font-weight:750!important;flex:0 0 auto;}
.g2d-standalone-page .gs3d-live-state .gs3d-help-bottom:is(:hover,:focus-visible){background:#deedff!important;outline:2px solid #6f9ee4;outline-offset:1px}
.g2d-standalone-page .gs3d-live-state .gs3d-coords-badge{max-width:196px;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums;}
.g2d-standalone-page .gs3d-live-state .gs3d-coords-badge[hidden]{display:none!important;}
@media(max-width:680px){.g2d-standalone-page .gs3d-live-state .gs3d-help-bottom{width:29px!important;height:26px!important;padding:2px 7px!important;}}

/* FIX04 only when 3D mode: prominent but nonintrusive Pin and colored Undo/Redo. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] #toggle-toolbar-pin svg{width:29px!important;height:29px!important;stroke:#2367b7!important;stroke-width:2.35!important;}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] #toggle-toolbar-pin{border-color:#a3c4ec;background:#edf5ff;}
.g2d-standalone-page .gs3d-settings .gs3d-action .gs3d-owner-icon[src$="owner_undo_colored.svg"],
.g2d-standalone-page .gs3d-settings .gs3d-action .gs3d-owner-icon[src$="owner_redo_colored.svg"]{width:31px;height:31px;}

/* FIX04: explicit mathematical disambiguation when O + point + number may mean either radius or height. */
.g2d-standalone-page .gs3d-solid-choice:not([hidden]){display:flex;flex-wrap:wrap;align-items:stretch;gap:4px;margin-top:3px;padding-top:4px;border-top:1px solid #dbe7f5;}
.g2d-standalone-page .gs3d-solid-choice[hidden]{display:none!important;}
.g2d-standalone-page .gs3d-solid-choice button{flex:1 1 125px;border:1px solid #b5cff0;background:#edf5ff;color:#184a87;font-size:11px;line-height:1.3;border-radius:6px;padding:6px 7px;white-space:normal;text-align:center;cursor:pointer;}
.g2d-standalone-page .gs3d-solid-choice button:is(:hover,:focus-visible){background:#d9eafe;outline:2px solid #4d8ddb;outline-offset:1px;}

/* B07 FIX05 Owner: resize command intake through edges/corners, bounded to workspace. */
.g2d-standalone-page .gs3d-command-bar{resize:both;overflow:auto;max-width:min(50vw,calc(100% - 24px))!important;max-height:min(33dvh,calc(100% - 20px))!important;min-width:min(295px,calc(100vw - 30px));min-height:112px;}
.g2d-standalone-page .gs3d-command-bar[hidden]{display:none!important;}
.g2d-standalone-page .gs3d-quick-no-fill{width:35px;min-width:35px!important;font-size:19px!important;}
@media(max-width:650px){.g2d-standalone-page .gs3d-command-bar{max-width:calc(100% - 22px)!important;max-height:50dvh!important;min-width:min(260px,calc(100vw - 30px));}}

/* FIX05: eight 3D intake edge/corner resize hit areas; no shared/Host CSS. */
.g2d-standalone-page .gs3d-command-bar .gs3d-intake-resize{position:absolute;z-index:8;display:block;touch-action:none;user-select:none;opacity:0;transition:opacity .12s;background:#438bea99;border:1px solid #fff;border-radius:3px;box-sizing:border-box;}
.g2d-standalone-page .gs3d-command-bar:is(:hover,:focus-within) .gs3d-intake-resize{opacity:.65;}
.g2d-standalone-page .gs3d-command-bar .gs3d-intake-resize:hover{opacity:1;}
.g2d-standalone-page .gs3d-intake-resize-n,.g2d-standalone-page .gs3d-intake-resize-s{left:16px;right:16px;height:7px;cursor:ns-resize;}
.g2d-standalone-page .gs3d-intake-resize-n{top:-3px;}.g2d-standalone-page .gs3d-intake-resize-s{bottom:-3px;}
.g2d-standalone-page .gs3d-intake-resize-w,.g2d-standalone-page .gs3d-intake-resize-e{top:15px;bottom:15px;width:7px;cursor:ew-resize;}
.g2d-standalone-page .gs3d-intake-resize-w{left:-3px;}.g2d-standalone-page .gs3d-intake-resize-e{right:-3px;}
.g2d-standalone-page .gs3d-intake-resize-nw,.g2d-standalone-page .gs3d-intake-resize-ne,.g2d-standalone-page .gs3d-intake-resize-sw,.g2d-standalone-page .gs3d-intake-resize-se{width:14px;height:14px;}
.g2d-standalone-page .gs3d-intake-resize-nw{left:-5px;top:-5px;cursor:nwse-resize;}.g2d-standalone-page .gs3d-intake-resize-se{right:-5px;bottom:-5px;cursor:nwse-resize;}
.g2d-standalone-page .gs3d-intake-resize-ne{right:-5px;top:-5px;cursor:nesw-resize;}.g2d-standalone-page .gs3d-intake-resize-sw{left:-5px;bottom:-5px;cursor:nesw-resize;}
/* FIX05 Owner DOCX p1: compact the one positively identified oversized control (XY/XZ/YZ workplane).
 * Keep minimum 42 px vertical touch target; second unidentified control remains a visual QA gate. */
.g2d-standalone-page .gs3d-settings>.gs3d-select{box-sizing:border-box;width:48px!important;min-width:48px!important;max-width:48px!important;min-height:42px;padding-inline:2px!important;}

/* FIX06 · Owner toolbar: one visible ellipsis only; canonical recent/favourites
   action is retained inside the left-side More menu, not duplicated by XY.
   Keep these rules 3D standalone scoped and fully respect [hidden]. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-settings>.gs3d-recent-toggle[hidden]{display:none!important;}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-owner-slots>.gs3d-group[data-group="more"]{
 min-width:54px;min-height:55px;flex:0 0 auto;margin-right:2px;
}

/* FIX06 · contextual 3D guidance: aligned at the right edge beneath Toolbar,
   transparent, readable, and never intercepting Canvas pointer events. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-hint:not([hidden]){
 left:auto;right:8px;top:var(--gs3d-guidance-top,5px);
 max-width:min(43%,450px);width:max-content;z-index:6;
 background:transparent;border:0;box-shadow:none;backdrop-filter:none;
 color:#1154a7;font-weight:700;font-size:12px;text-align:right;
 padding:5px 8px;white-space:normal;pointer-events:none;
 text-shadow:0 1px 2px rgba(255,255,255,.96),1px 0 3px rgba(255,255,255,.95);
}
.g2d-standalone-page .gs3d-drawing-hint-switch{
 min-width:62px;min-height:36px;border-radius:8px;
 border:1px solid #b8cfee;background:#edf5ff;color:#1c5395;font-weight:750;cursor:pointer;
}
.g2d-standalone-page .gs3d-drawing-hint-switch[data-on="true"]{
 background:#d9ebff;border-color:#3481de;color:#1353a8;
}
@media(max-width:800px){
 .g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-hint:not([hidden]){
  max-width:min(58%,390px);font-size:11px;opacity:.85;
 }
}

/* FIX06 visual position swap. Keep 14 original group buttons as direct children,
   preserve DOM listeners and all legacy/Host-compatible query contracts. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-tool-row>.gs3d-owner-slot[data-slot="1"]{order:1;flex-shrink:0;}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-tool-row>.gs3d-group[data-group="more"]{order:2;flex-shrink:0;}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-tool-row>.gs3d-owner-slots{order:3;}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-tool-row>.gs3d-settings{order:4;}
/* FIX08 · compact data-only intake. Math guidance goes to the unified top hint. */
.g2d-standalone-page .gs3d-intake-status[hidden]{display:none!important;}
.g2d-standalone-page .gs3d-curved-order{min-width:0;max-width:136px;height:25px;font-size:11px;color:#244d80;background:#eff6ff;border:1px solid #b9d4f4;border-radius:6px;margin-left:auto;}
.g2d-standalone-page .gs3d-curved-order[hidden]{display:none!important;}

/* FIX08 · explicit Owner PENDING UX: muted burgundy guidance, visible outside sidebar. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-hint:not([hidden]){color:#801b34!important;text-shadow:0 1px 3px #fff,0 0 3px #fff;max-width:min(45%,460px)}
/* FIX08 · reopening grip belongs to the outer right edge, not on the camera stack. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] #full-column.g2d-right-collapsed>.gs3d-reopen-sidebar{top:clamp(80px,15%,144px);left:auto;right:0;width:34px;height:44px;min-width:34px;min-height:44px;border-radius:12px 0 0 12px;z-index:110;font-size:20px;}

/* FIX11 Owner: input is deliberately compact; only the dedicated grip moves it.
   All teaching stays in the unified top hint. Chips and input remain readable. */
.g2d-standalone-page .gs3d-command-bar{resize:none!important;overflow:visible!important;height:auto!important;min-height:0!important;width:min(338px,calc(100% - 72px))!important;max-width:calc(100% - 72px)!important;min-width:0!important;padding:5px 6px!important;gap:3px!important;}
.g2d-standalone-page .gs3d-command-bar .gs3d-intake-resize{display:none!important;}
.g2d-standalone-page .gs3d-input-header{min-height:21px;}
.g2d-standalone-page .gs3d-intake-status{display:none!important;}
.g2d-standalone-page .gs3d-intake-chips{max-height:55px;overflow-y:auto;overflow-x:hidden;}
.g2d-standalone-page .gs3d-command-field{min-width:0!important;}
.g2d-standalone-page .gs3d-command-bar.is-positioned{right:auto;bottom:auto;}
/* Guidance stays centered beneath the Toolbar, above canvas paints and below
   interactive toolbars; no right-side eight-button stack overlap. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-hint:not([hidden]){left:50%!important;right:auto!important;transform:translateX(-50%);top:var(--gs3d-guidance-top,5px)!important;max-width:min(64%,650px)!important;text-align:center!important;color:#801b34!important;z-index:6!important;pointer-events:none!important;}
/* FIX15 — Tọa độ điểm chọn được: gọn trên màn hình nhỏ, mở đầy đủ bằng phím/chạm. */
.g2d-standalone-page .gs3d-live-state .gs3d-coords-badge{max-width:min(330px,44vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.g2d-standalone-page .gs3d-live-state .gs3d-coords-extra{border:1px solid #cbdff7;border-radius:10px;background:#eff6ff;color:#184c88;font:600 12px system-ui;padding:5px 9px;pointer-events:auto;cursor:pointer;}
.g2d-standalone-page .gs3d-live-state .gs3d-coords-extra[hidden]{display:none;}
.g2d-standalone-page .gs3d-coords-details{position:absolute;right:8px;bottom:52px;z-index:21;max-height:min(270px,45%);width:min(375px,calc(100% - 16px));overflow:auto;border:1px solid #cbdff7;border-radius:12px;box-shadow:0 6px 20px #1f47802b;background:#fff;padding:8px;color:#173b65;pointer-events:auto;}
.g2d-standalone-page .gs3d-coords-details[hidden]{display:none;}
.g2d-standalone-page .gs3d-coords-details-row{padding:5px 7px;border-bottom:1px solid #e1ebfa;font-weight:600;overflow-wrap:anywhere;}
.g2d-standalone-page .gs3d-coords-details-row small{display:block;font-size:11px;font-weight:400;color:#486584;}
.g2d-standalone-page .gs3d-coords-extra:focus-visible{outline:2px solid #2563eb;outline-offset:2px;}
@media(max-width:680px){.g2d-standalone-page .gs3d-live-state .gs3d-coords-badge{max-width:min(210px,57vw)}}
/* Semantics của chip cũ không đổi, chỉ thêm vai trò nhìn thấy qua CSS có scope. */
.g2d-standalone-page .gs3d-intake-chip[data-role]::before{content:attr(data-role);font-weight:700;color:#194c85;}

/* FIX16: hover-accessible construction-method menu; 3D standalone scoped only. */
.g2d-standalone-page .gs3d-method-hover-menu{position:absolute;z-index:18;top:32px;right:8px;max-width:min(380px,calc(100% - 16px));min-width:225px;padding:5px;border:1px solid #bed5f2;background:#ffffff;border-radius:10px;box-shadow:0 8px 24px rgba(16,42,86,.18);display:flex;flex-direction:column;gap:3px}
.g2d-standalone-page .gs3d-method-hover-menu[hidden]{display:none}
.g2d-standalone-page .gs3d-method-hover-choice{text-align:left;border:0;border-radius:6px;background:transparent;color:#163b73;padding:8px 10px;font-size:12px;line-height:1.35;cursor:pointer;min-height:36px}
.g2d-standalone-page .gs3d-method-hover-choice:hover,.g2d-standalone-page .gs3d-method-hover-choice:focus-visible,.g2d-standalone-page .gs3d-method-hover-choice[aria-pressed="true"]{background:#e8f1ff;outline-color:#0d5bef}
@media(pointer:coarse){.g2d-standalone-page .gs3d-method-hover-menu{display:none}}

/* B07/FIX17 — unified prism intake, retain desktop/touch compactness. */
.g2d-standalone-page .gs3d-curved-order[aria-label="Cách dựng hình lăng trụ"]{max-width:clamp(140px,27vw,258px);flex:1 1 auto;min-width:122px;}
.g2d-standalone-page .gs3d-prism-side-label{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#194f87;white-space:nowrap;}
.g2d-standalone-page .gs3d-prism-side-label[hidden]{display:none!important;}
.g2d-standalone-page .gs3d-prism-side-label input{box-sizing:border-box;width:46px;min-width:42px;height:25px;border:1px solid #b9d4f4;border-radius:6px;background:#fff;color:#173e72;font-size:12px;text-align:center;}
.g2d-standalone-page .gs3d-prism-side-label input:focus-visible{outline:2px solid #176acc;outline-offset:2px;}
.g2d-standalone-page .gs3d-input-header:has(.gs3d-prism-side-label:not([hidden])){flex-wrap:wrap;}
@media(max-width:650px){.g2d-standalone-page .gs3d-curved-order[aria-label="Cách dựng hình lăng trụ"]{max-width:100%;flex:1 1 165px;}}

/* FIX21 universal intake: full title, a separate method row, no duplicated numeric chips. */
.g2d-standalone-page .gs3d-input-header{width:100%;min-width:0;align-items:flex-start;}
.g2d-standalone-page .gs3d-input-title{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;font-size:12.5px;line-height:1.35;min-width:0;}
.g2d-standalone-page .gs3d-input-methods{display:flex;flex-direction:column;gap:2px;min-width:0;width:100%;}
.g2d-standalone-page .gs3d-input-methods[hidden]{display:none!important;}
.g2d-standalone-page .gs3d-input-methods select{width:100%;max-width:100%;min-width:0;min-height:29px;box-sizing:border-box;white-space:normal;}
.g2d-standalone-page .gs3d-prism-side-label{display:flex;align-items:center;gap:8px;max-width:100%;font-size:12px;}
.g2d-standalone-page .gs3d-prism-side-label[hidden]{display:none!important;}
/* FIX23: accessible, step-local correction for every active 3D intake. */
.g2d-standalone-page .gs3d-command-bar .gs3d-command-undo{
  flex:0 0 auto;min-width:35px;min-height:34px;border:1px solid #bad1ed;
  border-radius:7px;background:rgba(224,238,255,.94);color:#145eb1;
  font-size:21px;font-weight:700;cursor:pointer;
}
.g2d-standalone-page .gs3d-command-bar .gs3d-command-undo:hover{
  background:#bcdcff;border-color:#468bdb;
}
.g2d-standalone-page .gs3d-command-bar .gs3d-command-undo:focus-visible{
  outline:2px solid #155eef;outline-offset:2px;
}
.g2d-standalone-page .gs3d-command-bar .gs3d-command-undo[hidden]{display:none!important}
@media(max-width:650px){.g2d-standalone-page .gs3d-command-bar .gs3d-command-undo{min-height:42px;min-width:38px}}

/* FIX29: deliberate hide mode, high-contrast persistent active state. */
.g2d-standalone-page .gs3d-mode-command.gs3d-hide-mode.is-active{background:#ffedb5!important;border-color:#e58a00!important;color:#843b09!important;box-shadow:0 0 0 3px rgba(245,158,11,.40),0 0 13px rgba(245,158,11,.35)!important;}
.g2d-standalone-page .gs3d-mode-command.gs3d-hide-mode:hover{background:#fff0c2;border-color:#d97706;}

/* FIX36 — compact common Quick Properties: one palette, contextual options. */
.g2d-standalone-page .gs3d-quick-palette-trigger{display:flex;align-items:center;justify-content:center;gap:3px;flex:none;height:33px;min-width:43px;background:#f9fbff;border:1px solid #aac7ea;border-radius:8px;color:#1d4f90;cursor:pointer;padding:2px 4px}
.g2d-standalone-page .gs3d-quick-palette-swatch{display:block;width:24px;height:24px;border:1px solid #7c9dcb;border-radius:5px;box-shadow:inset 0 0 0 1px #fff5}
.g2d-standalone-page .gs3d-quick-percent{font-weight:750;font-size:12px;min-width:45px}
.g2d-standalone-page .gs3d-quick-style-menu{position:absolute;z-index:95;display:flex;flex-direction:column;gap:9px;max-width:min(270px,calc(100vw - 20px));max-height:min(360px,65vh);overflow-y:auto;background:#fff;border:1px solid #a9c8ef;border-radius:12px;padding:12px;box-shadow:0 12px 32px #183e7938;color:#164577;touch-action:auto}
.g2d-standalone-page .gs3d-quick-style-menu[hidden]{display:none!important}
.g2d-standalone-page .gs3d-quick-style-menu label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px}
.g2d-standalone-page .gs3d-quick-style-menu label :is(input[type=color],select){height:32px;min-width:60px}
.g2d-standalone-page .gs3d-quick-style-menu label input[type=range]{width:95px}
.g2d-standalone-page .gs3d-quick-style-menu .gs3d-quick-no-fill{align-self:start}
.g2d-standalone-page .gs3d-quick-menu-choice{width:100%;background:#f3f8ff;border:1px solid #dae7fb;border-radius:7px;text-align:left;padding:8px 9px;color:#23527c;font-size:12px;cursor:pointer}
.g2d-standalone-page .gs3d-quick-menu-choice:hover{background:#e4f0ff}
.g2d-standalone-page .gs3d-context-bar .gs3d-quick-percent{padding:0 6px}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-reopen-sidebar{background:#1761b8!important;color:#fff!important;border:2px solid #fff!important;box-shadow:0 0 0 3px #2367be5b,0 6px 22px #122b5d78!important;font-weight:800!important;font-size:24px!important}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-reopen-sidebar:is(:hover,:focus-visible){background:#034688!important;outline:3px solid #78baff!important}
@media(pointer:coarse){.g2d-standalone-page .gs3d-quick-palette-trigger{min-height:42px;min-width:46px}.g2d-standalone-page .gs3d-quick-menu-choice{min-height:42px}}

/* FIX37 FB013 — one contextual section switch; eye remains reserved for object visibility. */
.g2d-standalone-page .gs3d-quick-section-toggle{display:flex;align-items:center;justify-content:space-between;gap:14px}
.g2d-standalone-page .gs3d-quick-section-toggle.is-on{background:#dbf5e7;border-color:#65ba8c;color:#155c39}
.g2d-standalone-page .gs3d-quick-section-state{display:inline-flex;align-items:center;justify-content:center;min-width:46px;padding:5px 10px;border-radius:999px;background:#aeb9c5;color:#253347;font-weight:800}
.g2d-standalone-page .gs3d-quick-section-toggle.is-on .gs3d-quick-section-state{background:#138a51;color:#fff}
.g2d-standalone-page .gs3d-quick-section-toggle:focus-visible{outline:3px solid #2775d9;outline-offset:2px}

/* FIX39 — compact, explicit object-vs-point-label hide mode (3D only). */
.g2d-standalone-page .gs3d-hide-variant{max-width:155px;min-height:36px;border:1px solid #bcd2f0;border-radius:8px;background:#f5faff;color:#234d82;padding:4px 6px;font:600 12px/1.3 inherit;cursor:pointer;}
.g2d-standalone-page .gs3d-hide-variant:focus-visible{outline:3px solid #ee8e2d;outline-offset:2px;}
@media(max-width:680px){.g2d-standalone-page .gs3d-hide-variant{max-width:115px;font-size:11px;}}

/* B10 explicit 2D→3D bridge, scoped to this standalone workspace only. */
.g2d-standalone-page .gs3d-bridge-panel{margin:8px 0;padding:9px 11px;border:1px solid #b8d8ed;border-radius:10px;background:#f3fbff;}
.g2d-standalone-page .gs3d-bridge-panel>summary{font-size:13px;font-weight:750;cursor:pointer;color:#14558f;padding:4px 0;}
.g2d-standalone-page .gs3d-bridge-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;}
.g2d-standalone-page .gs3d-bridge-controls label{display:flex;flex-direction:column;gap:3px;min-width:0;font-size:12px;font-weight:600;color:#245179;}
.g2d-standalone-page .gs3d-bridge-controls select,.g2d-standalone-page .gs3d-bridge-controls input[type=number]{width:100%;max-width:100%;min-height:34px;background:#fff;border:1px solid #a9cee8;border-radius:7px;padding:5px;color:#173c64;}
.g2d-standalone-page .gs3d-bridge-controls .gs3d-bridge-check{display:flex;flex-direction:row;align-items:center;gap:5px;grid-column:1/-1;}
.g2d-standalone-page .gs3d-bridge-controls .gs3d-panel-row{grid-column:1/-1;flex-wrap:wrap;}
.g2d-standalone-page .gs3d-bridge-controls button{min-width:135px;}
.g2d-standalone-page .gs3d-bridge-controls small{grid-column:1/-1;color:#697a91;}
@media(max-width:580px){.g2d-standalone-page .gs3d-bridge-controls{grid-template-columns:1fr;}.g2d-standalone-page .gs3d-bridge-controls .gs3d-bridge-check,.g2d-standalone-page .gs3d-bridge-controls .gs3d-panel-row{grid-column:1;}}

.g2d-standalone-page .gs3d-bridge-handoff{border:1px solid #8ccef0;border-radius:8px;padding:5px 8px;background:#e1f8fb;color:#125677;font-weight:700;font-size:12px;white-space:nowrap;cursor:pointer;min-height:38px;}
.g2d-standalone-page .gs3d-bridge-handoff:hover{background:#cbf2f8;}
.g2d-standalone-page .gs3d-bridge-handoff:focus-visible{outline:3px solid #ed952d;outline-offset:2px;}
/* B13: scoped, responsive foldout in the existing 3D object panel. */
.gs3d-panel .gs3d-b13-panel{margin:8px 0 12px;padding:9px;border:1px solid #c6daef;border-radius:12px;background:#f7fbff;color:#173a67}
.gs3d-panel .gs3d-b13-panel>summary{cursor:pointer;font-weight:750;line-height:1.45;user-select:none}
.gs3d-panel .gs3d-b13-panel[open]>summary{margin-bottom:8px}
.gs3d-panel .gs3d-b13-panel .gs3d-subtle{font-size:12px;line-height:1.5;margin:7px 0;color:#526b8b}
.gs3d-panel .gs3d-b13-field{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:5px;font-size:12px;font-weight:600;margin:8px 0}
.gs3d-panel .gs3d-b13-field select{min-width:135px;max-width:100%;flex:1 1 150px;border:1px solid #b5ccea;border-radius:7px;background:white;padding:7px;color:#163b73}
.gs3d-panel .gs3d-b13-action{min-height:34px;font-size:12px;white-space:normal;flex:1 1 auto}
.gs3d-panel .gs3d-b13-net-preview{display:block;max-height:310px;max-width:100%;width:100%;object-fit:contain;border:1px solid #d7e5f5;border-radius:9px;background:white;margin:8px 0}
.gs3d-panel .gs3d-b13-panel small{display:block;font-size:11px;color:#526b8b;line-height:1.6}
.gs3d-panel .gs3d-b13-panel hr{border:0;border-top:1px solid #d2e2f4;margin:12px 0}
.gs3d-panel .gs3d-b13-steps{max-height:210px;overflow:auto;list-style:decimal;padding:0 0 0 26px;margin:5px 0}
.gs3d-panel .gs3d-b13-steps li{padding:2px 0;font-size:12px}
.gs3d-panel .gs3d-b13-steps .gs3d-b13-action{width:100%;text-align:left;min-height:30px}
.gs3d-panel .gs3d-b13-field input[type="number"]{width:105px;min-width:80px;max-width:140px;border:1px solid #b5ccea;border-radius:7px;background:#fff;padding:7px;color:#163b73}

/* FIX43: compact eye-only hide command, popup outside the clipped 3D toolbar row. */
.g2d-standalone-page .gs3d-hide-popup{position:fixed;z-index:110;min-width:222px;max-width:min(244px,calc(100vw - 12px));padding:6px;border:1px solid #a9c9ee;border-radius:10px;background:#fff;box-shadow:0 10px 28px rgba(17,51,91,.20);display:flex;flex-direction:column;gap:4px;}
.g2d-standalone-page .gs3d-hide-popup[hidden]{display:none!important;}
.g2d-standalone-page .gs3d-hide-popup .gs3d-hide-option{display:block;width:100%;min-height:40px;text-align:left;border:0;border-radius:7px;padding:7px 10px;background:#f5faff;color:#184b86;font-size:12px;font-weight:700;cursor:pointer;}
.g2d-standalone-page .gs3d-hide-popup .gs3d-hide-option:hover,.g2d-standalone-page .gs3d-hide-popup .gs3d-hide-option:focus-visible{outline:2px solid #3988e8;background:#e8f2ff;}
.g2d-standalone-page .gs3d-b13-panel .gs3d-b13-advanced{margin:6px 0;padding:4px 6px;border:1px solid #ccdeef;border-radius:8px;}
.g2d-standalone-page .gs3d-b13-panel .gs3d-b13-advanced>summary{cursor:pointer;font-size:12px;font-weight:650;color:#285b91;}
.g2d-standalone-page .gs3d-b13-panel input[type=range]{width:100%;max-width:100%;accent-color:#2473cb;}
/* FIX43 3D Locus: compact drag-handle transport, modeled on 2D UX but with 3D geometry adapter. */
.g2d-standalone-page .gs3d-locus-floating{position:absolute;top:72px;left:16px;z-index:25;width:min(340px,calc(100% - 24px));border:1px solid #92bce9;border-radius:11px;background:rgba(250,253,255,.96);box-shadow:0 8px 26px rgba(24,65,107,.19);padding:7px;display:grid;gap:5px;}
.g2d-standalone-page .gs3d-locus-floating[hidden]{display:none!important;}
.g2d-standalone-page .gs3d-locus-float-header{display:flex;justify-content:space-between;align-items:center;gap:4px;}
.g2d-standalone-page .gs3d-locus-float-header button{border:1px solid #c5d9f2;border-radius:7px;color:#15457a;background:#eaf3ff;font-weight:750;padding:3px 8px;}
.g2d-standalone-page .gs3d-locus-drag{cursor:grab;touch-action:none;flex:1;text-align:left;}
.g2d-standalone-page .gs3d-locus-float-status{font-size:11px;line-height:1.3;color:#24537f;}
.g2d-standalone-page .gs3d-locus-float-controls{display:flex;flex-wrap:wrap;gap:3px;}
.g2d-standalone-page .gs3d-locus-float-controls button{min-height:29px;min-width:31px;padding:2px 6px;font-size:13px;border:1px solid #bed5ee;border-radius:6px;background:#fff;color:#164e89;cursor:pointer;}
.g2d-standalone-page .gs3d-locus-float-controls button:hover,.g2d-standalone-page .gs3d-locus-float-controls button.is-on{background:#dceeff;border-color:#3c83df;}
.g2d-standalone-page .gs3d-locus-float-speed{font-size:11px;color:#225080;display:flex;align-items:center;gap:6px;}
.g2d-standalone-page .gs3d-locus-float-speed input{flex:1;min-width:0;accent-color:#2378c8;}

/* FIX45 · multiple labeled 3D tracer chips, scoped to the B13 panel. */
.g2d-standalone-page .gs3d-b13-tracers{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin:7px 0;padding:7px;border:1px solid #bdd5ed;background:#f1f7ff;border-radius:9px;}
.g2d-standalone-page .gs3d-b13-tracers>small{flex:1 0 100%;}
.g2d-standalone-page .gs3d-b13-tracers .gs3d-panel-btn{font-size:11px;min-height:30px;padding:4px 9px;background:#fff;color:#174b8b;border:1px solid #a8c6e6;border-radius:7px;cursor:pointer;}
.g2d-standalone-page .gs3d-b13-tracers .gs3d-panel-btn:hover,.g2d-standalone-page .gs3d-b13-tracers .gs3d-panel-btn:focus-visible{background:#e3f0ff;outline:2px solid #367cc6;outline-offset:1px;}

/* FIX47: consolidate workplanes and make Favorites/Recent visible next to them. */
.g2d-standalone-page .gs3d-settings>.gs3d-workplane-menu{width:86px!important;min-width:76px!important;max-width:104px!important;padding:5px!important;}
.g2d-standalone-page .gs3d-favorites-heart{min-width:38px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;}
.g2d-standalone-page .gs3d-heart-icon{font-size:25px;line-height:1;color:#e11d48;text-shadow:0 1px 1px #8a143b22;}
.g2d-standalone-page .gs3d-favorites-heart:hover .gs3d-heart-icon{color:#be123c;transform:scale(1.08);}
.g2d-standalone-page .gs3d-favorites-heart[aria-expanded="true"]{background:#fff1f2;border-color:#fda4af;}
.g2d-standalone-page .gs3d-quick-row.gs3d-quick-portal{display:flex;flex-direction:column;align-items:stretch;max-height:min(430px,65vh);overflow-y:auto;overflow-x:hidden;min-width:210px;gap:4px;}
.g2d-standalone-page .gs3d-favorite-row{display:flex;align-items:center;gap:4px;width:100%;}
.g2d-standalone-page .gs3d-favorite-row>.gs3d-quick-btn{flex:1;text-align:left;white-space:normal;}
.g2d-standalone-page .gs3d-favorite-pin{font-size:20px;color:#e11d48;border:1px solid #d8e3f4;border-radius:7px;background:white;min-width:34px;min-height:31px;cursor:pointer;}
.g2d-standalone-page .gs3d-favorite-active{white-space:normal;text-align:left;}
.g2d-standalone-page .gs3d-locus-play-quick{background:#dbeafe;border-color:#60a5fa;color:#1d4ed8;font-weight:800;}
.g2d-standalone-page .gs3d-locus-tracer-quick.is-on{background:#dcfce7;border:1px solid #16a34a;color:#166534;font-weight:800;box-shadow:0 0 0 2px #bbf7d0;}
@media (max-width:760px){.g2d-standalone-page .gs3d-settings>.gs3d-workplane-menu{width:70px!important;min-width:65px!important;max-width:78px!important;}.g2d-standalone-page .gs3d-favorites-heart{min-width:35px;}}

.g2d-standalone-page .gs3d-context-action.gs3d-context-checked{background:#dcfce7;color:#166534;border-left:3px solid #16a34a;font-weight:700;}


/* FIX47 Owner continuation — compact icon-only Favorites/Recent under the main toolbar.
   IMPORTANT: horizontal, no wrapping, no narrow multiline text buttons. Scoped to 3D. */
.g2d-standalone-page .gs3d-quick-row.gs3d-quick-portal:not([hidden]){
 display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;gap:5px;
 box-sizing:border-box;height:59px;min-height:59px;max-height:59px;min-width:0;
 overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;
 white-space:nowrap;padding:5px 9px;width:auto;max-width:calc(100vw - 16px);
 border:1px solid #bdd4f3;border-radius:11px;background:rgba(255,255,255,.98);
 box-shadow:0 8px 18px rgba(18,47,87,.17);scrollbar-width:thin;
}
.g2d-standalone-page .gs3d-quick-portal .gs3d-quick-label{
 flex:0 0 auto;align-self:center;font-size:17px;color:#db1f50;
 min-width:22px;max-width:22px;text-align:center;padding:0 2px;
}
.g2d-standalone-page .gs3d-quick-portal .gs3d-quick-label:not(:first-child){
 margin-left:5px;border-left:1px solid #d0dced;padding-left:8px;max-width:30px;
}
.g2d-standalone-page .gs3d-quick-portal .gs3d-favorite-row{
 position:relative;display:inline-flex;align-items:center;flex:0 0 46px;
 width:46px;height:46px;max-width:46px;min-width:46px;margin:0;
}
.g2d-standalone-page .gs3d-quick-portal .gs3d-favorite-row>.gs3d-quick-btn,
.g2d-standalone-page .gs3d-quick-portal>.gs3d-favorite-active{
 width:44px;height:44px;min-width:44px;min-height:44px;max-width:44px;
 flex:0 0 44px;padding:3px;display:flex;align-items:center;justify-content:center;
 background:#f5f9ff;border:1px solid #c5d9f4;border-radius:8px;
 overflow:visible;white-space:nowrap;text-align:center;
}
.g2d-standalone-page .gs3d-quick-portal .gs3d-quick-btn .gs3d-owner-icon{
 width:33px;height:33px;margin:0;object-fit:contain;
}
.g2d-standalone-page .gs3d-quick-portal .gs3d-favorite-pin{
 position:absolute;right:-2px;top:-2px;z-index:1;width:19px;min-width:19px;height:19px;min-height:19px;
 padding:0;border-radius:999px;font-size:13px;line-height:1;color:#dc204b;
 background:#fff;border:1px solid #dddae8;display:flex;align-items:center;justify-content:center;
}
.g2d-standalone-page .gs3d-quick-portal>.gs3d-favorite-active{
 color:#d61c4b;font-size:25px;font-weight:800;
}
.g2d-standalone-page .gs3d-quick-portal .gs3d-quick-btn:hover,
.g2d-standalone-page .gs3d-quick-portal .gs3d-quick-btn:focus-visible{
 background:#d9edff;border-color:#4488e0;box-shadow:0 0 0 2px #a5c9f5;
}
.g2d-standalone-page .gs3d-favorite-tooltip:not([hidden]){
 position:fixed;z-index:10100;pointer-events:none;box-sizing:border-box;
 display:block;width:max-content;max-width:min(312px,calc(100vw - 16px));
 white-space:normal;overflow-wrap:anywhere;padding:9px 12px;
 background:#173a66;color:#fff;border:1px solid #5d89bf;border-radius:9px;
 font-size:13px;line-height:1.45;font-weight:600;text-align:left;
 box-shadow:0 9px 22px rgba(12,34,65,.3);
}
.g2d-standalone-page .gs3d-favorite-tooltip[hidden]{display:none!important;}
@media(pointer:coarse){
 .g2d-standalone-page .gs3d-quick-portal .gs3d-favorite-row{
  flex-basis:48px;min-width:48px;max-width:48px;height:48px;
 }
 .g2d-standalone-page .gs3d-quick-portal .gs3d-favorite-row>.gs3d-quick-btn{
  width:46px;height:46px;min-width:46px;min-height:46px;
 }
}

/* B13-ST03: read-only presentation of construction object order; scoped to Studio 3D. */
.g2d-standalone-page .gs3d-b13-step-controls{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:7px 0;}
.g2d-standalone-page .gs3d-b13-step-controls .gs3d-panel-btn{flex:1 1 85px;min-height:38px;}
.g2d-standalone-page .gs3d-b13-step-controls .gs3d-panel-btn:disabled{opacity:.5;cursor:not-allowed;}
.g2d-standalone-page .gs3d-b13-step-progress{font-weight:650;background:#eef5ff;color:#163b73;border:1px solid #c5d9f1;border-radius:7px;padding:7px 9px;margin:6px 0;}
.g2d-standalone-page .gs3d-b13-steps .gs3d-b13-step-current{background:#dbeafe;border-left:3px solid #1667e8;border-radius:6px;padding-left:5px;}
.g2d-standalone-page .gs3d-b13-steps .gs3d-b13-step-current .gs3d-panel-btn{font-weight:750;}
.g2d-standalone-page .gs3d-b13-steps .gs3d-panel-btn:focus-visible{outline:2px solid #1667e8;outline-offset:2px;}

/* B14-ST01 — scoped session teaching view bookmarks. */
.g2d-standalone-page .gs3d-teaching-bookmarks{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:6px;margin:6px 0;border:1px solid #d8e5f5;border-radius:10px;background:#f4f8ff}
.g2d-standalone-page .gs3d-teaching-bookmarks>span:first-child{font-size:12px;color:#163b73;font-weight:700;width:100%}
.g2d-standalone-page .gs3d-teaching-slot{display:inline-flex;gap:3px}
.g2d-standalone-page .gs3d-teaching-slot button{font-size:11px;padding:4px 7px;min-height:32px}
.g2d-standalone-page .gs3d-teaching-slot button:focus-visible{outline:2px solid #1667e8;outline-offset:2px}

.g2d-standalone-page .gs3d-teaching-bookmarks{position:absolute;bottom:12px;left:12px;z-index:3;max-width:min(430px,calc(100% - 24px));box-shadow:0 2px 8px #0e31651a}

/* B15-ST01 — scoped touch, responsive and keyboard accessibility for teaching views. */
.g2d-standalone-page .gs3d-teaching-bookmarks{box-sizing:border-box;max-height:min(46vh,280px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;}
.g2d-standalone-page .gs3d-teaching-slot{flex:0 0 auto;align-items:stretch;}
.g2d-standalone-page .gs3d-teaching-slot button{min-height:44px;min-width:44px;padding:8px 10px;font-size:12px;touch-action:manipulation;}
.g2d-standalone-page .gs3d-teaching-slot[data-saved="true"] button:first-child{border-color:#10b981;}
.g2d-standalone-page .gs3d-teaching-slot button:disabled{opacity:.55;cursor:not-allowed;}
.g2d-standalone-page .gs3d-teaching-slot button:focus-visible{outline:3px solid #1667e8;outline-offset:2px;}
@media(max-width:480px){.g2d-standalone-page .gs3d-teaching-bookmarks{max-width:calc(100% - 16px);left:8px;bottom:8px;max-height:min(32vh,180px);gap:4px;padding:5px;}.g2d-standalone-page .gs3d-teaching-slot button{font-size:12px;min-height:44px;}}
@media(prefers-reduced-motion:reduce){.g2d-standalone-page .gs3d-teaching-slot button{transition:none;}}


/* FIX52 · FB038: text-safe custom workplane menu; native select remains a synced
   compatibility element for prior scripts, never an additional visible launcher. */
.g2d-standalone-page .gs3d-settings>.gs3d-workplane-menu{display:none!important;}
.g2d-standalone-page .gs3d-workplane-launcher{min-height:44px;min-width:78px;max-width:150px;padding:6px 11px;border:1px solid #c7d9f2;border-radius:9px;background:#fff;color:#174e89;font:600 13px system-ui;cursor:pointer;white-space:nowrap;}
.g2d-standalone-page .gs3d-workplane-popup:not([hidden]){position:fixed;z-index:11050;display:flex;flex-direction:column;gap:1px;box-sizing:border-box;width:max-content;max-width:calc(100vw - 16px);min-width:270px;max-height:min(65vh,380px);overflow:auto;white-space:normal;padding:5px;background:#fff;color:#174477;border:1px solid #a9c8e9;border-radius:8px;box-shadow:0 7px 22px rgba(18,47,92,.22);}
.g2d-standalone-page .gs3d-workplane-popup[hidden]{display:none!important;}
.g2d-standalone-page .gs3d-workplane-choice{display:block;text-align:left;white-space:normal;overflow-wrap:anywhere;width:100%;min-height:39px;padding:9px 10px;border:0;border-radius:5px;background:transparent;color:inherit;cursor:pointer;font:500 13px system-ui;}
.g2d-standalone-page .gs3d-workplane-choice[aria-current="true"],.g2d-standalone-page .gs3d-workplane-choice:hover,.g2d-standalone-page .gs3d-workplane-choice:focus-visible{background:#dbeafe;outline:1px solid #82b5ef;}

/* FIX52 · FB039: one bottom-left trigger, expansion ABOVE in bottom-to-top order. */
.g2d-standalone-page .gs3d-teaching-bookmarks{position:absolute!important;left:2px!important;bottom:2px!important;right:auto!important;top:auto!important;z-index:26!important;box-sizing:border-box;display:flex;flex-direction:column-reverse;align-items:flex-start;gap:3px;border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;margin:0!important;overflow:visible!important;max-width:min(300px,calc(100% - 4px))!important;max-height:none!important;}
.g2d-standalone-page .gs3d-teaching-toggle{min-height:44px;min-width:44px;padding:7px 11px;background:rgba(238,246,255,.6);border:1px solid rgba(102,151,212,.7);border-radius:8px;color:#164b83;font:700 12px system-ui;cursor:pointer;}
.g2d-standalone-page .gs3d-teaching-pairs{display:flex;flex-direction:column-reverse;align-items:flex-start;gap:3px;padding:0;margin:0;background:transparent!important;border:0!important;box-shadow:none!important;max-height:min(65vh,440px);overflow-y:auto;overscroll-behavior:contain;}
.g2d-standalone-page .gs3d-teaching-bookmarks[data-expanded="false"] .gs3d-teaching-pairs{display:none!important;}
.g2d-standalone-page .gs3d-teaching-slot{display:flex;align-items:center;gap:3px;flex:0 0 auto;}
.g2d-standalone-page .gs3d-teaching-slot button{min-height:44px;min-width:62px;padding:7px 10px;background:rgba(238,246,255,.6);border:1px solid rgba(102,151,212,.7);border-radius:7px;color:#164b83;font:600 12px system-ui;cursor:pointer;opacity:1;}
.g2d-standalone-page .gs3d-teaching-slot button:disabled{opacity:.5;cursor:not-allowed;}
.g2d-standalone-page .gs3d-teaching-slot button:focus-visible,.g2d-standalone-page .gs3d-teaching-toggle:focus-visible{outline:3px solid #2563eb;outline-offset:2px;}

/* FIX52 · Owner: Favorites/Recent container 100% transparent; button background
   30% transparent (=70% opacity) WITHOUT fading the actual icon or label. */
.g2d-standalone-page .gs3d-quick-row.gs3d-quick-portal:not([hidden]){background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;}
.g2d-standalone-page .gs3d-quick-portal .gs3d-favorite-row>.gs3d-quick-btn,.g2d-standalone-page .gs3d-quick-portal>.gs3d-favorite-active,.g2d-standalone-page .gs3d-quick-portal .gs3d-favorite-pin{background:rgba(245,249,255,.70)!important;}

/* FIX52 · detailed active drawing instructions: left edge, around one third of
   workspace height from bottom. Remain a passive overlay over the canvas. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-hint:not([hidden]){left:8px!important;right:auto!important;top:auto!important;bottom:33%!important;transform:none!important;text-align:left!important;max-width:min(390px,calc(100% - 20px))!important;white-space:pre-line!important;line-height:1.55!important;font-size:12px!important;z-index:6!important;}
@media(max-width:480px){.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-hint:not([hidden]){max-width:min(290px,70%)!important;font-size:11px!important;bottom:30%!important;}}

/* FIX52 — optional workplane solid builder: detailed click/typing instructions,
   readable as a small independent teaching panel; no Host fullscreen/chrome. */
.g2d-standalone-page .gs3d-workplane-builder{position:absolute;right:12px;bottom:12px;z-index:28;display:flex;flex-direction:column;gap:8px;width:min(390px,calc(100% - 24px));max-height:min(80vh,650px);overflow:auto;padding:11px 13px;box-sizing:border-box;background:rgba(247,251,255,.97);color:#153d70;border:1px solid #9dbfe4;border-radius:12px;box-shadow:0 8px 24px #1e467c35;font:12px/1.4 system-ui;}
.g2d-standalone-page .gs3d-workplane-builder[hidden]{display:none!important;}
.g2d-standalone-page .gs3d-workplane-builder>strong{font-size:14px;}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-help{font-size:11px;line-height:1.48;white-space:pre-line;border:1px solid #d9e8fa;background:#fff;border-radius:7px;max-height:140px;overflow:auto;padding:8px;}
.g2d-standalone-page .gs3d-quick-builder-fields{display:flex;flex-direction:column;gap:6px;}
.g2d-standalone-page .gs3d-quick-field{display:flex;flex-direction:column;gap:2px;color:#1a4a7f;font-size:12px;font-weight:600;min-width:0;}
.g2d-standalone-page .gs3d-quick-field>select,.g2d-standalone-page .gs3d-quick-input-line>input{box-sizing:border-box;border:1px solid #b5cde8;border-radius:7px;background:#fff;color:#183e65;min-height:36px;padding:6px 9px;font-size:13px;min-width:0;}
.g2d-standalone-page .gs3d-quick-input-line{display:flex;align-items:center;gap:5px;flex-wrap:wrap;}
.g2d-standalone-page .gs3d-quick-input-line>input{flex:1 1 100px;max-width:240px;}
.g2d-standalone-page .gs3d-quick-input-line>small{font-size:10px;color:#1d677e;}
.g2d-standalone-page .gs3d-quick-input-line>button,.g2d-standalone-page .gs3d-quick-modes>button,.g2d-standalone-page .gs3d-quick-actions>button{border:1px solid #9ebfe6;background:rgba(238,246,255,.9);color:#194e87;border-radius:7px;min-height:38px;padding:6px 9px;font:600 12px system-ui;cursor:pointer;touch-action:manipulation;}
.g2d-standalone-page .gs3d-quick-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;}
.g2d-standalone-page .gs3d-quick-modes>button[aria-pressed="true"]{background:#cbe4ff;border:2px solid #2672d2;}
.g2d-standalone-page .gs3d-quick-actions{display:flex;flex-wrap:wrap;gap:5px;}
.g2d-standalone-page .gs3d-quick-actions>.gs3d-quick-confirm{background:#d9f8eb;color:#075c43;border-color:#77c9a8;}
.g2d-standalone-page .gs3d-quick-actions>button:disabled{opacity:.45;cursor:not-allowed;}
.g2d-standalone-page .gs3d-quick-feedback{margin:0;color:#13537e;overflow-wrap:anywhere;}
.g2d-standalone-page .gs3d-quick-actions button:focus-visible,.g2d-standalone-page .gs3d-quick-modes button:focus-visible{outline:3px solid #2563eb;outline-offset:2px;}
@media(max-width:670px){.g2d-standalone-page .gs3d-workplane-builder{right:5px;bottom:48px;width:min(340px,calc(100% - 10px));max-height:60vh;padding:8px;}.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-help{max-height:95px;}}

/* FIX52: owner-requested complete guide is physically LEFT, 1/3 screen height
   from the bottom; data-entry builder remains a separate, unobstructed RIGHT panel. */
.g2d-standalone-page .gs3d-workplane-guide{position:absolute;left:8px;bottom:33%;z-index:27;
 box-sizing:border-box;width:min(380px,calc(100% - 16px));max-height:min(47vh,430px);overflow:auto;
 padding:10px 12px;border:1px solid #99bfe8;border-radius:10px;
 background:rgba(249,252,255,.96);color:#163b70;font:12px/1.6 system-ui;
 white-space:pre-line;overflow-wrap:anywhere;box-shadow:0 4px 16px rgba(19,57,109,.13);}
.g2d-standalone-page .gs3d-workplane-guide[hidden]{display:none!important;}
.g2d-standalone-page .gs3d-quick-mode .gs3d-hint{display:none!important;}
@media(max-width:690px){.g2d-standalone-page .gs3d-workplane-guide{left:4px;bottom:33%;width:min(280px,64%);max-height:31vh;font-size:11px;padding:7px;}}

/* FIX53: visual delivery blockers observed by Owner on the ~1024px screenshot.
   Expose the EXISTING canonical Hình khối button even where old breakpoints hid it;
   keep one command/menu, no additional icon or duplicated group. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-tool-row>.gs3d-group[data-group="solid"]{display:flex!important;}
.g2d-standalone-page .gs3d-palette-command.gs3d-quick-solid-entry{background:rgba(219,238,255,.98);border:1px solid #568ddd;font-weight:700;white-space:normal;text-align:left;}
/* Anchor bottom-left teaching views to the actual SCREEN, not a canvas body which
   can be clipped/resized by Host/standalone workspace geometry. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-teaching-bookmarks{position:fixed!important;left:4px!important;bottom:4px!important;z-index:10020!important;max-width:min(300px,calc(100vw - 8px))!important;}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-teaching-toggle{display:inline-flex!important;align-items:center;justify-content:center;opacity:1!important;visibility:visible!important;}
/* The build stamp is diagnostic, subtle, and independent of saved objects. */
.g2d-standalone-page .gs3d-live-state .gs3d-build-stamp{font:700 9px/1.2 system-ui;color:#64748b;background:rgba(255,255,255,.75);padding:3px 5px;border-radius:5px;}
@media(max-width:530px){.g2d-standalone-page .gs3d-live-state .gs3d-build-stamp{font-size:8px;padding:2px 4px;}}

/* FIX54 — Owner: construction guidance is part of the SAME movable input window.
   No independent screen-positioned hint while input is visible. Scoped to 3D. */
.g2d-standalone-page .gs3d-command-bar .gs3d-attached-guide{
 display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:0;
 margin-top:5px;padding:9px 10px;border-top:1px solid #b5d0f0;
 border-radius:0 0 8px 8px;background:rgba(241,247,255,.96);
 color:#163b67;font:12px/1.55 system-ui,sans-serif;
 max-height:min(38dvh,300px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;
 overflow-wrap:anywhere;box-sizing:border-box;scrollbar-width:thin;
}
.g2d-standalone-page .gs3d-command-bar .gs3d-attached-guide[hidden]{display:none!important}
.g2d-standalone-page .gs3d-attached-guide-heading{font-size:12px;color:#134c8e;line-height:1.4}
.g2d-standalone-page .gs3d-attached-guide :is(.gs3d-attached-guide-manual,.gs3d-attached-guide-steps){
 margin:0 0 3px 0;padding-left:18px;list-style:decimal;
}
.g2d-standalone-page .gs3d-attached-guide li{margin:0 0 6px 0;padding-left:1px;line-height:1.5}
.g2d-standalone-page .gs3d-attached-guide :is(.gs3d-attached-guide-current,.gs3d-attached-guide-note){
 margin:1px 0 0 0;font-size:11px;line-height:1.5;
}
.g2d-standalone-page .gs3d-attached-guide-current{color:#7b2441;font-weight:650}
.g2d-standalone-page .gs3d-attached-guide code{background:#e2edfc;color:#184276;border-radius:4px;padding:1px 3px;white-space:normal;}
.g2d-standalone-page .gs3d-command-bar.is-positioned{z-index:34!important}
@media(max-width:650px){
 .g2d-standalone-page .gs3d-command-bar .gs3d-attached-guide{max-height:min(35dvh,245px);font-size:11px;padding:7px 8px;}
}
/* The new workplane builder keeps its full instructions directly below its form/actions.
   Grip moves builder + guidance as one unit; the separate left-floating guide is gone. */
.g2d-standalone-page .gs3d-workplane-builder.is-positioned{right:auto!important;bottom:auto!important;z-index:36!important}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-panel-grip{
 cursor:grab;touch-action:none;user-select:none;display:block;padding:7px 5px;
 background:rgba(222,235,253,.85);border-radius:7px;color:#154d82;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-panel-grip:active{cursor:grabbing}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-workplane-guide{
 position:static!important;left:auto!important;bottom:auto!important;right:auto!important;top:auto!important;
 width:100%!important;max-width:100%!important;max-height:min(36dvh,270px)!important;
 margin-top:6px;z-index:auto!important;flex:0 0 auto;
 overflow:auto;white-space:pre-line;overflow-wrap:anywhere;
 border-radius:8px;background:rgba(242,248,255,.96);
 padding:8px 9px;box-sizing:border-box;font:12px/1.6 system-ui;
}
@media(max-width:690px){
 .g2d-standalone-page .gs3d-workplane-builder .gs3d-workplane-guide{
  max-height:min(28dvh,210px)!important;width:100%!important;font-size:11px!important;
 }
}

.g2d-standalone-page .gs3d-stage.gs3d-guide-attached>.gs3d-hint{display:none!important;}

.g2d-standalone-page .gs3d-regular-center-size-choices{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding:4px 1px;}
.g2d-standalone-page .gs3d-regular-center-size-choices[hidden]{display:none!important;}
.g2d-standalone-page .gs3d-regular-center-size-choices>span{font-size:11px;line-height:1.35;flex-basis:100%;color:#3b5677;}
.g2d-standalone-page .gs3d-regular-center-size-choices>button{font-size:11px;min-height:32px;flex:1 1 auto;border-radius:6px;border:1px solid #b2cdec;background:#eff6ff;color:#145083;padding:4px 5px;cursor:pointer;}
.g2d-standalone-page .gs3d-regular-center-size-choices>button[aria-pressed="true"]{background:#d6eaff;border-color:#357dc5;font-weight:750;box-shadow:inset 0 0 0 1px #357dc5;}

/* FIX54: keep the WHOLE attached instruction window within the active stage.
   Override FIX05/FIX11 old compact max-height and overflow constraints. */
.g2d-standalone-page .gs3d-command-bar{max-height:min(86dvh,calc(100% - 12px))!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;}
@media(max-width:650px){.g2d-standalone-page .gs3d-command-bar{max-height:min(72dvh,calc(100% - 12px))!important;}}

/* FIX56 Owner: attached guides have no background; text and scroll remain visible. */
.g2d-standalone-page .gs3d-command-bar .gs3d-attached-guide,
.g2d-standalone-page .gs3d-workplane-builder .gs3d-workplane-guide{
 background:transparent!important;box-shadow:none!important;
}
.g2d-standalone-page .gs3d-attached-guide code{background:transparent!important;}
.g2d-standalone-page .gs3d-attached-guide-current{
 order:-1;padding:5px 0;border-bottom:1px solid rgba(92,120,151,.48);
}
/* FIX56: a transparent CHILD is not visibly transparent under an opaque PARENT.
   Keep the controls readable; remove only the outer panel background so the
   attached help area truly shows the canvas underneath. */
.g2d-standalone-page .gs3d-command-bar,
.g2d-standalone-page .gs3d-workplane-builder{
 background:transparent!important;backdrop-filter:none!important;
 box-shadow:none!important;border-color:transparent!important;
}
.g2d-standalone-page .gs3d-command-bar :is(.gs3d-input-header,.gs3d-input-methods,.gs3d-intake-chips,.gs3d-intake-controls,.gs3d-solid-choice),
.g2d-standalone-page .gs3d-workplane-builder :is(.gs3d-quick-builder-fields,.gs3d-quick-actions,.gs3d-quick-feedback,.gs3d-quick-panel-grip){
 background:rgba(249,252,255,.94);border-radius:7px;
}
.g2d-standalone-page .gs3d-command-bar .gs3d-attached-guide,
.g2d-standalone-page .gs3d-workplane-builder .gs3d-workplane-guide{
 background:transparent!important;backdrop-filter:none!important;
}

/* FIX57: low-footprint 3D edit workspace, complete help remains scrollable. */
.g2d-standalone-page .gs3d-workplane-builder{
 width:min(345px,calc(100% - 12px));padding:7px 9px;gap:5px;
 max-height:min(88dvh,calc(100% - 8px));overflow-y:auto;overscroll-behavior:contain;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-builder-fields{gap:4px;padding:5px 6px!important;}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-field{font-size:11px;gap:1px;}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-input-line{gap:4px;flex-wrap:nowrap;}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-input-line>input{min-width:65px;max-width:none;flex:1 1 auto;min-height:32px;}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-input-line>button{white-space:nowrap;min-height:32px;}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-actions{padding:4px!important;gap:4px;}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-actions>button{min-height:34px;padding:5px 7px;}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-workplane-guide{max-height:min(25dvh,185px)!important;overflow:auto!important;}
.g2d-standalone-page .gs3d-command-bar .gs3d-attached-guide{max-height:min(29dvh,220px);overflow:auto;}
.g2d-standalone-page .gs3d-angle-compact{display:flex;align-items:center;gap:4px;padding:4px 5px;background:rgba(249,252,255,.95);border-radius:8px;flex-wrap:nowrap;}
.g2d-standalone-page .gs3d-angle-compact label{display:flex;align-items:center;gap:5px;flex:1 1 auto;min-width:0;color:#1a4a7f;font-size:11px;font-weight:700;}
.g2d-standalone-page .gs3d-angle-compact input{box-sizing:border-box;min-width:0;width:72px;max-width:95px;height:34px;padding:3px 6px;border:1px solid #9dbbe6;border-radius:7px;background:white;color:#183e65;font:600 13px system-ui;}
.g2d-standalone-page .gs3d-angle-compact button{flex:0 0 auto;height:34px;min-width:31px;border:1px solid #9dbbe6;background:rgba(245,250,255,.9);color:#18518a;border-radius:7px;font-weight:750;cursor:pointer;}
.g2d-standalone-page .gs3d-angle-compact :is(input,button):focus-visible{outline:3px solid #2769cf;outline-offset:2px;}
.g2d-standalone-page .gs3d-angle-tip{font:11px/1.35 system-ui;color:#315b84;}
@media(pointer:coarse){.g2d-standalone-page .gs3d-angle-compact button{min-height:42px;min-width:42px}.g2d-standalone-page .gs3d-angle-compact input{min-height:42px}}
@media(max-width:550px){.g2d-standalone-page .gs3d-workplane-builder{width:min(320px,calc(100% - 10px));max-height:75dvh;}.g2d-standalone-page .gs3d-workplane-builder .gs3d-workplane-guide{max-height:24dvh!important;}}

/* FIX58 — Owner verified UX gates: compact, visible states, actionable drawers. */
.g2d-standalone-page .gs3d-workplane-builder{position:absolute;}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-panel-grip{padding-right:34px;min-height:25px;}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-close{
 position:sticky;top:0;align-self:flex-end;z-index:9;margin-top:-32px;
 min-width:31px;min-height:31px;border:1px solid #94b6de;border-radius:7px;
 background:rgba(240,248,255,.97);color:#204d7b;font-size:22px;line-height:1;cursor:pointer;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-builder-fields{
 display:grid!important;grid-template-columns:minmax(75px,.8fr) minmax(0,1.2fr);gap:5px 7px;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-builder-fields>.gs3d-quick-field,
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-builder-fields>.gs3d-quick-modes,
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-builder-fields>small{grid-column:1/-1;}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-builder-fields>.gs3d-quick-sides{grid-column:1;grid-row:auto;}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-builder-fields>.gs3d-quick-size{grid-column:2;grid-row:auto;}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-input-line>input{min-width:0;}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-size .gs3d-quick-input-line{flex-wrap:wrap;}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-size .gs3d-quick-input-line>button{min-height:30px;flex:0 0 auto;}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-pick-source[aria-pressed="true"]{
 background:#1860b8!important;border:2px solid #093f83!important;color:#fff!important;
 box-shadow:0 0 0 2px #a3ceff;outline-offset:2px;
}
.g2d-standalone-page .gs3d-workplane-builder.is-picking{border-color:#2672d2;box-shadow:0 0 0 2px #a3ceff,0 8px 24px #1e467c35;}
.g2d-standalone-page .gs3d-teaching-bookmarks .gs3d-teaching-add{
 min-height:38px;min-width:44px;align-self:flex-start;padding:6px 10px;
 border:1px solid #6d9ed4;border-radius:7px;background:rgba(235,246,255,.6);color:#164b83;font-weight:700;cursor:pointer;
}
.g2d-standalone-page .gs3d-teaching-bookmarks[data-expanded="false"] .gs3d-teaching-add{display:none;}
.g2d-standalone-page .gs3d-teaching-pairs{max-height:min(65dvh,540px);overflow-y:auto;}
/* FIX73 — Owner: the reopen-builder control belongs on the RIGHT of the 3D
   drawing stage, NOT beside the teaching-view dock at the bottom-left.
   Keep it one row above the bottom Quick Properties/status controls so the
   launcher never competes for the same click target. Scoped to Studio 3D. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-stage .gs3d-builder-launcher{
 position:relative;right:auto;left:auto;bottom:auto;top:auto;z-index:auto;flex:0 0 auto;
 width:44px;height:44px;min-width:44px;min-height:44px;
 border:1px solid #76a6d9;border-radius:8px;
 background:rgba(237,246,255,.9);font-size:22px;color:#144b85;cursor:pointer;
 box-shadow:0 2px 8px rgba(17,63,127,.12);touch-action:manipulation;
}
.g2d-standalone-page .gs3d-builder-launcher[hidden]{display:none!important;}
.g2d-standalone-page .gs3d-quick-close:focus-visible,.g2d-standalone-page .gs3d-builder-launcher:focus-visible,
.g2d-standalone-page .gs3d-teaching-add:focus-visible{outline:3px solid #206ae0;outline-offset:2px;}
@media(max-width:520px){.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-builder-fields{gap:4px;}.g2d-standalone-page .gs3d-quick-sides,.g2d-standalone-page .gs3d-quick-size{min-width:0;}}

/* FIX59 — Owner: top-left entry workspace, reserved lower camera dock, compact fields. */
.g2d-standalone-page .gs3d-workplane-builder:not(.is-positioned){
 left:4px!important;top:0!important;right:auto!important;bottom:auto!important;
 width:min(385px,calc(100% - 8px))!important;
 height:calc(100% - 76px)!important;max-height:calc(100% - 76px)!important;
 overflow-y:auto!important;overscroll-behavior:contain!important;
}
.g2d-standalone-page .gs3d-workplane-builder.is-positioned{
 max-height:calc(100% - 76px)!important;overflow-y:auto!important;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-builder-fields{
 grid-template-columns:minmax(76px,0.55fr) minmax(0,1.45fr)!important;
 gap:4px 5px!important;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-size .gs3d-quick-input-line{
 flex-wrap:nowrap!important;min-width:0;gap:4px!important;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-size .gs3d-quick-input-line>input{
 flex:1 1 45px!important;min-width:38px!important;width:48px!important;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-size .gs3d-quick-input-line>button{
 flex:0 0 auto!important;min-width:79px;min-height:32px;
 padding:4px 6px!important;
}
@media(max-width:480px){
 .g2d-standalone-page .gs3d-workplane-builder:not(.is-positioned){
  width:min(345px,calc(100% - 8px))!important;
  height:calc(100% - 62px)!important;max-height:calc(100% - 62px)!important;
 }
 .g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-builder-fields{grid-template-columns:minmax(66px,.6fr) minmax(0,1.4fr)!important;}
 .g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-size .gs3d-quick-input-line>button{min-width:70px;padding-inline:4px!important;}
}


/* FIX60 — Owner: legacy 3D construction command + its attached teaching guide
   should open ~1/3 taller than its own natural height; preserve a 76px bottom
   dock clearance. The workplane builder already has a separate bounded height. */
.g2d-standalone-page .gs3d-command-bar{
 height:var(--gs3d-command-window-height,auto)!important;
 max-height:min(86dvh,calc(100% - 76px))!important;
 overflow-y:auto!important;overflow-x:hidden!important;
}
.g2d-standalone-page .gs3d-command-bar.gs3d-command-expanded .gs3d-attached-guide{
 flex:1 1 auto;min-height:0;max-height:none!important;
 overflow-y:auto!important;overflow-x:hidden!important;
}
@media(max-width:650px){
 .g2d-standalone-page .gs3d-command-bar{max-height:min(72dvh,calc(100% - 76px))!important;}
}

/* FIX61 — Owner-approved click-only construction methods and compact intelligent
   help. Strictly scoped to this 3D standalone tool; no Host/Bootstrap CSS. */
.g2d-standalone-page .gs3d-method-hover-menu{display:none!important;}
.g2d-standalone-page .gs3d-command-bar{
 display:flex!important;flex-direction:column!important;
 overflow:hidden!important;
 max-height:calc(100% - 76px)!important;
 height:var(--gs3d-command-window-height,auto)!important;
 box-sizing:border-box;
}
.g2d-standalone-page .gs3d-command-bar[hidden]{display:none!important;}
.g2d-standalone-page .gs3d-command-bar :is(.gs3d-input-header,.gs3d-input-methods,.gs3d-intake-controls,.gs3d-intake-chips,.gs3d-intake-status,.gs3d-solid-choice,.gs3d-prism-side-label){flex-shrink:0;}
.g2d-standalone-page .gs3d-command-bar .gs3d-attached-guide{
 flex:1 1 auto;min-height:0;max-height:none!important;
 overflow-y:auto!important;overflow-x:hidden!important;
 overscroll-behavior:contain;scrollbar-width:thin;
 gap:5px;padding:6px 8px!important;
}
.g2d-standalone-page .gs3d-command-bar .gs3d-attached-guide-heading{font-size:11.5px;}
.g2d-standalone-page .gs3d-command-bar .gs3d-attached-guide-current{
 flex:0 0 auto;margin:0!important;font-size:11.5px;line-height:1.4;
 padding:3px 1px 6px;border-bottom:1px solid #c5d5e8;
}
.g2d-standalone-page .gs3d-guide-details[hidden],
.g2d-standalone-page .gs3d-guide-method-detail[hidden],
.g2d-standalone-page .gs3d-attached-guide-steps[hidden]{display:none!important;}
.g2d-standalone-page .gs3d-guide-toggle,
.g2d-standalone-page .gs3d-guide-steps-toggle,
.g2d-standalone-page .gs3d-guide-method-toggle{
 width:100%;cursor:pointer;text-align:left;font:600 11.5px/1.4 system-ui;
 color:#124778;border:1px solid #a8c6e6;border-radius:7px;
 background:rgba(234,245,255,.58);padding:7px 8px;
}
.g2d-standalone-page .gs3d-guide-toggle{font-weight:800;background:rgba(214,234,254,.8);border-color:#7db1e9;}
.g2d-standalone-page .gs3d-guide-toggle[aria-expanded="true"],
.g2d-standalone-page .gs3d-guide-method-toggle[aria-expanded="true"],
.g2d-standalone-page .gs3d-guide-steps-toggle[aria-expanded="true"]{background:rgba(201,226,251,.78);color:#103e77;border-color:#3c86d2;}
.g2d-standalone-page .gs3d-command-bar :is(.gs3d-guide-toggle,.gs3d-guide-method-toggle,.gs3d-guide-steps-toggle):focus-visible{
 outline:2px solid #1d60c6;outline-offset:2px;
}
.g2d-standalone-page .gs3d-guide-details{display:flex;flex-direction:column;gap:5px;min-width:0;}
.g2d-standalone-page .gs3d-guide-details>strong{font-size:11px;color:#1b4e80;}
.g2d-standalone-page .gs3d-guide-details .gs3d-attached-guide-manual{
 list-style:none!important;margin:0!important;padding:0!important;
 display:flex;flex-direction:column;gap:4px;
}
.g2d-standalone-page .gs3d-guide-details .gs3d-guide-method-item{padding:0!important;margin:0!important;min-width:0;}
.g2d-standalone-page .gs3d-guide-method-detail{font:11.5px/1.55 system-ui;padding:6px 8px 8px;color:#214565;overflow-wrap:anywhere;}
.g2d-standalone-page .gs3d-guide-details .gs3d-attached-guide-steps{padding-left:19px;margin:2px 0 5px;}
.g2d-standalone-page .gs3d-guide-details .gs3d-attached-guide-note{padding-bottom:4px;}
/* Chóp đều: strong, legible title and raised choice buttons (without opacity on icons/text). */
.g2d-standalone-page .gs3d-command-bar[data-feature="regularPyramid"] .gs3d-input-header{
 background:linear-gradient(125deg,rgba(198,223,255,.98),rgba(235,246,255,.96))!important;
 border:1px solid #91b9e9;border-radius:9px;padding:5px 7px;
 box-shadow:0 2px 5px rgba(45,91,155,.12),inset 0 1px 0 #fff;
}
.g2d-standalone-page .gs3d-command-bar[data-feature="regularPyramid"] .gs3d-input-title{
 color:#104882;font-weight:800;letter-spacing:.08px;font-size:13px;
}
.g2d-standalone-page .gs3d-command-bar[data-feature="regularPyramid"] .gs3d-regular-center-size-choices>button{
 border:1px solid #6d9cdb;border-bottom:3px solid #3d75b8;
 background:linear-gradient(180deg,#fbfdff 0%,#d7eaff 100%);
 color:#143f79;font-weight:750;padding:7px 5px;min-height:40px;
 border-radius:9px;box-shadow:0 3px 6px rgba(32,79,136,.17),inset 0 1px 0 #fff;
 transition:box-shadow .12s,background .12s,transform .12s;
}
.g2d-standalone-page .gs3d-command-bar[data-feature="regularPyramid"] .gs3d-regular-center-size-choices>button[aria-pressed="true"]{
 background:linear-gradient(180deg,#d9ecff 0%,#a5ccfa 100%);
 border-color:#1c62bd;border-bottom-color:#164a8c;
 box-shadow:0 2px 4px rgba(23,80,150,.24),inset 0 1px 0 #f5fbff;
}
.g2d-standalone-page .gs3d-command-bar[data-feature="regularPyramid"] .gs3d-regular-center-size-choices>button:active{transform:translateY(1px);box-shadow:0 1px 2px rgba(25,78,132,.2);}
.g2d-standalone-page .gs3d-command-bar[data-feature="regularPyramid"] .gs3d-regular-center-size-choices>button:focus-visible{outline:3px solid #2568d3;outline-offset:2px;}
@media(max-width:650px){
 .g2d-standalone-page .gs3d-command-bar{max-height:calc(100% - 76px)!important;}
 .g2d-standalone-page .gs3d-command-bar .gs3d-attached-guide{max-height:none!important;}
}

/* FIX61: shared workplane-solid builder has the same collapsed teaching entry;
   dynamic 'Bước tiếp theo' stays in gs3d-quick-feedback above it. */
.g2d-standalone-page .gs3d-workplane-builder .gs3d-workplane-guide{
 max-height:min(40dvh,360px)!important;overflow-y:auto!important;
 padding:5px 2px!important;white-space:normal!important;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-workplane-guide .gs3d-guide-toggle{width:100%;}
.g2d-standalone-page .gs3d-workplane-guide .gs3d-quick-guide-content[hidden],
.g2d-standalone-page .gs3d-workplane-guide .gs3d-guide-method-detail[hidden],
.g2d-standalone-page .gs3d-workplane-guide .gs3d-quick-guide-steps[hidden]{display:none!important;}
.g2d-standalone-page .gs3d-quick-guide-content{display:flex;flex-direction:column;gap:5px;padding:6px 3px;}
.g2d-standalone-page .gs3d-quick-guide-methods{display:flex;flex-direction:column;gap:4px;}
.g2d-standalone-page .gs3d-quick-guide-content :is(strong,.gs3d-quick-guide-summary){font-size:11px;line-height:1.45;color:#1b4e80;margin:0;}
.g2d-standalone-page .gs3d-quick-guide-content .gs3d-guide-method-detail{margin:0;padding:5px 7px;}
.g2d-standalone-page .gs3d-quick-guide-content .gs3d-quick-guide-steps{padding-left:20px;margin:1px 0 4px;font:11px/1.5 system-ui;}
@media(max-width:650px){.g2d-standalone-page .gs3d-workplane-builder .gs3d-workplane-guide{max-height:34dvh!important;}}

/* FIX62 QT-10: every legacy 3D construction family receives identical header,
   not only regular pyramids. Keep special mathematical mode buttons distinct. */
.g2d-standalone-page .gs3d-command-bar .gs3d-input-header{
 background:linear-gradient(125deg,rgba(198,223,255,.98),rgba(235,246,255,.96))!important;
 border:1px solid #91b9e9;border-radius:9px;padding:5px 7px;
 box-shadow:0 2px 5px rgba(45,91,155,.12),inset 0 1px 0 #fff;
 align-items:center;position:relative;flex-shrink:0;
}
.g2d-standalone-page .gs3d-command-bar .gs3d-input-title{
 color:#104882;font-weight:800;letter-spacing:.08px;font-size:13px;
 flex:1 1 auto;
}
.g2d-standalone-page .gs3d-command-bar .gs3d-command-close{
 flex:0 0 28px;position:relative;z-index:2;min-height:28px;min-width:28px;
 background:linear-gradient(#fff,#e1edfb);border:1px solid #8cb2de;
 border-bottom:2px solid #5684bf;border-radius:8px;
 font:700 22px/1 system-ui;color:#174a84;cursor:pointer;
 box-shadow:0 2px 3px rgba(40,74,110,.13);
}
.g2d-standalone-page .gs3d-command-bar .gs3d-command-close:focus-visible{
 outline:2px solid #2563eb;outline-offset:2px;
}
.g2d-standalone-page .gs3d-command-bar .gs3d-command-close:active{
 transform:translateY(1px);box-shadow:0 1px 1px rgba(40,74,110,.15);
}
/* Reuse the approved raised 3D button language for shared workplane a/R. */
.g2d-standalone-page .gs3d-quick-modes>button,
.g2d-standalone-page .gs3d-command-bar .gs3d-regular-center-size-choices>button{
 border:1px solid #6d9cdb;border-bottom:3px solid #3d75b8;
 background:linear-gradient(180deg,#fbfdff 0%,#d7eaff 100%);
 color:#143f79;font-weight:750;border-radius:9px;
 box-shadow:0 3px 6px rgba(32,79,136,.17),inset 0 1px 0 #fff;
}
.g2d-standalone-page .gs3d-quick-modes>button[aria-pressed="true"],
.g2d-standalone-page .gs3d-command-bar .gs3d-regular-center-size-choices>button[aria-pressed="true"]{
 background:linear-gradient(180deg,#d9ecff 0%,#a5ccfa 100%);
 border-color:#1c62bd;border-bottom-color:#164a8c;
 box-shadow:0 2px 4px rgba(23,80,150,.24),inset 0 1px 0 #f5fbff;
}
/* The panel grip & close always remain at the upper visible edge. */
.g2d-standalone-page .gs3d-command-bar .gs3d-input-header{min-height:34px!important;}

/* FIX62: one OPTIONAL direction control for all legacy upright builds.
   Preserve original input and dynamic guide; controls stay above accordion. */
.g2d-standalone-page .gs3d-command-bar .gs3d-side-controls{
 flex-shrink:0;display:flex;flex-direction:column;gap:4px;
 border:1px solid #a6c6e8;border-radius:8px;padding:5px;background:rgba(235,245,255,.84);
}
.g2d-standalone-page .gs3d-command-bar .gs3d-side-controls[hidden],
.g2d-standalone-page .gs3d-command-bar .gs3d-side-controls-body[hidden]{display:none!important;}
.g2d-standalone-page .gs3d-command-bar .gs3d-side-controls>button{
 cursor:pointer;text-align:left;font:700 11.5px system-ui;color:#114b88;
 border:1px solid #8db6e0;border-radius:6px;padding:5px 7px;
 background:linear-gradient(180deg,#fff,#d8eafc);
}
.g2d-standalone-page .gs3d-command-bar .gs3d-side-controls-body{
 display:flex;gap:4px;flex-wrap:wrap;align-items:center;min-width:0;
}
.g2d-standalone-page .gs3d-command-bar .gs3d-side-controls-body>input{
 flex:1 1 95px;min-width:0;max-width:100%;border:1px solid #84a9d0;border-radius:5px;padding:6px;
}
.g2d-standalone-page .gs3d-command-bar .gs3d-side-controls-body>button{
 flex:1 1 88px;white-space:normal;min-height:31px;cursor:pointer;
 font:650 11px system-ui;color:#194a7f;border:1px solid #8db6e0;
 border-bottom:2px solid #5f90c7;border-radius:6px;
 background:linear-gradient(#fff,#dfeeff);
}
.g2d-standalone-page .gs3d-command-bar .gs3d-side-controls-body>button[aria-pressed="true"]{
 background:linear-gradient(#a8d2ff,#d0e9ff);border-color:#2f75bd;
}
.g2d-standalone-page .gs3d-command-bar .gs3d-side-controls-body>small{
 flex:1 1 100%;font:11px/1.3 system-ui;color:#22547d;
}

/* FIX62 CCD-01: optional rotation uses the existing quick-builder pivot/drag,
   numeric and click-point controls, without forcing legacy workflows. */
.g2d-standalone-page .gs3d-command-bar .gs3d-center-frustum-rotate{
 flex-shrink:0;padding:6px 8px;border:1px solid #92b7df;border-bottom:2px solid #608ec2;
 border-radius:7px;color:#144779;background:linear-gradient(180deg,#f8fcff,#dbeafd);
 font:700 11.5px system-ui;text-align:left;cursor:pointer;
}
.g2d-standalone-page .gs3d-command-bar .gs3d-center-frustum-rotate[hidden]{display:none!important;}
.g2d-standalone-page .gs3d-command-bar .gs3d-center-frustum-rotate[aria-pressed="true"]{
 background:linear-gradient(180deg,#ffeed0,#ffc36f);color:#642b00;border-color:#d28939;
}

/* FIX63 — Owner blocked in FIX62: fully bounded, three-zone 3D construction
   window. No CSS escapes into the Host or 2D. The *window itself never scrolls*;
   header/Close remain visible, while operands and guide scroll independently.
   Height/top are measured against the actual toolbar and teaching-view dock. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-command-bar{
 display:flex!important;flex-direction:column!important;align-items:stretch!important;
 height:var(--gs3d-command-window-height,400px)!important;
 max-height:none!important;min-height:0!important;
 overflow:hidden!important;overscroll-behavior:contain!important;
 gap:0!important;padding:5px 6px!important;
 box-sizing:border-box!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-command-bar[hidden]{display:none!important;}
.g2d-standalone-page .gs3d-command-bar .gs3d-input-header{
 position:relative!important;top:auto!important;flex:0 0 auto!important;
 min-height:38px!important;z-index:3!important;
 margin:0 0 4px!important;
}
.g2d-standalone-page .gs3d-command-bar .gs3d-command-close{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 visibility:visible!important;opacity:1!important;
 flex:0 0 34px!important;width:34px!important;min-width:34px!important;
 height:34px!important;min-height:34px!important;z-index:5!important;
}
.g2d-standalone-page .gs3d-command-bar .gs3d-intake-body{
 flex:1 1 auto!important;display:flex!important;flex-direction:column!important;
 gap:5px!important;min-width:0!important;min-height:64px!important;
 overflow:auto!important;overflow-x:hidden!important;
 overscroll-behavior:contain;scrollbar-width:thin;
 padding:1px 1px 8px;box-sizing:border-box;
}
.g2d-standalone-page .gs3d-command-bar .gs3d-intake-body>*{
 flex-shrink:0!important;max-width:100%;box-sizing:border-box;
}
.g2d-standalone-page .gs3d-command-bar .gs3d-guide-splitter{
 flex:0 0 13px!important;display:flex;align-items:center;justify-content:center;
 cursor:ns-resize;touch-action:none;user-select:none;
 background:linear-gradient(180deg,#f6fbff,#e0edff);
 border-block:1px solid #b4cde9;border-radius:6px;
 margin:2px 1px;
}
.g2d-standalone-page .gs3d-command-bar .gs3d-guide-splitter::before{
 content:"";width:48px;height:4px;border-radius:6px;
 background:repeating-linear-gradient(90deg,#5b94ce 0 6px,transparent 6px 10px);
}
.g2d-standalone-page .gs3d-command-bar .gs3d-guide-splitter:focus-visible{
 outline:3px solid #1766cb;outline-offset:1px;
}
.g2d-standalone-page .gs3d-command-bar .gs3d-attached-guide{
 flex:0 0 calc((var(--gs3d-command-window-height,400px) - 55px) * var(--gs3d-guide-fraction,.24))!important;
 height:auto!important;min-height:72px!important;
 max-height:none!important;min-width:0!important;
 overflow-y:auto!important;overflow-x:hidden!important;
 padding:6px 8px 10px!important;margin:0!important;
 overscroll-behavior:contain;scrollbar-width:thin;
}
.g2d-standalone-page .gs3d-command-bar .gs3d-attached-guide :is(.gs3d-guide-details,.gs3d-attached-guide-manual){min-height:0;}
.g2d-standalone-page .gs3d-command-bar .gs3d-intake-body:focus-within,
.g2d-standalone-page .gs3d-command-bar .gs3d-attached-guide:focus-within{
 scroll-behavior:auto;
}
@media(max-height:550px){
 .g2d-standalone-page .gs3d-command-bar .gs3d-intake-body{min-height:45px!important;}
 .g2d-standalone-page .gs3d-command-bar .gs3d-attached-guide{min-height:54px!important;}
}

/* FIX63 — crucial: the Owner screenshot is the separate shared WORKPLANE
   builder (Loại hình / Tâm đáy / Góc đáy), not just legacy command intake.
   Give BOTH windows matching safe header, independently scrollable operands,
   movable separator and scrollable instructions. No fixed top/bottom clipping. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder,
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder:not(.is-positioned),
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder.is-positioned{
 display:flex!important;flex-direction:column!important;
 top:var(--gs3d-quick-safe-top,7px);bottom:auto!important;
 height:var(--gs3d-quick-window-height,460px)!important;
 min-height:0!important;max-height:none!important;
 overflow:hidden!important;overscroll-behavior:contain!important;
 gap:0!important;padding:6px 7px!important;
 box-sizing:border-box!important;
}
.g2d-standalone-page .gs3d-workplane-builder[hidden]{display:none!important;}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-header{
 display:flex!important;flex:0 0 auto!important;gap:8px;align-items:center;
 min-width:0;min-height:37px;position:relative!important;
 background:linear-gradient(110deg,#cce4ff,#edf7ff);
 border:1px solid #89b7e7;border-radius:8px;
 box-shadow:0 2px 6px #1d5a9320;
 z-index:5;margin-bottom:5px;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-header .gs3d-quick-panel-grip{
 flex:1 1 auto!important;display:block;min-width:0;margin:0!important;
 padding:7px 6px!important;color:#144c86;font-weight:800;
 cursor:grab;touch-action:none;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-header .gs3d-quick-close{
 flex:0 0 34px!important;position:relative!important;top:auto!important;
 right:auto!important;left:auto!important;
 margin:0 4px 0 0!important;
 width:34px!important;min-width:34px!important;
 min-height:32px!important;height:32px!important;
 visibility:visible!important;opacity:1!important;z-index:6!important;
 display:inline-flex!important;align-items:center;justify-content:center;
 background:linear-gradient(#fff,#e5f1ff)!important;
 border:1px solid #7ba5d7!important;border-radius:8px;
 color:#16457a;font-weight:800;font-size:22px;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-body{
 flex:1 1 auto!important;display:flex!important;flex-direction:column!important;
 gap:5px;min-height:55px!important;min-width:0;
 overflow-y:auto!important;overflow-x:hidden!important;
 overscroll-behavior:contain;scrollbar-width:thin;
 padding:2px 2px 9px;box-sizing:border-box;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-body>*{
 flex:0 0 auto!important;max-width:100%;box-sizing:border-box;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-guide-splitter{
 display:flex;justify-content:center;align-items:center;
 flex:0 0 13px!important;min-height:13px!important;
 cursor:ns-resize;touch-action:none;user-select:none;
 background:linear-gradient(#f7fbff,#e3efff);
 border-top:1px solid #9dbedf;border-bottom:1px solid #9dbedf;
 border-radius:7px;margin:3px 1px;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-guide-splitter::before{
 content:"";width:48px;height:4px;border-radius:5px;
 background:repeating-linear-gradient(90deg,#538ac5 0 6px,transparent 6px 10px);
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-guide-splitter:focus-visible{
 outline:3px solid #2873c7;outline-offset:1px;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-workplane-guide{
 flex:0 0 calc((var(--gs3d-quick-window-height,460px) - 58px) * var(--gs3d-quick-guide-fraction,.23))!important;
 height:auto!important;min-height:58px!important;
 max-height:none!important;min-width:0;
 overflow-y:auto!important;overflow-x:hidden!important;
 overscroll-behavior:contain;scrollbar-width:thin;
 padding:6px 7px!important;margin:0!important;
 box-sizing:border-box;
}
@media(max-height:540px){
 .g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-body{min-height:35px!important;}
 .g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-workplane-guide{min-height:42px!important;}
}

/* FIX64 — Smart Construction Panel / detached help reader.
   Scope is the 3D tool only. Never modify Host fullscreen/toolbar or 2D.
   No nested accordion inside a height splitter: input is compact; reading
   is a single independent sheet with a dedicated close/back and two tabs. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-command-bar{
  height:var(--gs3d-command-window-height,360px)!important;
  max-height:none!important;min-height:0!important;overflow:hidden!important;
  display:flex!important;flex-direction:column!important;gap:0!important;
}
.g2d-standalone-page .gs3d-command-bar .gs3d-intake-body{
  display:flex!important;flex-direction:column!important;flex:1 1 auto!important;
  min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;
  overscroll-behavior:contain;scrollbar-width:thin;
}
.g2d-standalone-page .gs3d-command-bar .gs3d-attached-guide-current{
  flex:0 0 auto!important;margin:3px 2px!important;padding:7px 8px!important;
  border-radius:8px;background:rgba(225,239,255,.88);color:#154477;
  font:600 11.5px/1.5 system-ui,sans-serif;overflow-wrap:anywhere;
}
.g2d-standalone-page .gs3d-command-bar .gs3d-guide-launch{
  width:100%;min-height:33px;flex:0 0 auto!important;margin-top:3px;
  border:1px solid #86b4e7;border-radius:8px;
  background:linear-gradient(180deg,#f4f9ff,#dbeafe);color:#124b8e;
  font:700 12px system-ui;cursor:pointer;
}
.g2d-standalone-page .gs3d-command-bar .gs3d-guide-launch:focus-visible,
.g2d-standalone-page .gs3d-smart-guide :is(button,[role="tab"]):focus-visible{
  outline:3px solid #2563eb;outline-offset:2px;
}
.g2d-standalone-page .gs3d-guide-splitter,
.g2d-standalone-page .gs3d-quick-guide-splitter{display:none!important;}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder,
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder:not(.is-positioned),
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder.is-positioned{
  height:var(--gs3d-quick-window-height,400px)!important;
  max-height:none!important;min-height:0!important;overflow:hidden!important;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-body{
  flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;
  overflow-x:hidden!important;overscroll-behavior:contain;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-help-launch{
  flex:0 0 auto;min-height:31px;padding:4px 8px;
  border:1px solid #8eb9ea;border-radius:8px;
  background:linear-gradient(#fff,#e1eeff);color:#175087;
  font:700 11px system-ui;cursor:pointer;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-help-launch[aria-expanded="true"]{
  background:#d6eaff;border-color:#3578d1;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-smart-guide,
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-guide.gs3d-smart-guide{
  position:absolute!important;right:auto!important;bottom:auto!important;
  z-index:85!important;box-sizing:border-box!important;
  padding:0!important;margin:0!important;
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  gap:0!important;min-height:0!important;max-height:none!important;
  max-width:calc(100% - 8px)!important;
  overflow:hidden!important;overscroll-behavior:contain;
  border:1px solid #78a9dc!important;border-radius:11px!important;
  background:rgba(249,252,255,.99)!important;
  box-shadow:0 14px 36px rgba(8,36,75,.27)!important;
  color:#193e6f!important;font:12px/1.55 system-ui,sans-serif!important;
  white-space:normal!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-smart-guide[hidden]{display:none!important;}
.g2d-standalone-page .gs3d-smart-guide-header{
  flex:0 0 auto!important;display:flex;gap:8px;align-items:center;
  padding:9px 10px!important;min-height:43px;
  background:linear-gradient(105deg,#b6d7ff,#e7f4ff);
  border-bottom:1px solid #91b7e2;
}
.g2d-standalone-page .gs3d-smart-guide-header strong{flex:1;min-width:0;font-size:12px;line-height:1.45;overflow-wrap:anywhere;}
.g2d-standalone-page .gs3d-smart-guide-close{
  flex:0 0 35px!important;display:inline-flex!important;align-items:center;justify-content:center;
  width:35px;height:35px;min-height:35px;border-radius:9px;
  border:1px solid #699ed7;background:#fff;color:#104d86;
  font:bold 24px/1 system-ui;cursor:pointer;
}
.g2d-standalone-page .gs3d-smart-guide-tabs{
  flex:0 0 auto!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px;padding:7px 9px;border-bottom:1px solid #d0e0f3;background:#f6faff;
}
.g2d-standalone-page .gs3d-smart-guide-tabs button{
  min-width:0;min-height:36px;padding:6px 7px;border:1px solid #b1cce8;
  border-radius:8px;background:#eff6ff;color:#1b5186;
  font:700 12px system-ui;cursor:pointer;
}
.g2d-standalone-page .gs3d-smart-guide-tabs button[aria-selected="true"]{
  border-color:#2872c5;background:linear-gradient(#e3f1ff,#cde4ff);
  box-shadow:inset 0 -2px #2872c5;
}
.g2d-standalone-page .gs3d-smart-guide .gs3d-guide-details,
.g2d-standalone-page .gs3d-smart-guide .gs3d-smart-guide-reader{
  display:block!important;flex:1 1 auto!important;min-height:0!important;
  overflow-y:auto!important;overflow-x:hidden!important;
  padding:10px 12px 16px!important;overscroll-behavior:contain;
  scrollbar-width:thin;
}
.g2d-standalone-page .gs3d-smart-guide .gs3d-guide-details{
  display:flex!important;flex-direction:column!important;padding:0!important;
}
.g2d-standalone-page .gs3d-smart-guide .gs3d-guide-details>.gs3d-smart-guide-tabs{position:relative;}
.g2d-standalone-page .gs3d-smart-guide .gs3d-smart-guide-pane{
  flex:1 1 auto!important;min-height:0!important;overflow:auto!important;
  padding:10px 12px 16px!important;scrollbar-width:thin;
}
.g2d-standalone-page .gs3d-smart-guide .gs3d-smart-guide-pane[hidden],
.g2d-standalone-page .gs3d-smart-guide .gs3d-guide-method-detail[hidden],
.g2d-standalone-page .gs3d-smart-guide .gs3d-quick-guide-methods .gs3d-guide-method-detail[hidden]{display:none!important;}
.g2d-standalone-page .gs3d-smart-guide .gs3d-guide-method-toggle{
  width:100%;display:block;position:relative;min-height:35px;
  box-sizing:border-box;margin:3px 0;padding:7px 9px;
  border:1px solid #97b9e9;border-radius:8px;
  background:linear-gradient(#eff7ff,#dcecff);color:#164575;
  text-align:left;font:700 11.5px/1.45 system-ui;
}
.g2d-standalone-page .gs3d-smart-guide .gs3d-guide-method-detail{
  display:block;position:static!important;opacity:1!important;visibility:visible!important;
  max-height:none!important;height:auto!important;transform:none!important;
  margin:3px 2px 9px!important;padding:8px 10px!important;
  border-left:3px solid #67a2dc;background:#f6faff;
  line-height:1.55!important;white-space:normal;overflow-wrap:anywhere;
}
.g2d-standalone-page .gs3d-smart-guide .gs3d-guide-method-item,
.g2d-standalone-page .gs3d-smart-guide .gs3d-quick-guide-methods{
  position:static!important;min-height:0!important;height:auto!important;
  overflow:visible!important;flex-shrink:0!important;
}
.g2d-standalone-page .gs3d-smart-guide[data-layout="sheet"]{
  background:rgba(248,252,255,1)!important;
}
@media(max-width:650px){
 .g2d-standalone-page .gs3d-smart-guide-header{min-height:46px;}
 .g2d-standalone-page .gs3d-smart-guide-tabs button{min-height:42px;}
 .g2d-standalone-page .gs3d-command-bar .gs3d-guide-launch{min-height:39px;}
}
/* FIX64 header help stays available even if the operand pane scrolls. */
.g2d-standalone-page .gs3d-command-bar .gs3d-input-header .gs3d-guide-launch{
 flex:0 0 34px!important;min-width:34px;width:34px!important;
 height:34px!important;min-height:34px!important;
 margin:0 3px 0 auto!important;padding:0!important;
 border-radius:8px;font:800 16px system-ui;
}
.g2d-standalone-page .gs3d-smart-guide .gs3d-guide-details{
 overflow:hidden!important;
}

/* FIX65 — Owner-approved single live instruction below the entire input.
   A readable full input form has priority; the live, method-specific instruction
   alone grows downward and scrolls only on contact with the teaching dock.
   All rules are contained in the 3D standalone scope (never host/global CSS). */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-command-bar{
  width:min(428px,calc(100% - 12px))!important;
  max-width:calc(100% - 12px)!important;
  overflow:hidden!important;
  font-size:16px!important;
  line-height:1.48!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-command-bar .gs3d-intake-body{
  flex:0 0 auto!important;height:auto!important;max-height:none!important;
  overflow:visible!important;min-height:0!important;
}
.g2d-standalone-page .gs3d-command-bar :is(.gs3d-input-title,.gs3d-intake-status,.gs3d-intake-chips,.gs3d-curved-order,.gs3d-regular-center-size-choices,.gs3d-prism-side-label,.gs3d-side-controls,.gs3d-solid-choice){
  font-size:15px!important;line-height:1.4!important;
}
.g2d-standalone-page .gs3d-command-bar :is(input,select,button:not(.gs3d-command-close):not(.gs3d-guide-launch)){
  font-size:15px!important;line-height:1.35!important;
}
.g2d-standalone-page .gs3d-command-bar .gs3d-input-header .gs3d-guide-launch{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  font:bold 20px/1 system-ui,sans-serif!important;
  min-height:36px!important;height:36px!important;width:36px!important;min-width:36px!important;
  padding:0!important;text-align:center!important;
}
.g2d-standalone-page .gs3d-command-bar .gs3d-live-guide,
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-live-guide{
  display:block!important;box-sizing:border-box!important;
  flex:0 1 auto!important;min-height:0!important;
  margin:5px 1px 0!important;padding:9px 10px!important;
  border:1px solid #9ec4ed;border-radius:10px;
  background:linear-gradient(#f4f9ff,#fff);
  color:#173f72;font:16px/1.5 system-ui,sans-serif!important;
  overflow:visible;overflow-wrap:anywhere;
}
.g2d-standalone-page .gs3d-command-bar .gs3d-live-guide.is-clipped,
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-live-guide.is-clipped{
  overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;
  scrollbar-width:thin;
}
.g2d-standalone-page .gs3d-command-bar .gs3d-live-guide .gs3d-attached-guide-current,
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-live-guide .gs3d-quick-feedback{
  display:block!important;margin:0 0 8px!important;padding:8px 9px!important;
  color:#123f78!important;background:#dfedff!important;
  border-left:4px solid #2f77cc;border-radius:6px;
  font:700 16px/1.5 system-ui,sans-serif!important;
}
.g2d-standalone-page .gs3d-live-guide-title{
  display:block;color:#154572;font:700 16px/1.45 system-ui,sans-serif;
  margin-bottom:5px;
}
.g2d-standalone-page :is(.gs3d-live-guide-steps,.gs3d-quick-live-steps){
  margin:0!important;padding-left:23px!important;
  color:#20456d;font:400 16px/1.5 system-ui,sans-serif!important;
  overflow-wrap:anywhere;
}
.g2d-standalone-page :is(.gs3d-live-guide-steps,.gs3d-quick-live-steps)>li{
  margin:0 0 5px;padding:0 0 1px;
}
/* Form-based workplane builder: no nested input scroller. Make room by laying
   out fields compactly, not by hiding fields or decreasing their font size. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder{
  width:min(436px,calc(100% - 12px))!important;
  max-width:calc(100% - 12px)!important;
  padding:8px 10px!important;gap:4px!important;
  font:16px/1.45 system-ui,sans-serif!important;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-body{
  display:flex!important;flex:0 0 auto!important;
  height:auto!important;min-height:0!important;max-height:none!important;
  overflow:visible!important;gap:6px!important;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-builder-fields{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:start;gap:7px 9px!important;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-builder-fields>.gs3d-quick-modes{
  grid-column:1/-1;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-builder-fields>.gs3d-quick-field:has(>select){grid-column:1/-1;}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-field{
  font-size:15px!important;line-height:1.35!important;
}
.g2d-standalone-page .gs3d-workplane-builder :is(input,select,button,small,.gs3d-angle-tip){
  font-size:15px!important;line-height:1.4!important;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-input-line{align-items:stretch!important;gap:3px!important;}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-input-line>input{flex:1 1 95px;min-width:0!important;max-width:none!important;}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-header .gs3d-quick-help-launch{
  display:inline-flex!important;align-items:center;justify-content:center;
  font:700 15px/1.3 system-ui,sans-serif!important;
  min-height:36px!important;
}
/* The optional Help book is per shape and intentionally larger/readable. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-smart-guide{
  font:16px/1.55 system-ui,sans-serif!important;
}
.g2d-standalone-page .gs3d-smart-guide :is(.gs3d-smart-guide-header strong,.gs3d-smart-guide-tabs button,.gs3d-guide-method-toggle,.gs3d-guide-method-detail,.gs3d-smart-guide-reader,.gs3d-smart-guide-pane,.gs3d-attached-guide-manual,.gs3d-attached-guide-steps,.gs3d-quick-guide-summary,.gs3d-quick-guide-steps){
  font-size:16px!important;line-height:1.5!important;
}
.g2d-standalone-page .gs3d-smart-guide .gs3d-smart-guide-header strong{font-weight:800!important;}
@media(max-width:430px){
 .g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-builder-fields{
   gap:6px!important;
 }
 .g2d-standalone-page .gs3d-command-bar .gs3d-live-guide,
 .g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-live-guide{padding:7px!important;}
}

/* FIX66 — Owner-approved no-layout-change transparent help area, exclusive
   inline accordions and vivid single dynamic status. Style is studio-scoped. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] :is(
 .gs3d-command-bar .gs3d-live-guide,
 .gs3d-workplane-builder .gs3d-quick-live-guide,
 .gs3d-live-guide .gs3d-inline-guide-manual,
 .gs3d-quick-live-guide .gs3d-inline-guide-manual,
 .gs3d-live-guide .gs3d-inline-guide-toggle,
 .gs3d-quick-live-guide .gs3d-inline-guide-toggle,
 .gs3d-live-guide .gs3d-live-guide-steps,
 .gs3d-quick-live-guide .gs3d-quick-live-steps){
 background:transparent!important;background-image:none!important;
}
.g2d-standalone-page .gs3d-command-bar .gs3d-live-guide .gs3d-attached-guide-current,
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-live-guide .gs3d-quick-feedback{
 background:transparent!important;background-image:none!important;
 color:#0455c2!important;border-left-color:#087bdc!important;
 font-weight:800!important;text-shadow:0 1px 0 rgba(255,255,255,.78);
}
.g2d-standalone-page .gs3d-live-guide .gs3d-inline-guide-toggle,
.g2d-standalone-page .gs3d-quick-live-guide .gs3d-inline-guide-toggle{
 display:flex;align-items:center;text-align:left;width:100%;
 border:0;border-bottom:1px solid rgba(24,73,129,.24);border-radius:0;
 color:#184572;cursor:pointer;padding:7px 2px;
 font:700 16px/1.5 system-ui,sans-serif!important;
}
.g2d-standalone-page .gs3d-inline-guide-toggle::after{content:'▸';margin-left:auto;color:#1265bc;}
.g2d-standalone-page .gs3d-inline-guide-toggle[aria-expanded="true"]::after{content:'▾';}
.g2d-standalone-page .gs3d-inline-guide-toggle:focus-visible{outline:2px solid #087bdc;outline-offset:2px;}
.g2d-standalone-page .gs3d-inline-guide-manual{padding:7px 2px;font:400 16px/1.5 system-ui,sans-serif;overflow-wrap:anywhere;}
.g2d-standalone-page .gs3d-inline-guide-manual code{font:600 16px/1.5 ui-monospace,monospace;white-space:normal;}
.g2d-standalone-page .gs3d-inline-guide-manual span{font:400 16px/1.5 system-ui,sans-serif;}
.g2d-standalone-page :is(.gs3d-inline-guide-manual,.gs3d-live-guide-steps,.gs3d-quick-live-steps)[hidden]{display:none!important;}

/* FIX66: the parent background must also reveal the canvas behind the guide;
   transparent children alone would reveal the parent's white background. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-command-bar{
 background:linear-gradient(to bottom,rgba(255,255,255,.92) 0,
 rgba(255,255,255,.92) var(--gs3d-input-opaque-height,250px),
 transparent var(--gs3d-input-opaque-height,250px))!important;
 backdrop-filter:none!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder{
 background:linear-gradient(to bottom,rgba(247,251,255,.97) 0,
 rgba(247,251,255,.97) var(--gs3d-quick-opaque-height,320px),
 transparent var(--gs3d-quick-opaque-height,320px))!important;
}

/* FIX67 — Owner pending P0 + compact responsive builder, no global styles.
   Header Close/Help stay clickable; the input alone may scroll if short.
   Keep confirmation actions continuously visible. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-header{
  isolation:isolate;z-index:12!important;flex-wrap:nowrap!important;gap:4px!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-panel-grip{
  min-width:58px!important;padding:6px 4px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-close{
  pointer-events:auto!important;z-index:20!important;position:relative!important;
  flex-shrink:0!important;cursor:pointer!important;touch-action:manipulation;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-help-launch,
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-collapse{
  pointer-events:auto!important;position:relative!important;z-index:18!important;
  flex:0 0 auto!important;white-space:nowrap!important;
  min-height:34px!important;padding:5px 7px!important;
  border:1px solid #87b2e4;border-radius:8px;background:linear-gradient(#fff,#e4f0ff);
  color:#164f89;font:700 12px/1.2 system-ui,sans-serif!important;
  cursor:pointer;touch-action:manipulation;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-body{
  display:flex!important;flex:0 1 auto!important;height:auto!important;min-height:0!important;
  max-height:var(--gs3d-quick-body-limit,none)!important;
  overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:thin;
  padding:2px 2px 4px!important;overscroll-behavior:contain!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-builder-fields[hidden],
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-folded-summary[hidden]{display:none!important;}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-folded-summary{
  margin:3px 4px 6px;padding:8px;border:1px dashed #84b7e7;border-radius:8px;
  font:600 14px/1.4 system-ui,sans-serif;color:#1f537e;background:rgba(235,246,255,.45);
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-actions{
  display:flex;flex:0 0 auto!important;flex-wrap:wrap;gap:4px!important;
  position:relative;z-index:3;padding:4px 2px 5px!important;
  background:rgba(240,248,255,.96);border-block:1px solid #d8e6f6;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-modes>button{
  white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;
  min-width:0!important;max-width:100%;padding-inline:5px!important;
  font-size:14px!important;line-height:1.2!important;
}
.g2d-standalone-page .gs3d-workplane-builder :is(input[aria-invalid="true"]){
  border-color:#d75c32!important;box-shadow:0 0 0 2px rgba(215,92,50,.13)!important;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-feedback[data-valid="false"]{
  color:#a6411e!important;border-left-color:#d75c32!important;font-weight:750!important;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-angle-toggle[aria-pressed="true"]{
  background:linear-gradient(#e2efff,#b6d9ff)!important;border-color:#236bbd!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-smart-guide[data-layout="sheet"]{
  /* Narrow screens: anchored just below Help/Close header, not at the dock. */
  background:rgba(249,252,255,.99)!important;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-collapse:focus-visible,
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-help-launch:focus-visible,
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-close:focus-visible{
  outline:3px solid #1868cc!important;outline-offset:1px!important;
}
@media(max-width:470px){
 .g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-header .gs3d-quick-panel-grip{font-size:12px;}
 .g2d-standalone-page .gs3d-workplane-builder :is(.gs3d-quick-collapse,.gs3d-quick-help-launch){font-size:11px!important;padding-inline:4px!important;}
 .g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-modes>button{font-size:12px!important;}
}

/* FIX68 — Owner-approved compact builder. Scoped exclusively to Geometry Studio
   3D; this suffix intentionally wins older FIX59/FIX63/FIX67 declarations.
   IMPORTANT: the hidden attribute MUST win over every `display:flex!important`
   rule, including the positioned and unpositioned builder variants. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder[hidden],
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder.is-positioned[hidden],
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder:not(.is-positioned)[hidden]{
  display:none!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder{
  width:min(600px,calc(100% - 12px))!important;
  max-width:calc(100% - 12px)!important;
  padding:6px 8px!important;
  container:gs3d-compact-builder / inline-size;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-body{
  flex:0 0 auto!important;
  gap:4px!important;
  padding:1px 2px 3px!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-builder-fields{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:6px 8px!important;
  align-items:start;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-builder-fields>.gs3d-quick-type{
  grid-column:1/-1!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-builder-fields>:is(.gs3d-quick-center,.gs3d-quick-apex){
  grid-column:span 3!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-builder-fields>.gs3d-quick-modes{
  grid-column:1/-1!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-builder-fields>:is(.gs3d-quick-sides,.gs3d-quick-size,.gs3d-quick-angle-field){
  grid-column:span 2!important;grid-row:auto!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-builder-fields>.gs3d-quick-angle-tools{
  grid-column:1/-1!important;
  display:flex!important;gap:5px;align-items:center;
  padding:0 2px;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-angle-tools>button{
  min-height:32px;min-width:42px;padding:3px 9px;
  color:#18538f;background:#e7f1ff;border:1px solid #aac8ee;border-radius:8px;
  font-weight:700;cursor:pointer;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-field{
  font-size:14px!important;line-height:1.24!important;min-width:0;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-field>span:first-child{
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-input-line{
  display:flex!important;flex-wrap:nowrap!important;gap:4px!important;align-items:stretch!important;min-width:0;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-input-line>input{
  flex:1 1 30px!important;width:0!important;min-width:0!important;max-width:none!important;
  min-height:35px!important;padding:5px 6px!important;font-size:14px!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-input-line>.gs3d-pick-source{
  flex:0 0 auto!important;width:auto!important;min-width:0!important;
  min-height:35px!important;padding:4px 6px!important;
  white-space:nowrap!important;font-size:12px!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-modes>button{
  font-size:14px!important;line-height:1.2!important;min-height:36px!important;
  white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
  padding:6px 3px!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-actions{
  display:grid!important;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr) minmax(0,1.3fr) minmax(0,.6fr)!important;
  grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);
  flex-wrap:nowrap!important;gap:5px!important;align-items:stretch;
  padding:5px 1px!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-actions>button{
  width:100%!important;min-width:0!important;padding:6px 3px!important;
  min-height:38px!important;font-size:13px!important;line-height:1.2!important;
  text-align:center;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-live-guide{
  flex:1 1 auto!important;
  height:var(--gs3d-quick-guide-space,180px)!important;
  min-height:0!important;
  max-height:var(--gs3d-quick-guide-space,180px)!important;
  margin:4px 1px 0!important;
  padding:8px 10px!important;
  overflow-y:auto!important;overflow-x:hidden!important;
  scrollbar-width:thin;overscroll-behavior:contain;
}
@container gs3d-compact-builder (max-width:490px){
 .gs3d-quick-actions>button{font-size:12px!important;padding:5px 2px!important;}
 .gs3d-quick-input-line>.gs3d-pick-source{font-size:11px!important;padding-inline:4px!important;}
 .gs3d-quick-modes>button{font-size:12px!important;}
}
@container gs3d-compact-builder (max-width:400px){
 /* Preserve one action row and legible touch targets in narrow hosted panes. */
 .gs3d-quick-actions>.gs3d-quick-flip{font-size:0!important;}
 .gs3d-quick-actions>.gs3d-quick-flip::after{content:'⇅ Đảo';font-size:12px;}
 .gs3d-quick-actions>.gs3d-quick-confirm{font-size:0!important;}
 .gs3d-quick-actions>.gs3d-quick-confirm::after{content:'✓ Dựng';font-size:12px;}
 .gs3d-quick-actions>.gs3d-quick-angle-toggle{font-size:12px!important;}
 .gs3d-quick-input-line>.gs3d-pick-source{font-size:0!important;}
 .gs3d-quick-input-line>.gs3d-pick-source::after{content:'Chọn';font-size:12px;}
}

/* FIX68: a known-apex builder can have three valid actions (no reversible
   direction). Use the entire row without adding a functionless button. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-actions:has(>button:nth-child(3):last-child){
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
@container gs3d-compact-builder (max-width:400px){
 .gs3d-quick-field>span:first-child{display:block;min-height:33px;white-space:normal!important;line-height:1.16;}
 .gs3d-quick-input-line{min-height:36px;}
}
@container gs3d-compact-builder (max-width:400px){
 .gs3d-quick-modes>button{font-size:11px!important;white-space:nowrap!important;}
}

/* FIX69 — Owner-approved narrow, right-resizable parameter builder ONLY.
   The legacy command-first window (.gs3d-command-bar) remains untouched. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder{
  width:min(var(--gs3d-quick-user-width,360px),600px,calc(100% - 12px))!important;
  max-width:min(600px,calc(100% - 12px))!important;
  min-width:0!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-header{
  gap:3px!important;padding:2px 3px!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-panel-grip{
  font-size:12px!important;flex:1 1 96px!important;min-width:0!important;
  padding:5px 3px!important;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-header-type{
  display:flex;flex:0 1 118px;min-width:80px;align-items:center;margin:0;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-header-type select{
  width:100%;min-width:0;max-width:100%;min-height:32px;padding:4px 18px 4px 5px;
  border:1px solid #86addc;border-radius:8px;background:#fff;color:#184b80;
  font:600 12px/1.1 system-ui,sans-serif;box-sizing:border-box;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-collapse{
  font-size:0!important;flex:0 0 30px!important;width:30px!important;min-width:30px!important;
  min-height:32px!important;padding:3px!important;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-collapse::after{
  content:'▴';font:800 17px/1 system-ui,sans-serif;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-collapse[aria-expanded="false"]::after{content:'▾';}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-help-launch{
  flex:0 0 29px!important;min-width:29px!important;width:29px!important;
  min-height:32px!important;padding:3px!important;font-size:18px!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-header .gs3d-quick-close{
  flex:0 0 31px!important;width:31px!important;min-width:31px!important;
  min-height:32px!important;height:32px!important;margin:0!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-builder-fields{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  column-gap:5px!important;row-gap:5px!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-builder-fields>:is(.gs3d-quick-center,.gs3d-quick-apex){
  grid-column:span 2!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-builder-fields:not(:has(>.gs3d-quick-apex))>.gs3d-quick-center{
  grid-column:1/-1!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-builder-fields>.gs3d-quick-modes,
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-builder-fields>.gs3d-quick-angle-tools,
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-builder-fields>small{
  grid-column:1/-1!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-builder-fields>.gs3d-quick-number{
  grid-column:span 1!important;grid-row:auto!important;min-width:0!important;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-number>span:first-child{
  display:block!important;min-height:29px!important;font-size:11px!important;
  white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.22!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-number .gs3d-quick-input-line{
  max-width:110px!important;gap:2px!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-number .gs3d-quick-input-line>input{
  width:0!important;min-width:0!important;max-width:79px!important;
  min-height:33px!important;padding:4px 2px 4px 4px!important;
  font-size:13px!important;flex:1 1 48px!important;
  box-sizing:border-box!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-input-line>.gs3d-quick-pick-icon{
  flex:0 0 23px!important;width:23px!important;min-width:23px!important;
  height:33px!important;min-height:33px!important;padding:0!important;
  font:800 18px/1 system-ui,sans-serif!important;white-space:nowrap!important;
}
/* The pick icon is a real button with a native title and accessible name.
   No anonymous tooltip overlay that might intercept drawing clicks. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-right-resize{
  position:absolute;right:0;top:47px;bottom:5px;width:10px;z-index:16;
  cursor:ew-resize;touch-action:none;background:transparent;border-right:3px solid transparent;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-right-resize:hover,
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-right-resize:focus-visible{
  border-right-color:#3181d6;background:rgba(77,158,245,.12);outline:none;
}
@container gs3d-compact-builder (min-width:490px){
 .gs3d-quick-header-type{flex-basis:175px!important;}
 .gs3d-quick-header .gs3d-quick-panel-grip{font-size:15px!important;}
 .gs3d-quick-collapse{font-size:12px!important;flex-basis:78px!important;width:78px!important;}
 .gs3d-quick-collapse::after{content:none!important;}
 .gs3d-quick-field.gs3d-quick-number>span:first-child{font-size:13px!important;}
}
@container gs3d-compact-builder (max-width:365px){
 .gs3d-quick-header-type{flex-basis:91px;min-width:78px;}
 .gs3d-quick-header .gs3d-quick-panel-grip{font-size:11px!important;}
 .gs3d-quick-actions>button{font-size:0!important;}
 .gs3d-quick-actions>.gs3d-quick-flip::after{content:'⇅ Đảo';font-size:12px;}
 .gs3d-quick-actions>.gs3d-quick-angle-toggle::after{content:'Hướng';font-size:12px;}
 .gs3d-quick-actions>.gs3d-quick-confirm::after{content:'✓ Dựng';font-size:12px;}
 .gs3d-quick-actions>button:last-child::after{content:'Hủy';font-size:12px;}
}
/* FIX69 visual regression: remove old FIX68 narrow ::after suffix that
   produced 'Click chọnChọn' or '⌖Chọn' when controls became icon-sized. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-input-line>.gs3d-pick-source::after{
 content:none!important;
}
@container gs3d-compact-builder (max-width:400px){
 .g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-input-line>.gs3d-pick-source:not(.gs3d-quick-pick-icon){
  font-size:0!important;min-width:52px!important;padding:3px 3px!important;
 }
 .g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-input-line>.gs3d-pick-source:not(.gs3d-quick-pick-icon)::after{
  content:'Chọn'!important;font:600 11px/1 system-ui,sans-serif;
 }
 .g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-actions>button{
  font-size:0!important;text-overflow:clip!important;
 }
 .g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-actions>.gs3d-quick-flip::after{content:'⇅ Đảo'!important;font-size:12px!important;}
 .g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-actions>.gs3d-quick-angle-toggle::after{content:'Hướng'!important;font-size:12px!important;}
 .g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-actions>.gs3d-quick-confirm::after{content:'✓ Dựng'!important;font-size:12px!important;}
 .g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-actions>button:last-child::after{content:'Hủy'!important;font-size:12px!important;}
}
@container gs3d-compact-builder (min-width:490px){
 .g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-collapse{
  flex:0 0 76px!important;width:76px!important;min-width:76px!important;font-size:12px!important;
 }
}

/* FIX71 — compact semantic groups for ALL ten workplane solid routes.
   Scope is ONLY workplane builder. The locked legacy command-first window is unchanged. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder{
  width:min(var(--gs3d-quick-user-width,400px),600px,calc(100% - 12px))!important;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-header-type{
  flex:0 1 81px!important;min-width:74px!important;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-header-type select{
  font-size:12px!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-builder-fields{
  display:flex!important;flex-flow:column nowrap!important;align-items:stretch!important;
  gap:7px!important;padding-block:6px!important;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-anchor-row,
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-measure-row{
  display:grid;gap:6px;min-width:0;align-items:end;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-anchor-row[data-columns="1"]{
  grid-template-columns:minmax(0,min(220px,100%));
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-anchor-row[data-columns="2"]{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-measure-row{
  grid-template-columns:repeat(var(--gs3d-quick-columns,2),minmax(0,1fr));
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-measure-row[data-columns="1"]{--gs3d-quick-columns:2}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-measure-row[data-columns="2"]{--gs3d-quick-columns:2}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-measure-row[data-columns="3"]{--gs3d-quick-columns:3}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-measure-row[data-columns="4"]{--gs3d-quick-columns:4}
.g2d-standalone-page .gs3d-workplane-builder :is(.gs3d-quick-anchor-row,.gs3d-quick-measure-row)>.gs3d-quick-field{
  min-width:0!important;grid-column:auto!important;grid-row:auto!important;
  display:flex!important;flex-flow:column nowrap!important;justify-content:flex-end;
  gap:3px;
}
.g2d-standalone-page .gs3d-workplane-builder :is(.gs3d-quick-anchor-row,.gs3d-quick-measure-row)>.gs3d-quick-field>span:first-child{
  min-height:0!important;line-height:1.2!important;margin:0!important;
  white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-measure-row>.gs3d-quick-field>span:first-child{
  min-height:30px!important;display:flex!important;align-items:flex-end!important;
  font-size:11px!important;
}
.g2d-standalone-page .gs3d-workplane-builder :is(.gs3d-quick-anchor-row,.gs3d-quick-measure-row) .gs3d-quick-input-line{
  width:100%!important;max-width:100%!important;min-width:0!important;display:flex!important;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-measure-row .gs3d-quick-input-line>input{
  flex:1 1 0!important;width:0!important;max-width:100%!important;min-width:0!important;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-anchor-row .gs3d-quick-input-line>input{
  min-width:0!important;width:0!important;flex:1 1 0!important;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-modes{
  width:100%!important;margin:0!important;display:grid!important;grid-template-columns:1fr 1fr!important;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-modes>button{
  min-width:0!important;white-space:normal!important;line-height:1.12!important;
  overflow-wrap:normal!important;font-size:12px!important;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-geometry-note{display:block;margin:2px 0;}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-cone-shortcut{
  display:flex;flex-direction:column;gap:6px;margin-top:6px;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-cone-shortcut p{margin:0;font-size:13px;line-height:1.5;}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-cone-shortcut input{
  min-height:36px;border:1px solid #85addd;border-radius:7px;padding:6px 9px;
  color:#173f73;background:#fff;max-width:260px;
}
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-cone-shortcut input:focus-visible{outline:2px solid #0d5bef;outline-offset:1px;}
@container gs3d-compact-builder (min-width:490px){
 .g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-header-type{flex-basis:115px!important;}
}

/* FIX71: compact control must say Cập nhật in edit mode, never fake Dựng. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder.gs3d-quick-is-edit .gs3d-quick-actions>.gs3d-quick-confirm::after{content:'✓ Cập nhật'!important;}

/* FIX72: preserve distinct error lines and current-data summary inside the
   existing owner-approved guide; do not alter its size or arrangement. */
.g2d-standalone-page .gs3d-workplane-builder .gs3d-quick-feedback{
  white-space:pre-line;
}

/* FIX74: launcher sits in bottom-right 3D live status group, not a separate
   free-floating button over the drawing or the teaching-angle dock. */
.g2d-standalone-page .gs3d-live-state .gs3d-builder-launcher{
 width:30px;height:29px;min-width:30px;min-height:29px;
 border-radius:10px;font-size:17px;padding:1px 4px;
 pointer-events:auto;align-self:center;
}

/* FIX76 / v2.76 — auto-fit all 3D construction intake windows to their
   content, then scroll *inside* at the real teaching-view dock boundary.
   This suffix overrides only superseded fixed-size rules; do not change
   the Owner-locked controls, typography, drag, or right-edge resize. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-command-bar,
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder,
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder.is-positioned{
  height:var(--gs3d-command-window-height,auto)!important;
  overflow:hidden!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder,
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder.is-positioned{
  height:var(--gs3d-quick-window-height,auto)!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-command-bar .gs3d-intake-body{
  flex:0 1 auto!important;min-height:0!important;overflow-y:auto!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-command-bar .gs3d-live-guide{
  flex:0 1 auto!important;min-height:0!important;overflow-y:auto!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-body{
  flex:0 1 auto!important;min-height:0!important;overflow-y:auto!important;
  max-height:var(--gs3d-quick-body-limit,none)!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-live-guide{
  flex:0 1 auto!important;min-height:0!important;
  height:var(--gs3d-quick-guide-space,auto)!important;
  max-height:var(--gs3d-quick-guide-space,none)!important;
  overflow-y:auto!important;
}


/* FIX77 / v2.77 — P0 regression: final guide lines must remain scroll-reachable.
   FIX65 applied max-height:none!important to .gs3d-intake-body, which beat
   FIX76's non-important JS inline maximum. Set both zone caps via variables
   with matching importance; prevent flex from silently shrinking either zone.
   Scope is exclusively the 3D constructor and 3D workplane builder. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-command-bar .gs3d-intake-body{
  flex:0 0 auto!important;
  height:var(--gs3d-intake-body-limit,auto)!important;
  max-height:var(--gs3d-intake-body-limit,none)!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-command-bar .gs3d-live-guide{
  flex:0 0 auto!important;
  height:var(--gs3d-live-guide-limit,auto)!important;
  max-height:var(--gs3d-live-guide-limit,none)!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
/* Extra scroll runway, only when clipped: the last line and descenders can
   be moved fully into view above the bottom border / teaching dock. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-command-bar .gs3d-live-guide.is-clipped::after,
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-live-guide.is-clipped::after{
  content:"";display:block;height:28px;pointer-events:none;
}

/* FIX78 / v2.78 — correct scroll ownership; no layout or typography change.
   FIX77 hard-coded the height of each internal scroll surface.  Recomputing
   those heights while a wheel gesture was in progress reset scrollTop.  Let
   CSS calculate the natural height, and cap only max-height.  The parent
   remains bounded above the teaching-view dock by commandSafeBounds(). */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-command-bar .gs3d-intake-body{
  height:auto!important;
  max-height:var(--gs3d-intake-body-limit,none)!important;
  flex:0 0 auto!important;
  overflow-y:auto!important;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-command-bar .gs3d-live-guide{
  height:auto!important;
  max-height:var(--gs3d-live-guide-limit,none)!important;
  flex:0 0 auto!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-workplane-builder .gs3d-quick-live-guide{
  height:auto!important;
  max-height:var(--gs3d-quick-guide-space,none)!important;
  flex:0 0 auto!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
}

/* BUILD06 — 3D text menu lives inside the 3D toolbar surface (Standalone AND Host). */
.gs3d-toolbar .gs3d-text-navigation{display:flex;align-items:center;gap:3px;flex:none;}
.gs3d-toolbar .gs3d-text-menu-trigger{min-height:44px;min-width:70px;padding:7px 11px;border:1px solid #a7c9f0;background:#eff6ff;color:#134e98;border-radius:9px;font-weight:750;cursor:pointer;white-space:nowrap;}
.gs3d-toolbar .gs3d-text-classic{display:flex;flex-wrap:wrap;gap:3px;align-items:center;}
.gs3d-toolbar .gs3d-text-classic[hidden],.gs3d-text-popup[hidden]{display:none!important;}
.gs3d-toolbar .gs3d-text-classic-button{background:transparent;border:0;border-radius:7px;padding:8px 10px;min-height:40px;color:#174978;font-weight:650;cursor:pointer;}
.gs3d-toolbar .gs3d-text-classic-button:hover,.gs3d-toolbar .gs3d-text-classic-button[aria-expanded="true"]{background:#e3efff;}
.gs3d-text-popup{position:fixed;z-index:1085;min-width:240px;max-width:min(300px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow:auto;padding:7px;border:1px solid #bed5f5;background:white;border-radius:12px;box-shadow:0 12px 32px #163b6f30;display:flex;flex-direction:column;gap:3px;}
.gs3d-text-item{display:block;width:100%;min-height:42px;text-align:left;border:0;background:transparent;border-radius:7px;padding:8px 10px;font-size:14px;color:#173c66;cursor:pointer;}
.gs3d-text-item:hover,.gs3d-text-item:focus-visible{background:#e6f1ff;outline:2px solid #95bdf8;outline-offset:-2px;}
/* BUILD06: keep Classic menu readable, scrollable, and within 3D toolbar width. */
.gs3d-toolbar .gs3d-text-navigation{max-width:100%;flex-wrap:wrap;min-width:0;box-sizing:border-box;}
.gs3d-toolbar .gs3d-text-classic{max-width:100%;min-width:0;}

/* BUILD06: menu navigation visually leads the 3D command palettes without changing registry DOM order. */
.gs3d-toolbar .gs3d-text-navigation{order:-1;}

/* BUILD08 Owner: 3D text navigation is part of the ONE toolbar row (not a separate line).
   Keep Compact and Classic controls inside the same scrollable dock in Standalone and Host.
   Popup remains portaled outside the dock so overflow scrolling cannot clip it. */
.gs3d-toolbar .gs3d-tool-row > .gs3d-text-navigation{
 display:inline-flex;align-items:center;align-self:center;order:-1;
 flex:0 0 auto;min-width:max-content;max-width:none;
 min-height:48px;flex-wrap:nowrap;gap:4px;box-sizing:border-box;
}
.gs3d-toolbar .gs3d-tool-row > .gs3d-text-navigation > .gs3d-text-menu-trigger{
 width:auto;min-width:92px;height:48px;min-height:48px;
 display:inline-flex;align-items:center;justify-content:center;
 padding:0 12px;flex:none;font-size:15px;line-height:1.2;
}
.gs3d-toolbar .gs3d-tool-row > .gs3d-text-navigation > .gs3d-text-classic{
 display:inline-flex;flex:0 0 auto;align-items:center;flex-wrap:nowrap;
 max-width:none;min-width:max-content;gap:2px;white-space:nowrap;
}
.gs3d-toolbar .gs3d-tool-row > .gs3d-text-navigation > .gs3d-text-classic[hidden]{display:none!important;}
.gs3d-toolbar .gs3d-tool-row > .gs3d-text-navigation > .gs3d-text-classic > .gs3d-text-classic-button{
 min-height:44px;flex:0 0 auto;white-space:nowrap;
}

/* BUILD09: 3D text submenu hover portal stays outside clipped toolbar. */
.gs3d-text-hover-sub{z-index:1204;min-width:245px;max-height:calc(100dvh - 16px);overflow-y:auto;}
.gs3d-text-hover-sub[hidden]{display:none!important;}

/* BUILD10 Owner: full-width drawing workspace, a single accessible vertical edge tab, both 2D+3D. */
.g2d-standalone-page .g2d-standalone-shell #full-column.g2d-sidebar-completely-hidden{display:none!important;flex:none!important;width:0!important;max-width:0!important;min-width:0!important;padding:0!important;margin:0!important;overflow:hidden!important}
.g2d-standalone-page .g2d-standalone-shell #presentation-column{position:relative;min-width:0}
.g2d-standalone-page .g2d-standalone-shell .g2d-right-edge-tab,.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .g2d-right-edge-tab{position:absolute!important;right:0!important;left:auto!important;top:clamp(80px,33%,220px)!important;z-index:75!important;width:29px!important;height:172px!important;min-width:29px!important;min-height:172px!important;padding:12px 5px!important;box-sizing:border-box!important;writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap!important;letter-spacing:1px!important;font-size:12px!important;font-weight:900!important;line-height:1.2!important;border-radius:11px 0 0 11px!important;border:2px solid #d2e9ff!important;background:linear-gradient(175deg,#175bd6,#087eae)!important;color:#fff!important;box-shadow:0 7px 18px rgba(13,62,132,.29)!important;cursor:pointer!important;transform:none!important;overflow:visible!important}
.g2d-standalone-page .g2d-right-edge-tab.is-open{background:linear-gradient(175deg,#176d9e,#2059ae)!important}
.g2d-standalone-page .g2d-right-edge-tab:is(:hover,:focus-visible){background:#053b9a!important;outline:3px solid #a4d4ff!important;outline-offset:1px}
.g2d-standalone-page .g2d-right-autosave-status{padding:6px 12px;border-bottom:1px solid #e1ebf7;font-size:12px;}
.g2d-standalone-page .g2d-origin-home{font-weight:750;border-color:#9cc1f3;white-space:nowrap}
@media(max-width:620px){.g2d-standalone-page .g2d-standalone-shell .g2d-right-edge-tab{width:25px!important;min-width:25px!important;height:146px!important;min-height:146px!important;font-size:10px!important}}

/* BUILD12 (OWN-20261029-002): the 3D sidebar button is part of the SAME
   vertical navigator as the pre-existing camera controls. No detached group.
   The edge tab occupies its own narrow lane at the outer right, never on top
   of the navigation buttons. Use the measured toolbar offset when available. */
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-stage>.gs3d-view-stack{
 top:max(66px,var(--gs3d-nav-top,66px))!important;
 right:41px!important;
 left:auto!important;
 width:52px!important;
 max-width:52px!important;
 max-height:calc(100% - max(66px,var(--gs3d-nav-top,66px)) - 10px)!important;
 overflow-y:auto!important;
 overflow-x:hidden!important;
 z-index:24!important;
 padding:4px!important;
 border:1px solid #d1e2fa;
 border-radius:13px;
 background:rgba(249,252,255,.94);
 box-shadow:0 7px 18px rgba(21,66,117,.11);
 scrollbar-width:thin;
}
.g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-view-stack>.gs3d-sidebar-quick{
 display:flex!important;flex:none!important;align-items:center;justify-content:center;
 width:44px!important;min-width:44px!important;max-width:44px!important;
 height:44px!important;min-height:44px!important;
 padding:0!important;
 border:1px solid #72afe9!important;border-radius:10px;
 background:#1662cf!important;color:white!important;
 font-size:27px!important;font-weight:850!important;line-height:1!important;
 cursor:pointer;
}
.g2d-standalone-page .gs3d-view-stack>.gs3d-sidebar-quick:is(:hover,:focus-visible){
 outline:2px solid #75b7f5;outline-offset:1px;
}
@media(max-width:650px){
 .g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-stage>.gs3d-view-stack{
  top:max(62px,var(--gs3d-nav-top,62px))!important;
  right:34px!important;
  width:49px!important;max-width:49px!important;
  max-height:calc(100% - max(62px,var(--gs3d-nav-top,62px)) - 8px)!important;
  padding:3px!important;
 }
 .g2d-standalone-page .g2d-standalone-shell[data-studio-mode="3d"] .gs3d-view-stack>.gs3d-sidebar-quick{
  min-width:41px!important;max-width:41px!important;width:41px!important;
  height:41px!important;min-height:41px!important;
 }
}

/* BUILD11: ensure the right-edge handle is clickable above the canvas even when right column is completely removed. */
.g2d-standalone-page .g2d-standalone-shell .g2d-right-edge-tab{pointer-events:auto!important;touch-action:manipulation!important;z-index:160!important}
.g2d-standalone-page .g2d-standalone-shell #presentation-column{position:relative}

/* BUILD12 PATCH02 / OWN-20261029-005 — Lăng trụ: ô chọn cách dựng
   cùng cột, cùng chiều rộng với vùng nhập dưới nó. CSS FIX17 cũ giới hạn
   max-width theo vw và margin-left:auto nên ô bị dồn hẳn sang phải.
   Chỉ chỉnh layout select C1/C2/C3; không can thiệp thuật toán 3D. */
.g2d-standalone-page .gs3d-command-bar[data-feature="prism"] .gs3d-input-methods > .gs3d-curved-order[aria-label="Cách dựng hình lăng trụ"]{
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  flex:0 0 auto;
  margin:0;
  min-height:38px;
  box-sizing:border-box;
  border-color:#a8c8ed;
  border-radius:9px;
  background:#f5f9ff;
}
.g2d-standalone-page .gs3d-command-bar[data-feature="prism"] .gs3d-input-methods > .gs3d-curved-order[aria-label="Cách dựng hình lăng trụ"]:focus-visible{
  outline:2px solid #2477ef;
  outline-offset:2px;
}

/* BUILD18 — unify 3D contextual control heights, preserve host-owned chrome. */
.g2d-standalone-page .gs3d-context-bar :is(button,input[type="color"],select),
.g2d-standalone-page .gs3d-quick-row :is(button,input[type="color"],select){min-height:36px;height:36px;box-sizing:border-box;align-self:center;}
.g2d-standalone-page .gs3d-context-bar{align-items:center;gap:5px;}
@media(pointer:coarse){.g2d-standalone-page .gs3d-context-bar :is(button,input[type="color"],select){min-height:44px;height:44px;}}
