/* common */
.ke-inline-block,
.ke-dialog-body label,
.ke-dialog-body img,
.ke-dialog-body select,
.ke-button-outer,
.ke-input-text,
.ke-input-color {
    display: -moz-inline-stack;
    display: inline-block;
    vertical-align: middle;
    zoom: 1;
    *display: inline;
}

.ke-clearfix {
    zoom: 1;
}
.ke-clearfix:after {
    content: ".";
    display: block;
    clear: both;
    font-size: 0;
    height: 0;
    line-height: 0;
    visibility: hidden;
}

.ke-shadow {
    box-shadow: 1px 1px 3px #A0A0A0;
    -moz-box-shadow: 1px 1px 3px #A0A0A0;
    -webkit-box-shadow: 1px 1px 3px #A0A0A0;
    filter: progid:DXImageTransform.Microsoft.Shadow(color='#A0A0A0', Direction=135, Strength=3);
    background-color: #F0F0EE;
}

.ke-menu a,
.ke-menu a:hover,
.ke-dialog a,
.ke-dialog a:hover {
    color: #337FE5;
    text-decoration: none;
}

/* icons: 统一宽高 16px 的合并 */
.ke-icon-source, .ke-icon-preview, .ke-icon-print, .ke-icon-undo,
.ke-icon-redo, .ke-icon-cut, .ke-icon-copy, .ke-icon-paste,
.ke-icon-selectall, .ke-icon-justifyleft, .ke-icon-justifycenter,
.ke-icon-justifyright, .ke-icon-justifyfull, .ke-icon-insertorderedlist,
.ke-icon-insertunorderedlist, .ke-icon-indent, .ke-icon-outdent,
.ke-icon-subscript, .ke-icon-superscript, .ke-icon-bold, .ke-icon-italic,
.ke-icon-underline, .ke-icon-strikethrough, .ke-icon-removeformat,
.ke-icon-image, .ke-icon-flash, .ke-icon-media, .ke-icon-div,
.ke-icon-formula, .ke-icon-hr, .ke-icon-emoticons, .ke-icon-link,
.ke-icon-unlink, .ke-icon-fullscreen, .ke-icon-about,
.ke-icon-plainpaste, .ke-icon-wordpaste, .ke-icon-table,
.ke-icon-tablemenu, .ke-icon-tableinsert, .ke-icon-tabledelete,
.ke-icon-tablecolinsertleft, .ke-icon-tablecolinsertright,
.ke-icon-tablerowinsertabove, .ke-icon-tablerowinsertbelow,
.ke-icon-tablecoldelete, .ke-icon-tablerowdelete,
.ke-icon-tablecellprop, .ke-icon-tableprop,
.ke-icon-checked, .ke-icon-code, .ke-icon-map,
.ke-icon-baidumap, .ke-icon-lineheight, .ke-icon-clearhtml,
.ke-icon-pagebreak, .ke-icon-insertfile, .ke-icon-quickformat,
.ke-icon-template, .ke-icon-tablecellsplit, .ke-icon-tablerowmerge,
.ke-icon-tablerowsplit, .ke-icon-tablecolmerge, .ke-icon-tablecolsplit,
.ke-icon-anchor, .ke-icon-search, .ke-icon-new, .ke-icon-specialchar,
.ke-icon-multiimage {
    width: 16px;
    height: 16px;
    background-position: 0 0; /* 具体偏移在各自选择器单独声明 */
}

/* toolbar */
.ke-toolbar {
    border-bottom: 1px solid #AEE6FF;
    background-color: #AEE6FF;
    padding: 2px 5px;
    text-align: left;
    overflow: hidden;
    zoom: 1;
    box-sizing: border-box;
    position: relative;
    z-index: 10;
}

.ke-toolbar-icon {
    background-repeat: no-repeat;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
    display: block;
}

.ke-toolbar .ke-outline,
.ke-toolbar .ke-on,
.ke-toolbar .ke-selected,
.ke-toolbar .ke-disabled {
    border: 1px solid #CAE7FA;
    margin: 1px;
    padding: 1px 2px;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
    cursor: pointer;
    display: block;
    float: left;
}

.ke-toolbar .ke-selected {
    border: 1px solid #5690D2;
    background-color: #E9EFF6;
}

.ke-toolbar .ke-separator {
    height: 16px;
    margin: 2px 3px;
    border-left: 1px solid #A0A0A0;
    border-right: 1px solid #FFF;
    border-top: 0;
    border-bottom: 0;
    width: 0;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
    display: block;
    float: left;
}

/* edit area */
.ke-edit {
    padding: 0;
    height: 300px !important;
    box-sizing: border-box;
}
.ke-edit-iframe,
.ke-edit-textarea {
    height: 100% !important;
    width: 100%;
    box-sizing: border-box;
}

/* container */
.ke-container {
    border: 1px solid #AEE6FF;
    background-color: #FFF;
    overflow: visible;
    box-sizing: border-box;
    position: relative;
    width: 100%;
}

/* statusbar */
.ke-statusbar {
    position: relative;
    background-color: #AEE6FF;
    border-top: 1px solid #AEE6FF;
    font-size: 0;
    line-height: 0;
    *height: 12px;
    overflow: hidden;
    text-align: center;
    cursor: s-resize;
    display: none;
}

/* menu */
.ke-menu {
    border: 1px solid #A0A0A0;
    background-color: #F1F1F1;
    color: #222;
    padding: 2px;
    font-family: "sans serif", tahoma, verdana, helvetica;
    font-size: 12px;
    text-align: left;
    overflow: hidden;
}

/* colorpicker */
.ke-colorpicker,
.ke-colorpicker-cell-top,
.ke-colorpicker-cell,
.ke-colorpicker-cell-on,
.ke-colorpicker-cell-selected {
    border: 1px solid #A0A0A0;
    background-color: #F1F1F1;
    cursor: pointer;
}

/* dialog */
.ke-dialog {
    position: absolute;
    margin: 0;
    padding: 0;
}

/* tabs */
.ke-tabs {
    font: 12px/1 "sans serif", tahoma, verdana, helvetica;
    border-bottom: 1px solid #A0A0A0;
    padding-left: 5px;
    margin-bottom: 20px;
}

/* 其余规则类似方式处理，保持顺序和选择器完整性 */

