/* 所有规则限定于组件内部；模板色调取自各模板现有主题。 */
.qy-pc-floating {
    --qy-accent:#0066ff; --qy-hover:#0052cc; --qy-surface:#fff; --qy-ink:#525252;
    --qy-muted:#777; --qy-line:#e5e5e5; --qy-tint:#edf6ff;
    position:fixed; right:20px; top:50%; transform:translateY(-50%); z-index:990;
    width:68px; padding:4px; border:1px solid var(--qy-line); border-radius:12px;
    background:var(--qy-surface); box-shadow:0 5px 25px rgba(0,0,0,.10);
    font-family:Arial,"Microsoft YaHei",sans-serif; font-size:12px; line-height:1.4;
    box-sizing:border-box; text-align:center;
}
.qy-pc-floating[data-theme="haikuotiankong"] {--qy-accent:#5599ff; --qy-hover:#327be6; --qy-tint:#f4f8ff;}
.qy-pc-floating[data-theme="lansejingdian"] {--qy-accent:#318ce7; --qy-hover:#2473c3; --qy-line:#c8d9f5; --qy-tint:#eff8fd;}
.qy-pc-floating[data-theme="heiyechuanshuoPC"] {--qy-accent:#ffe0b0; --qy-hover:#fdc890; --qy-surface:#16161a; --qy-ink:#d3d3d3; --qy-muted:#b4a590; --qy-line:#35353c; --qy-tint:#25252c;}
.qy-pc-floating[data-theme="haitianyixian"] {--qy-accent:#4577e6; --qy-hover:#3566d1; --qy-tint:#f2f6ff;}
.qy-pc-floating[data-theme="huolijincheng"] {--qy-accent:#ff5722; --qy-hover:#e64a19; --qy-line:#ffe1d6; --qy-tint:#fff6f3;}
.qy-pc-floating[data-theme="ziqidonglai"] {--qy-accent:#9c27b0; --qy-hover:#7b1fa2; --qy-line:#eed2f3; --qy-tint:#fcedff;}
.qy-pc-floating *, .qy-pc-floating *::before, .qy-pc-floating *::after {box-sizing:border-box;}
.qy-pc-floating .qy-float-item {position:relative; margin:0; padding:0;}
.qy-pc-floating .qy-float-trigger {
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px;
    min-height:64px; width:100%; margin:0; padding:10px 2px; border:0; border-radius:8px;
    background:transparent; color:var(--qy-ink); cursor:pointer; text-decoration:none;
    font:inherit; line-height:1.4; transition:background .15s,color .15s; outline-offset:2px;
}
.qy-pc-floating .qy-float-trigger:hover, .qy-pc-floating .qy-float-trigger:focus-visible,
.qy-pc-floating .qy-float-item:hover > .qy-float-trigger {background:var(--qy-tint); color:var(--qy-accent);}
.qy-pc-floating .qy-float-icon {display:block; width:24px; height:24px; margin:0; color:var(--qy-accent); flex:none;}
.qy-pc-floating img.qy-float-icon {object-fit:contain;}
.qy-pc-floating .qy-float-label {font-size:12px; line-height:1.4; display:block; max-width:56px; overflow-wrap:anywhere;}
.qy-pc-floating .qy-float-panel {
    position:absolute; right:calc(100% + 14px); top:50%; transform:translateY(-50%);
    width:210px; max-width:calc(100vw - 100px); padding:16px; border:1px solid var(--qy-line);
    border-radius:12px; background:var(--qy-surface); color:var(--qy-ink);
    box-shadow:0 5px 25px rgba(0,0,0,.12); visibility:hidden; opacity:0; pointer-events:none;
    transition:opacity .15s; text-align:center;
}
.qy-pc-floating .qy-float-panel::after {content:""; position:absolute; left:100%; top:0; bottom:0; width:18px;}
.qy-pc-floating .qy-float-item:hover .qy-float-panel,
.qy-pc-floating .qy-float-item:focus-within .qy-float-panel,
.qy-pc-floating .qy-float-item.qy-open .qy-float-panel {visibility:visible; opacity:1; pointer-events:auto;}
.qy-pc-floating .qy-float-tip {margin:0 0 12px; font-size:13px; line-height:1.6; overflow-wrap:anywhere;}
.qy-pc-floating .qy-float-qr {display:flex; align-items:center; justify-content:center; width:176px; height:176px; max-width:100%; padding:8px; margin:0 auto; background:#fff; border-radius:4px;}
.qy-pc-floating .qy-float-qr img, .qy-pc-floating .qy-float-qr canvas {display:block; width:100%; height:100%; object-fit:contain; margin:0;}
.qy-pc-floating .qy-float-qr a {font-size:13px; color:#333;}
.qy-pc-floating .qy-float-qr-error {color:var(--qy-muted); font-size:12px;}
.qy-pc-floating [hidden] {display:none !important;}
/* 公共组件接管后，旧模板滚动回顶按钮不再重复显示。 */
html.qy-pc-floating-managed .public-scroll-top {display:none !important;}
.qy-pc-floating.qy-preview {position:relative; right:auto; top:auto; transform:none; margin:20px 0 20px auto; z-index:1;}
@media (max-width:767px) {.qy-pc-floating:not(.qy-preview) {display:none;}}
@media (max-height:480px) {.qy-pc-floating:not(.qy-preview) {top:8px; transform:none;} .qy-pc-floating .qy-float-trigger {min-height:48px; padding:6px 2px;}}
@media (prefers-reduced-motion:reduce) {.qy-pc-floating * {transition:none !important;}}
