:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#273449;background:#f4f6f9;font-size:15px;font-synthesis:none;--accent:#315f99;--line:#dfe5ed;--muted:#68778b}*{box-sizing:border-box}body{margin:0;height:100dvh;overflow:hidden}button,input,select{font:inherit}button,select,input[type=color]{min-height:40px}button{border:1px solid var(--line);background:#fff;color:#33455d;border-radius:8px;padding:8px 12px;cursor:pointer;white-space:nowrap;font-weight:600;transition:background .12s}button:hover{background:#edf3fb}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #88b3eb;outline-offset:2px}.primary{background:var(--accent);border-color:var(--accent);color:white}.primary:hover{background:#244c7e}.large{padding:13px 24px;min-height:50px;font-size:1rem}.icon-button{padding:5px 12px;font-size:1.3rem;min-width:42px}.topbar{height:70px;padding:0 22px;display:flex;align-items:center;gap:20px;background:white;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;color:#26374d;text-decoration:none;font-size:1.25rem;letter-spacing:-.035em}.brand b{font-weight:800}.brand small{display:block;font-size:.58rem;letter-spacing:.12em;color:#7a8899;font-weight:600;margin-top:3px}.private{margin-left:auto;font-size:.77rem;color:#708195;display:flex;align-items:center;gap:7px}.private i{width:7px;height:7px;background:#49a07b;border-radius:50%}.topbar .icon-button{border:0;border-radius:50%;background:#f4f6fa;font-size:1rem}.toolbar{height:62px;display:flex;align-items:center;gap:7px;padding:10px 22px;background:white;border-bottom:1px solid var(--line)}.toolbar button{border-color:transparent;font-size:.86rem}.toolbar button.active{background:#e9f0fa;color:#315f99;border-color:#cfddf0}.toolbar .primary{background:var(--accent);color:white;padding:8px 17px}.toolbar button#undo,.toolbar button#redo{font-size:1.45rem;font-weight:400;min-width:38px;padding:3px}.divider{height:23px;width:1px;background:var(--line);margin:0 5px}.toolbar-spacer{flex:1}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 322px;height:calc(100dvh - 132px)}.workspace.panel-closed{grid-template-columns:1fr}.workspace.panel-closed #panel{display:none}#viewport{position:relative;min-width:0;overflow:hidden;background:#f4f6f9}#canvas{display:block;position:absolute;inset:0;width:100%;height:100%;touch-action:none;outline:0}.empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:26px;pointer-events:none}.empty>*{pointer-events:auto}.empty-icon{margin-bottom:15px;filter:drop-shadow(0 8px 16px #315f9917)}.eyebrow{font-size:.65rem;letter-spacing:.17em;color:#7c8da4;font-weight:750;margin:10px 0}.empty h1{font-size:clamp(1.6rem,3vw,2.65rem);font-weight:650;letter-spacing:-.055em;line-height:1.15;margin:9px 0 10px;max-width:620px;color:#2b3b52}.empty p:not(.eyebrow){font-size:.94rem;color:#7b899b;line-height:1.65;margin:0 0 25px}.empty small{font-size:.71rem;color:#8291a3;margin-top:20px}.text-button{border:0;background:transparent;color:var(--accent);font-size:.82rem;margin-top:8px}.viewport-top,.viewport-bottom{position:absolute;left:22px;right:22px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;gap:10px;font-size:.71rem;color:#7a8a9e}.viewport-top{top:18px}.viewport-top span{padding:5px 9px;background:#ffffffb8;border:1px solid #e1e6ee77;border-radius:6px;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewport-bottom{bottom:max(16px,env(safe-area-inset-bottom))}.viewport-bottom #hint{max-width:70%;line-height:1.6}.viewport-bottom button{pointer-events:auto;font-size:.78rem;background:#fffffff0;box-shadow:0 2px 10px #253e5710}.viewport-bottom .mono{color:#9db0c8}#axes{position:absolute;left:16px;bottom:65px;width:80px;height:80px;pointer-events:none}#axis-canvas{width:80px;height:80px}#drop-overlay{position:absolute;inset:14px;border:2px dashed #527eb6;border-radius:20px;background:#e7f0fbe8;display:grid;place-items:center;font-size:1.5rem;color:#315f99;z-index:10}#panel{border-left:1px solid var(--line);background:#fff;overflow-y:auto;overscroll-behavior:contain;z-index:5;padding-bottom:env(safe-area-inset-bottom)}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:12px 19px 0}.panel-heading button{border:0;min-height:30px;padding:0 8px;color:#8390a2}h2{font-size:.9rem;margin:0 0 13px;font-weight:700}.panel-section{padding:18px 19px;border-bottom:1px solid #edf0f4}.panel-section summary{font-size:.9rem;font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between}.panel-section summary::after{content:'＋';font-weight:400;color:#8191a7}.panel-section[open] summary{margin-bottom:17px}.panel-section[open] summary::after{content:'−'}.count{font-size:.7rem;background:#edf2f8;padding:2px 7px;color:#637993;border-radius:6px;margin-left:5px}.muted{color:var(--muted);font-size:.83rem;line-height:1.6}.micro{font-size:.72rem;color:#7b8799;line-height:1.55;margin:9px 0 13px}.field{display:flex;flex-direction:column;gap:7px;margin:13px 0;font-size:.78rem;color:#67768a}.field select,.field input:not([type=range]){border:1px solid var(--line);background:#fafbfd;border-radius:7px;padding:9px;color:#34485f;min-width:0;max-width:100%;width:100%}.field.inline{display:grid;grid-template-columns:1fr auto}.field.inline input{grid-column:1/-1}.check{display:flex;align-items:center;gap:8px;font-size:.8rem;margin:12px 0;line-height:1.4}.check input{width:17px;height:17px;accent-color:var(--accent);flex:none}.check small{font-size:.65rem;color:#8b98a9}input[type=range]{width:100%;accent-color:#4979b6;margin:2px 0}.selection-info{font-size:.77rem;background:#f4f7fb;padding:10px;border-radius:6px;color:#5c7596;line-height:1.45}.color-row{display:flex;align-items:center;gap:7px}.color-row input[type=color]{width:43px;height:42px;border:1px solid var(--line);padding:3px;border-radius:8px;background:white;flex:none}.color-row #hex{min-width:0;width:93px;border:1px solid var(--line);border-radius:7px;padding:10px 6px;font-family:ui-monospace,monospace;font-size:.85rem}.color-row button{margin-left:auto;font-size:.8rem}.palette{display:flex;gap:6px;margin:12px 0}.palette button{width:29px;height:29px;min-height:29px;border-radius:7px;padding:0;border:2px solid #ffffff;box-shadow:0 0 0 1px #d8dfe8}.button-row{display:flex;gap:7px;margin-top:8px}.button-row>*{flex:1;min-width:0;font-size:.72rem;padding:8px}.button-row select{border:1px solid var(--line);border-radius:8px}.view-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.view-grid button{font-size:.75rem}.model-row{padding:10px;border:1px solid var(--line);border-radius:9px;margin-bottom:8px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;background:#fafbfd}.model-row.current{border-color:#9cb9dc;background:#f0f5fc}.model-name{padding:0;border:0;background:transparent;font-size:.84rem;text-align:left;overflow:hidden;text-overflow:ellipsis;max-width:100%;min-height:26px}.model-meta{font-size:.68rem;color:#8a97a7}.model-actions{grid-column:1/-1;display:flex;gap:5px}.model-actions button{min-height:30px;font-size:.67rem;flex:1;padding:4px}.model-row .visibility{min-height:30px;font-size:.7rem;padding:4px}.info-grid{display:grid;grid-template-columns:1fr auto;gap:10px;font-size:.76rem;margin:0}.info-grid dt{color:#7b899a}.info-grid dd{margin:0;font-variant-numeric:tabular-nums;text-align:right;max-width:175px;overflow-wrap:anywhere;color:#3b4d63}.notice{background:#fff7e8;border:1px solid #f1dfba;color:#86672e;font-size:.73rem;line-height:1.5;padding:10px;border-radius:7px;margin-top:13px}.notice.ok{background:#eff7f3;border-color:#d6e8dd;color:#4e7a65}.mass{font-size:.9rem;font-weight:600;color:#466686}.mono{font: .72rem/1.6 ui-monospace,monospace;overflow-wrap:anywhere}.measure-item{display:flex;gap:6px;align-items:center;justify-content:space-between;background:#f6f8fb;padding:7px;margin:6px 0;border-radius:6px;font-size:.8rem}.measure-item button{min-height:30px;padding:3px 8px}.wide{display:block;width:100%;font-size:.78rem;margin-top:9px;text-align:left}.danger{color:#a15757}.panel-footer{font-size:.67rem;color:#9aa5b3;padding:19px}.panel-footer a{color:#6481a5}#measure-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.measure-label{position:absolute;background:#fff;color:#996f13;border:1px solid #e6c770;box-shadow:0 2px 8px #253d5115;padding:4px 8px;border-radius:5px;font-size:.77rem;white-space:nowrap;transform:translate(-50%,-50%)}.busy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:17px;z-index:20;background:#f4f6f9d9;backdrop-filter:blur(3px);color:#4b6484}.spinner{width:34px;height:34px;border:3px solid #d8e2ee;border-top-color:#4777b5;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#toast{position:absolute;bottom:76px;left:50%;transform:translateX(-50%);max-width:90%;padding:13px 18px;background:#2f435a;color:#fff;box-shadow:0 5px 20px #243c5730;border-radius:10px;font-size:.82rem;z-index:30;text-align:center;line-height:1.5}dialog{border:1px solid var(--line);border-radius:18px;max-width:min(580px,94vw);max-height:90dvh;padding:30px;color:#3e5067;line-height:1.7;font-size:.92rem;overflow:auto}dialog::backdrop{background:#24394d65;backdrop-filter:blur(3px)}dialog h2{font-size:1.7rem;letter-spacing:-.04em}dialog .close{position:absolute;right:10px;top:8px;border:0;font-size:1.3rem}dialog ul{padding-left:22px}body.dark #hint{color:#b5c2d4}[hidden]{display:none!important}
@media(max-width:1050px){.toolbar{padding:10px 12px;gap:2px}.toolbar button{font-size:.78rem;padding:8px}.topbar{padding:0 15px}.workspace{grid-template-columns:minmax(0,1fr) 298px}.private{font-size:.68rem}.divider{margin:0 3px}.viewport-bottom #hint{max-width:60%}}
@media(max-width:760px){:root{font-size:16px}.topbar{height:60px;padding:0 12px;gap:10px}.brand{font-size:1.1rem}.brand small{font-size:.5rem}.private{font-size:0;gap:0}.private i{width:8px;height:8px}.toolbar{height:106px;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-auto-rows:42px;gap:3px;padding:8px}.toolbar button{font-size:.72rem;min-height:42px;padding:6px 2px}.toolbar .primary{padding:6px 2px}.toolbar button#select-tool{grid-column:span 2}.toolbar button#undo,.toolbar button#redo{font-size:1.35rem;min-width:0}.toolbar .divider,.toolbar-spacer{display:none}.toolbar #views-tool{grid-column:span 2}.toolbar #export-tool{grid-column:span 2}.workspace{height:calc(100dvh - 166px);display:block}.workspace.panel-closed #panel{display:none}#viewport{height:100%;width:100%}#panel{position:absolute;right:0;top:166px;bottom:0;width:min(350px,92vw);box-shadow:-10px 0 36px #253d5118;border-radius:12px 0 0 0}.empty{padding:20px}.empty h1{font-size:1.85rem;max-width:360px}.empty p:not(.eyebrow){font-size:.81rem}.empty small{font-size:.63rem}.empty-icon img{width:64px;height:64px}.empty-icon{margin-bottom:6px}.viewport-top{left:12px;right:12px;top:12px;font-size:.61rem}.viewport-bottom{left:12px;right:12px;font-size:.6rem}.viewport-bottom #hint{max-width:58%}.viewport-bottom button{font-size:.7rem}.panel-section{padding:17px}.check{font-size:.85rem}.button-row>*{font-size:.76rem}#axes{left:5px;bottom:65px}.panel-heading{padding-left:17px}.topbar .icon-button{min-width:35px;min-height:35px}button,select{min-height:44px}}
@media(max-height:510px) and (max-width:960px){.topbar{height:48px}.topbar .brand img{width:28px;height:28px}.toolbar{height:50px;display:flex;padding:4px 8px;gap:3px}.toolbar button{font-size:.7rem;min-height:39px;padding:5px 8px}.toolbar #select-tool{font-size:.65rem}.workspace{height:calc(100dvh - 98px)}#panel{top:98px}.empty-icon,.empty .eyebrow,.empty small{display:none}.empty h1{font-size:1.6rem}.empty p:not(.eyebrow){margin-bottom:10px}.empty .large{min-height:40px;padding:8px 17px}.empty .text-button{margin:0}.viewport-top{top:8px}.viewport-bottom #hint{font-size:.6rem}.viewport-bottom{bottom:8px}#axes{bottom:45px}}

#position-fields{border:0;padding:0;margin:0;min-width:0}#position-fields:disabled{opacity:.55}.pose-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:9px 0}.pose-grid label{min-width:0;font-size:.75rem;color:#63758c;display:flex;flex-direction:column;gap:5px}.pose-grid input{width:100%;min-width:0;border:1px solid var(--line);border-radius:7px;padding:9px 6px;min-height:42px;background:#fafbfd;color:#34485f;font-size:.9rem}.pose-grid button{min-width:0;padding:7px 3px;font-size:.77rem}.position-subhead{font-size:.85rem;margin:22px 0 12px}.relation-row{display:flex;align-items:center;gap:8px;font-size:.72rem;background:#eff4fb;padding:9px;border-radius:7px;margin:7px 0;line-height:1.5}.relation-row span{min-width:0;flex:1;overflow-wrap:anywhere}.relation-row button{min-height:38px;padding:5px 10px}#viewport.moving #canvas{cursor:move}.model-meta.fixed-label{color:#98742e}@media(max-width:760px){.pose-grid input{font-size:16px}.pose-grid button,.relation-row button{min-height:44px}.relation-row{flex-wrap:wrap}.relation-row span{flex-basis:100%}}

/* Compact CAD-style tool menus and nested inspector groups. */
.toolbar-menu{position:relative;flex:none;z-index:25}
.toolbar-menu>summary{list-style:none;display:flex;align-items:center;justify-content:center;gap:5px;min-height:40px;padding:8px 10px;border:1px solid transparent;border-radius:8px;color:#33455d;font-size:.84rem;font-weight:600;cursor:pointer;white-space:nowrap}
.toolbar-menu>summary::-webkit-details-marker,.tool-submenu>summary::-webkit-details-marker{display:none}
.toolbar-menu>summary::after{content:'⌄';font-weight:400;color:#7a8da6}
.toolbar-menu[open]>summary{background:#e9f0fa;border-color:#cfddf0}
.toolbar-dropdown{position:absolute;top:calc(100% + 5px);right:0;z-index:30;min-width:195px;max-width:min(260px,90vw);background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px #203a5829;border-radius:10px;padding:6px;display:flex;flex-direction:column;gap:2px}
.toolbar .toolbar-dropdown button{display:block;text-align:left;width:100%;border:0;padding:11px 12px;min-height:40px;white-space:normal}
.tool-submenu{margin:8px 0;border:1px solid #e5ebf3;border-radius:9px;background:#fafcfe;overflow:visible}
.tool-submenu>summary{list-style:none;cursor:pointer;min-height:43px;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:10px 12px;color:#39536f;font-size:.8rem;font-weight:700}
.tool-submenu>summary::after{content:'+';font-size:1rem;color:#8191a7}
.tool-submenu[open]>summary{border-bottom:1px solid #e8edf4}
.tool-submenu[open]>summary::after{content:'−'}
.tool-submenu[open]>:not(summary){margin-left:12px;margin-right:12px}
.tool-submenu[open]>:last-child{margin-bottom:13px}
.tool-submenu>.pose-grid{margin-top:12px}
.tool-submenu .micro{white-space:normal}
@media(max-width:760px){.toolbar{grid-template-columns:repeat(6,minmax(0,1fr))}.toolbar #select-tool{grid-column:span 1}.toolbar-menu{min-width:0}.toolbar-menu>summary{font-size:.62rem;padding:7px 1px;min-height:42px;letter-spacing:-.02em}.toolbar-dropdown{min-width:180px}.toolbar-menu:nth-last-of-type(4) .toolbar-dropdown{left:0;right:auto}}
@media(max-height:510px) and (max-width:960px){.toolbar-menu>summary{min-height:39px;font-size:.68rem;padding:5px}}

/* Submenú de movimiento estilo CAD, utilizable con ratón y pantalla táctil. */
.toolbar-submenu{width:100%;border-radius:7px}
.toolbar-submenu>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:10px 12px;cursor:pointer;font-weight:650;font-size:.82rem;color:#34485f}
.toolbar-submenu>summary::after{content:'›';color:#768ba5;font-size:1.1rem}
.toolbar-submenu[open]>summary{background:#eef4fb}
.toolbar-submenu[open]>summary::after{content:'⌄'}
.toolbar-submenu-items{display:flex;flex-direction:column;gap:2px;margin:3px 0 6px 9px;padding:3px 0 3px 7px;border-left:2px solid #d7e2f0}
.toolbar .toolbar-submenu-items button{text-align:left;min-height:40px;width:100%;font-size:.79rem;padding:9px 10px;white-space:normal}
#viewport.rotating #canvas{cursor:grab}
#viewport.rotating #canvas:active{cursor:grabbing}
#move-submenu>.tool-submenu{margin:10px 8px}
#move-submenu>.tool-submenu[open]>:not(summary){margin-left:9px;margin-right:9px}
@media(max-width:760px){.toolbar-submenu>summary{font-size:.78rem}.toolbar .toolbar-submenu-items button{font-size:.76rem;min-height:44px}}

/* Accesos directos a vistas CAD: flotan en la esquina del lienzo 3D. */
.viewport-views{position:absolute;top:56px;right:16px;z-index:4;display:grid;grid-template-columns:repeat(4,42px);gap:4px;padding:6px;background:rgba(255,255,255,.68);border:1px solid rgba(125,149,180,.32);border-radius:12px;box-shadow:0 3px 14px rgba(28,50,77,.11);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:.82;transition:opacity .15s}
.viewport-views:hover,.viewport-views:focus-within{opacity:1}
.viewport-views button{width:42px;height:44px;min-width:0;min-height:0;padding:3px 1px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:rgba(255,255,255,.32);border:1px solid transparent;border-radius:7px;color:#3c5778;cursor:pointer}
.viewport-views button:hover{background:rgba(216,230,249,.83);border-color:rgba(119,154,193,.45)}
.viewport-views button:active{background:rgba(183,210,244,.9)}
.viewport-views button svg{width:21px;height:21px;flex:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;fill:none;pointer-events:none}
.viewport-views button span{font-size:9px;letter-spacing:.025em;font-weight:700;line-height:1;pointer-events:none}
body.dark .viewport-views{background:rgba(38,50,68,.72);border-color:rgba(173,194,223,.25)}
body.dark .viewport-views button{color:#e2eaf5;background:rgba(26,36,52,.22)}
body.dark .viewport-views button:hover{background:rgba(91,124,161,.55)}
@media(max-width:760px){.viewport-views{top:47px;right:10px;grid-template-columns:repeat(4,40px);gap:3px;padding:5px}.viewport-views button{width:40px;height:42px}}
@media(max-height:510px) and (max-width:960px){.viewport-views{top:37px;right:8px;opacity:.75}}

/* Biblioteca privada de diseños */
.library-dialog{width:min(900px,96vw);max-width:96vw;max-height:92dvh;padding:22px 24px}
.library-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.library-header h2{margin:0;font-size:1.5rem}
.library-header button{font-size:1.3rem;min-width:38px}
.library-dialog .muted{margin:8px 0 10px}
.library-error{color:#a02c2c}
.library-usage{font-size:.78rem;color:#45617e;background:#f4f7fb;border-radius:7px;padding:10px;margin:9px 0}
.library-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.library-toolbar button{white-space:normal;min-height:38px;font-size:.8rem}
.library-drop{border:2px dashed #b3c5da;border-radius:10px;text-align:center;padding:18px 10px;background:#f7fafd;color:#5b7392;font-size:.8rem}
.library-drop.library-drag{border-color:#315f99;background:#e8f1ff}
.library-crumbs{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:13px 0;font-size:.82rem}
.library-crumbs button{border:0;background:transparent;color:#315f99;font-size:.8rem;padding:4px 6px;min-height:28px;white-space:normal}
.library-crumbs span{color:#879aaf}
.library-list{min-height:120px;max-height:36dvh;overflow:auto;border-top:1px solid #e8eef6}
.library-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #e8eef6}
.library-entry{min-width:0;overflow-wrap:anywhere;display:flex;flex-direction:column;gap:2px;line-height:1.4;font-size:.82rem}
.library-entry small{color:#8593a5;font-size:.72rem}
.library-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.library-actions button{min-height:30px;padding:5px 8px;font-size:.7rem}
@media(max-width:620px){.library-dialog{padding:14px}.library-row{align-items:flex-start;flex-direction:column}.library-actions{justify-content:flex-start}.library-toolbar button{flex:1}.library-list{max-height:40dvh}}


/* Responsive CAD command bar: keep frequent actions visible, group the rest. */
.toolbar{gap:7px;min-height:58px;height:58px}
.toolbar-menu>summary{min-height:44px;font-size:.86rem;font-weight:700;padding:9px 12px}
.toolbar>.toolbar-menu{position:relative}
.toolbar .toolbar-dropdown{min-width:240px;max-width:min(300px,calc(100vw - 16px));max-height:min(76dvh,560px);overflow-y:auto;overscroll-behavior:contain;z-index:55}
.toolbar .toolbar-dropdown button{min-height:46px;font-size:.85rem;white-space:normal;overflow-wrap:anywhere}
.toolbar-submenu>summary{font-size:.86rem;min-height:46px;white-space:normal}
.toolbar .toolbar-submenu-items button{font-size:.84rem;min-height:46px}
.toolbar #undo,.toolbar #redo{min-width:0;font-size:.85rem;text-align:left}
.toolbar>button{min-height:44px}
.workspace{height:calc(100dvh - 128px)}
@media(max-width:760px){
  .toolbar{position:relative;height:106px;min-height:106px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,46px);gap:3px;padding:5px 6px;overflow:visible}
  .toolbar>button,.toolbar-menu>summary{min-width:0;width:100%;height:46px;min-height:46px;padding:5px 3px;text-align:center;justify-content:center;font-size:clamp(.68rem,2.4vw,.82rem);line-height:1.1;white-space:normal}
  .toolbar-menu>summary::after{margin-left:2px}
  .toolbar .toolbar-dropdown{position:fixed;top:166px;left:8px;right:8px;min-width:0;max-width:none;max-height:calc(100dvh - 178px);z-index:80;border-radius:10px;padding:6px;box-shadow:0 18px 48px #23395745}
  .toolbar .toolbar-dropdown button,.toolbar .toolbar-submenu-items button{min-height:48px;font-size:.92rem;padding:10px 12px}
  .toolbar-submenu>summary{min-height:48px;font-size:.93rem}
  .workspace{height:calc(100dvh - 166px)}
  #panel{top:166px;width:min(410px,100vw);max-width:100vw}
  .panel-section .field input,.panel-section .field select{min-height:46px;font-size:16px}
}
@media(max-width:380px){.toolbar-menu>summary,.toolbar>button{font-size:.72rem}.toolbar-menu>summary::after{font-size:.8em}}
@media(max-height:510px) and (max-width:960px){
  .toolbar{height:90px;min-height:90px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,40px);gap:3px;padding:4px 6px;overflow:visible}
  .toolbar>button,.toolbar-menu>summary{height:40px;min-height:40px;padding:3px 4px;font-size:.8rem;white-space:normal}
  .toolbar .toolbar-dropdown{position:fixed;top:138px;left:8px;right:8px;min-width:0;max-width:none;max-height:calc(100dvh - 147px);overflow:auto}
  .workspace{height:calc(100dvh - 138px)}
  #panel{top:138px}
}
@media(hover:none),(pointer:coarse){
  .toolbar .toolbar-dropdown button,.toolbar .toolbar-submenu-items button{min-height:48px}
  .toolbar-menu>summary,.toolbar-submenu>summary{touch-action:manipulation}
}
