/* ═══════════════════════════════════════════════════════════════════════════
   黑白云 (heibaiyun) — 便捷工具入口页样式  quick.css  [v6 上色 + 纵向压缩]
   ───────────────────────────────────────────────────────────────────────────
   [2026-09-12] 初版：柔和糖果 / 泡泡质感入口页
   [2026-10-08] v2 重做：虹彩玻璃 + 气泡浮层（已废弃）
   [2026-10-08] v3 重做：「墨云硬印」（白底 + 1.5px 墨描边 + 4px 硬偏移影；已废弃）
   [2026-10-08] v6（本版，上色 + 纵向压缩，布局结构不变）：契约 §1.3「功能控件必须有彩底」+ §2.2
                 · 10 张工具卡按功能分 4 族（自有视图加 data-tool 钩子）：blue/orange/purple/green
                 · .pp-entry-icon 暖灰底+墨图标 → 本卡族色：-bg 静态底 + 族色 1px 描边 + -ink 图标；
                   hover 底改族色 -ink（不用 base 实底：orange base 反白仅 3.5:1 < 4.5）
                 · 卡片 hover 左嵌条 墨 → 本卡族色；箭头 hover → 本卡族色 -ink
                 · .pp-panel-title::before 墨 → --bw-accent；.pp-panel-count → teal 族（-bg/描边/-ink）
                 · .pp-hero-chip ×2 透明+灰字 → 分族彩底（工具数=purple、功能范围=blue）
                 · 纵向压缩：hero 26/30/24→18/30/14、卡 17px 20px→12px 16px、图标 44→38、
                   grid minmax 272→240（1024 下 3 列→4 列、行数 4→3）、panel-head 18/30/13→12/30/9、
                   logo 44→40、footer 18/30→12/30、brand/tip 间距收窄；描述改单行 line-clamp:1
                 · 常驻底一律静态 --bw-c-*-bg（禁用 color-mix 作常驻底：老内核回落纸白）
   [2026-10-08] v4 重做（布局结构改变，不只是换色）：契约 §1.2「墨脊长卷」+ §3.2 入口方案
                 · 去居中胶囊壳：.qt-shell{max-width:none;padding:0}（不再是一条居中圆角浮卡）
                 · 品牌带 = 通栏墨脊：border-radius:0 + border-bottom:1px solid --bw-hairline + 无影
                 · 工具改「密排索引」：.qt-entry-grid{gap:0; auto-fill minmax(272px,1fr)}；
                   卡片去框、只留 --bw-divider 右/下细线；hover 左侧 3px 墨色内嵌条
                 · 全面降噪：结构级容器无强描边、无硬偏移影（唯一硬印只留给 logo 圆盘）
                 · 字重 700 → 600；页面装饰纹理仅留在页头留白，不铺在正文下

   依赖：/assets/css/heibaiyun/theme.css（v4 令牌；只消费 var(--bw-*)）
   范围：所有选择器均限定在根容器 .heibaiyun-quick 下，不影响其他品牌与其他页面。
   硬性约束：[v6] 大面积仍灰阶（页底/面板/卡片），功能控件用静态 --bw-c-*-bg 彩底（禁用 color-mix 作常驻底）；
   注意：本页无任何 position:fixed 的交互浮层，故不存在包含块错位风险；
        但本文件仍不使用 transform/filter/backdrop-filter 作用于容器，
        且 .qt-shell 及其祖先一律不设 transform/filter/backdrop-filter（与子页皮肤一致）。
        唯一 transform 只用于叶子元素（箭头图标），不作用于卡片容器。
   ═══════════════════════════════════════════════════════════════════════════ */

@import url('/assets/css/heibaiyun/theme.css?v=20261008hb8');   /* [v8修复] 必须带版本号：nginx 对 /assets/ 缓存 12h，否则浏览器用旧 theme.css → 令牌缺失 → 颜色全失效 */

/* ═══ 1. 页面底：暖米灰（面积最大，最影响舒适度） ═══════════════════════ */
.heibaiyun-quick {
    min-height: 100vh;
    background-color: var(--bw-bg-page);
    background-image: none;
    color: var(--bw-text-primary);
}

/* ═══ 2. 通栏长卷外壳（去居中胶囊壳 —— 契约 §3.2 入口）
   本视图沿用与共享入口页同名的 qt-* 结构类（DOM 钩子保持不变），
   故本节起所有结构选择器都用「pp-* , qt-*」成对书写，使两类命名共用同一套规则。
   ═══════════════════════════════════════════════════════════════════════ */
.heibaiyun-quick .pp-shell,
.heibaiyun-quick .qt-shell {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}
/* 品牌带同时带 qt-card / qt-card-header 两个共享结构类，外观由 .pp-hero 提供；
   这里显式声明 .qt-card 不额外参与版式（既保留钩子，又不产生重复间距）。 */
.heibaiyun-quick .qt-card { margin-bottom: 0; }

/* ═══ 3. 品牌带 = 通栏墨脊（直角 + 1px 模块底线，无硬影） ═══════════════ */
.heibaiyun-quick .pp-hero,
.heibaiyun-quick .qt-card-header {
    position: relative;
    overflow: hidden;
    padding: 18px 30px 14px;   /* [v6] 26/30/24 → 18/30/14（纵向压缩：品牌带更紧凑） */
    border: 0;
    border-bottom: 1px solid var(--bw-hairline);
    border-radius: 0;
    background: var(--bw-paper);
    box-shadow: none;
    color: var(--bw-text-primary);
}

/* 网点纸纹：只在页头留白的右下角压角（大块装饰留白，绝不铺在正文文本下方） */
.heibaiyun-quick .pp-hero-dots {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 34%;
    height: 60%;
    pointer-events: none;
    background-image: var(--bw-dots-image);
    background-size: var(--bw-dots-size);
    opacity: .4;
}

/* 墨线母题：仅描边勾线（fill:none），描边取墨令牌后由 stroke-opacity 压淡，
   不使用任何彩色填充；不承载任何功能。 */
.heibaiyun-quick .pp-hero-art {
    position: absolute;
    right: -12px;
    bottom: -26px;
    width: 300px;
    height: 160px;
    pointer-events: none;
    fill: none;
    stroke: var(--bw-ink);
    stroke-opacity: .06;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* ── 品牌信息行 ── */
.heibaiyun-quick .pp-brand,
.heibaiyun-quick .qt-brand {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 8px;   /* [v6] 12 → 8 */
}
/* 墨印 logo：圆盘描边与「硬印」由 theme.css 的 .pp-disc 提供（本视图已挂该类）。
   硬印（--bw-shadow-stamp）全站只保留两处：logo 圆盘与主按钮，此处即其一。
   logo.png 已是「黑圆盘 + 圆外透明」，按契约不再叠白底承托片，故不设 background/padding。 */
.heibaiyun-quick .pp-logo-box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 40px;    /* [v6] 44 → 40 */
    height: 40px;
    box-shadow: var(--bw-shadow-stamp);
}
.heibaiyun-quick .pp-logo-box img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.heibaiyun-quick .pp-brand-text { min-width: 0; }
.heibaiyun-quick .pp-brand-text h2 {
    margin: 0 0 4px;
    font-size: 22px;
    font-weight: 600;         /* 禁止 700+（中文小字号粗体发糊、加重眼疲劳） */
    line-height: 1.3;
    letter-spacing: .01em;
    color: var(--bw-text-primary);
}
.heibaiyun-quick .pp-hero-sub {
    margin: 0;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
    color: var(--bw-text-secondary);
}
.heibaiyun-quick .pp-hero-tip {
    position: relative;
    z-index: 1;
    margin: 0 0 8px;   /* [v6] 14 → 8 */
    font-size: 13px;
    line-height: 1.6;
    color: var(--bw-text-secondary);
}
.heibaiyun-quick .pp-hero-chips {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
/* 信息标签：[v6] 由「透明 + 灰字」改分族彩底（§1.3：功能/信息控件不得纸底深字）
   第 1 枚「共 N 项工具」= purple 族；第 2 枚「功能范围」= blue 族。
   常驻底用静态 -bg（禁用 color-mix）；描边按契约用 color-mix 35%（降级仅回落 base 的 --bw-border，无害）。 */
.heibaiyun-quick .pp-hero-chip {
    display: inline-flex;
    align-items: center;
    padding: 3px 11px;
    border: 1px solid var(--bw-border);
    border-radius: var(--bw-radius-pill);
    background: var(--bw-c-slate-bg);
    color: var(--bw-c-slate-ink);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.7;
    white-space: nowrap;
}
.heibaiyun-quick .pp-hero-chips .pp-hero-chip:nth-child(1) {
    background: var(--bw-c-purple-bg);
    border-color: color-mix(in srgb, var(--bw-c-purple) 35%, var(--bw-paper));
    color: var(--bw-c-purple-ink);
}
.heibaiyun-quick .pp-hero-chips .pp-hero-chip:nth-child(2) {
    background: var(--bw-c-blue-bg);
    border-color: color-mix(in srgb, var(--bw-c-blue) 35%, var(--bw-paper));
    color: var(--bw-c-blue-ink);
}

/* ═══ 4. 工具区（密排索引）：区头 1px 模块底线下压，网格平铺无间隙 ═══════ */
.heibaiyun-quick .pp-panel {
    position: relative;
    margin-top: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.heibaiyun-quick .pp-panel-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 0;
    padding: 12px 30px 9px;   /* [v6] 18/30/13 → 12/30/9 */
    border-bottom: 1px solid var(--bw-hairline);
}
.heibaiyun-quick .pp-panel-title {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .02em;
    color: var(--bw-text-primary);
}
/* 标题前的竖条（3px，索引刻度感）——[v6] 黑 → 紫檀点缀色 --bw-accent */
.heibaiyun-quick .pp-panel-title::before {
    content: '';
    width: 3px;
    height: 15px;
    border-radius: var(--bw-radius-xs);
    background: var(--bw-accent);
}
/* 计数标签：[v6] 暖灰底 → teal 族（-bg 底 + teal 描边 + teal-ink；不再纸底/灰底深字） */
.heibaiyun-quick .pp-panel-count {
    flex-shrink: 0;
    border-color: var(--bw-c-teal);
    background: var(--bw-c-teal-bg);
    color: var(--bw-c-teal-ink);
}

/* ═══ 5. 密排索引网格（[v6] minmax(272px,1fr) → 240px：1024 下由 3 列变 4 列，行数 4→3） ═══ */
.heibaiyun-quick .pp-entry-grid,
.heibaiyun-quick .qt-entry-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 0;
}

/* ── 功能色族指派：按 data-tool 给每卡挂 --k 及其衍生（blue/orange/purple/green 四族）。
   常驻底一律用静态 --bw-c-*-bg（禁用 color-mix 作常驻底：老内核会回落纸白 → 重现"黑字白底"）。── */
.heibaiyun-quick .pp-entry-card[data-tool="ip-check"],
.heibaiyun-quick .pp-entry-card[data-tool="ip-code-check"],
.heibaiyun-quick .pp-entry-card[data-tool="download-url-check"],
.heibaiyun-quick .pp-entry-card[data-tool="qr-type-set"] {
    --k: var(--bw-c-blue);
    --k-bg: var(--bw-c-blue-bg);
    --k-ink: var(--bw-c-blue-ink);
}
.heibaiyun-quick .pp-entry-card[data-tool="code-filter-set"],
.heibaiyun-quick .pp-entry-card[data-tool="ip-filter-set"] {
    --k: var(--bw-c-orange);
    --k-bg: var(--bw-c-orange-bg);
    --k-ink: var(--bw-c-orange-ink);
}
.heibaiyun-quick .pp-entry-card[data-tool="copy-codes"],
.heibaiyun-quick .pp-entry-card[data-tool="replace-codes"],
.heibaiyun-quick .pp-entry-card[data-tool="download-url-set"] {
    --k: var(--bw-c-purple);
    --k-bg: var(--bw-c-purple-bg);
    --k-ink: var(--bw-c-purple-ink);
}
.heibaiyun-quick .pp-entry-card[data-tool="code-status"] {
    --k: var(--bw-c-green);
    --k-bg: var(--bw-c-green-bg);
    --k-ink: var(--bw-c-green-ink);
}

/* ── 单张索引条目：无框无影，只由 1px 暖灰细线分隔。
   默认 --k = slate 兜底（防止未挂 data-tool 的卡片变量失配）。 ── */
.heibaiyun-quick .pp-entry-card,
.heibaiyun-quick .qt-entry-card {
    --k: var(--bw-c-slate);
    --k-bg: var(--bw-c-slate-bg);
    --k-ink: var(--bw-c-slate-ink);
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 16px;   /* [v6] 17px 20px → 12px 16px */
    border: 0;
    border-right: 1px solid var(--bw-divider);
    border-bottom: 1px solid var(--bw-divider);
    border-radius: 0;
    background: var(--bw-paper);
    box-shadow: none;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    transition: background var(--bw-transition), box-shadow var(--bw-transition);
}
/* 签名交互：暖灰底 + 左侧 3px 「本卡族色」内嵌条（无位移、无浮起，保持长卷平面感） */
.heibaiyun-quick .pp-entry-card:hover,
.heibaiyun-quick .qt-entry-card:hover {
    background: var(--bw-bg-hover);
    box-shadow: inset 3px 0 0 var(--k);
}
.heibaiyun-quick .pp-entry-card:active,
.heibaiyun-quick .qt-entry-card:active {
    background: var(--bw-bg-active);
    box-shadow: inset 3px 0 0 var(--k);
}
.heibaiyun-quick .pp-entry-card:focus-visible,
.heibaiyun-quick .qt-entry-card:focus-visible {
    outline: 2px solid var(--bw-accent);
    outline-offset: -2px;
}

/* ── 图标：[v6] 暖灰底 → 本卡族色（底 -bg + 1px 族色描边 + -ink 图标）；
   hover 反相为族色 ink 底 + 反白（不可用 base 实底：orange base 对反白仅 3.5:1 < 4.5） ── */
.heibaiyun-quick .pp-entry-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 38px;                       /* [v6] 44 → 38 */
    height: 38px;
    border: 1px solid var(--k);
    border-radius: var(--bw-radius-sm);
    background: var(--k-bg);
    color: var(--k-ink);
    box-shadow: none;
    transition: background var(--bw-transition), color var(--bw-transition),
                border-color var(--bw-transition);
}
.heibaiyun-quick .pp-entry-icon .pp-icon {
    position: relative;
    z-index: 1;
    width: 22px;
    height: 22px;
}
.heibaiyun-quick .pp-entry-card:hover .pp-entry-icon {
    background: var(--k-ink);
    border-color: var(--k-ink);
    color: var(--bw-text-inverse);
}

/* ── 文本区 ── */
.heibaiyun-quick .pp-entry-body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;   /* [v6] 5 → 3 */
    min-width: 0;
    flex: 1;
}
.heibaiyun-quick .pp-entry-card .card-title {
    display: block;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
    color: var(--bw-text-primary);
}
/* 描述：索引副文本（无药丸底、无描边；暖灰弱化档，全底通吃）。
   [v6] 窄列防截断难看：改用 -webkit-line-clamp:1 单行省略（Firefox 68+ / Chromium 均支持）。 */
.heibaiyun-quick .pp-entry-card .card-tag {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    width: 100%;
    max-width: 100%;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    color: var(--bw-text-muted-on-tint);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    transition: color var(--bw-transition);
}
.heibaiyun-quick .pp-entry-card:hover .card-tag {
    color: var(--bw-text-secondary);
}

/* ── 右侧箭头：叶子元素，允许 3px 位移（唯一使用 transform 的元素） ── */
.heibaiyun-quick .pp-entry-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    color: var(--bw-text-muted-on-tint);
    transition: color var(--bw-transition), transform var(--bw-transition);
}
.heibaiyun-quick .pp-entry-arrow .pp-icon {
    width: 16px;
    height: 16px;
}
.heibaiyun-quick .pp-entry-card:hover .pp-entry-arrow {
    color: var(--k-ink);   /* [v6] 墨 → 本卡族色 ink */
    transform: translateX(3px);
}

/* ═══ 6. 页脚（长卷收尾：仅 1px 细线分隔，不做浮卡） ═══════════════════ */
.heibaiyun-quick .pp-footer {
    margin-top: 0;
    padding: 12px 30px;   /* [v6] 18/30 → 12/30 */
    border: 0;
    border-top: 1px solid var(--bw-divider);
    border-radius: 0;
    background: var(--bw-paper);
    box-shadow: none;
    text-align: center;
}
.heibaiyun-quick .pp-footer-main {
    margin: 0 0 4px;
    font-size: 13px;
    font-weight: 600;
    color: var(--bw-text-secondary);
}
.heibaiyun-quick .pp-footer-sub {
    margin: 0;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.6;
    color: var(--bw-text-muted-on-tint);
}

/* ═══ 7. 响应式：≥1180px（宽屏加大长卷左右留白，保留既有断点） ═══════ */
@media (min-width: 1180px) {
    .heibaiyun-quick .pp-hero,
    .heibaiyun-quick .qt-card-header { padding-left: 44px; padding-right: 44px; }
    .heibaiyun-quick .pp-panel-head { padding-left: 44px; padding-right: 44px; }
    .heibaiyun-quick .pp-footer { padding-left: 44px; padding-right: 44px; }
}

/* ═══ 8. 响应式：≤768px（既有断点与收敛方向完整保留） ═════════════════ */
@media (max-width: 768px) {
    .heibaiyun-quick .pp-hero,
    .heibaiyun-quick .qt-card-header { padding: 22px 18px 18px; }
    .heibaiyun-quick .pp-hero-art { width: 250px; height: 132px; right: -20px; bottom: -28px; }
    .heibaiyun-quick .pp-logo-box { width: 40px; height: 40px; }
    .heibaiyun-quick .pp-brand,
    .heibaiyun-quick .qt-brand { gap: 12px; margin-bottom: 10px; }
    .heibaiyun-quick .pp-brand-text h2 { font-size: 19px; }
    .heibaiyun-quick .pp-hero-sub { font-size: 12.5px; }
    .heibaiyun-quick .pp-hero-tip { font-size: 12.5px; margin-bottom: 12px; }
    .heibaiyun-quick .pp-panel-head { padding: 16px 18px 12px; }
    .heibaiyun-quick .pp-panel-title { font-size: 14.5px; }
    .heibaiyun-quick .pp-entry-grid,
    .heibaiyun-quick .qt-entry-grid { grid-template-columns: minmax(0, 1fr); }
    .heibaiyun-quick .pp-entry-card,
    .heibaiyun-quick .qt-entry-card { padding: 15px 17px; }
    .heibaiyun-quick .pp-entry-icon { width: 40px; height: 40px; }
    .heibaiyun-quick .pp-entry-icon .pp-icon { width: 20px; height: 20px; }
    .heibaiyun-quick .pp-entry-card .card-title { font-size: 14.5px; }
    .heibaiyun-quick .pp-footer { padding: 16px 18px; }
}

/* ═══ 9. 响应式：≤480px（既有断点与收敛方向完整保留） ═════════════════ */
@media (max-width: 480px) {
    .heibaiyun-quick .pp-hero,
    .heibaiyun-quick .qt-card-header { padding: 18px 15px 16px; }
    .heibaiyun-quick .pp-hero-dots { width: 48%; height: 64%; }
    .heibaiyun-quick .pp-hero-art { width: 210px; height: 112px; right: -34px; bottom: -28px; }
    .heibaiyun-quick .pp-logo-box { width: 36px; height: 36px; }
    .heibaiyun-quick .pp-brand-text h2 { font-size: 17px; }
    .heibaiyun-quick .pp-hero-sub { font-size: 12px; }
    .heibaiyun-quick .pp-hero-chip { font-size: 11.5px; padding: 3px 10px; }
    .heibaiyun-quick .pp-panel-head { padding: 15px; }
    .heibaiyun-quick .pp-entry-card,
    .heibaiyun-quick .qt-entry-card { gap: 12px; padding: 14px 15px; }
    .heibaiyun-quick .pp-entry-icon { width: 38px; height: 38px; }
    .heibaiyun-quick .pp-entry-icon .pp-icon { width: 19px; height: 19px; }
    .heibaiyun-quick .pp-entry-body { gap: 4px; }
    .heibaiyun-quick .pp-entry-card .card-title { font-size: 14px; }
    .heibaiyun-quick .pp-entry-card .card-tag { font-size: 11.5px; }
    .heibaiyun-quick .pp-entry-arrow { width: 20px; height: 20px; }
    .heibaiyun-quick .pp-entry-arrow .pp-icon { width: 15px; height: 15px; }
    .heibaiyun-quick .pp-footer-main { font-size: 12.5px; }
    .heibaiyun-quick .pp-footer-sub { font-size: 11.5px; }
}

/* ───────────────────────────────────────────────────────────────────────
   Toast 反馈条（浮动通知 = L1 关键层：1px 墨描边 + 左侧语义色条 + 柔影）
   说明：quick-tools.js 的 QT.toast() 会把元素 className 整体重置为
   "qt-toast[ type]"，pp-* 伴生类会被抹掉，因此必须直接为 .qt-toast
   提供规则；type 取值见调用处（warn / ok / err）。
   ─────────────────────────────────────────────────────────────────────── */
.heibaiyun-quick .qt-toast {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 999;
    display: none;
    max-width: min(78vw, 360px);
    padding: 13px 20px 13px 18px;
    border: 1px solid var(--bw-border-ink);
    border-left-width: 4px;
    border-left-color: var(--bw-ink);
    border-radius: var(--bw-radius-md);
    background: var(--bw-paper);
    color: var(--bw-text-primary);
    font-family: var(--bw-font);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    box-shadow: var(--bw-shadow-overlay);
    animation: bw-toast-in .22s var(--bw-ease);
}
.heibaiyun-quick .qt-toast.ok {
    border-left-color: var(--bw-success);
    background: var(--bw-success-bg);
    color: var(--bw-c-green-ink);   /* [v6修复] base 不当文字色；与子页 Toast 一致 */
}
.heibaiyun-quick .qt-toast.err {
    border-left-color: var(--bw-danger);
    background: var(--bw-danger-bg);
    color: var(--bw-c-red-ink);
}
.heibaiyun-quick .qt-toast.warn {
    border-left-color: var(--bw-warning);
    background: var(--bw-warning-bg);
    color: var(--bw-c-amber-ink);
}
@keyframes bw-toast-in {
    from { opacity: 0; transform: translate(0, 10px); }
    to   { opacity: 1; transform: translate(0, 0); }
}
@media (max-width: 480px) {
    .heibaiyun-quick .qt-toast { right: 12px; left: 12px; bottom: 12px; max-width: none; }
}

/* ═══ 10. 动效偏好（只改时长，不涉及布局/可见性） ═════════════════════
   两处 !important 仅压制动画/过渡时长（无障碍偏好），与 theme.css 处理一致，
   不涉及布局或可见性，因此不受「!important 仅用于压内联样式」的限制。 */
@media (prefers-reduced-motion: reduce) {
    .heibaiyun-quick *,
    .heibaiyun-quick *::before,
    .heibaiyun-quick *::after {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
    }
}
