body{font-family:system-ui,Arial;margin:0;display:flex;flex-direction:column;min-height:100vh;height:100vh;overflow:hidden;background:#f3f3f3}
    .row{display:flex;gap:8px;align-items:center;margin:6px 0;flex-wrap:wrap}
    label{font-size:13px;color:#222}
    input,select,button{font:inherit;padding:6px 8px}
    input{width:120px}
    button{cursor:pointer}
    .tabbtn{padding:10px 14px;border:1px solid #cfd4dc;background:#f7f7f7;border-radius:12px;font-weight:600}
    .tabbtn.active{background:#111;color:#fff;border-color:#111}
    #topbar{background:#fff;border-bottom:1px solid #ddd;padding:12px;display:flex;flex-direction:column;gap:10px;position:relative;z-index:10;box-shadow:0 2px 10px rgba(0,0,0,.04)}
    .toolbar-row{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}
    .toolbar-block{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 12px;border:1px solid #e3e6eb;border-radius:14px;background:#fafbfc}
    .toolbar-title{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#667085;margin-right:2px}
    .toolbar-stack{display:flex;flex-direction:column;gap:6px}

    #mobileMenuBtn{display:none;position:fixed;top:10px;left:10px;z-index:10030;border:1px solid #111;background:#111;color:#fff;border-radius:12px;padding:10px 14px;font-weight:800}
    #menuOverlay{display:none}
    #menuShell{display:flex;flex-direction:column;gap:10px;width:100%}
    .dropdown{position:relative}
    .dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;display:none;flex-direction:column;gap:6px;background:#fff;border:1px solid #ddd;border-radius:12px;padding:8px;box-shadow:0 10px 30px rgba(0,0,0,.12);min-width:180px;z-index:30}
    .dropdown.open .dropdown-menu{display:flex}
    .dropdown-menu .tabbtn{text-align:left;width:100%}
    .view{flex:1;min-height:0;position:relative;overflow:hidden;background:#fff;touch-action:none}
    #wrap{flex:1;min-height:0;min-width:0;display:flex}
    #canvas2d,#canvas3d{width:100%;height:100%;display:block;background:#fff;touch-action:none}
    #canvas3d{position:absolute;inset:0;background:linear-gradient(180deg,#f7f9fc 0%,#eef2f7 55%,#e7ebf1 100%)}
    .hint{font-size:12px;color:#555;line-height:1.35}
    .mm-badge{display:inline-flex;align-items:center;background:#111;color:#fff;padding:8px 12px;border-radius:10px;font-size:12px;white-space:nowrap;font-weight:700}
    .toolbar-hint{gap:10px}
    .list{max-height:220px;overflow:auto;border:1px solid #ddd;padding:8px}
    .item{border-bottom:1px dashed #ddd;padding:6px 0}
    .small{width:88px}
    .danger{color:#b00020}
    .ok{color:#0a7a0a}
    .hide-ui{display:none !important}

    .popad{
      position:fixed;
      z-index:9999;
      background:#fff;
      border:1px solid #ddd;
      box-shadow:0 10px 30px rgba(0,0,0,.12);
      border-radius:12px;
      padding:10px 10px;
      min-width:260px;
      display:none;
    }
    .popad .row{ margin:8px 0; }
    .popad .title{ font-weight:700; margin-bottom:6px; }
    .popad .close{ border:0; background:transparent; font-size:18px; cursor:pointer; }

    .dim-edit{position:fixed; z-index:10000; display:none;}
    .dim-edit input{font:12px system-ui; padding:4px 6px; width:90px; border:1px solid #444; border-radius:8px;}

    @media (max-width: 900px){
      .tabbtn{padding:9px 11px}
      input{width:96px}
      .small{width:76px}
      #mobileMenuBtn{display:block}
      #menuOverlay{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:10020}
      #menuOverlay.open{display:block}
      #topbar{padding:0;border-bottom:0;background:transparent;box-shadow:none}
      #menuShell{position:fixed;top:0;left:0;bottom:0;width:min(340px,85vw);padding:64px 12px 16px;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.22);overflow:auto;transform:translateX(-105%);transition:transform .22s ease;z-index:10025}
      #menuShell.open{transform:translateX(0)}
      .toolbar-row{flex-direction:column;align-items:stretch}
      .toolbar-block{width:100%;justify-content:flex-start}
      #versionBanner{top:12px;right:12px}
    }
