/* 编辑器页面样式入口（门面）
 * 原 edit.css（6165 行）已按逻辑拆分为 css/edit/*.css，本文件仅做 @import 聚合，
 * 页面 <link rel="stylesheet" href="css/edit.css"> 保持不变。
 * 拆分原则：纯物理拆分、零逻辑改动；弹窗样式与已外置的弹窗占位节点一一对应。
 */

/* 页面主框架 */
@import url("./edit/edit-base.css");
@import url("./edit/edit-toolbar.css");
@import url("./edit/edit-layout.css");
@import url("./edit/edit-canvas.css");
@import url("./edit/edit-block-toolbar.css");
@import url("./edit/edit-right-panel.css?v=20261012-buttons-solid");

/* 设置/选择弹窗 */
@import url("./edit/modal-media.css");
@import url("./edit/modal-img.css");
@import url("./edit/modal-doc.css");
@import url("./edit/modal-video.css");
@import url("./edit/modal-audio.css");
@import url("./edit/modal-form.css");
@import url("./edit/modal-link.css");
@import url("./edit/modal-contact.css");
@import url("./edit/modal-table.css?v=20261016-table-font-16-preview-12-1");
@import url("./edit/modal-location.css");
@import url("./edit/modal-bg.css");
@import url("./edit/modal-status.css?v=20261012-status-empty-spacing-1");
@import url("./edit/modal-brand.css");
@import url("./edit/modal-navstyle.css?v=20261013-editor-color-1B4DB3");

/* 样式库 */
@import url("./edit/edit-title-library.css");

/* 编辑区组件图片替换时保留原图，覆盖上传状态。 */
.component-image-uploading {
    position: relative !important;
    overflow: hidden;
    cursor: wait !important;
}
.component-image-upload-overlay {
    position: absolute;
    inset: 0;
    z-index: 10;
    container-type: size;
    box-sizing: border-box;
    border-radius: inherit;
    background: rgba(0, 0, 0, .62);
    color: #fff;
    font-weight: 400;
}
.component-image-upload-content {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: min(6px, 5cqh);
    font-size: min(16px, 14cqw, 16cqh);
    line-height: 1.4;
    white-space: nowrap;
}
.component-image-upload-spinner {
    flex: none;
    width: min(40px, 32cqw, 32cqh);
    height: min(40px, 32cqw, 32cqh);
    box-sizing: border-box;
    border: min(4px, 3cqw, 3cqh) solid rgba(0, 160, 233, .25);
    border-top-color: #00a0e9;
    border-right-color: #00a0e9;
    border-bottom-color: #00a0e9;
    border-radius: 50%;
    animation: component-image-upload-spin .8s linear infinite;
}
@keyframes component-image-upload-spin {
    to { transform: rotate(360deg); }
}

/* 字号菜单滚动条：细、浅色，仅作用于高级编辑器的字号列表。 */
body.edit-page-body .sy-select-menu[aria-label="字号"] {
    scrollbar-width: thin;
    scrollbar-color: #d8dde5 transparent;
}
body.edit-page-body .sy-select-menu[aria-label="字号"]::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
body.edit-page-body .sy-select-menu[aria-label="字号"]::-webkit-scrollbar-thumb {
    background-color: #d8dde5;
    border-radius: 6px;
}
body.edit-page-body .sy-select-menu[aria-label="字号"]::-webkit-scrollbar-thumb:hover {
    background-color: #c4cad4;
}
body.edit-page-body .sy-select-menu[aria-label="字号"]::-webkit-scrollbar-track {
    background-color: transparent;
}
@supports selector(::-webkit-scrollbar) {
    body.edit-page-body .sy-select-menu[aria-label="字号"] {
        scrollbar-width: auto;
        scrollbar-color: auto;
    }
}

/* 编辑画布：未选中组件的虚线淡入淡出，覆盖已有透明边框，不占用布局。 */
@media (hover: hover) and (pointer: fine) {
    body.edit-page-body #block-loop-host > .edit-block-wrap.mode-edit > .edit-block::after {
        content: "";
        position: absolute;
        inset: -2px;
        z-index: 1;
        box-sizing: border-box;
        border: 1.5px dashed #266fff;
        pointer-events: none;
        opacity: 0;
        transition: opacity 150ms ease;
    }
    body.edit-page-body #block-loop-host > .edit-block-wrap.mode-edit > .edit-block:not(.block-selected):hover::after {
        opacity: 1;
    }
    /* 选中立即使用原有蓝色实线，避免虚线淡出时与实线重叠。 */
    body.edit-page-body #block-loop-host > .edit-block-wrap.mode-edit > .edit-block.block-selected,
    body.edit-page-body #block-loop-host > .edit-block-wrap.mode-edit > .edit-block.block-selected::after {
        transition: none;
    }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: reduce) {
    body.edit-page-body #block-loop-host > .edit-block-wrap.mode-edit > .edit-block::after {
        transition: none;
    }
}
