/* 落地页通用 UI 库：弹窗 + 通知（独立 .ui-* 前缀，px 单位，移动优先） */
.ui-mask {
    position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 9000;
    background: rgba(0, 0, 0, 0.5); display: flex; align-items: center; justify-content: center;
    opacity: 0; transition: opacity 0.18s ease;
    -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
}
.ui-mask.ui-show { opacity: 1; }
.ui-box {
    width: 300px; max-width: 90vw; max-height: 82vh; overflow-y: auto; scrollbar-width: none;
    background: #fff; border-radius: 12px; box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
    transform: scale(0.92); opacity: 0; transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.ui-mask.ui-show .ui-box { transform: scale(1); opacity: 1; }
.ui-box::-webkit-scrollbar { display: none; }
.ui-content { padding: 29px 20px; text-align: center; }
.ui-title { font-size: 17px; font-weight: 700; color: #2d3436; margin-bottom: 12px; position: relative; padding-bottom: 10px; }
.ui-title:after { content: ''; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 36px; height: 3px; border-radius: 2px; background: linear-gradient(90deg, #5460ff 0%, #2196f3 100%);}
.ui-msg { font-size: 14px; color: #555; line-height: 1.6; word-break: break-word;padding: 0.09rem 0.05rem; }
.ui-msg img { max-width: 100%; border-radius: 6px; }
.ui-btns { display: flex; margin-top: 18px; }
.ui-btn {
    flex: 1; padding: 10px 0; border: none; border-radius: 8px;
    font-size: 15px; font-weight: 600; cursor: pointer; transition: all 0.2s ease;
    position: relative; overflow: hidden; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.ui-btn + .ui-btn { margin-left: 10px; }
.ui-btn.ui-cancel { background: linear-gradient(135deg, #f1f2f6, #dfe4ea); color: #666; }
.ui-btn.ui-confirm { background: linear-gradient(135deg, #2196f3 0%, #5460ff 100%); color: #fff; }
.ui-btn.ui-confirm:hover {opacity: 0.8;}
.ui-btn.ui-confirm:active {transform: translateY(.01rem) scale(.98);}
.ui-btn.ui-alert { background: linear-gradient(135deg, #ff6b6b, #ff4757); color: #fff; }
.ui-btn.ui-disabled { opacity: 0.6; cursor: not-allowed; pointer-events: none; }

/* 通知 */
.ui-notice-container {
    position: fixed; top: 16px; right: 16px; z-index: 9999;
    display: flex; flex-direction: column; align-items: flex-end;
}
.ui-notice {
    min-width: 200px; max-width: 90vw; padding: 10px 14px; margin-bottom: 10px;
    border-radius: 8px; background: #fff;
    box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08);
    display: flex; align-items: center; font-size: 14px; color: #333; cursor: pointer;
    border-left: 4px solid #52c41a; transform: translateX(120%);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.ui-notice.ui-show { transform: translateX(0); }
.ui-notice-icon {
    width: 20px; height: 20px; border-radius: 50%; color: #fff;
    font-size: 13px; line-height: 20px; text-align: center; font-style: normal; font-weight: 700;
    margin-right: 10px; flex-shrink: 0;
}
.ui-notice.ui-success { border-left-color: #52c41a; }
.ui-notice.ui-success .ui-notice-icon { background: #52c41a; }
.ui-notice.ui-error { border-left-color: #ff4d4f; }
.ui-notice.ui-error .ui-notice-icon { background: #ff4d4f; }
.ui-notice.ui-warning { border-left-color: #faad14; }
.ui-notice.ui-warning .ui-notice-icon { background: #faad14; }
.ui-notice.ui-loading { border-left-color: #1890ff; }
.ui-notice.ui-loading .ui-notice-icon { background: #1890ff; animation: ui-spin 1s linear infinite; }
.ui-notice.ui-info { border-left-color: #1890ff; }
.ui-notice.ui-info .ui-notice-icon { background: #1890ff; }
@keyframes ui-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@media (max-width: 480px) {
    .ui-notice-container { right: 10px; left: 10px; align-items: stretch; }
    .ui-notice { width: 100%; }
}
.seo-breadcrumb{display:none;align-items:center;flex-wrap:wrap;gap:6px;margin:12px 0;padding:0 12px;font-size:13px;line-height:1.5;color:#6b7280}
.seo-breadcrumb a{color:#2563eb;text-decoration:none}
.seo-breadcrumb a:hover{text-decoration:underline}
.seo-breadcrumb-separator{color:#9ca3af}
.seo-breadcrumb span[aria-current="page"]{color:#374151}
.seo-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
