body.mobile{overscroll-behavior:none;-webkit-tap-highlight-color:transparent}body.mobile :root,.m-app{font-size:15px}.m-app{background:var(--bg);padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);grid-template:"head""ctx""main"1fr"tabs"/minmax(0,1fr);display:grid;position:fixed;inset:0}.m-bar{background:var(--panel);border-bottom:1px solid var(--line);grid-area:head;align-items:stretch;gap:4px;padding:4px 6px;display:flex}.m-menus{scrollbar-width:none;flex:1;gap:2px;min-width:0;display:flex;overflow-x:auto}.m-menus::-webkit-scrollbar{display:none}.m-menu{position:static}.m-menu-btn{min-width:46px;height:52px;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:2px 4px;display:flex}@media (width>=600px){.m-menu-btn{min-width:60px;padding:2px 8px}}.m-menu-btn.on{background:var(--accent-soft);color:var(--navy)}.m-menu-icon svg{width:24px;height:24px;display:block}.m-menu-label{white-space:nowrap;font-size:11px;font-weight:600}.m-undo{align-items:center;gap:2px;display:flex}.m-icon-btn{width:40px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:10px;place-items:center;display:grid}.m-icon-btn:disabled{opacity:.35}.m-icon-btn svg{width:22px;height:22px}.m-menu-list{z-index:30;left:6px;right:6px;top:calc(env(safe-area-inset-top) + 64px);overscroll-behavior:contain;background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;max-height:calc(100dvh - 140px);padding:6px 0;display:flex;position:fixed;overflow-y:auto;box-shadow:0 12px 32px #0000002e}@media (width>=700px){.m-menu{position:relative}.m-menu-list{width:340px;max-height:calc(100dvh - 90px);position:absolute;top:calc(100% + 6px);left:0;right:auto}}.m-menu-list button{min-height:48px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;padding:6px 16px;font-size:16px;display:flex}.m-menu-list button:active{background:var(--hover)}.m-menu-list button.checked{color:var(--navy);background:var(--accent-soft);font-weight:600}.m-menu-list button:disabled{color:var(--muted);opacity:.6}.m-item-icon{flex:none;place-items:center;width:26px;height:26px;display:grid}.m-item-icon svg{width:24px;height:24px}.m-item-label{flex:1}.m-tick{width:20px;color:var(--purple);text-align:center;font-weight:700}.m-menu-heading{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;border-top:1px solid var(--line);margin-top:4px;padding:12px 16px 4px;font-size:12px;font-weight:600}.m-menu-heading:first-child{border-top:none;margin-top:0}.m-menu-custom{padding:6px 16px}.m-menu-custom select,.m-select{width:100%;min-height:44px;font:inherit;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:6px 10px;font-size:16px}.m-context{background:var(--surface);border-bottom:1px solid var(--line);grid-area:ctx;align-items:center;gap:6px;padding:6px 8px;display:flex;overflow-x:auto}.m-ctx{border:1px solid var(--line);background:var(--panel);height:40px;color:var(--ink);font:inherit;cursor:pointer;border-radius:20px;flex:none;align-items:center;gap:6px;padding:0 14px;font-size:15px;font-weight:600;display:flex}.m-ctx.primary{background:var(--navy);border-color:var(--navy);color:#fff}.m-ctx.primary svg [stroke=\#77348C]{stroke:#d9c1e3}.m-ctx svg{width:18px;height:18px}.m-status{min-width:120px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.m-main{flex-direction:column;grid-area:main;min-height:0;display:flex;position:relative}.m-canvas{flex:auto;min-height:0;position:relative}.m-sheet{overscroll-behavior:contain;background:var(--panel);border-top:1px solid var(--line);flex:none;height:min(46dvh,460px);padding:6px 8px;overflow:auto;box-shadow:0 -6px 18px #00000014}@media (width>=900px) and (aspect-ratio>=1){.m-main{flex-direction:row}.m-sheet{border-top:none;border-left:1px solid var(--line);width:360px;height:auto;box-shadow:-6px 0 18px #0000000f}}.m-sheet .objects li{min-height:40px}.m-sheet button{min-height:34px}.m-sheet input,.m-sheet select{min-height:34px;font-size:15px}.m-sheet .palette{background:0 0;border:none;flex-wrap:wrap;padding:4px 0}.m-sheet .palette .slot{width:34px;height:34px}.m-sheet .player{border-left:none;flex-wrap:wrap;width:100%;margin-left:0;padding:6px 0 0}.m-sheet .player-btn{min-width:40px;height:40px;font-size:16px}.m-sheet .player-slider{flex:100%;width:auto}.m-pop{z-index:25;left:8px;right:8px;bottom:calc(64px + env(safe-area-inset-bottom));overscroll-behavior:contain;background:var(--surface);border:1px solid var(--line);border-radius:14px;max-height:min(52dvh,520px);padding:4px 10px 10px;position:fixed;overflow-y:auto;box-shadow:0 -10px 30px #0003}@media (width>=700px){.m-pop{width:380px;max-height:calc(100dvh - 160px);left:auto;right:12px}}.m-pop-close{float:right;z-index:1;background:var(--panel);width:36px;height:36px;color:var(--ink);cursor:pointer;border:none;border-radius:18px;margin:2px -4px 0 0;font-size:22px;line-height:1;position:sticky;top:0}.m-pop button{min-height:34px}.m-pop input,.m-pop select{min-height:34px;font-size:15px}.m-tabs{background:var(--panel);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);grid-area:tabs;display:flex}.m-tabs button{height:56px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:12px;font-weight:600;display:flex}.m-tabs button svg{width:22px;height:22px}.m-tabs button.on{color:var(--navy);background:var(--accent-soft)}.m-app .scrollbar,.m-app [data-testid=node-helpers],.m-app [data-testid=freehand-bar]{display:none}.m-ctx:disabled{opacity:.45}.m-seg{border:1px solid var(--line);border-radius:20px;flex:none;display:inline-flex;overflow:hidden}.m-seg button{background:var(--panel);height:40px;color:var(--ink);font:inherit;cursor:pointer;border:none;padding:0 14px;font-size:15px;font-weight:600}.m-seg button+button{border-left:1px solid var(--line)}.m-seg button.on{background:var(--navy);color:#fff}.m-ctx-field{flex:none;align-items:center;gap:6px;font-size:15px;font-weight:600;display:inline-flex}.m-ctx-field input{width:76px;height:40px;font:inherit;border:1px solid var(--line);border-radius:10px;padding:0 8px;font-size:16px}.m-unit{color:var(--muted);font-weight:400}.m-app .modal,.m-app .modal.wide{width:calc(100vw - 16px);max-width:760px;max-height:calc(100dvh - 16px);padding:14px;overflow:auto}.m-app .modal .field{grid-template-columns:1fr minmax(120px,45%)}.m-app .modal input,.m-app .modal select,.m-app .modal button{min-height:36px;font-size:15px}.m-app .modal-buttons button{min-height:44px;padding:0 18px}
